Add DestructuringBindingsForFieldClass to use pystencils kernels in a more C++-ish way
DestructuringBindingsForFieldClass defines all field-related variables in its subordinated block. However, it leaves a TypedSymbol of type 'Field' for each field undefined. By that trick we can generate kernels that accept structs as kernelparameters. Either to include a pystencils specific Field struct of the following definition: ```cpp template<DTYPE_T, DIMENSION> struct Field { DTYPE_T* data; std::array<DTYPE_T, DIMENSION> shape; std::array<DTYPE_T, DIMENSION> stride; } or to be able to destructure user defined types like `pybind11::array`, `at::Tensor`, `tensorflow::Tensor` ```
Please register or sign in to comment