This MR revises the way C arrays, as well as heap memory and pointers, are modelled and translated by pystencils.
Changes concerning arrays:
PsArrayType
to receive a fixed, n-dimensional, nonempty shape, and a non-const, non-array element typePsSubscript
to only work on arrays via an n-dimensional index tuplePsArrayInitList
to an n-dimensional matrix of expressionsChanges concerning pointers and memory:
PsDeref
PsMemAcc
to access memory by pointersmem_acc
front-end function for accessing memory by pointer in SymPyChanges to the typifier:
PsAssignment
, use a seperate algorithm to determine the mutated memory object and its constness