OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
IpplInfoWrapper.cpp
Go to the documentation of this file.
1//
2// Copyright & License: See Copyright.readme in src directory
3//
4
6
7#include <cstring>
8
10 const std::string& inputFileName, int infoLevel, int warnLevel, MPI_Comm comm) {
11 std::string infoLevelStr = std::to_string(infoLevel);
12 std::string warnLevelStr = std::to_string(warnLevel);
13
14 exeName_m = 0;
16 noComm_m = inputFileName_m + inputFileName.size() + 1;
17 info_m = noComm_m + 13;
18 infoLevel_m = info_m + 7;
19 warn_m = infoLevel_m + infoLevelStr.size() + 1;
20 warnLevel_m = warn_m + 7;
21
22 unsigned int totalSize = warnLevel_m + warnLevelStr.size() + 1;
23 buffer_m = new char[totalSize];
24
25 strcpy(buffer_m + exeName_m, "opal");
26 strcpy(buffer_m + inputFileName_m, inputFileName.c_str());
27 strcpy(buffer_m + noComm_m, "--nocomminit");
28 strcpy(buffer_m + info_m, "--info");
29 strcpy(buffer_m + infoLevel_m, infoLevelStr.c_str());
30 strcpy(buffer_m + warn_m, "--warn");
31 strcpy(buffer_m + warnLevel_m, warnLevelStr.c_str());
32
33 arg_m = new char*[7];
36 arg_m[2] = buffer_m + noComm_m;
37 arg_m[3] = buffer_m + info_m;
39 arg_m[5] = buffer_m + warn_m;
41
42 // int narg = 5;
43 // instance_m = new Ippl(narg, arg_m, Ippl::KEEP, comm);
44}
45
47 // delete instance_m;
48 delete[] buffer_m;
49 delete[] arg_m;
50
51 // Ippl::deleteGlobals();
52}
IpplInfoWrapper(const std::string &inputFileName, int infoLevel, int warnLevel, MPI_Comm comm)
unsigned int noComm_m
unsigned int info_m
unsigned int inputFileName_m
unsigned int warnLevel_m
unsigned int warn_m
unsigned int infoLevel_m
unsigned int exeName_m