00001
00010 #ifndef __CNUM_ETYPE_H__
00011 #define __CNUM_ETYPE_H__
00012
00013 namespace ot {
00014
00015 template<unsigned char cNum>
00016 class cNumEtype;
00017
00018
00019 template<>
00020 class cNumEtype<0> {
00021 public:
00022 enum eTypes {
00023 ET_N = 0,
00024 ET_Y = 4 ,
00025 ET_X = 2 ,
00026 ET_XY = 6 ,
00027 ET_Z = 16 ,
00028 ET_ZY = 20 ,
00029 ET_ZX = 18 ,
00030 ET_ZXY = 22 ,
00031 ET_XY_XY = 14 ,
00032 ET_XY_ZXY = 30 ,
00033 ET_YZ_ZY = 84 ,
00034 ET_YZ_ZXY = 86 ,
00035 ET_YZ_XY_ZXY = 94 ,
00036 ET_ZX_ZX = 50 ,
00037 ET_ZX_ZXY = 54 ,
00038 ET_ZX_XY_ZXY = 62 ,
00039 ET_ZX_YZ_ZXY = 118 ,
00040 ET_ZX_YZ_XY_ZXY = 126
00041 };
00042 };
00043
00044
00045 template<>
00046 class cNumEtype<1> {
00047 public:
00048 enum eTypes {
00049 ET_N = 0 ,
00050 ET_Y = 1 ,
00051 ET_X = 8 ,
00052 ET_XY = 9 ,
00053 ET_Z = 32 ,
00054 ET_ZY = 33 ,
00055 ET_ZX = 40 ,
00056 ET_ZXY = 41 ,
00057 ET_XY_XY = 13 ,
00058 ET_XY_ZXY = 45 ,
00059 ET_YZ_ZY = 49 ,
00060 ET_YZ_ZXY = 57 ,
00061 ET_YZ_XY_ZXY = 61 ,
00062 ET_ZX_ZX = 168 ,
00063 ET_ZX_ZXY = 169 ,
00064 ET_ZX_XY_ZXY = 173 ,
00065 ET_ZX_YZ_ZXY = 185 ,
00066 ET_ZX_YZ_XY_ZXY = 189
00067 };
00068 };
00069
00070
00071
00072 template<>
00073 class cNumEtype<2> {
00074 public:
00075 enum eTypes {
00076 ET_N = 0 ,
00077 ET_Y = 8 ,
00078 ET_X = 1 ,
00079 ET_XY = 9 ,
00080 ET_Z = 64 ,
00081 ET_ZY = 72 ,
00082 ET_ZX = 65 ,
00083 ET_ZXY = 73 ,
00084 ET_XY_XY = 11 ,
00085 ET_XY_ZXY = 75 ,
00086 ET_YZ_ZY = 200 ,
00087 ET_YZ_ZXY = 201 ,
00088 ET_YZ_XY_ZXY = 203 ,
00089 ET_ZX_ZX = 81 ,
00090 ET_ZX_ZXY = 89 ,
00091 ET_ZX_XY_ZXY = 91 ,
00092 ET_ZX_YZ_ZXY = 217 ,
00093 ET_ZX_YZ_XY_ZXY = 219
00094 };
00095 };
00096
00097
00098
00099 template<>
00100 class cNumEtype<3> {
00101 public:
00102 enum eTypes {
00103 ET_N = 0 ,
00104 ET_Y = 2 ,
00105 ET_X = 4 ,
00106 ET_XY = 6 ,
00107 ET_Z = 128 ,
00108 ET_ZY = 130 ,
00109 ET_ZX = 132 ,
00110 ET_ZXY = 134 ,
00111 ET_XY_XY = 7 ,
00112 ET_XY_ZXY = 135 ,
00113 ET_YZ_ZY = 162 ,
00114 ET_YZ_ZXY = 166 ,
00115 ET_YZ_XY_ZXY = 167 ,
00116 ET_ZX_ZX = 196 ,
00117 ET_ZX_ZXY = 198 ,
00118 ET_ZX_XY_ZXY = 199 ,
00119 ET_ZX_YZ_ZXY = 230 ,
00120 ET_ZX_YZ_XY_ZXY = 231
00121 };
00122 };
00123
00124
00125
00126 template<>
00127 class cNumEtype<4> {
00128 public:
00129 enum eTypes {
00130 ET_N = 0 ,
00131 ET_Y = 1 ,
00132 ET_X = 32 ,
00133 ET_XY = 33 ,
00134 ET_Z = 64 ,
00135 ET_ZY = 65 ,
00136 ET_ZX = 96 ,
00137 ET_ZXY = 97 ,
00138 ET_XY_XY = 35 ,
00139 ET_XY_ZXY = 99 ,
00140 ET_YZ_ZY = 69 ,
00141 ET_YZ_ZXY = 101 ,
00142 ET_YZ_XY_ZXY = 103 ,
00143 ET_ZX_ZX = 224 ,
00144 ET_ZX_ZXY = 225 ,
00145 ET_ZX_XY_ZXY = 227 ,
00146 ET_ZX_YZ_ZXY = 229 ,
00147 ET_ZX_YZ_XY_ZXY = 231
00148 };
00149 };
00150
00151
00152
00153 template<>
00154 class cNumEtype<5> {
00155 public:
00156 enum eTypes {
00157 ET_N = 0 ,
00158 ET_Y = 2 ,
00159 ET_X = 128 ,
00160 ET_XY = 130 ,
00161 ET_Z = 16 ,
00162 ET_ZY = 18 ,
00163 ET_ZX = 144 ,
00164 ET_ZXY = 146 ,
00165 ET_XY_XY = 138 ,
00166 ET_XY_ZXY = 154 ,
00167 ET_YZ_ZY = 19 ,
00168 ET_YZ_ZXY = 147 ,
00169 ET_YZ_XY_ZXY = 155 ,
00170 ET_ZX_ZX = 208 ,
00171 ET_ZX_ZXY = 210 ,
00172 ET_ZX_XY_ZXY = 218 ,
00173 ET_ZX_YZ_ZXY = 211 ,
00174 ET_ZX_YZ_XY_ZXY = 219
00175 };
00176 };
00177
00178
00179
00180 template<>
00181 class cNumEtype<6> {
00182 public:
00183 enum eTypes {
00184 ET_N = 0 ,
00185 ET_Y = 4 ,
00186 ET_X = 16 ,
00187 ET_XY = 20 ,
00188 ET_Z = 128 ,
00189 ET_ZY = 132 ,
00190 ET_ZX = 144 ,
00191 ET_ZXY = 148 ,
00192 ET_XY_XY = 21 ,
00193 ET_XY_ZXY = 149 ,
00194 ET_YZ_ZY = 140 ,
00195 ET_YZ_ZXY = 156 ,
00196 ET_YZ_XY_ZXY = 157 ,
00197 ET_ZX_ZX = 176 ,
00198 ET_ZX_ZXY = 180 ,
00199 ET_ZX_XY_ZXY = 181 ,
00200 ET_ZX_YZ_ZXY = 188 ,
00201 ET_ZX_YZ_XY_ZXY = 189
00202 };
00203 };
00204
00205
00206 template<>
00207 class cNumEtype<7> {
00208 public:
00209 enum eTypes {
00210 ET_N = 0 ,
00211 ET_Y = 8 ,
00212 ET_X = 64 ,
00213 ET_XY = 72 ,
00214 ET_Z = 32 ,
00215 ET_ZY = 40 ,
00216 ET_ZX = 96 ,
00217 ET_ZXY = 104 ,
00218 ET_XY_XY = 76 ,
00219 ET_XY_ZXY = 108 ,
00220 ET_YZ_ZY = 42 ,
00221 ET_YZ_ZXY = 106 ,
00222 ET_YZ_XY_ZXY = 110 ,
00223 ET_ZX_ZX = 112 ,
00224 ET_ZX_ZXY = 120 ,
00225 ET_ZX_XY_ZXY = 124 ,
00226 ET_ZX_YZ_ZXY = 122 ,
00227 ET_ZX_YZ_XY_ZXY = 126
00228 };
00229 };
00230
00231 }
00232
00233 #endif
00234