|
TRIQS/nda 2.0.0
Multi-dimensional array library for C++
|
#include "../concepts.hpp"#include "../declarations.hpp"#include "../exceptions.hpp"#include "../macros.hpp"#include "../map.hpp"#include "../mapped_functions.hpp"#include "../mem/address_space.hpp"#include "../mem/policies.hpp"#include "../traits.hpp"#include <complex>#include <tuple>#include <type_traits>#include <utility>Provides various traits and utilities for the BLAS interface.
Definition in file tools.hpp.
Go to the source code of this file.
Concepts | |
| concept | nda::blas_lapack::BlasArray |
| BLAS/LAPACK compatible array type. | |
| concept | nda::blas_lapack::BlasArrayCplx |
| BLAS/LAPACK compatible array type with complex value type. | |
| concept | nda::blas_lapack::BlasArrayFor |
| BLAS/LAPACK compatible array type that has the same value type as the reference array type and a compatible address space. | |
| concept | nda::blas_lapack::BlasArrayOrConj |
| BLAS/LAPACK compatible array or conjugate lazy expression type. | |
| concept | nda::blas_lapack::BlasArrayOrConjFor |
| BLAS/LAPACK compatible array or conjugate lazy expression type that has the same value type as the reference array type and a compatible address space. | |
| concept | nda::blas_lapack::BlasArrayReal |
| BLAS/LAPACK compatible array type with real value type. | |
| concept | nda::blas_lapack::BlasArrayRealFor |
| BLAS/LAPACK compatible array type that has a compatible floating-point value type and address space with the reference array type. | |
| concept | nda::blas_lapack::PivotArrayFor |
| BLAS/LAPACK compatible pivot array type that has a compatible address space with the reference array type. | |
Typedefs | |
| using | nda::dcomplex = std::complex<double> |
| Alias for std::complex<double> type. | |
| template<MemoryArray A> | |
| using | nda::blas_lapack::vector_fp_t = vector<get_fp_t<A>, heap<mem::get_addr_space<A>>> |
| Alias for an nda::vector with the same address space as the given type and its value type determined by nda::get_fp_t<A>. | |
| template<MemoryArray A> | |
| using | nda::blas_lapack::vector_value_t = vector<get_value_t<A>, heap<mem::get_addr_space<A>>> |
| Alias for an nda::vector with the same value type and address space as the given type. | |
Functions | |
| template<Array A> requires (MemoryArrayOfRank<A, 3> or MemoryArrayOfRank<A, 2>) | |
| auto | nda::blas_lapack::batch_ptrs (A &&a) |
| Given a 2- or 3-dimensional array get an array of pointers to each of the submatrices/subvectors indexed by the slowest varying dimension. | |
| template<Array A> requires (MemoryArray<A> or is_conj_array_expr<A>) | |
| MemoryArray decltype(auto) | nda::blas_lapack::get_array (A &&a) |
| Get the underlying array of a conjugate lazy expression or return the array itself in case it is an nda::MemoryArray. | |
| template<MemoryArray A> requires (get_rank<A> == 1 or get_rank<A> == 2) | |
| int | nda::blas_lapack::get_ld (A const &a) |
| Get the leading dimension of an nda::MemoryArray with rank 1 or 2 for BLAS/LAPACK calls. | |
| template<MemoryArray A> requires (get_rank<A> == 1 or get_rank<A> == 2) | |
| int | nda::blas_lapack::get_ncols (A const &a) |
| Get the number of columns of an nda::MemoryArray with rank 1 or 2 for BLAS/LAPACK calls. | |
| template<typename A> requires (is_regular_or_view_v<A> and get_rank<A> == 1) | |
| void | nda::blas_lapack::resize_or_check_work_buffer (A &a, long min_size) |
| Resize or check the size of a 1D array/view. | |
Variables | |
| template<Array A> | |
| static constexpr char | nda::blas_lapack::get_op |
| Variable template that determines the BLAS matrix operation tag ('N','T','C') based on the given boolean flags for conjugation and transposition. | |
| template<Array... As> | |
| static constexpr bool | nda::blas_lapack::has_C_layout |
| Constexpr variable that is true if all given nda::Array types have nda::C_layout. | |
| template<Array... As> | |
| static constexpr bool | nda::blas_lapack::has_F_layout |
| Constexpr variable that is true if all given nda::Array types have nda::F_layout. | |
| template<typename A> | |
| static constexpr bool | nda::blas_lapack::is_conj_array_expr = false |
| Constexpr variable that is true if the given type is a conjugate lazy expression. | |
| template<MemoryArray A> | |
| static constexpr bool | nda::blas_lapack::is_conj_array_expr< expr_call< detail::conj_f, A > > = true |
| Specialization of nda::blas_lapack::is_conj_array_expr for the conjugate lazy expressions. | |