Actual source code: test4.c
slepc-3.21.2 2024-09-25
1: /*
2: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3: SLEPc - Scalable Library for Eigenvalue Problem Computations
4: Copyright (c) 2002-, Universitat Politecnica de Valencia, Spain
6: This file is part of SLEPc.
7: SLEPc is distributed under a 2-clause BSD license (see LICENSE).
8: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
9: */
11: static char help[] = "Tests SlepcInitialize() after PetscInitialize().\n\n";
13: #include <slepcsys.h>
15: int main(int argc,char **argv)
16: {
17: PetscBool pInitialized,sInitialized,pFinalized,sFinalized,skip_petsc_finalize;
19: PetscCall(PetscInitialize(&argc,&argv,(char*)0,help));
20: PetscCall(PetscInitialized(&pInitialized));
21: PetscCall(SlepcInitialized(&sInitialized));
22: PetscCall(PetscPrintf(PETSC_COMM_WORLD,"PetscInitialized=%d, SlepcInitialized=%d.\n",(int)pInitialized,(int)sInitialized));
23: PetscFunctionBeginUser;
24: PetscCall(SlepcInitialize(&argc,&argv,(char*)0,help));
25: PetscCall(PetscInitialized(&pInitialized));
26: PetscCall(SlepcInitialized(&sInitialized));
27: PetscCall(PetscPrintf(PETSC_COMM_WORLD,"PetscInitialized=%d, SlepcInitialized=%d.\n",(int)pInitialized,(int)sInitialized));
28: PetscCall(PetscOptionsHasName(NULL,NULL,"-skip_petsc_finalize",&skip_petsc_finalize));
29: if (!skip_petsc_finalize) {
30: PetscCall(PetscFinalize());
31: PetscCall(PetscFinalized(&pFinalized));
32: if (!pFinalized) printf("Unexpected value: PetscFinalized() returned False after PetscFinalize()\n");
33: }
34: PetscCall(SlepcFinalized(&sFinalized));
35: if (sFinalized) printf("Unexpected value: SlepcFinalized() returned True before SlepcFinalize()\n");
36: PetscCall(SlepcFinalize());
37: PetscCall(SlepcFinalized(&sFinalized));
38: if (!sFinalized) printf("Unexpected value: SlepcFinalized() returned False after SlepcFinalize()\n");
39: if (skip_petsc_finalize) PetscCall(PetscFinalize());
40: return 0;
41: }
43: /*TEST
45: testset:
46: output_file: output/test4_1.out
47: test:
48: suffix: 1
49: test:
50: suffix: 2
51: args: -skip_petsc_finalize
53: TEST*/