Lines Matching refs:dir

10   PC_QR         *dir = (PC_QR *)pc->data;
19 if (dir->hdr.reusefill && pc->setupcalled) ((PC_Factor *)dir)->info.fill = dir->hdr.actualfill;
22 if (dir->hdr.inplace) {
27 PetscCall(MatQRFactor(pc->pmat, dir->col, &((PC_Factor *)dir)->info));
34 ((PC_Factor *)dir)->fact = pc->pmat;
39 if (!((PC_Factor *)dir)->fact) PetscCall(MatGetFactor(pc->pmat, ((PC_Factor *)dir)->solvertype, MAT_FACTOR_QR, &((PC_Factor *)dir)->fact));
40 PetscCall(MatQRFactorSymbolic(((PC_Factor *)dir)->fact, pc->pmat, dir->col, &((PC_Factor *)dir)->info));
41 PetscCall(MatGetInfo(((PC_Factor *)dir)->fact, MAT_LOCAL, &info));
42 dir->hdr.actualfill = info.fill_ratio_needed;
44 PetscCall(MatQRFactorSymbolic(((PC_Factor *)dir)->fact, pc->pmat, dir->col, &((PC_Factor *)dir)->info));
45 PetscCall(MatGetInfo(((PC_Factor *)dir)->fact, MAT_LOCAL, &info));
46 dir->hdr.actualfill = info.fill_ratio_needed;
48 PetscCall(MatFactorGetError(((PC_Factor *)dir)->fact, &err));
50 PetscCall(MatFactorGetError(((PC_Factor *)dir)->fact, &err));
56 PetscCall(MatQRFactorNumeric(((PC_Factor *)dir)->fact, pc->pmat, &((PC_Factor *)dir)->info));
57 PetscCall(MatFactorGetError(((PC_Factor *)dir)->fact, &err));
66 PetscCall(MatFactorGetSolverType(((PC_Factor *)dir)->fact, &solverpackage));
74 PC_QR *dir = (PC_QR *)pc->data;
77 if (!dir->hdr.inplace && ((PC_Factor *)dir)->fact) PetscCall(MatDestroy(&((PC_Factor *)dir)->fact));
78 PetscCall(ISDestroy(&dir->col));
84 PC_QR *dir = (PC_QR *)pc->data;
88 PetscCall(PetscFree(((PC_Factor *)dir)->ordering));
89 PetscCall(PetscFree(((PC_Factor *)dir)->solvertype));
97 PC_QR *dir = (PC_QR *)pc->data;
101 fact = dir->hdr.inplace ? pc->pmat : ((PC_Factor *)dir)->fact;
108 PC_QR *dir = (PC_QR *)pc->data;
112 fact = dir->hdr.inplace ? pc->pmat : ((PC_Factor *)dir)->fact;
119 PC_QR *dir = (PC_QR *)pc->data;
123 fact = dir->hdr.inplace ? pc->pmat : ((PC_Factor *)dir)->fact;
148 PC_QR *dir;
151 PetscCall(PetscNew(&dir));
152 pc->data = (void *)dir;
155 dir->col = NULL;