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

#include <batmat/linalg/uview.hpp>

Detailed Description

template<class T, class Abi>
struct batmat::linalg::uview_vec< T, Abi >

Definition at line 136 of file uview.hpp.

Public Types

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

Public Member Functions

value_typeoperator() (index_t r) const noexcept
simd load (index_t r) const noexcept
template<int MaskL = 0>
requires (!std::is_const_v<T>)
void store (simd x, index_t r) const noexcept
template<class Self>
Self segment (this const Self &self, index_t r) noexcept
 uview_vec (value_type *data) noexcept
template<StorageOrder Order>
requires std::is_const_v<T>
 uview_vec (const mut_view< Order > &v) noexcept
template<StorageOrder Order>
 uview_vec (const view< Order > &v) noexcept
 uview_vec (const mut_uview &o) noexcept
 uview_vec (const uview_vec &o)=default

Public Attributes

value_typedata

Static Public Attributes

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

Member Typedef Documentation

◆ value_type

template<class T, class Abi>
using batmat::linalg::uview_vec< T, Abi >::value_type = T

Definition at line 137 of file uview.hpp.

◆ types

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

Definition at line 140 of file uview.hpp.

◆ view

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

Definition at line 142 of file uview.hpp.

◆ mut_view

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

Definition at line 144 of file uview.hpp.

◆ mut_uview

template<class T, class Abi>
using batmat::linalg::uview_vec< T, Abi >::mut_uview = uview_vec<std::remove_const_t<T>, Abi>

Definition at line 145 of file uview.hpp.

◆ simd

template<class T, class Abi>
using batmat::linalg::uview_vec< T, Abi >::simd = typename types::simd

Definition at line 146 of file uview.hpp.

Constructor & Destructor Documentation

◆ uview_vec() [1/5]

template<class T, class Abi>
batmat::linalg::uview_vec< T, Abi >::uview_vec ( value_type * data)
inlinenoexcept

Definition at line 166 of file uview.hpp.

◆ uview_vec() [2/5]

template<class T, class Abi>
template<StorageOrder Order>
requires std::is_const_v<T>
batmat::linalg::uview_vec< T, Abi >::uview_vec ( const mut_view< Order > & v)
inlineexplicitnoexcept

Definition at line 168 of file uview.hpp.

◆ uview_vec() [3/5]

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

Definition at line 174 of file uview.hpp.

◆ uview_vec() [4/5]

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

Definition at line 177 of file uview.hpp.

◆ uview_vec() [5/5]

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

Member Function Documentation

◆ operator()()

template<class T, class Abi>
value_type & batmat::linalg::uview_vec< T, Abi >::operator() ( index_t r) const
inlinenoexcept

Definition at line 149 of file uview.hpp.

◆ load()

template<class T, class Abi>
simd batmat::linalg::uview_vec< T, Abi >::load ( index_t r) const
inlinenoexcept

Definition at line 152 of file uview.hpp.

◆ store()

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

Definition at line 156 of file uview.hpp.

◆ segment()

template<class T, class Abi>
template<class Self>
Self batmat::linalg::uview_vec< T, Abi >::segment ( this const Self & self,
index_t r )
inlinenoexcept

Definition at line 162 of file uview.hpp.

Member Data Documentation

◆ data

template<class T, class Abi>
value_type* batmat::linalg::uview_vec< T, Abi >::data

Definition at line 138 of file uview.hpp.

◆ inner_stride

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

Definition at line 147 of file uview.hpp.


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