44  template <MemoryArray A>
 
   49    requires(!std::is_same_v<A, std::remove_cvref_t<A>>)
 
   64      return std::get<0>(std::forward<A>(a).a);
 
   66      return std::forward<A>(a);
 
 
   75      return has_F_layout<
decltype(std::get<0>(std::declval<A>().a))>;
 
   77      return std::remove_cvref_t<A>::is_stride_order_Fortran();
 
 
   85      return has_C_layout<
decltype(std::get<0>(std::declval<A>().a))>;
 
   87      return std::remove_cvref_t<A>::is_stride_order_C();
 
 
   98  static constexpr char get_op = []() {
 
  101    static_assert(!(
conj and not 
transpose), 
"Error in nda::blas::get_op: Cannot use conjugate operation alone in BLAS operations");
 
 
  120  template <MemoryArray A>
 
  140  template <MemoryArray A>
 
Check if a given type satisfies the memory array concept.
 
Provides concepts for the nda library.
 
auto transpose(A &&a)
Transpose the memory layout of an nda::MemoryArray or an nda::expr_call.
 
decltype(auto) conj(A &&a)
Function conj for nda::ArrayOrScalar types (lazy and coefficient-wise for nda::Array types with a com...
 
constexpr int get_rank
Constexpr variable that specifies the rank of an nda::Array or of a contiguous 1-dimensional range.
 
static constexpr bool has_C_layout
Constexpr variable that is true if the given nda::Array type has a C memory layout.
 
std::complex< double > dcomplex
Alias for std::complex<double> type.
 
int get_ncols(A const &a)
Get the number of columns of an nda::MemoryArray with rank 1 or 2 for BLAS/LAPACK calls.
 
int get_ld(A const &a)
Get the leading dimension of an nda::MemoryArray with rank 1 or 2 for LAPACK calls.
 
static constexpr bool is_conj_array_expr
Constexpr variable that is true if the given type is a conjugate lazy expression.
 
static constexpr char get_op
Variable template that determines the BLAS matrix operation tag ('N','T','C') based on the given bool...
 
static constexpr bool has_F_layout
Constexpr variable that is true if the given nda::Array type has a Fortran memory layout.
 
MemoryArray decltype(auto) get_array(A &&a)
Get the underlying array of a conjugate lazy expression or return the array itself in case it is an n...
 
Provides lazy function calls on arrays/views.
 
Provides some custom implementations of standard mathematical functions used for lazy,...