Open3D (C++ API)  0.18.0
Data Structures | Namespaces | Macros | Functions
SVD3x3.h File Reference

(b9e049c (Sun Dec 31 11:36:26 2023 -0800))

#include <cmath>
#include "open3d/core/CUDAUtils.h"
#include "open3d/t/geometry/kernel/GeometryMacros.h"
#include "math.h"
#include "open3d/core/linalg/kernel/Matrix.h"

Go to the source code of this file.

Data Structures

union  open3d::core::linalg::kernel::un< scalar_t >
 

Namespaces

 open3d
 
 open3d::core
 
 open3d::core::linalg
 
 open3d::core::linalg::kernel
 

Macros

#define gone   1065353216
 
#define gsine_pi_over_eight   1053028117
 
#define gcosine_pi_over_eight   1064076127
 
#define gtiny_number   1.e-20
 
#define gfour_gamma_squared   5.8284273147583007813
 
#define __fadd_rn(x, y)   (x + y)
 
#define __fsub_rn(x, y)   (x - y)
 
#define __frsqrt_rn(x)   (1.0 / sqrt(x))
 
#define __dadd_rn(x, y)   (x + y)
 
#define __dsub_rn(x, y)   (x - y)
 
#define __drsqrt_rn(x)   (1.0 / sqrt(x))
 
#define __add_rn(x, y)   (x + y)
 
#define __sub_rn(x, y)   (x - y)
 
#define __rsqrt_rn(x)   (1.0 / sqrt(x))
 

Functions

template<typename scalar_t >
OPEN3D_DEVICE OPEN3D_FORCE_INLINE void open3d::core::linalg::kernel::svd3x3 (const scalar_t *A_3x3, scalar_t *U_3x3, scalar_t *S_3x1, scalar_t *V_3x3)
 
template<>
OPEN3D_DEVICE OPEN3D_FORCE_INLINE void open3d::core::linalg::kernel::svd3x3< double > (const double *A_3x3, double *U_3x3, double *S_3x1, double *V_3x3)
 
template<>
OPEN3D_DEVICE OPEN3D_FORCE_INLINE void open3d::core::linalg::kernel::svd3x3< float > (const float *A_3x3, float *U_3x3, float *S_3x1, float *V_3x3)
 
template<typename scalar_t >
OPEN3D_DEVICE OPEN3D_FORCE_INLINE void open3d::core::linalg::kernel::solve_svd3x3 (const scalar_t *A_3x3, const scalar_t *B_3x1, scalar_t *X_3x1)
 

Macro Definition Documentation

◆ __add_rn

#define __add_rn (   x,
 
)    (x + y)

◆ __dadd_rn

#define __dadd_rn (   x,
 
)    (x + y)

◆ __drsqrt_rn

#define __drsqrt_rn (   x)    (1.0 / sqrt(x))

◆ __dsub_rn

#define __dsub_rn (   x,
 
)    (x - y)

◆ __fadd_rn

#define __fadd_rn (   x,
 
)    (x + y)

◆ __frsqrt_rn

#define __frsqrt_rn (   x)    (1.0 / sqrt(x))

◆ __fsub_rn

#define __fsub_rn (   x,
 
)    (x - y)

◆ __rsqrt_rn

#define __rsqrt_rn (   x)    (1.0 / sqrt(x))

◆ __sub_rn

#define __sub_rn (   x,
 
)    (x - y)

◆ gcosine_pi_over_eight

#define gcosine_pi_over_eight   1064076127

◆ gfour_gamma_squared

#define gfour_gamma_squared   5.8284273147583007813

◆ gone

#define gone   1065353216

◆ gsine_pi_over_eight

#define gsine_pi_over_eight   1053028117

◆ gtiny_number

#define gtiny_number   1.e-20