4#include <isce3/core/forward.h>
5#include <isce3/cuda/core/forward.h>
9#include <isce3/core/Common.h>
10#include <isce3/core/Constants.h>
12namespace isce3 {
namespace cuda {
namespace core {
33 CUDA_HOSTDEV
double xStart()
const {
return _xstart; }
36 CUDA_HOSTDEV
double yStart()
const {
return _ystart; }
45 CUDA_HOSTDEV
double xSpacing()
const {
return _dx; }
48 CUDA_HOSTDEV
double ySpacing()
const {
return _dy; }
51 CUDA_HOSTDEV
size_t length()
const {
return _length; }
54 CUDA_HOSTDEV
size_t width()
const {
return _width; }
57 CUDA_HOSTDEV T
refValue()
const {
return _refValue; }
60 CUDA_HOSTDEV
bool haveData()
const {
return _haveData; }
63 CUDA_HOSTDEV
bool boundsError()
const {
return _boundsError; }
67 isce3::core::dataInterpMethod
interpMethod()
const {
return _interpMethod; }
73 CUDA_HOSTDEV T*
data() {
return _data; }
76 CUDA_HOSTDEV
const T*
data()
const {
return _data; }
79 CUDA_HOSTDEV
void data(T* v) { _data = v; }
88 CUDA_DEV T
eval(
double y,
double x)
const;
91 T
eval_h(
double y,
double x);
94 CUDA_HOSTDEV
bool contains(
double y,
double x)
const
111 double _xstart, _ystart, _dx, _dy;
113 size_t _length, _width;
116 isce3::core::dataInterpMethod _interpMethod;
127 void _finalizeInterp();
Data structure to store 2D Lookup table.
Definition LUT2d.h:20
Definition gpuInterpolator.h:13
CUDA_HOSTDEV const T * data() const
Read-only access to data values.
Definition gpuLUT2d.h:76
CUDA_HOSTDEV double yStart() const
Get starting Y-coordinate.
Definition gpuLUT2d.h:36
CUDA_HOSTDEV double xSpacing() const
Get X-spacing.
Definition gpuLUT2d.h:45
CUDA_HOSTDEV size_t width() const
Get LUT width (number of samples)
Definition gpuLUT2d.h:54
CUDA_HOSTDEV bool boundsError() const
Get bounds error flag.
Definition gpuLUT2d.h:63
CUDA_HOSTDEV bool haveData() const
Get flag for having data.
Definition gpuLUT2d.h:60
~gpuLUT2d()
Destructor.
Definition gpuLUT2d.cu:150
CUDA_HOSTDEV bool contains(double y, double x) const
Check if point resides in domain of LUT.
Definition gpuLUT2d.h:94
CUDA_HOSTDEV isce3::core::dataInterpMethod interpMethod() const
Get interp method.
Definition gpuLUT2d.h:67
CUDA_HOSTDEV gpuInterpolator< T > ** interp() const
Get pointer to interpolator.
Definition gpuLUT2d.h:70
CUDA_HOSTDEV double yEnd() const
Get end Y-coordinate.
Definition gpuLUT2d.h:42
gpuLUT2d(const isce3::core::LUT2d< T > &)
Deep copy constructor from CPU LUT1d.
Definition gpuLUT2d.cu:74
CUDA_HOSTDEV double xStart() const
Get starting X-coordinate.
Definition gpuLUT2d.h:33
CUDA_HOSTDEV T refValue() const
Get the reference value.
Definition gpuLUT2d.h:57
CUDA_HOSTDEV gpuLUT2d & operator=(gpuLUT2d< T > &)
Shallow assignment operator on device.
Definition gpuLUT2d.cu:131
CUDA_HOSTDEV double xEnd() const
Get end X-coordinate.
Definition gpuLUT2d.h:39
CUDA_HOSTDEV void data(T *v)
Set the data values pointer.
Definition gpuLUT2d.h:79
CUDA_DEV T eval(double y, double x) const
Evaluate the LUT.
Definition gpuLUT2d.cu:161
T eval_h(double y, double x)
Evaluate the LUT from host (test function)
Definition gpuLUT2d.cu:199
CUDA_HOSTDEV double ySpacing() const
Get Y-spacing.
Definition gpuLUT2d.h:48
CUDA_HOSTDEV size_t length() const
Get LUT length (number of lines)
Definition gpuLUT2d.h:51
CUDA_HOSTDEV T * data()
Access to data values.
Definition gpuLUT2d.h:73
base interpolator is an abstract base class
Definition BinarySearchFunc.cpp:5