9 #include <isce3/core/Basis.h>
12 #include <isce3/cuda/core/Common.h>
20 for (
int i = 0; i < 3; ++i) {
28 CUDA_HOSTDEV
inline gpuBasis(
double * x0,
double * x1,
double * x2) {
29 for (
int i = 0; i < 3; ++i) {
38 for (
int i = 0; i < 3; ++i) {
39 x0[i] = basis.
x0()[i];
40 x1[i] = basis.
x1()[i];
41 x2[i] = basis.
x2()[i];
53 CUDA_DEV
inline void combine(
double * vec,
double * res) {
54 for (
int ii = 0; ii < 3; ++ii) {
55 res[ii] = vec[0] * x0[ii] + vec[1] * x1[ii] + vec[2] * x2[ii];
CUDA_HOSTDEV const Vec3 & x1() const
Return second basis vector.
Definition: Basis.h:43
CUDA_DEV void combine(double *vec, double *res)
Combine the basis with given weights.
Definition: gpuBasis.h:53
CUDA_HOSTDEV const Vec3 & x0() const
Return first basis vector.
Definition: Basis.h:40
CUDA_HOSTDEV gpuBasis(double *x0, double *x1, double *x2)
Constructor with basis vectors.
Definition: gpuBasis.h:28
CUDA_HOST gpuBasis(const isce3::core::Basis &basis)
Constructor from CPU Basis.
Definition: gpuBasis.h:37
CUDA_HOSTDEV gpuBasis()
Default constructor.
Definition: gpuBasis.h:19
Simple class to store three-dimensional basis vectors.
Definition: gpuBasis.h:15
Simple class to store three-dimensional basis vectors.
Definition: Basis.h:15
CUDA_HOSTDEV const Vec3 & x2() const
Return third basis vector.
Definition: Basis.h:46