Qu'est-ce qu'un Eigen :: array (pas Eigen :: Array)
J'utilise la bibliothèque de tenseurs propres et il me semble que la méthode shuffle () veut comme entrée un objet Eigen :: array <type, int>.
Dans mon implémentation, j'ai une std :: list de int que je dois passer au shuffle (bien sûr, je ne connais le deuxième paramètre int (le rang) qu'au moment de l'exécution!)
Réponses
Il n'y a pas si longtemps, le module Tensor d'Eigen était compatible C ++ 03. Cela implique que ce std::arrayn'est pas disponible. Pour cette raison, le module Tensor a défini sa propre Eigen::arrayclasse qui est en fait un typedef std::arraysi C ++ 11 est disponible.
Le fichier non pris en charge / Eigen / CXX11 / src / util / EmulateArray.h contient quelque chose qui se résume à (pseudo-code)
#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
Le module Tensor a abandonné la compatibilité C ++ 03 et des parties de ce code pourraient probablement être supprimées.