CeedElemRestriction

int CeedPermutePadOffsets(const CeedInt *offsets, CeedInt *blkoffsets, CeedInt nblk, CeedInt nelem, CeedInt blksize, CeedInt elemsize)

Permute and pad offsets for a blocked restriction.

Utility Functions

Return

An error code: 0 - success, otherwise - failure

Parameters
  • offsets: Array of shape [nelem, elemsize]. Row i holds the ordered list of the offsets (into the input CeedVector) for the unknowns corresponding to element i, where 0 <= i < nelem. All offsets must be in the range [0, lsize - 1].

  • blkoffsets: Array of permuted and padded offsets of shape [nblk, elemsize, blksize].

  • nblk: Number of blocks

  • nelem: Number of elements

  • blksize: Number of elements in a block

  • elemsize: Size of each element