is a library callback that returns a new in *r created by changing the value assumed for positions that are not explicitly given.


  • Used in C/C++ code in a library function called from Mathematica.
  • A nonzero error code value will be returned if there is not sufficient memory or the rank of imp is nonzero or it has a type inconsistent with the explicitly stored values.
  • The destination *r should either be null (0) or an MSparseArray object.
  • If *r==s the computation will be done in place if possible; otherwise a new MSparseArray is created. If *r is not null then the memory will be freed before creating the new result.
  • The argument imp should either be null (0) or an MTensor of rank 0.
  • If imp is null, then the explicit positions will be recomputed based on the current implicit value and the actual explicit values stored in s.
  • If imp is a rank 0 MTensor of type consistent with the explicit values, then the implicit value will be changed and the explicit positions recomputed based on the new value.