diff --git a/include/eigenpy/numpy-type.hpp b/include/eigenpy/numpy-type.hpp index 557276b70ef15f71c3a25c7c632fee6f3373aa0c..2037e0f2bb800f0b3df2b1fbd2ce9a06d87f0eeb 100644 --- a/include/eigenpy/numpy-type.hpp +++ b/include/eigenpy/numpy-type.hpp @@ -13,6 +13,17 @@ namespace eigenpy { namespace bp = boost::python; + + template <typename SCALAR> struct NumpyEquivalentType {}; + + template <> struct NumpyEquivalentType<float> { enum { type_code = NPY_FLOAT };}; + template <> struct NumpyEquivalentType< std::complex<float> > { enum { type_code = NPY_CFLOAT };}; + template <> struct NumpyEquivalentType<double> { enum { type_code = NPY_DOUBLE };}; + template <> struct NumpyEquivalentType< std::complex<double> > { enum { type_code = NPY_CDOUBLE };}; + template <> struct NumpyEquivalentType<long double> { enum { type_code = NPY_LONGDOUBLE };}; + template <> struct NumpyEquivalentType< std::complex<long double> > { enum { type_code = NPY_CLONGDOUBLE };}; + template <> struct NumpyEquivalentType<int> { enum { type_code = NPY_INT };}; + template <> struct NumpyEquivalentType<long> { enum { type_code = NPY_LONG };}; enum NP_TYPE {