GEOS
Public Member Functions | Friends | List of all members
geos::TableFunction::KernelWrapper Class Reference

#include <TableFunction.hpp>

Public Member Functions

template<typename IN_ARRAY >
GEOS_HOST_DEVICE real64 compute (IN_ARRAY const &input) const
 Interpolate in the table. More...
 
template<typename IN_ARRAY , typename OUT_ARRAY >
GEOS_HOST_DEVICE real64 compute (IN_ARRAY const &input, OUT_ARRAY &&derivatives) const
 Interpolate in the table with derivatives. More...
 
void move (LvArray::MemorySpace const space, bool const touch)
 Move the KernelWrapper to the given execution space, optionally touching it. More...
 

Friends

class TableFunction
 

Detailed Description

A nested class encapsulating the kernel function doing the interpolation in the table

Definition at line 68 of file TableFunction.hpp.

Member Function Documentation

◆ compute() [1/2]

template<typename IN_ARRAY >
GEOS_HOST_DEVICE real64 geos::TableFunction::KernelWrapper::compute ( IN_ARRAY const &  input) const

Interpolate in the table.

Template Parameters
IN_ARRAYtype of input value array
Parameters
[in]inputvector of input value
Returns
interpolated value

◆ compute() [2/2]

template<typename IN_ARRAY , typename OUT_ARRAY >
GEOS_HOST_DEVICE real64 geos::TableFunction::KernelWrapper::compute ( IN_ARRAY const &  input,
OUT_ARRAY &&  derivatives 
) const

Interpolate in the table with derivatives.

Parameters
[in]inputvector of input value
[out]derivativesvector of derivatives of interpolated value wrt the variables present in input
Returns
interpolated value

◆ move()

void geos::TableFunction::KernelWrapper::move ( LvArray::MemorySpace const  space,
bool const  touch 
)
inline

Move the KernelWrapper to the given execution space, optionally touching it.

Parameters
spacethe space to move the KernelWrapper to
touchwhether the KernelWrapper should be touched in the new space or not
Note
This function exists to enable holding KernelWrapper objects in an ArrayView and have their contents properly moved between memory spaces.

Definition at line 120 of file TableFunction.hpp.


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