12 #ifndef EVT_CYCLIC3_HH
13 #define EVT_CYCLIC3_HH
17 namespace EvtCyclic3 {
20 enum Index {A=0,B=1,C=2};
21 enum Pair {BC=0,CB=BC,CA=1,AC=CA,AB=2,BA=AB};
22 enum Perm {ABC=0,BCA=1,CAB=2,CBA=3,BAC=4,ACB=5};
26 Index permute(Index i, Perm p);
27 Perm permutation(Index i1,Index i2,Index i3);
28 Perm permute(Perm i, Perm p);
29 Pair permute(Pair i, Perm p);
37 Index other(Index i, Index j);
42 Pair combine(Index i, Index j);
49 Pair other(Pair i, Pair j);
57 Index common(Pair i, Pair j);
61 Index strToIndex(
const char* str);
62 Pair strToPair(
const char* str);
66 const char* c_str(Index i);
67 const char* c_str(Pair i);
68 const char* c_str(Perm i);
72 char* append(
const char* str, EvtCyclic3::Index i);
73 char* append(
const char* str, EvtCyclic3::Pair i);