batmat main
Batched linear algebra routines
Loading...
Searching...
No Matches
batmat::matrix Namespace Reference

Namespaces

namespace  detail

Classes

struct  integral_value_type
struct  integral_value_type< IntConst >
struct  DefaultStride
struct  Layout
 Shape and strides describing a batch of matrices, independent of any storage. More...
struct  Matrix
 Owning array of matrices, stored in an efficient batched format. More...
struct  uninitialized_t
struct  aligned_deleter
 Deleter for aligned memory allocated with operator new(size, align_val). More...
struct  aligned_deleter< void, A >
struct  View
 Non-owning view of an array of matrices, stored in an efficient batched format. More...

Typedefs

template<class T>
using integral_value_type_t = typename integral_value_type<T>::type

Enumerations

enum class  StorageOrder

Functions

template<class T, class I, class S, class D, class A, StorageOrder O>
constexpr auto data (Matrix< T, I, S, D, O, A > &v)
template<class T, class I, class S, class D, class A, StorageOrder O>
constexpr auto data (Matrix< T, I, S, D, O, A > &&v)=delete
template<class T, class I, class S, class D, class A, StorageOrder O>
constexpr auto data (const Matrix< T, I, S, D, O, A > &v)
template<class T, class I, class S, class D, class A, StorageOrder O>
constexpr auto rows (const Matrix< T, I, S, D, O, A > &v)
template<class T, class I, class S, class D, class A, StorageOrder O>
constexpr auto cols (const Matrix< T, I, S, D, O, A > &v)
template<class T, class I, class S, class D, class A, StorageOrder O>
constexpr auto outer_stride (const Matrix< T, I, S, D, O, A > &v)
template<class T, class I, class S, class D, class A, StorageOrder O>
constexpr auto depth (const Matrix< T, I, S, D, O, A > &v)
template<class A>
constexpr std::align_val_t as_align_val (A a)
template<class T, class A>
auto make_aligned_unique_ptr (size_t size, A align)
 Returns a smart pointer to an array of T that satisfies the given alignment requirements.
template<class T, class A>
auto make_aligned_unique_ptr (size_t size, A align, uninitialized_t)
 Returns a smart pointer to an array of T that satisfies the given alignment requirements.
template<class T, class I, class S, class D, class L, StorageOrder P>
bool operator== (std::default_sentinel_t s, typename View< T, I, S, D, L, P >::linear_iterator i)
template<class T, class I, class S, class D, class L, StorageOrder P>
bool operator!= (std::default_sentinel_t s, typename View< T, I, S, D, L, P >::linear_iterator i)
template<class T, class I, class S, class D, class L, StorageOrder P>
bool operator!= (typename View< T, I, S, D, L, P >::linear_iterator i, std::default_sentinel_t s)
template<class T, class I, class S, class D, class L, StorageOrder O>
constexpr auto data (const View< T, I, S, D, L, O > &v)
template<class T, class I, class S, class D, class L, StorageOrder O>
constexpr auto rows (const View< T, I, S, D, L, O > &v)
template<class T, class I, class S, class D, class L, StorageOrder O>
constexpr auto cols (const View< T, I, S, D, L, O > &v)
template<class T, class I, class S, class D, class L, StorageOrder O>
constexpr auto outer_stride (const View< T, I, S, D, L, O > &v)
template<class T, class I, class S, class D, class L, StorageOrder O>
constexpr auto depth (const View< T, I, S, D, L, O > &v)

Variables

struct batmat::matrix::uninitialized_t uninitialized
 Tag type to indicate that memory should not be initialized.

Class Documentation

◆ batmat::matrix::integral_value_type

struct batmat::matrix::integral_value_type
Class Members
typedef T type T

◆ batmat::matrix::integral_value_type< IntConst >

struct batmat::matrix::integral_value_type< IntConst >
Class Members
typedef typename value_type type typename IntConst::value_type

Typedef Documentation

◆ integral_value_type_t

template<class T>
using batmat::matrix::integral_value_type_t = typename integral_value_type<T>::type

Definition at line 25 of file layout.hpp.

Enumeration Type Documentation

◆ StorageOrder

enum class guanaqo::StorageOrder
strong

Function Documentation

◆ data() [1/4]

template<class T, class I, class S, class D, class A, StorageOrder O>
auto batmat::matrix::data ( Matrix< T, I, S, D, O, A > & v)
constexpr

Definition at line 483 of file matrix.hpp.

◆ data() [2/4]

template<class T, class I, class S, class D, class A, StorageOrder O>
auto batmat::matrix::data ( Matrix< T, I, S, D, O, A > && v)
constexprdelete

◆ data() [3/4]

template<class T, class I, class S, class D, class A, StorageOrder O>
auto batmat::matrix::data ( const Matrix< T, I, S, D, O, A > & v)
constexpr

Definition at line 489 of file matrix.hpp.

◆ rows() [1/2]

template<class T, class I, class S, class D, class A, StorageOrder O>
auto batmat::matrix::rows ( const Matrix< T, I, S, D, O, A > & v)
constexpr

Definition at line 493 of file matrix.hpp.

◆ cols() [1/2]

template<class T, class I, class S, class D, class A, StorageOrder O>
auto batmat::matrix::cols ( const Matrix< T, I, S, D, O, A > & v)
constexpr

Definition at line 497 of file matrix.hpp.

◆ outer_stride() [1/2]

template<class T, class I, class S, class D, class A, StorageOrder O>
auto batmat::matrix::outer_stride ( const Matrix< T, I, S, D, O, A > & v)
constexpr

Definition at line 501 of file matrix.hpp.

◆ depth() [1/2]

template<class T, class I, class S, class D, class A, StorageOrder O>
auto batmat::matrix::depth ( const Matrix< T, I, S, D, O, A > & v)
constexpr

Definition at line 505 of file matrix.hpp.

◆ as_align_val()

template<class A>
std::align_val_t batmat::matrix::as_align_val ( A a)
constexpr

Definition at line 16 of file storage.hpp.

◆ operator==()

template<class T, class I, class S, class D, class L, StorageOrder P>
bool batmat::matrix::operator== ( std::default_sentinel_t s,
typename View< T, I, S, D, L, P >::linear_iterator i )

Definition at line 759 of file view.hpp.

◆ operator!=() [1/2]

template<class T, class I, class S, class D, class L, StorageOrder P>
bool batmat::matrix::operator!= ( std::default_sentinel_t s,
typename View< T, I, S, D, L, P >::linear_iterator i )

Definition at line 763 of file view.hpp.

◆ operator!=() [2/2]

template<class T, class I, class S, class D, class L, StorageOrder P>
bool batmat::matrix::operator!= ( typename View< T, I, S, D, L, P >::linear_iterator i,
std::default_sentinel_t s )

Definition at line 767 of file view.hpp.

◆ data() [4/4]

template<class T, class I, class S, class D, class L, StorageOrder O>
auto batmat::matrix::data ( const View< T, I, S, D, L, O > & v)
constexpr

Definition at line 774 of file view.hpp.

◆ rows() [2/2]

template<class T, class I, class S, class D, class L, StorageOrder O>
auto batmat::matrix::rows ( const View< T, I, S, D, L, O > & v)
constexpr

Definition at line 778 of file view.hpp.

◆ cols() [2/2]

template<class T, class I, class S, class D, class L, StorageOrder O>
auto batmat::matrix::cols ( const View< T, I, S, D, L, O > & v)
constexpr

Definition at line 782 of file view.hpp.

◆ outer_stride() [2/2]

template<class T, class I, class S, class D, class L, StorageOrder O>
auto batmat::matrix::outer_stride ( const View< T, I, S, D, L, O > & v)
constexpr

Definition at line 786 of file view.hpp.

◆ depth() [2/2]

template<class T, class I, class S, class D, class L, StorageOrder O>
auto batmat::matrix::depth ( const View< T, I, S, D, L, O > & v)
constexpr

Definition at line 790 of file view.hpp.