Actual source code: ex23.c


  2: static char help[] = "Tests string options with spaces";

  4: #include <petscsys.h>

  6: int main(int argc, char **argv)
  7: {
  8:   PetscBool ts_view      = PETSC_FALSE;
  9:   PetscInt  ts_max_steps = 0, snes_max_it = 0;
 10:   PetscReal ts_max_time   = 0.;
 11:   PetscBool foo_view      = PETSC_FALSE;
 12:   PetscInt  foo_max_steps = 0, bar_max_it = 0;
 13:   PetscReal foo_max_time = 0.;

 15:   PetscFunctionBeginUser;
 16:   PetscCall(PetscInitialize(&argc, &argv, NULL, help));
 17:   PetscCall(PetscOptionsGetBool(NULL, 0, "-ts_view", &ts_view, NULL));
 18:   PetscCall(PetscOptionsGetReal(NULL, 0, "-ts_max_time", &ts_max_time, NULL));
 19:   PetscCall(PetscOptionsGetInt(NULL, 0, "-ts_max_steps", &ts_max_steps, NULL));
 20:   PetscCall(PetscOptionsGetBool(NULL, 0, "-foo_view", &foo_view, NULL));
 21:   PetscCall(PetscOptionsGetReal(NULL, 0, "-foo_max_time", &foo_max_time, NULL));
 22:   PetscCall(PetscOptionsGetInt(NULL, 0, "-foo_max_steps", &foo_max_steps, NULL));
 23:   PetscCall(PetscOptionsGetInt(NULL, 0, "-snes_max_it", &snes_max_it, NULL));
 24:   PetscCall(PetscOptionsGetInt(NULL, 0, "-bar_max_it", &bar_max_it, NULL));
 25:   PetscCall(PetscPrintf(PETSC_COMM_WORLD, "-ts_view = %s\n-ts_max_time = %f\n-ts_max_steps = %" PetscInt_FMT "\n-snes_max_it = %" PetscInt_FMT "\n", ts_view ? "true" : "false", (double)ts_max_time, ts_max_steps, snes_max_it));
 26:   PetscCall(PetscFinalize());
 27:   return 0;
 28: }

 30: /*TEST

 32:    test:
 33:       args: -options_file_yaml ex23options
 34:       localrunfiles: ex23options

 36:    test:
 37:       suffix: string
 38:       args: -options_string_yaml "
 39:         foo: &foo
 40:           view: true
 41:           max: &foomax
 42:             steps: 3
 43:             time: 1.4
 44:         bar: &bar
 45:           max_it: 5
 46:         ts:
 47:           <<: *foo
 48:           max:
 49:             <<: *foomax
 50:             steps: 10
 51:         snes: *bar"

 53: TEST*/