DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
CyclicDataGenerator.cpp
Go to the documentation of this file.
2
3#define DEFAULT_CYCLIC_PATTERN "abcdefghijklmnopqrstuvwxyz"
4
6
10
11CyclicDataGenerator::CyclicDataGenerator(char *pattern, size_t offset) : pattern(pattern), slice_len(strlen(pattern)) {
12 this->current_slice_index = offset % slice_len;
13}
14
16 size_t i = current_slice_index;
17
18 if (current_slice_index + 1 == slice_len) {
20 } else {
22 }
23
24 return pattern[i];
25}
26
27void CyclicDataGenerator::get_next_n(char *dst, size_t n) {
28 char buffer[n];
29
30 for (size_t i = 0; i < n; i++) {
31 buffer[i] = get_next();
32 }
33
34 strcpy(dst, buffer);
35}
36
38 size_t i = current_slice_index;
39
40 if (current_slice_index == 0) {
42 } else {
44 }
45
46 return pattern[i];
47}
48
49void CyclicDataGenerator::get_prev_n(char *dst, size_t n) {
50 char buffer[n];
51
52 for (size_t i = 0; i < n; i++) {
53 buffer[i] = get_prev();
54 }
55
56 strcpy(dst, buffer);
57}
58
#define DEFAULT_CYCLIC_PATTERN
double offset