DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
DNDS::ArrayEigenMatrixBatchDeviceView< B, real_T > Class Template Reference

#include <ArrayEigenMatrixBatch_DeviceView.hpp>

Inheritance diagram for DNDS::ArrayEigenMatrixBatchDeviceView< B, real_T >:
[legend]
Collaboration diagram for DNDS::ArrayEigenMatrixBatchDeviceView< B, real_T >:
[legend]

Public Types

using t_base = ArrayDeviceView< B, real_T, NonUniformSize >
 
using t_matrix = typename MatrixBatch< real_T >::t_matrix
 
using t_map = typename MatrixBatch< real_T >::t_map
 
using t_map_const = typename MatrixBatch< real_T >::t_map_const
 
using t_self = ArrayEigenMatrixBatchDeviceView< B, real_T >
 
- Public Types inherited from DNDS::ArrayLayout< T, _row_size, _row_max, _align >
using value_type = T
 

Public Member Functions

DNDS_DEVICE_CALLABLE ArrayEigenMatrixBatchDeviceView (const t_base &base_view)
 
DNDS_DEVICE_CALLABLE MatrixBatch< real_T > operator[] (index i)
 
DNDS_DEVICE_CALLABLE MatrixBatch< const real_T > operator[] (index i) const
 
DNDS_DEVICE_CALLABLE index BatchSize (index i)
 
DNDS_DEVICE_CALLABLE t_map operator() (index i, rowsize j)
 
DNDS_DEVICE_CALLABLE t_map_const operator() (index i, rowsize j) const
 
- Public Member Functions inherited from DNDS::ArrayDeviceView< B, real_T, NonUniformSize >
 ArrayDeviceView ()=delete
 
- Public Member Functions inherited from DNDS::ArrayView< T, _row_size, _row_max, _align >
DNDS_DEVICE_CALLABLE ArrayView (index n_size, T *n_data, index n_data_size, const index *n_rowstart, index n_rowstart_size, const rowsize *n_rowsizes, index n_rowsizes_size, rowsize n_row_size_dynamic, bool n_isCompressed, t_dataUncompressed *n_p_dataUncompressed)
 Construct a view from raw pointers. Intended for internal use by Array::view().
 
DNDS_DEVICE_CALLABLE bool isCompressed () const
 Whether the underlying array is in the compressed (flat) form (always true for non-CSR).
 
DNDS_DEVICE_CALLABLE index Size () const
 Number of rows in the viewed array.
 
DNDS_DEVICE_CALLABLE rowsize RowSize () const
 Uniform row width for fixed layouts (asserts otherwise).
 
DNDS_DEVICE_CALLABLE rowsize RowSize (index iRow) const
 Per-row width. Handles CSR compressed and decompressed modes.
 
DNDS_DEVICE_CALLABLE rowsize RowSizeMax () const
 Maximum row width (TABLE_*Max only).
 
DNDS_DEVICE_CALLABLE rowsize RowSizeField () const
 "Logical" row-field width used by derived Eigen arrays; see Array::RowSizeField.
 
DNDS_DEVICE_CALLABLE rowsize RowSizeField (index iRow) const
 Per-row "field" size for CSR (= actual row width).
 
const T & at (index iRow, rowsize iCol) const
 Bounds-checked element read (not device-callable because CSR decompressed uses std::vector::at which throws on the host).
 
T & operator() (index iRow, rowsize iCol=0)
 2D indexed access (writable). See at.
 
const T & operator() (index iRow, rowsize iCol=0) const
 2D indexed access (read-only).
 
T * operator[] (index iRow)
 Raw row pointer. iRow == Size() is allowed for past-the-end queries (useful for computing buffer end in sweeps).
 
const T * operator[] (index iRow) const
 Const row pointer; see the non-const overload.
 
DNDS_DEVICE_CALLABLE T * data ()
 Raw pointer to the start of the flat data buffer.
 
DNDS_DEVICE_CALLABLE size_t DataSize () const
 Size of the flat data buffer in T elements.
 
DNDS_DEVICE_CALLABLE bool operator== (const self_type &R) const
 Pointer equality (two views referring to the same buffer).
 

Additional Inherited Members

- Static Public Member Functions inherited from DNDS::ArrayLayout< T, _row_size, _row_max, _align >
static constexpr DataLayout _GetDataLayout ()
 Deduce the DataLayout tag from the template parameters.
 
static std::string GetArrayName ()
 Human-readable type identifier including element typeid, sizes, and alignment.
 
static std::string GetArraySignature ()
 Compiler-independent identifier used by serializers to tag an array.
 
static std::string GetArraySignatureRelaxed ()
 Signature with _row_size / _row_max replaced by DynamicSize.
 
static std::tuple< int, int, int, int > ParseArraySignatureTuple (const std::string &v)
 Parse a signature string into (sizeof_T, row_size, row_max, align).
 
static bool ArraySignatureIsCompatible (const std::string &v)
 Whether a stored signature can be read into this array type.
 
- Static Public Attributes inherited from DNDS::ArrayLayout< T, _row_size, _row_max, _align >
static const rowsize al = _align
 
static const rowsize rs = _row_size
 
static const rowsize rm = _row_max
 
static const size_t sizeof_T = sizeof(value_type)
 
static const rowsize s_T = al == NoAlign ? sizeof_T : (sizeof_T / al + 1) * al
 
static const DataLayout _dataLayout = _GetDataLayout()
 
static const bool isCSR = _dataLayout == CSR
 
- Protected Types inherited from DNDS::ArrayView< T, _row_size, _row_max, _align >
using self_type = ArrayView< T, _row_size, _row_max, _align >
 
using t_Layout = ArrayLayout< T, _row_size, _row_max, _align >
 
using t_dataUncompressed = std::vector< std::vector< T > >
 
- Protected Member Functions inherited from DNDS::ArrayView< T, _row_size, _row_max, _align >
DNDS_DEVICE_CALLABLE rowsize RowSize_Compressed (index iRow) const
 
DNDS_DEVICE_CALLABLE const T & at_compressed (index iRow, rowsize iCol) const
 
DNDS_DEVICE_CALLABLE T * get_rowstart_pointer_compressed (index iRow)
 
- Protected Attributes inherited from DNDS::ArrayView< T, _row_size, _row_max, _align >
index _size
 
T * _data = nullptr
 
index _data_size = 0
 
std::conditional_t< _dataLayout==CSR, const index *, std::conditional_t< _dataLayout==TABLE_Max||_dataLayout==TABLE_StaticMax, const rowsize *, EmptyNoDefault > > _rowstart_or_rowsize = nullptr
 
bool _isCompressed = true
 
std::conditional_t< _dataLayout==TABLE_Max||_dataLayout==TABLE_Fixed, rowsize, EmptyNoDefault_row_size_dynamic = 0
 
std::conditional_t< _dataLayout==CSR, t_dataUncompressed *, EmptyNoDefault_p_dataUncompressed = nullptr
 

Detailed Description

template<DeviceBackend B, class real_T>
class DNDS::ArrayEigenMatrixBatchDeviceView< B, real_T >

Definition at line 187 of file ArrayEigenMatrixBatch_DeviceView.hpp.

Member Typedef Documentation

◆ t_base

template<DeviceBackend B, class real_T >
using DNDS::ArrayEigenMatrixBatchDeviceView< B, real_T >::t_base = ArrayDeviceView<B, real_T, NonUniformSize>

Definition at line 190 of file ArrayEigenMatrixBatch_DeviceView.hpp.

◆ t_map

template<DeviceBackend B, class real_T >
using DNDS::ArrayEigenMatrixBatchDeviceView< B, real_T >::t_map = typename MatrixBatch<real_T>::t_map

Definition at line 194 of file ArrayEigenMatrixBatch_DeviceView.hpp.

◆ t_map_const

template<DeviceBackend B, class real_T >
using DNDS::ArrayEigenMatrixBatchDeviceView< B, real_T >::t_map_const = typename MatrixBatch<real_T>::t_map_const

Definition at line 195 of file ArrayEigenMatrixBatch_DeviceView.hpp.

◆ t_matrix

template<DeviceBackend B, class real_T >
using DNDS::ArrayEigenMatrixBatchDeviceView< B, real_T >::t_matrix = typename MatrixBatch<real_T>::t_matrix

Definition at line 193 of file ArrayEigenMatrixBatch_DeviceView.hpp.

◆ t_self

template<DeviceBackend B, class real_T >
using DNDS::ArrayEigenMatrixBatchDeviceView< B, real_T >::t_self = ArrayEigenMatrixBatchDeviceView<B, real_T>

Definition at line 197 of file ArrayEigenMatrixBatch_DeviceView.hpp.

Constructor & Destructor Documentation

◆ ArrayEigenMatrixBatchDeviceView()

template<DeviceBackend B, class real_T >
DNDS_DEVICE_CALLABLE DNDS::ArrayEigenMatrixBatchDeviceView< B, real_T >::ArrayEigenMatrixBatchDeviceView ( const t_base base_view)
inline

Definition at line 201 of file ArrayEigenMatrixBatch_DeviceView.hpp.

Member Function Documentation

◆ BatchSize()

template<DeviceBackend B, class real_T >
DNDS_DEVICE_CALLABLE index DNDS::ArrayEigenMatrixBatchDeviceView< B, real_T >::BatchSize ( index  i)
inline

Definition at line 213 of file ArrayEigenMatrixBatch_DeviceView.hpp.

Here is the call graph for this function:

◆ operator()() [1/2]

template<DeviceBackend B, class real_T >
DNDS_DEVICE_CALLABLE t_map DNDS::ArrayEigenMatrixBatchDeviceView< B, real_T >::operator() ( index  i,
rowsize  j 
)
inline

Definition at line 218 of file ArrayEigenMatrixBatch_DeviceView.hpp.

Here is the call graph for this function:

◆ operator()() [2/2]

template<DeviceBackend B, class real_T >
DNDS_DEVICE_CALLABLE t_map_const DNDS::ArrayEigenMatrixBatchDeviceView< B, real_T >::operator() ( index  i,
rowsize  j 
) const
inline

Definition at line 223 of file ArrayEigenMatrixBatch_DeviceView.hpp.

Here is the call graph for this function:

◆ operator[]() [1/2]

template<DeviceBackend B, class real_T >
DNDS_DEVICE_CALLABLE MatrixBatch< real_T > DNDS::ArrayEigenMatrixBatchDeviceView< B, real_T >::operator[] ( index  i)
inline

Definition at line 203 of file ArrayEigenMatrixBatch_DeviceView.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator[]() [2/2]

template<DeviceBackend B, class real_T >
DNDS_DEVICE_CALLABLE MatrixBatch< const real_T > DNDS::ArrayEigenMatrixBatchDeviceView< B, real_T >::operator[] ( index  i) const
inline

Definition at line 208 of file ArrayEigenMatrixBatch_DeviceView.hpp.

Here is the call graph for this function:

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