Apa itu Eigen :: array (bukan Eigen :: Array)

Sep 02 2020

Saya menggunakan perpustakaan tensor eigen dan menurut saya metode shuffle () ingin sebagai masukan objek Eigen :: array <type, int>.

Dalam implementasinya, saya memiliki std :: list int yang harus saya sampaikan ke shuffle (tentu saja saya tahu param int kedua (peringkat) hanya saat runtime!)

Jawaban

3 dtell Sep 02 2020 at 01:17

Belum lama ini modul Tensor Eigen kompatibel dengan C ++ 03. Itu menyiratkan bahwa std::arraytidak tersedia. Oleh karena itu, modul Tensor menentukan kelasnya sendiri Eigen::arrayyang sebenarnya adalah typedef std::arrayjika C ++ 11 tersedia.

File unsupported / Eigen / CXX11 / src / util / EmulateArray.h berisi sesuatu yang intinya (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

Modul Tensor telah menghilangkan kompatibilitas C ++ 03 dan bagian dari kode ini mungkin dapat dihapus.