Lines Matching refs:rart

12   MatProductCtx_RARt *rart = *(MatProductCtx_RARt **)data;  in MatProductCtxDestroy_SeqAIJ_RARt()  local
15 PetscCall(MatTransposeColoringDestroy(&rart->matcoloring)); in MatProductCtxDestroy_SeqAIJ_RARt()
16 PetscCall(MatDestroy(&rart->Rt)); in MatProductCtxDestroy_SeqAIJ_RARt()
17 PetscCall(MatDestroy(&rart->RARt)); in MatProductCtxDestroy_SeqAIJ_RARt()
18 PetscCall(MatDestroy(&rart->ARt)); in MatProductCtxDestroy_SeqAIJ_RARt()
19 PetscCall(PetscFree(rart->work)); in MatProductCtxDestroy_SeqAIJ_RARt()
20 if (rart->destroy) PetscCall((*rart->destroy)(&rart->data)); in MatProductCtxDestroy_SeqAIJ_RARt()
21 PetscCall(PetscFree(rart)); in MatProductCtxDestroy_SeqAIJ_RARt()
28 MatProductCtx_RARt *rart; in MatRARtSymbolic_SeqAIJ_SeqAIJ_colorrart() local
46 PetscCall(PetscNew(&rart)); in MatRARtSymbolic_SeqAIJ_SeqAIJ_colorrart()
47 C->product->data = rart; in MatRARtSymbolic_SeqAIJ_SeqAIJ_colorrart()
63 rart->matcoloring = matcoloring; in MatRARtSymbolic_SeqAIJ_SeqAIJ_colorrart()
73 rart->Rt = Rt_dense; in MatRARtSymbolic_SeqAIJ_SeqAIJ_colorrart()
81 rart->RARt = RARt_dense; in MatRARtSymbolic_SeqAIJ_SeqAIJ_colorrart()
84 PetscCall(PetscMalloc1(A->rmap->n * 4, &rart->work)); in MatRARtSymbolic_SeqAIJ_SeqAIJ_colorrart()
221 MatProductCtx_RARt *rart; in MatRARtNumeric_SeqAIJ_SeqAIJ_colorrart() local
228 rart = (MatProductCtx_RARt *)C->product->data; in MatRARtNumeric_SeqAIJ_SeqAIJ_colorrart()
231 matcoloring = rart->matcoloring; in MatRARtNumeric_SeqAIJ_SeqAIJ_colorrart()
232 Rt = rart->Rt; in MatRARtNumeric_SeqAIJ_SeqAIJ_colorrart()
236 RARt = rart->RARt; in MatRARtNumeric_SeqAIJ_SeqAIJ_colorrart()
237 PetscCall(MatMatMatMultNumeric_SeqAIJ_SeqAIJ_SeqDense(R, A, Rt, RARt, rart->work)); in MatRARtNumeric_SeqAIJ_SeqAIJ_colorrart()
247 MatProductCtx_RARt *rart; in MatRARtSymbolic_SeqAIJ_SeqAIJ_matmattransposemult() local
272 PetscCall(PetscNew(&rart)); in MatRARtSymbolic_SeqAIJ_SeqAIJ_matmattransposemult()
273 rart->ARt = ARt; in MatRARtSymbolic_SeqAIJ_SeqAIJ_matmattransposemult()
274 C->product->data = rart; in MatRARtSymbolic_SeqAIJ_SeqAIJ_matmattransposemult()
282 MatProductCtx_RARt *rart; in MatRARtNumeric_SeqAIJ_SeqAIJ_matmattransposemult() local
287 rart = (MatProductCtx_RARt *)C->product->data; in MatRARtNumeric_SeqAIJ_SeqAIJ_matmattransposemult()
288 PetscCall(MatMatTransposeMultNumeric_SeqAIJ_SeqAIJ(A, R, rart->ARt)); /* dominate! */ in MatRARtNumeric_SeqAIJ_SeqAIJ_matmattransposemult()
289 PetscCall(MatMatMultNumeric_SeqAIJ_SeqAIJ(R, rart->ARt, C)); in MatRARtNumeric_SeqAIJ_SeqAIJ_matmattransposemult()
296 MatProductCtx_RARt *rart; in MatRARtSymbolic_SeqAIJ_SeqAIJ() local
304 PetscCall(PetscNew(&rart)); in MatRARtSymbolic_SeqAIJ_SeqAIJ()
305 rart->data = C->product->data; in MatRARtSymbolic_SeqAIJ_SeqAIJ()
306 rart->destroy = C->product->destroy; in MatRARtSymbolic_SeqAIJ_SeqAIJ()
307 rart->Rt = Rt; in MatRARtSymbolic_SeqAIJ_SeqAIJ()
308 C->product->data = rart; in MatRARtSymbolic_SeqAIJ_SeqAIJ()
317 MatProductCtx_RARt *rart; in MatRARtNumeric_SeqAIJ_SeqAIJ() local
322 rart = (MatProductCtx_RARt *)C->product->data; in MatRARtNumeric_SeqAIJ_SeqAIJ()
323 PetscCall(MatTranspose(R, MAT_REUSE_MATRIX, &rart->Rt)); in MatRARtNumeric_SeqAIJ_SeqAIJ()
325 C->product->data = rart->data; in MatRARtNumeric_SeqAIJ_SeqAIJ()
326 PetscCall(MatMatMatMultNumeric_SeqAIJ_SeqAIJ_SeqAIJ(R, A, rart->Rt, C)); in MatRARtNumeric_SeqAIJ_SeqAIJ()
327 C->product->data = rart; in MatRARtNumeric_SeqAIJ_SeqAIJ()