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*/