xref: /petsc/src/mat/tests/ex200.c (revision b122ec5aa1bd4469eb4e0673542fb7de3f411254)
1 
2 #include <petscmat.h>
3 
4 int main(int argc,char **argv)
5 {
6    Mat            A, B;
7    const char     *pfx;
8 
9    CHKERRQ(PetscInitialize(&argc, &argv, NULL, NULL));
10    CHKERRQ(MatCreate(PETSC_COMM_WORLD, &A));
11    CHKERRQ(MatSetSizes(A, 1, 1, PETSC_DECIDE, PETSC_DECIDE));
12    CHKERRQ(MatSetUp(A));
13    CHKERRQ(MatSetOptionsPrefix(A, "foo_"));
14    CHKERRQ(MatGetDiagonalBlock(A, &B));
15    /* Test set options prefix with the string obtained from get options prefix */
16    CHKERRQ(PetscObjectGetOptionsPrefix((PetscObject)A,&pfx));
17    CHKERRQ(MatSetOptionsPrefix(B, pfx));
18    CHKERRQ(MatDestroy(&A));
19 
20   CHKERRQ(PetscFinalize());
21   return 0;
22 }
23 
24 /*TEST
25 
26    test:
27 
28 TEST*/
29