mc_lookup_table.h
Go to the documentation of this file.
00001 
00021 //________________________________________________
00022 
00023 
00024 #ifndef __VCG_MC_LOOK_UP_TABLE
00025 #define __VCG_MC_LOOK_UP_TABLE
00026 
00027 namespace vcg
00028 {
00029         namespace tri
00030         {
00031                 class MCLookUpTable
00032                 {
00033                 public:
00034                         //_____________________________________________________________________________
00056                         //-----------------------------------------------------------------------------
00057             static char Cases(unsigned char cubetype, unsigned char u)
00058                         {
00059                                 static const char cases[256][2] = {
00060                                         /*   0:                          */  {  0, -1 },
00061                                         /*   1: 0,                       */  {  1,  0 },
00062                                         /*   2:    1,                    */  {  1,  1 },
00063                                         /*   3: 0, 1,                    */  {  2,  0 },
00064                                         /*   4:       2,                 */  {  1,  2 },
00065                                         /*   5: 0,    2,                 */  {  3,  0 },
00066                                         /*   6:    1, 2,                 */  {  2,  3 },
00067                                         /*   7: 0, 1, 2,                 */  {  5,  0 },
00068                                         /*   8:          3,              */  {  1,  3 },
00069                                         /*   9: 0,       3,              */  {  2,  1 },
00070                                         /*  10:    1,    3,              */  {  3,  3 },
00071                                         /*  11: 0, 1,    3,              */  {  5,  1 },
00072                                         /*  12:       2, 3,              */  {  2,  5 },
00073                                         /*  13: 0,    2, 3,              */  {  5,  4 },
00074                                         /*  14:    1, 2, 3,              */  {  5,  9 },
00075                                         /*  15: 0, 1, 2, 3,              */  {  8,  0 },
00076                                         /*  16:             4,           */  {  1,  4 },
00077                                         /*  17: 0,          4,           */  {  2,  2 },
00078                                         /*  18:    1,       4,           */  {  3,  4 },
00079                                         /*  19: 0, 1,       4,           */  {  5,  2 },
00080                                         /*  20:       2,    4,           */  {  4,  2 },
00081                                         /*  21: 0,    2,    4,           */  {  6,  2 },
00082                                         /*  22:    1, 2,    4,           */  {  6,  9 },
00083                                         /*  23: 0, 1, 2,    4,           */  { 11,  0 },
00084                                         /*  24:          3, 4,           */  {  3,  8 },
00085                                         /*  25: 0,       3, 4,           */  {  5,  5 },
00086                                         /*  26:    1,    3, 4,           */  {  7,  3 },
00087                                         /*  27: 0, 1,    3, 4,           */  {  9,  1 },
00088                                         /*  28:       2, 3, 4,           */  {  6, 16 },
00089                                         /*  29: 0,    2, 3, 4,           */  { 14,  3 },
00090                                         /*  30:    1, 2, 3, 4,           */  { 12, 12 },
00091                                         /*  31: 0, 1, 2, 3, 4,           */  {  5, 24 },
00092                                         /*  32:                5,        */  {  1,  5 },
00093                                         /*  33: 0,             5,        */  {  3,  1 },
00094                                         /*  34:    1,          5,        */  {  2,  4 },
00095                                         /*  35: 0, 1,          5,        */  {  5,  3 },
00096                                         /*  36:       2,       5,        */  {  3,  6 },
00097                                         /*  37: 0,    2,       5,        */  {  7,  0 },
00098                                         /*  38:    1, 2,       5,        */  {  5, 10 },
00099                                         /*  39: 0, 1, 2,       5,        */  {  9,  0 },
00100                                         /*  40:          3,    5,        */  {  4,  3 },
00101                                         /*  41: 0,       3,    5,        */  {  6,  4 },
00102                                         /*  42:    1,    3,    5,        */  {  6, 11 },
00103                                         /*  43: 0, 1,    3,    5,        */  { 14,  1 },
00104                                         /*  44:       2, 3,    5,        */  {  6, 17 },
00105                                         /*  45: 0,    2, 3,    5,        */  { 12,  4 },
00106                                         /*  46:    1, 2, 3,    5,        */  { 11,  6 },
00107                                         /*  47: 0, 1, 2, 3,    5,        */  {  5, 25 },
00108                                         /*  48:             4, 5,        */  {  2,  8 },
00109                                         /*  49: 0,          4, 5,        */  {  5,  7 },
00110                                         /*  50:    1,       4, 5,        */  {  5, 12 },
00111                                         /*  51: 0, 1,       4, 5,        */  {  8,  1 },
00112                                         /*  52:       2,    4, 5,        */  {  6, 18 },
00113                                         /*  53: 0,    2,    4, 5,        */  { 12,  5 },
00114                                         /*  54:    1, 2,    4, 5,        */  { 14,  7 },
00115                                         /*  55: 0, 1, 2,    4, 5,        */  {  5, 28 },
00116                                         /*  56:          3, 4, 5,        */  {  6, 21 },
00117                                         /*  57: 0,       3, 4, 5,        */  { 11,  4 },
00118                                         /*  58:    1,    3, 4, 5,        */  { 12, 15 },
00119                                         /*  59: 0, 1,    3, 4, 5,        */  {  5, 30 },
00120                                         /*  60:       2, 3, 4, 5,        */  { 10,  5 },
00121                                         /*  61: 0,    2, 3, 4, 5,        */  {  6, 32 },
00122                                         /*  62:    1, 2, 3, 4, 5,        */  {  6, 39 },
00123                                         /*  63: 0, 1, 2, 3, 4, 5,        */  {  2, 12 },
00124                                         /*  64:                   6,     */  {  1,  6 },
00125                                         /*  65: 0,                6,     */  {  4,  0 },
00126                                         /*  66:    1,             6,     */  {  3,  5 },
00127                                         /*  67: 0, 1,             6,     */  {  6,  0 },
00128                                         /*  68:       2,          6,     */  {  2,  6 },
00129                                         /*  69: 0,    2,          6,     */  {  6,  3 },
00130                                         /*  70:    1, 2,          6,     */  {  5, 11 },
00131                                         /*  71: 0, 1, 2,          6,     */  { 14,  0 },
00132                                         /*  72:          3,       6,     */  {  3,  9 },
00133                                         /*  73: 0,       3,       6,     */  {  6,  5 },
00134                                         /*  74:    1,    3,       6,     */  {  7,  4 },
00135                                         /*  75: 0, 1,    3,       6,     */  { 12,  1 },
00136                                         /*  76:       2, 3,       6,     */  {  5, 14 },
00137                                         /*  77: 0,    2, 3,       6,     */  { 11,  3 },
00138                                         /*  78:    1, 2, 3,       6,     */  {  9,  4 },
00139                                         /*  79: 0, 1, 2, 3,       6,     */  {  5, 26 },
00140                                         /*  80:             4,    6,     */  {  3, 10 },
00141                                         /*  81: 0,          4,    6,     */  {  6,  6 },
00142                                         /*  82:    1,       4,    6,     */  {  7,  5 },
00143                                         /*  83: 0, 1,       4,    6,     */  { 12,  2 },
00144                                         /*  84:       2,    4,    6,     */  {  6, 19 },
00145                                         /*  85: 0,    2,    4,    6,     */  { 10,  1 },
00146                                         /*  86:    1, 2,    4,    6,     */  { 12, 13 },
00147                                         /*  87: 0, 1, 2,    4,    6,     */  {  6, 24 },
00148                                         /*  88:          3, 4,    6,     */  {  7,  7 },
00149                                         /*  89: 0,       3, 4,    6,     */  { 12,  9 },
00150                                         /*  90:    1,    3, 4,    6,     */  { 13,  1 },
00151                                         /*  91: 0, 1,    3, 4,    6,     */  {  7,  9 },
00152                                         /*  92:       2, 3, 4,    6,     */  { 12, 20 },
00153                                         /*  93: 0,    2, 3, 4,    6,     */  {  6, 33 },
00154                                         /*  94:    1, 2, 3, 4,    6,     */  {  7, 13 },
00155                                         /*  95: 0, 1, 2, 3, 4,    6,     */  {  3, 12 },
00156                                         /*  96:                5, 6,     */  {  2, 10 },
00157                                         /*  97: 0,             5, 6,     */  {  6,  7 },
00158                                         /*  98:    1,          5, 6,     */  {  5, 13 },
00159                                         /*  99: 0, 1,          5, 6,     */  { 11,  2 },
00160                                         /* 100:       2,       5, 6,     */  {  5, 16 },
00161                                         /* 101: 0,    2,       5, 6,     */  { 12,  7 },
00162                                         /* 102:    1, 2,       5, 6,     */  {  8,  3 },
00163                                         /* 103: 0, 1, 2,       5, 6,     */  {  5, 29 },
00164                                         /* 104:          3,    5, 6,     */  {  6, 22 },
00165                                         /* 105: 0,       3,    5, 6,     */  { 10,  2 },
00166                                         /* 106:    1,    3,    5, 6,     */  { 12, 17 },
00167                                         /* 107: 0, 1,    3,    5, 6,     */  {  6, 27 },
00168                                         /* 108:       2, 3,    5, 6,     */  { 14,  9 },
00169                                         /* 109: 0,    2, 3,    5, 6,     */  {  6, 34 },
00170                                         /* 110:    1, 2, 3,    5, 6,     */  {  5, 39 },
00171                                         /* 111: 0, 1, 2, 3,    5, 6,     */  {  2, 14 },
00172                                         /* 112:             4, 5, 6,     */  {  5, 20 },
00173                                         /* 113: 0,          4, 5, 6,     */  { 14,  5 },
00174                                         /* 114:    1,       4, 5, 6,     */  {  9,  5 },
00175                                         /* 115: 0, 1,       4, 5, 6,     */  {  5, 32 },
00176                                         /* 116:       2,    4, 5, 6,     */  { 11, 10 },
00177                                         /* 117: 0,    2,    4, 5, 6,     */  {  6, 35 },
00178                                         /* 118:    1, 2,    4, 5, 6,     */  {  5, 41 },
00179                                         /* 119: 0, 1, 2,    4, 5, 6,     */  {  2, 16 },
00180                                         /* 120:          3, 4, 5, 6,     */  { 12, 23 },
00181                                         /* 121: 0,       3, 4, 5, 6,     */  {  6, 37 },
00182                                         /* 122:    1,    3, 4, 5, 6,     */  {  7, 14 },
00183                                         /* 123: 0, 1,    3, 4, 5, 6,     */  {  3, 16 },
00184                                         /* 124:       2, 3, 4, 5, 6,     */  {  6, 46 },
00185                                         /* 125: 0,    2, 3, 4, 5, 6,     */  {  4,  6 },
00186                                         /* 126:    1, 2, 3, 4, 5, 6,     */  {  3, 21 },
00187                                         /* 127: 0, 1, 2, 3, 4, 5, 6,     */  {  1,  8 },
00188                                         /* 128:                      7,  */  {  1,  7 },
00189                                         /* 129: 0,                   7,  */  {  3,  2 },
00190                                         /* 130:    1,                7,  */  {  4,  1 },
00191                                         /* 131: 0, 1,                7,  */  {  6,  1 },
00192                                         /* 132:       2,             7,  */  {  3,  7 },
00193                                         /* 133: 0,    2,             7,  */  {  7,  1 },
00194                                         /* 134:    1, 2,             7,  */  {  6, 10 },
00195                                         /* 135: 0, 1, 2,             7,  */  { 12,  0 },
00196                                         /* 136:          3,          7,  */  {  2,  7 },
00197                                         /* 137: 0,       3,          7,  */  {  5,  6 },
00198                                         /* 138:    1,    3,          7,  */  {  6, 12 },
00199                                         /* 139: 0, 1,    3,          7,  */  { 11,  1 },
00200                                         /* 140:       2, 3,          7,  */  {  5, 15 },
00201                                         /* 141: 0,    2, 3,          7,  */  {  9,  2 },
00202                                         /* 142:    1, 2, 3,          7,  */  { 14,  6 },
00203                                         /* 143: 0, 1, 2, 3,          7,  */  {  5, 27 },
00204                                         /* 144:             4,       7,  */  {  2,  9 },
00205                                         /* 145: 0,          4,       7,  */  {  5,  8 },
00206                                         /* 146:    1,       4,       7,  */  {  6, 13 },
00207                                         /* 147: 0, 1,       4,       7,  */  { 14,  2 },
00208                                         /* 148:       2,    4,       7,  */  {  6, 20 },
00209                                         /* 149: 0,    2,    4,       7,  */  { 12,  6 },
00210                                         /* 150:    1, 2,    4,       7,  */  { 10,  3 },
00211                                         /* 151: 0, 1, 2,    4,       7,  */  {  6, 25 },
00212                                         /* 152:          3, 4,       7,  */  {  5, 18 },
00213                                         /* 153: 0,       3, 4,       7,  */  {  8,  2 },
00214                                         /* 154:    1,    3, 4,       7,  */  { 12, 16 },
00215                                         /* 155: 0, 1,    3, 4,       7,  */  {  5, 31 },
00216                                         /* 156:       2, 3, 4,       7,  */  { 11,  9 },
00217                                         /* 157: 0,    2, 3, 4,       7,  */  {  5, 34 },
00218                                         /* 158:    1, 2, 3, 4,       7,  */  {  6, 40 },
00219                                         /* 159: 0, 1, 2, 3, 4,       7,  */  {  2, 13 },
00220                                         /* 160:                5,    7,  */  {  3, 11 },
00221                                         /* 161: 0,             5,    7,  */  {  7,  2 },
00222                                         /* 162:    1,          5,    7,  */  {  6, 14 },
00223                                         /* 163: 0, 1,          5,    7,  */  { 12,  3 },
00224                                         /* 164:       2,       5,    7,  */  {  7,  6 },
00225                                         /* 165: 0,    2,       5,    7,  */  { 13,  0 },
00226                                         /* 166:    1, 2,       5,    7,  */  { 12, 14 },
00227                                         /* 167: 0, 1, 2,       5,    7,  */  {  7,  8 },
00228                                         /* 168:          3,    5,    7,  */  {  6, 23 },
00229                                         /* 169: 0,       3,    5,    7,  */  { 12, 10 },
00230                                         /* 170:    1,    3,    5,    7,  */  { 10,  4 },
00231                                         /* 171: 0, 1,    3,    5,    7,  */  {  6, 28 },
00232                                         /* 172:       2, 3,    5,    7,  */  { 12, 21 },
00233                                         /* 173: 0,    2, 3,    5,    7,  */  {  7, 10 },
00234                                         /* 174:    1, 2, 3,    5,    7,  */  {  6, 41 },
00235                                         /* 175: 0, 1, 2, 3,    5,    7,  */  {  3, 13 },
00236                                         /* 176:             4, 5,    7,  */  {  5, 21 },
00237                                         /* 177: 0,          4, 5,    7,  */  {  9,  3 },
00238                                         /* 178:    1,       4, 5,    7,  */  { 11,  8 },
00239                                         /* 179: 0, 1,       4, 5,    7,  */  {  5, 33 },
00240                                         /* 180:       2,    4, 5,    7,  */  { 12, 22 },
00241                                         /* 181: 0,    2,    4, 5,    7,  */  {  7, 11 },
00242                                         /* 182:    1, 2,    4, 5,    7,  */  {  6, 42 },
00243                                         /* 183: 0, 1, 2,    4, 5,    7,  */  {  3, 14 },
00244                                         /* 184:          3, 4, 5,    7,  */  { 14, 11 },
00245                                         /* 185: 0,       3, 4, 5,    7,  */  {  5, 36 },
00246                                         /* 186:    1,    3, 4, 5,    7,  */  {  6, 44 },
00247                                         /* 187: 0, 1,    3, 4, 5,    7,  */  {  2, 17 },
00248                                         /* 188:       2, 3, 4, 5,    7,  */  {  6, 47 },
00249                                         /* 189: 0,    2, 3, 4, 5,    7,  */  {  3, 18 },
00250                                         /* 190:    1, 2, 3, 4, 5,    7,  */  {  4,  7 },
00251                                         /* 191: 0, 1, 2, 3, 4, 5,    7,  */  {  1,  9 },
00252                                         /* 192:                   6, 7,  */  {  2, 11 },
00253                                         /* 193: 0,                6, 7,  */  {  6,  8 },
00254                                         /* 194:    1,             6, 7,  */  {  6, 15 },
00255                                         /* 195: 0, 1,             6, 7,  */  { 10,  0 },
00256                                         /* 196:       2,          6, 7,  */  {  5, 17 },
00257                                         /* 197: 0,    2,          6, 7,  */  { 12,  8 },
00258                                         /* 198:    1, 2,          6, 7,  */  { 11,  7 },
00259                                         /* 199: 0, 1, 2,          6, 7,  */  {  6, 26 },
00260                                         /* 200:          3,       6, 7,  */  {  5, 19 },
00261                                         /* 201: 0,       3,       6, 7,  */  { 14,  4 },
00262                                         /* 202:    1,    3,       6, 7,  */  { 12, 18 },
00263                                         /* 203: 0, 1,    3,       6, 7,  */  {  6, 29 },
00264                                         /* 204:       2, 3,       6, 7,  */  {  8,  4 },
00265                                         /* 205: 0,    2, 3,       6, 7,  */  {  5, 35 },
00266                                         /* 206:    1, 2, 3,       6, 7,  */  {  5, 40 },
00267                                         /* 207: 0, 1, 2, 3,       6, 7,  */  {  2, 15 },
00268                                         /* 208:             4,    6, 7,  */  {  5, 22 },
00269                                         /* 209: 0,          4,    6, 7,  */  { 11,  5 },
00270                                         /* 210:    1,       4,    6, 7,  */  { 12, 19 },
00271                                         /* 211: 0, 1,       4,    6, 7,  */  {  6, 30 },
00272                                         /* 212:       2,    4,    6, 7,  */  { 14, 10 },
00273                                         /* 213: 0,    2,    4,    6, 7,  */  {  6, 36 },
00274                                         /* 214:    1, 2,    4,    6, 7,  */  {  6, 43 },
00275                                         /* 215: 0, 1, 2,    4,    6, 7,  */  {  4,  4 },
00276                                         /* 216:          3, 4,    6, 7,  */  {  9,  7 },
00277                                         /* 217: 0,       3, 4,    6, 7,  */  {  5, 37 },
00278                                         /* 218:    1,    3, 4,    6, 7,  */  {  7, 15 },
00279                                         /* 219: 0, 1,    3, 4,    6, 7,  */  {  3, 17 },
00280                                         /* 220:       2, 3, 4,    6, 7,  */  {  5, 44 },
00281                                         /* 221: 0,    2, 3, 4,    6, 7,  */  {  2, 19 },
00282                                         /* 222:    1, 2, 3, 4,    6, 7,  */  {  3, 22 },
00283                                         /* 223: 0, 1, 2, 3, 4,    6, 7,  */  {  1, 10 },
00284                                         /* 224:                5, 6, 7,  */  {  5, 23 },
00285                                         /* 225: 0,             5, 6, 7,  */  { 12, 11 },
00286                                         /* 226:    1,          5, 6, 7,  */  { 14,  8 },
00287                                         /* 227: 0, 1,          5, 6, 7,  */  {  6, 31 },
00288                                         /* 228:       2,       5, 6, 7,  */  {  9,  6 },
00289                                         /* 229: 0,    2,       5, 6, 7,  */  {  7, 12 },
00290                                         /* 230:    1, 2,       5, 6, 7,  */  {  5, 42 },
00291                                         /* 231: 0, 1, 2,       5, 6, 7,  */  {  3, 15 },
00292                                         /* 232:          3,    5, 6, 7,  */  { 11, 11 },
00293                                         /* 233: 0,       3,    5, 6, 7,  */  {  6, 38 },
00294                                         /* 234:    1,    3,    5, 6, 7,  */  {  6, 45 },
00295                                         /* 235: 0, 1,    3,    5, 6, 7,  */  {  4,  5 },
00296                                         /* 236:       2, 3,    5, 6, 7,  */  {  5, 45 },
00297                                         /* 237: 0,    2, 3,    5, 6, 7,  */  {  3, 19 },
00298                                         /* 238:    1, 2, 3,    5, 6, 7,  */  {  2, 21 },
00299                                         /* 239: 0, 1, 2, 3,    5, 6, 7,  */  {  1, 11 },
00300                                         /* 240:             4, 5, 6, 7,  */  {  8,  5 },
00301                                         /* 241: 0,          4, 5, 6, 7,  */  {  5, 38 },
00302                                         /* 242:    1,       4, 5, 6, 7,  */  {  5, 43 },
00303                                         /* 243: 0, 1,       4, 5, 6, 7,  */  {  2, 18 },
00304                                         /* 244:       2,    4, 5, 6, 7,  */  {  5, 46 },
00305                                         /* 245: 0,    2,    4, 5, 6, 7,  */  {  3, 20 },
00306                                         /* 246:    1, 2,    4, 5, 6, 7,  */  {  2, 22 },
00307                                         /* 247: 0, 1, 2,    4, 5, 6, 7,  */  {  1, 12 },
00308                                         /* 248:          3, 4, 5, 6, 7,  */  {  5, 47 },
00309                                         /* 249: 0,       3, 4, 5, 6, 7,  */  {  2, 20 },
00310                                         /* 250:    1,    3, 4, 5, 6, 7,  */  {  3, 23 },
00311                                         /* 251: 0, 1,    3, 4, 5, 6, 7,  */  {  1, 13 },
00312                                         /* 252:       2, 3, 4, 5, 6, 7,  */  {  2, 23 },
00313                                         /* 253: 0,    2, 3, 4, 5, 6, 7,  */  {  1, 14 },
00314                                         /* 254:    1, 2, 3, 4, 5, 6, 7,  */  {  1, 15 },
00315                                         /* 255: 0, 1, 2, 3, 4, 5, 6, 7,  */  {  0, -1 }
00316                                 };
00317                                 return cases[cubetype][u];
00318                         }; // end of Cases
00319                         //_____________________________________________________________________________
00320 
00321 
00322                         //_____________________________________________________________________________
00332                         //-----------------------------------------------------------------------------
00333                         static const char* Tiling1(unsigned char config)
00334                         {
00335                                 static const char tiling1[16][3] = {
00336                                         /*   1: 0,                       */  {  0,  8,  3 },
00337                                         /*   2:    1,                    */  {  0,  1,  9 },
00338                                         /*   4:       2,                 */  {  1,  2, 10 },
00339                                         /*   8:          3,              */  {  3, 11,  2 },
00340                                         /*  16:             4,           */  {  4,  7,  8 },
00341                                         /*  32:                5,        */  {  9,  5,  4 },
00342                                         /*  64:                   6,     */  { 10,  6,  5 },
00343                                         /* 128:                      7,  */  {  7,  6, 11 },
00344                                         /* 127: 0, 1, 2, 3, 4, 5, 6,     */  {  7, 11,  6 },
00345                                         /* 191: 0, 1, 2, 3, 4, 5,    7,  */  { 10,  5,  6 },
00346                                         /* 223: 0, 1, 2, 3, 4,    6, 7,  */  {  9,  4,  5 },
00347                                         /* 239: 0, 1, 2, 3,    5, 6, 7,  */  {  4,  8,  7 },
00348                                         /* 247: 0, 1, 2,    4, 5, 6, 7,  */  {  3,  2, 11 },
00349                                         /* 251: 0, 1,    3, 4, 5, 6, 7,  */  {  1, 10,  2 },
00350                                         /* 253: 0,    2, 3, 4, 5, 6, 7,  */  {  0,  9,  1 },
00351                                         /* 254:    1, 2, 3, 4, 5, 6, 7,  */  {  0,  3,  8 }
00352                                 };
00353                                 return &tiling1[config][0];
00354                         }; // end of Tiling1
00355                         //_____________________________________________________________________________
00356 
00357 
00358                         //_____________________________________________________________________________
00368                         //-----------------------------------------------------------------------------
00369                         static const char* Tiling2(unsigned char config)
00370                         {
00371                                 static const char tiling2[24][6] = {
00372                                         /*   3: 0, 1,                    */  {  1,  8,  3,  9,  8,  1 },
00373                                         /*   9: 0,       3,              */  {  0, 11,  2,  8, 11,  0 },
00374                                         /*  17: 0,          4,           */  {  4,  3,  0,  7,  3,  4 },
00375                                         /*   6:    1, 2,                 */  {  9,  2, 10,  0,  2,  9 },
00376                                         /*  34:    1,          5,        */  {  0,  5,  4,  1,  5,  0 },
00377                                         /*  12:       2, 3,              */  {  3, 10,  1, 11, 10,  3 },
00378                                         /*  68:       2,          6,     */  {  1,  6,  5,  2,  6,  1 },
00379                                         /* 136:          3,          7,  */  {  7,  2,  3,  6,  2,  7 },
00380                                         /*  48:             4, 5,        */  {  9,  7,  8,  5,  7,  9 },
00381                                         /* 144:             4,       7,  */  {  6,  8,  4, 11,  8,  6 },
00382                                         /*  96:                5, 6,     */  { 10,  4,  9,  6,  4, 10 },
00383                                         /* 192:                   6, 7,  */  { 11,  5, 10,  7,  5, 11 },
00384                                         /*  63: 0, 1, 2, 3, 4, 5,        */  { 11, 10,  5,  7, 11,  5 },
00385                                         /* 159: 0, 1, 2, 3, 4,       7,  */  { 10,  9,  4,  6, 10,  4 },
00386                                         /* 111: 0, 1, 2, 3,    5, 6,     */  {  6,  4,  8, 11,  6,  8 },
00387                                         /* 207: 0, 1, 2, 3,       6, 7,  */  {  9,  8,  7,  5,  9,  7 },
00388                                         /* 119: 0, 1, 2,    4, 5, 6,     */  {  7,  3,  2,  6,  7,  2 },
00389                                         /* 187: 0, 1,    3, 4, 5,    7,  */  {  1,  5,  6,  2,  1,  6 },
00390                                         /* 243: 0, 1,       4, 5, 6, 7,  */  {  3,  1, 10, 11,  3, 10 },
00391                                         /* 221: 0,    2, 3, 4,    6, 7,  */  {  0,  4,  5,  1,  0,  5 },
00392                                         /* 249: 0,       3, 4, 5, 6, 7,  */  {  9, 10,  2,  0,  9,  2 },
00393                                         /* 238:    1, 2, 3,    5, 6, 7,  */  {  4,  0,  3,  7,  4,  3 },
00394                                         /* 246:    1, 2,    4, 5, 6, 7,  */  {  0,  2, 11,  8,  0, 11 },
00395                                         /* 252:       2, 3, 4, 5, 6, 7,  */  {  1,  3,  8,  9,  1,  8 }
00396                                 };
00397                                 return &tiling2[config][0];
00398                         }; // end of Tiling2
00399                         //_____________________________________________________________________________
00400 
00401 
00402 
00403                         //_____________________________________________________________________________
00404 
00405 
00419                         //-----------------------------------------------------------------------------
00420             static char Test3(unsigned char config)
00421                         {
00422                                 static const char test3[24] = {
00423                                         /*   5: 0,    2,                 */    5,
00424                                         /*  33: 0,             5,        */    1,
00425                                         /* 129: 0,                   7,  */    4,
00426                                         /*  10:    1,    3,              */    5,
00427                                         /*  18:    1,       4,           */    1,
00428                                         /*  66:    1,             6,     */    2,
00429                                         /*  36:       2,       5,        */    2,
00430                                         /* 132:       2,             7,  */    3,
00431                                         /*  24:          3, 4,           */    4,
00432                                         /*  72:          3,       6,     */    3,
00433                                         /*  80:             4,    6,     */    6,
00434                                         /* 160:                5,    7,  */    6,
00435                                         /*  95: 0, 1, 2, 3, 4,    6,     */   -6,
00436                                         /* 175: 0, 1, 2, 3,    5,    7,  */   -6,
00437                                         /* 183: 0, 1, 2,    4, 5,    7,  */   -3,
00438                                         /* 231: 0, 1, 2,       5, 6, 7,  */   -4,
00439                                         /* 123: 0, 1,    3, 4, 5, 6,     */   -3,
00440                                         /* 219: 0, 1,    3, 4,    6, 7,  */   -2,
00441                                         /* 189: 0,    2, 3, 4, 5,    7,  */   -2,
00442                                         /* 237: 0,    2, 3,    5, 6, 7,  */   -1,
00443                                         /* 245: 0,    2,    4, 5, 6, 7,  */   -5,
00444                                         /* 126:    1, 2, 3, 4, 5, 6,     */   -4,
00445                                         /* 222:    1, 2, 3, 4,    6, 7,  */   -1,
00446                                         /* 250:    1,    3, 4, 5, 6, 7,  */   -5
00447                                 };
00448                                 return test3[config];
00449                         }; // end of Test3
00450 
00451 
00452                         //_____________________________________________________________________________
00462                         //-----------------------------------------------------------------------------
00463                         static const char* Tiling3_1(unsigned char config)
00464                         {
00465                                 static const char tiling3_1[24][6] = {
00466                                         /*   5: 0,    2,                 */  {  0,  8,  3,  1,  2, 10 },
00467                                         /*  33: 0,             5,        */  {  9,  5,  4,  0,  8,  3 },
00468                                         /* 129: 0,                   7,  */  {  3,  0,  8, 11,  7,  6 },
00469                                         /*  10:    1,    3,              */  {  1,  9,  0,  2,  3, 11 },
00470                                         /*  18:    1,       4,           */  {  0,  1,  9,  8,  4,  7 },
00471                                         /*  66:    1,             6,     */  {  9,  0,  1,  5, 10,  6 },
00472                                         /*  36:       2,       5,        */  {  1,  2, 10,  9,  5,  4 },
00473                                         /* 132:       2,             7,  */  { 10,  1,  2,  6, 11,  7 },
00474                                         /*  24:          3, 4,           */  {  8,  4,  7,  3, 11,  2 },
00475                                         /*  72:          3,       6,     */  {  2,  3, 11, 10,  6,  5 },
00476                                         /*  80:             4,    6,     */  {  5, 10,  6,  4,  7,  8 },
00477                                         /* 160:                5,    7,  */  {  4,  9,  5,  7,  6, 11 },
00478                                         /*  95: 0, 1, 2, 3, 4,    6,     */  {  5,  9,  4, 11,  6,  7 },
00479                                         /* 175: 0, 1, 2, 3,    5,    7,  */  {  6, 10,  5,  8,  7,  4 },
00480                                         /* 183: 0, 1, 2,    4, 5,    7,  */  { 11,  3,  2,  5,  6, 10 },
00481                                         /* 231: 0, 1, 2,       5, 6, 7,  */  {  7,  4,  8,  2, 11,  3 },
00482                                         /* 123: 0, 1,    3, 4, 5, 6,     */  {  2,  1, 10,  7, 11,  6 },
00483                                         /* 219: 0, 1,    3, 4,    6, 7,  */  { 10,  2,  1,  4,  5,  9 },
00484                                         /* 189: 0,    2, 3, 4, 5,    7,  */  {  1,  0,  9,  6, 10,  5 },
00485                                         /* 237: 0,    2, 3,    5, 6, 7,  */  {  9,  1,  0,  7,  4,  8 },
00486                                         /* 245: 0,    2,    4, 5, 6, 7,  */  {  0,  9,  1, 11,  3,  2 },
00487                                         /* 126:    1, 2, 3, 4, 5, 6,     */  {  8,  0,  3,  6,  7, 11 },
00488                                         /* 222:    1, 2, 3, 4,    6, 7,  */  {  4,  5,  9,  3,  8,  0 },
00489                                         /* 250:    1,    3, 4, 5, 6, 7,  */  {  3,  8,  0, 10,  2,  1 }
00490                                 };
00491                                 return &tiling3_1[config][0];
00492                         }; // end of Tiling3_1
00493 
00494 
00495                         //_____________________________________________________________________________
00505                         //-----------------------------------------------------------------------------
00506                         static const char* Tiling3_2(unsigned char config)
00507                         {
00508                                 static const char tiling3_2[24][12] = {
00509                                         /*   5: 0,    2,                 */  { 10,  3,  2, 10,  8,  3, 10,  1,  0,  8, 10,  0 },
00510                                         /*  33: 0,             5,        */  {  3,  4,  8,  3,  5,  4,  3,  0,  9,  5,  3,  9 },
00511                                         /* 129: 0,                   7,  */  {  6,  8,  7,  6,  0,  8,  6, 11,  3,  0,  6,  3 },
00512                                         /*  10:    1,    3,              */  { 11,  0,  3, 11,  9,  0, 11,  2,  1,  9, 11,  1 },
00513                                         /*  18:    1,       4,           */  {  7,  9,  4,  7,  1,  9,  7,  8,  0,  1,  7,  0 },
00514                                         /*  66:    1,             6,     */  {  6,  1, 10,  6,  0,  1,  9,  0,  6,  9,  6,  5 },
00515                                         /*  36:       2,       5,        */  {  4, 10,  5,  4,  2, 10,  4,  9,  1,  2,  4,  1 },
00516                                         /* 132:       2,             7,  */  {  7,  2, 11,  7,  1,  2,  7,  6, 10,  1,  7, 10 },
00517                                         /*  24:          3, 4,           */  {  2,  7, 11,  2,  4,  7,  2,  3,  8,  4,  2,  8 },
00518                                         /*  72:          3,       6,     */  {  5, 11,  6,  5,  3, 11,  5, 10,  2,  3,  5,  2 },
00519                                         /*  80:             4,    6,     */  {  8,  6,  7,  8, 10,  6,  8,  4,  5, 10,  8,  5 },
00520                                         /* 160:                5,    7,  */  { 11,  5,  6, 11,  9,  5, 11,  7,  4,  9, 11,  4 },
00521                                         /*  95: 0, 1, 2, 3, 4,    6,     */  {  6,  5, 11,  5,  9, 11,  4,  7, 11,  4, 11,  9 },
00522                                         /* 175: 0, 1, 2, 3,    5,    7,  */  {  7,  6,  8,  6, 10,  8,  5,  4,  8,  5,  8, 10 },
00523                                         /* 183: 0, 1, 2,    4, 5,    7,  */  {  6, 11,  5, 11,  3,  5,  2, 10,  5,  2,  5,  3 },
00524                                         /* 231: 0, 1, 2,       5, 6, 7,  */  { 11,  7,  2,  7,  4,  2,  8,  3,  2,  8,  2,  4 },
00525                                         /* 123: 0, 1,    3, 4, 5, 6,     */  { 11,  2,  7,  2,  1,  7, 10,  6,  7, 10,  7,  1 },
00526                                         /* 219: 0, 1,    3, 4,    6, 7,  */  {  5, 10,  4, 10,  2,  4,  1,  9,  4,  1,  4,  2 },
00527                                         /* 189: 0,    2, 3, 4, 5,    7,  */  { 10,  1,  6,  1,  0,  6,  6,  0,  9,  5,  6,  9 },
00528                                         /* 237: 0,    2, 3,    5, 6, 7,  */  {  4,  9,  7,  9,  1,  7,  0,  8,  7,  0,  7,  1 },
00529                                         /* 245: 0,    2,    4, 5, 6, 7,  */  {  3,  0, 11,  0,  9, 11,  1,  2, 11,  1, 11,  9 },
00530                                         /* 126:    1, 2, 3, 4, 5, 6,     */  {  7,  8,  6,  8,  0,  6,  3, 11,  6,  3,  6,  0 },
00531                                         /* 222:    1, 2, 3, 4,    6, 7,  */  {  8,  4,  3,  4,  5,  3,  9,  0,  3,  9,  3,  5 },
00532                                         /* 250:    1,    3, 4, 5, 6, 7,  */  {  2,  3, 10,  3,  8, 10,  0,  1, 10,  0, 10,  8 }
00533                                 };
00534                                 return &tiling3_2[config][0];
00535                         }; // end of Tiling3_2
00536                         //_____________________________________________________________________________
00537 
00538 
00539 
00540                         //_____________________________________________________________________________
00554                         //-----------------------------------------------------------------------------
00555             static char Test4(unsigned char config)
00556                         {
00557                                 static const char test4[8] = {
00558                                         /*  65: 0,                6,     */   7,
00559                                         /* 130:    1,                7,  */   7,
00560                                         /*  20:       2,    4,           */   7,
00561                                         /*  40:          3,    5,        */   7,
00562                                         /* 215: 0, 1, 2,    4,    6, 7,  */  -7,
00563                                         /* 235: 0, 1,    3,    5, 6, 7,  */  -7,
00564                                         /* 125: 0,    2, 3, 4, 5, 6,     */  -7,
00565                                         /* 190:    1, 2, 3, 4, 5,    7,  */  -7
00566                                 };
00567                                 return test4[config];
00568                         }; // end of Test4
00569 
00570 
00571                         //_____________________________________________________________________________
00581                         //-----------------------------------------------------------------------------
00582                         static const char* Tiling4_1(unsigned char config)
00583                         {
00584                                 static const char tiling4_1[8][6] = {
00585                                         /*  65: 0,                6,     */  {  0,  8,  3,  5, 10,  6 },
00586                                         /* 130:    1,                7,  */  {  0,  1,  9, 11,  7,  6 },
00587                                         /*  20:       2,    4,           */  {  1,  2, 10,  8,  4,  7 },
00588                                         /*  40:          3,    5,        */  {  9,  5,  4,  2,  3, 11 },
00589                                         /* 215: 0, 1, 2,    4,    6, 7,  */  {  4,  5,  9, 11,  3,  2 },
00590                                         /* 235: 0, 1,    3,    5, 6, 7,  */  { 10,  2,  1,  7,  4,  8 },
00591                                         /* 125: 0,    2, 3, 4, 5, 6,     */  {  9,  1,  0,  6,  7, 11 },
00592                                         /* 190:    1, 2, 3, 4, 5,    7,  */  {  3,  8,  0,  6, 10,  5 }
00593                                 };
00594                                 return &tiling4_1[config][0];
00595                         }; // end of Tiling4_1
00596 
00597 
00598                         //_____________________________________________________________________________
00608                         //-----------------------------------------------------------------------------
00609                         static const char* Tiling4_2(unsigned char config)
00610                         {
00611                                 static const char tiling4_2[8][18] = {
00612                                         /*  65: 0,                6,     */  {  8,  5,  0,  5,  8,  6,  3,  6,  8,  6,  3, 10,  0, 10,  3, 10,  0,  5 },
00613                                         /* 130:    1,                7,  */  {  9,  6,  1,  6,  9,  7,  0,  7,  9,  7,  0, 11,  1, 11,  0, 11,  1,  6 },
00614                                         /*  20:       2,    4,           */  { 10,  7,  2,  7, 10,  4,  1,  4, 10,  4,  1,  8,  2,  8,  1,  8,  2,  7 },
00615                                         /*  40:          3,    5,        */  { 11,  4,  3,  4, 11,  5,  2,  5, 11,  5,  2,  9,  3,  9,  2,  9,  3,  4 },
00616                                         /* 215: 0, 1, 2,    4,    6, 7,  */  {  3,  4, 11,  5, 11,  4, 11,  5,  2,  9,  2,  5,  2,  9,  3,  4,  3,  9 },
00617                                         /* 235: 0, 1,    3,    5, 6, 7,  */  {  2,  7, 10,  4, 10,  7, 10,  4,  1,  8,  1,  4,  1,  8,  2,  7,  2,  8 },
00618                                         /* 125: 0,    2, 3, 4, 5, 6,     */  {  1,  6,  9,  7,  9,  6,  9,  7,  0, 11,  0,  7,  0, 11,  1,  6,  1, 11 },
00619                                         /* 190:    1, 2, 3, 4, 5,    7,  */  {  0,  5,  8,  6,  8,  5,  8,  6,  3, 10,  3,  6,  3, 10,  0,  5,  0, 10 }
00620                                 };
00621                                 return &tiling4_2[config][0];
00622                         }; // end of Tiling4_2
00623                         //_____________________________________________________________________________
00624 
00625 
00626 
00627                         //_____________________________________________________________________________
00637                         //-----------------------------------------------------------------------------
00638                         static const char* Tiling5(unsigned char config)
00639                         {
00640                                 static const char tiling5[48][9] = {
00641                                         /*   7: 0, 1, 2,                 */  {  2,  8,  3,  2, 10,  8, 10,  9,  8 },
00642                                         /*  11: 0, 1,    3,              */  {  1, 11,  2,  1,  9, 11,  9,  8, 11 },
00643                                         /*  19: 0, 1,       4,           */  {  4,  1,  9,  4,  7,  1,  7,  3,  1 },
00644                                         /*  35: 0, 1,          5,        */  {  8,  5,  4,  8,  3,  5,  3,  1,  5 },
00645                                         /*  13: 0,    2, 3,              */  {  0, 10,  1,  0,  8, 10,  8, 11, 10 },
00646                                         /*  25: 0,       3, 4,           */  { 11,  4,  7, 11,  2,  4,  2,  0,  4 },
00647                                         /* 137: 0,       3,          7,  */  {  7,  0,  8,  7,  6,  0,  6,  2,  0 },
00648                                         /*  49: 0,          4, 5,        */  {  9,  3,  0,  9,  5,  3,  5,  7,  3 },
00649                                         /* 145: 0,          4,       7,  */  {  3,  6, 11,  3,  0,  6,  0,  4,  6 },
00650                                         /*  14:    1, 2, 3,              */  {  3,  9,  0,  3, 11,  9, 11, 10,  9 },
00651                                         /*  38:    1, 2,       5,        */  {  5,  2, 10,  5,  4,  2,  4,  0,  2 },
00652                                         /*  70:    1, 2,          6,     */  {  9,  6,  5,  9,  0,  6,  0,  2,  6 },
00653                                         /*  50:    1,       4, 5,        */  {  0,  7,  8,  0,  1,  7,  1,  5,  7 },
00654                                         /*  98:    1,          5, 6,     */  { 10,  0,  1, 10,  6,  0,  6,  4,  0 },
00655                                         /*  76:       2, 3,       6,     */  {  6,  3, 11,  6,  5,  3,  5,  1,  3 },
00656                                         /* 140:       2, 3,          7,  */  { 10,  7,  6, 10,  1,  7,  1,  3,  7 },
00657                                         /* 100:       2,       5, 6,     */  {  1,  4,  9,  1,  2,  4,  2,  6,  4 },
00658                                         /* 196:       2,          6, 7,  */  { 11,  1,  2, 11,  7,  1,  7,  5,  1 },
00659                                         /* 152:          3, 4,       7,  */  {  8,  2,  3,  8,  4,  2,  4,  6,  2 },
00660                                         /* 200:          3,       6, 7,  */  {  2,  5, 10,  2,  3,  5,  3,  7,  5 },
00661                                         /* 112:             4, 5, 6,     */  {  7, 10,  6,  7,  8, 10,  8,  9, 10 },
00662                                         /* 176:             4, 5,    7,  */  {  6,  9,  5,  6, 11,  9, 11,  8,  9 },
00663                                         /* 208:             4,    6, 7,  */  {  5,  8,  4,  5, 10,  8, 10, 11,  8 },
00664                                         /* 224:                5, 6, 7,  */  {  4, 11,  7,  4,  9, 11,  9, 10, 11 },
00665                                         /*  31: 0, 1, 2, 3, 4,           */  {  4,  7, 11,  4, 11,  9,  9, 11, 10 },
00666                                         /*  47: 0, 1, 2, 3,    5,        */  {  5,  4,  8,  5,  8, 10, 10,  8, 11 },
00667                                         /*  79: 0, 1, 2, 3,       6,     */  {  6,  5,  9,  6,  9, 11, 11,  9,  8 },
00668                                         /* 143: 0, 1, 2, 3,          7,  */  {  7,  6, 10,  7, 10,  8,  8, 10,  9 },
00669                                         /*  55: 0, 1, 2,    4, 5,        */  {  2, 10,  5,  2,  5,  3,  3,  5,  7 },
00670                                         /* 103: 0, 1, 2,       5, 6,     */  {  8,  3,  2,  8,  2,  4,  4,  2,  6 },
00671                                         /*  59: 0, 1,    3, 4, 5,        */  { 11,  2,  1, 11,  1,  7,  7,  1,  5 },
00672                                         /* 155: 0, 1,    3, 4,       7,  */  {  1,  9,  4,  1,  4,  2,  2,  4,  6 },
00673                                         /* 115: 0, 1,       4, 5, 6,     */  { 10,  6,  7, 10,  7,  1,  1,  7,  3 },
00674                                         /* 179: 0, 1,       4, 5,    7,  */  {  6, 11,  3,  6,  3,  5,  5,  3,  1 },
00675                                         /* 157: 0,    2, 3, 4,       7,  */  { 10,  1,  0, 10,  0,  6,  6,  0,  4 },
00676                                         /* 205: 0,    2, 3,       6, 7,  */  {  0,  8,  7,  0,  7,  1,  1,  7,  5 },
00677                                         /* 185: 0,       3, 4, 5,    7,  */  {  9,  5,  6,  9,  6,  0,  0,  6,  2 },
00678                                         /* 217: 0,       3, 4,    6, 7,  */  {  5, 10,  2,  5,  2,  4,  4,  2,  0 },
00679                                         /* 241: 0,          4, 5, 6, 7,  */  {  3,  0,  9,  3,  9, 11, 11,  9, 10 },
00680                                         /* 110:    1, 2, 3,    5, 6,     */  {  3, 11,  6,  3,  6,  0,  0,  6,  4 },
00681                                         /* 206:    1, 2, 3,       6, 7,  */  {  9,  0,  3,  9,  3,  5,  5,  3,  7 },
00682                                         /* 118:    1, 2,    4, 5, 6,     */  {  7,  8,  0,  7,  0,  6,  6,  0,  2 },
00683                                         /* 230:    1, 2,       5, 6, 7,  */  { 11,  7,  4, 11,  4,  2,  2,  4,  0 },
00684                                         /* 242:    1,       4, 5, 6, 7,  */  {  0,  1, 10,  0, 10,  8,  8, 10, 11 },
00685                                         /* 220:       2, 3, 4,    6, 7,  */  {  8,  4,  5,  8,  5,  3,  3,  5,  1 },
00686                                         /* 236:       2, 3,    5, 6, 7,  */  {  4,  9,  1,  4,  1,  7,  7,  1,  3 },
00687                                         /* 244:       2,    4, 5, 6, 7,  */  {  1,  2, 11,  1, 11,  9,  9, 11,  8 },
00688                                         /* 248:          3, 4, 5, 6, 7,  */  {  2,  3,  8,  2,  8, 10, 10,  8,  9 }
00689                                 };
00690                                 return &tiling5[config][0];
00691                         }; // end of Tiling5
00692                         //_____________________________________________________________________________
00693 
00694 
00695                         //_____________________________________________________________________________
00712                         //-----------------------------------------------------------------------------
00713             static char Test6(unsigned char config, int u)
00714                         {
00715                                 static const char test6[48][3] = {
00716                                         /*  67: 0, 1,             6,     */  {  2,  7,  10  },
00717                                         /* 131: 0, 1,                7,  */  {  4,  7,  11  },
00718                                         /*  21: 0,    2,    4,           */  {  5,  7,   1  },
00719                                         /*  69: 0,    2,          6,     */  {  5,  7,   3  },
00720                                         /*  41: 0,       3,    5,        */  {  1,  7,   9  },
00721                                         /*  73: 0,       3,       6,     */  {  3,  7,  10  },
00722                                         /*  81: 0,          4,    6,     */  {  6,  7,   5  },
00723                                         /*  97: 0,             5, 6,     */  {  1,  7,   8  },
00724                                         /* 193: 0,                6, 7,  */  {  4,  7,   8  },
00725                                         /*  22:    1, 2,    4,           */  {  1,  7,   8  },
00726                                         /* 134:    1, 2,             7,  */  {  3,  7,  11  },
00727                                         /*  42:    1,    3,    5,        */  {  5,  7,   2  },
00728                                         /* 138:    1,    3,          7,  */  {  5,  7,   0  },
00729                                         /* 146:    1,       4,       7,  */  {  1,  7,   9  },
00730                                         /* 162:    1,          5,    7,  */  {  6,  7,   6  },
00731                                         /* 194:    1,             6, 7,  */  {  2,  7,   9  },
00732                                         /*  28:       2, 3, 4,           */  {  4,  7,   8  },
00733                                         /*  44:       2, 3,    5,        */  {  2,  7,   9  },
00734                                         /*  52:       2,    4, 5,        */  {  2,  7,  10  },
00735                                         /*  84:       2,    4,    6,     */  {  6,  7,   7  },
00736                                         /* 148:       2,    4,       7,  */  {  3,  7,  10  },
00737                                         /*  56:          3, 4, 5,        */  {  4,  7,  11  },
00738                                         /* 104:          3,    5, 6,     */  {  3,  7,  11  },
00739                                         /* 168:          3,    5,    7,  */  {  6,  7,   4  },
00740                                         /*  87: 0, 1, 2,    4,    6,     */  { -6, -7,   4  },
00741                                         /* 151: 0, 1, 2,    4,       7,  */  { -3, -7,  11  },
00742                                         /* 199: 0, 1, 2,          6, 7,  */  { -4, -7,  11  },
00743                                         /* 107: 0, 1,    3,    5, 6,     */  { -3, -7,  10  },
00744                                         /* 171: 0, 1,    3,    5,    7,  */  { -6, -7,   7  },
00745                                         /* 203: 0, 1,    3,       6, 7,  */  { -2, -7,  10  },
00746                                         /* 211: 0, 1,       4,    6, 7,  */  { -2, -7,   9  },
00747                                         /* 227: 0, 1,          5, 6, 7,  */  { -4, -7,   8  },
00748                                         /*  61: 0,    2, 3, 4, 5,        */  { -2, -7,   9  },
00749                                         /*  93: 0,    2, 3, 4,    6,     */  { -6, -7,   6  },
00750                                         /* 109: 0,    2, 3,    5, 6,     */  { -1, -7,   9  },
00751                                         /* 117: 0,    2,    4, 5, 6,     */  { -5, -7,   0  },
00752                                         /* 213: 0,    2,    4,    6, 7,  */  { -5, -7,   2  },
00753                                         /* 121: 0,       3, 4, 5, 6,     */  { -3, -7,  11  },
00754                                         /* 233: 0,       3,    5, 6, 7,  */  { -1, -7,   8  },
00755                                         /*  62:    1, 2, 3, 4, 5,        */  { -4, -7,   8  },
00756                                         /* 158:    1, 2, 3, 4,       7,  */  { -1, -7,   8  },
00757                                         /* 174:    1, 2, 3,    5,    7,  */  { -6, -7,   5  },
00758                                         /* 182:    1, 2,    4, 5,    7,  */  { -3, -7,  10  },
00759                                         /* 214:    1, 2,    4,    6, 7,  */  { -1, -7,   9  },
00760                                         /* 186:    1,    3, 4, 5,    7,  */  { -5, -7,   3  },
00761                                         /* 234:    1,    3,    5, 6, 7,  */  { -5, -7,   1  },
00762                                         /* 124:       2, 3, 4, 5, 6,     */  { -4, -7,  11  },
00763                                         /* 188:       2, 3, 4, 5,    7,  */  { -2, -7,  10  }
00764                                 };
00765                                 return test6[config][u];
00766                         }; // end of Test6
00767 
00768 
00769                         //_____________________________________________________________________________
00779                         //-----------------------------------------------------------------------------
00780                         static const char* Tiling6_1_1(unsigned char config)
00781                         {
00782                                 static const char tiling6_1_1[48][9] = {
00783                                         /*  67: 0, 1,             6,     */  {  6,  5, 10,  3,  1,  8,  9,  8,  1 },
00784                                         /* 131: 0, 1,                7,  */  { 11,  7,  6,  9,  3,  1,  3,  9,  8 },
00785                                         /*  21: 0,    2,    4,           */  {  1,  2, 10,  7,  0,  4,  0,  7,  3 },
00786                                         /*  69: 0,    2,          6,     */  {  3,  0,  8,  5,  2,  6,  2,  5,  1 },
00787                                         /*  41: 0,       3,    5,        */  {  5,  4,  9,  2,  0, 11,  8, 11,  0 },
00788                                         /*  73: 0,       3,       6,     */  { 10,  6,  5,  8,  2,  0,  2,  8, 11 },
00789                                         /*  81: 0,          4,    6,     */  { 10,  6,  5,  0,  4,  3,  7,  3,  4 },
00790                                         /*  97: 0,             5, 6,     */  {  3,  0,  8,  6,  4, 10,  9, 10,  4 },
00791                                         /* 193: 0,                6, 7,  */  {  8,  3,  0, 10,  7,  5,  7, 10, 11 },
00792                                         /*  22:    1, 2,    4,           */  {  8,  4,  7, 10,  0,  2,  0, 10,  9 },
00793                                         /* 134:    1, 2,             7,  */  {  7,  6, 11,  0,  2,  9, 10,  9,  2 },
00794                                         /*  42:    1,    3,    5,        */  {  2,  3, 11,  4,  1,  5,  1,  4,  0 },
00795                                         /* 138:    1,    3,          7,  */  {  0,  1,  9,  6,  3,  7,  3,  6,  2 },
00796                                         /* 146:    1,       4,       7,  */  {  9,  0,  1, 11,  4,  6,  4, 11,  8 },
00797                                         /* 162:    1,          5,    7,  */  { 11,  7,  6,  1,  5,  0,  4,  0,  5 },
00798                                         /* 194:    1,             6, 7,  */  {  0,  1,  9,  7,  5, 11, 10, 11,  5 },
00799                                         /*  28:       2, 3, 4,           */  {  4,  7,  8,  1,  3, 10, 11, 10,  3 },
00800                                         /*  44:       2, 3,    5,        */  {  9,  5,  4, 11,  1,  3,  1, 11, 10 },
00801                                         /*  52:       2,    4, 5,        */  { 10,  1,  2,  8,  5,  7,  5,  8,  9 },
00802                                         /*  84:       2,    4,    6,     */  {  8,  4,  7,  2,  6,  1,  5,  1,  6 },
00803                                         /* 148:       2,    4,       7,  */  {  1,  2, 10,  4,  6,  8, 11,  8,  6 },
00804                                         /*  56:          3, 4, 5,        */  {  2,  3, 11,  5,  7,  9,  8,  9,  7 },
00805                                         /* 104:          3,    5, 6,     */  { 11,  2,  3,  9,  6,  4,  6,  9, 10 },
00806                                         /* 168:          3,    5,    7,  */  {  9,  5,  4,  3,  7,  2,  6,  2,  7 },
00807                                         /*  87: 0, 1, 2,    4,    6,     */  {  4,  5,  9,  2,  7,  3,  7,  2,  6 },
00808                                         /* 151: 0, 1, 2,    4,       7,  */  {  3,  2, 11,  4,  6,  9, 10,  9,  6 },
00809                                         /* 199: 0, 1, 2,          6, 7,  */  { 11,  3,  2,  9,  7,  5,  7,  9,  8 },
00810                                         /* 107: 0, 1,    3,    5, 6,     */  { 10,  2,  1,  8,  6,  4,  6,  8, 11 },
00811                                         /* 171: 0, 1,    3,    5,    7,  */  {  7,  4,  8,  1,  6,  2,  6,  1,  5 },
00812                                         /* 203: 0, 1,    3,       6, 7,  */  {  2,  1, 10,  7,  5,  8,  9,  8,  5 },
00813                                         /* 211: 0, 1,       4,    6, 7,  */  {  4,  5,  9,  3,  1, 11, 10, 11,  1 },
00814                                         /* 227: 0, 1,          5, 6, 7,  */  {  8,  7,  4, 10,  3,  1,  3, 10, 11 },
00815                                         /*  61: 0,    2, 3, 4, 5,        */  {  9,  1,  0, 11,  5,  7,  5, 11, 10 },
00816                                         /*  93: 0,    2, 3, 4,    6,     */  {  6,  7, 11,  0,  5,  1,  5,  0,  4 },
00817                                         /* 109: 0,    2, 3,    5, 6,     */  {  1,  0,  9,  6,  4, 11,  8, 11,  4 },
00818                                         /* 117: 0,    2,    4, 5, 6,     */  {  9,  1,  0,  7,  3,  6,  2,  6,  3 },
00819                                         /* 213: 0,    2,    4,    6, 7,  */  { 11,  3,  2,  5,  1,  4,  0,  4,  1 },
00820                                         /* 121: 0,       3, 4, 5, 6,     */  { 11,  6,  7,  9,  2,  0,  2,  9, 10 },
00821                                         /* 233: 0,       3,    5, 6, 7,  */  {  7,  4,  8,  2,  0, 10,  9, 10,  0 },
00822                                         /*  62:    1, 2, 3, 4, 5,        */  {  0,  3,  8,  5,  7, 10, 11, 10,  7 },
00823                                         /* 158:    1, 2, 3, 4,       7,  */  {  8,  0,  3, 10,  4,  6,  4, 10,  9 },
00824                                         /* 174:    1, 2, 3,    5,    7,  */  {  5,  6, 10,  3,  4,  0,  4,  3,  7 },
00825                                         /* 182:    1, 2,    4, 5,    7,  */  {  5,  6, 10,  0,  2,  8, 11,  8,  2 },
00826                                         /* 214:    1, 2,    4,    6, 7,  */  {  9,  4,  5, 11,  0,  2,  0, 11,  8 },
00827                                         /* 186:    1,    3, 4, 5,    7,  */  {  8,  0,  3,  6,  2,  5,  1,  5,  2 },
00828                                         /* 234:    1,    3,    5, 6, 7,  */  { 10,  2,  1,  4,  0,  7,  3,  7,  0 },
00829                                         /* 124:       2, 3, 4, 5, 6,     */  {  6,  7, 11,  1,  3,  9,  8,  9,  3 },
00830                                         /* 188:       2, 3, 4, 5,    7,  */  { 10,  5,  6,  8,  1,  3,  1,  8,  9 }
00831                                 };
00832                                 return &tiling6_1_1[config][0];
00833                         }; // end of Tiling6_1_1
00834 
00835 
00836                         //_____________________________________________________________________________
00846                         //-----------------------------------------------------------------------------
00847                         static const char* Tiling6_1_2(unsigned char config)
00848                         {
00849                                 static const char tiling6_1_2[48][21] = {
00850                                         /*  67: 0, 1,             6,     */  {  1, 10,  3,  6,  3, 10,  3,  6,  8,  5,  8,  6,  8,  5,  9,  1,  9,  5, 10,  1,  5 },
00851                                         /* 131: 0, 1,                7,  */  {  1, 11,  3, 11,  1,  6,  9,  6,  1,  6,  9,  7,  8,  7,  9,  7,  8,  3,  7,  3, 11 },
00852                                         /*  21: 0,    2,    4,           */  {  4,  1,  0,  1,  4, 10,  7, 10,  4, 10,  7,  2,  3,  2,  7,  2,  3,  0,  2,  0,  1 },
00853                                         /*  69: 0,    2,          6,     */  {  6,  3,  2,  3,  6,  8,  5,  8,  6,  8,  5,  0,  1,  0,  5,  0,  1,  2,  0,  2,  3 },
00854                                         /*  41: 0,       3,    5,        */  {  0,  9,  2,  5,  2,  9,  2,  5, 11,  4, 11,  5, 11,  4,  8,  0,  8,  4,  9,  0,  4 },
00855                                         /*  73: 0,       3,       6,     */  {  0, 10,  2, 10,  0,  5,  8,  5,  0,  5,  8,  6, 11,  6,  8,  6, 11,  2,  6,  2, 10 },
00856                                         /*  81: 0,          4,    6,     */  {  4,  5,  0, 10,  0,  5,  0, 10,  3,  6,  3, 10,  3,  6,  7,  4,  7,  6,  5,  4,  6 },
00857                                         /*  97: 0,             5, 6,     */  {  4,  8,  6,  3,  6,  8,  6,  3, 10,  0, 10,  3, 10,  0,  9,  4,  9,  0,  8,  4,  0 },
00858                                         /* 193: 0,                6, 7,  */  {  5,  8,  7,  8,  5,  0, 10,  0,  5,  0, 10,  3, 11,  3, 10,  3, 11,  7,  3,  7,  8 },
00859                                         /*  22:    1, 2,    4,           */  {  2,  8,  0,  8,  2,  7, 10,  7,  2,  7, 10,  4,  9,  4, 10,  4,  9,  0,  4,  0,  8 },
00860                                         /* 134:    1, 2,             7,  */  {  2, 11,  0,  7,  0, 11,  0,  7,  9,  6,  9,  7,  9,  6, 10,  2, 10,  6, 11,  2,  6 },
00861                                         /*  42:    1,    3,    5,        */  {  5,  2,  1,  2,  5, 11,  4, 11,  5, 11,  4,  3,  0,  3,  4,  3,  0,  1,  3,  1,  2 },
00862                                         /* 138:    1,    3,          7,  */  {  7,  0,  3,  0,  7,  9,  6,  9,  7,  9,  6,  1,  2,  1,  6,  1,  2,  3,  1,  3,  0 },
00863                                         /* 146:    1,       4,       7,  */  {  6,  9,  4,  9,  6,  1, 11,  1,  6,  1, 11,  0,  8,  0, 11,  0,  8,  4,  0,  4,  9 },
00864                                         /* 162:    1,          5,    7,  */  {  5,  6,  1, 11,  1,  6,  1, 11,  0,  7,  0, 11,  0,  7,  4,  5,  4,  7,  6,  5,  7 },
00865                                         /* 194:    1,             6, 7,  */  {  5,  9,  7,  0,  7,  9,  7,  0, 11,  1, 11,  0, 11,  1, 10,  5, 10,  1,  9,  5,  1 },
00866                                         /*  28:       2, 3, 4,           */  {  3,  8,  1,  4,  1,  8,  1,  4, 10,  7, 10,  4, 10,  7, 11,  3, 11,  7,  8,  3,  7 },
00867                                         /*  44:       2, 3,    5,        */  {  3,  9,  1,  9,  3,  4, 11,  4,  3,  4, 11,  5, 10,  5, 11,  5, 10,  1,  5,  1,  9 },
00868                                         /*  52:       2,    4, 5,        */  {  7, 10,  5, 10,  7,  2,  8,  2,  7,  2,  8,  1,  9,  1,  8,  1,  9,  5,  1,  5, 10 },
00869                                         /*  84:       2,    4,    6,     */  {  6,  7,  2,  8,  2,  7,  2,  8,  1,  4,  1,  8,  1,  4,  5,  6,  5,  4,  7,  6,  4 },
00870                                         /* 148:       2,    4,       7,  */  {  6, 10,  4,  1,  4, 10,  4,  1,  8,  2,  8,  1,  8,  2, 11,  6, 11,  2, 10,  6,  2 },
00871                                         /*  56:          3, 4, 5,        */  {  7, 11,  5,  2,  5, 11,  5,  2,  9,  3,  9,  2,  9,  3,  8,  7,  8,  3, 11,  7,  3 },
00872                                         /* 104:          3,    5, 6,     */  {  4, 11,  6, 11,  4,  3,  9,  3,  4,  3,  9,  2, 10,  2,  9,  2, 10,  6,  2,  6, 11 },
00873                                         /* 168:          3,    5,    7,  */  {  7,  4,  3,  9,  3,  4,  3,  9,  2,  5,  2,  9,  2,  5,  6,  7,  6,  5,  4,  7,  5 },
00874                                         /*  87: 0, 1, 2,    4,    6,     */  {  3,  4,  7,  4,  3,  9,  2,  9,  3,  9,  2,  5,  6,  5,  2,  5,  6,  7,  5,  7,  4 },
00875                                         /* 151: 0, 1, 2,    4,       7,  */  {  6, 11,  4,  3,  4, 11,  4,  3,  9,  2,  9,  3,  9,  2, 10,  6, 10,  2, 11,  6,  2 },
00876                                         /* 199: 0, 1, 2,          6, 7,  */  {  5, 11,  7, 11,  5,  2,  9,  2,  5,  2,  9,  3,  8,  3,  9,  3,  8,  7,  3,  7, 11 },
00877                                         /* 107: 0, 1,    3,    5, 6,     */  {  4, 10,  6, 10,  4,  1,  8,  1,  4,  1,  8,  2, 11,  2,  8,  2, 11,  6,  2,  6, 10 },
00878                                         /* 171: 0, 1,    3,    5,    7,  */  {  2,  7,  6,  7,  2,  8,  1,  8,  2,  8,  1,  4,  5,  4,  1,  4,  5,  6,  4,  6,  7 },
00879                                         /* 203: 0, 1,    3,       6, 7,  */  {  5, 10,  7,  2,  7, 10,  7,  2,  8,  1,  8,  2,  8,  1,  9,  5,  9,  1, 10,  5,  1 },
00880                                         /* 211: 0, 1,       4,    6, 7,  */  {  1,  9,  3,  4,  3,  9,  3,  4, 11,  5, 11,  4, 11,  5, 10,  1, 10,  5,  9,  1,  5 },
00881                                         /* 227: 0, 1,          5, 6, 7,  */  {  1,  8,  3,  8,  1,  4, 10,  4,  1,  4, 10,  7, 11,  7, 10,  7, 11,  3,  7,  3,  8 },
00882                                         /*  61: 0,    2, 3, 4, 5,        */  {  7,  9,  5,  9,  7,  0, 11,  0,  7,  0, 11,  1, 10,  1, 11,  1, 10,  5,  1,  5,  9 },
00883                                         /*  93: 0,    2, 3, 4,    6,     */  {  1,  6,  5,  6,  1, 11,  0, 11,  1, 11,  0,  7,  4,  7,  0,  7,  4,  5,  7,  5,  6 },
00884                                         /* 109: 0,    2, 3,    5, 6,     */  {  4,  9,  6,  1,  6,  9,  6,  1, 11,  0, 11,  1, 11,  0,  8,  4,  8,  0,  9,  4,  0 },
00885                                         /* 117: 0,    2,    4, 5, 6,     */  {  3,  0,  7,  9,  7,  0,  7,  9,  6,  1,  6,  9,  6,  1,  2,  3,  2,  1,  0,  3,  1 },
00886                                         /* 213: 0,    2,    4,    6, 7,  */  {  1,  2,  5, 11,  5,  2,  5, 11,  4,  3,  4, 11,  4,  3,  0,  1,  0,  3,  2,  1,  3 },
00887                                         /* 121: 0,       3, 4, 5, 6,     */  {  0, 11,  2, 11,  0,  7,  9,  7,  0,  7,  9,  6, 10,  6,  9,  6, 10,  2,  6,  2, 11 },
00888                                         /* 233: 0,       3,    5, 6, 7,  */  {  0,  8,  2,  7,  2,  8,  2,  7, 10,  4, 10,  7, 10,  4,  9,  0,  9,  4,  8,  0,  4 },
00889                                         /*  62:    1, 2, 3, 4, 5,        */  {  7,  8,  5,  0,  5,  8,  5,  0, 10,  3, 10,  0, 10,  3, 11,  7, 11,  3,  8,  7,  3 },
00890                                         /* 158:    1, 2, 3, 4,       7,  */  {  6,  8,  4,  8,  6,  3, 10,  3,  6,  3, 10,  0,  9,  0, 10,  0,  9,  4,  0,  4,  8 },
00891                                         /* 174:    1, 2, 3,    5,    7,  */  {  0,  5,  4,  5,  0, 10,  3, 10,  0, 10,  3,  6,  7,  6,  3,  6,  7,  4,  6,  4,  5 },
00892                                         /* 182:    1, 2,    4, 5,    7,  */  {  2, 10,  0,  5,  0, 10,  0,  5,  8,  6,  8,  5,  8,  6, 11,  2, 11,  6, 10,  2,  6 },
00893                                         /* 214:    1, 2,    4,    6, 7,  */  {  2,  9,  0,  9,  2,  5, 11,  5,  2,  5, 11,  4,  8,  4, 11,  4,  8,  0,  4,  0,  9 },
00894                                         /* 186:    1,    3, 4, 5,    7,  */  {  2,  3,  6,  8,  6,  3,  6,  8,  5,  0,  5,  8,  5,  0,  1,  2,  1,  0,  3,  2,  0 },
00895                                         /* 234:    1,    3,    5, 6, 7,  */  {  0,  1,  4, 10,  4,  1,  4, 10,  7,  2,  7, 10,  7,  2,  3,  0,  3,  2,  1,  0,  2 },
00896                                         /* 124:       2, 3, 4, 5, 6,     */  {  3, 11,  1,  6,  1, 11,  1,  6,  9,  7,  9,  6,  9,  7,  8,  3,  8,  7, 11,  3,  7 },
00897                                         /* 188:       2, 3, 4, 5,    7,  */  {  3, 10,  1, 10,  3,  6,  8,  6,  3,  6,  8,  5,  9,  5,  8,  5,  9,  1,  5,  1, 10 }
00898                                 };
00899                                 return &tiling6_1_2[config][0];
00900                         }; // end of Tiling6_1_2
00901 
00902 
00903 
00904                         //_____________________________________________________________________________
00914                         //-----------------------------------------------------------------------------
00915                         static const char* Tiling6_2(unsigned char config)
00916                         {
00917                                 static const char tiling6_2[48][15] = {
00918                                         /*  67: 0, 1,             6,     */  {  1, 10,  3,  6,  3, 10,  3,  6,  8,  5,  8,  6,  8,  5,  9 },
00919                                         /* 131: 0, 1,                7,  */  {  1, 11,  3, 11,  1,  6,  9,  6,  1,  6,  9,  7,  8,  7,  9 },
00920                                         /*  21: 0,    2,    4,           */  {  4,  1,  0,  1,  4, 10,  7, 10,  4, 10,  7,  2,  3,  2,  7 },
00921                                         /*  69: 0,    2,          6,     */  {  6,  3,  2,  3,  6,  8,  5,  8,  6,  8,  5,  0,  1,  0,  5 },
00922                                         /*  41: 0,       3,    5,        */  {  0,  9,  2,  5,  2,  9,  2,  5, 11,  4, 11,  5, 11,  4,  8 },
00923                                         /*  73: 0,       3,       6,     */  {  0, 10,  2, 10,  0,  5,  8,  5,  0,  5,  8,  6, 11,  6,  8 },
00924                                         /*  81: 0,          4,    6,     */  {  4,  5,  0, 10,  0,  5,  0, 10,  3,  6,  3, 10,  3,  6,  7 },
00925                                         /*  97: 0,             5, 6,     */  {  4,  8,  6,  3,  6,  8,  6,  3, 10,  0, 10,  3, 10,  0,  9 },
00926                                         /* 193: 0,                6, 7,  */  {  5,  8,  7,  8,  5,  0, 10,  0,  5,  0, 10,  3, 11,  3, 10 },
00927                                         /*  22:    1, 2,    4,           */  {  2,  8,  0,  8,  2,  7, 10,  7,  2,  7, 10,  4,  9,  4, 10 },
00928                                         /* 134:    1, 2,             7,  */  {  2, 11,  0,  7,  0, 11,  0,  7,  9,  6,  9,  7,  9,  6, 10 },
00929                                         /*  42:    1,    3,    5,        */  {  5,  2,  1,  2,  5, 11,  4, 11,  5, 11,  4,  3,  0,  3,  4 },
00930                                         /* 138:    1,    3,          7,  */  {  7,  0,  3,  0,  7,  9,  6,  9,  7,  9,  6,  1,  2,  1,  6 },
00931                                         /* 146:    1,       4,       7,  */  {  6,  9,  4,  9,  6,  1, 11,  1,  6,  1, 11,  0,  8,  0, 11 },
00932                                         /* 162:    1,          5,    7,  */  {  5,  6,  1, 11,  1,  6,  1, 11,  0,  7,  0, 11,  0,  7,  4 },
00933                                         /* 194:    1,             6, 7,  */  {  5,  9,  7,  0,  7,  9,  7,  0, 11,  1, 11,  0, 11,  1, 10 },
00934                                         /*  28:       2, 3, 4,           */  {  3,  8,  1,  4,  1,  8,  1,  4, 10,  7, 10,  4, 10,  7, 11 },
00935                                         /*  44:       2, 3,    5,        */  {  3,  9,  1,  9,  3,  4, 11,  4,  3,  4, 11,  5, 10,  5, 11 },
00936                                         /*  52:       2,    4, 5,        */  {  7, 10,  5, 10,  7,  2,  8,  2,  7,  2,  8,  1,  9,  1,  8 },
00937                                         /*  84:       2,    4,    6,     */  {  6,  7,  2,  8,  2,  7,  2,  8,  1,  4,  1,  8,  1,  4,  5 },
00938                                         /* 148:       2,    4,       7,  */  {  6, 10,  4,  1,  4, 10,  4,  1,  8,  2,  8,  1,  8,  2, 11 },
00939                                         /*  56:          3, 4, 5,        */  {  7, 11,  5,  2,  5, 11,  5,  2,  9,  3,  9,  2,  9,  3,  8 },
00940                                         /* 104:          3,    5, 6,     */  {  4, 11,  6, 11,  4,  3,  9,  3,  4,  3,  9,  2, 10,  2,  9 },
00941                                         /* 168:          3,    5,    7,  */  {  7,  4,  3,  9,  3,  4,  3,  9,  2,  5,  2,  9,  2,  5,  6 },
00942                                         /*  87: 0, 1, 2,    4,    6,     */  {  3,  4,  7,  4,  3,  9,  2,  9,  3,  9,  2,  5,  6,  5,  2 },
00943                                         /* 151: 0, 1, 2,    4,       7,  */  {  6, 11,  4,  3,  4, 11,  4,  3,  9,  2,  9,  3,  9,  2, 10 },
00944                                         /* 199: 0, 1, 2,          6, 7,  */  {  5, 11,  7, 11,  5,  2,  9,  2,  5,  2,  9,  3,  8,  3,  9 },
00945                                         /* 107: 0, 1,    3,    5, 6,     */  {  4, 10,  6, 10,  4,  1,  8,  1,  4,  1,  8,  2, 11,  2,  8 },
00946                                         /* 171: 0, 1,    3,    5,    7,  */  {  2,  7,  6,  7,  2,  8,  1,  8,  2,  8,  1,  4,  5,  4,  1 },
00947                                         /* 203: 0, 1,    3,       6, 7,  */  {  5, 10,  7,  2,  7, 10,  7,  2,  8,  1,  8,  2,  8,  1,  9 },
00948                                         /* 211: 0, 1,       4,    6, 7,  */  {  1,  9,  3,  4,  3,  9,  3,  4, 11,  5, 11,  4, 11,  5, 10 },
00949                                         /* 227: 0, 1,          5, 6, 7,  */  {  1,  8,  3,  8,  1,  4, 10,  4,  1,  4, 10,  7, 11,  7, 10 },
00950                                         /*  61: 0,    2, 3, 4, 5,        */  {  7,  9,  5,  9,  7,  0, 11,  0,  7,  0, 11,  1, 10,  1, 11 },
00951                                         /*  93: 0,    2, 3, 4,    6,     */  {  1,  6,  5,  6,  1, 11,  0, 11,  1, 11,  0,  7,  4,  7,  0 },
00952                                         /* 109: 0,    2, 3,    5, 6,     */  {  4,  9,  6,  1,  6,  9,  6,  1, 11,  0, 11,  1, 11,  0,  8 },
00953                                         /* 117: 0,    2,    4, 5, 6,     */  {  3,  0,  7,  9,  7,  0,  7,  9,  6,  1,  6,  9,  6,  1,  2 },
00954                                         /* 213: 0,    2,    4,    6, 7,  */  {  1,  2,  5, 11,  5,  2,  5, 11,  4,  3,  4, 11,  4,  3,  0 },
00955                                         /* 121: 0,       3, 4, 5, 6,     */  {  0, 11,  2, 11,  0,  7,  9,  7,  0,  7,  9,  6, 10,  6,  9 },
00956                                         /* 233: 0,       3,    5, 6, 7,  */  {  0,  8,  2,  7,  2,  8,  2,  7, 10,  4, 10,  7, 10,  4,  9 },
00957                                         /*  62:    1, 2, 3, 4, 5,        */  {  7,  8,  5,  0,  5,  8,  5,  0, 10,  3, 10,  0, 10,  3, 11 },
00958                                         /* 158:    1, 2, 3, 4,       7,  */  {  6,  8,  4,  8,  6,  3, 10,  3,  6,  3, 10,  0,  9,  0, 10 },
00959                                         /* 174:    1, 2, 3,    5,    7,  */  {  0,  5,  4,  5,  0, 10,  3, 10,  0, 10,  3,  6,  7,  6,  3 },
00960                                         /* 182:    1, 2,    4, 5,    7,  */  {  2, 10,  0,  5,  0, 10,  0,  5,  8,  6,  8,  5,  8,  6, 11 },
00961                                         /* 214:    1, 2,    4,    6, 7,  */  {  2,  9,  0,  9,  2,  5, 11,  5,  2,  5, 11,  4,  8,  4, 11 },
00962                                         /* 186:    1,    3, 4, 5,    7,  */  {  2,  3,  6,  8,  6,  3,  6,  8,  5,  0,  5,  8,  5,  0,  1 },
00963                                         /* 234:    1,    3,    5, 6, 7,  */  {  0,  1,  4, 10,  4,  1,  4, 10,  7,  2,  7, 10,  7,  2,  3 },
00964                                         /* 124:       2, 3, 4, 5, 6,     */  {  3, 11,  1,  6,  1, 11,  1,  6,  9,  7,  9,  6,  9,  7,  8 },
00965                                         /* 188:       2, 3, 4, 5,    7,  */  {  3, 10,  1, 10,  3,  6,  8,  6,  3,  6,  8,  5,  9,  5,  8 }
00966                                 };
00967                                 return &tiling6_2[config][0];
00968                         }; // end of Tiling6_2
00969                         //_____________________________________________________________________________
00970 
00971 
00972                         //_____________________________________________________________________________
00995                         //-----------------------------------------------------------------------------
00996             static char Test7(unsigned char config, int u)
00997                         {
00998                                 static const char test7[16][5] = {
00999                                         /*  37: 0,    2,       5,        */  {  1,  2,  5,  7,   1 },
01000                                         /* 133: 0,    2,             7,  */  {  3,  4,  5,  7,   3 },
01001                                         /* 161: 0,             5,    7,  */  {  4,  1,  6,  7,   4 },
01002                                         /*  26:    1,    3, 4,           */  {  4,  1,  5,  7,   0 },
01003                                         /*  74:    1,    3,       6,     */  {  2,  3,  5,  7,   2 },
01004                                         /*  82:    1,       4,    6,     */  {  1,  2,  6,  7,   5 },
01005                                         /* 164:       2,       5,    7,  */  {  2,  3,  6,  7,   6 },
01006                                         /*  88:          3, 4,    6,     */  {  3,  4,  6,  7,   7 },
01007                                         /* 167: 0, 1, 2,       5,    7,  */  { -3, -4, -6, -7,   7 },
01008                                         /*  91: 0, 1,    3, 4,    6,     */  { -2, -3, -6, -7,   6 },
01009                                         /* 173: 0,    2, 3,    5,    7,  */  { -1, -2, -6, -7,   5 },
01010                                         /* 181: 0,    2,    4, 5,    7,  */  { -2, -3, -5, -7,   2 },
01011                                         /* 229: 0,    2,       5, 6, 7,  */  { -4, -1, -5, -7,   0 },
01012                                         /*  94:    1, 2, 3, 4,    6,     */  { -4, -1, -6, -7,   4 },
01013                                         /* 122:    1,    3, 4, 5, 6,     */  { -3, -4, -5, -7,   3 },
01014                                         /* 218:    1,    3, 4,    6, 7,  */  { -1, -2, -5, -7,   1 }
01015                                 };
01016                                 return test7[config][u];
01017                         }; // end of Test7
01018 
01019 
01020                         //_____________________________________________________________________________
01030                         //-----------------------------------------------------------------------------
01031                         static const char* Tiling7_1(unsigned char config)
01032                         {
01033                                 static const char tiling7_1[16][9] = {
01034                                         /*  37: 0,    2,       5,        */  {  9,  5,  4, 10,  1,  2,  8,  3,  0 },
01035                                         /* 133: 0,    2,             7,  */  { 11,  7,  6,  8,  3,  0, 10,  1,  2 },
01036                                         /* 161: 0,             5,    7,  */  {  3,  0,  8,  5,  4,  9,  7,  6, 11 },
01037                                         /*  26:    1,    3, 4,           */  {  8,  4,  7,  9,  0,  1, 11,  2,  3 },
01038                                         /*  74:    1,    3,       6,     */  { 10,  6,  5, 11,  2,  3,  9,  0,  1 },
01039                                         /*  82:    1,       4,    6,     */  {  0,  1,  9,  6,  5, 10,  4,  7,  8 },
01040                                         /* 164:       2,       5,    7,  */  {  1,  2, 10,  7,  6, 11,  5,  4,  9 },
01041                                         /*  88:          3, 4,    6,     */  {  2,  3, 11,  4,  7,  8,  6,  5, 10 },
01042                                         /* 167: 0, 1, 2,       5,    7,  */  { 11,  3,  2,  8,  7,  4, 10,  5,  6 },
01043                                         /*  91: 0, 1,    3, 4,    6,     */  { 10,  2,  1, 11,  6,  7,  9,  4,  5 },
01044                                         /* 173: 0,    2, 3,    5,    7,  */  {  9,  1,  0, 10,  5,  6,  8,  7,  4 },
01045                                         /* 181: 0,    2,    4, 5,    7,  */  {  5,  6, 10,  3,  2, 11,  1,  0,  9 },
01046                                         /* 229: 0,    2,       5, 6, 7,  */  {  7,  4,  8,  1,  0,  9,  3,  2, 11 },
01047                                         /*  94:    1, 2, 3, 4,    6,     */  {  8,  0,  3,  9,  4,  5, 11,  6,  7 },
01048                                         /* 122:    1,    3, 4, 5, 6,     */  {  6,  7, 11,  0,  3,  8,  2,  1, 10 },
01049                                         /* 218:    1,    3, 4,    6, 7,  */  {  4,  5,  9,  2,  1, 10,  0,  3,  8 }
01050                                 };
01051                                 return &tiling7_1[config][0];
01052                         }; // end of Tiling7_1
01053 
01054 
01055                         //_____________________________________________________________________________
01065                         //-----------------------------------------------------------------------------
01066                         static const char* Tiling7_2(unsigned char config, int u)
01067                         {
01068                                 static const char tiling7_2[16][3][15] = {
01069                                         /*  37: 0,    2,       5,        */  {
01070                                         /* 1,0 */ {  1,  2, 10,  3,  4,  8,  4,  3,  5,  0,  5,  3,  5,  0,  9 },
01071                                         /* 0,1 */ {  3,  0,  8,  9,  1,  4,  2,  4,  1,  4,  2,  5, 10,  5,  2 },
01072                                         /* 1,1 */ {  9,  5,  4,  0, 10,  1, 10,  0,  8, 10,  8,  2,  3,  2,  8 } 
01073                                         },
01074                                                 /* 133: 0,    2,             7,  */  {
01075                                                 /* 1,0 */ {  3,  0,  8,  1,  6, 10,  6,  1,  7,  2,  7,  1,  7,  2, 11 },
01076                                                 /* 0,1 */ {  1,  2, 10, 11,  3,  6,  0,  6,  3,  6,  0,  7,  8,  7,  0 },
01077                                                 /* 1,1 */ { 11,  7,  6,  2,  8,  3,  8,  2, 10,  8, 10,  0,  1,  0, 10 } 
01078                                                 },
01079                                                 /* 161: 0,             5,    7,  */  {
01080                                                 /* 1,0 */ {  9,  5,  4, 11,  3,  6,  0,  6,  3,  6,  0,  7,  8,  7,  0 },
01081                                                 /* 0,1 */ { 11,  7,  6,  3,  4,  8,  4,  3,  5,  0,  5,  3,  5,  0,  9 },
01082                                                 /* 1,1 */ {  3,  0,  8,  4,  9,  7, 11,  7,  9,  5, 11,  9, 11,  5,  6 } 
01083                                                 },
01084                                                 /*  26:    1,    3, 4,           */  {
01085                                                 /* 1,0 */ {  0,  1,  9,  2,  7, 11,  7,  2,  4,  3,  4,  2,  4,  3,  8 },
01086                                                 /* 0,1 */ {  2,  3, 11,  8,  0,  7,  1,  7,  0,  7,  1,  4,  9,  4,  1 },
01087                                                 /* 1,1 */ {  8,  4,  7,  3,  9,  0,  9,  3, 11,  9, 11,  1,  2,  1, 11 } 
01088                                                 },
01089                                                 /*  74:    1,    3,       6,     */  {
01090                                                 /* 1,0 */ {  2,  3, 11,  0,  5,  9,  5,  0,  6,  1,  6,  0,  6,  1, 10 },
01091                                                 /* 0,1 */ {  0,  1,  9, 10,  2,  5,  3,  5,  2,  5,  3,  6, 11,  6,  3 },
01092                                                 /* 1,1 */ {  6,  5, 10,  1, 11,  2, 11,  1,  9, 11,  9,  3,  0,  3,  9 } 
01093                                                 },
01094                                                 /*  82:    1,       4,    6,     */  {
01095                                                 /* 1,0 */ {  6,  5, 10,  8,  0,  7,  1,  7,  0,  7,  1,  4,  9,  4,  1 },
01096                                                 /* 0,1 */ {  8,  4,  7,  0,  5,  9,  5,  0,  6,  1,  6,  0,  6,  1, 10 },
01097                                                 /* 1,1 */ {  0,  1,  9,  5, 10,  4,  8,  4, 10,  6,  8, 10,  8,  6,  7 } 
01098                                                 },
01099                                                 /* 164:       2,       5,    7,  */  {
01100                                                 /* 1,0 */ { 11,  7,  6,  9,  1,  4,  2,  4,  1,  4,  2,  5, 10,  5,  2 },
01101                                                 /* 0,1 */ {  9,  5,  4,  1,  6, 10,  6,  1,  7,  2,  7,  1,  7,  2, 11 },
01102                                                 /* 1,1 */ {  1,  2, 10,  6, 11,  5,  9,  5, 11,  7,  9, 11,  9,  7,  4 } 
01103                                                 },
01104                                                 /*  88:          3, 4,    6,     */  {
01105                                                 /* 1,0 */ {  8,  4,  7, 10,  2,  5,  3,  5,  2,  5,  3,  6, 11,  6,  3 },
01106                                                 /* 0,1 */ {  6,  5, 10,  2,  7, 11,  7,  2,  4,  3,  4,  2,  4,  3,  8 },
01107                                                 /* 1,1 */ {  2,  3, 11,  7,  8,  6, 10,  6,  8,  4, 10,  8, 10,  4,  5 } 
01108                                                 },
01109                                                 /* 167: 0, 1, 2,       5,    7,  */  {
01110                                                 /* 1,0 */ {  7,  4,  8,  5,  2, 10,  2,  5,  3,  6,  3,  5,  3,  6, 11 },
01111                                                 /* 0,1 */ { 10,  5,  6, 11,  7,  2,  4,  2,  7,  2,  4,  3,  8,  3,  4 },
01112                                                 /* 1,1 */ { 11,  3,  2,  6,  8,  7,  8,  6, 10,  8, 10,  4,  5,  4, 10 } 
01113                                                 },
01114                                                 /*  91: 0, 1,    3, 4,    6,     */  {
01115                                                 /* 1,0 */ {  6,  7, 11,  4,  1,  9,  1,  4,  2,  5,  2,  4,  2,  5, 10 },
01116                                                 /* 0,1 */ {  4,  5,  9, 10,  6,  1,  7,  1,  6,  1,  7,  2, 11,  2,  7 },
01117                                                 /* 1,1 */ { 10,  2,  1,  5, 11,  6, 11,  5,  9, 11,  9,  7,  4,  7,  9 } 
01118                                                 },
01119                                                 /* 173: 0,    2, 3,    5,    7,  */  {
01120                                                 /* 1,0 */ { 10,  5,  6,  7,  0,  8,  0,  7,  1,  4,  1,  7,  1,  4,  9 },
01121                                                 /* 0,1 */ {  7,  4,  8,  9,  5,  0,  6,  0,  5,  0,  6,  1, 10,  1,  6 },
01122                                                 /* 1,1 */ {  9,  1,  0,  4, 10,  5, 10,  4,  8, 10,  8,  6,  7,  6,  8 } 
01123                                                 },
01124                                                 /* 181: 0,    2,    4, 5,    7,  */  {
01125                                                 /* 1,0 */ { 11,  3,  2,  9,  5,  0,  6,  0,  5,  0,  6,  1, 10,  1,  6 },
01126                                                 /* 0,1 */ {  9,  1,  0,  5,  2, 10,  2,  5,  3,  6,  3,  5,  3,  6, 11 },
01127                                                 /* 1,1 */ { 10,  5,  6,  2, 11,  1,  9,  1, 11,  3,  9, 11,  9,  3,  0 } 
01128                                                 },
01129                                                 /* 229: 0,    2,       5, 6, 7,  */  {
01130                                                 /* 1,0 */ {  9,  1,  0, 11,  7,  2,  4,  2,  7,  2,  4,  3,  8,  3,  4 },
01131                                                 /* 0,1 */ { 11,  3,  2,  7,  0,  8,  0,  7,  1,  4,  1,  7,  1,  4,  9 },
01132                                                 /* 1,1 */ {  7,  4,  8,  0,  9,  3, 11,  3,  9,  1, 11,  9, 11,  1,  2 } 
01133                                                 },
01134                                                 /*  94:    1, 2, 3, 4,    6,     */  {
01135                                                 /* 1,0 */ {  4,  5,  9,  6,  3, 11,  3,  6,  0,  7,  0,  6,  0,  7,  8 },
01136                                                 /* 0,1 */ {  6,  7, 11,  8,  4,  3,  5,  3,  4,  3,  5,  0,  9,  0,  5 },
01137                                                 /* 1,1 */ {  8,  0,  3,  7,  9,  4,  9,  7, 11,  9, 11,  5,  6,  5, 11 } 
01138                                                 },
01139                                                 /* 122:    1,    3, 4, 5, 6,     */  {
01140                                                 /* 1,0 */ {  8,  0,  3, 10,  6,  1,  7,  1,  6,  1,  7,  2, 11,  2,  7 },
01141                                                 /* 0,1 */ { 10,  2,  1,  6,  3, 11,  3,  6,  0,  7,  0,  6,  0,  7,  8 },
01142                                                 /* 1,1 */ {  6,  7, 11,  3,  8,  2, 10,  2,  8,  0, 10,  8, 10,  0,  1 } 
01143                                                 },
01144                                                 /* 218:    1,    3, 4,    6, 7,  */  {
01145                                                 /* 1,0 */ { 10,  2,  1,  8,  4,  3,  5,  3,  4,  3,  5,  0,  9,  0,  5 },
01146                                                 /* 0,1 */ {  8,  0,  3,  4,  1,  9,  1,  4,  2,  5,  2,  4,  2,  5, 10 },
01147                                                 /* 1,1 */ {  4,  5,  9,  1, 10,  0,  8,  0, 10,  2,  8, 10,  8,  2,  3 } }
01148                                 };
01149                                 return &tiling7_2[config][u][0];
01150                         }; // end of Tiling7_2
01151 
01152 
01153                         //_____________________________________________________________________________
01163                         //-----------------------------------------------------------------------------
01164                         static const char* Tiling7_3(unsigned char config, unsigned char u)
01165                         {
01166                                 static const char tiling7_3[16][3][27] = {
01167                                         /*  37: 0,    2,       5,        */  {
01168                                         /* 1,0 */ { 12,  2, 10, 12, 10,  5, 12,  5,  4, 12,  4,  8, 12,  8,  3, 12,  3,  0, 12,  0,  9, 12,  9,  1, 12,  1,  2 },
01169                                         /* 0,1 */ { 12,  5,  4, 12,  4,  8, 12,  8,  3, 12,  3,  2, 12,  2, 10, 12, 10,  1, 12,  1,  0, 12,  0,  9, 12,  9,  5 },
01170                                         /* 1,1 */ {  5,  4, 12, 10,  5, 12,  2, 10, 12,  3,  2, 12,  8,  3, 12,  0,  8, 12,  1,  0, 12,  9,  1, 12,  4,  9, 12 } 
01171                                         },
01172                                                 /* 133: 0,    2,             7,  */  {
01173                                                 /* 1,0 */ { 12,  0,  8, 12,  8,  7, 12,  7,  6, 12,  6, 10, 12, 10,  1, 12,  1,  2, 12,  2, 11, 12, 11,  3, 12,  3,  0 },
01174                                                 /* 0,1 */ { 12,  7,  6, 12,  6, 10, 12, 10,  1, 12,  1,  0, 12,  0,  8, 12,  8,  3, 12,  3,  2, 12,  2, 11, 12, 11,  7 },
01175                                                 /* 1,1 */ {  7,  6, 12,  8,  7, 12,  0,  8, 12,  1,  0, 12, 10,  1, 12,  2, 10, 12,  3,  2, 12, 11,  3, 12,  6, 11, 12 } 
01176                                                 },
01177                                                 /* 161: 0,             5,    7,  */  {
01178                                                 /* 1,0 */ {  9,  5, 12,  0,  9, 12,  3,  0, 12, 11,  3, 12,  6, 11, 12,  7,  6, 12,  8,  7, 12,  4,  8, 12,  5,  4, 12 },
01179                                                 /* 0,1 */ {  3,  0, 12, 11,  3, 12,  6, 11, 12,  5,  6, 12,  9,  5, 12,  4,  9, 12,  7,  4, 12,  8,  7, 12,  0,  8, 12 },
01180                                                 /* 1,1 */ { 12,  3,  0, 12,  0,  9, 12,  9,  5, 12,  5,  6, 12,  6, 11, 12, 11,  7, 12,  7,  4, 12,  4,  8, 12,  8,  3 } 
01181                                                 },
01182                                                 /*  26:    1,    3, 4,           */  {
01183                                                 /* 1,0 */ { 12,  1,  9, 12,  9,  4, 12,  4,  7, 12,  7, 11, 12, 11,  2, 12,  2,  3, 12,  3,  8, 12,  8,  0, 12,  0,  1 },
01184                                                 /* 0,1 */ { 12,  4,  7, 12,  7, 11, 12, 11,  2, 12,  2,  1, 12,  1,  9, 12,  9,  0, 12,  0,  3, 12,  3,  8, 12,  8,  4 },
01185                                                 /* 1,1 */ {  4,  7, 12,  9,  4, 12,  1,  9, 12,  2,  1, 12, 11,  2, 12,  3, 11, 12,  0,  3, 12,  8,  0, 12,  7,  8, 12 } 
01186                                                 },
01187                                                 /*  74:    1,    3,       6,     */  {
01188                                                 /* 1,0 */ { 12,  3, 11, 12, 11,  6, 12,  6,  5, 12,  5,  9, 12,  9,  0, 12,  0,  1, 12,  1, 10, 12, 10,  2, 12,  2,  3 },
01189                                                 /* 0,1 */ { 12,  6,  5, 12,  5,  9, 12,  9,  0, 12,  0,  3, 12,  3, 11, 12, 11,  2, 12,  2,  1, 12,  1, 10, 12, 10,  6 },
01190                                                 /* 1,1 */ {  6,  5, 12, 11,  6, 12,  3, 11, 12,  0,  3, 12,  9,  0, 12,  1,  9, 12,  2,  1, 12, 10,  2, 12,  5, 10, 12 } 
01191                                                 },
01192                                                 /*  82:    1,       4,    6,     */  {
01193                                                 /* 1,0 */ { 10,  6, 12,  1, 10, 12,  0,  1, 12,  8,  0, 12,  7,  8, 12,  4,  7, 12,  9,  4, 12,  5,  9, 12,  6,  5, 12 },
01194                                                 /* 0,1 */ {  0,  1, 12,  8,  0, 12,  7,  8, 12,  6,  7, 12, 10,  6, 12,  5, 10, 12,  4,  5, 12,  9,  4, 12,  1,  9, 12 },
01195                                                 /* 1,1 */ { 12,  0,  1, 12,  1, 10, 12, 10,  6, 12,  6,  7, 12,  7,  8, 12,  8,  4, 12,  4,  5, 12,  5,  9, 12,  9,  0 } 
01196                                                 },
01197                                                 /* 164:       2,       5,    7,  */  {
01198                                                 /* 1,0 */ { 11,  7, 12,  2, 11, 12,  1,  2, 12,  9,  1, 12,  4,  9, 12,  5,  4, 12, 10,  5, 12,  6, 10, 12,  7,  6, 12 },
01199                                                 /* 0,1 */ {  1,  2, 12,  9,  1, 12,  4,  9, 12,  7,  4, 12, 11,  7, 12,  6, 11, 12,  5,  6, 12, 10,  5, 12,  2, 10, 12 },
01200                                                 /* 1,1 */ { 12,  1,  2, 12,  2, 11, 12, 11,  7, 12,  7,  4, 12,  4,  9, 12,  9,  5, 12,  5,  6, 12,  6, 10, 12, 10,  1 } 
01201                                                 },
01202                                                 /*  88:          3, 4,    6,     */  {
01203                                                 /* 1,0 */ {  8,  4, 12,  3,  8, 12,  2,  3, 12, 10,  2, 12,  5, 10, 12,  6,  5, 12, 11,  6, 12,  7, 11, 12,  4,  7, 12 },
01204                                                 /* 0,1 */ {  2,  3, 12, 10,  2, 12,  5, 10, 12,  4,  5, 12,  8,  4, 12,  7,  8, 12,  6,  7, 12, 11,  6, 12,  3, 11, 12 },
01205                                                 /* 1,1 */ { 12,  2,  3, 12,  3,  8, 12,  8,  4, 12,  4,  5, 12,  5, 10, 12, 10,  6, 12,  6,  7, 12,  7, 11, 12, 11,  2 } 
01206                                                 },
01207                                                 /* 167: 0, 1, 2,       5,    7,  */  {
01208                                                 /* 1,0 */ { 12,  4,  8, 12,  8,  3, 12,  3,  2, 12,  2, 10, 12, 10,  5, 12,  5,  6, 12,  6, 11, 12, 11,  7, 12,  7,  4 },
01209                                                 /* 0,1 */ { 12,  3,  2, 12,  2, 10, 12, 10,  5, 12,  5,  4, 12,  4,  8, 12,  8,  7, 12,  7,  6, 12,  6, 11, 12, 11,  3 },
01210                                                 /* 1,1 */ {  3,  2, 12,  8,  3, 12,  4,  8, 12,  5,  4, 12, 10,  5, 12,  6, 10, 12,  7,  6, 12, 11,  7, 12,  2, 11, 12 } 
01211                                                 },
01212                                                 /*  91: 0, 1,    3, 4,    6,     */  {
01213                                                 /* 1,0 */ { 12,  7, 11, 12, 11,  2, 12,  2,  1, 12,  1,  9, 12,  9,  4, 12,  4,  5, 12,  5, 10, 12, 10,  6, 12,  6,  7 },
01214                                                 /* 0,1 */ { 12,  2,  1, 12,  1,  9, 12,  9,  4, 12,  4,  7, 12,  7, 11, 12, 11,  6, 12,  6,  5, 12,  5, 10, 12, 10,  2 },
01215                                                 /* 1,1 */ {  2,  1, 12, 11,  2, 12,  7, 11, 12,  4,  7, 12,  9,  4, 12,  5,  9, 12,  6,  5, 12, 10,  6, 12,  1, 10, 12 } 
01216                                                 },
01217                                                 /* 173: 0,    2, 3,    5,    7,  */  {
01218                                                 /* 1,0 */ { 12,  6, 10, 12, 10,  1, 12,  1,  0, 12,  0,  8, 12,  8,  7, 12,  7,  4, 12,  4,  9, 12,  9,  5, 12,  5,  6 },
01219                                                 /* 0,1 */ { 12,  1,  0, 12,  0,  8, 12,  8,  7, 12,  7,  6, 12,  6, 10, 12, 10,  5, 12,  5,  4, 12,  4,  9, 12,  9,  1 },
01220                                                 /* 1,1 */ {  1,  0, 12, 10,  1, 12,  6, 10, 12,  7,  6, 12,  8,  7, 12,  4,  8, 12,  5,  4, 12,  9,  5, 12,  0,  9, 12 } 
01221                                                 },
01222                                                 /* 181: 0,    2,    4, 5,    7,  */  {
01223                                                 /* 1,0 */ { 11,  3, 12,  6, 11, 12,  5,  6, 12,  9,  5, 12,  0,  9, 12,  1,  0, 12, 10,  1, 12,  2, 10, 12,  3,  2, 12 },
01224                                                 /* 0,1 */ {  5,  6, 12,  9,  5, 12,  0,  9, 12,  3,  0, 12, 11,  3, 12,  2, 11, 12,  1,  2, 12, 10,  1, 12,  6, 10, 12 },
01225                                                 /* 1,1 */ { 12,  5,  6, 12,  6, 11, 12, 11,  3, 12,  3,  0, 12,  0,  9, 12,  9,  1, 12,  1,  2, 12,  2, 10, 12, 10,  5 } 
01226                                                 },
01227                                                 /* 229: 0,    2,       5, 6, 7,  */  {
01228                                                 /* 1,0 */ {  9,  1, 12,  4,  9, 12,  7,  4, 12, 11,  7, 12,  2, 11, 12,  3,  2, 12,  8,  3, 12,  0,  8, 12,  1,  0, 12 },
01229                                                 /* 0,1 */ {  7,  4, 12, 11,  7, 12,  2, 11, 12,  1,  2, 12,  9,  1, 12,  0,  9, 12,  3,  0, 12,  8,  3, 12,  4,  8, 12 },
01230                                                 /* 1,1 */ { 12,  7,  4, 12,  4,  9, 12,  9,  1, 12,  1,  2, 12,  2, 11, 12, 11,  3, 12,  3,  0, 12,  0,  8, 12,  8,  7 } 
01231                                                 },
01232                                                 /*  94:    1, 2, 3, 4,    6,     */  {
01233                                                 /* 1,0 */ { 12,  5,  9, 12,  9,  0, 12,  0,  3, 12,  3, 11, 12, 11,  6, 12,  6,  7, 12,  7,  8, 12,  8,  4, 12,  4,  5 },
01234                                                 /* 0,1 */ { 12,  0,  3, 12,  3, 11, 12, 11,  6, 12,  6,  5, 12,  5,  9, 12,  9,  4, 12,  4,  7, 12,  7,  8, 12,  8,  0 },
01235                                                 /* 1,1 */ {  0,  3, 12,  9,  0, 12,  5,  9, 12,  6,  5, 12, 11,  6, 12,  7, 11, 12,  4,  7, 12,  8,  4, 12,  3,  8, 12 } 
01236                                                 },
01237                                                 /* 122:    1,    3, 4, 5, 6,     */  {
01238                                                 /* 1,0 */ {  8,  0, 12,  7,  8, 12,  6,  7, 12, 10,  6, 12,  1, 10, 12,  2,  1, 12, 11,  2, 12,  3, 11, 12,  0,  3, 12 },
01239                                                 /* 0,1 */ {  6,  7, 12, 10,  6, 12,  1, 10, 12,  0,  1, 12,  8,  0, 12,  3,  8, 12,  2,  3, 12, 11,  2, 12,  7, 11, 12 },
01240                                                 /* 1,1 */ { 12,  6,  7, 12,  7,  8, 12,  8,  0, 12,  0,  1, 12,  1, 10, 12, 10,  2, 12,  2,  3, 12,  3, 11, 12, 11,  6 } 
01241                                                 },
01242                                                 /* 218:    1,    3, 4,    6, 7,  */  {
01243                                                 /* 1,0 */ { 10,  2, 12,  5, 10, 12,  4,  5, 12,  8,  4, 12,  3,  8, 12,  0,  3, 12,  9,  0, 12,  1,  9, 12,  2,  1, 12 },
01244                                                 /* 0,1 */ {  4,  5, 12,  8,  4, 12,  3,  8, 12,  2,  3, 12, 10,  2, 12,  1, 10, 12,  0,  1, 12,  9,  0, 12,  5,  9, 12 },
01245                                                 /* 1,1 */ { 12,  4,  5, 12,  5, 10, 12, 10,  2, 12,  2,  3, 12,  3,  8, 12,  8,  0, 12,  0,  1, 12,  1,  9, 12,  9,  4 } }
01246                                 };
01247                                 return &tiling7_3[config][u][0];
01248                         }; // end of Tiling7_3
01249 
01250 
01251                         //_____________________________________________________________________________
01261                         //-----------------------------------------------------------------------------
01262                         static const char* Tiling7_4_1(unsigned char config)
01263                         {
01264                                 static const char tiling7_4_1[16][15] = {
01265                                         /*  37: 0,    2,       5,        */  {  3,  4,  8,  4,  3, 10,  2, 10,  3,  4, 10,  5,  9,  1,  0 },
01266                                         /* 133: 0,    2,             7,  */  {  1,  6, 10,  6,  1,  8,  0,  8,  1,  6,  8,  7, 11,  3,  2 },
01267                                         /* 161: 0,             5,    7,  */  { 11,  3,  6,  9,  6,  3,  6,  9,  5,  0,  9,  3,  7,  4,  8 },
01268                                         /*  26:    1,    3, 4,           */  {  2,  7, 11,  7,  2,  9,  1,  9,  2,  7,  9,  4,  8,  0,  3 },
01269                                         /*  74:    1,    3,       6,     */  {  0,  5,  9,  5,  0, 11,  3, 11,  0,  5, 11,  6, 10,  2,  1 },
01270                                         /*  82:    1,       4,    6,     */  {  8,  0,  7, 10,  7,  0,  7, 10,  6,  1, 10,  0,  4,  5,  9 },
01271                                         /* 164:       2,       5,    7,  */  {  9,  1,  4, 11,  4,  1,  4, 11,  7,  2, 11,  1,  5,  6, 10 },
01272                                         /*  88:          3, 4,    6,     */  { 10,  2,  5,  8,  5,  2,  5,  8,  4,  3,  8,  2,  6,  7, 11 },
01273                                         /* 167: 0, 1, 2,       5,    7,  */  {  5,  2, 10,  2,  5,  8,  4,  8,  5,  2,  8,  3, 11,  7,  6 },
01274                                         /*  91: 0, 1,    3, 4,    6,     */  {  4,  1,  9,  1,  4, 11,  7, 11,  4,  1, 11,  2, 10,  6,  5 },
01275                                         /* 173: 0,    2, 3,    5,    7,  */  {  7,  0,  8,  0,  7, 10,  6, 10,  7,  0, 10,  1,  9,  5,  4 },
01276                                         /* 181: 0,    2,    4, 5,    7,  */  {  9,  5,  0, 11,  0,  5,  0, 11,  3,  6, 11,  5,  1,  2, 10 },
01277                                         /* 229: 0,    2,       5, 6, 7,  */  { 11,  7,  2,  9,  2,  7,  2,  9,  1,  4,  9,  7,  3,  0,  8 },
01278                                         /*  94:    1, 2, 3, 4,    6,     */  {  6,  3, 11,  3,  6,  9,  5,  9,  6,  3,  9,  0,  8,  4,  7 },
01279                                         /* 122:    1,    3, 4, 5, 6,     */  { 10,  6,  1,  8,  1,  6,  1,  8,  0,  7,  8,  6,  2,  3, 11 },
01280                                         /* 218:    1,    3, 4,    6, 7,  */  {  8,  4,  3, 10,  3,  4,  3, 10,  2,  5, 10,  4,  0,  1,  9 }
01281                                 };
01282                                 return &tiling7_4_1[config][0];
01283                         }; // end of Tiling7_4_1
01284 
01285                         //_____________________________________________________________________________
01295                         //-----------------------------------------------------------------------------
01296                         static const char* Tiling7_4_2(unsigned char config)
01297                         {
01298                                 static const char tiling7_4_2[16][27] = {
01299                                         /*  37: 0,    2,       5,        */  {   9,  4,  8,  4,  9,  5, 10,  5,  9,  1, 10,  9, 10,  1,  2,  0,  2,  1,  2,  0,  3,  8,  3,  0,  9,  8,  0 },
01300                                         /* 133: 0,    2,             7,  */  {  11,  6, 10,  6, 11,  7,  8,  7, 11,  3,  8, 11,  8,  3,  0,  2,  0,  3,  0,  2,  1, 10,  1,  2, 11, 10,  2 },
01301                                         /* 161: 0,             5,    7,  */  {  11,  3,  8,  0,  8,  3,  8,  0,  9,  8,  9,  4,  5,  4,  9,  4,  5,  7,  6,  7,  5,  7,  6, 11,  7, 11,  8 },
01302                                         /*  26:    1,    3, 4,           */  {   8,  7, 11,  7,  8,  4,  9,  4,  8,  0,  9,  8,  9,  0,  1,  3,  1,  0,  1,  3,  2, 11,  2,  3,  8, 11,  3 },
01303                                         /*  74:    1,    3,       6,     */  {  10,  5,  9,  5, 10,  6, 11,  6, 10,  2, 11, 10, 11,  2,  3,  1,  3,  2,  3,  1,  0,  9,  0,  1, 10,  9,  1 },
01304                                         /*  82:    1,       4,    6,     */  {   8,  0,  9,  1,  9,  0,  9,  1, 10,  9, 10,  5,  6,  5, 10,  5,  6,  4,  7,  4,  6,  4,  7,  8,  4,  8,  9 },
01305                                         /* 164:       2,       5,    7,  */  {   9,  1, 10,  2, 10,  1, 10,  2, 11, 10, 11,  6,  7,  6, 11,  6,  7,  5,  4,  5,  7,  5,  4,  9,  5,  9, 10 },
01306                                         /*  88:          3, 4,    6,     */  {  10,  2, 11,  3, 11,  2, 11,  3,  8, 11,  8,  7,  4,  7,  8,  7,  4,  6,  5,  6,  4,  6,  5, 10,  6, 10, 11 },
01307                                         /* 167: 0, 1, 2,       5,    7,  */  {  11,  2, 10,  2, 11,  3,  8,  3, 11,  7,  8, 11,  8,  7,  4,  6,  4,  7,  4,  6,  5, 10,  5,  6, 11, 10,  6 },
01308                                         /*  91: 0, 1,    3, 4,    6,     */  {  10,  1,  9,  1, 10,  2, 11,  2, 10,  6, 11, 10, 11,  6,  7,  5,  7,  6,  7,  5,  4,  9,  4,  5, 10,  9,  5 },
01309                                         /* 173: 0,    2, 3,    5,    7,  */  {   9,  0,  8,  0,  9,  1, 10,  1,  9,  5, 10,  9, 10,  5,  6,  4,  6,  5,  6,  4,  7,  8,  7,  4,  9,  8,  4 },
01310                                         /* 181: 0,    2,    4, 5,    7,  */  {   9,  5, 10,  6, 10,  5, 10,  6, 11, 10, 11,  2,  3,  2, 11,  2,  3,  1,  0,  1,  3,  1,  0,  9,  1,  9, 10 },
01311                                         /* 229: 0,    2,       5, 6, 7,  */  {  11,  7,  8,  4,  8,  7,  8,  4,  9,  8,  9,  0,  1,  0,  9,  0,  1,  3,  2,  3,  1,  3,  2, 11,  3, 11,  8 },
01312                                         /*  94:    1, 2, 3, 4,    6,     */  {   8,  3, 11,  3,  8,  0,  9,  0,  8,  4,  9,  8,  9,  4,  5,  7,  5,  4,  5,  7,  6, 11,  6,  7,  8, 11,  7 },
01313                                         /* 122:    1,    3, 4, 5, 6,     */  {  10,  6, 11,  7, 11,  6, 11,  7,  8, 11,  8,  3,  0,  3,  8,  3,  0,  2,  1,  2,  0,  2,  1, 10,  2, 10, 11 },
01314                                         /* 218:    1,    3, 4,    6, 7,  */  {   8,  4,  9,  5,  9,  4,  9,  5, 10,  9, 10,  1,  2,  1, 10,  1,  2,  0,  3,  0,  2,  0,  3,  8,  0,  8,  9 }
01315                                 };
01316                                 return &tiling7_4_2[config][0];
01317                         }; // end of Tiling7_4_2
01318                         //_____________________________________________________________________________
01319 
01320 
01321                         //_____________________________________________________________________________
01331                         //-----------------------------------------------------------------------------
01332                         static const char* Tiling8(unsigned char config)
01333                         {
01334                                 static const char tiling8[6][6] = {
01335                                         /*  15: 0, 1, 2, 3,              */  { 9,  8, 10, 10,  8, 11 },
01336                                         /*  51: 0, 1,       4, 5,        */  { 1,  5,  3,  3,  5,  7 },
01337                                         /* 153: 0,       3, 4,       7,  */  { 0,  4,  2,  4,  6,  2 },
01338                                         /* 102:    1, 2,       5, 6,     */  { 0,  2,  4,  4,  2,  6 },
01339                                         /* 204:       2, 3,       6, 7,  */  { 1,  3,  5,  3,  7,  5 },
01340                                         /* 240:             4, 5, 6, 7,  */  { 9, 10,  8, 10, 11,  8 }
01341                                 };
01342                                 return &tiling8[config][0];
01343                         }; // end of Tiling8
01344                         //_____________________________________________________________________________
01345 
01346                         //_____________________________________________________________________________
01356                         //-----------------------------------------------------------------------------
01357                         static const char* Tiling9(unsigned char config)
01358                         {
01359                                 static const char tiling9[8][12] = {
01360                                         /*  39: 0, 1, 2,       5,        */  {  2, 10,  5,  3,  2,  5,  3,  5,  4,  3,  4,  8 },
01361                                         /*  27: 0, 1,    3, 4,           */  {  4,  7, 11,  9,  4, 11,  9, 11,  2,  9,  2,  1 },
01362                                         /* 141: 0,    2, 3,          7,  */  { 10,  7,  6,  1,  7, 10,  1,  8,  7,  1,  0,  8 },
01363                                         /* 177: 0,          4, 5,    7,  */  {  3,  6, 11,  0,  6,  3,  0,  5,  6,  0,  9,  5 },
01364                                         /*  78:    1, 2, 3,       6,     */  {  3, 11,  6,  0,  3,  6,  0,  6,  5,  0,  5,  9 },
01365                                         /* 114:    1,       4, 5, 6,     */  { 10,  6,  7,  1, 10,  7,  1,  7,  8,  1,  8,  0 },
01366                                         /* 228:       2,       5, 6, 7,  */  {  4, 11,  7,  9, 11,  4,  9,  2, 11,  9,  1,  2 },
01367                                         /* 216:          3, 4,    6, 7,  */  {  2,  5, 10,  3,  5,  2,  3,  4,  5,  3,  8,  4 }
01368                                 };
01369                                 return &tiling9[config][0];
01370                         };
01371                         //_____________________________________________________________________________
01372 
01373 
01374                         //_____________________________________________________________________________
01392                         //-----------------------------------------------------------------------------
01393             static char Test10(unsigned char config, int u)
01394                         {
01395                                 static const char test10[6][3] = {
01396                                         /* 195: 0, 1,             6, 7,  */  {  2,  4,  7 },
01397                                         /*  85: 0,    2,    4,    6,     */  {  5,  6,  7 },
01398                                         /* 105: 0,       3,    5, 6,     */  {  1,  3,  7 },
01399                                         /* 150:    1, 2,    4,       7,  */  {  1,  3,  7 },
01400                                         /* 170:    1,    3,    5,    7,  */  {  5,  6,  7 },
01401                                         /*  60:       2, 3, 4, 5,        */  {  2,  4,  7 }
01402                                 };
01403                                 return test10[config][u];
01404                         }; // end of Test10
01405 
01406 
01407                         //_____________________________________________________________________________
01417                         //-----------------------------------------------------------------------------
01418                         static const char* Tiling10_1_1(unsigned char config)
01419                         {
01420                                 static const char tiling10_1_1[6][12] = {
01421                                         /* 195: 0, 1,             6, 7,  */  {  5, 10,  7, 11,  7, 10,  8,  1,  9,  1,  8,  3 },
01422                                         /*  85: 0,    2,    4,    6,     */  {  1,  2,  5,  6,  5,  2,  4,  3,  0,  3,  4,  7 },
01423                                         /* 105: 0,       3,    5, 6,     */  { 11,  0,  8,  0, 11,  2,  4,  9,  6, 10,  6,  9 },
01424                                         /* 150:    1, 2,    4,       7,  */  {  9,  0, 10,  2, 10,  0,  6,  8,  4,  8,  6, 11 },
01425                                         /* 170:    1,    3,    5,    7,  */  {  7,  2,  3,  2,  7,  6,  0,  1,  4,  5,  4,  1 },
01426                                         /*  60:       2, 3, 4, 5,        */  {  7,  9,  5,  9,  7,  8, 10,  1, 11,  3, 11,  1 }
01427                                 };
01428                                 return &tiling10_1_1[config][0];
01429                         }; // end of Tiling10_1_1
01430 
01431 
01432                         //_____________________________________________________________________________
01442                         //-----------------------------------------------------------------------------
01443                         static const char* Tiling10_1_1_(unsigned char config)
01444                         {
01445                                 static const char tiling10_1_1_[6][12] = {
01446                                         /* 195: 0, 1,             6, 7,  */  {  5,  9,  7,  8,  7,  9, 11,  1, 10,  1, 11,  3 },
01447                                         /*  85: 0,    2,    4,    6,     */  {  3,  2,  7,  6,  7,  2,  4,  1,  0,  1,  4,  5 },
01448                                         /* 105: 0,       3,    5, 6,     */  { 10,  0,  9,  0, 10,  2,  4,  8,  6, 11,  6,  8 },
01449                                         /* 150:    1, 2,    4,       7,  */  {  8,  0, 11,  2, 11,  0,  6,  9,  4,  9,  6, 10 },
01450                                         /* 170:    1,    3,    5,    7,  */  {  5,  2,  1,  2,  5,  6,  0,  3,  4,  7,  4,  3 },
01451                                         /*  60:       2, 3, 4, 5,        */  {  7, 10,  5, 10,  7, 11,  9,  1,  8,  3,  8,  1 }
01452                                 };
01453                                 return &tiling10_1_1_[config][0];
01454                         }; // end of Tiling10_1_1_
01455 
01456 
01457                         //_____________________________________________________________________________
01467                         //-----------------------------------------------------------------------------
01468                         static const char* Tiling10_1_2(unsigned char config)
01469                         {
01470                                 static const char tiling10_1_2[6][24] = {
01471                                         /* 195: 0, 1,             6, 7,  */  {  3, 11,  7,  3,  7,  8,  9,  8,  7,  5,  9,  7,  9,  5, 10,  9, 10,  1,  3,  1, 10, 11,  3, 10 },
01472                                         /*  85: 0,    2,    4,    6,     */  {  7,  6,  5,  7,  5,  4,  0,  4,  5,  1,  0,  5,  0,  1,  2,  0,  2,  3,  7,  3,  2,  6,  7,  2 },
01473                                         /* 105: 0,       3,    5, 6,     */  { 11,  2, 10,  6, 11, 10, 11,  6,  4, 11,  4,  8,  0,  8,  4,  9,  0,  4,  0,  9, 10,  0, 10,  2 },
01474                                         /* 150:    1, 2,    4,       7,  */  { 11,  2, 10, 11, 10,  6,  4,  6, 10,  9,  4, 10,  4,  9,  0,  4,  0,  8, 11,  8,  0,  2, 11,  0 },
01475                                         /* 170:    1,    3,    5,    7,  */  {  7,  6,  5,  4,  7,  5,  7,  4,  0,  7,  0,  3,  2,  3,  0,  1,  2,  0,  2,  1,  5,  2,  5,  6 },
01476                                         /*  60:       2, 3, 4, 5,        */  {  7,  8,  3, 11,  7,  3,  7, 11, 10,  7, 10,  5,  9,  5, 10,  1,  9, 10,  9,  1,  3,  9,  3,  8 }
01477                                 };
01478                                 return &tiling10_1_2[config][0];
01479                         }; // end of Tiling10_1_2
01480 
01481                         //_____________________________________________________________________________
01491                         //-----------------------------------------------------------------------------
01492                         static const char* Tiling10_2(unsigned char config)
01493                         {
01494                                 static const char tiling10_2[6][24] = {
01495                                         /* 195: 0, 1,             6, 7,  */  { 12,  5,  9, 12,  9,  8, 12,  8,  3, 12,  3,  1, 12,  1, 10, 12, 10, 11, 12, 11,  7, 12,  7,  5 },
01496                                         /*  85: 0,    2,    4,    6,     */  { 12,  1,  0, 12,  0,  4, 12,  4,  7, 12,  7,  3, 12,  3,  2, 12,  2,  6, 12,  6,  5, 12,  5,  1 },
01497                                         /* 105: 0,       3,    5, 6,     */  {  4,  8, 12,  6,  4, 12, 10,  6, 12,  9, 10, 12,  0,  9, 12,  2,  0, 12, 11,  2, 12,  8, 11, 12 },
01498                                         /* 150:    1, 2,    4,       7,  */  { 12,  9,  4, 12,  4,  6, 12,  6, 11, 12, 11,  8, 12,  8,  0, 12,  0,  2, 12,  2, 10, 12, 10,  9 },
01499                                         /* 170:    1,    3,    5,    7,  */  {  0,  3, 12,  4,  0, 12,  5,  4, 12,  1,  5, 12,  2,  1, 12,  6,  2, 12,  7,  6, 12,  3,  7, 12 },
01500                                         /*  60:       2, 3, 4, 5,        */  { 10,  5, 12, 11, 10, 12,  3, 11, 12,  1,  3, 12,  9,  1, 12,  8,  9, 12,  7,  8, 12,  5,  7, 12 }
01501                                 };
01502                                 return &tiling10_2[config][0];
01503                         }; // end of Tiling10_2
01504 
01505 
01506 
01507                         //_____________________________________________________________________________
01517                         //-----------------------------------------------------------------------------
01518                         static const char* Tiling10_2_(unsigned char config)
01519                         {
01520                                 static const char tiling10_2_[6][24] = {
01521                                         /* 195: 0, 1,             6, 7,  */  {  8,  7, 12,  9,  8, 12,  1,  9, 12,  3,  1, 12, 11,  3, 12, 10, 11, 12,  5, 10, 12,  7,  5, 12 },
01522                                         /*  85: 0,    2,    4,    6,     */  {  4,  5, 12,  0,  4, 12,  3,  0, 12,  7,  3, 12,  6,  7, 12,  2,  6, 12,  1,  2, 12,  5,  1, 12 },
01523                                         /* 105: 0,       3,    5, 6,     */  { 12, 11,  6, 12,  6,  4, 12,  4,  9, 12,  9, 10, 12, 10,  2, 12,  2,  0, 12,  0,  8, 12,  8, 11 },
01524                                         /* 150:    1, 2,    4,       7,  */  {  6, 10, 12,  4,  6, 12,  8,  4, 12, 11,  8, 12,  2, 11, 12,  0,  2, 12,  9,  0, 12, 10,  9, 12 },
01525                                         /* 170:    1,    3,    5,    7,  */  { 12,  7,  4, 12,  4,  0, 12,  0,  1, 12,  1,  5, 12,  5,  6, 12,  6,  2, 12,  2,  3, 12,  3,  7 },
01526                                         /*  60:       2, 3, 4, 5,        */  { 12,  7, 11, 12, 11, 10, 12, 10,  1, 12,  1,  3, 12,  3,  8, 12,  8,  9, 12,  9,  5, 12,  5,  7 }
01527                                 };
01528                                 return &tiling10_2_[config][0];
01529                         }; // end of Tiling10_2_
01530                         //_____________________________________________________________________________
01531 
01532 
01533                         //_____________________________________________________________________________
01543                         //-----------------------------------------------------------------------------
01544                         static const char* Tiling11(unsigned char config)
01545                         {
01546                                 static const char tiling11[12][12] = {
01547                                         /*  23: 0, 1, 2,    4,           */  { 2, 10,  9,  2,  9,  7,  2,  7,  3,  7,  9,  4 },
01548                                         /* 139: 0, 1,    3,          7,  */  { 1,  6,  2,  1,  8,  6,  1,  9,  8,  8,  7,  6 },
01549                                         /*  99: 0, 1,          5, 6,     */  { 8,  3,  1,  8,  1,  6,  8,  6,  4,  6,  1, 10 },
01550                                         /*  77: 0,    2, 3,       6,     */  { 0,  8, 11,  0, 11,  5,  0,  5,  1,  5, 11,  6 },
01551                                         /*  57: 0,       3, 4, 5,        */  { 9,  5,  7,  9,  7,  2,  9,  2,  0,  2,  7, 11 },
01552                                         /* 209: 0,          4,    6, 7,  */  { 5,  0,  4,  5, 11,  0,  5, 10, 11, 11,  3,  0 },
01553                                         /*  46:    1, 2, 3,    5,        */  { 5,  4,  0,  5,  0, 11,  5, 11, 10, 11,  0,  3 },
01554                                         /* 198:    1, 2,          6, 7,  */  { 9,  7,  5,  9,  2,  7,  9,  0,  2,  2, 11,  7 },
01555                                         /* 178:    1,       4, 5,    7,  */  { 0, 11,  8,  0,  5, 11,  0,  1,  5,  5,  6, 11 },
01556                                         /* 156:       2, 3, 4,       7,  */  { 8,  1,  3,  8,  6,  1,  8,  4,  6,  6, 10,  1 },
01557                                         /* 116:       2,    4, 5, 6,     */  { 1,  2,  6,  1,  6,  8,  1,  8,  9,  8,  6,  7 },
01558                                         /* 232:          3,    5, 6, 7,  */  { 2,  9, 10,  2,  7,  9,  2,  3,  7,  7,  4,  9 }
01559                                 };
01560                                 return &tiling11[config][0];
01561                         }; // end of tiling11
01562                         //_____________________________________________________________________________
01563 
01564 
01565 
01566                         //_____________________________________________________________________________
01585                         //-----------------------------------------------------------------------------
01586             static char Test12(unsigned char config, int u)
01587                         {
01588                                 static const char test12[24][4] = {
01589                                         /* 135: 0, 1, 2,             7,  */  {  4,  3,  7,  11 },
01590                                         /*  75: 0, 1,    3,       6,     */  {  3,  2,  7,  10 },
01591                                         /*  83: 0, 1,       4,    6,     */  {  2,  6,  7,   5 },
01592                                         /* 163: 0, 1,          5,    7,  */  {  6,  4,  7,   7 },
01593                                         /*  45: 0,    2, 3,    5,        */  {  2,  1,  7,   9 },
01594                                         /*  53: 0,    2,    4, 5,        */  {  5,  2,  7,   1 },
01595                                         /* 149: 0,    2,    4,       7,  */  {  5,  3,  7,   2 },
01596                                         /* 101: 0,    2,       5, 6,     */  {  5,  1,  7,   0 },
01597                                         /* 197: 0,    2,          6, 7,  */  {  5,  4,  7,   3 },
01598                                         /*  89: 0,       3, 4,    6,     */  {  6,  3,  7,   6 },
01599                                         /* 169: 0,       3,    5,    7,  */  {  1,  6,  7,   4 },
01600                                         /* 225: 0,             5, 6, 7,  */  {  1,  4,  7,   8 },
01601                                         /*  30:    1, 2, 3, 4,           */  {  4,  1,  7,   8 },
01602                                         /*  86:    1, 2,    4,    6,     */  {  6,  1,  7,   4 },
01603                                         /* 166:    1, 2,       5,    7,  */  {  3,  6,  7,   6 },
01604                                         /*  58:    1,    3, 4, 5,        */  {  4,  5,  7,   3 },
01605                                         /* 154:    1,    3, 4,       7,  */  {  1,  5,  7,   0 },
01606                                         /* 106:    1,    3,    5, 6,     */  {  3,  5,  7,   2 },
01607                                         /* 202:    1,    3,       6, 7,  */  {  2,  5,  7,   1 },
01608                                         /* 210:    1,       4,    6, 7,  */  {  1,  2,  7,   9 },
01609                                         /*  92:       2, 3, 4,    6,     */  {  4,  6,  7,   7 },
01610                                         /* 172:       2, 3,    5,    7,  */  {  6,  2,  7,   5 },
01611                                         /* 180:       2,    4, 5,    7,  */  {  2,  3,  7,  10 },
01612                                         /* 120:          3, 4, 5, 6,     */  {  3,  4,  7,  11 }
01613                                 };
01614                                 return test12[config][u];
01615                         };
01616 
01617 
01618                         //_____________________________________________________________________________
01628                         //-----------------------------------------------------------------------------
01629                         static const char* Tiling12_1_1(unsigned char config)
01630                         {
01631                                 static const char tiling12_1_1[24][12] = {
01632                                         /* 135: 0, 1, 2,             7,  */  {  7,  6, 11, 10,  3,  2,  3, 10,  8,  9,  8, 10 },
01633                                         /*  75: 0, 1,    3,       6,     */  {  6,  5, 10,  9,  2,  1,  2,  9, 11,  8, 11,  9 },
01634                                         /*  83: 0, 1,       4,    6,     */  { 10,  6,  5,  7,  9,  4,  9,  7,  1,  3,  1,  7 },
01635                                         /* 163: 0, 1,          5,    7,  */  {  7,  6, 11,  4,  8,  5,  3,  5,  8,  5,  3,  1 },
01636                                         /*  45: 0,    2, 3,    5,        */  {  5,  4,  9,  8,  1,  0,  1,  8, 10, 11, 10,  8 },
01637                                         /*  53: 0,    2,    4, 5,        */  {  1,  2, 10,  0,  9,  3,  5,  3,  9,  3,  5,  7 },
01638                                         /* 149: 0,    2,    4,       7,  */  { 10,  1,  2,  0, 11,  3, 11,  0,  6,  4,  6,  0 },
01639                                         /* 101: 0,    2,       5, 6,     */  {  8,  3,  0,  2,  9,  1,  9,  2,  4,  6,  4,  2 },
01640                                         /* 197: 0,    2,          6, 7,  */  {  3,  0,  8,  2, 11,  1,  7,  1, 11,  1,  7,  5 },
01641                                         /*  89: 0,       3, 4,    6,     */  {  6,  5, 10,  7, 11,  4,  2,  4, 11,  4,  2,  0 },
01642                                         /* 169: 0,       3,    5,    7,  */  {  9,  5,  4,  6,  8,  7,  8,  6,  0,  2,  0,  6 },
01643                                         /* 225: 0,             5, 6, 7,  */  {  8,  3,  0,  7,  4, 11,  9, 11,  4, 11,  9, 10 },
01644                                         /*  30:    1, 2, 3, 4,           */  {  4,  7,  8, 11,  0,  3,  0, 11,  9, 10,  9, 11 },
01645                                         /*  86:    1, 2,    4,    6,     */  {  4,  7,  8,  5,  9,  6,  0,  6,  9,  6,  0,  2 },
01646                                         /* 166:    1, 2,       5,    7,  */  { 11,  7,  6,  4, 10,  5, 10,  4,  2,  0,  2,  4 },
01647                                         /*  58:    1,    3, 4, 5,        */  { 11,  2,  3,  1,  8,  0,  8,  1,  7,  5,  7,  1 },
01648                                         /* 154:    1,    3, 4,       7,  */  {  0,  1,  9,  3,  8,  2,  4,  2,  8,  2,  4,  6 },
01649                                         /* 106:    1,    3,    5, 6,     */  {  2,  3, 11,  1, 10,  0,  6,  0, 10,  0,  6,  4 },
01650                                         /* 202:    1,    3,       6, 7,  */  {  9,  0,  1,  3, 10,  2, 10,  3,  5,  7,  5,  3 },
01651                                         /* 210:    1,       4,    6, 7,  */  {  9,  0,  1,  4,  5,  8, 10,  8,  5,  8, 10, 11 },
01652                                         /*  92:       2, 3, 4,    6,     */  {  8,  4,  7,  5, 11,  6, 11,  5,  3,  1,  3,  5 },
01653                                         /* 172:       2, 3,    5,    7,  */  {  5,  4,  9,  6, 10,  7,  1,  7, 10,  7,  1,  3 },
01654                                         /* 180:       2,    4, 5,    7,  */  { 10,  1,  2,  5,  6,  9, 11,  9,  6,  9, 11,  8 },
01655                                         /* 120:          3, 4, 5, 6,     */  { 11,  2,  3,  6,  7, 10,  8, 10,  7, 10,  8,  9 }
01656                                 };
01657                                 return &tiling12_1_1[config][0];
01658                         }; // end of Tiling12_1_1
01659 
01660 
01661                         //_____________________________________________________________________________
01671                         //-----------------------------------------------------------------------------
01672                         static const char* Tiling12_1_1_(unsigned char config)
01673                         {
01674                                 static const char tiling12_1_1_[24][12] = {
01675                                         /* 135: 0, 1, 2,             7,  */  {  3,  2, 11, 10,  7,  6,  7, 10,  8,  9,  8, 10 },
01676                                         /*  75: 0, 1,    3,       6,     */  {  2,  1, 10,  9,  6,  5,  6,  9, 11,  8, 11,  9 },
01677                                         /*  83: 0, 1,       4,    6,     */  {  9,  4,  5,  7, 10,  6, 10,  7,  1,  3,  1,  7 },
01678                                         /* 163: 0, 1,          5,    7,  */  {  7,  4,  8,  6, 11,  5,  3,  5, 11,  5,  3,  1 },
01679                                         /*  45: 0,    2, 3,    5,        */  {  1,  0,  9,  8,  5,  4,  5,  8, 10, 11, 10,  8 },
01680                                         /*  53: 0,    2,    4, 5,        */  {  1,  0,  9,  2, 10,  3,  5,  3, 10,  3,  5,  7 },
01681                                         /* 149: 0,    2,    4,       7,  */  { 11,  3,  2,  0, 10,  1, 10,  0,  6,  4,  6,  0 },
01682                                         /* 101: 0,    2,       5, 6,     */  {  9,  1,  0,  2,  8,  3,  8,  2,  4,  6,  4,  2 },
01683                                         /* 197: 0,    2,          6, 7,  */  {  3,  2, 11,  0,  8,  1,  7,  1,  8,  1,  7,  5 },
01684                                         /*  89: 0,       3, 4,    6,     */  {  6,  7, 11,  5, 10,  4,  2,  4, 10,  4,  2,  0 },
01685                                         /* 169: 0,       3,    5,    7,  */  {  8,  7,  4,  6,  9,  5,  9,  6,  0,  2,  0,  6 },
01686                                         /* 225: 0,             5, 6, 7,  */  {  8,  7,  4,  3,  0, 11,  9, 11,  0, 11,  9, 10 },
01687                                         /*  30:    1, 2, 3, 4,           */  {  0,  3,  8, 11,  4,  7,  4, 11,  9, 10,  9, 11 },
01688                                         /*  86:    1, 2,    4,    6,     */  {  4,  5,  9,  7,  8,  6,  0,  6,  8,  6,  0,  2 },
01689                                         /* 166:    1, 2,       5,    7,  */  { 10,  5,  6,  4, 11,  7, 11,  4,  2,  0,  2,  4 },
01690                                         /*  58:    1,    3, 4, 5,        */  {  8,  0,  3,  1, 11,  2, 11,  1,  7,  5,  7,  1 },
01691                                         /* 154:    1,    3, 4,       7,  */  {  0,  3,  8,  1,  9,  2,  4,  2,  9,  2,  4,  6 },
01692                                         /* 106:    1,    3,    5, 6,     */  {  2,  1, 10,  3, 11,  0,  6,  0, 11,  0,  6,  4 },
01693                                         /* 202:    1,    3,       6, 7,  */  { 10,  2,  1,  3,  9,  0,  9,  3,  5,  7,  5,  3 },
01694                                         /* 210:    1,       4,    6, 7,  */  {  9,  4,  5,  0,  1,  8, 10,  8,  1,  8, 10, 11 },
01695                                         /*  92:       2, 3, 4,    6,     */  { 11,  6,  7,  5,  8,  4,  8,  5,  3,  1,  3,  5 },
01696                                         /* 172:       2, 3,    5,    7,  */  {  5,  6, 10,  4,  9,  7,  1,  7,  9,  7,  1,  3 },
01697                                         /* 180:       2,    4, 5,    7,  */  { 10,  5,  6,  1,  2,  9, 11,  9,  2,  9, 11,  8 },
01698                                         /* 120:          3, 4, 5, 6,     */  { 11,  6,  7,  2,  3, 10,  8, 10,  3, 10,  8,  9 }
01699                                 };
01700                                 return &tiling12_1_1_[config][0];
01701                         }; // end of Tiling12_1_1_
01702 
01703 
01704                         //_____________________________________________________________________________
01714                         //-----------------------------------------------------------------------------
01715                         static const char* Tiling12_1_2(unsigned char config)
01716                         {
01717                                 static const char tiling12_1_2[24][24] = {
01718                                         /* 135: 0, 1, 2,             7,  */  {  7,  3, 11,  3,  7,  8,  9,  8,  7,  6,  9,  7,  9,  6, 10,  2, 10,  6, 11,  2,  6,  2, 11,  3 },
01719                                         /*  75: 0, 1,    3,       6,     */  {  6,  2, 10,  2,  6, 11,  8, 11,  6,  5,  8,  6,  8,  5,  9,  1,  9,  5, 10,  1,  5,  1, 10,  2 },
01720                                         /*  83: 0, 1,       4,    6,     */  { 10,  9,  5,  9, 10,  1,  3,  1, 10,  6,  3, 10,  3,  6,  7,  4,  7,  6,  5,  4,  6,  4,  5,  9 },
01721                                         /* 163: 0, 1,          5,    7,  */  {  7,  8, 11,  3, 11,  8, 11,  3,  1, 11,  1,  6,  5,  6,  1,  6,  5,  4,  6,  4,  7,  8,  7,  4 },
01722                                         /*  45: 0,    2, 3,    5,        */  {  5,  1,  9,  1,  5, 10, 11, 10,  5,  4, 11,  5, 11,  4,  8,  0,  8,  4,  9,  0,  4,  0,  9,  1 },
01723                                         /*  53: 0,    2,    4, 5,        */  {  1,  9, 10,  5, 10,  9, 10,  5,  7, 10,  7,  2,  3,  2,  7,  2,  3,  0,  2,  0,  1,  9,  1,  0 },
01724                                         /* 149: 0,    2,    4,       7,  */  { 10, 11,  2, 11, 10,  6,  4,  6, 10,  1,  4, 10,  4,  1,  0,  3,  0,  1,  2,  3,  1,  3,  2, 11 },
01725                                         /* 101: 0,    2,       5, 6,     */  {  8,  9,  0,  9,  8,  4,  6,  4,  8,  3,  6,  8,  6,  3,  2,  1,  2,  3,  0,  1,  3,  1,  0,  9 },
01726                                         /* 197: 0,    2,          6, 7,  */  {  3, 11,  8,  7,  8, 11,  8,  7,  5,  8,  5,  0,  1,  0,  5,  0,  1,  2,  0,  2,  3, 11,  3,  2 },
01727                                         /*  89: 0,       3, 4,    6,     */  {  6, 11, 10,  2, 10, 11, 10,  2,  0, 10,  0,  5,  4,  5,  0,  5,  4,  7,  5,  7,  6, 11,  6,  7 },
01728                                         /* 169: 0,       3,    5,    7,  */  {  9,  8,  4,  8,  9,  0,  2,  0,  9,  5,  2,  9,  2,  5,  6,  7,  6,  5,  4,  7,  5,  7,  4,  8 },
01729                                         /* 225: 0,             5, 6, 7,  */  {  8,  4,  0,  9,  0,  4,  0,  9, 10,  0, 10,  3, 11,  3, 10,  3, 11,  7,  3,  7,  8,  4,  8,  7 },
01730                                         /*  30:    1, 2, 3, 4,           */  {  4,  0,  8,  0,  4,  9, 10,  9,  4,  7, 10,  4, 10,  7, 11,  3, 11,  7,  8,  3,  7,  3,  8,  0 },
01731                                         /*  86:    1, 2,    4,    6,     */  {  4,  9,  8,  0,  8,  9,  8,  0,  2,  8,  2,  7,  6,  7,  2,  7,  6,  5,  7,  5,  4,  9,  4,  5 },
01732                                         /* 166:    1, 2,       5,    7,  */  { 11, 10,  6, 10, 11,  2,  0,  2, 11,  7,  0, 11,  0,  7,  4,  5,  4,  7,  6,  5,  7,  5,  6, 10 },
01733                                         /*  58:    1,    3, 4, 5,        */  { 11,  8,  3,  8, 11,  7,  5,  7, 11,  2,  5, 11,  5,  2,  1,  0,  1,  2,  3,  0,  2,  0,  3,  8 },
01734                                         /* 154:    1,    3, 4,       7,  */  {  0,  8,  9,  4,  9,  8,  9,  4,  6,  9,  6,  1,  2,  1,  6,  1,  2,  3,  1,  3,  0,  8,  0,  3 },
01735                                         /* 106:    1,    3,    5, 6,     */  {  2, 10, 11,  6, 11, 10, 11,  6,  4, 11,  4,  3,  0,  3,  4,  3,  0,  1,  3,  1,  2, 10,  2,  1 },
01736                                         /* 202:    1,    3,       6, 7,  */  {  9, 10,  1, 10,  9,  5,  7,  5,  9,  0,  7,  9,  7,  0,  3,  2,  3,  0,  1,  2,  0,  2,  1, 10 },
01737                                         /* 210:    1,       4,    6, 7,  */  {  9,  5,  1, 10,  1,  5,  1, 10, 11,  1, 11,  0,  8,  0, 11,  0,  8,  4,  0,  4,  9,  5,  9,  4 },
01738                                         /*  92:       2, 3, 4,    6,     */  {  8, 11,  7, 11,  8,  3,  1,  3,  8,  4,  1,  8,  1,  4,  5,  6,  5,  4,  7,  6,  4,  6,  7, 11 },
01739                                         /* 172:       2, 3,    5,    7,  */  {  5, 10,  9,  1,  9, 10,  9,  1,  3,  9,  3,  4,  7,  4,  3,  4,  7,  6,  4,  6,  5, 10,  5,  6 },
01740                                         /* 180:       2,    4, 5,    7,  */  { 10,  6,  2, 11,  2,  6,  2, 11,  8,  2,  8,  1,  9,  1,  8,  1,  9,  5,  1,  5, 10,  6, 10,  5 },
01741                                         /* 120:          3, 4, 5, 6,     */  { 11,  7,  3,  8,  3,  7,  3,  8,  9,  3,  9,  2, 10,  2,  9,  2, 10,  6,  2,  6, 11,  7, 11,  6 }
01742                                 };
01743                                 return &tiling12_1_2[config][0];
01744                         }; // end of Tiling12_1_2
01745 
01746 
01747                         //_____________________________________________________________________________
01757                         //-----------------------------------------------------------------------------
01758                         static const char* Tiling12_2(unsigned char config)
01759                         {
01760                                 static const char tiling12_2[24][24] = {
01761                                         /* 135: 0, 1, 2,             7,  */  {   9,  8, 12, 10,  9, 12,  2, 10, 12,  3,  2, 12, 11,  3, 12,  6, 11, 12,  7,  6, 12,  8,  7, 12 },
01762                                         /*  75: 0, 1,    3,       6,     */  {   8, 11, 12,  9,  8, 12,  1,  9, 12,  2,  1, 12, 10,  2, 12,  5, 10, 12,  6,  5, 12, 11,  6, 12 },
01763                                         /*  83: 0, 1,       4,    6,     */  {   3,  1, 12,  7,  3, 12,  4,  7, 12,  9,  4, 12,  5,  9, 12,  6,  5, 12, 10,  6, 12,  1, 10, 12 },
01764                                         /* 163: 0, 1,          5,    7,  */  {  12,  3,  1, 12,  1,  5, 12,  5,  6, 12,  6, 11, 12, 11,  7, 12,  7,  4, 12,  4,  8, 12,  8,  3 },
01765                                         /*  45: 0,    2, 3,    5,        */  {  11, 10, 12,  8, 11, 12,  0,  8, 12,  1,  0, 12,  9,  1, 12,  4,  9, 12,  5,  4, 12, 10,  5, 12 },
01766                                         /*  53: 0,    2,    4, 5,        */  {  12,  5,  7, 12,  7,  3, 12,  3,  2, 12,  2, 10, 12, 10,  1, 12,  1,  0, 12,  0,  9, 12,  9,  5 },
01767                                         /* 149: 0,    2,    4,       7,  */  {   4,  6, 12,  0,  4, 12,  1,  0, 12, 10,  1, 12,  2, 10, 12,  3,  2, 12, 11,  3, 12,  6, 11, 12 },
01768                                         /* 101: 0,    2,       5, 6,     */  {   6,  4, 12,  2,  6, 12,  3,  2, 12,  8,  3, 12,  0,  8, 12,  1,  0, 12,  9,  1, 12,  4,  9, 12 },
01769                                         /* 197: 0,    2,          6, 7,  */  {  12,  7,  5, 12,  5,  1, 12,  1,  0, 12,  0,  8, 12,  8,  3, 12,  3,  2, 12,  2, 11, 12, 11,  7 },
01770                                         /*  89: 0,       3, 4,    6,     */  {  12,  2,  0, 12,  0,  4, 12,  4,  5, 12,  5, 10, 12, 10,  6, 12,  6,  7, 12,  7, 11, 12, 11,  2 },
01771                                         /* 169: 0,       3,    5,    7,  */  {   2,  0, 12,  6,  2, 12,  7,  6, 12,  8,  7, 12,  4,  8, 12,  5,  4, 12,  9,  5, 12,  0,  9, 12 },
01772                                         /* 225: 0,             5, 6, 7,  */  {  12,  9, 10, 12, 10, 11, 12, 11,  7, 12,  7,  4, 12,  4,  8, 12,  8,  3, 12,  3,  0, 12,  0,  9 },
01773                                         /*  30:    1, 2, 3, 4,           */  {  10,  9, 12, 11, 10, 12,  7, 11, 12,  4,  7, 12,  8,  4, 12,  3,  8, 12,  0,  3, 12,  9,  0, 12 },
01774                                         /*  86:    1, 2,    4,    6,     */  {  12,  0,  2, 12,  2,  6, 12,  6,  7, 12,  7,  8, 12,  8,  4, 12,  4,  5, 12,  5,  9, 12,  9,  0 },
01775                                         /* 166:    1, 2,       5,    7,  */  {   0,  2, 12,  4,  0, 12,  5,  4, 12, 10,  5, 12,  6, 10, 12,  7,  6, 12, 11,  7, 12,  2, 11, 12 },
01776                                         /*  58:    1,    3, 4, 5,        */  {   5,  7, 12,  1,  5, 12,  0,  1, 12,  8,  0, 12,  3,  8, 12,  2,  3, 12, 11,  2, 12,  7, 11, 12 },
01777                                         /* 154:    1,    3, 4,       7,  */  {  12,  4,  6, 12,  6,  2, 12,  2,  3, 12,  3,  8, 12,  8,  0, 12,  0,  1, 12,  1,  9, 12,  9,  4 },
01778                                         /* 106:    1,    3,    5, 6,     */  {  12,  6,  4, 12,  4,  0, 12,  0,  1, 12,  1, 10, 12, 10,  2, 12,  2,  3, 12,  3, 11, 12, 11,  6 },
01779                                         /* 202:    1,    3,       6, 7,  */  {   7,  5, 12,  3,  7, 12,  2,  3, 12, 10,  2, 12,  1, 10, 12,  0,  1, 12,  9,  0, 12,  5,  9, 12 },
01780                                         /* 210:    1,       4,    6, 7,  */  {  12, 10, 11, 12, 11,  8, 12,  8,  0, 12,  0,  1, 12,  1,  9, 12,  9,  4, 12,  4,  5, 12,  5, 10 },
01781                                         /*  92:       2, 3, 4,    6,     */  {   1,  3, 12,  5,  1, 12,  6,  5, 12, 11,  6, 12,  7, 11, 12,  4,  7, 12,  8,  4, 12,  3,  8, 12 },
01782                                         /* 172:       2, 3,    5,    7,  */  {  12,  1,  3, 12,  3,  7, 12,  7,  4, 12,  4,  9, 12,  9,  5, 12,  5,  6, 12,  6, 10, 12, 10,  1 },
01783                                         /* 180:       2,    4, 5,    7,  */  {  12, 11,  8, 12,  8,  9, 12,  9,  1, 12,  1,  2, 12,  2, 10, 12, 10,  5, 12,  5,  6, 12,  6, 11 },
01784                                         /* 120:          3, 4, 5, 6,     */  {  12,  8,  9, 12,  9, 10, 12, 10,  2, 12,  2,  3, 12,  3, 11, 12, 11,  6, 12,  6,  7, 12,  7,  8 }
01785                                 };
01786                                 return &tiling12_2[config][0];
01787                         }; // end of Tiling12_2
01788 
01789 
01790                         //_____________________________________________________________________________
01800                         //-----------------------------------------------------------------------------
01801                         static const char* Tiling12_2_(unsigned char config)
01802                         {
01803                                 static const char tiling12_2_[24][24] = {
01804                                         /* 135: 0, 1, 2,             7,  */  { 12,  2, 11, 12, 11,  7, 12,  7,  6, 12,  6, 10, 12, 10,  9, 12,  9,  8, 12,  8,  3, 12,  3,  2 },
01805                                         /*  75: 0, 1,    3,       6,     */  { 12,  1, 10, 12, 10,  6, 12,  6,  5, 12,  5,  9, 12,  9,  8, 12,  8, 11, 12, 11,  2, 12,  2,  1 },
01806                                         /*  83: 0, 1,       4,    6,     */  { 12,  4,  5, 12,  5, 10, 12, 10,  6, 12,  6,  7, 12,  7,  3, 12,  3,  1, 12,  1,  9, 12,  9,  4 },
01807                                         /* 163: 0, 1,          5,    7,  */  {  7,  6, 12,  8,  7, 12,  4,  8, 12,  5,  4, 12,  1,  5, 12,  3,  1, 12, 11,  3, 12,  6, 11, 12 },
01808                                         /*  45: 0,    2, 3,    5,        */  { 12,  0,  9, 12,  9,  5, 12,  5,  4, 12,  4,  8, 12,  8, 11, 12, 11, 10, 12, 10,  1, 12,  1,  0 },
01809                                         /*  53: 0,    2,    4, 5,        */  {  1,  2, 12,  9,  1, 12,  0,  9, 12,  3,  0, 12,  7,  3, 12,  5,  7, 12, 10,  5, 12,  2, 10, 12 },
01810                                         /* 149: 0,    2,    4,       7,  */  { 12,  1,  2, 12,  2, 11, 12, 11,  3, 12,  3,  0, 12,  0,  4, 12,  4,  6, 12,  6, 10, 12, 10,  1 },
01811                                         /* 101: 0,    2,       5, 6,     */  { 12,  3,  0, 12,  0,  9, 12,  9,  1, 12,  1,  2, 12,  2,  6, 12,  6,  4, 12,  4,  8, 12,  8,  3 },
01812                                         /* 197: 0,    2,          6, 7,  */  {  3,  0, 12, 11,  3, 12,  2, 11, 12,  1,  2, 12,  5,  1, 12,  7,  5, 12,  8,  7, 12,  0,  8, 12 },
01813                                         /*  89: 0,       3, 4,    6,     */  {  6,  5, 12, 11,  6, 12,  7, 11, 12,  4,  7, 12,  0,  4, 12,  2,  0, 12, 10,  2, 12,  5, 10, 12 },
01814                                         /* 169: 0,       3,    5,    7,  */  { 12,  7,  4, 12,  4,  9, 12,  9,  5, 12,  5,  6, 12,  6,  2, 12,  2,  0, 12,  0,  8, 12,  8,  7 },
01815                                         /* 225: 0,             5, 6, 7,  */  {  8,  7, 12,  0,  8, 12,  3,  0, 12, 11,  3, 12, 10, 11, 12,  9, 10, 12,  4,  9, 12,  7,  4, 12 },
01816                                         /*  30:    1, 2, 3, 4,           */  { 12,  7,  8, 12,  8,  0, 12,  0,  3, 12,  3, 11, 12, 11, 10, 12, 10,  9, 12,  9,  4, 12,  4,  7 },
01817                                         /*  86:    1, 2,    4,    6,     */  {  4,  7, 12,  9,  4, 12,  5,  9, 12,  6,  5, 12,  2,  6, 12,  0,  2, 12,  8,  0, 12,  7,  8, 12 },
01818                                         /* 166:    1, 2,       5,    7,  */  { 12,  5,  6, 12,  6, 11, 12, 11,  7, 12,  7,  4, 12,  4,  0, 12,  0,  2, 12,  2, 10, 12, 10,  5 },
01819                                         /*  58:    1,    3, 4, 5,        */  { 12,  0,  3, 12,  3, 11, 12, 11,  2, 12,  2,  1, 12,  1,  5, 12,  5,  7, 12,  7,  8, 12,  8,  0 },
01820                                         /* 154:    1,    3, 4,       7,  */  {  0,  3, 12,  9,  0, 12,  1,  9, 12,  2,  1, 12,  6,  2, 12,  4,  6, 12,  8,  4, 12,  3,  8, 12 },
01821                                         /* 106:    1,    3,    5, 6,     */  {  2,  1, 12, 11,  2, 12,  3, 11, 12,  0,  3, 12,  4,  0, 12,  6,  4, 12, 10,  6, 12,  1, 10, 12 },
01822                                         /* 202:    1,    3,       6, 7,  */  { 12,  2,  1, 12,  1,  9, 12,  9,  0, 12,  0,  3, 12,  3,  7, 12,  7,  5, 12,  5, 10, 12, 10,  2 },
01823                                         /* 210:    1,       4,    6, 7,  */  {  9,  0, 12,  5,  9, 12,  4,  5, 12,  8,  4, 12, 11,  8, 12, 10, 11, 12,  1, 10, 12,  0,  1, 12 },
01824                                         /*  92:       2, 3, 4,    6,     */  { 12,  6,  7, 12,  7,  8, 12,  8,  4, 12,  4,  5, 12,  5,  1, 12,  1,  3, 12,  3, 11, 12, 11,  6 },
01825                                         /* 172:       2, 3,    5,    7,  */  {  5,  4, 12, 10,  5, 12,  6, 10, 12,  7,  6, 12,  3,  7, 12,  1,  3, 12,  9,  1, 12,  4,  9, 12 },
01826                                         /* 180:       2,    4, 5,    7,  */  { 10,  1, 12,  6, 10, 12,  5,  6, 12,  9,  5, 12,  8,  9, 12, 11,  8, 12,  2, 11, 12,  1,  2, 12 },
01827                                         /* 120:          3, 4, 5, 6,     */  { 11,  2, 12,  7, 11, 12,  6,  7, 12, 10,  6, 12,  9, 10, 12,  8,  9, 12,  3,  8, 12,  2,  3, 12 }
01828                                 };
01829                                 return &tiling12_2_[config][0];
01830                         }; // end of Tiling12_2_
01831                         //_____________________________________________________________________________
01832 
01833 
01834                         //_____________________________________________________________________________
01846                         //-----------------------------------------------------------------------------
01847                         /* 13: face test */
01848             static char Test13(unsigned char config, int u)
01849                         {
01850                                 static const char test13[2][7] = {
01851                                         /* 165: 0,    2,       5,    7,  */  { 1,2,3,4,5,6,7 },
01852                                         /*  90:    1,    3, 4,    6,     */  { 2,3,4,1,5,6,7 },
01853                                 };
01854                                 return test13[config][u];
01855                         }; // end of Test13
01856 
01857                         //_____________________________________________________________________________
01869                         //-----------------------------------------------------------------------------
01870                         /* 13: sub configs */
01871             static char Subconfig13(unsigned char config)
01872                         {
01873                                 static const char subconfig13[64] = {
01874                                         /*  0: 0,0,0,0,0,0 */   0,
01875                                         /*  1: 1,0,0,0,0,0 */   1,
01876                                         /*  2: 0,1,0,0,0,0 */   2,
01877                                         /*  3: 1,1,0,0,0,0 */   7,
01878                                         /*  4: 0,0,1,0,0,0 */   3,
01879                                         /*  5: 1,0,1,0,0,0 */  -1,
01880                                         /*  6: 0,1,1,0,0,0 */  11,
01881                                         /*  7: 1,1,1,0,0,0 */  -1,
01882                                         /*  8: 0,0,0,1,0,0 */   4,
01883                                         /*  9: 1,0,0,1,0,0 */   8,
01884                                         /* 10: 0,1,0,1,0,0 */  -1,
01885                                         /* 11: 1,1,0,1,0,0 */  -1,
01886                                         /* 12: 0,0,1,1,0,0 */  14,
01887                                         /* 13: 1,0,1,1,0,0 */  -1,
01888                                         /* 14: 0,1,1,1,0,0 */  -1,
01889                                         /* 15: 1,1,1,1,0,0 */  -1,
01890                                         /* 16: 0,0,0,0,1,0 */   5,
01891                                         /* 17: 1,0,0,0,1,0 */   9,
01892                                         /* 18: 0,1,0,0,1,0 */  12,
01893                                         /* 19: 1,1,0,0,1,0 */  23,
01894                                         /* 20: 0,0,1,0,1,0 */  15,
01895                                         /* 21: 1,0,1,0,1,0 */  -1,
01896                                         /* 22: 0,1,1,0,1,0 */  21,
01897                                         /* 23: 1,1,1,0,1,0 */  38,
01898                                         /* 24: 0,0,0,1,1,0 */  17,
01899                                         /* 25: 1,0,0,1,1,0 */  20,
01900                                         /* 26: 0,1,0,1,1,0 */  -1,
01901                                         /* 27: 1,1,0,1,1,0 */  36,
01902                                         /* 28: 0,0,1,1,1,0 */  26,
01903                                         /* 29: 1,0,1,1,1,0 */  33,
01904                                         /* 30: 0,1,1,1,1,0 */  30,
01905                                         /* 31: 1,1,1,1,1,0 */  44,
01906                                         /* 32: 0,0,0,0,0,1 */   6,
01907                                         /* 33: 1,0,0,0,0,1 */  10,
01908                                         /* 34: 0,1,0,0,0,1 */  13,
01909                                         /* 35: 1,1,0,0,0,1 */  19,
01910                                         /* 36: 0,0,1,0,0,1 */  16,
01911                                         /* 37: 1,0,1,0,0,1 */  -1,
01912                                         /* 38: 0,1,1,0,0,1 */  25,
01913                                         /* 39: 1,1,1,0,0,1 */  37,
01914                                         /* 40: 0,0,0,1,0,1 */  18,
01915                                         /* 41: 1,0,0,1,0,1 */  24,
01916                                         /* 42: 0,1,0,1,0,1 */  -1,
01917                                         /* 43: 1,1,0,1,0,1 */  35,
01918                                         /* 44: 0,0,1,1,0,1 */  22,
01919                                         /* 45: 1,0,1,1,0,1 */  32,
01920                                         /* 46: 0,1,1,1,0,1 */  29,
01921                                         /* 47: 1,1,1,1,0,1 */  43,
01922                                         /* 48: 0,0,0,0,1,1 */  -1,
01923                                         /* 49: 1,0,0,0,1,1 */  -1,
01924                                         /* 50: 0,1,0,0,1,1 */  -1,
01925                                         /* 51: 1,1,0,0,1,1 */  34,
01926                                         /* 52: 0,0,1,0,1,1 */  -1,
01927                                         /* 53: 1,0,1,0,1,1 */  -1,
01928                                         /* 54: 0,1,1,0,1,1 */  28,
01929                                         /* 55: 1,1,1,0,1,1 */  42,
01930                                         /* 56: 0,0,0,1,1,1 */  -1,
01931                                         /* 57: 1,0,0,1,1,1 */  31,
01932                                         /* 58: 0,1,0,1,1,1 */  -1,
01933                                         /* 59: 1,1,0,1,1,1 */  41,
01934                                         /* 60: 0,0,1,1,1,1 */  27,
01935                                         /* 61: 1,0,1,1,1,1 */  40,
01936                                         /* 62: 0,1,1,1,1,1 */  39,
01937                                         /* 63: 1,1,1,1,1,1 */  45,
01938                                 };
01939                                 return subconfig13[config];
01940                         }; // end of Subconfig13
01941 
01942                         //_____________________________________________________________________________
01952                         //-----------------------------------------------------------------------------
01953                         /* 13.1 */
01954                         static const char* Tiling13_1(unsigned char config)
01955                         {
01956                                 static const char tiling13_1[2][12] = {
01957                                         /* 165: 0,    2,       5,    7,  */  { 11,  7,  6,  1,  2, 10,  8,  3,  0,  9,  5, 4 },
01958                                         /*  90:    1,    3, 4,    6,     */  {  8,  4,  7,  2,  3, 11,  9,  0,  1, 10,  6, 5 }
01959                                 };
01960                                 return &tiling13_1[config][0];
01961                         }; // end of Tiling13_1
01962 
01963 
01964                         //_____________________________________________________________________________
01974                         //-----------------------------------------------------------------------------
01975                         /* 13.1 */
01976                         static const char* Tiling13_1_(unsigned char config)
01977                         {
01978                                 static const char tiling13_1_[2][12] = {
01979                                         /* 165: 0,    2,       5,    7,  */  { 7,  4,  8, 11,  3,  2,  1,  0,  9,  5,  6, 10 },
01980                                         /*  90:    1,    3, 4,    6,     */  { 6,  7, 11, 10,  2,  1,  0,  3,  8,  4,  5,  9 }
01981                                 };
01982                                 return &tiling13_1_[config][0];
01983                         }; // end of Tiling13_1_
01984 
01985 
01986 
01987                         //_____________________________________________________________________________
01997                         //-----------------------------------------------------------------------------
01998                         /* 13.2 */
01999                         static const char* Tiling13_2(unsigned char config, unsigned char u)
02000                         {
02001                                 static const char tiling13_2[2][6][18] = {
02002                                         /* 165: 0,    2,       5,    7,  */  {
02003                                         /* 1 */ { 1,  2, 10, 11,  7,  6,  3,  4,  8,  4,  3,  5,  0,  5,  3,  5,  0,  9 },
02004                                         /* 2 */ { 8,  3,  0, 11,  7,  6,  9,  1,  4,  2,  4,  1,  4,  2,  5, 10,  5,  2 },
02005                                         /* 3 */ { 9,  5,  4,  8,  3,  0,  1,  6, 10,  6,  1,  7,  2,  7,  1,  7,  2, 11 },
02006                                         /* 4 */ { 9,  5,  4,  1,  2, 10, 11,  3,  6,  0,  6,  3,  6,  0,  7,  8,  7,  0 },
02007                                         /* 5 */ { 9,  5,  4, 11,  7,  6,  0, 10,  1, 10,  0,  8, 10,  8,  2,  3,  2,  8 },
02008                                         /* 6 */ { 1,  2, 10,  3,  0,  8,  4,  9,  7, 11,  7,  9,  5, 11,  9, 11,  5,  6 }
02009                                         },
02010                                                 /*  90:    1,    3, 4,    6,     */  {
02011                                                 /* 1 */ { 2,  3, 11,  8,  4,  7,  0,  5,  9,  5,  0,  6,  1,  6,  0,  6,  1, 10 },
02012                                                 /* 2 */ { 9,  0,  1,  8,  4,  7, 10,  2,  5,  3,  5,  2,  5,  3,  6, 11,  6,  3 },
02013                                                 /* 3 */ { 6,  5, 10,  9,  0,  1,  2,  7, 11,  7,  2,  4,  3,  4,  2,  4,  3,  8 },
02014                                                 /* 4 */ { 6,  5, 10,  2,  3, 11,  8,  0,  7,  1,  7,  0,  7,  1,  4,  9,  4,  1 },
02015                                                 /* 5 */ { 6,  5, 10,  8,  4,  7,  1, 11,  2, 11,  1,  9, 11,  9,  3,  0,  3,  9 },
02016                                                 /* 6 */ { 2,  3, 11,  0,  1,  9,  5, 10,  4,  8,  4, 10,  6,  8, 10,  8,  6,  7 }
02017                                                 } };
02018                                         return &tiling13_2[config][u][0];
02019                         }; // end of Tiling13_2
02020 
02021 
02022                         //_____________________________________________________________________________
02032                         //-----------------------------------------------------------------------------
02033                         /* 13.2 */
02034                         static const char* Tiling13_2_(unsigned char config, unsigned char u)
02035                         {
02036                                 static const char tiling13_2_[2][6][18] = {
02037                                         /* 165: 0,    2,       5,    7,  */  {
02038                                         /* 1 */ { 10,  5,  6, 11,  3,  2,  7,  0,  8,  0,  7,  1,  4,  1,  7,  1,  4,  9 },
02039                                         /* 2 */ { 11,  3,  2,  7,  4,  8,  9,  5,  0,  6,  0,  5,  0,  6,  1, 10,  1,  6 },
02040                                         /* 3 */ {  1,  0,  9,  7,  4,  8,  5,  2, 10,  2,  5,  3,  6,  3,  5,  3,  6, 11 },
02041                                         /* 4 */ { 10,  5,  6,  1,  0,  9, 11,  7,  2,  4,  2,  7,  2,  4,  3,  8,  3,  4 },
02042                                         /* 5 */ { 10,  5,  6,  7,  4,  8,  2, 11,  1,  9,  1, 11,  3,  9, 11,  9,  3,  0 },
02043                                         /* 6 */ { 11,  3,  2,  9,  1,  0,  4, 10,  5, 10,  4,  8, 10,  8,  6,  7,  6,  8 }
02044                                         },
02045                                                 /*  90:    1,    3, 4,    6,     */  {
02046                                                 /* 1 */ {  6,  7, 11,  8,  0,  3,  4,  1,  9,  1,  4,  2,  5,  2,  4,  2,  5, 10 },
02047                                                 /* 2 */ {  8,  0,  3,  4,  5,  9, 10,  6,  1,  7,  1,  6,  1,  7,  2, 11,  2,  7 },
02048                                                 /* 3 */ {  2,  1, 10,  4,  5,  9,  6,  3, 11,  3,  6,  0,  7,  0,  6,  0,  7,  8 },
02049                                                 /* 4 */ {  6,  7, 11,  2,  1, 10,  8,  4,  3,  5,  3,  4,  3,  5,  0,  9,  0,  5 },
02050                                                 /* 5 */ {  6,  7, 11,  4,  5,  9,  3,  8,  2, 10,  2,  8,  0, 10,  8, 10,  0,  1 },
02051                                                 /* 6 */ {  8,  0,  3, 10,  2,  1,  5, 11,  6, 11,  5,  9, 11,  9,  7,  4,  7,  9 }
02052                                                 } };
02053                                         return &tiling13_2_[config][u][0];
02054                         }; // end of Tiling13_2_
02055 
02056 
02057 
02058                         //_____________________________________________________________________________
02068                         //-----------------------------------------------------------------------------
02069                         /* 13.3 */
02070                         static const char* Tiling13_3(unsigned char config, unsigned int u)
02071                         {
02072                                 static const char tiling13_3[2][12][30] = {
02073                                         /* 165: 0,    2,       5,    7,  */  {
02074                                         /* 1,2 */ { 11,  7,  6, 12,  2, 10, 12, 10,  5, 12,  5,  4, 12,  4,  8, 12,  8,  3, 12,  3,  0, 12,  0,  9, 12,  9,  1, 12,  1,  2 },
02075                                         /* 1,4 */ {  1,  2, 10,  9,  5, 12,  0,  9, 12,  3,  0, 12, 11,  3, 12,  6, 11, 12,  7,  6, 12,  8,  7, 12,  4,  8, 12,  5,  4, 12 },
02076                                         /* 1,5 */ { 11,  7,  6, 12,  5,  4, 12,  4,  8, 12,  8,  3, 12,  3,  2, 12,  2, 10, 12, 10,  1, 12,  1,  0, 12,  0,  9, 12,  9,  5 },
02077                                         /* 1,6 */ {  1,  2, 10, 12,  3,  0, 12,  0,  9, 12,  9,  5, 12,  5,  6, 12,  6, 11, 12, 11,  7, 12,  7,  4, 12,  4,  8, 12,  8,  3 },
02078                                         /* 2,3 */ {  8,  3,  0, 11,  7, 12,  2, 11, 12,  1,  2, 12,  9,  1, 12,  4,  9, 12,  5,  4, 12, 10,  5, 12,  6, 10, 12,  7,  6, 12 },
02079                                         /* 2,5 */ { 11,  7,  6,  5,  4, 12, 10,  5, 12,  2, 10, 12,  3,  2, 12,  8,  3, 12,  0,  8, 12,  1,  0, 12,  9,  1, 12,  4,  9, 12 },
02080                                         /* 2,6 */ {  8,  3,  0,  1,  2, 12,  9,  1, 12,  4,  9, 12,  7,  4, 12, 11,  7, 12,  6, 11, 12,  5,  6, 12, 10,  5, 12,  2, 10, 12 },
02081                                         /* 3,4 */ {  9,  5,  4, 12,  0,  8, 12,  8,  7, 12,  7,  6, 12,  6, 10, 12, 10,  1, 12,  1,  2, 12,  2, 11, 12, 11,  3, 12,  3,  0 },
02082                                         /* 3,5 */ {  9,  5,  4, 12,  7,  6, 12,  6, 10, 12, 10,  1, 12,  1,  0, 12,  0,  8, 12,  8,  3, 12,  3,  2, 12,  2, 11, 12, 11,  7 },
02083                                         /* 3,6 */ {  8,  3,  0, 12,  1,  2, 12,  2, 11, 12, 11,  7, 12,  7,  4, 12,  4,  9, 12,  9,  5, 12,  5,  6, 12,  6, 10, 12, 10,  1 },
02084                                         /* 4,5 */ {  9,  5,  4,  7,  6, 12,  8,  7, 12,  0,  8, 12,  1,  0, 12, 10,  1, 12,  2, 10, 12,  3,  2, 12, 11,  3, 12,  6, 11, 12 },
02085                                         /* 4,6 */ {  1,  2, 10,  3,  0, 12, 11,  3, 12,  6, 11, 12,  5,  6, 12,  9,  5, 12,  4,  9, 12,  7,  4, 12,  8,  7, 12,  0,  8, 12 }
02086                                         },
02087                                                 /*  90:    1,    3, 4,    6,     */  {
02088                                                 /* 1,2 */ {  8,  4,  7, 12,  3, 11, 12, 11,  6, 12,  6,  5, 12,  5,  9, 12,  9,  0, 12,  0,  1, 12,  1, 10, 12, 10,  2, 12,  2,  3 },
02089                                                 /* 1,4 */ {  2,  3, 11, 10,  6, 12,  1, 10, 12,  0,  1, 12,  8,  0, 12,  7,  8, 12,  4,  7, 12,  9,  4, 12,  5,  9, 12,  6,  5, 12 },
02090                                                 /* 1,5 */ {  8,  4,  7, 12,  6,  5, 12,  5,  9, 12,  9,  0, 12,  0,  3, 12,  3, 11, 12, 11,  2, 12,  2,  1, 12,  1, 10, 12, 10,  6 },
02091                                                 /* 1,6 */ {  2,  3, 11, 12,  0,  1, 12,  1, 10, 12, 10,  6, 12,  6,  7, 12,  7,  8, 12,  8,  4, 12,  4,  5, 12,  5,  9, 12,  9,  0 },
02092                                                 /* 2,3 */ {  0,  1,  9,  8,  4, 12,  3,  8, 12,  2,  3, 12, 10,  2, 12,  5, 10, 12,  6,  5, 12, 11,  6, 12,  7, 11, 12,  4,  7, 12 },
02093                                                 /* 2,5 */ {  8,  4,  7,  6,  5, 12, 11,  6, 12,  3, 11, 12,  0,  3, 12,  9,  0, 12,  1,  9, 12,  2,  1, 12, 10,  2, 12,  5, 10, 12 },
02094                                                 /* 2,6 */ {  9,  0,  1,  2,  3, 12, 10,  2, 12,  5, 10, 12,  4,  5, 12,  8,  4, 12,  7,  8, 12,  6,  7, 12, 11,  6, 12,  3, 11, 12 },
02095                                                 /* 3,4 */ {  6,  5, 10, 12,  1,  9, 12,  9,  4, 12,  4,  7, 12,  7, 11, 12, 11,  2, 12,  2,  3, 12,  3,  8, 12,  8,  0, 12,  0,  1 },
02096                                                 /* 3,5 */ {  6,  5, 10, 12,  4,  7, 12,  7, 11, 12, 11,  2, 12,  2,  1, 12,  1,  9, 12,  9,  0, 12,  0,  3, 12,  3,  8, 12,  8,  4 },
02097                                                 /* 3,6 */ {  9,  0,  1, 12,  2,  3, 12,  3,  8, 12,  8,  4, 12,  4,  5, 12,  5, 10, 12, 10,  6, 12,  6,  7, 12,  7, 11, 12, 11,  2 },
02098                                                 /* 4,5 */ {  6,  5, 10,  4,  7, 12,  9,  4, 12,  1,  9, 12,  2,  1, 12, 11,  2, 12,  3, 11, 12,  0,  3, 12,  8,  0, 12,  7,  8, 12 },
02099                                                 /* 4,6 */ {  2,  3, 11,  0,  1, 12,  8,  0, 12,  7,  8, 12,  6,  7, 12, 10,  6, 12,  5, 10, 12,  4,  5, 12,  9,  4, 12,  1,  9, 12 }
02100                                                 } };
02101                                         return &tiling13_3[config][u][0];
02102                         }; // end of Tiling13_3
02103 
02104 
02105                         //_____________________________________________________________________________
02115                         //-----------------------------------------------------------------------------
02116                         /* 13.3 */
02117                         static const char* Tiling13_3_(unsigned char config, unsigned char u)
02118                         {
02119                                 static const char tiling13_3_[2][12][30] = {
02120                                         /* 165: 0,    2,       5,    7,  */  {
02121                                         /* 1,2 */ {  3,  2, 11,  8,  7, 12,  0,  8, 12,  1,  0, 12, 10,  1, 12,  6, 10, 12,  5,  6, 12,  9,  5, 12,  4,  9, 12,  7,  4, 12 },
02122                                         /* 1,4 */ {  5,  6, 10, 12,  2, 11, 12, 11,  7, 12,  7,  4, 12,  4,  9, 12,  9,  1, 12,  1,  0, 12,  0,  8, 12,  8,  3, 12,  3,  2 },
02123                                         /* 1,5 */ { 10,  5,  6, 12,  7,  4, 12,  4,  9, 12,  9,  1, 12,  1,  2, 12,  2, 11, 12, 11,  3, 12,  3,  0, 12,  0,  8, 12,  8,  7 },
02124                                         /* 1,6 */ { 11,  3,  2, 12,  1,  0, 12,  0,  8, 12,  8,  7, 12,  7,  6, 12,  6, 10, 12, 10,  5, 12,  5,  4, 12,  4,  9, 12,  9,  1 },
02125                                         /* 2,3 */ {  7,  4,  8, 11,  3, 12,  6, 11, 12,  5,  6, 12,  9,  5, 12,  0,  9, 12,  1,  0, 12, 10,  1, 12,  2, 10, 12,  3,  2, 12 },
02126                                         /* 2,5 */ {  7,  4,  8,  5,  6, 12,  9,  5, 12,  0,  9, 12,  3,  0, 12, 11,  3, 12,  2, 11, 12,  1,  2, 12, 10,  1, 12,  6, 10, 12 },
02127                                         /* 2,6 */ { 11,  3,  2,  1,  0, 12, 10,  1, 12,  6, 10, 12,  7,  6, 12,  8,  7, 12,  4,  8, 12,  5,  4, 12,  9,  5, 12,  0,  9, 12 },
02128                                         /* 3,4 */ {  1,  0,  9, 12,  4,  8, 12,  8,  3, 12,  3,  2, 12,  2, 10, 12, 10,  5, 12,  5,  6, 12,  6, 11, 12, 11,  7, 12,  7,  4 },
02129                                         /* 3,5 */ {  7,  4,  8, 12,  5,  6, 12,  6, 11, 12, 11,  3, 12,  3,  0, 12,  0,  9, 12,  9,  1, 12,  1,  2, 12,  2, 10, 12, 10,  5 },
02130                                         /* 3,6 */ {  1,  0,  9, 12,  3,  2, 12,  2, 10, 12, 10,  5, 12,  5,  4, 12,  4,  8, 12,  8,  7, 12,  7,  6, 12,  6, 11, 12, 11,  3 },
02131                                         /* 4,5 */ { 10,  5,  6,  7,  4, 12, 11,  7, 12,  2, 11, 12,  1,  2, 12,  9,  1, 12,  0,  9, 12,  3,  0, 12,  8,  3, 12,  4,  8, 12 },
02132                                         /* 4,6 */ {  9,  1,  0,  3,  2, 12,  8,  3, 12,  4,  8, 12,  5,  4, 12, 10,  5, 12,  6, 10, 12,  7,  6, 12, 11,  7, 12,  2, 11, 12 }
02133                                         },
02134                                                 /*  90:    1,    3, 4,    6,     */  {
02135                                                 /* 1,2 */ {  0,  3,  8,  9,  4, 12,  1,  9, 12,  2,  1, 12, 11,  2, 12,  7, 11, 12,  6,  7, 12, 10,  6, 12,  5, 10, 12,  4,  5, 12 },
02136                                                 /* 1,4 */ { 11,  6,  7, 12,  3,  8, 12,  8,  4, 12,  4,  5, 12,  5, 10, 12, 10,  2, 12,  2,  1, 12,  1,  9, 12,  9,  0, 12,  0,  3 },
02137                                                 /* 1,5 */ {  6,  7, 11, 12,  4,  5, 12,  5, 10, 12, 10,  2, 12,  2,  3, 12,  3,  8, 12,  8,  0, 12,  0,  1, 12,  1,  9, 12,  9,  4 },
02138                                                 /* 1,6 */ {  8,  0,  3, 12,  2,  1, 12,  1,  9, 12,  9,  4, 12,  4,  7, 12,  7, 11, 12, 11,  6, 12,  6,  5, 12,  5, 10, 12, 10,  2 },
02139                                                 /* 2,3 */ {  4,  5,  9,  8,  0, 12,  7,  8, 12,  6,  7, 12, 10,  6, 12,  1, 10, 12,  2,  1, 12, 11,  2, 12,  3, 11, 12,  0,  3, 12 },
02140                                                 /* 2,5 */ {  4,  5,  9,  6,  7, 12, 10,  6, 12,  1, 10, 12,  0,  1, 12,  8,  0, 12,  3,  8, 12,  2,  3, 12, 11,  2, 12,  7, 11, 12 },
02141                                                 /* 2,6 */ {  8,  0,  3,  2,  1, 12, 11,  2, 12,  7, 11, 12,  4,  7, 12,  9,  4, 12,  5,  9, 12,  6,  5, 12, 10,  6, 12,  1, 10, 12 },
02142                                                 /* 3,4 */ {  2,  1, 10, 12,  5,  9, 12,  9,  0, 12,  0,  3, 12,  3, 11, 12, 11,  6, 12,  6,  7, 12,  7,  8, 12,  8,  4, 12,  4,  5 },
02143                                                 /* 3,5 */ {  4,  5,  9, 12,  6,  7, 12,  7,  8, 12,  8,  0, 12,  0,  1, 12,  1, 10, 12, 10,  2, 12,  2,  3, 12,  3, 11, 12, 11,  6 },
02144                                                 /* 3,6 */ {  2,  1, 10, 12,  0,  3, 12,  3, 11, 12, 11,  6, 12,  6,  5, 12,  5,  9, 12,  9,  4, 12,  4,  7, 12,  7,  8, 12,  8,  0 },
02145                                                 /* 4,5 */ {  6,  7, 11,  4,  5, 12,  8,  4, 12,  3,  8, 12,  2,  3, 12, 10,  2, 12,  1, 10, 12,  0,  1, 12,  9,  0, 12,  5,  9, 12 },
02146                                                 /* 4,6 */ { 10,  2,  1,  0,  3, 12,  9,  0, 12,  5,  9, 12,  6,  5, 12, 11,  6, 12,  7, 11, 12,  4,  7, 12,  8,  4, 12,  3,  8, 12 }
02147                                                 } };
02148                                         return &tiling13_3_[config][u][0];
02149                         }; // end of Tiling13_3_
02150 
02151 
02152                         //_____________________________________________________________________________
02162                         //-----------------------------------------------------------------------------
02163                         /* 13.4 */
02164                         static const char* Tiling13_4(unsigned char config, unsigned int u)
02165                         {
02166                                 static const char tiling13_4[2][4][36] = {
02167                                         /* 165: 0,    2,       5,    7,  */  {
02168                                         /* 1,2,6 */  { 12,  2, 10, 12, 10,  5, 12,  5,  6, 12,  6, 11, 12, 11,  7, 12,  7,  4, 12,  4,  8, 12,  8,  3, 12,  3,  0, 12,  0,  9, 12,  9,  1, 12,  1,  2 },
02169                                         /* 1,4,5 */  { 11,  3, 12,  6, 11, 12,  7,  6, 12,  8,  7, 12,  4,  8, 12,  5,  4, 12,  9,  5, 12,  0,  9, 12,  1,  0, 12, 10,  1, 12,  2, 10, 12,  3,  2, 12 },
02170                                         /* 2,3,5 */  {  9,  1, 12,  4,  9, 12,  5,  4, 12, 10,  5, 12,  6, 10, 12,  7,  6, 12, 11,  7, 12,  2, 11, 12,  3,  2, 12,  8,  3, 12,  0,  8, 12,  1,  0, 12 },
02171                                         /* 3,4,6 */  { 12,  0,  8, 12,  8,  7, 12,  7,  4, 12,  4,  9, 12,  9,  5, 12,  5,  6, 12,  6, 10, 12, 10,  1, 12,  1,  2, 12,  2, 11, 12, 11,  3, 12,  3,  0 }
02172                                         },
02173                                                 /*  90:    1,    3, 4,    6,     */  {
02174                                                 /* 1,2,6 */  { 12,  3, 11, 12, 11,  6, 12,  6,  7, 12,  7,  8, 12,  8,  4, 12,  4,  5, 12,  5,  9, 12,  9,  0, 12,  0,  1, 12,  1, 10, 12, 10,  2, 12,  2,  3 },
02175                                                 /* 1,4,5 */  {  8,  0, 12,  7,  8, 12,  4,  7, 12,  9,  4, 12,  5,  9, 12,  6,  5, 12, 10,  6, 12,  1, 10, 12,  2,  1, 12, 11,  2, 12,  3, 11, 12,  0,  3, 12 },
02176                                                 /* 2,3,5 */  { 10,  2, 12,  5, 10, 12,  6,  5, 12, 11,  6, 12,  7, 11, 12,  4,  7, 12,  8,  4, 12,  3,  8, 12,  0,  3, 12,  9,  0, 12,  1,  9, 12,  2,  1, 12 },
02177                                                 /* 3,4,6 */  { 12,  1,  9, 12,  9,  4, 12,  4,  5, 12,  5, 10, 12, 10,  6, 12,  6,  7, 12,  7, 11, 12, 11,  2, 12,  2,  3, 12,  3,  8, 12,  8,  0, 12,  0,  1 }
02178                                                 } };
02179                                         return &tiling13_4[config][u][0];
02180                         }; // end of Tiling13_4
02181 
02182 
02183                         //_____________________________________________________________________________
02194                         //-----------------------------------------------------------------------------
02195                         /* 13.5.1 */
02196                         static const char* Tiling13_5_1(unsigned char config, int u)
02197                         {
02198                                 static const char tiling13_5_1[2][4][18] = {
02199                                         /* 165: 0,    2,       5,    7,  */  {
02200                                         /* 1,2,5 */  {  7,  6, 11,  1,  0,  9, 10,  3,  2,  3, 10,  5,  3,  5,  8,  4,  8, 5 },
02201                                         /* 1,4,6 */  {  1,  2, 10,  7,  4,  8,  3,  0, 11,  6, 11,  0,  9,  6,  0,  6,  9, 5 },
02202                                         /* 2,3,6 */  {  3,  0,  8,  5,  6, 10,  1,  2,  9,  4,  9,  2, 11,  4,  2,  4, 11, 7 },
02203                                         /* 3,4,5 */  {  5,  4,  9,  3,  2, 11,  8,  1,  0,  1,  8,  7,  1,  7, 10,  6, 10, 7 }
02204                                         },
02205                                                 /*  90:    1,    3, 4,    6,     */  {
02206                                                 /* 1,2,5 */  {  4,  7,  8,  2,  1, 10, 11,  0,  3,  0, 11,  6,  0,  6,  9,  5,  9, 6 },
02207                                                 /* 1,4,6 */  {  2,  3, 11,  4,  5,  9,  0,  1,  8,  7,  8,  1, 10,  7,  1,  7, 10, 6 },
02208                                                 /* 2,3,6 */  {  0,  1,  9,  6,  7, 11,  2,  3, 10,  5, 10,  3,  8,  5,  3,  5,  8, 4 },
02209                                                 /* 3,4,5 */  {  6,  5, 10,  0,  3,  8,  9,  2,  1,  2,  9,  4,  2,  4, 11,  7, 11, 4 }
02210                                                 } };
02211                                         return &tiling13_5_1[config][u][0];
02212                         }; // end of Tiling13_5_1
02213 
02214                         //_____________________________________________________________________________
02224                         //-----------------------------------------------------------------------------
02225                         /* 13.5.2 */
02226                         static const char* Tiling13_5_2(unsigned char config, int u)
02227                         {
02228                                 static const char tiling13_5_2[2][4][30] = {
02229                                         /* 165: 0,    2,       5,    7,  */  {
02230                                         /* 1,2,5 */  { 1,  0,  9,  7,  4,  8,  7,  8,  3,  7,  3, 11,  2, 11,  3, 11,  2, 10, 11, 10,  6,  5,  6, 10,  6,  5,  7,  4,  7, 5 },
02231                                         /* 1,4,6 */  { 7,  4,  8, 11,  3,  2,  6, 11,  2, 10,  6,  2,  6, 10,  5,  9,  5, 10,  1,  9, 10,  9,  1,  0,  2,  0,  1,  0,  2, 3 },
02232                                         /* 2,3,6 */  { 5,  6, 10,  9,  1,  0,  4,  9,  0,  8,  4,  0,  4,  8,  7, 11,  7,  8,  3, 11,  8, 11,  3,  2,  0,  2,  3,  2,  0, 1 },
02233                                         /* 3,4,5 */  { 3,  2, 11,  5,  6, 10,  5, 10,  1,  5,  1,  9,  0,  9,  1,  9,  0,  8,  9,  8,  4,  4,  8,  7,  4,  7,  5,  6,  5, 7 }
02234                                         },
02235                                                 /*  90:    1,    3, 4,    6,     */  {
02236                                                 /* 1,2,5 */  { 2,  1, 10,  4,  5,  9,  4,  9,  0,  4,  0,  8,  3,  8,  0,  8,  3, 11,  8, 11,  7,  6,  7, 11,  7,  6,  4,  5,  4, 6 },
02237                                                 /* 1,4,6 */  { 4,  5,  9,  8,  0,  3,  7,  8,  3, 11,  7,  3,  7, 11,  6, 10,  6, 11,  2, 10, 11, 10,  2,  1,  3,  1,  2,  1,  3, 0 },
02238                                                 /* 2,3,6 */  { 6,  7, 11, 10,  2,  1,  5, 10,  1,  9,  5,  1,  5,  9,  4,  8,  4,  9,  0,  8,  9,  8,  0,  3,  1,  3,  0,  3,  1, 2 },
02239                                                 /* 3,4,5 */  { 0,  3,  8,  6,  7, 11,  6, 11,  2,  6,  2, 10,  1, 10,  2, 10,  1,  9, 10,  9,  5,  5,  9,  4,  5,  4,  6,  7,  6, 4 }
02240                                                 } };
02241                                         return &tiling13_5_2[config][u][0];
02242                         }; // end of Tiling13_5_2
02243                         //_____________________________________________________________________________
02244 
02245 
02246                         //_____________________________________________________________________________
02256                         //-----------------------------------------------------------------------------
02257                         static const char* Tiling14(unsigned char config)
02258                         {
02259                                 static const char tiling14[12][12] = {
02260                                         /*  71: 0, 1, 2,          6,     */  {  5,  9,  8,  5,  8,  2,  5,  2,  6,  3,  2,  8 },
02261                                         /*  43: 0, 1,    3,    5,        */  {  2,  1,  5,  2,  5,  8,  2,  8, 11,  4,  8,  5 },
02262                                         /* 147: 0, 1,       4,       7,  */  {  9,  4,  6,  9,  6,  3,  9,  3,  1, 11,  3,  6 },
02263                                         /*  29: 0,    2, 3, 4,           */  {  1, 11, 10,  1,  4, 11,  1,  0,  4,  7, 11,  4 },
02264                                         /* 201: 0,       3,       6, 7,  */  {  8,  2,  0,  8,  5,  2,  8,  7,  5, 10,  2,  5 },
02265                                         /* 113: 0,          4, 5, 6,     */  {  0,  7,  3,  0, 10,  7,  0,  9, 10,  6,  7, 10 },
02266                                         /* 142:    1, 2, 3,          7,  */  {  0,  3,  7,  0,  7, 10,  0, 10,  9,  6, 10,  7 },
02267                                         /*  54:    1, 2,    4, 5,        */  {  8,  0,  2,  8,  2,  5,  8,  5,  7, 10,  5,  2 },
02268                                         /* 226:    1,          5, 6, 7,  */  {  1, 10, 11,  1, 11,  4,  1,  4,  0,  7,  4, 11 },
02269                                         /* 108:       2, 3,    5, 6,     */  {  9,  6,  4,  9,  3,  6,  9,  1,  3, 11,  6,  3 },
02270                                         /* 212:       2,    4,    6, 7,  */  {  2,  5,  1,  2,  8,  5,  2, 11,  8,  4,  5,  8 },
02271                                         /* 184:          3, 4, 5,    7,  */  {  5,  8,  9,  5,  2,  8,  5,  6,  2,  3,  8,  2 }
02272                                 };
02273                                 return &tiling14[config][0];
02274                         }; // end of Tiling14
02275                         //_____________________________________________________________________________
02276 
02277 
02278 
02279                         //_____________________________________________________________________________
02289                         //-----------------------------------------------------------------------------
02290             static char CasesClassic(unsigned char u, unsigned char w)
02291                         {
02292                                 static const char casesClassic[256][16] = {
02293                                         /*   0:                          */  { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02294                                         /*   1: 0,                       */  {  0,  8,  3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02295                                         /*   2:    1,                    */  {  0,  1,  9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02296                                         /*   3: 0, 1,                    */  {  1,  8,  3,  9,  8,  1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02297                                         /*   4:       2,                 */  {  1,  2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02298                                         /*   5: 0,    2,                 */  {  0,  8,  3,  1,  2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02299                                         /*   6:    1, 2,                 */  {  9,  2, 10,  0,  2,  9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02300                                         /*   7: 0, 1, 2,                 */  {  2,  8,  3,  2, 10,  8, 10,  9,  8, -1, -1, -1, -1, -1, -1, -1 },
02301                                         /*   8:          3,              */  {  3, 11,  2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02302                                         /*   9: 0,       3,              */  {  0, 11,  2,  8, 11,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02303                                         /*  10:    1,    3,              */  {  1,  9,  0,  2,  3, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02304                                         /*  11: 0, 1,    3,              */  {  1, 11,  2,  1,  9, 11,  9,  8, 11, -1, -1, -1, -1, -1, -1, -1 },
02305                                         /*  12:       2, 3,              */  {  3, 10,  1, 11, 10,  3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02306                                         /*  13: 0,    2, 3,              */  {  0, 10,  1,  0,  8, 10,  8, 11, 10, -1, -1, -1, -1, -1, -1, -1 },
02307                                         /*  14:    1, 2, 3,              */  {  3,  9,  0,  3, 11,  9, 11, 10,  9, -1, -1, -1, -1, -1, -1, -1 },
02308                                         /*  15: 0, 1, 2, 3,              */  {  9,  8, 10, 10,  8, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02309                                         /*  16:             4,           */  {  4,  7,  8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02310                                         /*  17: 0,          4,           */  {  4,  3,  0,  7,  3,  4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02311                                         /*  18:    1,       4,           */  {  0,  1,  9,  8,  4,  7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02312                                         /*  19: 0, 1,       4,           */  {  4,  1,  9,  4,  7,  1,  7,  3,  1, -1, -1, -1, -1, -1, -1, -1 },
02313                                         /*  20:       2,    4,           */  {  1,  2, 10,  8,  4,  7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02314                                         /*  21: 0,    2,    4,           */  {  3,  4,  7,  3,  0,  4,  1,  2, 10, -1, -1, -1, -1, -1, -1, -1 },
02315                                         /*  22:    1, 2,    4,           */  {  9,  2, 10,  9,  0,  2,  8,  4,  7, -1, -1, -1, -1, -1, -1, -1 },
02316                                         /*  23: 0, 1, 2,    4,           */  {  2, 10,  9,  2,  9,  7,  2,  7,  3,  7,  9,  4, -1, -1, -1, -1 },
02317                                         /*  24:          3, 4,           */  {  8,  4,  7,  3, 11,  2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02318                                         /*  25: 0,       3, 4,           */  { 11,  4,  7, 11,  2,  4,  2,  0,  4, -1, -1, -1, -1, -1, -1, -1 },
02319                                         /*  26:    1,    3, 4,           */  {  9,  0,  1,  8,  4,  7,  2,  3, 11, -1, -1, -1, -1, -1, -1, -1 },
02320                                         /*  27: 0, 1,    3, 4,           */  {  4,  7, 11,  9,  4, 11,  9, 11,  2,  9,  2,  1, -1, -1, -1, -1 },
02321                                         /*  28:       2, 3, 4,           */  {  3, 10,  1,  3, 11, 10,  7,  8,  4, -1, -1, -1, -1, -1, -1, -1 },
02322                                         /*  29: 0,    2, 3, 4,           */  {  1, 11, 10,  1,  4, 11,  1,  0,  4,  7, 11,  4, -1, -1, -1, -1 },
02323                                         /*  30:    1, 2, 3, 4,           */  {  4,  7,  8,  9,  0, 11,  9, 11, 10, 11,  0,  3, -1, -1, -1, -1 },
02324                                         /*  31: 0, 1, 2, 3, 4,           */  {  4,  7, 11,  4, 11,  9,  9, 11, 10, -1, -1, -1, -1, -1, -1, -1 },
02325                                         /*  32:                5,        */  {  9,  5,  4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02326                                         /*  33: 0,             5,        */  {  9,  5,  4,  0,  8,  3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02327                                         /*  34:    1,          5,        */  {  0,  5,  4,  1,  5,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02328                                         /*  35: 0, 1,          5,        */  {  8,  5,  4,  8,  3,  5,  3,  1,  5, -1, -1, -1, -1, -1, -1, -1 },
02329                                         /*  36:       2,       5,        */  {  1,  2, 10,  9,  5,  4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02330                                         /*  37: 0,    2,       5,        */  {  3,  0,  8,  1,  2, 10,  4,  9,  5, -1, -1, -1, -1, -1, -1, -1 },
02331                                         /*  38:    1, 2,       5,        */  {  5,  2, 10,  5,  4,  2,  4,  0,  2, -1, -1, -1, -1, -1, -1, -1 },
02332                                         /*  39: 0, 1, 2,       5,        */  {  2, 10,  5,  3,  2,  5,  3,  5,  4,  3,  4,  8, -1, -1, -1, -1 },
02333                                         /*  40:          3,    5,        */  {  9,  5,  4,  2,  3, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02334                                         /*  41: 0,       3,    5,        */  {  0, 11,  2,  0,  8, 11,  4,  9,  5, -1, -1, -1, -1, -1, -1, -1 },
02335                                         /*  42:    1,    3,    5,        */  {  0,  5,  4,  0,  1,  5,  2,  3, 11, -1, -1, -1, -1, -1, -1, -1 },
02336                                         /*  43: 0, 1,    3,    5,        */  {  2,  1,  5,  2,  5,  8,  2,  8, 11,  4,  8,  5, -1, -1, -1, -1 },
02337                                         /*  44:       2, 3,    5,        */  { 10,  3, 11, 10,  1,  3,  9,  5,  4, -1, -1, -1, -1, -1, -1, -1 },
02338                                         /*  45: 0,    2, 3,    5,        */  {  4,  9,  5,  0,  8,  1,  8, 10,  1,  8, 11, 10, -1, -1, -1, -1 },
02339                                         /*  46:    1, 2, 3,    5,        */  {  5,  4,  0,  5,  0, 11,  5, 11, 10, 11,  0,  3, -1, -1, -1, -1 },
02340                                         /*  47: 0, 1, 2, 3,    5,        */  {  5,  4,  8,  5,  8, 10, 10,  8, 11, -1, -1, -1, -1, -1, -1, -1 },
02341                                         /*  48:             4, 5,        */  {  9,  7,  8,  5,  7,  9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02342                                         /*  49: 0,          4, 5,        */  {  9,  3,  0,  9,  5,  3,  5,  7,  3, -1, -1, -1, -1, -1, -1, -1 },
02343                                         /*  50:    1,       4, 5,        */  {  0,  7,  8,  0,  1,  7,  1,  5,  7, -1, -1, -1, -1, -1, -1, -1 },
02344                                         /*  51: 0, 1,       4, 5,        */  {  1,  5,  3,  3,  5,  7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02345                                         /*  52:       2,    4, 5,        */  {  9,  7,  8,  9,  5,  7, 10,  1,  2, -1, -1, -1, -1, -1, -1, -1 },
02346                                         /*  53: 0,    2,    4, 5,        */  { 10,  1,  2,  9,  5,  0,  5,  3,  0,  5,  7,  3, -1, -1, -1, -1 },
02347                                         /*  54:    1, 2,    4, 5,        */  {  8,  0,  2,  8,  2,  5,  8,  5,  7, 10,  5,  2, -1, -1, -1, -1 },
02348                                         /*  55: 0, 1, 2,    4, 5,        */  {  2, 10,  5,  2,  5,  3,  3,  5,  7, -1, -1, -1, -1, -1, -1, -1 },
02349                                         /*  56:          3, 4, 5,        */  {  7,  9,  5,  7,  8,  9,  3, 11,  2, -1, -1, -1, -1, -1, -1, -1 },
02350                                         /*  57: 0,       3, 4, 5,        */  {  9,  5,  7,  9,  7,  2,  9,  2,  0,  2,  7, 11, -1, -1, -1, -1 },
02351                                         /*  58:    1,    3, 4, 5,        */  {  2,  3, 11,  0,  1,  8,  1,  7,  8,  1,  5,  7, -1, -1, -1, -1 },
02352                                         /*  59: 0, 1,    3, 4, 5,        */  { 11,  2,  1, 11,  1,  7,  7,  1,  5, -1, -1, -1, -1, -1, -1, -1 },
02353                                         /*  60:       2, 3, 4, 5,        */  {  9,  5,  8,  8,  5,  7, 10,  1,  3, 10,  3, 11, -1, -1, -1, -1 },
02354                                         /*  61: 0,    2, 3, 4, 5,        */  {  5,  7,  0,  5,  0,  9,  7, 11,  0,  1,  0, 10, 11, 10,  0, -1 },
02355                                         /*  62:    1, 2, 3, 4, 5,        */  { 11, 10,  0, 11,  0,  3, 10,  5,  0,  8,  0,  7,  5,  7,  0, -1 },
02356                                         /*  63: 0, 1, 2, 3, 4, 5,        */  { 11, 10,  5,  7, 11,  5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02357                                         /*  64:                   6,     */  { 10,  6,  5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02358                                         /*  65: 0,                6,     */  {  0,  8,  3,  5, 10,  6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02359                                         /*  66:    1,             6,     */  {  9,  0,  1,  5, 10,  6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02360                                         /*  67: 0, 1,             6,     */  {  1,  8,  3,  1,  9,  8,  5, 10,  6, -1, -1, -1, -1, -1, -1, -1 },
02361                                         /*  68:       2,          6,     */  {  1,  6,  5,  2,  6,  1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02362                                         /*  69: 0,    2,          6,     */  {  1,  6,  5,  1,  2,  6,  3,  0,  8, -1, -1, -1, -1, -1, -1, -1 },
02363                                         /*  70:    1, 2,          6,     */  {  9,  6,  5,  9,  0,  6,  0,  2,  6, -1, -1, -1, -1, -1, -1, -1 },
02364                                         /*  71: 0, 1, 2,          6,     */  {  5,  9,  8,  5,  8,  2,  5,  2,  6,  3,  2,  8, -1, -1, -1, -1 },
02365                                         /*  72:          3,       6,     */  {  2,  3, 11, 10,  6,  5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02366                                         /*  73: 0,       3,       6,     */  { 11,  0,  8, 11,  2,  0, 10,  6,  5, -1, -1, -1, -1, -1, -1, -1 },
02367                                         /*  74:    1,    3,       6,     */  {  0,  1,  9,  2,  3, 11,  5, 10,  6, -1, -1, -1, -1, -1, -1, -1 },
02368                                         /*  75: 0, 1,    3,       6,     */  {  5, 10,  6,  1,  9,  2,  9, 11,  2,  9,  8, 11, -1, -1, -1, -1 },
02369                                         /*  76:       2, 3,       6,     */  {  6,  3, 11,  6,  5,  3,  5,  1,  3, -1, -1, -1, -1, -1, -1, -1 },
02370                                         /*  77: 0,    2, 3,       6,     */  {  0,  8, 11,  0, 11,  5,  0,  5,  1,  5, 11,  6, -1, -1, -1, -1 },
02371                                         /*  78:    1, 2, 3,       6,     */  {  3, 11,  6,  0,  3,  6,  0,  6,  5,  0,  5,  9, -1, -1, -1, -1 },
02372                                         /*  79: 0, 1, 2, 3,       6,     */  {  6,  5,  9,  6,  9, 11, 11,  9,  8, -1, -1, -1, -1, -1, -1, -1 },
02373                                         /*  80:             4,    6,     */  {  5, 10,  6,  4,  7,  8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02374                                         /*  81: 0,          4,    6,     */  {  4,  3,  0,  4,  7,  3,  6,  5, 10, -1, -1, -1, -1, -1, -1, -1 },
02375                                         /*  82:    1,       4,    6,     */  {  1,  9,  0,  5, 10,  6,  8,  4,  7, -1, -1, -1, -1, -1, -1, -1 },
02376                                         /*  83: 0, 1,       4,    6,     */  { 10,  6,  5,  1,  9,  7,  1,  7,  3,  7,  9,  4, -1, -1, -1, -1 },
02377                                         /*  84:       2,    4,    6,     */  {  6,  1,  2,  6,  5,  1,  4,  7,  8, -1, -1, -1, -1, -1, -1, -1 },
02378                                         /*  85: 0,    2,    4,    6,     */  {  1,  2,  5,  5,  2,  6,  3,  0,  4,  3,  4,  7, -1, -1, -1, -1 },
02379                                         /*  86:    1, 2,    4,    6,     */  {  8,  4,  7,  9,  0,  5,  0,  6,  5,  0,  2,  6, -1, -1, -1, -1 },
02380                                         /*  87: 0, 1, 2,    4,    6,     */  {  7,  3,  9,  7,  9,  4,  3,  2,  9,  5,  9,  6,  2,  6,  9, -1 },
02381                                         /*  88:          3, 4,    6,     */  {  3, 11,  2,  7,  8,  4, 10,  6,  5, -1, -1, -1, -1, -1, -1, -1 },
02382                                         /*  89: 0,       3, 4,    6,     */  {  5, 10,  6,  4,  7,  2,  4,  2,  0,  2,  7, 11, -1, -1, -1, -1 },
02383                                         /*  90:    1,    3, 4,    6,     */  {  0,  1,  9,  4,  7,  8,  2,  3, 11,  5, 10,  6, -1, -1, -1, -1 },
02384                                         /*  91: 0, 1,    3, 4,    6,     */  {  9,  2,  1,  9, 11,  2,  9,  4, 11,  7, 11,  4,  5, 10,  6, -1 },
02385                                         /*  92:       2, 3, 4,    6,     */  {  8,  4,  7,  3, 11,  5,  3,  5,  1,  5, 11,  6, -1, -1, -1, -1 },
02386                                         /*  93: 0,    2, 3, 4,    6,     */  {  5,  1, 11,  5, 11,  6,  1,  0, 11,  7, 11,  4,  0,  4, 11, -1 },
02387                                         /*  94:    1, 2, 3, 4,    6,     */  {  0,  5,  9,  0,  6,  5,  0,  3,  6, 11,  6,  3,  8,  4,  7, -1 },
02388                                         /*  95: 0, 1, 2, 3, 4,    6,     */  {  6,  5,  9,  6,  9, 11,  4,  7,  9,  7, 11,  9, -1, -1, -1, -1 },
02389                                         /*  96:                5, 6,     */  { 10,  4,  9,  6,  4, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02390                                         /*  97: 0,             5, 6,     */  {  4, 10,  6,  4,  9, 10,  0,  8,  3, -1, -1, -1, -1, -1, -1, -1 },
02391                                         /*  98:    1,          5, 6,     */  { 10,  0,  1, 10,  6,  0,  6,  4,  0, -1, -1, -1, -1, -1, -1, -1 },
02392                                         /*  99: 0, 1,          5, 6,     */  {  8,  3,  1,  8,  1,  6,  8,  6,  4,  6,  1, 10, -1, -1, -1, -1 },
02393                                         /* 100:       2,       5, 6,     */  {  1,  4,  9,  1,  2,  4,  2,  6,  4, -1, -1, -1, -1, -1, -1, -1 },
02394                                         /* 101: 0,    2,       5, 6,     */  {  3,  0,  8,  1,  2,  9,  2,  4,  9,  2,  6,  4, -1, -1, -1, -1 },
02395                                         /* 102:    1, 2,       5, 6,     */  {  0,  2,  4,  4,  2,  6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02396                                         /* 103: 0, 1, 2,       5, 6,     */  {  8,  3,  2,  8,  2,  4,  4,  2,  6, -1, -1, -1, -1, -1, -1, -1 },
02397                                         /* 104:          3,    5, 6,     */  { 10,  4,  9, 10,  6,  4, 11,  2,  3, -1, -1, -1, -1, -1, -1, -1 },
02398                                         /* 105: 0,       3,    5, 6,     */  {  0,  8,  2,  2,  8, 11,  4,  9, 10,  4, 10,  6, -1, -1, -1, -1 },
02399                                         /* 106:    1,    3,    5, 6,     */  {  3, 11,  2,  0,  1,  6,  0,  6,  4,  6,  1, 10, -1, -1, -1, -1 },
02400                                         /* 107: 0, 1,    3,    5, 6,     */  {  6,  4,  1,  6,  1, 10,  4,  8,  1,  2,  1, 11,  8, 11,  1, -1 },
02401                                         /* 108:       2, 3,    5, 6,     */  {  9,  6,  4,  9,  3,  6,  9,  1,  3, 11,  6,  3, -1, -1, -1, -1 },
02402                                         /* 109: 0,    2, 3,    5, 6,     */  {  8, 11,  1,  8,  1,  0, 11,  6,  1,  9,  1,  4,  6,  4,  1, -1 },
02403                                         /* 110:    1, 2, 3,    5, 6,     */  {  3, 11,  6,  3,  6,  0,  0,  6,  4, -1, -1, -1, -1, -1, -1, -1 },
02404                                         /* 111: 0, 1, 2, 3,    5, 6,     */  {  6,  4,  8, 11,  6,  8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02405                                         /* 112:             4, 5, 6,     */  {  7, 10,  6,  7,  8, 10,  8,  9, 10, -1, -1, -1, -1, -1, -1, -1 },
02406                                         /* 113: 0,          4, 5, 6,     */  {  0,  7,  3,  0, 10,  7,  0,  9, 10,  6,  7, 10, -1, -1, -1, -1 },
02407                                         /* 114:    1,       4, 5, 6,     */  { 10,  6,  7,  1, 10,  7,  1,  7,  8,  1,  8,  0, -1, -1, -1, -1 },
02408                                         /* 115: 0, 1,       4, 5, 6,     */  { 10,  6,  7, 10,  7,  1,  1,  7,  3, -1, -1, -1, -1, -1, -1, -1 },
02409                                         /* 116:       2,    4, 5, 6,     */  {  1,  2,  6,  1,  6,  8,  1,  8,  9,  8,  6,  7, -1, -1, -1, -1 },
02410                                         /* 117: 0,    2,    4, 5, 6,     */  {  2,  6,  9,  2,  9,  1,  6,  7,  9,  0,  9,  3,  7,  3,  9, -1 },
02411                                         /* 118:    1, 2,    4, 5, 6,     */  {  7,  8,  0,  7,  0,  6,  6,  0,  2, -1, -1, -1, -1, -1, -1, -1 },
02412                                         /* 119: 0, 1, 2,    4, 5, 6,     */  {  7,  3,  2,  6,  7,  2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02413                                         /* 120:          3, 4, 5, 6,     */  {  2,  3, 11, 10,  6,  8, 10,  8,  9,  8,  6,  7, -1, -1, -1, -1 },
02414                                         /* 121: 0,       3, 4, 5, 6,     */  {  2,  0,  7,  2,  7, 11,  0,  9,  7,  6,  7, 10,  9, 10,  7, -1 },
02415                                         /* 122:    1,    3, 4, 5, 6,     */  {  1,  8,  0,  1,  7,  8,  1, 10,  7,  6,  7, 10,  2,  3, 11, -1 },
02416                                         /* 123: 0, 1,    3, 4, 5, 6,     */  { 11,  2,  1, 11,  1,  7, 10,  6,  1,  6,  7,  1, -1, -1, -1, -1 },
02417                                         /* 124:       2, 3, 4, 5, 6,     */  {  8,  9,  6,  8,  6,  7,  9,  1,  6, 11,  6,  3,  1,  3,  6, -1 },
02418                                         /* 125: 0,    2, 3, 4, 5, 6,     */  {  0,  9,  1, 11,  6,  7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02419                                         /* 126:    1, 2, 3, 4, 5, 6,     */  {  7,  8,  0,  7,  0,  6,  3, 11,  0, 11,  6,  0, -1, -1, -1, -1 },
02420                                         /* 127: 0, 1, 2, 3, 4, 5, 6,     */  {  7, 11,  6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02421                                         /* 128:                      7,  */  {  7,  6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02422                                         /* 129: 0,                   7,  */  {  3,  0,  8, 11,  7,  6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02423                                         /* 130:    1,                7,  */  {  0,  1,  9, 11,  7,  6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02424                                         /* 131: 0, 1,                7,  */  {  8,  1,  9,  8,  3,  1, 11,  7,  6, -1, -1, -1, -1, -1, -1, -1 },
02425                                         /* 132:       2,             7,  */  { 10,  1,  2,  6, 11,  7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02426                                         /* 133: 0,    2,             7,  */  {  1,  2, 10,  3,  0,  8,  6, 11,  7, -1, -1, -1, -1, -1, -1, -1 },
02427                                         /* 134:    1, 2,             7,  */  {  2,  9,  0,  2, 10,  9,  6, 11,  7, -1, -1, -1, -1, -1, -1, -1 },
02428                                         /* 135: 0, 1, 2,             7,  */  {  6, 11,  7,  2, 10,  3, 10,  8,  3, 10,  9,  8, -1, -1, -1, -1 },
02429                                         /* 136:          3,          7,  */  {  7,  2,  3,  6,  2,  7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02430                                         /* 137: 0,       3,          7,  */  {  7,  0,  8,  7,  6,  0,  6,  2,  0, -1, -1, -1, -1, -1, -1, -1 },
02431                                         /* 138:    1,    3,          7,  */  {  2,  7,  6,  2,  3,  7,  0,  1,  9, -1, -1, -1, -1, -1, -1, -1 },
02432                                         /* 139: 0, 1,    3,          7,  */  {  1,  6,  2,  1,  8,  6,  1,  9,  8,  8,  7,  6, -1, -1, -1, -1 },
02433                                         /* 140:       2, 3,          7,  */  { 10,  7,  6, 10,  1,  7,  1,  3,  7, -1, -1, -1, -1, -1, -1, -1 },
02434                                         /* 141: 0,    2, 3,          7,  */  { 10,  7,  6,  1,  7, 10,  1,  8,  7,  1,  0,  8, -1, -1, -1, -1 },
02435                                         /* 142:    1, 2, 3,          7,  */  {  0,  3,  7,  0,  7, 10,  0, 10,  9,  6, 10,  7, -1, -1, -1, -1 },
02436                                         /* 143: 0, 1, 2, 3,          7,  */  {  7,  6, 10,  7, 10,  8,  8, 10,  9, -1, -1, -1, -1, -1, -1, -1 },
02437                                         /* 144:             4,       7,  */  {  6,  8,  4, 11,  8,  6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02438                                         /* 145: 0,          4,       7,  */  {  3,  6, 11,  3,  0,  6,  0,  4,  6, -1, -1, -1, -1, -1, -1, -1 },
02439                                         /* 146:    1,       4,       7,  */  {  8,  6, 11,  8,  4,  6,  9,  0,  1, -1, -1, -1, -1, -1, -1, -1 },
02440                                         /* 147: 0, 1,       4,       7,  */  {  9,  4,  6,  9,  6,  3,  9,  3,  1, 11,  3,  6, -1, -1, -1, -1 },
02441                                         /* 148:       2,    4,       7,  */  {  6,  8,  4,  6, 11,  8,  2, 10,  1, -1, -1, -1, -1, -1, -1, -1 },
02442                                         /* 149: 0,    2,    4,       7,  */  {  1,  2, 10,  3,  0, 11,  0,  6, 11,  0,  4,  6, -1, -1, -1, -1 },
02443                                         /* 150:    1, 2,    4,       7,  */  {  4, 11,  8,  4,  6, 11,  0,  2,  9,  2, 10,  9, -1, -1, -1, -1 },
02444                                         /* 151: 0, 1, 2,    4,       7,  */  { 10,  9,  3, 10,  3,  2,  9,  4,  3, 11,  3,  6,  4,  6,  3, -1 },
02445                                         /* 152:          3, 4,       7,  */  {  8,  2,  3,  8,  4,  2,  4,  6,  2, -1, -1, -1, -1, -1, -1, -1 },
02446                                         /* 153: 0,       3, 4,       7,  */  {  0,  4,  2,  4,  6,  2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02447                                         /* 154:    1,    3, 4,       7,  */  {  1,  9,  0,  2,  3,  4,  2,  4,  6,  4,  3,  8, -1, -1, -1, -1 },
02448                                         /* 155: 0, 1,    3, 4,       7,  */  {  1,  9,  4,  1,  4,  2,  2,  4,  6, -1, -1, -1, -1, -1, -1, -1 },
02449                                         /* 156:       2, 3, 4,       7,  */  {  8,  1,  3,  8,  6,  1,  8,  4,  6,  6, 10,  1, -1, -1, -1, -1 },
02450                                         /* 157: 0,    2, 3, 4,       7,  */  { 10,  1,  0, 10,  0,  6,  6,  0,  4, -1, -1, -1, -1, -1, -1, -1 },
02451                                         /* 158:    1, 2, 3, 4,       7,  */  {  4,  6,  3,  4,  3,  8,  6, 10,  3,  0,  3,  9, 10,  9,  3, -1 },
02452                                         /* 159: 0, 1, 2, 3, 4,       7,  */  { 10,  9,  4,  6, 10,  4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02453                                         /* 160:                5,    7,  */  {  4,  9,  5,  7,  6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02454                                         /* 161: 0,             5,    7,  */  {  0,  8,  3,  4,  9,  5, 11,  7,  6, -1, -1, -1, -1, -1, -1, -1 },
02455                                         /* 162:    1,          5,    7,  */  {  5,  0,  1,  5,  4,  0,  7,  6, 11, -1, -1, -1, -1, -1, -1, -1 },
02456                                         /* 163: 0, 1,          5,    7,  */  { 11,  7,  6,  8,  3,  4,  3,  5,  4,  3,  1,  5, -1, -1, -1, -1 },
02457                                         /* 164:       2,       5,    7,  */  {  9,  5,  4, 10,  1,  2,  7,  6, 11, -1, -1, -1, -1, -1, -1, -1 },
02458                                         /* 165: 0,    2,       5,    7,  */  {  6, 11,  7,  1,  2, 10,  0,  8,  3,  4,  9,  5, -1, -1, -1, -1 },
02459                                         /* 166:    1, 2,       5,    7,  */  {  7,  6, 11,  5,  4, 10,  4,  2, 10,  4,  0,  2, -1, -1, -1, -1 },
02460                                         /* 167: 0, 1, 2,       5,    7,  */  {  3,  4,  8,  3,  5,  4,  3,  2,  5, 10,  5,  2, 11,  7,  6, -1 },
02461                                         /* 168:          3,    5,    7,  */  {  7,  2,  3,  7,  6,  2,  5,  4,  9, -1, -1, -1, -1, -1, -1, -1 },
02462                                         /* 169: 0,       3,    5,    7,  */  {  9,  5,  4,  0,  8,  6,  0,  6,  2,  6,  8,  7, -1, -1, -1, -1 },
02463                                         /* 170:    1,    3,    5,    7,  */  {  3,  6,  2,  3,  7,  6,  1,  5,  0,  5,  4,  0, -1, -1, -1, -1 },
02464                                         /* 171: 0, 1,    3,    5,    7,  */  {  6,  2,  8,  6,  8,  7,  2,  1,  8,  4,  8,  5,  1,  5,  8, -1 },
02465                                         /* 172:       2, 3,    5,    7,  */  {  9,  5,  4, 10,  1,  6,  1,  7,  6,  1,  3,  7, -1, -1, -1, -1 },
02466                                         /* 173: 0,    2, 3,    5,    7,  */  {  1,  6, 10,  1,  7,  6,  1,  0,  7,  8,  7,  0,  9,  5,  4, -1 },
02467                                         /* 174:    1, 2, 3,    5,    7,  */  {  4,  0, 10,  4, 10,  5,  0,  3, 10,  6, 10,  7,  3,  7, 10, -1 },
02468                                         /* 175: 0, 1, 2, 3,    5,    7,  */  {  7,  6, 10,  7, 10,  8,  5,  4, 10,  4,  8, 10, -1, -1, -1, -1 },
02469                                         /* 176:             4, 5,    7,  */  {  6,  9,  5,  6, 11,  9, 11,  8,  9, -1, -1, -1, -1, -1, -1, -1 },
02470                                         /* 177: 0,          4, 5,    7,  */  {  3,  6, 11,  0,  6,  3,  0,  5,  6,  0,  9,  5, -1, -1, -1, -1 },
02471                                         /* 178:    1,       4, 5,    7,  */  {  0, 11,  8,  0,  5, 11,  0,  1,  5,  5,  6, 11, -1, -1, -1, -1 },
02472                                         /* 179: 0, 1,       4, 5,    7,  */  {  6, 11,  3,  6,  3,  5,  5,  3,  1, -1, -1, -1, -1, -1, -1, -1 },
02473                                         /* 180:       2,    4, 5,    7,  */  {  1,  2, 10,  9,  5, 11,  9, 11,  8, 11,  5,  6, -1, -1, -1, -1 },
02474                                         /* 181: 0,    2,    4, 5,    7,  */  {  0, 11,  3,  0,  6, 11,  0,  9,  6,  5,  6,  9,  1,  2, 10, -1 },
02475                                         /* 182:    1, 2,    4, 5,    7,  */  { 11,  8,  5, 11,  5,  6,  8,  0,  5, 10,  5,  2,  0,  2,  5, -1 },
02476                                         /* 183: 0, 1, 2,    4, 5,    7,  */  {  6, 11,  3,  6,  3,  5,  2, 10,  3, 10,  5,  3, -1, -1, -1, -1 },
02477                                         /* 184:          3, 4, 5,    7,  */  {  5,  8,  9,  5,  2,  8,  5,  6,  2,  3,  8,  2, -1, -1, -1, -1 },
02478                                         /* 185: 0,       3, 4, 5,    7,  */  {  9,  5,  6,  9,  6,  0,  0,  6,  2, -1, -1, -1, -1, -1, -1, -1 },
02479                                         /* 186:    1,    3, 4, 5,    7,  */  {  1,  5,  8,  1,  8,  0,  5,  6,  8,  3,  8,  2,  6,  2,  8, -1 },
02480                                         /* 187: 0, 1,    3, 4, 5,    7,  */  {  1,  5,  6,  2,  1,  6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02481                                         /* 188:       2, 3, 4, 5,    7,  */  {  1,  3,  6,  1,  6, 10,  3,  8,  6,  5,  6,  9,  8,  9,  6, -1 },
02482                                         /* 189: 0,    2, 3, 4, 5,    7,  */  { 10,  1,  0, 10,  0,  6,  9,  5,  0,  5,  6,  0, -1, -1, -1, -1 },
02483                                         /* 190:    1, 2, 3, 4, 5,    7,  */  {  0,  3,  8,  5,  6, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02484                                         /* 191: 0, 1, 2, 3, 4, 5,    7,  */  { 10,  5,  6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02485                                         /* 192:                   6, 7,  */  { 11,  5, 10,  7,  5, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02486                                         /* 193: 0,                6, 7,  */  { 11,  5, 10, 11,  7,  5,  8,  3,  0, -1, -1, -1, -1, -1, -1, -1 },
02487                                         /* 194:    1,             6, 7,  */  {  5, 11,  7,  5, 10, 11,  1,  9,  0, -1, -1, -1, -1, -1, -1, -1 },
02488                                         /* 195: 0, 1,             6, 7,  */  { 10,  7,  5, 10, 11,  7,  9,  8,  1,  8,  3,  1, -1, -1, -1, -1 },
02489                                         /* 196:       2,          6, 7,  */  { 11,  1,  2, 11,  7,  1,  7,  5,  1, -1, -1, -1, -1, -1, -1, -1 },
02490                                         /* 197: 0,    2,          6, 7,  */  {  0,  8,  3,  1,  2,  7,  1,  7,  5,  7,  2, 11, -1, -1, -1, -1 },
02491                                         /* 198:    1, 2,          6, 7,  */  {  9,  7,  5,  9,  2,  7,  9,  0,  2,  2, 11,  7, -1, -1, -1, -1 },
02492                                         /* 199: 0, 1, 2,          6, 7,  */  {  7,  5,  2,  7,  2, 11,  5,  9,  2,  3,  2,  8,  9,  8,  2, -1 },
02493                                         /* 200:          3,       6, 7,  */  {  2,  5, 10,  2,  3,  5,  3,  7,  5, -1, -1, -1, -1, -1, -1, -1 },
02494                                         /* 201: 0,       3,       6, 7,  */  {  8,  2,  0,  8,  5,  2,  8,  7,  5, 10,  2,  5, -1, -1, -1, -1 },
02495                                         /* 202:    1,    3,       6, 7,  */  {  9,  0,  1,  5, 10,  3,  5,  3,  7,  3, 10,  2, -1, -1, -1, -1 },
02496                                         /* 203: 0, 1,    3,       6, 7,  */  {  9,  8,  2,  9,  2,  1,  8,  7,  2, 10,  2,  5,  7,  5,  2, -1 },
02497                                         /* 204:       2, 3,       6, 7,  */  {  1,  3,  5,  3,  7,  5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02498                                         /* 205: 0,    2, 3,       6, 7,  */  {  0,  8,  7,  0,  7,  1,  1,  7,  5, -1, -1, -1, -1, -1, -1, -1 },
02499                                         /* 206:    1, 2, 3,       6, 7,  */  {  9,  0,  3,  9,  3,  5,  5,  3,  7, -1, -1, -1, -1, -1, -1, -1 },
02500                                         /* 207: 0, 1, 2, 3,       6, 7,  */  {  9,  8,  7,  5,  9,  7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02501                                         /* 208:             4,    6, 7,  */  {  5,  8,  4,  5, 10,  8, 10, 11,  8, -1, -1, -1, -1, -1, -1, -1 },
02502                                         /* 209: 0,          4,    6, 7,  */  {  5,  0,  4,  5, 11,  0,  5, 10, 11, 11,  3,  0, -1, -1, -1, -1 },
02503                                         /* 210:    1,       4,    6, 7,  */  {  0,  1,  9,  8,  4, 10,  8, 10, 11, 10,  4,  5, -1, -1, -1, -1 },
02504                                         /* 211: 0, 1,       4,    6, 7,  */  { 10, 11,  4, 10,  4,  5, 11,  3,  4,  9,  4,  1,  3,  1,  4, -1 },
02505                                         /* 212:       2,    4,    6, 7,  */  {  2,  5,  1,  2,  8,  5,  2, 11,  8,  4,  5,  8, -1, -1, -1, -1 },
02506                                         /* 213: 0,    2,    4,    6, 7,  */  {  0,  4, 11,  0, 11,  3,  4,  5, 11,  2, 11,  1,  5,  1, 11, -1 },
02507                                         /* 214:    1, 2,    4,    6, 7,  */  {  0,  2,  5,  0,  5,  9,  2, 11,  5,  4,  5,  8, 11,  8,  5, -1 },
02508                                         /* 215: 0, 1, 2,    4,    6, 7,  */  {  9,  4,  5,  2, 11,  3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02509                                         /* 216:          3, 4,    6, 7,  */  {  2,  5, 10,  3,  5,  2,  3,  4,  5,  3,  8,  4, -1, -1, -1, -1 },
02510                                         /* 217: 0,       3, 4,    6, 7,  */  {  5, 10,  2,  5,  2,  4,  4,  2,  0, -1, -1, -1, -1, -1, -1, -1 },
02511                                         /* 218:    1,    3, 4,    6, 7,  */  {  3, 10,  2,  3,  5, 10,  3,  8,  5,  4,  5,  8,  0,  1,  9, -1 },
02512                                         /* 219: 0, 1,    3, 4,    6, 7,  */  {  5, 10,  2,  5,  2,  4,  1,  9,  2,  9,  4,  2, -1, -1, -1, -1 },
02513                                         /* 220:       2, 3, 4,    6, 7,  */  {  8,  4,  5,  8,  5,  3,  3,  5,  1, -1, -1, -1, -1, -1, -1, -1 },
02514                                         /* 221: 0,    2, 3, 4,    6, 7,  */  {  0,  4,  5,  1,  0,  5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02515                                         /* 222:    1, 2, 3, 4,    6, 7,  */  {  8,  4,  5,  8,  5,  3,  9,  0,  5,  0,  3,  5, -1, -1, -1, -1 },
02516                                         /* 223: 0, 1, 2, 3, 4,    6, 7,  */  {  9,  4,  5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02517                                         /* 224:                5, 6, 7,  */  {  4, 11,  7,  4,  9, 11,  9, 10, 11, -1, -1, -1, -1, -1, -1, -1 },
02518                                         /* 225: 0,             5, 6, 7,  */  {  0,  8,  3,  4,  9,  7,  9, 11,  7,  9, 10, 11, -1, -1, -1, -1 },
02519                                         /* 226:    1,          5, 6, 7,  */  {  1, 10, 11,  1, 11,  4,  1,  4,  0,  7,  4, 11, -1, -1, -1, -1 },
02520                                         /* 227: 0, 1,          5, 6, 7,  */  {  3,  1,  4,  3,  4,  8,  1, 10,  4,  7,  4, 11, 10, 11,  4, -1 },
02521                                         /* 228:       2,       5, 6, 7,  */  {  4, 11,  7,  9, 11,  4,  9,  2, 11,  9,  1,  2, -1, -1, -1, -1 },
02522                                         /* 229: 0,    2,       5, 6, 7,  */  {  9,  7,  4,  9, 11,  7,  9,  1, 11,  2, 11,  1,  0,  8,  3, -1 },
02523                                         /* 230:    1, 2,       5, 6, 7,  */  { 11,  7,  4, 11,  4,  2,  2,  4,  0, -1, -1, -1, -1, -1, -1, -1 },
02524                                         /* 231: 0, 1, 2,       5, 6, 7,  */  { 11,  7,  4, 11,  4,  2,  8,  3,  4,  3,  2,  4, -1, -1, -1, -1 },
02525                                         /* 232:          3,    5, 6, 7,  */  {  2,  9, 10,  2,  7,  9,  2,  3,  7,  7,  4,  9, -1, -1, -1, -1 },
02526                                         /* 233: 0,       3,    5, 6, 7,  */  {  9, 10,  7,  9,  7,  4, 10,  2,  7,  8,  7,  0,  2,  0,  7, -1 },
02527                                         /* 234:    1,    3,    5, 6, 7,  */  {  3,  7, 10,  3, 10,  2,  7,  4, 10,  1, 10,  0,  4,  0, 10, -1 },
02528                                         /* 235: 0, 1,    3,    5, 6, 7,  */  {  1, 10,  2,  8,  7,  4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02529                                         /* 236:       2, 3,    5, 6, 7,  */  {  4,  9,  1,  4,  1,  7,  7,  1,  3, -1, -1, -1, -1, -1, -1, -1 },
02530                                         /* 237: 0,    2, 3,    5, 6, 7,  */  {  4,  9,  1,  4,  1,  7,  0,  8,  1,  8,  7,  1, -1, -1, -1, -1 },
02531                                         /* 238:    1, 2, 3,    5, 6, 7,  */  {  4,  0,  3,  7,  4,  3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02532                                         /* 239: 0, 1, 2, 3,    5, 6, 7,  */  {  4,  8,  7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02533                                         /* 240:             4, 5, 6, 7,  */  {  9, 10,  8, 10, 11,  8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02534                                         /* 241: 0,          4, 5, 6, 7,  */  {  3,  0,  9,  3,  9, 11, 11,  9, 10, -1, -1, -1, -1, -1, -1, -1 },
02535                                         /* 242:    1,       4, 5, 6, 7,  */  {  0,  1, 10,  0, 10,  8,  8, 10, 11, -1, -1, -1, -1, -1, -1, -1 },
02536                                         /* 243: 0, 1,       4, 5, 6, 7,  */  {  3,  1, 10, 11,  3, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02537                                         /* 244:       2,    4, 5, 6, 7,  */  {  1,  2, 11,  1, 11,  9,  9, 11,  8, -1, -1, -1, -1, -1, -1, -1 },
02538                                         /* 245: 0,    2,    4, 5, 6, 7,  */  {  3,  0,  9,  3,  9, 11,  1,  2,  9,  2, 11,  9, -1, -1, -1, -1 },
02539                                         /* 246:    1, 2,    4, 5, 6, 7,  */  {  0,  2, 11,  8,  0, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02540                                         /* 247: 0, 1, 2,    4, 5, 6, 7,  */  {  3,  2, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02541                                         /* 248:          3, 4, 5, 6, 7,  */  {  2,  3,  8,  2,  8, 10, 10,  8,  9, -1, -1, -1, -1, -1, -1, -1 },
02542                                         /* 249: 0,       3, 4, 5, 6, 7,  */  {  9, 10,  2,  0,  9,  2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02543                                         /* 250:    1,    3, 4, 5, 6, 7,  */  {  2,  3,  8,  2,  8, 10,  0,  1,  8,  1, 10,  8, -1, -1, -1, -1 },
02544                                         /* 251: 0, 1,    3, 4, 5, 6, 7,  */  {  1, 10,  2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02545                                         /* 252:       2, 3, 4, 5, 6, 7,  */  {  1,  3,  8,  9,  1,  8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02546                                         /* 253: 0,    2, 3, 4, 5, 6, 7,  */  {  0,  9,  1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02547                                         /* 254:    1, 2, 3, 4, 5, 6, 7,  */  {  0,  3,  8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
02548                                         /* 255: 0, 1, 2, 3, 4, 5, 6, 7,  */  { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }
02549                                 };
02550                                 return casesClassic[u][w];
02551                         }; // end of CasesClassic
02552                         //_____________________________________________________________________________
02553 
02554                 }; // end of class EMCLookUpTable
02555         }; // end of namespace tri
02556 }; //end of namespace vcg
02557 
02558 
02559 
02560 #endif // __VCG_MC_LOOK_UP_TABLE


shape_reconstruction
Author(s): Roberto Martín-Martín
autogenerated on Sat Jun 8 2019 18:33:15