#ifndef PYTHONIC_NUMPY_FULL_HPP #define PYTHONIC_NUMPY_FULL_HPP #include "pythonic/include/numpy/full.hpp" #include "pythonic/utils/functor.hpp" #include "pythonic/types/ndarray.hpp" PYTHONIC_NS_BEGIN namespace numpy { template types::ndarray> full(pS const &shape, F fill_value, dtype d) { return {(sutils::shape_t)shape, typename dtype::type(fill_value)}; } template types::ndarray> full(long size, F fill_value, dtype d) { return full(types::pshape(size), fill_value, d); } template types::ndarray>> full(std::integral_constant, F fill_value, dtype d) { return full(types::pshape>({}), fill_value, d); } template types::ndarray> full(pS const &shape, F fill_value, types::none_type) { return {(sutils::shape_t)shape, fill_value}; } template types::ndarray> full(long size, F fill_value, types::none_type nt) { return full(types::pshape(size), fill_value, nt); } template types::ndarray>> full(std::integral_constant, F fill_value, types::none_type nt) { return full(types::pshape>({}), fill_value, nt); } } PYTHONIC_NS_END #endif