1. 10 Jul, 2019 1 commit
    • Stephan Seitz's avatar
      Add DestructuringBindingsForFieldClass to use pystencils kernels in a more C++-ish way · 8e63c9ff
      Stephan Seitz authored
      DestructuringBindingsForFieldClass defines all field-related variables
      in its subordinated block.
      However, it leaves a TypedSymbol of type 'Field' for each field
      By that trick we can generate kernels that accept structs as
      Either to include a pystencils specific Field struct of the following
      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`