|
TRIQS/nda 1.3.0
Multi-dimensional array library for C++
|
#include "./concepts.hpp"#include "./declarations.hpp"#include "./group_indices.hpp"#include "./layout/idx_map.hpp"#include "./layout/permutation.hpp"#include "./layout/policies.hpp"#include "./map.hpp"#include "./stdutil/array.hpp"#include "./traits.hpp"#include <array>#include <concepts>#include <type_traits>#include <utility>#include <numeric>Provides functions to transform the memory layout of an nda::basic_array or nda::basic_array_view.
Definition in file layout_transforms.hpp.
Go to the source code of this file.
Functions | |
| template<MemoryArray A> | |
| auto | nda::flatten (A &&a) |
| Flatten an nda::basic_array or nda::basic_array_view to a 1-dimensional array/view by reshaping it. | |
| template<MemoryArray A, typename... IdxGrps> | |
| auto | nda::group_indices_view (A &&a, IdxGrps...) |
| Create a new nda::basic_array or nda::basic_array_view by grouping indices together of a given array/view. | |
| template<MemoryArray A, typename NewLayoutType> | |
| auto | nda::map_layout_transform (A &&a, NewLayoutType const &new_layout) |
| Transform the memory layout of an nda::basic_array or nda::basic_array_view. | |
| template<uint64_t Permutation, MemoryArray A> | |
| auto | nda::permuted_indices_view (A &&a) |
| Permute the indices/dimensions of an nda::basic_array or nda::basic_array_view. | |
| template<int N, typename A> requires (nda::is_regular_or_view_v<A>) | |
| auto | nda::reinterpret_add_fast_dims_of_size_one (A &&a) |
| Add N fast varying dimensions of size 1 to a given nda::basic_array or nda::basic_array_view. | |
| template<MemoryArray A, std::integral... Ints> | |
| auto | nda::reshape (A &&a, Ints... is) |
| Reshape an nda::basic_array or nda::basic_array_view. | |
| template<MemoryArray A, std::integral Int, auto R> | |
| auto | nda::reshape (A &&a, std::array< Int, R > const &new_shape) |
| Reshape an nda::basic_array or nda::basic_array_view. | |
| template<MemoryArray A, std::integral Int, auto newRank> | |
| auto | nda::reshaped_view (A &&a, std::array< Int, newRank > const &new_shape) |
| template<typename A> requires (MemoryArray<A> or is_instantiation_of_v<expr_call, A>) | |
| auto | nda::transpose (A &&a) |
| Transpose the memory layout of an nda::MemoryArray or an nda::expr_call. | |
| template<int I, int J, MemoryArray A> requires (is_regular_or_view_v<A>) | |
| auto | nda::transposed_view (A &&a) |
| Transpose two indices/dimensions of an nda::basic_array or nda::basic_array_view. | |