Compadre 1.5.5
Loading...
Searching...
No Matches
CommandLineProcessor.hpp
Go to the documentation of this file.
1#ifndef COMMANDLINEPROCESSOR
2#define COMMANDLINEPROCESSOR
3
5
8
9 CommandLineProcessor(int argc, char* args[], const bool print=true) {
10
11 order = 2;
12 dimension = 3;
16
17 constraint_name = "NO_CONSTRAINT"; // "NEUMANN_GRAD_SCALAR"
18 solver_name = "QR"; // LU
19 problem_name = "STANDARD"; // MANIFOLD
20
21 for (int i = 1; i < argc; ++i) {
22 if (i + 1 < argc) { // not at end
23 if (std::string(args[i]) == "--p") {
24 order = atoi(args[i+1]);
25 } else if (std::string(args[i]) == "--d") {
26 dimension = atoi(args[i+1]);
27 } else if (std::string(args[i]) == "--nt") {
28 number_target_coords = atoi(args[i+1]);
29 } else if (std::string(args[i]) == "--ns") {
30 number_source_coords = atoi(args[i+1]);
31 } else if (std::string(args[i]) == "--nb") {
32 number_of_batches = atoi(args[i+1]);
33 } else if (std::string(args[i]) == "--solver") {
34 solver_name = std::string(args[i+1]);
35 } else if (std::string(args[i]) == "--problem") {
36 problem_name = std::string(args[i+1]);
37 } else if (std::string(args[i]) == "--constraint") {
38 constraint_name = std::string(args[i+1]);
39 }
40 }
41 }
42
43 if (print) {
44 std::cout << "************************************************************************" << std::endl;
45 std::cout << "order: " << order << ", dimension: " << dimension << ", number_target_coords: " << number_target_coords << std::endl;
46 std::cout << "solver: " << solver_name << ", problem: " << problem_name << ", constraint: " << constraint_name << std::endl;
47 std::cout << "************************************************************************" << std::endl;
48
49 }
50 }
51};
52
53#endif
CommandLineProcessor(int argc, char *args[], const bool print=true)