diff options
| author | neksard <[email protected]> | 2022-02-10 16:45:23 +0300 |
|---|---|---|
| committer | Daniil Cherednik <[email protected]> | 2022-02-10 16:45:23 +0300 |
| commit | 8f7cf138264e0caa318144bf8a2c950e0b0a8593 (patch) | |
| tree | 83bf5c8c8047c42d8475e6095df90ccdc3d1b57f /contrib/restricted/boost/libs/python/src/numpy/ufunc.cpp | |
| parent | d3a398281c6fd1d3672036cb2d63f842d2cb28c5 (diff) | |
Restoring authorship annotation for <[email protected]>. Commit 1 of 2.
Diffstat (limited to 'contrib/restricted/boost/libs/python/src/numpy/ufunc.cpp')
| -rw-r--r-- | contrib/restricted/boost/libs/python/src/numpy/ufunc.cpp | 130 |
1 files changed, 65 insertions, 65 deletions
diff --git a/contrib/restricted/boost/libs/python/src/numpy/ufunc.cpp b/contrib/restricted/boost/libs/python/src/numpy/ufunc.cpp index 173d7213ec7..508f8a6c8a6 100644 --- a/contrib/restricted/boost/libs/python/src/numpy/ufunc.cpp +++ b/contrib/restricted/boost/libs/python/src/numpy/ufunc.cpp @@ -1,65 +1,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 +// 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 |
