1#ifndef ADOLC_TAPEINFOS_H
2#define ADOLC_TAPEINFOS_H
71 TapeInfos(
short tapeId, std::array<std::string, 4> &&tapeBaseNames)
84 other.fileNames.fill(
nullptr);
91 stats = std::move(other.stats);
97 other.fileNames.fill(
nullptr);
123 size_t len = std::strlen(instr);
124 char *outstr =
new char[len + 1];
125 std::strncpy(outstr, instr, len);
135 static std::atomic<int> nextId{0};
136 thread_local int id = nextId++;
147 fileName +=
"thread-" + std::to_string(threadId) +
"_";
149 fileName +=
"tape-" + std::to_string(tapeId) +
".tap";
152 char *ret_char =
new char[fileName.size() + 1];
153 std::strcpy(ret_char, fileName.c_str());
ErrorType
Definition adolcerror.h:89
Identity, statistics, file names, and recording metadata of one tape.
Definition tapeinfos.h:24
int getThreadIndex()
Generates an id for the thread within the function is called.
Definition tapeinfos.h:134
TapeInfos & operator=(const TapeInfos &)=delete
static char * duplicatestr(const char *instr)
Definition tapeinfos.h:122
std::array< std::string, 4 > tapeBaseNames_
Definition tapeinfos.h:106
TapeInfos(TapeInfos &&other) noexcept
Definition tapeinfos.h:80
std::array< char *, 4 > fileNames
Definition tapeinfos.h:104
int skipFileCleanup
Definition tapeinfos.h:117
TapeInfos & operator=(TapeInfos &&other) noexcept
Definition tapeinfos.h:86
TAPENAMES
Definition tapeinfos.h:52
@ TAYLORS_TAPE
Definition tapeinfos.h:52
@ VALUES_TAPE
Definition tapeinfos.h:52
@ LOCATIONS_TAPE
Definition tapeinfos.h:52
@ OPERATIONS_TAPE
Definition tapeinfos.h:52
TapeInfos(short tapeId, std::array< std::string, 4 > &&tapeBaseNames)
Definition tapeinfos.h:71
StatEntries
Definition tapeinfos.h:27
@ OP_FILE_ACCESS
Definition tapeinfos.h:34
@ NUM_DEPENDENTS
Definition tapeinfos.h:29
@ NUM_TAYS
Definition tapeinfos.h:31
@ NUM_EQ_PROD
Definition tapeinfos.h:42
@ NUM_SWITCHES
Definition tapeinfos.h:44
@ NUM_PARAM
Definition tapeinfos.h:45
@ LOC_FILE_ACCESS
Definition tapeinfos.h:36
@ NUM_INDEPENDENTS
Definition tapeinfos.h:28
@ NUM_OPERATIONS
Definition tapeinfos.h:33
@ TAY_BUFFER_SIZE
Definition tapeinfos.h:41
@ VAL_BUFFER_SIZE
Definition tapeinfos.h:40
@ NUM_LOCATIONS
Definition tapeinfos.h:35
@ NO_MIN_MAX
Definition tapeinfos.h:43
@ NUM_VALUES
Definition tapeinfos.h:37
@ LOC_BUFFER_SIZE
Definition tapeinfos.h:39
@ VAL_FILE_ACCESS
Definition tapeinfos.h:38
@ STAT_SIZE
Definition tapeinfos.h:46
@ NUM_MAX_LIVES
Definition tapeinfos.h:30
@ OP_BUFFER_SIZE
Definition tapeinfos.h:32
TapeInfos(short tapeId)
Definition tapeinfos.h:65
FILES
Definition tapeinfos.h:49
@ OPERATIONS_FILE
Definition tapeinfos.h:49
@ LOCATIONS_FILE
Definition tapeinfos.h:49
@ TAYLORS_FILE
Definition tapeinfos.h:49
@ VALUES_FILE
Definition tapeinfos.h:49
char * createFileName(short tapeId, int tapeType)
Definition tapeinfos.h:143
StatArray stats
Definition tapeinfos.h:103
int keepTape
Definition tapeinfos.h:114
static constexpr size_t maxLocsPerOp
Definition tapeinfos.h:109
~TapeInfos()
Definition tapeinfos.h:54
std::array< size_t, STAT_SIZE > StatArray
Definition tapeinfos.h:102
short tapeId_
Definition tapeinfos.h:107
TapeInfos(const TapeInfos &)=delete
Numeric limits for taped active scalars.
Definition adtb_types.h:1417