Eigen :: array คืออะไร (ไม่ใช่ Eigen :: Array)
Sep 02 2020
ฉันกำลังใช้ไลบรารีเทนเซอร์ของ eigen และสำหรับฉันแล้วดูเหมือนว่าเมธอด shuffle () ต้องการป้อนวัตถุ Eigen :: array <type, int>
ในการใช้งานของฉันฉันมีรายการ std :: int ที่ฉันต้องส่งไปสับเปลี่ยน (แน่นอนว่าฉันรู้พารามิเตอร์ int ตัวที่สอง (อันดับ) ที่รันไทม์เท่านั้น!)
คำตอบ
3 dtell Sep 02 2020 at 01:17
ไม่นานมานี้โมดูล Tensor ของ Eigen สามารถใช้งานร่วมกับ 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 และบางส่วนของรหัสนี้อาจถูกลบออก