Documentation 6b54b78464
Loading...
Searching...
No Matches
CGradientBlock< nVarGrad, nDim, Double, Gradient_t > Struct Template Reference

Reads the gradient rows of one point as one block, gathered up front. More...

#include <util.hpp>

Public Types

using Int = typename CLaneTraits< Double >::Int
 

Public Member Functions

 CGradientBlock (Int iPoint, const Gradient_t &gradient, size_t iRow)
 
Double project (size_t iVar, const Vector< Double, nDim > &vector_ij) const
 

Public Attributes

Matrix< Double, nVarGrad, nDim > rows
 

Detailed Description

template<size_t nVarGrad, size_t nDim, class Double, class Gradient_t>
struct CGradientBlock< nVarGrad, nDim, Double, Gradient_t >

Reads the gradient rows of one point as one block, gathered up front.

Note
This is what a kernel whose variable count is a compile-time constant above one wants: one gather of the whole nVarGrad x nDim block instead of nVarGrad of them.

Member Typedef Documentation

◆ Int

template<size_t nVarGrad, size_t nDim, class Double , class Gradient_t >
using CGradientBlock< nVarGrad, nDim, Double, Gradient_t >::Int = typename CLaneTraits<Double>::Int

Constructor & Destructor Documentation

◆ CGradientBlock()

template<size_t nVarGrad, size_t nDim, class Double , class Gradient_t >
CGradientBlock< nVarGrad, nDim, Double, Gradient_t >::CGradientBlock ( Int  iPoint,
const Gradient_t &  gradient,
size_t  iRow 
)
inline

Member Function Documentation

◆ project()

template<size_t nVarGrad, size_t nDim, class Double , class Gradient_t >
Double CGradientBlock< nVarGrad, nDim, Double, Gradient_t >::project ( size_t  iVar,
const Vector< Double, nDim > &  vector_ij 
) const
inline

Member Data Documentation

◆ rows

template<size_t nVarGrad, size_t nDim, class Double , class Gradient_t >
Matrix<Double, nVarGrad, nDim> CGradientBlock< nVarGrad, nDim, Double, Gradient_t >::rows

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