Lines Matching refs:aijcrl
19 Mat_AIJCRL *aijcrl = (Mat_AIJCRL *)A->spptr;
22 if (aijcrl) {
23 PetscCall(PetscFree2(aijcrl->acols, aijcrl->icols));
24 PetscCall(VecDestroy(&aijcrl->fwork));
25 PetscCall(VecDestroy(&aijcrl->xwork));
26 PetscCall(PetscFree(aijcrl->array));
39 Mat_AIJCRL *aijcrl = (Mat_AIJCRL *)A->spptr;
49 aijcrl->nz = Aij->nz + Bij->nz;
50 aijcrl->m = A->rmap->n;
51 aijcrl->rmax = rmax;
53 PetscCall(PetscFree2(aijcrl->acols, aijcrl->icols));
54 PetscCall(PetscMalloc2(rmax * m, &aijcrl->acols, rmax * m, &aijcrl->icols));
55 acols = aijcrl->acols;
56 icols = aijcrl->icols;
71 PetscCall(PetscInfo(A, "Percentage of 0's introduced for vectorized multiply %g\n", 1.0 - ((double)aijcrl->nz) / PetscMax((double)rmax * m, 1)));
73 PetscCall(PetscFree(aijcrl->array));
76 PetscCall(VecDestroy(&aijcrl->xwork));
77 PetscCall(VecCreateMPIWithArray(PetscObjectComm((PetscObject)A), 1, nd, PETSC_DECIDE, array, &aijcrl->xwork));
78 PetscCall(VecDestroy(&aijcrl->fwork));
79 PetscCall(VecCreateSeqWithArray(PETSC_COMM_SELF, 1, a->B->cmap->n, array + nd, &aijcrl->fwork));
81 aijcrl->array = array;
82 aijcrl->xscat = a->Mvctx;
114 Mat_AIJCRL *aijcrl;
119 PetscCall(PetscNew(&aijcrl));
120 B->spptr = (void *)aijcrl;