Cos'è un Eigen :: array (non Eigen :: Array)
Sto usando la libreria dei tensori eigen e mi sembra che il metodo shuffle () voglia come input un oggetto Eigen :: array <type, int>.
Nella mia implementazione ho uno std :: list di int che devo passare a shuffle (ovviamente conosco il secondo int param (il rank) solo in fase di esecuzione!)
Risposte
Non molto tempo fa il modulo Tensor di Eigen era compatibile con C ++ 03. Ciò implica che std::arraynon è disponibile. Per questo motivo il modulo Tensor ha definito la propria Eigen::arrayclasse che è in realtà un typedef per std::arrayse C ++ 11 è disponibile.
Il file non supportato / Eigen / CXX11 / src / util / EmulateArray.h contiene qualcosa che si riduce a (pseudo-codice)
#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
Il modulo Tensor ha abbandonato la compatibilità con C ++ 03 e parti di questo codice potrebbero essere probabilmente rimosse.