26 const scalar_t* A_3x3_ptr = A_3x3.
GetDataPtr<scalar_t>();
33 const scalar_t* A_2x2_ptr = A_2x2.
GetDataPtr<scalar_t>();
46 scalar_t* output_ptr = output_cpu.
GetDataPtr<scalar_t>();
47 int* ipiv_ptr =
static_cast<int*
>(ipiv_cpu.
GetDataPtr());
49 for (
int i = 0; i < n; i++) {
50 det *= output_ptr[i * n + i];
51 if (ipiv_ptr[i] != i) {
#define DISPATCH_FLOAT_DTYPE_TO_TEMPLATE(DTYPE,...)
#define AssertTensorDtypes(tensor,...)
SizeVector GetShape() const
Tensor To(Dtype dtype, bool copy=false) const
CLOUDVIEWER_DEVICE CLOUDVIEWER_FORCE_INLINE scalar_t det3x3(const scalar_t *A_3x3)
CLOUDVIEWER_DEVICE CLOUDVIEWER_FORCE_INLINE scalar_t det2x2(const scalar_t *A_2x2)
void LUIpiv(const Tensor &A, Tensor &ipiv, Tensor &output)
double Det(const Tensor &A)
Generic file read and write utility for python interface.