FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
python/src/numpy/ufunc.cpp at develop · boostorg/python · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
boostorg
/
python
Public
Notifications
You must be signed in to change notification settings
Fork
223
Star
537
Code
Issues
173
Pull requests
34
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
python
/
src
/
numpy
/
ufunc.cpp
Copy path
More file actions
More file actions
Latest commit
History
History
History
65 lines (52 loc) · 1.65 KB
Breadcrumbs
python
/
src
/
numpy
/
ufunc.cpp
Copy path
File metadata and controls
65 lines (52 loc) · 1.65 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
//
Copyright Jim Bosch 2010-2012.
//
Copyright Stefan Seefeld 2016.
//
Distributed under the Boost Software License, Version 1.0.
//
(See accompanying file LICENSE_1_0.txt or copy at
//
http://www.boost.org/LICENSE_1_0.txt)
#
define
BOOST_PYTHON_NUMPY_INTERNAL
#
include
<
boost/python/numpy/internal.hpp
>
#
include
<
boost/python/numpy/ufunc.hpp
>
namespace
boost
{
namespace
python
{
namespace
converter
{
NUMPY_OBJECT_MANAGER_TRAITS_IMPL
(PyArrayMultiIter_Type, numpy::multi_iter)
}
//
namespace boost::python::converter
namespace
numpy
{
multi_iter
make_multi_iter
(object
const
& a1)
{
return
multi_iter
(
python::detail::new_reference
(
PyArray_MultiIterNew
(
1
, a1.
ptr
())));
}
multi_iter
make_multi_iter
(object
const
& a1, object
const
& a2)
{
return
multi_iter
(
python::detail::new_reference
(
PyArray_MultiIterNew
(
2
, a1.
ptr
(), a2.
ptr
())));
}
multi_iter
make_multi_iter
(object
const
& a1, object
const
& a2, object
const
& a3)
{
return
multi_iter
(
python::detail::new_reference
(
PyArray_MultiIterNew
(
3
, a1.
ptr
(), a2.
ptr
(), a3.
ptr
())));
}
void
multi_iter::next
()
{
PyArray_MultiIter_NEXT
(
ptr
());
}
bool
multi_iter::not_done
()
const
{
return
PyArray_MultiIter_NOTDONE
(
ptr
());
}
char
*
multi_iter::get_data
(
int
i)
const
{
return
reinterpret_cast
<
char
*>(
PyArray_MultiIter_DATA
(
ptr
(), i));
}
int
multi_iter::get_nd
()
const
{
return
reinterpret_cast
<PyArrayMultiIterObject*>(
ptr
())->
nd
;
}
Py_intptr_t
const
*
multi_iter::get_shape
()
const
{
return
reinterpret_cast
<PyArrayMultiIterObject*>(
ptr
())->
dimensions
;
}
Py_intptr_t
multi_iter::shape
(
int
n)
const
{
return
reinterpret_cast
<PyArrayMultiIterObject*>(
ptr
())->
dimensions
[n];
}
}}}
//
namespace boost::python::numpy
Back
|
FazBrowse Home
|
New Git URL