Actual source code: ex1.c
1: static char help[] = "Tests ().\n\n";
3: #include <petscpf.h>
4: #include <petscvec.h>
6: int main(int argc, char **argv)
7: {
8: PetscScalar x = 2, f;
9: PF pf;
11: PetscFunctionBeginUser;
12: PetscCall(PetscInitialize(&argc, &argv, (char *)0, help));
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));
21: PetscCall(PetscFinalize());
22: return 0;
23: }
25: /*TEST
27: test:
28: requires: defined(PETSC_HAVE_POPEN) defined(PETSC_USE_SHARED_LIBRARIES) defined(PETSC_HAVE_DYNAMIC_LIBRARIES)
29: args: -pf_view
31: TEST*/