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
5
#include "
Structure/IpplInfoWrapper.h
"
6
7
#include <cstring>
8
9
IpplInfoWrapper::IpplInfoWrapper
(
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;
15
inputFileName_m
=
exeName_m
+ 5;
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];
34
arg_m
[0] =
buffer_m
+
exeName_m
;
35
arg_m
[1] =
buffer_m
+
inputFileName_m
;
36
arg_m
[2] =
buffer_m
+
noComm_m
;
37
arg_m
[3] =
buffer_m
+
info_m
;
38
arg_m
[4] =
buffer_m
+
infoLevel_m
;
39
arg_m
[5] =
buffer_m
+
warn_m
;
40
arg_m
[6] =
buffer_m
+
warnLevel_m
;
41
42
// int narg = 5;
43
// instance_m = new Ippl(narg, arg_m, Ippl::KEEP, comm);
44
}
45
46
IpplInfoWrapper::~IpplInfoWrapper
() {
47
// delete instance_m;
48
delete
[]
buffer_m
;
49
delete
[]
arg_m
;
50
51
// Ippl::deleteGlobals();
52
}
IpplInfoWrapper.h
IpplInfoWrapper::IpplInfoWrapper
IpplInfoWrapper(const std::string &inputFileName, int infoLevel, int warnLevel, MPI_Comm comm)
Definition
IpplInfoWrapper.cpp:9
IpplInfoWrapper::noComm_m
unsigned int noComm_m
Definition
IpplInfoWrapper.h:25
IpplInfoWrapper::info_m
unsigned int info_m
Definition
IpplInfoWrapper.h:26
IpplInfoWrapper::inputFileName_m
unsigned int inputFileName_m
Definition
IpplInfoWrapper.h:24
IpplInfoWrapper::buffer_m
char * buffer_m
Definition
IpplInfoWrapper.h:31
IpplInfoWrapper::warnLevel_m
unsigned int warnLevel_m
Definition
IpplInfoWrapper.h:29
IpplInfoWrapper::arg_m
char ** arg_m
Definition
IpplInfoWrapper.h:32
IpplInfoWrapper::warn_m
unsigned int warn_m
Definition
IpplInfoWrapper.h:28
IpplInfoWrapper::~IpplInfoWrapper
~IpplInfoWrapper()
Definition
IpplInfoWrapper.cpp:46
IpplInfoWrapper::infoLevel_m
unsigned int infoLevel_m
Definition
IpplInfoWrapper.h:27
IpplInfoWrapper::exeName_m
unsigned int exeName_m
Definition
IpplInfoWrapper.h:23