batmat main
Batched linear algebra routines
Loading...
Searching...
No Matches
batmat::linalg::cached_uview< Size, T, Abi, Order > Struct Template Reference

#include <batmat/linalg/uview.hpp>

Detailed Description

template<index_t Size, class T, class Abi, StorageOrder Order>
struct batmat::linalg::cached_uview< Size, T, Abi, Order >

Definition at line 184 of file uview.hpp.

Public Types

using value_type = T
using types = simd_view_types<std::remove_const_t<T>, Abi>
using simd = typename types::simd

Public Member Functions

value_typeoperator() (index_t r, index_t c) const noexcept
simd load (index_t r, index_t c) const noexcept
template<int MaskL = 0>
requires (!std::is_const_v<T>)
void store (simd x, index_t r, index_t c) const noexcept
template<index_t... Is>
 cached_uview (const uview< T, Abi, Order > &o, std::integer_sequence< index_t, Is... >) noexcept
 cached_uview (const uview< T, Abi, Order > &o) noexcept

Public Attributes

value_type *const data [Size]

Static Public Attributes

static constexpr ptrdiff_t inner_stride = typename types::simd_stride_t()

Member Typedef Documentation

◆ value_type

template<index_t Size, class T, class Abi, StorageOrder Order>
using batmat::linalg::cached_uview< Size, T, Abi, Order >::value_type = T

Definition at line 185 of file uview.hpp.

◆ types

template<index_t Size, class T, class Abi, StorageOrder Order>
using batmat::linalg::cached_uview< Size, T, Abi, Order >::types = simd_view_types<std::remove_const_t<T>, Abi>

Definition at line 188 of file uview.hpp.

◆ simd

template<index_t Size, class T, class Abi, StorageOrder Order>
using batmat::linalg::cached_uview< Size, T, Abi, Order >::simd = typename types::simd

Definition at line 189 of file uview.hpp.

Constructor & Destructor Documentation

◆ cached_uview() [1/2]

template<index_t Size, class T, class Abi, StorageOrder Order>
template<index_t... Is>
batmat::linalg::cached_uview< Size, T, Abi, Order >::cached_uview ( const uview< T, Abi, Order > & o,
std::integer_sequence< index_t, Is... >  )
inlinenoexcept

Definition at line 209 of file uview.hpp.

◆ cached_uview() [2/2]

template<index_t Size, class T, class Abi, StorageOrder Order>
batmat::linalg::cached_uview< Size, T, Abi, Order >::cached_uview ( const uview< T, Abi, Order > & o)
inlinenoexcept

Definition at line 212 of file uview.hpp.

Member Function Documentation

◆ operator()()

template<index_t Size, class T, class Abi, StorageOrder Order>
value_type & batmat::linalg::cached_uview< Size, T, Abi, Order >::operator() ( index_t r,
index_t c ) const
inlinenoexcept

Definition at line 192 of file uview.hpp.

◆ load()

template<index_t Size, class T, class Abi, StorageOrder Order>
simd batmat::linalg::cached_uview< Size, T, Abi, Order >::load ( index_t r,
index_t c ) const
inlinenoexcept

Definition at line 198 of file uview.hpp.

◆ store()

template<index_t Size, class T, class Abi, StorageOrder Order>
template<int MaskL = 0>
requires (!std::is_const_v<T>)
void batmat::linalg::cached_uview< Size, T, Abi, Order >::store ( simd x,
index_t r,
index_t c ) const
inlinenoexcept

Definition at line 202 of file uview.hpp.

Member Data Documentation

◆ data

template<index_t Size, class T, class Abi, StorageOrder Order>
value_type* const batmat::linalg::cached_uview< Size, T, Abi, Order >::data[Size]

Definition at line 186 of file uview.hpp.

◆ inner_stride

template<index_t Size, class T, class Abi, StorageOrder Order>
ptrdiff_t batmat::linalg::cached_uview< Size, T, Abi, Order >::inner_stride = typename types::simd_stride_t()
staticconstexpr

Definition at line 190 of file uview.hpp.


The documentation for this struct was generated from the following file: