Что такое Eigen :: array (не Eigen :: Array)
Я использую библиотеку собственного тензора, и мне кажется, что метод shuffle () хочет в качестве входных данных объект Eigen :: array <type, int>.
В моей реализации у меня есть std :: list из int, который мне нужно передать для перемешивания (конечно, я знаю второй параметр int (ранг) только во время выполнения!)
Ответы
Не так давно модуль Eigen Tensor был совместим с C ++ 03. Это означает, что std::arrayэто недоступно. По этой причине модуль Tensor определил свой собственный Eigen::arrayкласс, который фактически является typedef, std::arrayесли доступен C ++ 11.
Файл неподдерживаемый / Eigen / CXX11 / src / util / EmulateArray.h содержит что-то, что сводится к (псевдокоду)
#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
Модуль Tensor отказался от совместимости с C ++ 03, и некоторые части этого кода, вероятно, можно было бы удалить.