xref: /petsc/src/vec/pf/impls/string/tests/ex1.c (revision 3f02e49b19195914bf17f317a25cb39636853415)
1 static char help[] = "Tests ().\n\n";
2 
3 #include <petscpf.h>
4 #include <petscvec.h>
5 
6 int main(int argc, char **argv)
7 {
8   PetscScalar x = 2, f;
9   PF          pf;
10 
11   PetscFunctionBeginUser;
12   PetscCall(PetscInitialize(&argc, &argv, NULL, help));
13 
14   PetscCall(PFCreate(PETSC_COMM_WORLD, 1, 1, &pf));
15   PetscCall(PFSetType(pf, PFSTRING, (void *)"f = 2*x;"));
16   PetscCall(PFSetFromOptions(pf));
17   PetscCall(PFApply(pf, 1, &x, &f));
18   PetscCheck(f == 4, PETSC_COMM_WORLD, PETSC_ERR_PLIB, "Error in calling string function");
19   PetscCall(PFDestroy(&pf));
20 
21   PetscCall(PetscFinalize());
22   return 0;
23 }
24 
25 /*TEST
26 
27      test:
28        requires: defined(PETSC_HAVE_POPEN) defined(PETSC_USE_SHARED_LIBRARIES) defined(PETSC_HAVE_DYNAMIC_LIBRARIES)
29        args: -pf_view
30 
31 TEST*/
32