19#ifndef ALEXANDRIA_NDARRAY_OPERATIONS_H
20#define ALEXANDRIA_NDARRAY_OPERATIONS_H
38std::vector<std::size_t>
unravel_index(std::size_t index,
const std::vector<std::size_t>& shape);
72template <
typename T,
typename Iterator>
120template <
typename T1,
typename T2>
134template <
typename T1,
typename T2>
148template <
typename T1,
typename T2>
155#define NDARRAY_OPS_IMPL
157#undef NDARRAY_OPS_IMPL
std::vector< std::size_t > argmax(const NdArray< T > &array)
NdArray< T1 > multiplyElements(const NdArray< T1 > &array_1, const NdArray< T2 > &array_2)
bool sameShape(const NdArray< T1 > &array_1, const NdArray< T2 > &array_2)
NdArray< T1 > addElements(const NdArray< T1 > &array_1, const NdArray< T2 > &array_2)
void sort(NdArray< T > &array, const std::vector< std::string > &attrs)
std::vector< std::size_t > argmin(const NdArray< T > &array)
T sum(const NdArray< T > &array)
std::vector< std::size_t > unravel_index(std::size_t index, const std::vector< std::size_t > &shape)
NdArray< T > trapz(const NdArray< T > &array, const Iterator kbegin, const Iterator kend, int axis)