#ifndef PYTHONIC_INCLUDE_NUMPY_ATLEAST2D_HPP #define PYTHONIC_INCLUDE_NUMPY_ATLEAST2D_HPP #include "pythonic/include/types/ndarray.hpp" PYTHONIC_NS_BEGIN namespace numpy { template typename std::enable_if< types::is_dtype::value, types::ndarray, std::integral_constant>>>::type atleast_2d(T t); template auto atleast_2d(T const &t) -> typename std::enable_if < (!types::is_dtype::value) && T::value<2, types::ndarray< typename T::dtype, types::pshape, typename std::tuple_element< 0, typename T::shape_t>::type>>>::type; template auto atleast_2d(T &&t) -> typename std::enable_if< (!types::is_dtype::type>::type>::value) && std::decay::type::value >= 2, decltype(std::forward(t))>::type; DEFINE_FUNCTOR(pythonic::numpy, atleast_2d); } PYTHONIC_NS_END #endif