summaryrefslogtreecommitdiff
path: root/boost/python/numeric.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/python/numeric.hpp')
-rw-r--r--boost/python/numeric.hpp242
1 files changed, 0 insertions, 242 deletions
diff --git a/boost/python/numeric.hpp b/boost/python/numeric.hpp
deleted file mode 100644
index ab4db8c32e..0000000000
--- a/boost/python/numeric.hpp
+++ /dev/null
@@ -1,242 +0,0 @@
-// Copyright David Abrahams 2002.
-// 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)
-#ifndef NUMARRAY_DWA2002922_HPP
-# define NUMARRAY_DWA2002922_HPP
-
-# include <boost/python/detail/prefix.hpp>
-
-# include <boost/python/tuple.hpp>
-# include <boost/python/str.hpp>
-# include <boost/preprocessor/iteration/local.hpp>
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/repetition/enum.hpp>
-# include <boost/preprocessor/repetition/enum_params.hpp>
-# include <boost/preprocessor/repetition/enum_binary_params.hpp>
-
-namespace boost { namespace python { namespace numeric {
-
-class array;
-
-namespace aux
-{
- struct BOOST_PYTHON_DECL array_base : object
- {
-# define BOOST_PP_LOCAL_MACRO(n) \
- array_base(BOOST_PP_ENUM_PARAMS_Z(1, n, object const& x));
-# define BOOST_PP_LOCAL_LIMITS (1, 7)
-# include BOOST_PP_LOCAL_ITERATE()
-
- object argmax(long axis=-1);
- object argmin(long axis=-1);
- object argsort(long axis=-1);
- object astype(object const& type = object());
- void byteswap();
- object copy() const;
- object diagonal(long offset = 0, long axis1 = 0, long axis2 = 1) const;
- void info() const;
- bool is_c_array() const;
- bool isbyteswapped() const;
- array new_(object type) const;
- void sort();
- object trace(long offset = 0, long axis1 = 0, long axis2 = 1) const;
- object type() const;
- char typecode() const;
-
- object factory(
- object const& sequence = object()
- , object const& typecode = object()
- , bool copy = true
- , bool savespace = false
- , object type = object()
- , object shape = object());
-
- object getflat() const;
- long getrank() const;
- object getshape() const;
- bool isaligned() const;
- bool iscontiguous() const;
- long itemsize() const;
- long nelements() const;
- object nonzero() const;
-
- void put(object const& indices, object const& values);
-
- void ravel();
-
- object repeat(object const& repeats, long axis=0);
-
- void resize(object const& shape);
-
- void setflat(object const& flat);
- void setshape(object const& shape);
-
- void swapaxes(long axis1, long axis2);
-
- object take(object const& sequence, long axis = 0) const;
-
- void tofile(object const& file) const;
-
- str tostring() const;
-
- void transpose(object const& axes = object());
-
- object view() const;
-
- public: // implementation detail - do not touch.
- BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS(array_base, object);
- };
-
- struct BOOST_PYTHON_DECL array_object_manager_traits
- {
- static bool check(PyObject* obj);
- static detail::new_non_null_reference adopt(PyObject* obj);
- static PyTypeObject const* get_pytype() ;
- };
-} // namespace aux
-
-class array : public aux::array_base
-{
- typedef aux::array_base base;
- public:
-
- object astype() { return base::astype(); }
-
- template <class Type>
- object astype(Type const& type_)
- {
- return base::astype(object(type_));
- }
-
- template <class Type>
- array new_(Type const& type_) const
- {
- return base::new_(object(type_));
- }
-
- template <class Sequence>
- void resize(Sequence const& x)
- {
- base::resize(object(x));
- }
-
-# define BOOST_PP_LOCAL_MACRO(n) \
- void resize(BOOST_PP_ENUM_PARAMS_Z(1, n, long x)) \
- { \
- resize(make_tuple(BOOST_PP_ENUM_PARAMS_Z(1, n, x))); \
- }
-# define BOOST_PP_LOCAL_LIMITS (1, BOOST_PYTHON_MAX_ARITY)
-# include BOOST_PP_LOCAL_ITERATE()
-
- template <class Sequence>
- void setshape(Sequence const& x)
- {
- base::setshape(object(x));
- }
-
-# define BOOST_PP_LOCAL_MACRO(n) \
- void setshape(BOOST_PP_ENUM_PARAMS_Z(1, n, long x)) \
- { \
- setshape(make_tuple(BOOST_PP_ENUM_PARAMS_Z(1, n, x))); \
- }
-# define BOOST_PP_LOCAL_LIMITS (1, BOOST_PYTHON_MAX_ARITY)
-# include BOOST_PP_LOCAL_ITERATE()
-
- template <class Indices, class Values>
- void put(Indices const& indices, Values const& values)
- {
- base::put(object(indices), object(values));
- }
-
- template <class Sequence>
- object take(Sequence const& sequence, long axis = 0)
- {
- return base::take(object(sequence), axis);
- }
-
- template <class File>
- void tofile(File const& f) const
- {
- base::tofile(object(f));
- }
-
- object factory()
- {
- return base::factory();
- }
-
- template <class Sequence>
- object factory(Sequence const& sequence)
- {
- return base::factory(object(sequence));
- }
-
- template <class Sequence, class Typecode>
- object factory(
- Sequence const& sequence
- , Typecode const& typecode_
- , bool copy = true
- , bool savespace = false
- )
- {
- return base::factory(object(sequence), object(typecode_), copy, savespace);
- }
-
- template <class Sequence, class Typecode, class Type>
- object factory(
- Sequence const& sequence
- , Typecode const& typecode_
- , bool copy
- , bool savespace
- , Type const& type
- )
- {
- return base::factory(object(sequence), object(typecode_), copy, savespace, object(type));
- }
-
- template <class Sequence, class Typecode, class Type, class Shape>
- object factory(
- Sequence const& sequence
- , Typecode const& typecode_
- , bool copy
- , bool savespace
- , Type const& type
- , Shape const& shape
- )
- {
- return base::factory(object(sequence), object(typecode_), copy, savespace, object(type), object(shape));
- }
-
-# define BOOST_PYTHON_ENUM_AS_OBJECT(z, n, x) object(BOOST_PP_CAT(x,n))
-# define BOOST_PP_LOCAL_MACRO(n) \
- template <BOOST_PP_ENUM_PARAMS_Z(1, n, class T)> \
- explicit array(BOOST_PP_ENUM_BINARY_PARAMS_Z(1, n, T, const& x)) \
- : base(BOOST_PP_ENUM_1(n, BOOST_PYTHON_ENUM_AS_OBJECT, x)) \
- {}
-# define BOOST_PP_LOCAL_LIMITS (1, 7)
-# include BOOST_PP_LOCAL_ITERATE()
-# undef BOOST_PYTHON_AS_OBJECT
-
- static BOOST_PYTHON_DECL void set_module_and_type(char const* package_name = 0, char const* type_attribute_name = 0);
- static BOOST_PYTHON_DECL std::string get_module_name();
-
- public: // implementation detail -- for internal use only
- BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS(array, base);
-};
-
-} // namespace boost::python::numeric
-
-namespace converter
-{
- template <>
- struct object_manager_traits< numeric::array >
- : numeric::aux::array_object_manager_traits
- {
- BOOST_STATIC_CONSTANT(bool, is_specialized = true);
- };
-}
-
-}} // namespace boost::python
-
-#endif // NUMARRAY_DWA2002922_HPP