diff --git a/docs/unstable/accessors_8hpp_source.html b/docs/unstable/accessors_8hpp_source.html index 4d1fe67b..ddeaebb8 100644 --- a/docs/unstable/accessors_8hpp_source.html +++ b/docs/unstable/accessors_8hpp_source.html @@ -238,74 +238,74 @@
nda::array_iterator
Iterator for nda::basic_array and nda::basic_array_view types.
Definition iterators.hpp:215
nda::basic_array_view
A generic view of a multi-dimensional array.
Definition basic_array_view.hpp:127
nda::basic_array
A generic multi-dimensional array.
Definition basic_array.hpp:113
-
nda::basic_array::operator+=
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
Definition basic_array.hpp:971
-
nda::basic_array::operator[]
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
Definition basic_array.hpp:891
+
nda::basic_array::operator+=
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
Definition basic_array.hpp:973
+
nda::basic_array::operator[]
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
Definition basic_array.hpp:893
nda::basic_array::basic_array
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
Definition basic_array.hpp:390
-
nda::basic_array::operator=
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
Definition basic_array.hpp:526
-
nda::basic_array::is_stride_order_Fortran
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
Definition basic_array.hpp:730
-
nda::basic_array::data
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
Definition basic_array.hpp:650
-
nda::basic_array::data
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
Definition basic_array.hpp:656
-
nda::basic_array::shape
long shape(int i) const noexcept
Definition basic_array.hpp:712
-
nda::basic_array::cbegin
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:944
+
nda::basic_array::operator=
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
Definition basic_array.hpp:528
+
nda::basic_array::is_stride_order_Fortran
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
Definition basic_array.hpp:732
+
nda::basic_array::data
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
Definition basic_array.hpp:652
+
nda::basic_array::data
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
Definition basic_array.hpp:658
+
nda::basic_array::shape
long shape(int i) const noexcept
Definition basic_array.hpp:714
+
nda::basic_array::cbegin
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:946
nda::basic_array::rank
static constexpr int rank
Number of dimensions of the array.
Definition basic_array.hpp:140
-
nda::basic_array::is_stride_order_C
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
Definition basic_array.hpp:724
-
nda::basic_array::storage
storage_t & storage() &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:630
+
nda::basic_array::is_stride_order_C
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
Definition basic_array.hpp:726
+
nda::basic_array::storage
storage_t & storage() &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:632
nda::basic_array::basic_array
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
Definition basic_array.hpp:293
nda::basic_array::basic_array
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
Definition basic_array.hpp:217
-
nda::basic_array::strides
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
Definition basic_array.hpp:668
+
nda::basic_array::strides
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
Definition basic_array.hpp:670
nda::basic_array::basic_array
basic_array(Ints... is)
Construct an array with the given dimensions.
Definition basic_array.hpp:230
nda::basic_array::ones
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
Definition basic_array.hpp:446
-
nda::basic_array::begin
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:941
+
nda::basic_array::begin
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:943
nda::basic_array::as_array_view
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
Definition basic_array.hpp:182
-
nda::basic_array::extent
long extent(int i) const noexcept
Get the extent of the ith dimension.
Definition basic_array.hpp:701
+
nda::basic_array::extent
long extent(int i) const noexcept
Get the extent of the ith dimension.
Definition basic_array.hpp:703
nda::basic_array::basic_array
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
Definition basic_array.hpp:339
-
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:905
-
nda::basic_array::is_contiguous
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
Definition basic_array.hpp:680
+
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:907
+
nda::basic_array::is_contiguous
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
Definition basic_array.hpp:682
nda::basic_array::basic_array
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
Definition basic_array.hpp:350
-
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
Definition basic_array.hpp:751
-
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:859
-
nda::basic_array::empty
bool empty() const
Is the view/array empty?
Definition basic_array.hpp:692
-
nda::basic_array::resize
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
Definition basic_array.hpp:592
-
nda::basic_array::has_positive_strides
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
Definition basic_array.hpp:686
+
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
Definition basic_array.hpp:753
+
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:861
+
nda::basic_array::empty
bool empty() const
Is the view/array empty?
Definition basic_array.hpp:694
+
nda::basic_array::resize
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
Definition basic_array.hpp:594
+
nda::basic_array::has_positive_strides
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
Definition basic_array.hpp:688
nda::basic_array::basic_array
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
Definition basic_array.hpp:245
nda::basic_array::ones
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
Definition basic_array.hpp:430
-
nda::basic_array::stride_order
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
Definition basic_array.hpp:644
-
nda::basic_array::operator/=
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
Definition basic_array.hpp:1025
-
nda::basic_array::operator=
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
Definition basic_array.hpp:1039
+
nda::basic_array::stride_order
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
Definition basic_array.hpp:646
+
nda::basic_array::operator/=
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
Definition basic_array.hpp:1027
+
nda::basic_array::operator=
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
Definition basic_array.hpp:1041
nda::basic_array::as_array_view
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
Definition basic_array.hpp:176
nda::basic_array::zeros
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
Definition basic_array.hpp:416
-
nda::basic_array::indices
auto indices() const noexcept
Get a range that generates all valid index tuples.
Definition basic_array.hpp:718
-
nda::basic_array::call
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
Definition basic_array.hpp:786
-
nda::basic_array::resize
void resize(Ints const &...is)
Resize the array to a new shape.
Definition basic_array.hpp:577
-
nda::basic_array::storage
storage_t storage() &&noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:636
+
nda::basic_array::indices
auto indices() const noexcept
Get a range that generates all valid index tuples.
Definition basic_array.hpp:720
+
nda::basic_array::call
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
Definition basic_array.hpp:788
+
nda::basic_array::resize
void resize(Ints const &...is)
Resize the array to a new shape.
Definition basic_array.hpp:579
+
nda::basic_array::storage
storage_t storage() &&noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:638
nda::basic_array::basic_array
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
Definition basic_array.hpp:199
-
nda::basic_array::is_empty
bool is_empty() const noexcept
Definition basic_array.hpp:695
-
nda::basic_array::storage
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:624
+
nda::basic_array::is_empty
bool is_empty() const noexcept
Definition basic_array.hpp:697
+
nda::basic_array::storage
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:626
nda::basic_array::operator=
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
nda::basic_array::operator=
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
Definition basic_array.hpp:511
+
nda::basic_array::operator=
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
Definition basic_array.hpp:513
nda::basic_array::basic_array
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
nda::basic_array::basic_array
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
Definition basic_array.hpp:365
-
nda::basic_array::begin
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
Definition basic_array.hpp:947
+
nda::basic_array::begin
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
Definition basic_array.hpp:949
nda::basic_array::basic_array
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
Definition basic_array.hpp:271
-
nda::basic_array::rand
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
Definition basic_array.hpp:488
+
nda::basic_array::rand
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
Definition basic_array.hpp:490
nda::basic_array::basic_array
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
Definition basic_array.hpp:283
-
nda::basic_array::iterator_rank
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
Definition basic_array.hpp:911
-
nda::basic_array::operator-=
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
Definition basic_array.hpp:989
-
nda::basic_array::end
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:950
+
nda::basic_array::iterator_rank
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
Definition basic_array.hpp:913
+
nda::basic_array::operator-=
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
Definition basic_array.hpp:991
+
nda::basic_array::end
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:952
nda::basic_array::basic_array
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:867
+
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:869
nda::basic_array::basic_array
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
Definition basic_array.hpp:260
-
nda::basic_array::cend
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:953
-
nda::basic_array::shape
auto const & shape() const noexcept
Get the shape of the view/array.
Definition basic_array.hpp:662
-
nda::basic_array::size
long size() const noexcept
Get the total size of the view/array.
Definition basic_array.hpp:674
-
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:898
-
nda::basic_array::operator*=
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
Definition basic_array.hpp:1007
+
nda::basic_array::cend
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:955
+
nda::basic_array::shape
auto const & shape() const noexcept
Get the shape of the view/array.
Definition basic_array.hpp:664
+
nda::basic_array::size
long size() const noexcept
Get the total size of the view/array.
Definition basic_array.hpp:676
+
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:900
+
nda::basic_array::operator*=
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
Definition basic_array.hpp:1009
nda::basic_array::operator=
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
nda::basic_array::zeros
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
Definition basic_array.hpp:402
-
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
Definition basic_array.hpp:851
-
nda::basic_array::indexmap
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
Definition basic_array.hpp:618
-
nda::basic_array::end
iterator end() noexcept
Get an iterator to the end of the view/array.
Definition basic_array.hpp:956
-
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
Definition basic_array.hpp:741
+
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
Definition basic_array.hpp:853
+
nda::basic_array::indexmap
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
Definition basic_array.hpp:620
+
nda::basic_array::end
iterator end() noexcept
Get an iterator to the end of the view/array.
Definition basic_array.hpp:958
+
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
Definition basic_array.hpp:743
nda::basic_array::rand
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Definition basic_array.hpp:463
CUSOLVER_CHECK
#define CUSOLVER_CHECK(X, info,...)
Definition cusolver_interface.cpp:59
NDA_RUNTIME_ERROR
#define NDA_RUNTIME_ERROR
Definition exceptions.hpp:32
diff --git a/docs/unstable/address__space_8hpp_source.html b/docs/unstable/address__space_8hpp_source.html index 41867b9a..8113f674 100644 --- a/docs/unstable/address__space_8hpp_source.html +++ b/docs/unstable/address__space_8hpp_source.html @@ -382,74 +382,74 @@
nda::basic_array_view::cend
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array_view.hpp:767
nda::basic_array_view::storage
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
Definition basic_array_view.hpp:438
nda::basic_array
A generic multi-dimensional array.
Definition basic_array.hpp:113
-
nda::basic_array::operator+=
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
Definition basic_array.hpp:971
-
nda::basic_array::operator[]
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
Definition basic_array.hpp:891
+
nda::basic_array::operator+=
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
Definition basic_array.hpp:973
+
nda::basic_array::operator[]
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
Definition basic_array.hpp:893
nda::basic_array::basic_array
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
Definition basic_array.hpp:390
-
nda::basic_array::operator=
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
Definition basic_array.hpp:526
-
nda::basic_array::is_stride_order_Fortran
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
Definition basic_array.hpp:730
-
nda::basic_array::data
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
Definition basic_array.hpp:650
-
nda::basic_array::data
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
Definition basic_array.hpp:656
-
nda::basic_array::shape
long shape(int i) const noexcept
Definition basic_array.hpp:712
-
nda::basic_array::cbegin
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:944
+
nda::basic_array::operator=
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
Definition basic_array.hpp:528
+
nda::basic_array::is_stride_order_Fortran
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
Definition basic_array.hpp:732
+
nda::basic_array::data
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
Definition basic_array.hpp:652
+
nda::basic_array::data
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
Definition basic_array.hpp:658
+
nda::basic_array::shape
long shape(int i) const noexcept
Definition basic_array.hpp:714
+
nda::basic_array::cbegin
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:946
nda::basic_array::rank
static constexpr int rank
Number of dimensions of the array.
Definition basic_array.hpp:140
-
nda::basic_array::is_stride_order_C
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
Definition basic_array.hpp:724
-
nda::basic_array::storage
storage_t & storage() &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:630
+
nda::basic_array::is_stride_order_C
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
Definition basic_array.hpp:726
+
nda::basic_array::storage
storage_t & storage() &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:632
nda::basic_array::basic_array
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
Definition basic_array.hpp:293
nda::basic_array::basic_array
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
Definition basic_array.hpp:217
-
nda::basic_array::strides
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
Definition basic_array.hpp:668
+
nda::basic_array::strides
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
Definition basic_array.hpp:670
nda::basic_array::basic_array
basic_array(Ints... is)
Construct an array with the given dimensions.
Definition basic_array.hpp:230
nda::basic_array::ones
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
Definition basic_array.hpp:446
-
nda::basic_array::begin
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:941
+
nda::basic_array::begin
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:943
nda::basic_array::as_array_view
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
Definition basic_array.hpp:182
-
nda::basic_array::extent
long extent(int i) const noexcept
Get the extent of the ith dimension.
Definition basic_array.hpp:701
+
nda::basic_array::extent
long extent(int i) const noexcept
Get the extent of the ith dimension.
Definition basic_array.hpp:703
nda::basic_array::basic_array
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
Definition basic_array.hpp:339
-
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:905
-
nda::basic_array::is_contiguous
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
Definition basic_array.hpp:680
+
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:907
+
nda::basic_array::is_contiguous
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
Definition basic_array.hpp:682
nda::basic_array::basic_array
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
Definition basic_array.hpp:350
-
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
Definition basic_array.hpp:751
-
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:859
-
nda::basic_array::empty
bool empty() const
Is the view/array empty?
Definition basic_array.hpp:692
-
nda::basic_array::resize
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
Definition basic_array.hpp:592
-
nda::basic_array::has_positive_strides
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
Definition basic_array.hpp:686
+
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
Definition basic_array.hpp:753
+
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:861
+
nda::basic_array::empty
bool empty() const
Is the view/array empty?
Definition basic_array.hpp:694
+
nda::basic_array::resize
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
Definition basic_array.hpp:594
+
nda::basic_array::has_positive_strides
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
Definition basic_array.hpp:688
nda::basic_array::basic_array
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
Definition basic_array.hpp:245
nda::basic_array::ones
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
Definition basic_array.hpp:430
-
nda::basic_array::stride_order
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
Definition basic_array.hpp:644
-
nda::basic_array::operator/=
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
Definition basic_array.hpp:1025
-
nda::basic_array::operator=
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
Definition basic_array.hpp:1039
+
nda::basic_array::stride_order
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
Definition basic_array.hpp:646
+
nda::basic_array::operator/=
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
Definition basic_array.hpp:1027
+
nda::basic_array::operator=
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
Definition basic_array.hpp:1041
nda::basic_array::as_array_view
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
Definition basic_array.hpp:176
nda::basic_array::zeros
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
Definition basic_array.hpp:416
-
nda::basic_array::indices
auto indices() const noexcept
Get a range that generates all valid index tuples.
Definition basic_array.hpp:718
-
nda::basic_array::call
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
Definition basic_array.hpp:786
-
nda::basic_array::resize
void resize(Ints const &...is)
Resize the array to a new shape.
Definition basic_array.hpp:577
-
nda::basic_array::storage
storage_t storage() &&noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:636
+
nda::basic_array::indices
auto indices() const noexcept
Get a range that generates all valid index tuples.
Definition basic_array.hpp:720
+
nda::basic_array::call
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
Definition basic_array.hpp:788
+
nda::basic_array::resize
void resize(Ints const &...is)
Resize the array to a new shape.
Definition basic_array.hpp:579
+
nda::basic_array::storage
storage_t storage() &&noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:638
nda::basic_array::basic_array
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
Definition basic_array.hpp:199
-
nda::basic_array::is_empty
bool is_empty() const noexcept
Definition basic_array.hpp:695
-
nda::basic_array::storage
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:624
+
nda::basic_array::is_empty
bool is_empty() const noexcept
Definition basic_array.hpp:697
+
nda::basic_array::storage
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:626
nda::basic_array::operator=
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
nda::basic_array::operator=
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
Definition basic_array.hpp:511
+
nda::basic_array::operator=
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
Definition basic_array.hpp:513
nda::basic_array::basic_array
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
nda::basic_array::basic_array
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
Definition basic_array.hpp:365
-
nda::basic_array::begin
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
Definition basic_array.hpp:947
+
nda::basic_array::begin
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
Definition basic_array.hpp:949
nda::basic_array::basic_array
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
Definition basic_array.hpp:271
-
nda::basic_array::rand
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
Definition basic_array.hpp:488
+
nda::basic_array::rand
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
Definition basic_array.hpp:490
nda::basic_array::basic_array
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
Definition basic_array.hpp:283
-
nda::basic_array::iterator_rank
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
Definition basic_array.hpp:911
-
nda::basic_array::operator-=
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
Definition basic_array.hpp:989
-
nda::basic_array::end
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:950
+
nda::basic_array::iterator_rank
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
Definition basic_array.hpp:913
+
nda::basic_array::operator-=
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
Definition basic_array.hpp:991
+
nda::basic_array::end
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:952
nda::basic_array::basic_array
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:867
+
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:869
nda::basic_array::basic_array
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
Definition basic_array.hpp:260
-
nda::basic_array::cend
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:953
-
nda::basic_array::shape
auto const & shape() const noexcept
Get the shape of the view/array.
Definition basic_array.hpp:662
-
nda::basic_array::size
long size() const noexcept
Get the total size of the view/array.
Definition basic_array.hpp:674
-
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:898
-
nda::basic_array::operator*=
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
Definition basic_array.hpp:1007
+
nda::basic_array::cend
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:955
+
nda::basic_array::shape
auto const & shape() const noexcept
Get the shape of the view/array.
Definition basic_array.hpp:664
+
nda::basic_array::size
long size() const noexcept
Get the total size of the view/array.
Definition basic_array.hpp:676
+
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:900
+
nda::basic_array::operator*=
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
Definition basic_array.hpp:1009
nda::basic_array::operator=
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
nda::basic_array::zeros
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
Definition basic_array.hpp:402
-
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
Definition basic_array.hpp:851
-
nda::basic_array::indexmap
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
Definition basic_array.hpp:618
-
nda::basic_array::end
iterator end() noexcept
Get an iterator to the end of the view/array.
Definition basic_array.hpp:956
-
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
Definition basic_array.hpp:741
+
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
Definition basic_array.hpp:853
+
nda::basic_array::indexmap
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
Definition basic_array.hpp:620
+
nda::basic_array::end
iterator end() noexcept
Get an iterator to the end of the view/array.
Definition basic_array.hpp:958
+
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
Definition basic_array.hpp:743
nda::basic_array::rand
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Definition basic_array.hpp:463
nda::idx_map
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
nda::idx_map::operator()
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517
diff --git a/docs/unstable/allocators_8hpp_source.html b/docs/unstable/allocators_8hpp_source.html index cbf5ffaa..269c411e 100644 --- a/docs/unstable/allocators_8hpp_source.html +++ b/docs/unstable/allocators_8hpp_source.html @@ -877,74 +877,74 @@
nda::basic_array_view::cend
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array_view.hpp:767
nda::basic_array_view::storage
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
Definition basic_array_view.hpp:438
nda::basic_array
A generic multi-dimensional array.
Definition basic_array.hpp:113
-
nda::basic_array::operator+=
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
Definition basic_array.hpp:971
-
nda::basic_array::operator[]
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
Definition basic_array.hpp:891
+
nda::basic_array::operator+=
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
Definition basic_array.hpp:973
+
nda::basic_array::operator[]
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
Definition basic_array.hpp:893
nda::basic_array::basic_array
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
Definition basic_array.hpp:390
-
nda::basic_array::operator=
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
Definition basic_array.hpp:526
-
nda::basic_array::is_stride_order_Fortran
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
Definition basic_array.hpp:730
-
nda::basic_array::data
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
Definition basic_array.hpp:650
-
nda::basic_array::data
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
Definition basic_array.hpp:656
-
nda::basic_array::shape
long shape(int i) const noexcept
Definition basic_array.hpp:712
-
nda::basic_array::cbegin
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:944
+
nda::basic_array::operator=
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
Definition basic_array.hpp:528
+
nda::basic_array::is_stride_order_Fortran
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
Definition basic_array.hpp:732
+
nda::basic_array::data
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
Definition basic_array.hpp:652
+
nda::basic_array::data
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
Definition basic_array.hpp:658
+
nda::basic_array::shape
long shape(int i) const noexcept
Definition basic_array.hpp:714
+
nda::basic_array::cbegin
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:946
nda::basic_array::rank
static constexpr int rank
Number of dimensions of the array.
Definition basic_array.hpp:140
-
nda::basic_array::is_stride_order_C
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
Definition basic_array.hpp:724
-
nda::basic_array::storage
storage_t & storage() &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:630
+
nda::basic_array::is_stride_order_C
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
Definition basic_array.hpp:726
+
nda::basic_array::storage
storage_t & storage() &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:632
nda::basic_array::basic_array
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
Definition basic_array.hpp:293
nda::basic_array::basic_array
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
Definition basic_array.hpp:217
-
nda::basic_array::strides
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
Definition basic_array.hpp:668
+
nda::basic_array::strides
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
Definition basic_array.hpp:670
nda::basic_array::basic_array
basic_array(Ints... is)
Construct an array with the given dimensions.
Definition basic_array.hpp:230
nda::basic_array::ones
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
Definition basic_array.hpp:446
-
nda::basic_array::begin
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:941
+
nda::basic_array::begin
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:943
nda::basic_array::as_array_view
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
Definition basic_array.hpp:182
-
nda::basic_array::extent
long extent(int i) const noexcept
Get the extent of the ith dimension.
Definition basic_array.hpp:701
+
nda::basic_array::extent
long extent(int i) const noexcept
Get the extent of the ith dimension.
Definition basic_array.hpp:703
nda::basic_array::basic_array
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
Definition basic_array.hpp:339
-
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:905
-
nda::basic_array::is_contiguous
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
Definition basic_array.hpp:680
+
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:907
+
nda::basic_array::is_contiguous
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
Definition basic_array.hpp:682
nda::basic_array::basic_array
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
Definition basic_array.hpp:350
-
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
Definition basic_array.hpp:751
-
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:859
-
nda::basic_array::empty
bool empty() const
Is the view/array empty?
Definition basic_array.hpp:692
-
nda::basic_array::resize
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
Definition basic_array.hpp:592
-
nda::basic_array::has_positive_strides
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
Definition basic_array.hpp:686
+
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
Definition basic_array.hpp:753
+
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:861
+
nda::basic_array::empty
bool empty() const
Is the view/array empty?
Definition basic_array.hpp:694
+
nda::basic_array::resize
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
Definition basic_array.hpp:594
+
nda::basic_array::has_positive_strides
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
Definition basic_array.hpp:688
nda::basic_array::basic_array
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
Definition basic_array.hpp:245
nda::basic_array::ones
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
Definition basic_array.hpp:430
-
nda::basic_array::stride_order
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
Definition basic_array.hpp:644
-
nda::basic_array::operator/=
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
Definition basic_array.hpp:1025
-
nda::basic_array::operator=
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
Definition basic_array.hpp:1039
+
nda::basic_array::stride_order
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
Definition basic_array.hpp:646
+
nda::basic_array::operator/=
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
Definition basic_array.hpp:1027
+
nda::basic_array::operator=
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
Definition basic_array.hpp:1041
nda::basic_array::as_array_view
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
Definition basic_array.hpp:176
nda::basic_array::zeros
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
Definition basic_array.hpp:416
-
nda::basic_array::indices
auto indices() const noexcept
Get a range that generates all valid index tuples.
Definition basic_array.hpp:718
-
nda::basic_array::call
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
Definition basic_array.hpp:786
-
nda::basic_array::resize
void resize(Ints const &...is)
Resize the array to a new shape.
Definition basic_array.hpp:577
-
nda::basic_array::storage
storage_t storage() &&noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:636
+
nda::basic_array::indices
auto indices() const noexcept
Get a range that generates all valid index tuples.
Definition basic_array.hpp:720
+
nda::basic_array::call
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
Definition basic_array.hpp:788
+
nda::basic_array::resize
void resize(Ints const &...is)
Resize the array to a new shape.
Definition basic_array.hpp:579
+
nda::basic_array::storage
storage_t storage() &&noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:638
nda::basic_array::basic_array
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
Definition basic_array.hpp:199
-
nda::basic_array::is_empty
bool is_empty() const noexcept
Definition basic_array.hpp:695
-
nda::basic_array::storage
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:624
+
nda::basic_array::is_empty
bool is_empty() const noexcept
Definition basic_array.hpp:697
+
nda::basic_array::storage
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:626
nda::basic_array::operator=
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
nda::basic_array::operator=
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
Definition basic_array.hpp:511
+
nda::basic_array::operator=
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
Definition basic_array.hpp:513
nda::basic_array::basic_array
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
nda::basic_array::basic_array
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
Definition basic_array.hpp:365
-
nda::basic_array::begin
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
Definition basic_array.hpp:947
+
nda::basic_array::begin
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
Definition basic_array.hpp:949
nda::basic_array::basic_array
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
Definition basic_array.hpp:271
-
nda::basic_array::rand
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
Definition basic_array.hpp:488
+
nda::basic_array::rand
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
Definition basic_array.hpp:490
nda::basic_array::basic_array
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
Definition basic_array.hpp:283
-
nda::basic_array::iterator_rank
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
Definition basic_array.hpp:911
-
nda::basic_array::operator-=
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
Definition basic_array.hpp:989
-
nda::basic_array::end
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:950
+
nda::basic_array::iterator_rank
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
Definition basic_array.hpp:913
+
nda::basic_array::operator-=
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
Definition basic_array.hpp:991
+
nda::basic_array::end
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:952
nda::basic_array::basic_array
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:867
+
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:869
nda::basic_array::basic_array
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
Definition basic_array.hpp:260
-
nda::basic_array::cend
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:953
-
nda::basic_array::shape
auto const & shape() const noexcept
Get the shape of the view/array.
Definition basic_array.hpp:662
-
nda::basic_array::size
long size() const noexcept
Get the total size of the view/array.
Definition basic_array.hpp:674
-
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:898
-
nda::basic_array::operator*=
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
Definition basic_array.hpp:1007
+
nda::basic_array::cend
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:955
+
nda::basic_array::shape
auto const & shape() const noexcept
Get the shape of the view/array.
Definition basic_array.hpp:664
+
nda::basic_array::size
long size() const noexcept
Get the total size of the view/array.
Definition basic_array.hpp:676
+
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:900
+
nda::basic_array::operator*=
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
Definition basic_array.hpp:1009
nda::basic_array::operator=
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
nda::basic_array::zeros
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
Definition basic_array.hpp:402
-
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
Definition basic_array.hpp:851
-
nda::basic_array::indexmap
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
Definition basic_array.hpp:618
-
nda::basic_array::end
iterator end() noexcept
Get an iterator to the end of the view/array.
Definition basic_array.hpp:956
-
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
Definition basic_array.hpp:741
+
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
Definition basic_array.hpp:853
+
nda::basic_array::indexmap
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
Definition basic_array.hpp:620
+
nda::basic_array::end
iterator end() noexcept
Get an iterator to the end of the view/array.
Definition basic_array.hpp:958
+
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
Definition basic_array.hpp:743
nda::basic_array::rand
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Definition basic_array.hpp:463
nda::idx_map
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
nda::idx_map::operator()
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517
diff --git a/docs/unstable/array_8hpp_source.html b/docs/unstable/array_8hpp_source.html index 359740e8..12654680 100644 --- a/docs/unstable/array_8hpp_source.html +++ b/docs/unstable/array_8hpp_source.html @@ -596,74 +596,74 @@
nda::basic_array_view::cend
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array_view.hpp:767
nda::basic_array_view::storage
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
Definition basic_array_view.hpp:438
nda::basic_array
A generic multi-dimensional array.
Definition basic_array.hpp:113
-
nda::basic_array::operator+=
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
Definition basic_array.hpp:971
-
nda::basic_array::operator[]
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
Definition basic_array.hpp:891
+
nda::basic_array::operator+=
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
Definition basic_array.hpp:973
+
nda::basic_array::operator[]
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
Definition basic_array.hpp:893
nda::basic_array::basic_array
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
Definition basic_array.hpp:390
-
nda::basic_array::operator=
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
Definition basic_array.hpp:526
-
nda::basic_array::is_stride_order_Fortran
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
Definition basic_array.hpp:730
-
nda::basic_array::data
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
Definition basic_array.hpp:650
-
nda::basic_array::data
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
Definition basic_array.hpp:656
-
nda::basic_array::shape
long shape(int i) const noexcept
Definition basic_array.hpp:712
-
nda::basic_array::cbegin
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:944
+
nda::basic_array::operator=
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
Definition basic_array.hpp:528
+
nda::basic_array::is_stride_order_Fortran
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
Definition basic_array.hpp:732
+
nda::basic_array::data
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
Definition basic_array.hpp:652
+
nda::basic_array::data
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
Definition basic_array.hpp:658
+
nda::basic_array::shape
long shape(int i) const noexcept
Definition basic_array.hpp:714
+
nda::basic_array::cbegin
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:946
nda::basic_array::rank
static constexpr int rank
Number of dimensions of the array.
Definition basic_array.hpp:140
-
nda::basic_array::is_stride_order_C
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
Definition basic_array.hpp:724
-
nda::basic_array::storage
storage_t & storage() &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:630
+
nda::basic_array::is_stride_order_C
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
Definition basic_array.hpp:726
+
nda::basic_array::storage
storage_t & storage() &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:632
nda::basic_array::basic_array
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
Definition basic_array.hpp:293
nda::basic_array::basic_array
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
Definition basic_array.hpp:217
-
nda::basic_array::strides
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
Definition basic_array.hpp:668
+
nda::basic_array::strides
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
Definition basic_array.hpp:670
nda::basic_array::basic_array
basic_array(Ints... is)
Construct an array with the given dimensions.
Definition basic_array.hpp:230
nda::basic_array::ones
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
Definition basic_array.hpp:446
-
nda::basic_array::begin
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:941
+
nda::basic_array::begin
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:943
nda::basic_array::as_array_view
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
Definition basic_array.hpp:182
-
nda::basic_array::extent
long extent(int i) const noexcept
Get the extent of the ith dimension.
Definition basic_array.hpp:701
+
nda::basic_array::extent
long extent(int i) const noexcept
Get the extent of the ith dimension.
Definition basic_array.hpp:703
nda::basic_array::basic_array
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
Definition basic_array.hpp:339
-
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:905
-
nda::basic_array::is_contiguous
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
Definition basic_array.hpp:680
+
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:907
+
nda::basic_array::is_contiguous
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
Definition basic_array.hpp:682
nda::basic_array::basic_array
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
Definition basic_array.hpp:350
-
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
Definition basic_array.hpp:751
-
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:859
-
nda::basic_array::empty
bool empty() const
Is the view/array empty?
Definition basic_array.hpp:692
-
nda::basic_array::resize
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
Definition basic_array.hpp:592
-
nda::basic_array::has_positive_strides
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
Definition basic_array.hpp:686
+
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
Definition basic_array.hpp:753
+
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:861
+
nda::basic_array::empty
bool empty() const
Is the view/array empty?
Definition basic_array.hpp:694
+
nda::basic_array::resize
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
Definition basic_array.hpp:594
+
nda::basic_array::has_positive_strides
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
Definition basic_array.hpp:688
nda::basic_array::basic_array
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
Definition basic_array.hpp:245
nda::basic_array::ones
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
Definition basic_array.hpp:430
-
nda::basic_array::stride_order
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
Definition basic_array.hpp:644
-
nda::basic_array::operator/=
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
Definition basic_array.hpp:1025
-
nda::basic_array::operator=
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
Definition basic_array.hpp:1039
+
nda::basic_array::stride_order
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
Definition basic_array.hpp:646
+
nda::basic_array::operator/=
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
Definition basic_array.hpp:1027
+
nda::basic_array::operator=
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
Definition basic_array.hpp:1041
nda::basic_array::as_array_view
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
Definition basic_array.hpp:176
nda::basic_array::zeros
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
Definition basic_array.hpp:416
-
nda::basic_array::indices
auto indices() const noexcept
Get a range that generates all valid index tuples.
Definition basic_array.hpp:718
-
nda::basic_array::call
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
Definition basic_array.hpp:786
-
nda::basic_array::resize
void resize(Ints const &...is)
Resize the array to a new shape.
Definition basic_array.hpp:577
-
nda::basic_array::storage
storage_t storage() &&noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:636
+
nda::basic_array::indices
auto indices() const noexcept
Get a range that generates all valid index tuples.
Definition basic_array.hpp:720
+
nda::basic_array::call
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
Definition basic_array.hpp:788
+
nda::basic_array::resize
void resize(Ints const &...is)
Resize the array to a new shape.
Definition basic_array.hpp:579
+
nda::basic_array::storage
storage_t storage() &&noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:638
nda::basic_array::basic_array
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
Definition basic_array.hpp:199
-
nda::basic_array::is_empty
bool is_empty() const noexcept
Definition basic_array.hpp:695
-
nda::basic_array::storage
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:624
+
nda::basic_array::is_empty
bool is_empty() const noexcept
Definition basic_array.hpp:697
+
nda::basic_array::storage
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:626
nda::basic_array::operator=
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
nda::basic_array::operator=
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
Definition basic_array.hpp:511
+
nda::basic_array::operator=
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
Definition basic_array.hpp:513
nda::basic_array::basic_array
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
nda::basic_array::basic_array
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
Definition basic_array.hpp:365
-
nda::basic_array::begin
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
Definition basic_array.hpp:947
+
nda::basic_array::begin
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
Definition basic_array.hpp:949
nda::basic_array::basic_array
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
Definition basic_array.hpp:271
-
nda::basic_array::rand
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
Definition basic_array.hpp:488
+
nda::basic_array::rand
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
Definition basic_array.hpp:490
nda::basic_array::basic_array
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
Definition basic_array.hpp:283
-
nda::basic_array::iterator_rank
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
Definition basic_array.hpp:911
-
nda::basic_array::operator-=
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
Definition basic_array.hpp:989
-
nda::basic_array::end
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:950
+
nda::basic_array::iterator_rank
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
Definition basic_array.hpp:913
+
nda::basic_array::operator-=
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
Definition basic_array.hpp:991
+
nda::basic_array::end
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:952
nda::basic_array::basic_array
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:867
+
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:869
nda::basic_array::basic_array
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
Definition basic_array.hpp:260
-
nda::basic_array::cend
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:953
-
nda::basic_array::shape
auto const & shape() const noexcept
Get the shape of the view/array.
Definition basic_array.hpp:662
-
nda::basic_array::size
long size() const noexcept
Get the total size of the view/array.
Definition basic_array.hpp:674
-
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:898
-
nda::basic_array::operator*=
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
Definition basic_array.hpp:1007
+
nda::basic_array::cend
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:955
+
nda::basic_array::shape
auto const & shape() const noexcept
Get the shape of the view/array.
Definition basic_array.hpp:664
+
nda::basic_array::size
long size() const noexcept
Get the total size of the view/array.
Definition basic_array.hpp:676
+
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:900
+
nda::basic_array::operator*=
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
Definition basic_array.hpp:1009
nda::basic_array::operator=
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
nda::basic_array::zeros
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
Definition basic_array.hpp:402
-
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
Definition basic_array.hpp:851
-
nda::basic_array::indexmap
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
Definition basic_array.hpp:618
-
nda::basic_array::end
iterator end() noexcept
Get an iterator to the end of the view/array.
Definition basic_array.hpp:956
-
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
Definition basic_array.hpp:741
+
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
Definition basic_array.hpp:853
+
nda::basic_array::indexmap
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
Definition basic_array.hpp:620
+
nda::basic_array::end
iterator end() noexcept
Get an iterator to the end of the view/array.
Definition basic_array.hpp:958
+
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
Definition basic_array.hpp:743
nda::basic_array::rand
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Definition basic_array.hpp:463
nda::idx_map
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
nda::idx_map::operator()
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517
diff --git a/docs/unstable/auto__assign_8hpp_source.html b/docs/unstable/auto__assign_8hpp_source.html index eeaedb26..e6fe20a7 100644 --- a/docs/unstable/auto__assign_8hpp_source.html +++ b/docs/unstable/auto__assign_8hpp_source.html @@ -316,74 +316,74 @@
nda::basic_array_view::cend
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array_view.hpp:767
nda::basic_array_view::storage
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
Definition basic_array_view.hpp:438
nda::basic_array
A generic multi-dimensional array.
Definition basic_array.hpp:113
-
nda::basic_array::operator+=
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
Definition basic_array.hpp:971
-
nda::basic_array::operator[]
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
Definition basic_array.hpp:891
+
nda::basic_array::operator+=
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
Definition basic_array.hpp:973
+
nda::basic_array::operator[]
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
Definition basic_array.hpp:893
nda::basic_array::basic_array
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
Definition basic_array.hpp:390
-
nda::basic_array::operator=
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
Definition basic_array.hpp:526
-
nda::basic_array::is_stride_order_Fortran
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
Definition basic_array.hpp:730
-
nda::basic_array::data
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
Definition basic_array.hpp:650
-
nda::basic_array::data
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
Definition basic_array.hpp:656
-
nda::basic_array::shape
long shape(int i) const noexcept
Definition basic_array.hpp:712
-
nda::basic_array::cbegin
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:944
+
nda::basic_array::operator=
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
Definition basic_array.hpp:528
+
nda::basic_array::is_stride_order_Fortran
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
Definition basic_array.hpp:732
+
nda::basic_array::data
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
Definition basic_array.hpp:652
+
nda::basic_array::data
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
Definition basic_array.hpp:658
+
nda::basic_array::shape
long shape(int i) const noexcept
Definition basic_array.hpp:714
+
nda::basic_array::cbegin
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:946
nda::basic_array::rank
static constexpr int rank
Number of dimensions of the array.
Definition basic_array.hpp:140
-
nda::basic_array::is_stride_order_C
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
Definition basic_array.hpp:724
-
nda::basic_array::storage
storage_t & storage() &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:630
+
nda::basic_array::is_stride_order_C
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
Definition basic_array.hpp:726
+
nda::basic_array::storage
storage_t & storage() &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:632
nda::basic_array::basic_array
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
Definition basic_array.hpp:293
nda::basic_array::basic_array
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
Definition basic_array.hpp:217
-
nda::basic_array::strides
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
Definition basic_array.hpp:668
+
nda::basic_array::strides
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
Definition basic_array.hpp:670
nda::basic_array::basic_array
basic_array(Ints... is)
Construct an array with the given dimensions.
Definition basic_array.hpp:230
nda::basic_array::ones
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
Definition basic_array.hpp:446
-
nda::basic_array::begin
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:941
+
nda::basic_array::begin
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:943
nda::basic_array::as_array_view
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
Definition basic_array.hpp:182
-
nda::basic_array::extent
long extent(int i) const noexcept
Get the extent of the ith dimension.
Definition basic_array.hpp:701
+
nda::basic_array::extent
long extent(int i) const noexcept
Get the extent of the ith dimension.
Definition basic_array.hpp:703
nda::basic_array::basic_array
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
Definition basic_array.hpp:339
-
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:905
-
nda::basic_array::is_contiguous
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
Definition basic_array.hpp:680
+
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:907
+
nda::basic_array::is_contiguous
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
Definition basic_array.hpp:682
nda::basic_array::basic_array
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
Definition basic_array.hpp:350
-
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
Definition basic_array.hpp:751
-
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:859
-
nda::basic_array::empty
bool empty() const
Is the view/array empty?
Definition basic_array.hpp:692
-
nda::basic_array::resize
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
Definition basic_array.hpp:592
-
nda::basic_array::has_positive_strides
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
Definition basic_array.hpp:686
+
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
Definition basic_array.hpp:753
+
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:861
+
nda::basic_array::empty
bool empty() const
Is the view/array empty?
Definition basic_array.hpp:694
+
nda::basic_array::resize
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
Definition basic_array.hpp:594
+
nda::basic_array::has_positive_strides
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
Definition basic_array.hpp:688
nda::basic_array::basic_array
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
Definition basic_array.hpp:245
nda::basic_array::ones
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
Definition basic_array.hpp:430
-
nda::basic_array::stride_order
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
Definition basic_array.hpp:644
-
nda::basic_array::operator/=
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
Definition basic_array.hpp:1025
-
nda::basic_array::operator=
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
Definition basic_array.hpp:1039
+
nda::basic_array::stride_order
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
Definition basic_array.hpp:646
+
nda::basic_array::operator/=
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
Definition basic_array.hpp:1027
+
nda::basic_array::operator=
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
Definition basic_array.hpp:1041
nda::basic_array::as_array_view
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
Definition basic_array.hpp:176
nda::basic_array::zeros
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
Definition basic_array.hpp:416
-
nda::basic_array::indices
auto indices() const noexcept
Get a range that generates all valid index tuples.
Definition basic_array.hpp:718
-
nda::basic_array::call
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
Definition basic_array.hpp:786
-
nda::basic_array::resize
void resize(Ints const &...is)
Resize the array to a new shape.
Definition basic_array.hpp:577
-
nda::basic_array::storage
storage_t storage() &&noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:636
+
nda::basic_array::indices
auto indices() const noexcept
Get a range that generates all valid index tuples.
Definition basic_array.hpp:720
+
nda::basic_array::call
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
Definition basic_array.hpp:788
+
nda::basic_array::resize
void resize(Ints const &...is)
Resize the array to a new shape.
Definition basic_array.hpp:579
+
nda::basic_array::storage
storage_t storage() &&noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:638
nda::basic_array::basic_array
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
Definition basic_array.hpp:199
-
nda::basic_array::is_empty
bool is_empty() const noexcept
Definition basic_array.hpp:695
-
nda::basic_array::storage
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:624
+
nda::basic_array::is_empty
bool is_empty() const noexcept
Definition basic_array.hpp:697
+
nda::basic_array::storage
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:626
nda::basic_array::operator=
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
nda::basic_array::operator=
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
Definition basic_array.hpp:511
+
nda::basic_array::operator=
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
Definition basic_array.hpp:513
nda::basic_array::basic_array
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
nda::basic_array::basic_array
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
Definition basic_array.hpp:365
-
nda::basic_array::begin
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
Definition basic_array.hpp:947
+
nda::basic_array::begin
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
Definition basic_array.hpp:949
nda::basic_array::basic_array
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
Definition basic_array.hpp:271
-
nda::basic_array::rand
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
Definition basic_array.hpp:488
+
nda::basic_array::rand
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
Definition basic_array.hpp:490
nda::basic_array::basic_array
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
Definition basic_array.hpp:283
-
nda::basic_array::iterator_rank
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
Definition basic_array.hpp:911
-
nda::basic_array::operator-=
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
Definition basic_array.hpp:989
-
nda::basic_array::end
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:950
+
nda::basic_array::iterator_rank
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
Definition basic_array.hpp:913
+
nda::basic_array::operator-=
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
Definition basic_array.hpp:991
+
nda::basic_array::end
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:952
nda::basic_array::basic_array
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:867
+
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:869
nda::basic_array::basic_array
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
Definition basic_array.hpp:260
-
nda::basic_array::cend
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:953
-
nda::basic_array::shape
auto const & shape() const noexcept
Get the shape of the view/array.
Definition basic_array.hpp:662
-
nda::basic_array::size
long size() const noexcept
Get the total size of the view/array.
Definition basic_array.hpp:674
-
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:898
-
nda::basic_array::operator*=
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
Definition basic_array.hpp:1007
+
nda::basic_array::cend
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:955
+
nda::basic_array::shape
auto const & shape() const noexcept
Get the shape of the view/array.
Definition basic_array.hpp:664
+
nda::basic_array::size
long size() const noexcept
Get the total size of the view/array.
Definition basic_array.hpp:676
+
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:900
+
nda::basic_array::operator*=
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
Definition basic_array.hpp:1009
nda::basic_array::operator=
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
nda::basic_array::zeros
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
Definition basic_array.hpp:402
-
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
Definition basic_array.hpp:851
-
nda::basic_array::indexmap
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
Definition basic_array.hpp:618
-
nda::basic_array::end
iterator end() noexcept
Get an iterator to the end of the view/array.
Definition basic_array.hpp:956
-
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
Definition basic_array.hpp:741
+
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
Definition basic_array.hpp:853
+
nda::basic_array::indexmap
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
Definition basic_array.hpp:620
+
nda::basic_array::end
iterator end() noexcept
Get an iterator to the end of the view/array.
Definition basic_array.hpp:958
+
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
Definition basic_array.hpp:743
nda::basic_array::rand
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Definition basic_array.hpp:463
CUSOLVER_CHECK
#define CUSOLVER_CHECK(X, info,...)
Definition cusolver_interface.cpp:59
NDA_RUNTIME_ERROR
#define NDA_RUNTIME_ERROR
Definition exceptions.hpp:32
diff --git a/docs/unstable/auto__assign__subscript_8hpp_source.html b/docs/unstable/auto__assign__subscript_8hpp_source.html index b8ecc3b4..343e19a7 100644 --- a/docs/unstable/auto__assign__subscript_8hpp_source.html +++ b/docs/unstable/auto__assign__subscript_8hpp_source.html @@ -320,74 +320,74 @@
nda::basic_array_view::cend
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array_view.hpp:767
nda::basic_array_view::storage
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
Definition basic_array_view.hpp:438
nda::basic_array
A generic multi-dimensional array.
Definition basic_array.hpp:113
-
nda::basic_array::operator+=
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
Definition basic_array.hpp:971
-
nda::basic_array::operator[]
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
Definition basic_array.hpp:891
+
nda::basic_array::operator+=
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
Definition basic_array.hpp:973
+
nda::basic_array::operator[]
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
Definition basic_array.hpp:893
nda::basic_array::basic_array
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
Definition basic_array.hpp:390
-
nda::basic_array::operator=
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
Definition basic_array.hpp:526
-
nda::basic_array::is_stride_order_Fortran
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
Definition basic_array.hpp:730
-
nda::basic_array::data
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
Definition basic_array.hpp:650
-
nda::basic_array::data
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
Definition basic_array.hpp:656
-
nda::basic_array::shape
long shape(int i) const noexcept
Definition basic_array.hpp:712
-
nda::basic_array::cbegin
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:944
+
nda::basic_array::operator=
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
Definition basic_array.hpp:528
+
nda::basic_array::is_stride_order_Fortran
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
Definition basic_array.hpp:732
+
nda::basic_array::data
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
Definition basic_array.hpp:652
+
nda::basic_array::data
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
Definition basic_array.hpp:658
+
nda::basic_array::shape
long shape(int i) const noexcept
Definition basic_array.hpp:714
+
nda::basic_array::cbegin
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:946
nda::basic_array::rank
static constexpr int rank
Number of dimensions of the array.
Definition basic_array.hpp:140
-
nda::basic_array::is_stride_order_C
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
Definition basic_array.hpp:724
-
nda::basic_array::storage
storage_t & storage() &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:630
+
nda::basic_array::is_stride_order_C
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
Definition basic_array.hpp:726
+
nda::basic_array::storage
storage_t & storage() &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:632
nda::basic_array::basic_array
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
Definition basic_array.hpp:293
nda::basic_array::basic_array
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
Definition basic_array.hpp:217
-
nda::basic_array::strides
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
Definition basic_array.hpp:668
+
nda::basic_array::strides
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
Definition basic_array.hpp:670
nda::basic_array::basic_array
basic_array(Ints... is)
Construct an array with the given dimensions.
Definition basic_array.hpp:230
nda::basic_array::ones
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
Definition basic_array.hpp:446
-
nda::basic_array::begin
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:941
+
nda::basic_array::begin
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
Definition basic_array.hpp:943
nda::basic_array::as_array_view
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
Definition basic_array.hpp:182
-
nda::basic_array::extent
long extent(int i) const noexcept
Get the extent of the ith dimension.
Definition basic_array.hpp:701
+
nda::basic_array::extent
long extent(int i) const noexcept
Get the extent of the ith dimension.
Definition basic_array.hpp:703
nda::basic_array::basic_array
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
Definition basic_array.hpp:339
-
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:905
-
nda::basic_array::is_contiguous
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
Definition basic_array.hpp:680
+
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:907
+
nda::basic_array::is_contiguous
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
Definition basic_array.hpp:682
nda::basic_array::basic_array
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
Definition basic_array.hpp:350
-
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
Definition basic_array.hpp:751
-
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:859
-
nda::basic_array::empty
bool empty() const
Is the view/array empty?
Definition basic_array.hpp:692
-
nda::basic_array::resize
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
Definition basic_array.hpp:592
-
nda::basic_array::has_positive_strides
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
Definition basic_array.hpp:686
+
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
Definition basic_array.hpp:753
+
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:861
+
nda::basic_array::empty
bool empty() const
Is the view/array empty?
Definition basic_array.hpp:694
+
nda::basic_array::resize
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
Definition basic_array.hpp:594
+
nda::basic_array::has_positive_strides
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
Definition basic_array.hpp:688
nda::basic_array::basic_array
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
Definition basic_array.hpp:245
nda::basic_array::ones
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
Definition basic_array.hpp:430
-
nda::basic_array::stride_order
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
Definition basic_array.hpp:644
-
nda::basic_array::operator/=
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
Definition basic_array.hpp:1025
-
nda::basic_array::operator=
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
Definition basic_array.hpp:1039
+
nda::basic_array::stride_order
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
Definition basic_array.hpp:646
+
nda::basic_array::operator/=
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
Definition basic_array.hpp:1027
+
nda::basic_array::operator=
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
Definition basic_array.hpp:1041
nda::basic_array::as_array_view
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
Definition basic_array.hpp:176
nda::basic_array::zeros
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
Definition basic_array.hpp:416
-
nda::basic_array::indices
auto indices() const noexcept
Get a range that generates all valid index tuples.
Definition basic_array.hpp:718
-
nda::basic_array::call
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
Definition basic_array.hpp:786
-
nda::basic_array::resize
void resize(Ints const &...is)
Resize the array to a new shape.
Definition basic_array.hpp:577
-
nda::basic_array::storage
storage_t storage() &&noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:636
+
nda::basic_array::indices
auto indices() const noexcept
Get a range that generates all valid index tuples.
Definition basic_array.hpp:720
+
nda::basic_array::call
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
Definition basic_array.hpp:788
+
nda::basic_array::resize
void resize(Ints const &...is)
Resize the array to a new shape.
Definition basic_array.hpp:579
+
nda::basic_array::storage
storage_t storage() &&noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:638
nda::basic_array::basic_array
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
Definition basic_array.hpp:199
-
nda::basic_array::is_empty
bool is_empty() const noexcept
Definition basic_array.hpp:695
-
nda::basic_array::storage
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:624
+
nda::basic_array::is_empty
bool is_empty() const noexcept
Definition basic_array.hpp:697
+
nda::basic_array::storage
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
Definition basic_array.hpp:626
nda::basic_array::operator=
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
nda::basic_array::operator=
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
Definition basic_array.hpp:511
+
nda::basic_array::operator=
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
Definition basic_array.hpp:513
nda::basic_array::basic_array
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
nda::basic_array::basic_array
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
Definition basic_array.hpp:365
-
nda::basic_array::begin
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
Definition basic_array.hpp:947
+
nda::basic_array::begin
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
Definition basic_array.hpp:949
nda::basic_array::basic_array
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
Definition basic_array.hpp:271
-
nda::basic_array::rand
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
Definition basic_array.hpp:488
+
nda::basic_array::rand
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
Definition basic_array.hpp:490
nda::basic_array::basic_array
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
Definition basic_array.hpp:283
-
nda::basic_array::iterator_rank
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
Definition basic_array.hpp:911
-
nda::basic_array::operator-=
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
Definition basic_array.hpp:989
-
nda::basic_array::end
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:950
+
nda::basic_array::iterator_rank
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
Definition basic_array.hpp:913
+
nda::basic_array::operator-=
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
Definition basic_array.hpp:991
+
nda::basic_array::end
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:952
nda::basic_array::basic_array
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:867
+
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
Definition basic_array.hpp:869
nda::basic_array::basic_array
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
Definition basic_array.hpp:260
-
nda::basic_array::cend
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:953
-
nda::basic_array::shape
auto const & shape() const noexcept
Get the shape of the view/array.
Definition basic_array.hpp:662
-
nda::basic_array::size
long size() const noexcept
Get the total size of the view/array.
Definition basic_array.hpp:674
-
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:898
-
nda::basic_array::operator*=
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
Definition basic_array.hpp:1007
+
nda::basic_array::cend
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
Definition basic_array.hpp:955
+
nda::basic_array::shape
auto const & shape() const noexcept
Get the shape of the view/array.
Definition basic_array.hpp:664
+
nda::basic_array::size
long size() const noexcept
Get the total size of the view/array.
Definition basic_array.hpp:676
+
nda::basic_array::operator[]
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
Definition basic_array.hpp:900
+
nda::basic_array::operator*=
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
Definition basic_array.hpp:1009
nda::basic_array::operator=
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
nda::basic_array::zeros
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
Definition basic_array.hpp:402
-
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
Definition basic_array.hpp:851
-
nda::basic_array::indexmap
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
Definition basic_array.hpp:618
-
nda::basic_array::end
iterator end() noexcept
Get an iterator to the end of the view/array.
Definition basic_array.hpp:956
-
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
Definition basic_array.hpp:741
+
nda::basic_array::operator()
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
Definition basic_array.hpp:853
+
nda::basic_array::indexmap
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
Definition basic_array.hpp:620
+
nda::basic_array::end
iterator end() noexcept
Get an iterator to the end of the view/array.
Definition basic_array.hpp:958
+
nda::basic_array::operator()
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
Definition basic_array.hpp:743
nda::basic_array::rand
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Definition basic_array.hpp:463
CUSOLVER_CHECK
#define CUSOLVER_CHECK(X, info,...)
Definition cusolver_interface.cpp:59
NDA_RUNTIME_ERROR
#define NDA_RUNTIME_ERROR
Definition exceptions.hpp:32
diff --git a/docs/unstable/basic__array_8hpp_source.html b/docs/unstable/basic__array_8hpp_source.html index 9f7e0aa4..b7d05a90 100644 --- a/docs/unstable/basic__array_8hpp_source.html +++ b/docs/unstable/basic__array_8hpp_source.html @@ -612,815 +612,817 @@
465 {
466 using namespace std::complex_literals;
467 auto static gen = std::mt19937(std::random_device{}());
-
468 auto static dist = std::uniform_real_distribution<>(0.0, 1.0);
-
469 auto res = basic_array{shape};
-
470 if constexpr (nda::is_complex_v<ValueType>)
+
468 auto res = basic_array{shape};
+
469 if constexpr (nda::is_complex_v<ValueType>) {
+
470 auto static dist = std::uniform_real_distribution<typename ValueType::value_type>(0.0, 1.0);
471 for (auto &x : res) x = dist(gen) + 1i * dist(gen);
-
472 else
-
473 for (auto &x : res) x = dist(gen);
-
474 return res;
-
475 }
+
472 } else {
+
473 auto static dist = std::uniform_real_distribution<ValueType>(0.0, 1.0);
+
474 for (auto &x : res) x = dist(gen);
+
475 }
+
476 return res;
+
477 }
-
476
-
477 /**
-
478 * @brief Make a random-initialized array with the given dimensions.
-
479 *
-
480 * @details The random values are take from a uniform distribution over [0, 1). For a complex array, both real and
-
481 * imaginary parts are initialized with random values.
-
482 *
-
483 * @tparam Ints Integer types.
-
484 * @param is Extent (number of elements) along each dimension.
-
485 * @return Random-initialized array.
-
486 */
-
487 template <std::integral... Ints>
-
-
488 static basic_array rand(Ints... is)
-
489 requires(sizeof...(Ints) == Rank)
-
490 {
-
491 return rand(std::array<long, Rank>{is...});
-
492 }
+
478
+
479 /**
+
480 * @brief Make a random-initialized array with the given dimensions.
+
481 *
+
482 * @details The random values are take from a uniform distribution over [0, 1). For a complex array, both real and
+
483 * imaginary parts are initialized with random values.
+
484 *
+
485 * @tparam Ints Integer types.
+
486 * @param is Extent (number of elements) along each dimension.
+
487 * @return Random-initialized array.
+
488 */
+
489 template <std::integral... Ints>
+
+
490 static basic_array rand(Ints... is)
+
491 requires(sizeof...(Ints) == Rank)
+
492 {
+
493 return rand(std::array<long, Rank>{is...});
+
494 }
-
493
-
494 /// Default move assignment moves the memory handle and layout from the right hand side array.
-
495 basic_array &operator=(basic_array &&) = default;
-
496
-
497 /// Default copy assignment copies the memory handle and layout from the right hand side array.
-
498 basic_array &operator=(basic_array const &) = default;
-
499
-
500 /**
-
501 * @brief Assignment operator makes a deep copy of another array with a different algebra and/or container policy.
-
502 *
-
503 * @details A new array object is constructed from the right hand side array and then moved into the current array.
-
504 * This will invalidate all references/views to the existing storage.
-
505 *
-
506 * @tparam A Algebra of the other array.
-
507 * @tparam CP Container policy of the other array.
-
508 * @param rhs Right hand side of the assignment operation.
-
509 */
-
510 template <char A, typename CP>
-
-
511 basic_array &operator=(basic_array<ValueType, Rank, LayoutPolicy, A, CP> const &rhs) {
-
512 *this = basic_array{rhs};
-
513 return *this;
-
514 }
+
495
+
496 /// Default move assignment moves the memory handle and layout from the right hand side array.
+ +
498
+
499 /// Default copy assignment copies the memory handle and layout from the right hand side array.
+
500 basic_array &operator=(basic_array const &) = default;
+
501
+
502 /**
+
503 * @brief Assignment operator makes a deep copy of another array with a different algebra and/or container policy.
+
504 *
+
505 * @details A new array object is constructed from the right hand side array and then moved into the current array.
+
506 * This will invalidate all references/views to the existing storage.
+
507 *
+
508 * @tparam A Algebra of the other array.
+
509 * @tparam CP Container policy of the other array.
+
510 * @param rhs Right hand side of the assignment operation.
+
511 */
+
512 template <char A, typename CP>
+
+
513 basic_array &operator=(basic_array<ValueType, Rank, LayoutPolicy, A, CP> const &rhs) {
+
514 *this = basic_array{rhs};
+
515 return *this;
+
516 }
-
515
-
516 /**
-
517 * @brief Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
518 *
-
519 * @details The array is first resized to the shape of the right hand side and the elements are copied. This might
-
520 * invalidate all references/views to the existing storage.
-
521 *
-
522 * @tparam RHS nda::ArrayOfRank type.
-
523 * @param rhs Right hand side of the assignment operation.
-
524 */
-
525 template <ArrayOfRank<Rank> RHS>
-
-
526 basic_array &operator=(RHS const &rhs) {
-
527 resize(rhs.shape());
-
528 assign_from_ndarray(rhs);
-
529 return *this;
-
530 }
+
517
+
518 /**
+
519 * @brief Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
520 *
+
521 * @details The array is first resized to the shape of the right hand side and the elements are copied. This might
+
522 * invalidate all references/views to the existing storage.
+
523 *
+
524 * @tparam RHS nda::ArrayOfRank type.
+
525 * @param rhs Right hand side of the assignment operation.
+
526 */
+
527 template <ArrayOfRank<Rank> RHS>
+
+
528 basic_array &operator=(RHS const &rhs) {
+
529 resize(rhs.shape());
+
530 assign_from_ndarray(rhs);
+
531 return *this;
+
532 }
-
531
-
532 /**
-
533 * @brief Assignment operator assigns a scalar to the array.
-
534 *
-
535 * @details The behavior depends on the algebra of the array:
-
536 * - 'A' (array) and 'V' (vector): The scalar is assigned to all elements of the array.
-
537 * - 'M' (matrix): The scalar is assigned to the diagonal elements of the shorter dimension.
-
538 *
-
539 * @tparam RHS Type of the scalar.
-
540 * @param rhs Right hand side of the assignment operation.
-
541 */
-
542 template <typename RHS>
-
-
543 basic_array &operator=(RHS const &rhs) noexcept
-
544 requires(is_scalar_for_v<RHS, basic_array>)
-
545 {
-
546 assign_from_scalar(rhs);
-
547 return *this;
-
548 }
+
533
+
534 /**
+
535 * @brief Assignment operator assigns a scalar to the array.
+
536 *
+
537 * @details The behavior depends on the algebra of the array:
+
538 * - 'A' (array) and 'V' (vector): The scalar is assigned to all elements of the array.
+
539 * - 'M' (matrix): The scalar is assigned to the diagonal elements of the shorter dimension.
+
540 *
+
541 * @tparam RHS Type of the scalar.
+
542 * @param rhs Right hand side of the assignment operation.
+
543 */
+
544 template <typename RHS>
+
+
545 basic_array &operator=(RHS const &rhs) noexcept
+
546 requires(is_scalar_for_v<RHS, basic_array>)
+
547 {
+
548 assign_from_scalar(rhs);
+
549 return *this;
+
550 }
-
549
-
550 /**
-
551 * @brief Assignment operator uses an nda::ArrayInitializer to assign to the array.
-
552 *
-
553 * @details The array is resized to the shape of the initializer. This might invalidate all references/views to the
-
554 * existing storage.
-
555 *
-
556 * @tparam Initializer nda::ArrayInitializer type.
-
557 * @param initializer Initializer object.
-
558 */
-
559 template <ArrayInitializer<basic_array> Initializer>
-
-
560 basic_array &operator=(Initializer const &initializer) {
-
561 resize(initializer.shape());
-
562 initializer.invoke(*this);
-
563 return *this;
-
564 }
+
551
+
552 /**
+
553 * @brief Assignment operator uses an nda::ArrayInitializer to assign to the array.
+
554 *
+
555 * @details The array is resized to the shape of the initializer. This might invalidate all references/views to the
+
556 * existing storage.
+
557 *
+
558 * @tparam Initializer nda::ArrayInitializer type.
+
559 * @param initializer Initializer object.
+
560 */
+
561 template <ArrayInitializer<basic_array> Initializer>
+
+
562 basic_array &operator=(Initializer const &initializer) {
+
563 resize(initializer.shape());
+
564 initializer.invoke(*this);
+
565 return *this;
+
566 }
-
565
-
566 /**
-
567 * @brief Resize the array to a new shape.
-
568 *
-
569 * @details Resizing is only performed if the storage is not null and if the new size is different from the previous
-
570 * size. If resizing is performed, the content of the resulting array is undefined since it makes no copy of the
-
571 * previous data and all references/views to the existing storage will be invalidated.
-
572 *
-
573 * @tparam Ints Integer types.
-
574 * @param is New extent (number of elements) along each dimension.
-
575 */
-
576 template <std::integral... Ints>
-
-
577 void resize(Ints const &...is) {
-
578 static_assert(std::is_copy_constructible_v<ValueType>, "Error in nda::basic_array: Resizing requires the value_type to be copy constructible");
-
579 static_assert(sizeof...(is) == Rank, "Error in nda::basic_array: Resizing requires exactly Rank arguments");
-
580 resize(std::array<long, Rank>{long(is)...});
-
581 }
+
567
+
568 /**
+
569 * @brief Resize the array to a new shape.
+
570 *
+
571 * @details Resizing is only performed if the storage is not null and if the new size is different from the previous
+
572 * size. If resizing is performed, the content of the resulting array is undefined since it makes no copy of the
+
573 * previous data and all references/views to the existing storage will be invalidated.
+
574 *
+
575 * @tparam Ints Integer types.
+
576 * @param is New extent (number of elements) along each dimension.
+
577 */
+
578 template <std::integral... Ints>
+
+
579 void resize(Ints const &...is) {
+
580 static_assert(std::is_copy_constructible_v<ValueType>, "Error in nda::basic_array: Resizing requires the value_type to be copy constructible");
+
581 static_assert(sizeof...(is) == Rank, "Error in nda::basic_array: Resizing requires exactly Rank arguments");
+
582 resize(std::array<long, Rank>{long(is)...});
+
583 }
-
582
-
583 /**
-
584 * @brief Resize the array to a new shape.
-
585 *
-
586 * @details Resizing is only performed if the storage is not null and if the new size is different from the previous
-
587 * size. If resizing is performed, the content of the resulting array is undefined since it makes no copy of the
-
588 * previous data and all references/views to the existing storage will be invalidated.
-
589 *
-
590 * @param shape New shape of the array.
-
591 */
-
-
592 [[gnu::noinline]] void resize(std::array<long, Rank> const &shape) {
-
593 lay = layout_t(shape);
-
594 if (sto.is_null() or (sto.size() != lay.size())) sto = storage_t{lay.size()};
-
595 }
+
584
+
585 /**
+
586 * @brief Resize the array to a new shape.
+
587 *
+
588 * @details Resizing is only performed if the storage is not null and if the new size is different from the previous
+
589 * size. If resizing is performed, the content of the resulting array is undefined since it makes no copy of the
+
590 * previous data and all references/views to the existing storage will be invalidated.
+
591 *
+
592 * @param shape New shape of the array.
+
593 */
+
+
594 [[gnu::noinline]] void resize(std::array<long, Rank> const &shape) {
+
595 lay = layout_t(shape);
+
596 if (sto.is_null() or (sto.size() != lay.size())) sto = storage_t{lay.size()};
+
597 }
-
596
-
597// include common functionality of arrays and views
-
598// Copyright (c) 2019-2024 Simons Foundation
-
599//
-
600// Licensed under the Apache License, Version 2.0 (the "License");
-
601// you may not use this file except in compliance with the License.
-
602// You may obtain a copy of the License at
-
603//
-
604// http://www.apache.org/licenses/LICENSE-2.0.txt
+
598
+
599// include common functionality of arrays and views
+
600// Copyright (c) 2019-2024 Simons Foundation
+
601//
+
602// Licensed under the Apache License, Version 2.0 (the "License");
+
603// you may not use this file except in compliance with the License.
+
604// You may obtain a copy of the License at
605//
-
606// Unless required by applicable law or agreed to in writing, software
-
607// distributed under the License is distributed on an "AS IS" BASIS,
-
608// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
609// See the License for the specific language governing permissions and
-
610// limitations under the License.
-
611//
-
612// Authors: Thomas Hahn, Miguel Morales, Olivier Parcollet, Nils Wentzell
-
613
-
614/**
-
615 * @brief Get the memory layout of the view/array.
-
616 * @return nda::idx_map specifying the layout of the view/array.
-
617 */
-
618[[nodiscard]] constexpr auto const &indexmap() const noexcept { return lay; }
-
619
-
620/**
-
621 * @brief Get the data storage of the view/array.
-
622 * @return A const reference to the memory handle of the view/array.
-
623 */
-
624[[nodiscard]] storage_t const &storage() const & noexcept { return sto; }
-
625
-
626/**
-
627 * @brief Get the data storage of the view/array.
-
628 * @return A reference to the memory handle of the view/array.
-
629 */
-
630[[nodiscard]] storage_t &storage() & noexcept { return sto; }
-
631
-
632/**
-
633 * @brief Get the data storage of the view/array.
-
634 * @return A copy of the memory handle of the view/array.
-
635 */
-
636[[nodiscard]] storage_t storage() && noexcept { return std::move(sto); }
-
637
-
638/**
-
639 * @brief Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how we
-
640 * define stride orders).
-
641 *
-
642 * @return `std::array<int, Rank>` object specifying the stride order.
-
643 */
-
644[[nodiscard]] constexpr auto stride_order() const noexcept { return lay.stride_order; }
-
645
-
646/**
-
647 * @brief Get a pointer to the actual data (in general this is not the beginning of the memory block for a view).
-
648 * @return Const pointer to the first element of the view/array.
-
649 */
-
650[[nodiscard]] ValueType const *data() const noexcept { return sto.data(); }
-
651
-
652/**
-
653 * @brief Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view).
-
654 * @return Pointer to the first element of the view/array.
-
655 */
-
656[[nodiscard]] ValueType *data() noexcept { return sto.data(); }
-
657
-
658/**
-
659 * @brief Get the shape of the view/array.
-
660 * @return `std::array<long, Rank>` object specifying the shape of the view/array.
-
661 */
-
662[[nodiscard]] auto const &shape() const noexcept { return lay.lengths(); }
-
663
-
664/**
-
665 * @brief Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
-
666 * @return `std::array<long, Rank>` object specifying the strides of the view/array.
-
667 */
-
668[[nodiscard]] auto const &strides() const noexcept { return lay.strides(); }
-
669
-
670/**
-
671 * @brief Get the total size of the view/array.
-
672 * @return Number of elements contained in the view/array.
-
673 */
-
674[[nodiscard]] long size() const noexcept { return lay.size(); }
-
675
-
676/**
-
677 * @brief Is the memory layout of the view/array contiguous?
-
678 * @return True if the nda::idx_map is contiguous, false otherwise.
-
679 */
-
680[[nodiscard]] long is_contiguous() const noexcept { return lay.is_contiguous(); }
-
681
-
682/**
-
683 * @brief Are all the strides of the memory layout of the view/array positive?
-
684 * @return True if the nda::idx_map has positive strides, false otherwise.
-
685 */
-
686[[nodiscard]] long has_positive_strides() const noexcept { return lay.has_positive_strides(); }
-
687
-
688/**
-
689 * @brief Is the view/array empty?
-
690 * @return True if the view/array does not contain any elements.
-
691 */
-
692[[nodiscard]] bool empty() const { return sto.is_null(); }
-
693
-
694/// @deprecated Use empty() instead.
-
695[[nodiscard]] bool is_empty() const noexcept { return sto.is_null(); }
-
696
-
697/**
-
698 * @brief Get the extent of the i<sup>th</sup> dimension.
-
699 * @return Number of elements along the i<sup>th</sup> dimension.
-
700 */
-
-
701[[nodiscard]] long extent(int i) const noexcept {
-
702#ifdef NDA_ENFORCE_BOUNDCHECK
-
703 if (i < 0 || i >= rank) {
-
704 std::cerr << "Error in extent: Dimension " << i << " is incompatible with array of rank " << rank << std::endl;
-
705 std::terminate();
-
706 }
-
707#endif
-
708 return lay.lengths()[i];
-
709}
+
606// http://www.apache.org/licenses/LICENSE-2.0.txt
+
607//
+
608// Unless required by applicable law or agreed to in writing, software
+
609// distributed under the License is distributed on an "AS IS" BASIS,
+
610// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
611// See the License for the specific language governing permissions and
+
612// limitations under the License.
+
613//
+
614// Authors: Thomas Hahn, Miguel Morales, Olivier Parcollet, Nils Wentzell
+
615
+
616/**
+
617 * @brief Get the memory layout of the view/array.
+
618 * @return nda::idx_map specifying the layout of the view/array.
+
619 */
+
620[[nodiscard]] constexpr auto const &indexmap() const noexcept { return lay; }
+
621
+
622/**
+
623 * @brief Get the data storage of the view/array.
+
624 * @return A const reference to the memory handle of the view/array.
+
625 */
+
626[[nodiscard]] storage_t const &storage() const & noexcept { return sto; }
+
627
+
628/**
+
629 * @brief Get the data storage of the view/array.
+
630 * @return A reference to the memory handle of the view/array.
+
631 */
+
632[[nodiscard]] storage_t &storage() & noexcept { return sto; }
+
633
+
634/**
+
635 * @brief Get the data storage of the view/array.
+
636 * @return A copy of the memory handle of the view/array.
+
637 */
+
638[[nodiscard]] storage_t storage() && noexcept { return std::move(sto); }
+
639
+
640/**
+
641 * @brief Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how we
+
642 * define stride orders).
+
643 *
+
644 * @return `std::array<int, Rank>` object specifying the stride order.
+
645 */
+
646[[nodiscard]] constexpr auto stride_order() const noexcept { return lay.stride_order; }
+
647
+
648/**
+
649 * @brief Get a pointer to the actual data (in general this is not the beginning of the memory block for a view).
+
650 * @return Const pointer to the first element of the view/array.
+
651 */
+
652[[nodiscard]] ValueType const *data() const noexcept { return sto.data(); }
+
653
+
654/**
+
655 * @brief Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view).
+
656 * @return Pointer to the first element of the view/array.
+
657 */
+
658[[nodiscard]] ValueType *data() noexcept { return sto.data(); }
+
659
+
660/**
+
661 * @brief Get the shape of the view/array.
+
662 * @return `std::array<long, Rank>` object specifying the shape of the view/array.
+
663 */
+
664[[nodiscard]] auto const &shape() const noexcept { return lay.lengths(); }
+
665
+
666/**
+
667 * @brief Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
668 * @return `std::array<long, Rank>` object specifying the strides of the view/array.
+
669 */
+
670[[nodiscard]] auto const &strides() const noexcept { return lay.strides(); }
+
671
+
672/**
+
673 * @brief Get the total size of the view/array.
+
674 * @return Number of elements contained in the view/array.
+
675 */
+
676[[nodiscard]] long size() const noexcept { return lay.size(); }
+
677
+
678/**
+
679 * @brief Is the memory layout of the view/array contiguous?
+
680 * @return True if the nda::idx_map is contiguous, false otherwise.
+
681 */
+
682[[nodiscard]] long is_contiguous() const noexcept { return lay.is_contiguous(); }
+
683
+
684/**
+
685 * @brief Are all the strides of the memory layout of the view/array positive?
+
686 * @return True if the nda::idx_map has positive strides, false otherwise.
+
687 */
+
688[[nodiscard]] long has_positive_strides() const noexcept { return lay.has_positive_strides(); }
+
689
+
690/**
+
691 * @brief Is the view/array empty?
+
692 * @return True if the view/array does not contain any elements.
+
693 */
+
694[[nodiscard]] bool empty() const { return sto.is_null(); }
+
695
+
696/// @deprecated Use empty() instead.
+
697[[nodiscard]] bool is_empty() const noexcept { return sto.is_null(); }
+
698
+
699/**
+
700 * @brief Get the extent of the i<sup>th</sup> dimension.
+
701 * @return Number of elements along the i<sup>th</sup> dimension.
+
702 */
+
+
703[[nodiscard]] long extent(int i) const noexcept {
+
704#ifdef NDA_ENFORCE_BOUNDCHECK
+
705 if (i < 0 || i >= rank) {
+
706 std::cerr << "Error in extent: Dimension " << i << " is incompatible with array of rank " << rank << std::endl;
+
707 std::terminate();
+
708 }
+
709#endif
+
710 return lay.lengths()[i];
+
711}
-
710
-
711/// @deprecated Use `extent(i)` or `shape()[i]` instead.
-
712[[nodiscard]] long shape(int i) const noexcept { return extent(i); }
-
713
-
714/**
-
715 * @brief Get a range that generates all valid index tuples.
-
716 * @return An `itertools::multiplied` range that can be used to iterate over all valid index tuples.
-
717 */
-
718[[nodiscard]] auto indices() const noexcept { return itertools::product_range(shape()); }
-
719
-
720/**
-
721 * @brief Is the stride order of the view/array in C-order?
-
722 * @return True if the stride order of the nda::idx_map is C-order, false otherwise.
-
723 */
-
724static constexpr bool is_stride_order_C() noexcept { return layout_t::is_stride_order_C(); }
-
725
-
726/**
-
727 * @brief Is the stride order of the view/array in Fortran-order?
-
728 * @return True if the stride order of the nda::idx_map is Fortran-order, false otherwise.
-
729 */
-
730static constexpr bool is_stride_order_Fortran() noexcept { return layout_t::is_stride_order_Fortran(); }
-
731
-
732/**
-
733 * @brief Access the element of the view/array at the given nda::_linear_index_t.
-
734 *
-
735 * @details The linear index specifies the position of the element in the view/array and not the position of the
-
736 * element w.r.t. to the data pointer (i.e. any possible strides should not be taken into account).
-
737 *
-
738 * @param idx nda::_linear_index_t object.
-
739 * @return Const reference to the element at the given linear index.
-
740 */
-
-
741decltype(auto) operator()(_linear_index_t idx) const noexcept {
-
742 if constexpr (layout_t::layout_prop == layout_prop_e::strided_1d)
-
743 return sto[idx.value * lay.min_stride()];
-
744 else if constexpr (layout_t::layout_prop == layout_prop_e::contiguous)
-
745 return sto[idx.value];
-
746 else
-
747 static_assert(always_false<layout_t>, "Internal error in array/view: Calling this type with a _linear_index_t is not allowed");
-
748}
+
712
+
713/// @deprecated Use `extent(i)` or `shape()[i]` instead.
+
714[[nodiscard]] long shape(int i) const noexcept { return extent(i); }
+
715
+
716/**
+
717 * @brief Get a range that generates all valid index tuples.
+
718 * @return An `itertools::multiplied` range that can be used to iterate over all valid index tuples.
+
719 */
+
720[[nodiscard]] auto indices() const noexcept { return itertools::product_range(shape()); }
+
721
+
722/**
+
723 * @brief Is the stride order of the view/array in C-order?
+
724 * @return True if the stride order of the nda::idx_map is C-order, false otherwise.
+
725 */
+
726static constexpr bool is_stride_order_C() noexcept { return layout_t::is_stride_order_C(); }
+
727
+
728/**
+
729 * @brief Is the stride order of the view/array in Fortran-order?
+
730 * @return True if the stride order of the nda::idx_map is Fortran-order, false otherwise.
+
731 */
+
732static constexpr bool is_stride_order_Fortran() noexcept { return layout_t::is_stride_order_Fortran(); }
+
733
+
734/**
+
735 * @brief Access the element of the view/array at the given nda::_linear_index_t.
+
736 *
+
737 * @details The linear index specifies the position of the element in the view/array and not the position of the
+
738 * element w.r.t. to the data pointer (i.e. any possible strides should not be taken into account).
+
739 *
+
740 * @param idx nda::_linear_index_t object.
+
741 * @return Const reference to the element at the given linear index.
+
742 */
+
+
743decltype(auto) operator()(_linear_index_t idx) const noexcept {
+
744 if constexpr (layout_t::layout_prop == layout_prop_e::strided_1d)
+
745 return sto[idx.value * lay.min_stride()];
+
746 else if constexpr (layout_t::layout_prop == layout_prop_e::contiguous)
+
747 return sto[idx.value];
+
748 else
+
749 static_assert(always_false<layout_t>, "Internal error in array/view: Calling this type with a _linear_index_t is not allowed");
+
750}
-
749
-
750/// Non-const overload of @ref nda::basic_array_view::operator()(_linear_index_t) const.
-
-
751decltype(auto) operator()(_linear_index_t idx) noexcept {
-
752 if constexpr (layout_t::layout_prop == layout_prop_e::strided_1d)
-
753 return sto[idx.value * lay.min_stride()];
-
754 else if constexpr (layout_t::layout_prop == layout_prop_e::contiguous)
-
755 return sto[idx.value];
-
756 else
-
757 static_assert(always_false<layout_t>, "Internal error in array/view: Calling this type with a _linear_index_t is not allowed");
-
758}
+
751
+
752/// Non-const overload of @ref nda::basic_array_view::operator()(_linear_index_t) const.
+
+
753decltype(auto) operator()(_linear_index_t idx) noexcept {
+
754 if constexpr (layout_t::layout_prop == layout_prop_e::strided_1d)
+
755 return sto[idx.value * lay.min_stride()];
+
756 else if constexpr (layout_t::layout_prop == layout_prop_e::contiguous)
+
757 return sto[idx.value];
+
758 else
+
759 static_assert(always_false<layout_t>, "Internal error in array/view: Calling this type with a _linear_index_t is not allowed");
+
760}
-
759
-
760private:
-
761// Constexpr variable that is true if bounds checking is disabled.
-
762#ifdef NDA_ENFORCE_BOUNDCHECK
-
763static constexpr bool has_no_boundcheck = false;
-
764#else
-
765static constexpr bool has_no_boundcheck = true;
-
766#endif
-
767
-
768public:
-
769/**
-
770 * @brief Implementation of the function call operator.
-
771 *
-
772 * @details This function is an implementation detail an should be private. Since the Green's function library in
-
773 * TRIQS uses this function, it is kept public (for now).
-
774 *
-
775 * @tparam ResultAlgebra Algebra of the resulting view/array.
-
776 * @tparam SelfIsRvalue True if the view/array is an rvalue.
-
777 * @tparam Self Type of the calling view/array.
-
778 * @tparam T Types of the arguments.
-
779 *
-
780 * @param self Calling view.
-
781 * @param idxs Multi-dimensional index consisting of `long`, `nda::range`, `nda::range::all_t`, nda::ellipsis or lazy
-
782 * arguments.
-
783 * @return Result of the function call depending on the given arguments and type of the view/array.
-
784 */
-
785template <char ResultAlgebra, bool SelfIsRvalue, typename Self, typename... Ts>
-
-
786FORCEINLINE static decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck) {
-
787 // resulting value type
-
788 using r_v_t = std::conditional_t<std::is_const_v<std::remove_reference_t<Self>>, ValueType const, ValueType>;
-
789
-
790 // behavior depends on the given arguments
-
791 if constexpr (clef::is_any_lazy<Ts...>) {
-
792 // if there are lazy arguments, e.g. as in A(i_) << i_, a lazy expression is returned
-
793 return clef::make_expr_call(std::forward<Self>(self), idxs...);
-
794 } else if constexpr (sizeof...(Ts) == 0) {
-
795 // if no arguments are given, a full view is returned
-
796 return basic_array_view<r_v_t, Rank, LayoutPolicy, Algebra, AccessorPolicy, OwningPolicy>{self.lay, self.sto};
-
797 } else {
-
798 // otherwise we check the arguments and either access a single element or make a slice
-
799 static_assert(((layout_t::template argument_is_allowed_for_call_or_slice<Ts> + ...) > 0),
-
800 "Error in array/view: Slice arguments must be convertible to range, ellipsis, or long (or string if the layout permits it)");
-
801
-
802 // number of arguments convertible to long
-
803 static constexpr int n_args_long = (layout_t::template argument_is_allowed_for_call<Ts> + ...);
-
804
-
805 if constexpr (n_args_long == rank) {
-
806 // access a single element
-
807 long offset = self.lay(idxs...);
-
808 if constexpr (is_view or not SelfIsRvalue) {
-
809 // if the calling object is a view or an lvalue, we return a reference
-
810 return AccessorPolicy::template accessor<r_v_t>::access(self.sto.data(), offset);
-
811 } else {
-
812 // otherwise, we return a copy of the value
-
813 return ValueType{self.sto[offset]};
-
814 }
-
815 } else {
-
816 // access a slice of the view/array
-
817 auto const [offset, idxm] = self.lay.slice(idxs...);
-
818 static constexpr auto res_rank = decltype(idxm)::rank();
-
819 // resulting algebra
-
820 static constexpr char newAlgebra = (ResultAlgebra == 'M' and (res_rank == 1) ? 'V' : ResultAlgebra);
-
821 // resulting layout policy
-
822 using r_layout_p = typename detail::layout_to_policy<std::decay_t<decltype(idxm)>>::type;
-
823 return basic_array_view<r_v_t, res_rank, r_layout_p, newAlgebra, AccessorPolicy, OwningPolicy>{std::move(idxm), {self.sto, offset}};
-
824 }
-
825 }
-
826}
+
761
+
762private:
+
763// Constexpr variable that is true if bounds checking is disabled.
+
764#ifdef NDA_ENFORCE_BOUNDCHECK
+
765static constexpr bool has_no_boundcheck = false;
+
766#else
+
767static constexpr bool has_no_boundcheck = true;
+
768#endif
+
769
+
770public:
+
771/**
+
772 * @brief Implementation of the function call operator.
+
773 *
+
774 * @details This function is an implementation detail an should be private. Since the Green's function library in
+
775 * TRIQS uses this function, it is kept public (for now).
+
776 *
+
777 * @tparam ResultAlgebra Algebra of the resulting view/array.
+
778 * @tparam SelfIsRvalue True if the view/array is an rvalue.
+
779 * @tparam Self Type of the calling view/array.
+
780 * @tparam T Types of the arguments.
+
781 *
+
782 * @param self Calling view.
+
783 * @param idxs Multi-dimensional index consisting of `long`, `nda::range`, `nda::range::all_t`, nda::ellipsis or lazy
+
784 * arguments.
+
785 * @return Result of the function call depending on the given arguments and type of the view/array.
+
786 */
+
787template <char ResultAlgebra, bool SelfIsRvalue, typename Self, typename... Ts>
+
+
788FORCEINLINE static decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck) {
+
789 // resulting value type
+
790 using r_v_t = std::conditional_t<std::is_const_v<std::remove_reference_t<Self>>, ValueType const, ValueType>;
+
791
+
792 // behavior depends on the given arguments
+
793 if constexpr (clef::is_any_lazy<Ts...>) {
+
794 // if there are lazy arguments, e.g. as in A(i_) << i_, a lazy expression is returned
+
795 return clef::make_expr_call(std::forward<Self>(self), idxs...);
+
796 } else if constexpr (sizeof...(Ts) == 0) {
+
797 // if no arguments are given, a full view is returned
+
798 return basic_array_view<r_v_t, Rank, LayoutPolicy, Algebra, AccessorPolicy, OwningPolicy>{self.lay, self.sto};
+
799 } else {
+
800 // otherwise we check the arguments and either access a single element or make a slice
+
801 static_assert(((layout_t::template argument_is_allowed_for_call_or_slice<Ts> + ...) > 0),
+
802 "Error in array/view: Slice arguments must be convertible to range, ellipsis, or long (or string if the layout permits it)");
+
803
+
804 // number of arguments convertible to long
+
805 static constexpr int n_args_long = (layout_t::template argument_is_allowed_for_call<Ts> + ...);
+
806
+
807 if constexpr (n_args_long == rank) {
+
808 // access a single element
+
809 long offset = self.lay(idxs...);
+
810 if constexpr (is_view or not SelfIsRvalue) {
+
811 // if the calling object is a view or an lvalue, we return a reference
+
812 return AccessorPolicy::template accessor<r_v_t>::access(self.sto.data(), offset);
+
813 } else {
+
814 // otherwise, we return a copy of the value
+
815 return ValueType{self.sto[offset]};
+
816 }
+
817 } else {
+
818 // access a slice of the view/array
+
819 auto const [offset, idxm] = self.lay.slice(idxs...);
+
820 static constexpr auto res_rank = decltype(idxm)::rank();
+
821 // resulting algebra
+
822 static constexpr char newAlgebra = (ResultAlgebra == 'M' and (res_rank == 1) ? 'V' : ResultAlgebra);
+
823 // resulting layout policy
+
824 using r_layout_p = typename detail::layout_to_policy<std::decay_t<decltype(idxm)>>::type;
+
825 return basic_array_view<r_v_t, res_rank, r_layout_p, newAlgebra, AccessorPolicy, OwningPolicy>{std::move(idxm), {self.sto, offset}};
+
826 }
+
827 }
+
828}
-
827
-
828public:
-
829/**
-
830 * @brief Function call operator to access the view/array.
-
831 *
-
832 * @details Depending on the type of the calling object and the given arguments, this function call does the following:
-
833 * - If any of the arguments is lazy, an nda::clef::expr with the nda::clef::tags::function tag is returned.
-
834 * - If no arguments are given, a full view of the calling object is returned:
-
835 * - If the calling object itself or its value type is const, a view with a const value type is returned.
-
836 * - Otherwise, a view with a non-const value type is returned.
-
837 * - If the number of arguments is equal to the rank of the calling object and all arguments are convertible to `long`,
-
838 * a single element is accessed:
-
839 * - If the calling object is a view or an lvalue, a (const) reference to the element is returned.
-
840 * - Otherwise, a copy of the element is returned.
-
841 * - Otherwise a slice of the calling object is returned with the same value type and accessor and owning policies as
-
842 * the calling object. The algebra of the slice is the same as well, except if a 1-dimensional slice of a matrix is
-
843 * taken. In this case, the algebra is changed to 'V'.
-
844 *
-
845 * @tparam Ts Types of the function arguments.
-
846 * @param idxs Multi-dimensional index consisting of `long`, `nda::range`, `nda::range::all_t`, nda::ellipsis or lazy
-
847 * arguments.
-
848 * @return Result of the function call depending on the given arguments and type of the view/array.
-
849 */
-
850template <typename... Ts>
-
-
851FORCEINLINE decltype(auto) operator()(Ts const &...idxs) const & noexcept(has_no_boundcheck) {
-
852 static_assert((rank == -1) or (sizeof...(Ts) == rank) or (sizeof...(Ts) == 0) or (ellipsis_is_present<Ts...> and (sizeof...(Ts) <= rank + 1)),
-
853 "Error in array/view: Incorrect number of parameters in call operator");
-
854 return call<Algebra, false>(*this, idxs...);
-
855}
+
829
+
830public:
+
831/**
+
832 * @brief Function call operator to access the view/array.
+
833 *
+
834 * @details Depending on the type of the calling object and the given arguments, this function call does the following:
+
835 * - If any of the arguments is lazy, an nda::clef::expr with the nda::clef::tags::function tag is returned.
+
836 * - If no arguments are given, a full view of the calling object is returned:
+
837 * - If the calling object itself or its value type is const, a view with a const value type is returned.
+
838 * - Otherwise, a view with a non-const value type is returned.
+
839 * - If the number of arguments is equal to the rank of the calling object and all arguments are convertible to `long`,
+
840 * a single element is accessed:
+
841 * - If the calling object is a view or an lvalue, a (const) reference to the element is returned.
+
842 * - Otherwise, a copy of the element is returned.
+
843 * - Otherwise a slice of the calling object is returned with the same value type and accessor and owning policies as
+
844 * the calling object. The algebra of the slice is the same as well, except if a 1-dimensional slice of a matrix is
+
845 * taken. In this case, the algebra is changed to 'V'.
+
846 *
+
847 * @tparam Ts Types of the function arguments.
+
848 * @param idxs Multi-dimensional index consisting of `long`, `nda::range`, `nda::range::all_t`, nda::ellipsis or lazy
+
849 * arguments.
+
850 * @return Result of the function call depending on the given arguments and type of the view/array.
+
851 */
+
852template <typename... Ts>
+
+
853FORCEINLINE decltype(auto) operator()(Ts const &...idxs) const & noexcept(has_no_boundcheck) {
+
854 static_assert((rank == -1) or (sizeof...(Ts) == rank) or (sizeof...(Ts) == 0) or (ellipsis_is_present<Ts...> and (sizeof...(Ts) <= rank + 1)),
+
855 "Error in array/view: Incorrect number of parameters in call operator");
+
856 return call<Algebra, false>(*this, idxs...);
+
857}
-
856
-
857/// Non-const overload of `nda::basic_array_view::operator()(Ts const &...) const &`.
-
858template <typename... Ts>
-
-
859FORCEINLINE decltype(auto) operator()(Ts const &...idxs) & noexcept(has_no_boundcheck) {
-
860 static_assert((rank == -1) or (sizeof...(Ts) == rank) or (sizeof...(Ts) == 0) or (ellipsis_is_present<Ts...> and (sizeof...(Ts) <= rank + 1)),
-
861 "Error in array/view: Incorrect number of parameters in call operator");
-
862 return call<Algebra, false>(*this, idxs...);
-
863}
+
858
+
859/// Non-const overload of `nda::basic_array_view::operator()(Ts const &...) const &`.
+
860template <typename... Ts>
+
+
861FORCEINLINE decltype(auto) operator()(Ts const &...idxs) & noexcept(has_no_boundcheck) {
+
862 static_assert((rank == -1) or (sizeof...(Ts) == rank) or (sizeof...(Ts) == 0) or (ellipsis_is_present<Ts...> and (sizeof...(Ts) <= rank + 1)),
+
863 "Error in array/view: Incorrect number of parameters in call operator");
+
864 return call<Algebra, false>(*this, idxs...);
+
865}
-
864
-
865/// Rvalue overload of `nda::basic_array_view::operator()(Ts const &...) const &`.
-
866template <typename... Ts>
-
-
867FORCEINLINE decltype(auto) operator()(Ts const &...idxs) && noexcept(has_no_boundcheck) {
-
868 static_assert((rank == -1) or (sizeof...(Ts) == rank) or (sizeof...(Ts) == 0) or (ellipsis_is_present<Ts...> and (sizeof...(Ts) <= rank + 1)),
-
869 "Error in array/view: Incorrect number of parameters in call operator");
-
870 return call<Algebra, true>(*this, idxs...);
-
871}
+
866
+
867/// Rvalue overload of `nda::basic_array_view::operator()(Ts const &...) const &`.
+
868template <typename... Ts>
+
+
869FORCEINLINE decltype(auto) operator()(Ts const &...idxs) && noexcept(has_no_boundcheck) {
+
870 static_assert((rank == -1) or (sizeof...(Ts) == rank) or (sizeof...(Ts) == 0) or (ellipsis_is_present<Ts...> and (sizeof...(Ts) <= rank + 1)),
+
871 "Error in array/view: Incorrect number of parameters in call operator");
+
872 return call<Algebra, true>(*this, idxs...);
+
873}
-
872
-
873/**
-
874 * @brief Subscript operator to access the 1-dimensional view/array.
-
875 *
-
876 * @details Depending on the type of the calling object and the given argument, this subscript operation does the
-
877 * following:
-
878 * - If the argument is lazy, an nda::clef::expr with the nda::clef::tags::function tag is returned.
-
879 * - If the argument is convertible to `long`, a single element is accessed:
-
880 * - If the calling object is a view or an lvalue, a (const) reference to the element is returned.
-
881 * - Otherwise, a copy of the element is returned.
-
882 * - Otherwise a slice of the calling object is returned with the same value type, algebra and accessor and owning
-
883 * policies as the calling object.
-
884 *
-
885 * @tparam T Type of the argument.
-
886 * @param idx 1-dimensional index that is either a `long`, `nda::range`, `nda::range::all_t`, nda::ellipsis or a lazy
-
887 * argument.
-
888 * @return Result of the subscript operation depending on the given argument and type of the view/array.
-
889 */
-
890template <typename T>
-
-
891decltype(auto) operator[](T const &idx) const & noexcept(has_no_boundcheck) {
-
892 static_assert((rank == 1), "Error in array/view: Subscript operator is only available for rank 1 views/arrays in C++17/20");
-
893 return call<Algebra, false>(*this, idx);
-
894}
+
874
+
875/**
+
876 * @brief Subscript operator to access the 1-dimensional view/array.
+
877 *
+
878 * @details Depending on the type of the calling object and the given argument, this subscript operation does the
+
879 * following:
+
880 * - If the argument is lazy, an nda::clef::expr with the nda::clef::tags::function tag is returned.
+
881 * - If the argument is convertible to `long`, a single element is accessed:
+
882 * - If the calling object is a view or an lvalue, a (const) reference to the element is returned.
+
883 * - Otherwise, a copy of the element is returned.
+
884 * - Otherwise a slice of the calling object is returned with the same value type, algebra and accessor and owning
+
885 * policies as the calling object.
+
886 *
+
887 * @tparam T Type of the argument.
+
888 * @param idx 1-dimensional index that is either a `long`, `nda::range`, `nda::range::all_t`, nda::ellipsis or a lazy
+
889 * argument.
+
890 * @return Result of the subscript operation depending on the given argument and type of the view/array.
+
891 */
+
892template <typename T>
+
+
893decltype(auto) operator[](T const &idx) const & noexcept(has_no_boundcheck) {
+
894 static_assert((rank == 1), "Error in array/view: Subscript operator is only available for rank 1 views/arrays in C++17/20");
+
895 return call<Algebra, false>(*this, idx);
+
896}
-
895
-
896/// Non-const overload of `nda::basic_array_view::operator[](T const &) const &`.
-
897template <typename T>
-
-
898decltype(auto) operator[](T const &x) & noexcept(has_no_boundcheck) {
-
899 static_assert((rank == 1), "Error in array/view: Subscript operator is only available for rank 1 views/arrays in C++17/20");
-
900 return call<Algebra, false>(*this, x);
-
901}
+
897
+
898/// Non-const overload of `nda::basic_array_view::operator[](T const &) const &`.
+
899template <typename T>
+
+
900decltype(auto) operator[](T const &x) & noexcept(has_no_boundcheck) {
+
901 static_assert((rank == 1), "Error in array/view: Subscript operator is only available for rank 1 views/arrays in C++17/20");
+
902 return call<Algebra, false>(*this, x);
+
903}
-
902
-
903/// Rvalue overload of `nda::basic_array_view::operator[](T const &) const &`.
-
904template <typename T>
-
-
905decltype(auto) operator[](T const &x) && noexcept(has_no_boundcheck) {
-
906 static_assert((rank == 1), "Error in array/view: Subscript operator is only available for rank 1 views/arrays in C++17/20");
-
907 return call<Algebra, true>(*this, x);
-
908}
+
904
+
905/// Rvalue overload of `nda::basic_array_view::operator[](T const &) const &`.
+
906template <typename T>
+
+
907decltype(auto) operator[](T const &x) && noexcept(has_no_boundcheck) {
+
908 static_assert((rank == 1), "Error in array/view: Subscript operator is only available for rank 1 views/arrays in C++17/20");
+
909 return call<Algebra, true>(*this, x);
+
910}
-
909
-
910/// Rank of the nda::array_iterator for the view/array.
-
911static constexpr int iterator_rank = (has_strided_1d(layout_t::layout_prop) ? 1 : Rank);
-
912
-
913/// Const iterator type of the view/array.
-
914using const_iterator = array_iterator<iterator_rank, ValueType const, typename AccessorPolicy::template accessor<ValueType>::pointer>;
-
915
-
916/// Iterator type of the view/array.
-
917using iterator = array_iterator<iterator_rank, ValueType, typename AccessorPolicy::template accessor<ValueType>::pointer>;
-
918
-
919private:
-
920// Make an iterator for the view/array depending on its type.
-
921template <typename Iterator>
-
922[[nodiscard]] auto make_iterator(bool at_end) const noexcept {
-
923 if constexpr (iterator_rank == Rank) {
-
924 // multi-dimensional iterator
-
925 if constexpr (layout_t::is_stride_order_C()) {
-
926 // C-order case (array_iterator already traverses the data in C-order)
-
927 return Iterator{indexmap().lengths(), indexmap().strides(), sto.data(), at_end};
-
928 } else {
-
929 // general case (we need to permute the shape and the strides according to the stride order of the layout)
-
930 return Iterator{nda::permutations::apply(layout_t::stride_order, indexmap().lengths()),
-
931 nda::permutations::apply(layout_t::stride_order, indexmap().strides()), sto.data(), at_end};
-
932 }
-
933 } else {
-
934 // 1-dimensional iterator
-
935 return Iterator{std::array<long, 1>{size()}, std::array<long, 1>{indexmap().min_stride()}, sto.data(), at_end};
-
936 }
-
937}
-
938
-
939public:
-
940/// Get a const iterator to the beginning of the view/array.
-
941[[nodiscard]] const_iterator begin() const noexcept { return make_iterator<const_iterator>(false); }
-
942
-
943/// Get a const iterator to the beginning of the view/array.
-
944[[nodiscard]] const_iterator cbegin() const noexcept { return make_iterator<const_iterator>(false); }
-
945
-
946/// Get an iterator to the beginning of the view/array.
-
947iterator begin() noexcept { return make_iterator<iterator>(false); }
-
948
-
949/// Get a const iterator to the end of the view/array.
-
950[[nodiscard]] const_iterator end() const noexcept { return make_iterator<const_iterator>(true); }
-
951
-
952/// Get a const iterator to the end of the view/array.
-
953[[nodiscard]] const_iterator cend() const noexcept { return make_iterator<const_iterator>(true); }
-
954
-
955/// Get an iterator to the end of the view/array.
-
956iterator end() noexcept { return make_iterator<iterator>(true); }
-
957
-
958/**
-
959 * @brief Addition assignment operator.
-
960 *
-
961 * @details It first performs the (lazy) addition with the right hand side operand and then assigns the result to the
-
962 * left hand side view/array.
-
963 *
-
964 * See nda::operator+(L &&, R &&) and nda::operator+(A &&, S &&) for more details.
+
911
+
912/// Rank of the nda::array_iterator for the view/array.
+
913static constexpr int iterator_rank = (has_strided_1d(layout_t::layout_prop) ? 1 : Rank);
+
914
+
915/// Const iterator type of the view/array.
+
916using const_iterator = array_iterator<iterator_rank, ValueType const, typename AccessorPolicy::template accessor<ValueType>::pointer>;
+
917
+
918/// Iterator type of the view/array.
+
919using iterator = array_iterator<iterator_rank, ValueType, typename AccessorPolicy::template accessor<ValueType>::pointer>;
+
920
+
921private:
+
922// Make an iterator for the view/array depending on its type.
+
923template <typename Iterator>
+
924[[nodiscard]] auto make_iterator(bool at_end) const noexcept {
+
925 if constexpr (iterator_rank == Rank) {
+
926 // multi-dimensional iterator
+
927 if constexpr (layout_t::is_stride_order_C()) {
+
928 // C-order case (array_iterator already traverses the data in C-order)
+
929 return Iterator{indexmap().lengths(), indexmap().strides(), sto.data(), at_end};
+
930 } else {
+
931 // general case (we need to permute the shape and the strides according to the stride order of the layout)
+
932 return Iterator{nda::permutations::apply(layout_t::stride_order, indexmap().lengths()),
+
933 nda::permutations::apply(layout_t::stride_order, indexmap().strides()), sto.data(), at_end};
+
934 }
+
935 } else {
+
936 // 1-dimensional iterator
+
937 return Iterator{std::array<long, 1>{size()}, std::array<long, 1>{indexmap().min_stride()}, sto.data(), at_end};
+
938 }
+
939}
+
940
+
941public:
+
942/// Get a const iterator to the beginning of the view/array.
+
943[[nodiscard]] const_iterator begin() const noexcept { return make_iterator<const_iterator>(false); }
+
944
+
945/// Get a const iterator to the beginning of the view/array.
+
946[[nodiscard]] const_iterator cbegin() const noexcept { return make_iterator<const_iterator>(false); }
+
947
+
948/// Get an iterator to the beginning of the view/array.
+
949iterator begin() noexcept { return make_iterator<iterator>(false); }
+
950
+
951/// Get a const iterator to the end of the view/array.
+
952[[nodiscard]] const_iterator end() const noexcept { return make_iterator<const_iterator>(true); }
+
953
+
954/// Get a const iterator to the end of the view/array.
+
955[[nodiscard]] const_iterator cend() const noexcept { return make_iterator<const_iterator>(true); }
+
956
+
957/// Get an iterator to the end of the view/array.
+
958iterator end() noexcept { return make_iterator<iterator>(true); }
+
959
+
960/**
+
961 * @brief Addition assignment operator.
+
962 *
+
963 * @details It first performs the (lazy) addition with the right hand side operand and then assigns the result to the
+
964 * left hand side view/array.
965 *
-
966 * @tparam RHS nda::Scalar or nda::Array type.
-
967 * @param rhs Right hand side operand of the addition assignment operation.
-
968 * @return Reference to this object.
-
969 */
-
970template <typename RHS>
-
-
971auto &operator+=(RHS const &rhs) noexcept {
-
972 static_assert(not is_const, "Error in array/view: Can not assign to a const view");
-
973 return operator=(*this + rhs);
-
974}
+
966 * See nda::operator+(L &&, R &&) and nda::operator+(A &&, S &&) for more details.
+
967 *
+
968 * @tparam RHS nda::Scalar or nda::Array type.
+
969 * @param rhs Right hand side operand of the addition assignment operation.
+
970 * @return Reference to this object.
+
971 */
+
972template <typename RHS>
+
+
973auto &operator+=(RHS const &rhs) noexcept {
+
974 static_assert(not is_const, "Error in array/view: Can not assign to a const view");
+
975 return operator=(*this + rhs);
+
976}
-
975
-
976/**
-
977 * @brief Subtraction assignment operator.
-
978 *
-
979 * @details It first performs the (lazy) subtraction with the right hand side operand and then assigns the result to
-
980 * the left hand side view/array.
-
981 *
-
982 * See nda::operator-(L &&, R &&) and nda::operator-(A &&, S &&) for more details.
+
977
+
978/**
+
979 * @brief Subtraction assignment operator.
+
980 *
+
981 * @details It first performs the (lazy) subtraction with the right hand side operand and then assigns the result to
+
982 * the left hand side view/array.
983 *
-
984 * @tparam RHS nda::Scalar or nda::Array type.
-
985 * @param rhs Right hand side operand of the subtraction assignment operation.
-
986 * @return Reference to this object.
-
987 */
-
988template <typename RHS>
-
-
989auto &operator-=(RHS const &rhs) noexcept {
-
990 static_assert(not is_const, "Error in array/view: Can not assign to a const view");
-
991 return operator=(*this - rhs);
-
992}
+
984 * See nda::operator-(L &&, R &&) and nda::operator-(A &&, S &&) for more details.
+
985 *
+
986 * @tparam RHS nda::Scalar or nda::Array type.
+
987 * @param rhs Right hand side operand of the subtraction assignment operation.
+
988 * @return Reference to this object.
+
989 */
+
990template <typename RHS>
+
+
991auto &operator-=(RHS const &rhs) noexcept {
+
992 static_assert(not is_const, "Error in array/view: Can not assign to a const view");
+
993 return operator=(*this - rhs);
+
994}
-
993
-
994/**
-
995 * @brief Multiplication assignment operator.
-
996 *
-
997 * @details It first performs the (lazy) multiplication with the right hand side operand and then assigns the result
-
998 * to the left hand side view/array.
-
999 *
-
1000 * See nda::operator*(L &&, R &&) and nda::operator*(A &&, S &&) for more details.
+
995
+
996/**
+
997 * @brief Multiplication assignment operator.
+
998 *
+
999 * @details It first performs the (lazy) multiplication with the right hand side operand and then assigns the result
+
1000 * to the left hand side view/array.
1001 *
-
1002 * @tparam RHS nda::Scalar or nda::Array type.
-
1003 * @param rhs Right hand side operand of the multiplication assignment operation.
-
1004 * @return Reference to this object.
-
1005 */
-
1006template <typename RHS>
-
-
1007auto &operator*=(RHS const &rhs) noexcept {
-
1008 static_assert(not is_const, "Error in array/view: Can not assign to a const view");
-
1009 return operator=((*this) * rhs);
-
1010}
+
1002 * See nda::operator*(L &&, R &&) and nda::operator*(A &&, S &&) for more details.
+
1003 *
+
1004 * @tparam RHS nda::Scalar or nda::Array type.
+
1005 * @param rhs Right hand side operand of the multiplication assignment operation.
+
1006 * @return Reference to this object.
+
1007 */
+
1008template <typename RHS>
+
+
1009auto &operator*=(RHS const &rhs) noexcept {
+
1010 static_assert(not is_const, "Error in array/view: Can not assign to a const view");
+
1011 return operator=((*this) * rhs);
+
1012}
-
1011
-
1012/**
-
1013 * @brief Division assignment operator.
-
1014 *
-
1015 * @details It first performs the (lazy) division with the right hand side operand and then assigns the result to the
-
1016 * left hand side view/array.
-
1017 *
-
1018 * See nda::operator/(L &&, R &&) and nda::operator/(A &&, S &&) for more details.
+
1013
+
1014/**
+
1015 * @brief Division assignment operator.
+
1016 *
+
1017 * @details It first performs the (lazy) division with the right hand side operand and then assigns the result to the
+
1018 * left hand side view/array.
1019 *
-
1020 * @tparam RHS nda::Scalar or nda::Array type.
-
1021 * @param rhs Right hand side operand of the division assignment operation.
-
1022 * @return Reference to this object.
-
1023 */
-
1024template <typename RHS>
-
-
1025auto &operator/=(RHS const &rhs) noexcept {
-
1026 static_assert(not is_const, "Error in array/view: Can not assign to a const view");
-
1027 return operator=(*this / rhs);
-
1028}
+
1020 * See nda::operator/(L &&, R &&) and nda::operator/(A &&, S &&) for more details.
+
1021 *
+
1022 * @tparam RHS nda::Scalar or nda::Array type.
+
1023 * @param rhs Right hand side operand of the division assignment operation.
+
1024 * @return Reference to this object.
+
1025 */
+
1026template <typename RHS>
+
+
1027auto &operator/=(RHS const &rhs) noexcept {
+
1028 static_assert(not is_const, "Error in array/view: Can not assign to a const view");
+
1029 return operator=(*this / rhs);
+
1030}
-
1029
-
1030/**
-
1031 * @brief Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimensional
-
1032 * view/array.
-
1033 *
-
1034 * @tparam R Range type.
-
1035 * @param rhs Right hand side range object.
-
1036 * @return Reference to this object.
-
1037 */
-
1038template <std::ranges::contiguous_range R>
-
-
1039auto &operator=(R const &rhs) noexcept
-
1040 requires(Rank == 1 and not MemoryArray<R> and not is_scalar_for_v<R, self_t>)
-
1041{
-
1042 *this = array_const_view<std::ranges::range_value_t<R>, 1>{rhs};
-
1043 return *this;
-
1044}
+
1031
+
1032/**
+
1033 * @brief Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimensional
+
1034 * view/array.
+
1035 *
+
1036 * @tparam R Range type.
+
1037 * @param rhs Right hand side range object.
+
1038 * @return Reference to this object.
+
1039 */
+
1040template <std::ranges::contiguous_range R>
+
+
1041auto &operator=(R const &rhs) noexcept
+
1042 requires(Rank == 1 and not MemoryArray<R> and not is_scalar_for_v<R, self_t>)
+
1043{
+
1044 *this = array_const_view<std::ranges::range_value_t<R>, 1>{rhs};
+
1045 return *this;
+
1046}
-
1045
-
1046private:
-
1047// Implementation of the assignment from an n-dimensional array type.
-
1048template <typename RHS>
-
1049void assign_from_ndarray(RHS const &rhs) { // FIXME noexcept {
-
1050#ifdef NDA_ENFORCE_BOUNDCHECK
-
1051 if (this->shape() != rhs.shape())
-
1052 NDA_RUNTIME_ERROR << "Error in assign_from_ndarray: Size mismatch:"
-
1053 << "\n LHS.shape() = " << this->shape() << "\n RHS.shape() = " << rhs.shape();
-
1054#endif
-
1055 // compile-time check if assignment is possible
-
1056 static_assert(std::is_assignable_v<value_type &, get_value_t<RHS>>, "Error in assign_from_ndarray: Incompatible value types");
-
1057
-
1058 // are both operands nda::MemoryArray types?
-
1059 static constexpr bool both_in_memory = MemoryArray<self_t> and MemoryArray<RHS>;
-
1060
-
1061 // do both operands have the same stride order?
-
1062 static constexpr bool same_stride_order = get_layout_info<self_t>.stride_order == get_layout_info<RHS>.stride_order;
-
1063
-
1064 // prefer optimized options if possible
-
1065 if constexpr (both_in_memory and same_stride_order) {
-
1066 if (rhs.empty()) return;
-
1067 // are both operands strided in 1d?
-
1068 static constexpr bool both_1d_strided = has_layout_strided_1d<self_t> and has_layout_strided_1d<RHS>;
-
1069 if constexpr (mem::on_host<self_t, RHS> and both_1d_strided) {
-
1070 // vectorizable copy on host
-
1071 for (long i = 0; i < size(); ++i) (*this)(_linear_index_t{i}) = rhs(_linear_index_t{i});
-
1072 return;
-
1073 } else if constexpr (!mem::on_host<self_t, RHS> and have_same_value_type_v<self_t, RHS>) {
-
1074 // check for block-layout and use mem::memcpy2D if possible
-
1075 auto bl_layout_dst = get_block_layout(*this);
-
1076 auto bl_layout_src = get_block_layout(rhs);
-
1077 if (bl_layout_dst && bl_layout_src) {
-
1078 auto [n_bl_dst, bl_size_dst, bl_str_dst] = *bl_layout_dst;
-
1079 auto [n_bl_src, bl_size_src, bl_str_src] = *bl_layout_src;
-
1080 // check that the total memory size is the same
-
1081 if (n_bl_dst * bl_size_dst != n_bl_src * bl_size_src) NDA_RUNTIME_ERROR << "Error in assign_from_ndarray: Incompatible block sizes";
-
1082 // if either destination or source consists of a single block, we can chunk it up to make the layouts compatible
-
1083 if (n_bl_dst == 1 && n_bl_src > 1) {
-
1084 n_bl_dst = n_bl_src;
-
1085 bl_size_dst /= n_bl_src;
-
1086 bl_str_dst = bl_size_dst;
-
1087 }
-
1088 if (n_bl_src == 1 && n_bl_dst > 1) {
-
1089 n_bl_src = n_bl_dst;
-
1090 bl_size_src /= n_bl_dst;
-
1091 bl_str_src = bl_size_src;
-
1092 }
-
1093 // copy only if block-layouts are compatible, otherwise continue to fallback
-
1094 if (n_bl_dst == n_bl_src && bl_size_dst == bl_size_src) {
-
1095 mem::memcpy2D<mem::get_addr_space<self_t>, mem::get_addr_space<RHS>>((void *)data(), bl_str_dst * sizeof(value_type), (void *)rhs.data(),
-
1096 bl_str_src * sizeof(value_type), bl_size_src * sizeof(value_type),
-
1097 n_bl_src);
-
1098 return;
-
1099 }
-
1100 }
-
1101 }
-
1102 }
-
1103 // otherwise fallback to elementwise assignment
-
1104 if constexpr (mem::on_device<self_t> || mem::on_device<RHS>) {
-
1105 NDA_RUNTIME_ERROR << "Error in assign_from_ndarray: Fallback to elementwise assignment not implemented for arrays/views on the GPU";
-
1106 }
-
1107 nda::for_each(shape(), [this, &rhs](auto const &...args) { (*this)(args...) = rhs(args...); });
-
1108}
-
1109
-
1110// Implementation to fill a view/array with a constant scalar value.
-
1111template <typename Scalar>
-
1112void fill_with_scalar(Scalar const &scalar) noexcept {
-
1113 // we make a special implementation if the array is strided in 1d or contiguous
-
1114 if constexpr (has_layout_strided_1d<self_t>) {
-
1115 const long L = size();
-
1116 auto *__restrict const p = data(); // no alias possible here!
-
1117 if constexpr (has_contiguous_layout<self_t>) {
-
1118 for (long i = 0; i < L; ++i) p[i] = scalar;
-
1119 } else {
-
1120 const long stri = indexmap().min_stride();
-
1121 const long Lstri = L * stri;
-
1122 for (long i = 0; i != Lstri; i += stri) p[i] = scalar;
-
1123 }
-
1124 } else {
-
1125 // no compile-time memory layout guarantees
-
1126 for (auto &x : *this) x = scalar;
-
1127 }
-
1128}
-
1129
-
1130// Implementation of the assignment from a scalar value.
-
1131template <typename Scalar>
-
1132void assign_from_scalar(Scalar const &scalar) noexcept {
-
1133 static_assert(!is_const, "Error in assign_from_ndarray: Cannot assign to a const view");
-
1134 if constexpr (Algebra != 'M') {
-
1135 // element-wise assignment for non-matrix algebras
-
1136 fill_with_scalar(scalar);
-
1137 } else {
-
1138 // a scalar has to be interpreted as a unit matrix for matrix algebras (the scalar in the shortest diagonal)
-
1139 // FIXME : A priori faster to put 0 everywhere and then change the diag to avoid the if.
-
1140 // FIXME : Benchmark and confirm.
-
1141 if constexpr (is_scalar_or_convertible_v<Scalar>)
-
1142 fill_with_scalar(0);
-
1143 else
-
1144 fill_with_scalar(Scalar{0 * scalar}); // FIXME : improve this
-
1145 const long imax = std::min(extent(0), extent(1));
-
1146 for (long i = 0; i < imax; ++i) operator()(i, i) = scalar;
-
1147 }
-
1148}
-
1149 };
+
1047
+
1048private:
+
1049// Implementation of the assignment from an n-dimensional array type.
+
1050template <typename RHS>
+
1051void assign_from_ndarray(RHS const &rhs) { // FIXME noexcept {
+
1052#ifdef NDA_ENFORCE_BOUNDCHECK
+
1053 if (this->shape() != rhs.shape())
+
1054 NDA_RUNTIME_ERROR << "Error in assign_from_ndarray: Size mismatch:"
+
1055 << "\n LHS.shape() = " << this->shape() << "\n RHS.shape() = " << rhs.shape();
+
1056#endif
+
1057 // compile-time check if assignment is possible
+
1058 static_assert(std::is_assignable_v<value_type &, get_value_t<RHS>>, "Error in assign_from_ndarray: Incompatible value types");
+
1059
+
1060 // are both operands nda::MemoryArray types?
+
1061 static constexpr bool both_in_memory = MemoryArray<self_t> and MemoryArray<RHS>;
+
1062
+
1063 // do both operands have the same stride order?
+
1064 static constexpr bool same_stride_order = get_layout_info<self_t>.stride_order == get_layout_info<RHS>.stride_order;
+
1065
+
1066 // prefer optimized options if possible
+
1067 if constexpr (both_in_memory and same_stride_order) {
+
1068 if (rhs.empty()) return;
+
1069 // are both operands strided in 1d?
+
1070 static constexpr bool both_1d_strided = has_layout_strided_1d<self_t> and has_layout_strided_1d<RHS>;
+
1071 if constexpr (mem::on_host<self_t, RHS> and both_1d_strided) {
+
1072 // vectorizable copy on host
+
1073 for (long i = 0; i < size(); ++i) (*this)(_linear_index_t{i}) = rhs(_linear_index_t{i});
+
1074 return;
+
1075 } else if constexpr (!mem::on_host<self_t, RHS> and have_same_value_type_v<self_t, RHS>) {
+
1076 // check for block-layout and use mem::memcpy2D if possible
+
1077 auto bl_layout_dst = get_block_layout(*this);
+
1078 auto bl_layout_src = get_block_layout(rhs);
+
1079 if (bl_layout_dst && bl_layout_src) {
+
1080 auto [n_bl_dst, bl_size_dst, bl_str_dst] = *bl_layout_dst;
+
1081 auto [n_bl_src, bl_size_src, bl_str_src] = *bl_layout_src;
+
1082 // check that the total memory size is the same
+
1083 if (n_bl_dst * bl_size_dst != n_bl_src * bl_size_src) NDA_RUNTIME_ERROR << "Error in assign_from_ndarray: Incompatible block sizes";
+
1084 // if either destination or source consists of a single block, we can chunk it up to make the layouts compatible
+
1085 if (n_bl_dst == 1 && n_bl_src > 1) {
+
1086 n_bl_dst = n_bl_src;
+
1087 bl_size_dst /= n_bl_src;
+
1088 bl_str_dst = bl_size_dst;
+
1089 }
+
1090 if (n_bl_src == 1 && n_bl_dst > 1) {
+
1091 n_bl_src = n_bl_dst;
+
1092 bl_size_src /= n_bl_dst;
+
1093 bl_str_src = bl_size_src;
+
1094 }
+
1095 // copy only if block-layouts are compatible, otherwise continue to fallback
+
1096 if (n_bl_dst == n_bl_src && bl_size_dst == bl_size_src) {
+
1097 mem::memcpy2D<mem::get_addr_space<self_t>, mem::get_addr_space<RHS>>((void *)data(), bl_str_dst * sizeof(value_type), (void *)rhs.data(),
+
1098 bl_str_src * sizeof(value_type), bl_size_src * sizeof(value_type),
+
1099 n_bl_src);
+
1100 return;
+
1101 }
+
1102 }
+
1103 }
+
1104 }
+
1105 // otherwise fallback to elementwise assignment
+
1106 if constexpr (mem::on_device<self_t> || mem::on_device<RHS>) {
+
1107 NDA_RUNTIME_ERROR << "Error in assign_from_ndarray: Fallback to elementwise assignment not implemented for arrays/views on the GPU";
+
1108 }
+
1109 nda::for_each(shape(), [this, &rhs](auto const &...args) { (*this)(args...) = rhs(args...); });
+
1110}
+
1111
+
1112// Implementation to fill a view/array with a constant scalar value.
+
1113template <typename Scalar>
+
1114void fill_with_scalar(Scalar const &scalar) noexcept {
+
1115 // we make a special implementation if the array is strided in 1d or contiguous
+
1116 if constexpr (has_layout_strided_1d<self_t>) {
+
1117 const long L = size();
+
1118 auto *__restrict const p = data(); // no alias possible here!
+
1119 if constexpr (has_contiguous_layout<self_t>) {
+
1120 for (long i = 0; i < L; ++i) p[i] = scalar;
+
1121 } else {
+
1122 const long stri = indexmap().min_stride();
+
1123 const long Lstri = L * stri;
+
1124 for (long i = 0; i != Lstri; i += stri) p[i] = scalar;
+
1125 }
+
1126 } else {
+
1127 // no compile-time memory layout guarantees
+
1128 for (auto &x : *this) x = scalar;
+
1129 }
+
1130}
+
1131
+
1132// Implementation of the assignment from a scalar value.
+
1133template <typename Scalar>
+
1134void assign_from_scalar(Scalar const &scalar) noexcept {
+
1135 static_assert(!is_const, "Error in assign_from_ndarray: Cannot assign to a const view");
+
1136 if constexpr (Algebra != 'M') {
+
1137 // element-wise assignment for non-matrix algebras
+
1138 fill_with_scalar(scalar);
+
1139 } else {
+
1140 // a scalar has to be interpreted as a unit matrix for matrix algebras (the scalar in the shortest diagonal)
+
1141 // FIXME : A priori faster to put 0 everywhere and then change the diag to avoid the if.
+
1142 // FIXME : Benchmark and confirm.
+
1143 if constexpr (is_scalar_or_convertible_v<Scalar>)
+
1144 fill_with_scalar(0);
+
1145 else
+
1146 fill_with_scalar(Scalar{0 * scalar}); // FIXME : improve this
+
1147 const long imax = std::min(extent(0), extent(1));
+
1148 for (long i = 0; i < imax; ++i) operator()(i, i) = scalar;
+
1149 }
+
1150}
+
1151 };
-
1150
-
1151 // Class template argument deduction guides.
-
1152 template <MemoryArray A>
-
1153 basic_array(A &&a) -> basic_array<get_value_t<A>, get_rank<A>, get_contiguous_layout_policy<get_rank<A>, get_layout_info<A>.stride_order>,
-
1154 get_algebra<A>, heap<mem::get_addr_space<A>>>;
-
1155
-
1156 template <Array A>
-
1157 basic_array(A &&a) -> basic_array<get_value_t<A>, get_rank<A>, C_layout, get_algebra<A>, heap<>>;
-
1158
-
1159} // namespace nda
+
1152
+
1153 // Class template argument deduction guides.
+
1154 template <MemoryArray A>
+
1155 basic_array(A &&a) -> basic_array<get_value_t<A>, get_rank<A>, get_contiguous_layout_policy<get_rank<A>, get_layout_info<A>.stride_order>,
+
1156 get_algebra<A>, heap<mem::get_addr_space<A>>>;
+
1157
+
1158 template <Array A>
+
1159 basic_array(A &&a) -> basic_array<get_value_t<A>, get_rank<A>, C_layout, get_algebra<A>, heap<>>;
+
1160
+
1161} // namespace nda
Iterator for nda::basic_array and nda::basic_array_view types.
A generic view of a multi-dimensional array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
#define CUSOLVER_CHECK(X, info,...)
#define NDA_RUNTIME_ERROR
diff --git a/docs/unstable/basic__array__view_8hpp_source.html b/docs/unstable/basic__array__view_8hpp_source.html index 14e3669c..da95d0d6 100644 --- a/docs/unstable/basic__array__view_8hpp_source.html +++ b/docs/unstable/basic__array__view_8hpp_source.html @@ -1209,74 +1209,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
#define CUSOLVER_CHECK(X, info,...)
#define NDA_RUNTIME_ERROR
diff --git a/docs/unstable/basic__functions_8hpp_source.html b/docs/unstable/basic__functions_8hpp_source.html index 89d9d154..6d80cefe 100644 --- a/docs/unstable/basic__functions_8hpp_source.html +++ b/docs/unstable/basic__functions_8hpp_source.html @@ -865,74 +865,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
#define CUSOLVER_CHECK(X, info,...)
#define NDA_RUNTIME_ERROR
diff --git a/docs/unstable/classnda_1_1basic__array.html b/docs/unstable/classnda_1_1basic__array.html index 2b25d380..98f9823e 100644 --- a/docs/unstable/classnda_1_1basic__array.html +++ b/docs/unstable/classnda_1_1basic__array.html @@ -1125,7 +1125,7 @@

Returns
Result of the function call depending on the given arguments and type of the view/array.
-

Definition at line 786 of file basic_array.hpp.

+

Definition at line 788 of file basic_array.hpp.

@@ -1157,7 +1157,7 @@

Returns
Const pointer to the first element of the view/array.
-

Definition at line 650 of file basic_array.hpp.

+

Definition at line 652 of file basic_array.hpp.

@@ -1189,7 +1189,7 @@

Returns
Pointer to the first element of the view/array.
-

Definition at line 656 of file basic_array.hpp.

+

Definition at line 658 of file basic_array.hpp.

@@ -1221,7 +1221,7 @@

Returns
True if the view/array does not contain any elements.
-

Definition at line 692 of file basic_array.hpp.

+

Definition at line 694 of file basic_array.hpp.

@@ -1253,7 +1253,7 @@

Returns
Number of elements along the ith dimension.
-

Definition at line 701 of file basic_array.hpp.

+

Definition at line 703 of file basic_array.hpp.

@@ -1285,7 +1285,7 @@

Returns
True if the nda::idx_map has positive strides, false otherwise.
-

Definition at line 686 of file basic_array.hpp.

+

Definition at line 688 of file basic_array.hpp.

@@ -1317,7 +1317,7 @@

Returns
nda::idx_map specifying the layout of the view/array.
-

Definition at line 618 of file basic_array.hpp.

+

Definition at line 620 of file basic_array.hpp.

@@ -1349,7 +1349,7 @@

Returns
An itertools::multiplied range that can be used to iterate over all valid index tuples.
-

Definition at line 718 of file basic_array.hpp.

+

Definition at line 720 of file basic_array.hpp.

@@ -1381,7 +1381,7 @@

Returns
True if the nda::idx_map is contiguous, false otherwise.
-

Definition at line 680 of file basic_array.hpp.

+

Definition at line 682 of file basic_array.hpp.

@@ -1411,7 +1411,7 @@

Deprecated
Use empty() instead.
-

Definition at line 695 of file basic_array.hpp.

+

Definition at line 697 of file basic_array.hpp.

@@ -1443,7 +1443,7 @@

Returns
True if the stride order of the nda::idx_map is C-order, false otherwise.
-

Definition at line 724 of file basic_array.hpp.

+

Definition at line 726 of file basic_array.hpp.

@@ -1475,7 +1475,7 @@

Returns
True if the stride order of the nda::idx_map is Fortran-order, false otherwise.
-

Definition at line 730 of file basic_array.hpp.

+

Definition at line 732 of file basic_array.hpp.

@@ -1608,7 +1608,7 @@

Returns
Const reference to the element at the given linear index.
-

Definition at line 741 of file basic_array.hpp.

+

Definition at line 743 of file basic_array.hpp.

@@ -1668,7 +1668,7 @@

Returns
Result of the function call depending on the given arguments and type of the view/array.
-

Definition at line 851 of file basic_array.hpp.

+

Definition at line 853 of file basic_array.hpp.

@@ -1716,7 +1716,7 @@

Returns
Reference to this object.
-

Definition at line 1007 of file basic_array.hpp.

+

Definition at line 1009 of file basic_array.hpp.

@@ -1764,7 +1764,7 @@

Returns
Reference to this object.
-

Definition at line 971 of file basic_array.hpp.

+

Definition at line 973 of file basic_array.hpp.

@@ -1812,7 +1812,7 @@

Returns
Reference to this object.
-

Definition at line 989 of file basic_array.hpp.

+

Definition at line 991 of file basic_array.hpp.

@@ -1860,7 +1860,7 @@

Returns
Reference to this object.
-

Definition at line 1025 of file basic_array.hpp.

+

Definition at line 1027 of file basic_array.hpp.

@@ -1907,7 +1907,7 @@

Definition at line 511 of file basic_array.hpp.

+

Definition at line 513 of file basic_array.hpp.

@@ -1953,7 +1953,7 @@

Definition at line 560 of file basic_array.hpp.

+

Definition at line 562 of file basic_array.hpp.

@@ -2000,7 +2000,7 @@

Returns
Reference to this object.
-

Definition at line 1039 of file basic_array.hpp.

+

Definition at line 1041 of file basic_array.hpp.

@@ -2046,7 +2046,7 @@

Definition at line 526 of file basic_array.hpp.

+

Definition at line 528 of file basic_array.hpp.

@@ -2096,7 +2096,7 @@

Definition at line 543 of file basic_array.hpp.

+

Definition at line 545 of file basic_array.hpp.

@@ -2151,7 +2151,7 @@

Returns
Result of the subscript operation depending on the given argument and type of the view/array.
-

Definition at line 891 of file basic_array.hpp.

+

Definition at line 893 of file basic_array.hpp.

@@ -2199,7 +2199,7 @@

Returns
Random-initialized array.
-

Definition at line 488 of file basic_array.hpp.

+

Definition at line 490 of file basic_array.hpp.

@@ -2293,7 +2293,7 @@

Definition at line 577 of file basic_array.hpp.

+

Definition at line 579 of file basic_array.hpp.

@@ -2331,7 +2331,7 @@

Definition at line 592 of file basic_array.hpp.

+

Definition at line 594 of file basic_array.hpp.

@@ -2363,7 +2363,7 @@

Returns
std::array<long, Rank> object specifying the shape of the view/array.
-

Definition at line 662 of file basic_array.hpp.

+

Definition at line 664 of file basic_array.hpp.

@@ -2393,7 +2393,7 @@

Deprecated
Use extent(i) or shape()[i] instead.
-

Definition at line 712 of file basic_array.hpp.

+

Definition at line 714 of file basic_array.hpp.

@@ -2425,7 +2425,7 @@

Returns
Number of elements contained in the view/array.
-

Definition at line 674 of file basic_array.hpp.

+

Definition at line 676 of file basic_array.hpp.

@@ -2457,7 +2457,7 @@

Returns
A copy of the memory handle of the view/array.
-

Definition at line 636 of file basic_array.hpp.

+

Definition at line 638 of file basic_array.hpp.

@@ -2489,7 +2489,7 @@

Returns
A reference to the memory handle of the view/array.
-

Definition at line 630 of file basic_array.hpp.

+

Definition at line 632 of file basic_array.hpp.

@@ -2521,7 +2521,7 @@

Returns
A const reference to the memory handle of the view/array.
-

Definition at line 624 of file basic_array.hpp.

+

Definition at line 626 of file basic_array.hpp.

@@ -2553,7 +2553,7 @@

nda::idx_map for more details on how we define stride orders).

Returns
std::array<int, Rank> object specifying the stride order.
-

Definition at line 644 of file basic_array.hpp.

+

Definition at line 646 of file basic_array.hpp.

@@ -2585,7 +2585,7 @@

nda::idx_map for more details on how we define strides).

Returns
std::array<long, Rank> object specifying the strides of the view/array.
-

Definition at line 668 of file basic_array.hpp.

+

Definition at line 670 of file basic_array.hpp.

diff --git a/docs/unstable/clef_2clef_8hpp_source.html b/docs/unstable/clef_2clef_8hpp_source.html index 09ac453a..83c5eea0 100644 --- a/docs/unstable/clef_2clef_8hpp_source.html +++ b/docs/unstable/clef_2clef_8hpp_source.html @@ -205,74 +205,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
#define CUSOLVER_CHECK(X, info,...)
#define NDA_RUNTIME_ERROR
diff --git a/docs/unstable/clef_8hpp_source.html b/docs/unstable/clef_8hpp_source.html index 3a8e18c2..da29ae60 100644 --- a/docs/unstable/clef_8hpp_source.html +++ b/docs/unstable/clef_8hpp_source.html @@ -202,74 +202,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517
diff --git a/docs/unstable/declarations_8hpp_source.html b/docs/unstable/declarations_8hpp_source.html index 062c453e..fa166b4d 100644 --- a/docs/unstable/declarations_8hpp_source.html +++ b/docs/unstable/declarations_8hpp_source.html @@ -591,74 +591,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
#define CUSOLVER_CHECK(X, info,...)
diff --git a/docs/unstable/eigenelements_8hpp_source.html b/docs/unstable/eigenelements_8hpp_source.html index 4d50768e..65498910 100644 --- a/docs/unstable/eigenelements_8hpp_source.html +++ b/docs/unstable/eigenelements_8hpp_source.html @@ -258,7 +258,7 @@
139 /** @} */
140
141} // namespace nda::linalg
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
#define NDA_RUNTIME_ERROR
constexpr auto hadamard(nda::Scalar auto a, nda::Scalar auto b)
Hadamard product of two arithmetic types.
auto eigenvalues(M const &m)
Find the eigenvalues of a symmetric (real) or hermitian (complex) matrix/view.
diff --git a/docs/unstable/eval_8hpp_source.html b/docs/unstable/eval_8hpp_source.html index 16c35833..25acd37b 100644 --- a/docs/unstable/eval_8hpp_source.html +++ b/docs/unstable/eval_8hpp_source.html @@ -392,74 +392,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
#define CUSOLVER_CHECK(X, info,...)
#define NDA_RUNTIME_ERROR
diff --git a/docs/unstable/expression_8hpp_source.html b/docs/unstable/expression_8hpp_source.html index 303db8e0..4a22696c 100644 --- a/docs/unstable/expression_8hpp_source.html +++ b/docs/unstable/expression_8hpp_source.html @@ -331,74 +331,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
#define CUSOLVER_CHECK(X, info,...)
#define NDA_RUNTIME_ERROR
diff --git a/docs/unstable/for__each_8hpp_source.html b/docs/unstable/for__each_8hpp_source.html index b06afd87..05dc07ee 100644 --- a/docs/unstable/for__each_8hpp_source.html +++ b/docs/unstable/for__each_8hpp_source.html @@ -313,74 +313,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517
diff --git a/docs/unstable/function_8hpp_source.html b/docs/unstable/function_8hpp_source.html index b6adfcc3..597a8e75 100644 --- a/docs/unstable/function_8hpp_source.html +++ b/docs/unstable/function_8hpp_source.html @@ -343,74 +343,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
#define CUSOLVER_CHECK(X, info,...)
#define NDA_RUNTIME_ERROR
diff --git a/docs/unstable/gelss_8hpp_source.html b/docs/unstable/gelss_8hpp_source.html index dc45cd88..4c139256 100644 --- a/docs/unstable/gelss_8hpp_source.html +++ b/docs/unstable/gelss_8hpp_source.html @@ -223,7 +223,7 @@
109
110} // namespace nda::lapack
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
#define NDA_RUNTIME_ERROR
constexpr auto hadamard(nda::Scalar auto a, nda::Scalar auto b)
Hadamard product of two arithmetic types.
int gelss(A &&a, B &&b, S &&s, double rcond, int &rank)
Interface to the LAPACK gelss routine.
Definition gelss.hpp:76
diff --git a/docs/unstable/gelss__worker_8hpp_source.html b/docs/unstable/gelss__worker_8hpp_source.html index 79fb97d7..bcbda92c 100644 --- a/docs/unstable/gelss__worker_8hpp_source.html +++ b/docs/unstable/gelss__worker_8hpp_source.html @@ -371,7 +371,7 @@
246 /** @} */
247
248} // namespace nda::lapack
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
Worker class for solving linear least square problems.
array< double, 1 > const & S_vec() const
Get the singular value array.
diff --git a/docs/unstable/geqp3_8hpp_source.html b/docs/unstable/geqp3_8hpp_source.html index a4eea72c..da1524d9 100644 --- a/docs/unstable/geqp3_8hpp_source.html +++ b/docs/unstable/geqp3_8hpp_source.html @@ -210,7 +210,7 @@
96
97} // namespace nda::lapack
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
#define NDA_RUNTIME_ERROR
constexpr auto hadamard(nda::Scalar auto a, nda::Scalar auto b)
Hadamard product of two arithmetic types.
int geqp3(A &&a, JPVT &&jpvt, TAU &&tau)
Interface to the LAPACK geqp3 routine.
Definition geqp3.hpp:67
diff --git a/docs/unstable/group__indices_8hpp_source.html b/docs/unstable/group__indices_8hpp_source.html index 3b34c91e..fe6fa2a3 100644 --- a/docs/unstable/group__indices_8hpp_source.html +++ b/docs/unstable/group__indices_8hpp_source.html @@ -395,74 +395,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517
diff --git a/docs/unstable/handle_8hpp_source.html b/docs/unstable/handle_8hpp_source.html index 398ddf50..aba1fd65 100644 --- a/docs/unstable/handle_8hpp_source.html +++ b/docs/unstable/handle_8hpp_source.html @@ -1190,74 +1190,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517
diff --git a/docs/unstable/idx__map_8hpp_source.html b/docs/unstable/idx__map_8hpp_source.html index 3a4154ac..cab8ce40 100644 --- a/docs/unstable/idx__map_8hpp_source.html +++ b/docs/unstable/idx__map_8hpp_source.html @@ -873,74 +873,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517
diff --git a/docs/unstable/io_8hpp_source.html b/docs/unstable/io_8hpp_source.html index 1a848023..14f658ff 100644 --- a/docs/unstable/io_8hpp_source.html +++ b/docs/unstable/io_8hpp_source.html @@ -453,74 +453,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517
diff --git a/docs/unstable/iterators_8hpp_source.html b/docs/unstable/iterators_8hpp_source.html index 64dd4a68..f01ffa41 100644 --- a/docs/unstable/iterators_8hpp_source.html +++ b/docs/unstable/iterators_8hpp_source.html @@ -773,74 +773,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517
diff --git a/docs/unstable/layout_2policies_8hpp_source.html b/docs/unstable/layout_2policies_8hpp_source.html index 3504bc26..1f14986b 100644 --- a/docs/unstable/layout_2policies_8hpp_source.html +++ b/docs/unstable/layout_2policies_8hpp_source.html @@ -372,74 +372,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517
diff --git a/docs/unstable/layout__transforms_8hpp_source.html b/docs/unstable/layout__transforms_8hpp_source.html index 4af33e6e..2ac1083f 100644 --- a/docs/unstable/layout__transforms_8hpp_source.html +++ b/docs/unstable/layout__transforms_8hpp_source.html @@ -512,74 +512,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517
diff --git a/docs/unstable/literals_8hpp_source.html b/docs/unstable/literals_8hpp_source.html index e93c052d..1fee602e 100644 --- a/docs/unstable/literals_8hpp_source.html +++ b/docs/unstable/literals_8hpp_source.html @@ -247,74 +247,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517
diff --git a/docs/unstable/make__lazy_8hpp_source.html b/docs/unstable/make__lazy_8hpp_source.html index a25087e0..d8f544a7 100644 --- a/docs/unstable/make__lazy_8hpp_source.html +++ b/docs/unstable/make__lazy_8hpp_source.html @@ -331,74 +331,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
#define CUSOLVER_CHECK(X, info,...)
#define NDA_RUNTIME_ERROR
diff --git a/docs/unstable/malloc_8hpp_source.html b/docs/unstable/malloc_8hpp_source.html index eb4f8848..b3d9f1bd 100644 --- a/docs/unstable/malloc_8hpp_source.html +++ b/docs/unstable/malloc_8hpp_source.html @@ -265,74 +265,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517
diff --git a/docs/unstable/math_8hpp_source.html b/docs/unstable/math_8hpp_source.html index d940943f..e0c6fc43 100644 --- a/docs/unstable/math_8hpp_source.html +++ b/docs/unstable/math_8hpp_source.html @@ -234,74 +234,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517
diff --git a/docs/unstable/mem_2policies_8hpp_source.html b/docs/unstable/mem_2policies_8hpp_source.html index 642bdad1..d56c31db 100644 --- a/docs/unstable/mem_2policies_8hpp_source.html +++ b/docs/unstable/mem_2policies_8hpp_source.html @@ -302,74 +302,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517
diff --git a/docs/unstable/memcpy_8hpp_source.html b/docs/unstable/memcpy_8hpp_source.html index fa4fc869..65a31b54 100644 --- a/docs/unstable/memcpy_8hpp_source.html +++ b/docs/unstable/memcpy_8hpp_source.html @@ -277,74 +277,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517
diff --git a/docs/unstable/memset_8hpp_source.html b/docs/unstable/memset_8hpp_source.html index 842c8325..637f8f9a 100644 --- a/docs/unstable/memset_8hpp_source.html +++ b/docs/unstable/memset_8hpp_source.html @@ -269,74 +269,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517
diff --git a/docs/unstable/operation_8hpp_source.html b/docs/unstable/operation_8hpp_source.html index 3beb9554..030974a0 100644 --- a/docs/unstable/operation_8hpp_source.html +++ b/docs/unstable/operation_8hpp_source.html @@ -456,74 +456,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
#define CUSOLVER_CHECK(X, info,...)
#define NDA_RUNTIME_ERROR
diff --git a/docs/unstable/permutation_8hpp_source.html b/docs/unstable/permutation_8hpp_source.html index c63473ba..78653233 100644 --- a/docs/unstable/permutation_8hpp_source.html +++ b/docs/unstable/permutation_8hpp_source.html @@ -453,74 +453,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517
diff --git a/docs/unstable/placeholder_8hpp_source.html b/docs/unstable/placeholder_8hpp_source.html index b7bc019f..6b2b57ae 100644 --- a/docs/unstable/placeholder_8hpp_source.html +++ b/docs/unstable/placeholder_8hpp_source.html @@ -335,74 +335,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
#define CUSOLVER_CHECK(X, info,...)
#define NDA_RUNTIME_ERROR
diff --git a/docs/unstable/slice__static_8hpp_source.html b/docs/unstable/slice__static_8hpp_source.html index ca387fe8..36fd15ee 100644 --- a/docs/unstable/slice__static_8hpp_source.html +++ b/docs/unstable/slice__static_8hpp_source.html @@ -515,74 +515,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517
diff --git a/docs/unstable/sum_8hpp_source.html b/docs/unstable/sum_8hpp_source.html index f7f10c0c..a760e6e8 100644 --- a/docs/unstable/sum_8hpp_source.html +++ b/docs/unstable/sum_8hpp_source.html @@ -292,74 +292,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517
diff --git a/docs/unstable/utils_8hpp_source.html b/docs/unstable/utils_8hpp_source.html index 53c45d22..ccc85e17 100644 --- a/docs/unstable/utils_8hpp_source.html +++ b/docs/unstable/utils_8hpp_source.html @@ -342,74 +342,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
#define CUSOLVER_CHECK(X, info,...)
#define NDA_RUNTIME_ERROR
diff --git a/docs/unstable/vector_8hpp_source.html b/docs/unstable/vector_8hpp_source.html index 036a086e..6e76a6a5 100644 --- a/docs/unstable/vector_8hpp_source.html +++ b/docs/unstable/vector_8hpp_source.html @@ -242,74 +242,74 @@
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
A generic multi-dimensional array.
-
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
-
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
+
auto & operator+=(RHS const &rhs) noexcept
Addition assignment operator.
+
decltype(auto) operator[](T const &idx) const &noexcept(has_no_boundcheck)
Subscript operator to access the 1-dimensional view/array.
basic_array(basic_array< ValueType, 2, LayoutPolicy, A2, ContainerPolicy > &&a) noexcept
Construct a 2-dimensional array from another 2-dimensional array with a different algebra.
-
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
-
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
-
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
-
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
-
long shape(int i) const noexcept
-
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
+
basic_array & operator=(RHS const &rhs)
Assignment operator makes a deep copy of an nda::ArrayOfRank object.
+
static constexpr bool is_stride_order_Fortran() noexcept
Is the stride order of the view/array in Fortran-order?
+
ValueType const * data() const noexcept
Get a pointer to the actual data (in general this is not the beginning of the memory block for a view...
+
ValueType * data() noexcept
Get a pointer to the actual data (in general this is not the beginning of thr memory block for a view...
+
long shape(int i) const noexcept
+
const_iterator cbegin() const noexcept
Get a const iterator to the beginning of the view/array.
static constexpr int rank
Number of dimensions of the array.
-
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
-
storage_t & storage() &noexcept
Get the data storage of the view/array.
+
static constexpr bool is_stride_order_C() noexcept
Is the stride order of the view/array in C-order?
+
storage_t & storage() &noexcept
Get the data storage of the view/array.
basic_array(A const &a)
Construct an array from an nda::ArrayOfRank object with the same rank by copying each element.
basic_array(basic_array< ValueType, Rank, LayoutPolicy, A, CP > a) noexcept
Construct an array from another array with a different algebra and/or container policy.
-
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
+
auto const & strides() const noexcept
Get the strides of the view/array (see nda::idx_map for more details on how we define strides).
basic_array(Ints... is)
Construct an array with the given dimensions.
static basic_array ones(Ints... is)
Make a one-initialized array with the given dimensions.
-
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
+
const_iterator begin() const noexcept
Get a const iterator to the beginning of the view/array.
auto as_array_view() const
Convert the current array to a view with an 'A' (array) algebra.
-
long extent(int i) const noexcept
Get the extent of the ith dimension.
+
long extent(int i) const noexcept
Get the extent of the ith dimension.
basic_array(std::initializer_list< ValueType > const &l)
Construct a 1-dimensional array from an initializer list.
-
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
-
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
+
decltype(auto) operator[](T const &x) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator[](T const &) const &.
+
long is_contiguous() const noexcept
Is the memory layout of the view/array contiguous?
basic_array(std::initializer_list< std::initializer_list< ValueType > > const &l2)
Construct a 2-dimensional array from a double nested initializer list.
-
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
-
bool empty() const
Is the view/array empty?
-
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
-
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
+
decltype(auto) operator()(_linear_index_t idx) noexcept
Non-const overload of nda::basic_array_view::operator()(_linear_index_t) const.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
bool empty() const
Is the view/array empty?
+
void resize(std::array< long, Rank > const &shape)
Resize the array to a new shape.
+
long has_positive_strides() const noexcept
Are all the strides of the memory layout of the view/array positive?
basic_array(Int sz, RHS const &val)
Construct a 1-dimensional array with the given size and initialize each element to the given scalar v...
static basic_array ones(std::array< Int, Rank > const &shape)
Make a one-initialized array with the given shape.
-
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
-
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
-
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
+
constexpr auto stride_order() const noexcept
Get the stride order of the memory layout of the view/array (see nda::idx_map for more details on how...
+
auto & operator/=(RHS const &rhs) noexcept
Division assignment operator.
+
auto & operator=(R const &rhs) noexcept
Assignment operator makes a deep copy of a general contiguous range and assigns it to the 1-dimension...
auto as_array_view()
Convert the current array to a view with an 'A' (array) algebra.
static basic_array zeros(Ints... is)
Make a zero-initialized array with the given dimensions.
-
auto indices() const noexcept
Get a range that generates all valid index tuples.
-
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
-
void resize(Ints const &...is)
Resize the array to a new shape.
-
storage_t storage() &&noexcept
Get the data storage of the view/array.
+
auto indices() const noexcept
Get a range that generates all valid index tuples.
+
static __inline__ decltype(auto) call(Self &&self, Ts const &...idxs) noexcept(has_no_boundcheck)
Implementation of the function call operator.
+
void resize(Ints const &...is)
Resize the array to a new shape.
+
storage_t storage() &&noexcept
Get the data storage of the view/array.
basic_array()
Default constructor constructs an empty array with a default constructed memory handle and layout.
-
bool is_empty() const noexcept
-
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
+
bool is_empty() const noexcept
+
storage_t const & storage() const &noexcept
Get the data storage of the view/array.
basic_array & operator=(basic_array const &)=default
Default copy assignment copies the memory handle and layout from the right hand side array.
-
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
+
basic_array & operator=(basic_array< ValueType, Rank, LayoutPolicy, A, CP > const &rhs)
Assignment operator makes a deep copy of another array with a different algebra and/or container poli...
basic_array(basic_array const &a)=default
Default copy constructor copies the memory handle and layout.
basic_array(std::initializer_list< std::initializer_list< std::initializer_list< ValueType > > > const &l3)
Construct a 3-dimensional array from a triple nested initializer list.
-
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
+
iterator begin() noexcept
Get an iterator to the beginning of the view/array.
basic_array(layout_t const &layout)
Construct an array with the given memory layout.
-
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
+
static basic_array rand(Ints... is)
Make a random-initialized array with the given dimensions.
basic_array(layout_t const &layout, storage_t &&storage) noexcept
Construct an array with the given memory layout and with an existing memory handle/storage.
-
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
-
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
-
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
+
static constexpr int iterator_rank
Rank of the nda::array_iterator for the view/array.
+
auto & operator-=(RHS const &rhs) noexcept
Subtraction assignment operator.
+
const_iterator end() const noexcept
Get a const iterator to the end of the view/array.
basic_array(basic_array &&)=default
Default move constructor moves the memory handle and layout.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) &&noexcept(has_no_boundcheck)
Rvalue overload of nda::basic_array_view::operator()(Ts const &...) const &.
basic_array(std::array< Int, Rank > const &shape)
Construct an array with the given shape.
-
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
-
auto const & shape() const noexcept
Get the shape of the view/array.
-
long size() const noexcept
Get the total size of the view/array.
-
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
-
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
+
const_iterator cend() const noexcept
Get a const iterator to the end of the view/array.
+
auto const & shape() const noexcept
Get the shape of the view/array.
+
long size() const noexcept
Get the total size of the view/array.
+
decltype(auto) operator[](T const &x) &noexcept(has_no_boundcheck)
Non-const overload of nda::basic_array_view::operator[](T const &) const &.
+
auto & operator*=(RHS const &rhs) noexcept
Multiplication assignment operator.
basic_array & operator=(basic_array &&)=default
Default move assignment moves the memory handle and layout from the right hand side array.
static basic_array zeros(std::array< Int, Rank > const &shape)
Make a zero-initialized array with the given shape.
-
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
-
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
-
iterator end() noexcept
Get an iterator to the end of the view/array.
-
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
+
__inline__ decltype(auto) operator()(Ts const &...idxs) const &noexcept(has_no_boundcheck)
Function call operator to access the view/array.
+
constexpr auto const & indexmap() const noexcept
Get the memory layout of the view/array.
+
iterator end() noexcept
Get an iterator to the end of the view/array.
+
decltype(auto) operator()(_linear_index_t idx) const noexcept
Access the element of the view/array at the given nda::_linear_index_t.
static basic_array rand(std::array< Int, Rank > const &shape)
Make a random-initialized array with the given shape.
Layout that specifies how to map multi-dimensional indices to a linear/flat index.
Definition idx_map.hpp:103
__inline__ long operator()(Args const &...args) const noexcept(true)
Function call operator to map a given multi-dimensional index to a linear index.
Definition idx_map.hpp:517