¿Qué es un Eigen :: array (no Eigen :: Array)?
Estoy usando la biblioteca de tensor propio y me parece que el método shuffle () quiere como entrada un objeto Eigen :: array <type, int>.
En mi implementación, tengo un std :: list de int que necesito pasar para mezclar (¡por supuesto, conozco el segundo int param (el rango) solo en tiempo de ejecución!)
Respuestas
No hace mucho tiempo, el módulo Tensor de Eigen era compatible con C ++ 03. Eso implica que std::arrayno está disponible. Por esa razón, el módulo Tensor definió su propia Eigen::arrayclase que de hecho es un typedef para std::arraysi C ++ 11 está disponible.
El archivo unsupported / Eigen / CXX11 / src / util / EmulateArray.h contiene algo que se reduce a (pseudo-código)
#if C++11 not available
// Define a custom std::array like Eigen::array class
#else
template <typename T, std::size_t N> using array = std::array<T, N>;
#endif
El módulo Tensor ha eliminado la compatibilidad con C ++ 03 y probablemente se podrían eliminar partes de este código.