Loading [MathJax]/extensions/TeX/AMSsymbols.js
Open3D (C++ API)  0.19.0
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Namespaces | Macros | Functions
BinaryEWSYCL.cpp File Reference

(1e7b174 (Tue Jan 7 15:20:18 2025 -0800))

#include "open3d/core/Dispatch.h"
#include "open3d/core/Dtype.h"
#include "open3d/core/Indexer.h"
#include "open3d/core/MemoryManager.h"
#include "open3d/core/ParallelForSYCL.h"
#include "open3d/core/SizeVector.h"
#include "open3d/core/Tensor.h"
#include "open3d/core/kernel/BinaryEW.h"
#include "open3d/utility/Logging.h"

Namespaces

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

Macros

#define BINARY_ELEMENT_KERNEL(name, elem_fn)
 
#define BINARY_ELEMENT_KERNEL(name, elem_op)
 
#define BINARY_ELEMENT_KERNEL(name, elem_op)
 

Functions

void open3d::core::kernel::BinaryEWSYCL (const Tensor &lhs, const Tensor &rhs, Tensor &dst, BinaryEWOpCode op_code)
 

Macro Definition Documentation

◆ BINARY_ELEMENT_KERNEL [1/3]

#define BINARY_ELEMENT_KERNEL (   name,
  elem_fn 
)
Value:
template <typename src_t, typename dst_t = src_t> \
struct name##ElementKernel : public BinaryElementKernel { \
using BinaryElementKernel::BinaryElementKernel; \
void operator()(int64_t i) { \
const src_t* lhs = indexer.GetInputPtr<src_t>(0, i); \
const src_t* rhs = indexer.GetInputPtr<src_t>(1, i); \
dst_t* dst = indexer.GetOutputPtr<dst_t>(i); \
*dst = elem_fn(*lhs, *rhs); \
} \
}
Indexer indexer
Definition: BinaryEWSYCL.cpp:29
std::string name
Definition: FilePCD.cpp:39

◆ BINARY_ELEMENT_KERNEL [2/3]

#define BINARY_ELEMENT_KERNEL (   name,
  elem_op 
)
Value:
template <typename src_t, typename dst_t = src_t> \
struct name##ElementKernel : public BinaryElementKernel { \
using BinaryElementKernel::BinaryElementKernel; \
void operator()(int64_t i) { \
const src_t* lhs = indexer.GetInputPtr<src_t>(0, i); \
const src_t* rhs = indexer.GetInputPtr<src_t>(1, i); \
dst_t* dst = indexer.GetOutputPtr<dst_t>(i); \
*dst = (*lhs)elem_op(*rhs); \
} \
}

◆ BINARY_ELEMENT_KERNEL [3/3]

#define BINARY_ELEMENT_KERNEL (   name,
  elem_op 
)
Value:
template <typename src_t, typename dst_t = src_t> \
struct name##ElementKernel : public BinaryElementKernel { \
using BinaryElementKernel::BinaryElementKernel; \
void operator()(int64_t i) { \
const src_t* lhs = indexer.GetInputPtr<src_t>(0, i); \
const src_t* rhs = indexer.GetInputPtr<src_t>(1, i); \
dst_t* dst = indexer.GetOutputPtr<dst_t>(i); \
*dst = static_cast<bool>(*lhs) elem_op static_cast<bool>(*rhs); \
} \
}

Variable Documentation

◆ indexer

Indexer indexer
protected