| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /lib/python3/dist-packages/pythran/pythonic/numpy/ |
Upload File : |
#ifndef PYTHONIC_NUMPY_EXPAND_DIMS_HPP
#define PYTHONIC_NUMPY_EXPAND_DIMS_HPP
#include "pythonic/include/numpy/expand_dims.hpp"
#include "pythonic/utils/functor.hpp"
#include "pythonic/include/utils/array_helper.hpp"
#include "pythonic/numpy/asarray.hpp"
PYTHONIC_NS_BEGIN
namespace numpy
{
template <typename T>
types::ndarray<typename T::dtype, types::array<long, T::value + 1>>
expand_dims(T const &input, int axis)
{
const long N = T::value;
if (axis == -1)
axis += N + 1;
types::array<long, N + 1> dim_array;
auto in_shape = sutils::getshape(input);
long ii, jj;
for (ii = jj = 0; ii < N + 1; ii++) {
if (ii == axis) {
dim_array[ii] = 1;
} else {
dim_array[ii] = in_shape[jj++];
}
}
return numpy::functor::asarray{}(input).reshape(dim_array);
}
}
PYTHONIC_NS_END
#endif