Skip to content
Snippets Groups Projects
Stephan Seitz's avatar
Stephan Seitz authored
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`

```
8e63c9ff
Forked from pycodegen / pystencils
1046 commits behind, 1 commit ahead of the upstream repository.