Lines Matching refs:mmcfdata
140 MatProductCtx_MatMatCF *mmcfdata = *(MatProductCtx_MatMatCF **)data; in MatProductDestroy_CF() local
143 if (mmcfdata->destroy) PetscCall((*mmcfdata->destroy)(&mmcfdata->ctx)); in MatProductDestroy_CF()
144 PetscCall(MatDestroy(&mmcfdata->Dwork)); in MatProductDestroy_CF()
145 PetscCall(PetscFree(mmcfdata)); in MatProductDestroy_CF()
151 MatProductCtx_MatMatCF *mmcfdata = (MatProductCtx_MatMatCF *)data; in MatProductNumericPhase_CF() local
154 PetscCheck(mmcfdata, PetscObjectComm((PetscObject)C), PETSC_ERR_PLIB, "Missing data"); in MatProductNumericPhase_CF()
155 …PetscCheck(mmcfdata->numeric, PetscObjectComm((PetscObject)C), PETSC_ERR_PLIB, "Missing numeric op… in MatProductNumericPhase_CF()
158 C->product->type = mmcfdata->ptype; in MatProductNumericPhase_CF()
159 C->product->data = mmcfdata->ctx; in MatProductNumericPhase_CF()
160 C->product->Dwork = mmcfdata->Dwork; in MatProductNumericPhase_CF()
163 PetscCall((*mmcfdata->numeric)(C)); in MatProductNumericPhase_CF()
170 MatProductCtx_MatMatCF *mmcfdata; in MatProductSymbolicPhase_CF() local
177 PetscCall(PetscNew(&mmcfdata)); in MatProductSymbolicPhase_CF()
179 mmcfdata->numeric = C->ops->productnumeric; in MatProductSymbolicPhase_CF()
180 mmcfdata->ptype = C->product->type; in MatProductSymbolicPhase_CF()
181 mmcfdata->ctx = C->product->data; in MatProductSymbolicPhase_CF()
182 mmcfdata->destroy = C->product->destroy; in MatProductSymbolicPhase_CF()
183 mmcfdata->Dwork = C->product->Dwork; in MatProductSymbolicPhase_CF()
190 *data = mmcfdata; in MatProductSymbolicPhase_CF()