Multidimensional array on flat memory model
От: nen777w  
Дата: 07.02.22 08:46
Оценка:
Добрый час!

Подскажите пожалуйста С++ библиотеки многомерных массивов на плоской (одномерной) модели памяти.
Из таких пока что нашёл LTL http://www.as.utexas.edu/~drory/ltl/, но есть ограничения до размерности 7-мь.
Что в принципе, более чем достаточно. Но хотелось бы посмотреть на другие имплементации.

Спасибо.
Отредактировано 07.02.2022 8:46 nen777w . Предыдущая версия .
Re: Multidimensional array on flat memory model
От: Chorkov Россия  
Дата: 07.02.22 10:02
Оценка: 7 (2)
Здравствуйте, nen777w, Вы писали:

N>Добрый час!


N>Подскажите пожалуйста С++ библиотеки многомерных массивов на плоской (одномерной) модели памяти.

N>Из таких пока что нашёл LTL http://www.as.utexas.edu/~drory/ltl/, но есть ограничения до размерности 7-мь.
N>Что в принципе, более чем достаточно. Но хотелось бы посмотреть на другие имплементации.

N>Спасибо.


std::valarray + std::gslice

https://en.cppreference.com/w/cpp/numeric/valarray/gslice

Нет ограничения на число размерностей, но интерфейс мог бы быть и более человеческим.
Re[2]: Multidimensional array on flat memory model
От: LaptevVV Россия  
Дата: 08.02.22 09:12
Оценка:
C>std::valarray + std::gslice
Кто-то писал (Джосаттис?), что valarray заброшен и не развивается.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Multidimensional array on flat memory model
От: B0FEE664  
Дата: 08.02.22 11:18
Оценка:
Здравствуйте, nen777w, Вы писали:

N>Подскажите пожалуйста С++ библиотеки многомерных массивов на плоской (одномерной) модели памяти.

N>Из таких пока что нашёл LTL http://www.as.utexas.edu/~drory/ltl/, но есть ограничения до размерности 7-мь.
N>Что в принципе, более чем достаточно. Но хотелось бы посмотреть на другие имплементации.

Извините, ничего посоветовать не могу, но мне любопытно, что не устраивает в конструкции вида:
std::array<std::array<std::array<std::array<std::array<std::array<std::array<std::array<int,5>,5>,5>,5>,5>,5>,5>,5> cubX8{};

?
Вам нужен динамический массив такого вида?
И каждый день — без права на ошибку...
Re[3]: Multidimensional array on flat memory model
От: Alexander G Украина  
Дата: 08.02.22 11:45
Оценка: 17 (1)
Здравствуйте, LaptevVV, Вы писали:

C>>std::valarray + std::gslice

LVV>Кто-то писал (Джосаттис?), что valarray заброшен и не развивается.

Ну как, например поддержку C++20 ranges и <=>1 в него добавили. Т.е. как бы развивается.

"Заброшенность" скорее в том, что задумывался для эффективных векторых вычислений с использованием expression template.
На деле вышло, что разработчики компиляторов и STL его не оптимизировали, потому что им никто не пользуется, потому что он не оптимизирован...
Ну и не очень он лёг в реальные возможности векторизации, на этот счёт уже пилят более практичный std::experimental::simd.

Но так то он работает.

1 точнее, <=> не добавили, но рассматривали и решили не добавлять, и добавили недостающий == у std::slice в рамках добавления <=> в библиотеку.
Русский военный корабль идёт ко дну!
Отредактировано 08.02.2022 14:07 Alexander G . Предыдущая версия . Еще …
Отредактировано 08.02.2022 14:07 Alexander G . Предыдущая версия .
Re: Multidimensional array on flat memory model
От: Alexander G Украина  
Дата: 08.02.22 11:47
Оценка: 1 (1)
Здравствуйте, nen777w, Вы писали:

N>Добрый час!


N>Подскажите пожалуйста С++ библиотеки многомерных массивов на плоской (одномерной) модели памяти.

N>Из таких пока что нашёл LTL http://www.as.utexas.edu/~drory/ltl/, но есть ограничения до размерности 7-мь.
N>Что в принципе, более чем достаточно. Но хотелось бы посмотреть на другие имплементации.

N>Спасибо.


Как пропозал для C++ будущего это называется mdspan.
https://github.com/kokkos/mdspan
Русский военный корабль идёт ко дну!
Re: Multidimensional array on flat memory model
От: Bill Baklushi СССР  
Дата: 08.02.22 11:57
Оценка:
nen777w:

N>Подскажите пожалуйста С++ библиотеки многомерных массивов на плоской (одномерной) модели памяти.

N>Из таких пока что нашёл LTL http://www.as.utexas.edu/~drory/ltl/, но есть ограничения до размерности 7-мь.

https://rsdn.org/forum/cpp.applied/7854228.all
Автор: Свободу rg45!
Дата: 15.10.20


Это мой велосипед полуторалетней выдержки.
Модератор-националист Kerk преследует оппонентов по политическим мотивам.
Re: Multidimensional array on flat memory model
От: Vzhyk2  
Дата: 09.02.22 06:07
Оценка:
N>Подскажите пожалуйста С++ библиотеки многомерных массивов на плоской (одномерной) модели памяти.
N>Из таких пока что нашёл LTL http://www.as.utexas.edu/~drory/ltl/, но есть ограничения до размерности 7-мь.
N>Что в принципе, более чем достаточно. Но хотелось бы посмотреть на другие имплементации.
А чем Eigen не подходит или Armadillo для матриц?
Вон тензорфлов весь на eigen внутри.
Re[2]: Multidimensional array on flat memory model
От: Sm0ke Россия ksi
Дата: 13.02.22 14:37
Оценка:
Здравствуйте, Alexander G, Вы писали:

AG>Здравствуйте, nen777w, Вы писали:


N>>Добрый час!


N>>Подскажите пожалуйста С++ библиотеки многомерных массивов на плоской (одномерной) модели памяти.

N>>Из таких пока что нашёл LTL http://www.as.utexas.edu/~drory/ltl/, но есть ограничения до размерности 7-мь.
N>>Что в принципе, более чем достаточно. Но хотелось бы посмотреть на другие имплементации.

N>>Спасибо.


AG>Как пропозал для C++ будущего это называется mdspan.

AG>https://github.com/kokkos/mdspan

Реализация mdspan вроде уже готова в компиляторе Circle
https://github.com/seanbaxter/circle
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.