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

#include <batmat/linalg/uview.hpp>

Detailed Description

template<class T, class Abi, StorageOrder Order>
struct batmat::linalg::uview< T, Abi, Order >

Definition at line 80 of file uview.hpp.

Public Types

using value_type = T
using types = simd_view_types<std::remove_const_t<T>, Abi>
using view = types::template view<T, Order>
using mut_view = types::template view<std::remove_const_t<T>, Order>
using mut_uview = uview<std::remove_const_t<T>, Abi, Order>
using simd = typename types::simd

Public Member Functions

value_typeget (index_t r, index_t c) const noexcept
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<class Self>
Self block (this const Self &self, index_t r, index_t c) noexcept
template<class Self>
Self middle_rows (this const Self &self, index_t r) noexcept
template<class Self>
Self middle_cols (this const Self &self, index_t c) noexcept
 uview (value_type *data, index_t outer_stride) noexcept
 uview (const mut_view &v) noexcept
 uview (const view &v) noexcept
 uview (const mut_uview &o) noexcept
 uview (const uview &o)=default

Public Attributes

value_typedata
index_t outer_stride

Static Public Attributes

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

Member Typedef Documentation

◆ value_type

template<class T, class Abi, StorageOrder Order>
using batmat::linalg::uview< T, Abi, Order >::value_type = T

Definition at line 81 of file uview.hpp.

◆ types

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

Definition at line 85 of file uview.hpp.

◆ view

template<class T, class Abi, StorageOrder Order>
using batmat::linalg::uview< T, Abi, Order >::view = types::template view<T, Order>

Definition at line 86 of file uview.hpp.

◆ mut_view

template<class T, class Abi, StorageOrder Order>
using batmat::linalg::uview< T, Abi, Order >::mut_view = types::template view<std::remove_const_t<T>, Order>

Definition at line 87 of file uview.hpp.

◆ mut_uview

template<class T, class Abi, StorageOrder Order>
using batmat::linalg::uview< T, Abi, Order >::mut_uview = uview<std::remove_const_t<T>, Abi, Order>

Definition at line 88 of file uview.hpp.

◆ simd

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

Definition at line 89 of file uview.hpp.

Constructor & Destructor Documentation

◆ uview() [1/5]

template<class T, class Abi, StorageOrder Order>
batmat::linalg::uview< T, Abi, Order >::uview ( value_type * data,
index_t outer_stride )
inlinenoexcept

Definition at line 122 of file uview.hpp.

◆ uview() [2/5]

template<class T, class Abi, StorageOrder Order>
batmat::linalg::uview< T, Abi, Order >::uview ( const mut_view & v)
inlinenoexcept

Definition at line 124 of file uview.hpp.

◆ uview() [3/5]

template<class T, class Abi, StorageOrder Order>
batmat::linalg::uview< T, Abi, Order >::uview ( const view & v)
inlinenoexcept

Definition at line 127 of file uview.hpp.

◆ uview() [4/5]

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

Definition at line 129 of file uview.hpp.

◆ uview() [5/5]

template<class T, class Abi, StorageOrder Order>
batmat::linalg::uview< T, Abi, Order >::uview ( const uview< T, Abi, Order > & o)
default

Member Function Documentation

◆ get()

template<class T, class Abi, StorageOrder Order>
value_type * batmat::linalg::uview< T, Abi, Order >::get ( index_t r,
index_t c ) const
inlinenoexcept

Definition at line 92 of file uview.hpp.

◆ operator()()

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

Definition at line 97 of file uview.hpp.

◆ load()

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

Definition at line 100 of file uview.hpp.

◆ store()

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

Definition at line 104 of file uview.hpp.

◆ block()

template<class T, class Abi, StorageOrder Order>
template<class Self>
Self batmat::linalg::uview< T, Abi, Order >::block ( this const Self & self,
index_t r,
index_t c )
inlinenoexcept

Definition at line 110 of file uview.hpp.

◆ middle_rows()

template<class T, class Abi, StorageOrder Order>
template<class Self>
Self batmat::linalg::uview< T, Abi, Order >::middle_rows ( this const Self & self,
index_t r )
inlinenoexcept

Definition at line 114 of file uview.hpp.

◆ middle_cols()

template<class T, class Abi, StorageOrder Order>
template<class Self>
Self batmat::linalg::uview< T, Abi, Order >::middle_cols ( this const Self & self,
index_t c )
inlinenoexcept

Definition at line 118 of file uview.hpp.

Member Data Documentation

◆ data

template<class T, class Abi, StorageOrder Order>
value_type* batmat::linalg::uview< T, Abi, Order >::data

Definition at line 82 of file uview.hpp.

◆ outer_stride

template<class T, class Abi, StorageOrder Order>
index_t batmat::linalg::uview< T, Abi, Order >::outer_stride

Definition at line 83 of file uview.hpp.

◆ inner_stride

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

Definition at line 90 of file uview.hpp.


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