Peano
Loading...
Searching...
No Matches
LoadStoreComputeFlag.cpp
Go to the documentation of this file.
2
3#include "tarch/Assertions.h"
4
5
7 switch (flag) {
8 case LoadStoreComputeFlag::LoadFromInputStream_ProvideToCalculations_StoreToOutputStream:
9 return "load-provide-store";
10 case LoadStoreComputeFlag::LoadFromInputStream_ProvideToCalculations_Discard:
11 return "load-provide-discard";
12 case LoadStoreComputeFlag::CreateDummy_ProvideToCalculations_StoreToOutputStream:
13 return "create-dummy-provide-store";
14 case LoadStoreComputeFlag::CreateDummy_ProvideToCalculations_Discard:
15 return "create-dummy-provide-discard";
16 case LoadStoreComputeFlag::NoData:
17 return "no-data";
18 }
19 return "<undef>";
20}
21
23 switch (flag) {
24 case LoadStoreComputeFlag::LoadFromInputStream_ProvideToCalculations_StoreToOutputStream:
25 return true;
26 case LoadStoreComputeFlag::LoadFromInputStream_ProvideToCalculations_Discard:
27 return true;
28 case LoadStoreComputeFlag::CreateDummy_ProvideToCalculations_StoreToOutputStream:
29 return false;
30 case LoadStoreComputeFlag::CreateDummy_ProvideToCalculations_Discard:
31 return false;
32 case LoadStoreComputeFlag::NoData:
33 return false;
34 }
35 assertion(false);
36 return false;
37}
38
40 switch (flag) {
41 case LoadStoreComputeFlag::LoadFromInputStream_ProvideToCalculations_StoreToOutputStream:
42 return true;
43 case LoadStoreComputeFlag::LoadFromInputStream_ProvideToCalculations_Discard:
44 return false;
45 case LoadStoreComputeFlag::CreateDummy_ProvideToCalculations_StoreToOutputStream:
46 return true;
47 case LoadStoreComputeFlag::CreateDummy_ProvideToCalculations_Discard:
48 return false;
49 case LoadStoreComputeFlag::NoData:
50 return false;
51 }
52 assertion(false);
53 return false;
54}
55
56
58 switch (flag) {
59 case LoadStoreComputeFlag::LoadFromInputStream_ProvideToCalculations_StoreToOutputStream:
60 return true;
61 case LoadStoreComputeFlag::LoadFromInputStream_ProvideToCalculations_Discard:
62 return true;
63 case LoadStoreComputeFlag::CreateDummy_ProvideToCalculations_StoreToOutputStream:
64 return true;
65 case LoadStoreComputeFlag::CreateDummy_ProvideToCalculations_Discard:
66 return true;
67 case LoadStoreComputeFlag::NoData:
68 return false;
69 }
70 assertion(false);
71 return false;
72}
73
74
76 return constructLoadStoreComputeFlag(true, predicateForLoad, predicateForStore);
77}
78
80 bool predicateToUseData, bool predicateForLoad, bool predicateForStore
81) {
82 if (not predicateToUseData and not predicateForLoad and not predicateForStore)
84 if (not predicateToUseData and predicateForLoad and not predicateForStore)
86 if (not predicateToUseData and not predicateForLoad and predicateForStore)
88 if (not predicateToUseData and predicateForLoad and predicateForStore)
89 assertion(false);
90 if (predicateToUseData and not predicateForLoad and not predicateForStore)
92 if (predicateToUseData and predicateForLoad and not predicateForStore)
94 if (predicateToUseData and not predicateForLoad and predicateForStore)
96 if (predicateToUseData and predicateForLoad and predicateForStore)
98
99 assertion(false);
101}
#define assertion(expr)
std::string toString(VertexType type)
Definition grid.cpp:276
bool storePersistently(LoadStoreComputeFlag flag)
Data is stored persistently on input/output stream.
bool loadPersistently(LoadStoreComputeFlag flag)
Data is stored persistently on input/output stream.
bool computeOnData(LoadStoreComputeFlag flag)
Data is stored persistently on input/output stream.
LoadStoreComputeFlag
Flag to control data movements.
LoadStoreComputeFlag constructLoadStoreComputeFlag(bool predicateForLoad, bool predicateForStore)
Constructs a data storage scheme.