Lines Matching refs:D
317 Mat D; member
328 …PetscCall(PetscObjectQuery((PetscObject)data->D, "MatProductCtx_Transpose", (PetscObject *)&contai… in MatProductCtxDestroy_Transpose()
330 PetscCall(PetscObjectCompose((PetscObject)data->D, "MatProductCtx_Transpose", NULL)); in MatProductCtxDestroy_Transpose()
335 static PetscErrorCode MatProductNumeric_Transpose(Mat D) in MatProductNumeric_Transpose() argument
342 MatCheckProduct(D, 1); in MatProductNumeric_Transpose()
343 …PetscCheck(D->product->data, PetscObjectComm((PetscObject)D), PETSC_ERR_PLIB, "Product data empty"… in MatProductNumeric_Transpose()
344 product = D->product; in MatProductNumeric_Transpose()
345 PetscCall(PetscObjectQuery((PetscObject)D, "MatProductCtx_Transpose", (PetscObject *)&container)); in MatProductNumeric_Transpose()
346 …PetscCheck(container, PetscObjectComm((PetscObject)D), PETSC_ERR_PLIB, "MatProductCtx_Transpose mi… in MatProductNumeric_Transpose()
350 PetscCall((*data->numeric)(D)); in MatProductNumeric_Transpose()
351 PetscCall(MatScale(D, data->scale)); in MatProductNumeric_Transpose()
356 static PetscErrorCode MatProductSymbolic_Transpose(Mat D) in MatProductSymbolic_Transpose() argument
363 MatCheckProduct(D, 1); in MatProductSymbolic_Transpose()
364 product = D->product; in MatProductSymbolic_Transpose()
365 if (D->ops->productsymbolic == MatProductSymbolic_Transpose) { in MatProductSymbolic_Transpose()
366 …PetscCheck(!product->data, PetscObjectComm((PetscObject)D), PETSC_ERR_PLIB, "Product data not empt… in MatProductSymbolic_Transpose()
367 … PetscCall(PetscObjectQuery((PetscObject)D, "MatProductCtx_Transpose", (PetscObject *)&container)); in MatProductSymbolic_Transpose()
368 …PetscCheck(container, PetscObjectComm((PetscObject)D), PETSC_ERR_PLIB, "MatProductCtx_Transpose mi… in MatProductSymbolic_Transpose()
370 PetscCall(MatProductSetFromOptions(D)); in MatProductSymbolic_Transpose()
371 PetscCall(MatProductSymbolic(D)); in MatProductSymbolic_Transpose()
372 data->numeric = D->ops->productnumeric; in MatProductSymbolic_Transpose()
375 D->ops->productnumeric = MatProductNumeric_Transpose; in MatProductSymbolic_Transpose()
382 static PetscErrorCode MatProductSetFromOptions_Transpose(Mat D) in MatProductSetFromOptions_Transpose() argument
393 MatCheckProduct(D, 1); in MatProductSetFromOptions_Transpose()
394 A = D->product->A; in MatProductSetFromOptions_Transpose()
395 B = D->product->B; in MatProductSetFromOptions_Transpose()
396 C = D->product->C; in MatProductSetFromOptions_Transpose()
400 …PetscCheck(Aistrans || Bistrans || Cistrans, PetscObjectComm((PetscObject)D), PETSC_ERR_PLIB, "Thi… in MatProductSetFromOptions_Transpose()
431 ptype = D->product->type; /* same product type by default */ in MatProductSetFromOptions_Transpose()
438 … PetscCall(PetscObjectQuery((PetscObject)D, "MatProductCtx_Transpose", (PetscObject *)&container)); in MatProductSetFromOptions_Transpose()
440 PetscCall(PetscContainerCreate(PetscObjectComm((PetscObject)D), &container)); in MatProductSetFromOptions_Transpose()
443 … PetscCall(PetscObjectCompose((PetscObject)D, "MatProductCtx_Transpose", (PetscObject)container)); in MatProductSetFromOptions_Transpose()
446 data->D = D; in MatProductSetFromOptions_Transpose()
449 switch (D->product->type) { in MatProductSetFromOptions_Transpose()
495 …SETERRQ(PetscObjectComm((PetscObject)D), PETSC_ERR_SUP, "ProductType %s is not supported", MatProd… in MatProductSetFromOptions_Transpose()
498 PetscCall(MatProductReplaceMats(Ain, Bin, Cin, D)); in MatProductSetFromOptions_Transpose()
499 PetscCall(MatProductSetType(D, ptype)); in MatProductSetFromOptions_Transpose()
500 if (container) D->ops->productsymbolic = MatProductSymbolic_Transpose; in MatProductSetFromOptions_Transpose()
501 else PetscCall(MatProductSetFromOptions(D)); in MatProductSetFromOptions_Transpose()