Go to the documentation of this file.00001
00002
00003
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef _CHOMP_HOMOLOGY_CUBACYCL_H_
00037 #define _CHOMP_HOMOLOGY_CUBACYCL_H_
00038
00039 #include "chomp/struct/bitfield.h"
00040
00041 namespace chomp {
00042 namespace homology {
00043
00044
00045
00046
00047
00049 template <class NeighborCheck>
00050 bool acyclic1d (NeighborCheck &n)
00051 {
00052 if (n. check (0)) goto K4; else goto K5;
00053 K4: if (n. check (1)) return false; else return true;
00054 K5: if (n. check (1)) return true; else return false;
00055 }
00056
00057
00058
00059
00060
00061
00063 template <class NeighborCheck>
00064 bool acyclic2d (NeighborCheck &n)
00065 {
00066 if (n. check (0)) goto L659; else goto L20;
00067 L12: return !n. check (5);
00068 L13: return n. check (5);
00069 L14: return !n. check (6);
00070 L16: return !n. check (7);
00071 L17: return n. check (7);
00072 L18: if (n. check (2)) goto L514; else goto L523;
00073 L20: if (n. check (1)) goto L40; else goto L18;
00074 L21: if (n. check (5)) return true; else goto L651;
00075 L23: if (n. check (4)) goto L514; else goto L21;
00076 L24: if (n. check (4)) return false; else goto L514;
00077 L40: if (n. check (2)) goto L513; else goto L637;
00078 L505: if (n. check (6)) return false; else goto L16;
00079 L507: if (n. check (5)) return true; else goto L16;
00080 L508: if (n. check (2)) goto L507; else goto L646;
00081 L513: if (n. check (5)) return true; else goto L14;
00082 L514: if (n. check (5)) return false; else goto L505;
00083 L523: if (n. check (3)) goto L24; else goto L23;
00084 L637: if (n. check (3)) return false; else goto L513;
00085 L646: if (n. check (4)) return false; else goto L507;
00086 L651: if (n. check (6)) goto L16; else goto L17;
00087 L658: if (n. check (2)) goto L12; else goto L13;
00088 L659: if (n. check (1)) goto L658; else goto L508;
00089 }
00090
00091
00092
00093
00094
00095
00101 template <class NeighborCheck>
00102 bool acyclic3d_Malandain (NeighborCheck &n)
00103 {
00104 int statInv = 0;
00105
00106 if (n. check (5)) {goto L143033;} else {goto L120232;}
00107 L143033: if (n. check (0)) {goto L123529;} else {goto L118136;}
00108 L123529: if (n. check (17)) {goto L146041;} else {goto L144920;}
00109 L146041: if (n. check (2)) {goto L124809;} else {goto L145112;}
00110 L124809: if (n. check (1)) {goto L106441;} else {goto L124904;}
00111 L106441: if (n. check (8)) {goto L105737;} else {goto L105736;}
00112 L124904: if (n. check (8)) {goto L105736;} else {goto L106537;}
00113 L106537: if (n. check (10)) {goto L105737;} else {goto L105736;}
00114 L145112: if (n. check (1)) {goto L124648;} else {goto L108505;}
00115 L124648: if (n. check (8)) {goto L105736;} else {goto L106473;}
00116 L106473: if (n. check (11)) {goto L105737;} else {goto L105736;}
00117 L108505: if (n. check (8)) {goto L106281;} else {goto L114329;}
00118 L106281: if (n. check (4)) {goto L105737;} else {goto L105736;}
00119 L114329: if (n. check (4)) {goto L128185;} else {goto L115769;}
00120 L128185: if (n. check (11)) {goto L105737;} else {goto L106537;}
00121 L115769: if (n. check (11)) {goto L106537;} else {goto L144408;}
00122 L144408: if (n. check (10)) {goto L105736;} else {goto L106569;}
00123 L106569: if (n. check (13)) {goto L105737;} else {goto L105736;}
00124 L144920: if (n. check (2)) {goto L109080;} else {goto L116761;}
00125 L109080: if (n. check (1)) {statInv=!statInv;goto L106441;} else {goto L118697;}
00126 L118697: if (n. check (19)) {goto L105737;} else {goto L124904;}
00127 L116761: if (n. check (20)) {goto L117817;} else {goto L127624;}
00128 L117817: if (n. check (1)) {goto L105737;} else {goto L117017;}
00129 L117017: if (n. check (19)) {goto L105737;} else {goto L108505;}
00130 L127624: if (n. check (1)) {goto L124648;} else {goto L114553;}
00131 L114553: if (n. check (19)) {goto L108505;} else {goto L118680;}
00132 L118680: if (n. check (8)) {goto L130584;} else {goto L130041;}
00133 L130584: if (n. check (22)) {statInv=!statInv;goto L106281;} else {goto L105736;}
00134 L130041: if (n. check (22)) {goto L126505;} else {goto L137305;}
00135 L126505: if (n. check (4)) {goto L127657;} else {goto L105737;}
00136 L127657: if (n. check (11)) {goto L106537;} else {statInv=!statInv;goto L106537;}
00137 L137305: if (n. check (4)) {goto L127657;} else {goto L115769;}
00138 L118136: if (n. check (17)) {goto L131608;} else {goto L137497;}
00139 L131608: if (n. check (2)) {goto L115784;} else {goto L108185;}
00140 L115784: if (n. check (1)) {goto L117608;} else {goto L121673;}
00141 L117608: if (n. check (9)) {statInv=!statInv;goto L106441;} else {goto L105736;}
00142 L121673: if (n. check (9)) {goto L105737;} else {goto L134921;}
00143 L134921: if (n. check (8)) {goto L105737;} else {goto L106537;}
00144 L108185: if (n. check (1)) {goto L145497;} else {goto L120857;}
00145 L145497: if (n. check (3)) {goto L146729;} else {goto L118584;}
00146 L146729: if (n. check (9)) {goto L105737;} else {goto L130201;}
00147 L130201: if (n. check (8)) {goto L105737;} else {goto L106473;}
00148 L118584: if (n. check (9)) {goto L124648;} else {goto L120680;}
00149 L120680: if (n. check (8)) {goto L105736;} else {goto L119432;}
00150 L119432: if (n. check (12)) {statInv=!statInv;goto L106473;} else {goto L105736;}
00151 L120857: if (n. check (3)) {goto L129049;} else {goto L115481;}
00152 L129049: if (n. check (9)) {goto L105737;} else {goto L120265;}
00153 L120265: if (n. check (8)) {goto L105737;} else {goto L114329;}
00154 L115481: if (n. check (9)) {goto L108505;} else {goto L126889;}
00155 L126889: if (n. check (8)) {goto L106281;} else {goto L146681;}
00156 L146681: if (n. check (4)) {goto L129465;} else {goto L121080;}
00157 L129465: if (n. check (12)) {goto L109273;} else {goto L106537;}
00158 L109273: if (n. check (11)) {goto L106537;} else {goto L105737;}
00159 L121080: if (n. check (12)) {goto L121864;} else {goto L107128;}
00160 L121864: if (n. check (11)) {statInv=!statInv;goto L106537;} else {goto L105737;}
00161 L107128: if (n. check (11)) {statInv=!statInv;goto L106537;} else {goto L144408;}
00162 L137497: if (n. check (18)) {goto L109625;} else {goto L144984;}
00163 L109625: if (n. check (2)) {goto L116633;} else {goto L116569;}
00164 L116633: if (n. check (1)) {goto L105737;} else {goto L107753;}
00165 L107753: if (n. check (19)) {goto L105737;} else {goto L121673;}
00166 L116569: if (n. check (20)) {goto L137753;} else {goto L126057;}
00167 L137753: if (n. check (1)) {goto L105737;} else {goto L122249;}
00168 L122249: if (n. check (19)) {goto L105737;} else {goto L120857;}
00169 L126057: if (n. check (1)) {goto L145497;} else {goto L119273;}
00170 L119273: if (n. check (19)) {goto L120857;} else {goto L107833;}
00171 L107833: if (n. check (3)) {goto L135929;} else {goto L122824;}
00172 L135929: if (n. check (9)) {goto L105737;} else {goto L107961;}
00173 L107961: if (n. check (8)) {goto L105737;} else {goto L130041;}
00174 L122824: if (n. check (9)) {goto L118680;} else {goto L121448;}
00175 L121448: if (n. check (8)) {goto L130584;} else {goto L124136;}
00176 L124136: if (n. check (22)) {goto L143960;} else {goto L125928;}
00177 L143960: if (n. check (4)) {goto L146936;} else {goto L105737;}
00178 L146936: if (n. check (12)) {goto L121864;} else {statInv=!statInv;goto L106537;}
00179 L125928: if (n. check (4)) {goto L146936;} else {goto L121080;}
00180 L144984: if (n. check (2)) {goto L120456;} else {goto L128441;}
00181 L120456: if (n. check (1)) {goto L117608;} else {goto L117657;}
00182 L117657: if (n. check (19)) {goto L121673;} else {goto L127016;}
00183 L127016: if (n. check (9)) {goto L124904;} else {statInv=!statInv;goto L134921;}
00184 L128441: if (n. check (20)) {goto L121577;} else {goto L114488;}
00185 L121577: if (n. check (1)) {goto L145497;} else {goto L124089;}
00186 L124089: if (n. check (19)) {goto L120857;} else {goto L129337;}
00187 L129337: if (n. check (3)) {goto L130169;} else {goto L135480;}
00188 L130169: if (n. check (9)) {goto L108505;} else {goto L107225;}
00189 L107225: if (n. check (8)) {goto L106281;} else {goto L126025;}
00190 L126025: if (n. check (4)) {goto L123049;} else {goto L121864;}
00191 L123049: if (n. check (11)) {goto L105737;} else {statInv=!statInv;goto L106537;}
00192 L135480: if (n. check (9)) {goto L130904;} else {goto L146968;}
00193 L130904: if (n. check (8)) {statInv=!statInv;goto L106281;} else {goto L126505;}
00194 L146968: if (n. check (8)) {statInv=!statInv;goto L106281;} else {goto L143960;}
00195 L114488: if (n. check (1)) {goto L146616;} else {goto L129881;}
00196 L146616: if (n. check (3)) {goto L134312;} else {goto L136217;}
00197 L134312: if (n. check (9)) {goto L124648;} else {statInv=!statInv;goto L130201;}
00198 L136217: if (n. check (21)) {goto L105737;} else {goto L118584;}
00199 L129881: if (n. check (19)) {goto L133913;} else {goto L125960;}
00200 L133913: if (n. check (3)) {goto L108953;} else {goto L122217;}
00201 L108953: if (n. check (9)) {goto L108505;} else {goto L136281;}
00202 L136281: if (n. check (8)) {goto L106281;} else {goto L143177;}
00203 L143177: if (n. check (4)) {goto L109273;} else {goto L121864;}
00204 L122217: if (n. check (21)) {goto L105737;} else {goto L115481;}
00205 L125960: if (n. check (3)) {goto L134536;} else {goto L134697;}
00206 L134536: if (n. check (9)) {goto L118680;} else {goto L135096;}
00207 L135096: if (n. check (8)) {goto L130584;} else {goto L137704;}
00208 L137704: if (n. check (22)) {goto L143128;} else {goto L121864;}
00209 L143128: if (n. check (4)) {goto L121864;} else {goto L105737;}
00210 L134697: if (n. check (21)) {goto L105737;} else {goto L122824;}
00211 L120232: if (n. check (0)) {goto L126936;} else {goto L126121;}
00212 L126936: if (n. check (17)) {goto L123272;} else {goto L132825;}
00213 L123272: if (n. check (2)) {goto L123848;} else {goto L131161;}
00214 L123848: if (n. check (1)) {goto L114968;} else {goto L119785;}
00215 L114968: if (n. check (14)) {statInv=!statInv;goto L106441;} else {goto L105736;}
00216 L119785: if (n. check (7)) {goto L135721;} else {goto L128600;}
00217 L135721: if (n. check (14)) {goto L105737;} else {goto L134921;}
00218 L128600: if (n. check (14)) {goto L124904;} else {goto L135352;}
00219 L135352: if (n. check (8)) {goto L105736;} else {goto L136472;}
00220 L136472: if (n. check (16)) {statInv=!statInv;goto L106537;} else {goto L105736;}
00221 L131161: if (n. check (1)) {goto L113913;} else {goto L145833;}
00222 L113913: if (n. check (14)) {goto L105737;} else {goto L130201;}
00223 L145833: if (n. check (7)) {goto L132249;} else {goto L142617;}
00224 L132249: if (n. check (14)) {goto L105737;} else {goto L120265;}
00225 L142617: if (n. check (14)) {goto L108505;} else {goto L137769;}
00226 L137769: if (n. check (8)) {goto L106281;} else {goto L125321;}
00227 L125321: if (n. check (4)) {goto L142841;} else {goto L129368;}
00228 L142841: if (n. check (11)) {goto L105737;} else {goto L136472;}
00229 L129368: if (n. check (11)) {goto L136472;} else {goto L106809;}
00230 L106809: if (n. check (16)) {goto L105737;} else {goto L130457;}
00231 L130457: if (n. check (10)) {goto L105737;} else {goto L106569;}
00232 L132825: if (n. check (23)) {goto L136121;} else {goto L123080;}
00233 L136121: if (n. check (2)) {goto L123785;} else {goto L132537;}
00234 L123785: if (n. check (1)) {goto L105737;} else {goto L108697;}
00235 L108697: if (n. check (19)) {goto L105737;} else {goto L119785;}
00236 L132537: if (n. check (20)) {goto L138169;} else {goto L142761;}
00237 L138169: if (n. check (1)) {goto L105737;} else {goto L116793;}
00238 L116793: if (n. check (19)) {goto L105737;} else {goto L145833;}
00239 L142761: if (n. check (1)) {goto L113913;} else {goto L135737;}
00240 L135737: if (n. check (19)) {goto L145833;} else {goto L131481;}
00241 L131481: if (n. check (7)) {goto L123753;} else {goto L107608;}
00242 L123753: if (n. check (14)) {goto L105737;} else {goto L107961;}
00243 L107608: if (n. check (14)) {goto L118680;} else {goto L109400;}
00244 L109400: if (n. check (8)) {goto L130584;} else {goto L128504;}
00245 L128504: if (n. check (22)) {goto L135224;} else {goto L124712;}
00246 L135224: if (n. check (4)) {goto L144696;} else {goto L105737;}
00247 L144696: if (n. check (11)) {goto L136472;} else {goto L105737;}
00248 L124712: if (n. check (4)) {goto L144696;} else {goto L129368;}
00249 L123080: if (n. check (2)) {goto L107192;} else {goto L114137;}
00250 L107192: if (n. check (1)) {goto L114968;} else {goto L130521;}
00251 L130521: if (n. check (19)) {goto L119785;} else {goto L133768;}
00252 L133768: if (n. check (7)) {goto L136760;} else {goto L127209;}
00253 L136760: if (n. check (14)) {goto L124904;} else {statInv=!statInv;goto L134921;}
00254 L127209: if (n. check (25)) {goto L105737;} else {goto L128600;}
00255 L114137: if (n. check (20)) {goto L107801;} else {goto L132280;}
00256 L107801: if (n. check (1)) {goto L113913;} else {goto L143225;}
00257 L143225: if (n. check (19)) {goto L145833;} else {goto L136249;}
00258 L136249: if (n. check (7)) {goto L132345;} else {goto L130361;}
00259 L132345: if (n. check (14)) {goto L108505;} else {goto L107225;}
00260 L130361: if (n. check (25)) {goto L105737;} else {goto L142617;}
00261 L132280: if (n. check (1)) {goto L114008;} else {goto L106649;}
00262 L114008: if (n. check (14)) {goto L124648;} else {statInv=!statInv;goto L130201;}
00263 L106649: if (n. check (19)) {goto L137465;} else {goto L121512;}
00264 L137465: if (n. check (7)) {goto L130329;} else {goto L144904;}
00265 L130329: if (n. check (14)) {goto L108505;} else {goto L136281;}
00266 L144904: if (n. check (14)) {goto L130904;} else {goto L132040;}
00267 L132040: if (n. check (8)) {statInv=!statInv;goto L106281;} else {goto L135224;}
00268 L121512: if (n. check (7)) {goto L134152;} else {goto L117401;}
00269 L134152: if (n. check (14)) {goto L118680;} else {goto L135096;}
00270 L117401: if (n. check (25)) {goto L105737;} else {goto L107608;}
00271 L126121: if (n. check (17)) {goto L123817;} else {goto L145849;}
00272 L123817: if (n. check (6)) {goto L123465;} else {goto L119336;}
00273 L123465: if (n. check (2)) {goto L122809;} else {goto L117305;}
00274 L122809: if (n. check (1)) {goto L118169;} else {goto L107769;}
00275 L118169: if (n. check (9)) {goto L105737;} else {goto L123337;}
00276 L123337: if (n. check (14)) {goto L105737;} else {goto L106441;}
00277 L107769: if (n. check (9)) {goto L105737;} else {goto L125993;}
00278 L125993: if (n. check (7)) {goto L135721;} else {goto L145145;}
00279 L145145: if (n. check (14)) {goto L134921;} else {goto L114105;}
00280 L114105: if (n. check (8)) {goto L105737;} else {goto L136472;}
00281 L117305: if (n. check (1)) {goto L143769;} else {goto L146873;}
00282 L143769: if (n. check (3)) {goto L125865;} else {goto L132665;}
00283 L125865: if (n. check (9)) {goto L105737;} else {goto L113913;}
00284 L132665: if (n. check (9)) {goto L113913;} else {goto L128825;}
00285 L128825: if (n. check (14)) {goto L105737;} else {goto L135865;}
00286 L135865: if (n. check (8)) {goto L105737;} else {goto L119432;}
00287 L146873: if (n. check (3)) {goto L146297;} else {goto L146233;}
00288 L146297: if (n. check (9)) {goto L105737;} else {goto L117241;}
00289 L117241: if (n. check (7)) {goto L132249;} else {goto L106585;}
00290 L106585: if (n. check (14)) {goto L120265;} else {goto L126537;}
00291 L126537: if (n. check (8)) {goto L105737;} else {goto L125321;}
00292 L146233: if (n. check (9)) {goto L145833;} else {goto L125417;}
00293 L125417: if (n. check (7)) {goto L134009;} else {goto L125369;}
00294 L134009: if (n. check (14)) {goto L105737;} else {goto L145977;}
00295 L145977: if (n. check (8)) {goto L105737;} else {goto L146681;}
00296 L125369: if (n. check (14)) {goto L126889;} else {goto L136233;}
00297 L136233: if (n. check (8)) {goto L106281;} else {goto L136440;}
00298 L136440: if (n. check (4)) {goto L136056;} else {goto L108601;}
00299 L136056: if (n. check (12)) {goto L144696;} else {goto L136472;}
00300 L108601: if (n. check (12)) {goto L105737;} else {goto L118617;}
00301 L118617: if (n. check (11)) {goto L105737;} else {goto L106809;}
00302 L119336: if (n. check (2)) {goto L134824;} else {goto L124105;}
00303 L134824: if (n. check (1)) {goto L115992;} else {goto L128377;}
00304 L115992: if (n. check (9)) {goto L114968;} else {goto L146072;}
00305 L146072: if (n. check (15)) {statInv=!statInv;goto L123337;} else {goto L105736;}
00306 L128377: if (n. check (9)) {goto L119785;} else {goto L130729;}
00307 L130729: if (n. check (7)) {goto L122041;} else {goto L108056;}
00308 L122041: if (n. check (15)) {goto L107273;} else {goto L134921;}
00309 L107273: if (n. check (14)) {goto L134921;} else {goto L105737;}
00310 L108056: if (n. check (15)) {goto L134568;} else {goto L134440;}
00311 L134568: if (n. check (14)) {statInv=!statInv;goto L134921;} else {statInv=!statInv;goto L106441;}
00312 L134440: if (n. check (14)) {statInv=!statInv;goto L134921;} else {goto L135352;}
00313 L124105: if (n. check (1)) {goto L136841;} else {goto L108153;}
00314 L136841: if (n. check (3)) {goto L143209;} else {goto L120488;}
00315 L143209: if (n. check (9)) {goto L113913;} else {goto L143161;}
00316 L143161: if (n. check (15)) {goto L123017;} else {goto L130201;}
00317 L123017: if (n. check (14)) {goto L130201;} else {goto L105737;}
00318 L120488: if (n. check (9)) {goto L114008;} else {goto L143832;}
00319 L143832: if (n. check (15)) {goto L123496;} else {goto L120680;}
00320 L123496: if (n. check (14)) {goto L120680;} else {statInv=!statInv;goto L106441;}
00321 L108153: if (n. check (3)) {goto L136825;} else {goto L120873;}
00322 L136825: if (n. check (9)) {goto L145833;} else {goto L121833;}
00323 L121833: if (n. check (7)) {goto L108441;} else {goto L131321;}
00324 L108441: if (n. check (15)) {goto L126729;} else {goto L120265;}
00325 L126729: if (n. check (14)) {goto L120265;} else {goto L105737;}
00326 L131321: if (n. check (15)) {goto L145177;} else {goto L129945;}
00327 L145177: if (n. check (14)) {goto L107225;} else {goto L107065;}
00328 L107065: if (n. check (8)) {goto L106281;} else {goto L105737;}
00329 L129945: if (n. check (14)) {goto L107225;} else {goto L137769;}
00330 L120873: if (n. check (9)) {goto L137465;} else {goto L109305;}
00331 L109305: if (n. check (7)) {goto L121257;} else {goto L135992;}
00332 L121257: if (n. check (15)) {goto L114393;} else {goto L126889;}
00333 L114393: if (n. check (14)) {goto L126889;} else {goto L107065;}
00334 L135992: if (n. check (15)) {goto L108376;} else {goto L146136;}
00335 L108376: if (n. check (14)) {goto L146968;} else {goto L143384;}
00336 L143384: if (n. check (8)) {statInv=!statInv;goto L106281;} else {goto L105737;}
00337 L146136: if (n. check (14)) {goto L146968;} else {goto L106968;}
00338 L106968: if (n. check (8)) {statInv=!statInv;goto L106281;} else {goto L136440;}
00339 L145849: if (n. check (23)) {goto L136025;} else {goto L131385;}
00340 L136025: if (n. check (18)) {goto L128953;} else {goto L144505;}
00341 L128953: if (n. check (6)) {goto L136921;} else {goto L115561;}
00342 L136921: if (n. check (2)) {goto L115705;} else {goto L124425;}
00343 L115705: if (n. check (1)) {goto L105737;} else {goto L116729;}
00344 L116729: if (n. check (19)) {goto L105737;} else {goto L107769;}
00345 L124425: if (n. check (20)) {goto L114617;} else {goto L133241;}
00346 L114617: if (n. check (1)) {goto L105737;} else {goto L116825;}
00347 L116825: if (n. check (19)) {goto L105737;} else {goto L146873;}
00348 L133241: if (n. check (1)) {goto L143769;} else {goto L123241;}
00349 L123241: if (n. check (19)) {goto L146873;} else {goto L125481;}
00350 L125481: if (n. check (3)) {goto L137737;} else {goto L123433;}
00351 L137737: if (n. check (9)) {goto L105737;} else {goto L108409;}
00352 L108409: if (n. check (7)) {goto L123753;} else {goto L135769;}
00353 L135769: if (n. check (14)) {goto L107961;} else {goto L134025;}
00354 L134025: if (n. check (8)) {goto L105737;} else {goto L128504;}
00355 L123433: if (n. check (9)) {goto L131481;} else {goto L114905;}
00356 L114905: if (n. check (7)) {goto L131865;} else {goto L108632;}
00357 L131865: if (n. check (14)) {goto L105737;} else {goto L129849;}
00358 L129849: if (n. check (8)) {goto L105737;} else {goto L124136;}
00359 L108632: if (n. check (14)) {goto L121448;} else {goto L109112;}
00360 L109112: if (n. check (8)) {goto L130584;} else {goto L116281;}
00361 L116281: if (n. check (22)) {goto L105737;} else {goto L135193;}
00362 L135193: if (n. check (4)) {goto L105737;} else {goto L108601;}
00363 L115561: if (n. check (2)) {goto L127913;} else {goto L134873;}
00364 L127913: if (n. check (1)) {goto L105737;} else {goto L145689;}
00365 L145689: if (n. check (19)) {goto L105737;} else {goto L128377;}
00366 L134873: if (n. check (20)) {goto L115353;} else {goto L116217;}
00367 L115353: if (n. check (1)) {goto L105737;} else {goto L131193;}
00368 L131193: if (n. check (19)) {goto L105737;} else {goto L108153;}
00369 L116217: if (n. check (1)) {goto L136841;} else {goto L137209;}
00370 L137209: if (n. check (19)) {goto L108153;} else {goto L107865;}
00371 L107865: if (n. check (3)) {goto L142969;} else {goto L124232;}
00372 L142969: if (n. check (9)) {goto L131481;} else {goto L129193;}
00373 L129193: if (n. check (7)) {goto L146201;} else {goto L106616;}
00374 L146201: if (n. check (15)) {goto L132297;} else {goto L107961;}
00375 L132297: if (n. check (14)) {goto L107961;} else {goto L105737;}
00376 L106616: if (n. check (15)) {goto L134280;} else {goto L121336;}
00377 L134280: if (n. check (14)) {goto L135096;} else {goto L124616;}
00378 L124616: if (n. check (8)) {goto L130584;} else {goto L105737;}
00379 L121336: if (n. check (14)) {goto L135096;} else {goto L109400;}
00380 L124232: if (n. check (9)) {goto L143576;} else {goto L145816;}
00381 L143576: if (n. check (7)) {goto L134152;} else {goto L105737;}
00382 L145816: if (n. check (7)) {goto L145656;} else {goto L145577;}
00383 L145656: if (n. check (15)) {goto L134408;} else {goto L121448;}
00384 L134408: if (n. check (14)) {goto L121448;} else {goto L124616;}
00385 L145577: if (n. check (15)) {goto L105737;} else {goto L122153;}
00386 L122153: if (n. check (14)) {goto L105737;} else {goto L119721;}
00387 L119721: if (n. check (8)) {goto L105737;} else {goto L116281;}
00388 L144505: if (n. check (6)) {goto L127689;} else {goto L117912;}
00389 L127689: if (n. check (2)) {goto L129081;} else {goto L142873;}
00390 L129081: if (n. check (1)) {goto L118169;} else {goto L120937;}
00391 L120937: if (n. check (19)) {goto L107769;} else {goto L122745;}
00392 L122745: if (n. check (9)) {goto L119785;} else {goto L108665;}
00393 L108665: if (n. check (7)) {goto L131129;} else {goto L134568;}
00394 L131129: if (n. check (14)) {goto L105737;} else {statInv=!statInv;goto L124904;}
00395 L142873: if (n. check (20)) {goto L125065;} else {goto L137977;}
00396 L125065: if (n. check (1)) {goto L143769;} else {goto L106873;}
00397 L106873: if (n. check (19)) {goto L146873;} else {goto L122889;}
00398 L122889: if (n. check (3)) {goto L120137;} else {goto L116921;}
00399 L120137: if (n. check (9)) {goto L145833;} else {goto L120121;}
00400 L120121: if (n. check (7)) {goto L128009;} else {goto L145177;}
00401 L128009: if (n. check (14)) {goto L105737;} else {goto L114057;}
00402 L114057: if (n. check (8)) {goto L105737;} else {goto L126025;}
00403 L116921: if (n. check (9)) {goto L136537;} else {goto L109465;}
00404 L136537: if (n. check (7)) {goto L121129;} else {goto L144904;}
00405 L121129: if (n. check (14)) {goto L105737;} else {goto L127305;}
00406 L127305: if (n. check (8)) {goto L105737;} else {goto L126505;}
00407 L109465: if (n. check (7)) {goto L126089;} else {goto L108376;}
00408 L126089: if (n. check (14)) {goto L105737;} else {goto L128137;}
00409 L128137: if (n. check (8)) {goto L105737;} else {goto L143960;}
00410 L137977: if (n. check (1)) {goto L137369;} else {goto L131033;}
00411 L137369: if (n. check (3)) {goto L121961;} else {goto L120809;}
00412 L121961: if (n. check (9)) {goto L113913;} else {goto L108281;}
00413 L108281: if (n. check (14)) {goto L105737;} else {statInv=!statInv;goto L124648;}
00414 L120809: if (n. check (21)) {goto L105737;} else {goto L132665;}
00415 L131033: if (n. check (19)) {goto L115257;} else {goto L131833;}
00416 L115257: if (n. check (3)) {goto L143801;} else {goto L117273;}
00417 L143801: if (n. check (9)) {goto L145833;} else {goto L118777;}
00418 L118777: if (n. check (7)) {goto L144089;} else {goto L144841;}
00419 L144089: if (n. check (14)) {goto L105737;} else {goto L121353;}
00420 L121353: if (n. check (8)) {goto L105737;} else {goto L143177;}
00421 L144841: if (n. check (14)) {goto L136281;} else {goto L135801;}
00422 L135801: if (n. check (8)) {goto L106281;} else {goto L135224;}
00423 L117273: if (n. check (21)) {goto L105737;} else {goto L146233;}
00424 L131833: if (n. check (3)) {goto L122505;} else {goto L119593;}
00425 L122505: if (n. check (9)) {goto L131481;} else {goto L123721;}
00426 L123721: if (n. check (7)) {goto L133721;} else {goto L134280;}
00427 L133721: if (n. check (14)) {goto L105737;} else {goto L133561;}
00428 L133561: if (n. check (8)) {goto L105737;} else {goto L137704;}
00429 L119593: if (n. check (21)) {goto L105737;} else {goto L123433;}
00430 L117912: if (n. check (2)) {goto L137048;} else {goto L136601;}
00431 L137048: if (n. check (1)) {goto L115992;} else {goto L119881;}
00432 L119881: if (n. check (19)) {goto L128377;} else {goto L137912;}
00433 L137912: if (n. check (9)) {goto L119944;} else {goto L127336;}
00434 L119944: if (n. check (7)) {goto L136760;} else {goto L105737;}
00435 L127336: if (n. check (7)) {goto L115576;} else {goto L105737;}
00436 L115576: if (n. check (15)) {goto L134568;} else {statInv=!statInv;goto L134921;}
00437 L136601: if (n. check (20)) {goto L128025;} else {goto L129304;}
00438 L128025: if (n. check (1)) {goto L136841;} else {goto L120985;}
00439 L120985: if (n. check (19)) {goto L108153;} else {goto L120041;}
00440 L120041: if (n. check (3)) {goto L118553;} else {goto L120712;}
00441 L118553: if (n. check (9)) {goto L118905;} else {goto L119177;}
00442 L118905: if (n. check (7)) {goto L132345;} else {goto L105737;}
00443 L119177: if (n. check (7)) {goto L126249;} else {goto L105737;}
00444 L126249: if (n. check (15)) {goto L145177;} else {goto L107225;}
00445 L120712: if (n. check (9)) {goto L124200;} else {goto L127848;}
00446 L124200: if (n. check (7)) {goto L107672;} else {goto L105737;}
00447 L107672: if (n. check (14)) {goto L130904;} else {goto L144024;}
00448 L144024: if (n. check (8)) {statInv=!statInv;goto L106281;} else {goto L143128;}
00449 L127848: if (n. check (7)) {goto L146920;} else {goto L105737;}
00450 L146920: if (n. check (15)) {goto L108376;} else {goto L146968;}
00451 L129304: if (n. check (1)) {goto L125560;} else {goto L132601;}
00452 L125560: if (n. check (3)) {goto L125576;} else {goto L121769;}
00453 L125576: if (n. check (9)) {goto L114008;} else {goto L124008;}
00454 L124008: if (n. check (15)) {goto L115496;} else {statInv=!statInv;goto L130201;}
00455 L115496: if (n. check (14)) {statInv=!statInv;goto L130201;} else {statInv=!statInv;goto L106441;}
00456 L121769: if (n. check (21)) {goto L105737;} else {goto L120488;}
00457 L132601: if (n. check (19)) {goto L106681;} else {goto L133080;}
00458 L106681: if (n. check (3)) {goto L144729;} else {goto L109209;}
00459 L144729: if (n. check (9)) {goto L137465;} else {goto L108985;}
00460 L108985: if (n. check (7)) {goto L123113;} else {goto L144568;}
00461 L123113: if (n. check (15)) {goto L133785;} else {goto L136281;}
00462 L133785: if (n. check (14)) {goto L136281;} else {goto L107065;}
00463 L144568: if (n. check (15)) {goto L137272;} else {goto L138440;}
00464 L137272: if (n. check (14)) {goto L144024;} else {goto L143384;}
00465 L138440: if (n. check (14)) {goto L144024;} else {goto L132040;}
00466 L109209: if (n. check (21)) {goto L105737;} else {goto L120873;}
00467 L133080: if (n. check (3)) {goto L114632;} else {goto L126409;}
00468 L114632: if (n. check (9)) {goto L143576;} else {goto L143896;}
00469 L143896: if (n. check (7)) {goto L131112;} else {goto L105737;}
00470 L131112: if (n. check (15)) {goto L134280;} else {goto L135096;}
00471 L126409: if (n. check (21)) {goto L105737;} else {goto L124232;}
00472 L131385: if (n. check (18)) {goto L128985;} else {goto L132920;}
00473 L128985: if (n. check (6)) {goto L115833;} else {goto L143816;}
00474 L115833: if (n. check (2)) {goto L120841;} else {goto L138329;}
00475 L120841: if (n. check (1)) {goto L118169;} else {goto L143481;}
00476 L143481: if (n. check (19)) {goto L107769;} else {goto L121801;}
00477 L121801: if (n. check (9)) {goto L105737;} else {goto L118809;}
00478 L118809: if (n. check (7)) {goto L121609;} else {goto L116665;}
00479 L121609: if (n. check (14)) {goto L134921;} else {statInv=!statInv;goto L124904;}
00480 L116665: if (n. check (25)) {goto L105737;} else {goto L145145;}
00481 L138329: if (n. check (20)) {goto L125225;} else {goto L124553;}
00482 L125225: if (n. check (1)) {goto L143769;} else {goto L117721;}
00483 L117721: if (n. check (19)) {goto L146873;} else {goto L127081;}
00484 L127081: if (n. check (3)) {goto L120905;} else {goto L130009;}
00485 L120905: if (n. check (9)) {goto L105737;} else {goto L126265;}
00486 L126265: if (n. check (7)) {goto L136137;} else {goto L107321;}
00487 L136137: if (n. check (14)) {goto L120265;} else {goto L114057;}
00488 L107321: if (n. check (25)) {goto L105737;} else {goto L106585;}
00489 L130009: if (n. check (9)) {goto L136249;} else {goto L124745;}
00490 L124745: if (n. check (7)) {goto L115609;} else {goto L115385;}
00491 L115609: if (n. check (14)) {goto L126889;} else {goto L109561;}
00492 L109561: if (n. check (8)) {goto L106281;} else {goto L143960;}
00493 L115385: if (n. check (25)) {goto L105737;} else {goto L125369;}
00494 L124553: if (n. check (1)) {goto L143417;} else {goto L129209;}
00495 L143417: if (n. check (3)) {goto L138297;} else {goto L130712;}
00496 L138297: if (n. check (9)) {goto L105737;} else {goto L126857;}
00497 L126857: if (n. check (14)) {goto L130201;} else {statInv=!statInv;goto L124648;}
00498 L130712: if (n. check (9)) {goto L114008;} else {goto L123496;}
00499 L129209: if (n. check (19)) {goto L144537;} else {goto L132217;}
00500 L144537: if (n. check (3)) {goto L117785;} else {goto L137625;}
00501 L117785: if (n. check (9)) {goto L105737;} else {goto L108521;}
00502 L108521: if (n. check (7)) {goto L125513;} else {goto L119001;}
00503 L125513: if (n. check (14)) {goto L120265;} else {goto L121353;}
00504 L119001: if (n. check (14)) {goto L127305;} else {goto L119737;}
00505 L119737: if (n. check (8)) {goto L105737;} else {goto L135224;}
00506 L137625: if (n. check (9)) {goto L137465;} else {goto L143353;}
00507 L143353: if (n. check (7)) {goto L114393;} else {goto L108376;}
00508 L132217: if (n. check (3)) {goto L137113;} else {goto L145208;}
00509 L137113: if (n. check (9)) {goto L105737;} else {goto L119849;}
00510 L119849: if (n. check (7)) {goto L132761;} else {goto L138025;}
00511 L132761: if (n. check (14)) {goto L107961;} else {goto L133561;}
00512 L138025: if (n. check (25)) {goto L105737;} else {goto L135769;}
00513 L145208: if (n. check (9)) {goto L121512;} else {goto L138040;}
00514 L138040: if (n. check (7)) {goto L134408;} else {goto L133017;}
00515 L133017: if (n. check (25)) {goto L105737;} else {goto L108632;}
00516 L143816: if (n. check (2)) {goto L137176;} else {goto L127721;}
00517 L137176: if (n. check (1)) {goto L115992;} else {goto L146009;}
00518 L146009: if (n. check (19)) {goto L128377;} else {goto L130120;}
00519 L130120: if (n. check (9)) {goto L133768;} else {goto L120296;}
00520 L120296: if (n. check (7)) {goto L115576;} else {goto L126153;}
00521 L126153: if (n. check (25)) {goto L105737;} else {goto L108056;}
00522 L127721: if (n. check (20)) {goto L125161;} else {goto L118664;}
00523 L125161: if (n. check (1)) {goto L136841;} else {goto L144249;}
00524 L144249: if (n. check (19)) {goto L108153;} else {goto L126713;}
00525 L126713: if (n. check (3)) {goto L123305;} else {goto L143192;}
00526 L123305: if (n. check (9)) {goto L136249;} else {goto L137657;}
00527 L137657: if (n. check (7)) {goto L126249;} else {goto L146377;}
00528 L146377: if (n. check (25)) {goto L105737;} else {goto L131321;}
00529 L143192: if (n. check (9)) {goto L116184;} else {goto L125128;}
00530 L116184: if (n. check (7)) {goto L107672;} else {goto L137433;}
00531 L137433: if (n. check (25)) {goto L105737;} else {goto L144904;}
00532 L125128: if (n. check (7)) {goto L146920;} else {goto L134137;}
00533 L134137: if (n. check (25)) {goto L105737;} else {goto L135992;}
00534 L118664: if (n. check (1)) {goto L109432;} else {goto L109033;}
00535 L109432: if (n. check (3)) {goto L125576;} else {goto L105737;}
00536 L109033: if (n. check (19)) {goto L134217;} else {goto L122120;}
00537 L134217: if (n. check (3)) {goto L144729;} else {goto L105737;}
00538 L122120: if (n. check (3)) {goto L115672;} else {goto L145433;}
00539 L115672: if (n. check (9)) {goto L121512;} else {goto L136664;}
00540 L136664: if (n. check (7)) {goto L131112;} else {goto L143321;}
00541 L143321: if (n. check (25)) {goto L105737;} else {goto L106616;}
00542 L145433: if (n. check (9)) {goto L105737;} else {goto L114873;}
00543 L114873: if (n. check (7)) {goto L105737;} else {goto L126377;}
00544 L126377: if (n. check (25)) {goto L105737;} else {goto L145577;}
00545 L132920: if (n. check (6)) {goto L118488;} else {goto L115001;}
00546 L118488: if (n. check (2)) {goto L133976;} else {goto L118537;}
00547 L133976: if (n. check (1)) {goto L107704;} else {goto L115161;}
00548 L107704: if (n. check (9)) {goto L114968;} else {statInv=!statInv;goto L123337;}
00549 L115161: if (n. check (19)) {goto L108489;} else {goto L131416;}
00550 L108489: if (n. check (9)) {goto L119785;} else {goto L123209;}
00551 L123209: if (n. check (7)) {goto L107273;} else {goto L134568;}
00552 L131416: if (n. check (9)) {goto L133768;} else {goto L130024;}
00553 L130024: if (n. check (7)) {goto L134568;} else {goto L125721;}
00554 L125721: if (n. check (25)) {goto L105737;} else {goto L134568;}
00555 L118537: if (n. check (20)) {goto L125833;} else {goto L117368;}
00556 L125833: if (n. check (1)) {goto L118521;} else {goto L106745;}
00557 L118521: if (n. check (3)) {goto L143305;} else {goto L130712;}
00558 L143305: if (n. check (9)) {goto L113913;} else {goto L123017;}
00559 L106745: if (n. check (19)) {goto L109593;} else {goto L135257;}
00560 L109593: if (n. check (3)) {goto L132089;} else {goto L137625;}
00561 L132089: if (n. check (9)) {goto L145833;} else {goto L129113;}
00562 L129113: if (n. check (7)) {goto L126729;} else {goto L145177;}
00563 L135257: if (n. check (3)) {goto L145561;} else {goto L127976;}
00564 L145561: if (n. check (9)) {goto L136249;} else {goto L114361;}
00565 L114361: if (n. check (7)) {goto L145177;} else {goto L119113;}
00566 L119113: if (n. check (25)) {goto L105737;} else {goto L145177;}
00567 L127976: if (n. check (9)) {goto L116184;} else {goto L127112;}
00568 L127112: if (n. check (7)) {goto L108376;} else {goto L108313;}
00569 L108313: if (n. check (25)) {goto L105737;} else {goto L108376;}
00570 L117368: if (n. check (1)) {goto L119528;} else {goto L107289;}
00571 L119528: if (n. check (3)) {goto L118232;} else {goto L106841;}
00572 L118232: if (n. check (9)) {goto L114008;} else {goto L115496;}
00573 L106841: if (n. check (21)) {goto L105737;} else {goto L130712;}
00574 L107289: if (n. check (19)) {goto L133817;} else {goto L118200;}
00575 L133817: if (n. check (3)) {goto L136089;} else {goto L130617;}
00576 L136089: if (n. check (9)) {goto L137465;} else {goto L134121;}
00577 L134121: if (n. check (7)) {goto L133785;} else {goto L137272;}
00578 L130617: if (n. check (21)) {goto L105737;} else {goto L137625;}
00579 L118200: if (n. check (3)) {goto L145880;} else {goto L114201;}
00580 L145880: if (n. check (9)) {goto L121512;} else {goto L108856;}
00581 L108856: if (n. check (7)) {goto L134280;} else {goto L127593;}
00582 L127593: if (n. check (25)) {goto L105737;} else {goto L134280;}
00583 L114201: if (n. check (21)) {goto L105737;} else {goto L145208;}
00584 L115001: if (n. check (24)) {goto L121929;} else {goto L107640;}
00585 L121929: if (n. check (2)) {goto L105737;} else {goto L123593;}
00586 L123593: if (n. check (20)) {goto L105737;} else {goto L144281;}
00587 L144281: if (n. check (1)) {goto L105737;} else {goto L122473;}
00588 L122473: if (n. check (19)) {goto L105737;} else {goto L143545;}
00589 L143545: if (n. check (3)) {goto L105737;} else {goto L126793;}
00590 L126793: if (n. check (21)) {goto L105737;} else {goto L145433;}
00591 L107640: if (n. check (2)) {goto L137176;} else {goto L132857;}
00592 L132857: if (n. check (20)) {goto L125161;} else {goto L143912;}
00593 L143912: if (n. check (1)) {goto L125560;} else {goto L134601;}
00594 L134601: if (n. check (19)) {goto L106681;} else {goto L125608;}
00595 L125608: if (n. check (3)) {goto L115672;} else {goto L135609;}
00596 L135609: if (n. check (21)) {goto L145433;} else {goto L109016;}
00597 L109016: if (n. check (9)) {goto L121512;} else {goto L143000;}
00598 L143000: if (n. check (7)) {goto L145656;} else {goto L132889;}
00599 L132889: if (n. check (25)) {goto L145577;} else {goto L143928;}
00600 L143928: if (n. check (15)) {goto L108632;} else {goto L135672;}
00601 L135672: if (n. check (14)) {goto L121448;} else {goto L118008;}
00602 L118008: if (n. check (8)) {goto L130584;} else {goto L128344;}
00603 L128344: if (n. check (22)) {goto L136440;} else {goto L115448;}
00604 L115448: if (n. check (4)) {goto L136056;} else {goto L122056;}
00605 L122056: if (n. check (12)) {goto L129368;} else {goto L129688;}
00606 L129688: if (n. check (11)) {goto L136472;} else {goto L136376;}
00607 L136376: if (n. check (16)) {goto L144408;} else {statInv=!statInv;goto L130457;}
00608 L105736: return !statInv;
00609 L105737: return statInv;
00610 }
00611
00613 template <class NeighborCheck>
00614 bool acyclic3d (NeighborCheck &n)
00615 {
00616 if (n. check (0)) goto K1043; else goto K978;
00617 K14: return !n. check (6);
00618 K15: return n. check (6);
00619 K36: return !n. check (17);
00620 K37: return n. check (17);
00621 K38: return !n. check (18);
00622 K39: return n. check (18);
00623 K48: return !n. check (23);
00624 K49: return n. check (23);
00625 K50: return !n. check (24);
00626 K52: return !n. check (25);
00627 K53: return n. check (25);
00628 K54: if (n. check (17)) goto K2585; else goto K154;
00629 K56: if (n. check (20)) return false; else goto K2302;
00630 K57: if (n. check (7)) goto K1863; else goto K939;
00631 K59: if (n. check (20)) goto K2302; else goto K2088;
00632 K63: if (n. check (17)) goto K15; else goto K2377;
00633 K64: if (n. check (4)) goto K1575; else goto K1541;
00634 K65: if (n. check (1)) goto K504; else goto K1046;
00635 K67: if (n. check (4)) goto K1402; else goto K793;
00636 K68: if (n. check (16)) return false; else goto K174;
00637 K69: if (n. check (18)) goto K49; else goto K1636;
00638 K76: if (n. check (19)) return false; else goto K1900;
00639 K78: if (n. check (19)) goto K690; else goto K1873;
00640 K79: if (n. check (20)) goto K57; else goto K1797;
00641 K80: if (n. check (20)) goto K2317; else goto K237;
00642 K82: if (n. check (19)) goto K1559; else goto K1414;
00643 K85: if (n. check (20)) goto K2317; else goto K464;
00644 K90: if (n. check (4)) goto K862; else goto K1928;
00645 K92: if (n. check (4)) goto K59; else goto K2119;
00646 K93: if (n. check (7)) goto K1863; else return false;
00647 K97: if (n. check (5)) goto K361; else goto K244;
00648 K98: if (n. check (1)) return false; else goto K1299;
00649 K101: if (n. check (13)) return false; else goto K184;
00650 K102: if (n. check (1)) goto K2536; else goto K2453;
00651 K105: if (n. check (20)) goto K248; else goto K712;
00652 K106: if (n. check (1)) goto K1410; else goto K139;
00653 K112: if (n. check (5)) goto K359; else goto K121;
00654 K115: if (n. check (4)) goto K307; else goto K101;
00655 K117: if (n. check (14)) goto K2247; else goto K580;
00656 K118: if (n. check (4)) goto K826; else goto K2473;
00657 K119: if (n. check (13)) return false; else goto K2174;
00658 K121: if (n. check (8)) goto K106; else goto K226;
00659 K123: if (n. check (4)) goto K1814; else goto K1442;
00660 K124: if (n. check (10)) goto K1086; else goto K1683;
00661 K125: if (n. check (14)) goto K355; else goto K1816;
00662 K127: if (n. check (1)) return false; else goto K1000;
00663 K131: if (n. check (17)) return false; else goto K200;
00664 K134: if (n. check (19)) return false; else goto K1862;
00665 K137: if (n. check (11)) goto K177; else goto K167;
00666 K139: if (n. check (4)) goto K891; else goto K1234;
00667 K143: if (n. check (13)) return false; else goto K2460;
00668 K154: if (n. check (15)) return false; else goto K342;
00669 K155: if (n. check (14)) goto K1410; else goto K1549;
00670 K156: if (n. check (1)) return false; else goto K2181;
00671 K158: if (n. check (4)) goto K1610; else goto K1250;
00672 K163: if (n. check (16)) return false; else goto K2112;
00673 K164: if (n. check (17)) goto K2585; else return false;
00674 K165: if (n. check (10)) return false; else goto K1607;
00675 K166: if (n. check (20)) goto K2422; else goto K2417;
00676 K167: if (n. check (1)) goto K504; else goto K977;
00677 K172: if (n. check (7)) goto K988; else goto K559;
00678 K174: if (n. check (19)) goto K1950; else goto K465;
00679 K175: if (n. check (19)) goto K1948; else goto K164;
00680 K177: if (n. check (1)) return false; else goto K2279;
00681 K181: if (n. check (14)) goto K533; else goto K118;
00682 K182: if (n. check (19)) return false; else goto K2368;
00683 K184: if (n. check (20)) goto K1607; else goto K2423;
00684 K185: if (n. check (20)) return false; else goto K1614;
00685 K192: if (n. check (20)) goto K2410; else goto K2063;
00686 K195: if (n. check (7)) goto K1153; else goto K268;
00687 K198: if (n. check (23)) return true; else goto K52;
00688 K199: if (n. check (1)) goto K117; else goto K1399;
00689 K200: if (n. check (15)) goto K2377; else goto K1992;
00690 K202: if (n. check (7)) goto K273; else goto K1332;
00691 K203: if (n. check (19)) return true; else goto K37;
00692 K204: if (n. check (16)) return false; else goto K1794;
00693 K205: if (n. check (13)) return false; else goto K1442;
00694 K215: if (n. check (19)) goto K545; else goto K37;
00695 K219: if (n. check (7)) goto K182; else goto K2264;
00696 K222: if (n. check (1)) goto K728; else goto K1954;
00697 K224: if (n. check (7)) goto K1226; else goto K261;
00698 K225: if (n. check (7)) goto K1922; else goto K2403;
00699 K226: if (n. check (9)) goto K452; else goto K1825;
00700 K229: if (n. check (15)) goto K1571; else goto K453;
00701 K230: if (n. check (19)) goto K1949; else goto K1263;
00702 K232: if (n. check (7)) goto K1153; else return false;
00703 K235: if (n. check (19)) goto K2063; else goto K1760;
00704 K236: if (n. check (6)) goto K1940; else goto K1506;
00705 K237: if (n. check (7)) goto K2112; else goto K163;
00706 K238: if (n. check (20)) return false; else goto K2058;
00707 K241: if (n. check (1)) goto K624; else goto K2371;
00708 K242: if (n. check (1)) goto K1832; else goto K687;
00709 K244: if (n. check (8)) goto K258; else goto K2277;
00710 K246: if (n. check (23)) return true; else goto K803;
00711 K248: if (n. check (7)) goto K987; else goto K1804;
00712 K249: if (n. check (14)) return false; else goto K1135;
00713 K251: if (n. check (4)) goto K872; else goto K2576;
00714 K254: if (n. check (7)) goto K1924; else return false;
00715 K255: if (n. check (17)) goto K14; else goto K2377;
00716 K257: if (n. check (14)) return false; else goto K832;
00717 K258: if (n. check (1)) goto K832; else goto K863;
00718 K260: if (n. check (19)) goto K839; else goto K722;
00719 K261: if (n. check (19)) goto K2058; else goto K873;
00720 K267: if (n. check (16)) return false; else goto K2313;
00721 K268: if (n. check (16)) return false; else goto K1253;
00722 K273: if (n. check (19)) return false; else goto K1769;
00723 K278: if (n. check (19)) goto K686; else goto K37;
00724 K281: if (n. check (22)) goto K2381; else goto K1559;
00725 K285: if (n. check (11)) goto K1257; else goto K199;
00726 K293: if (n. check (7)) goto K1565; else goto K2296;
00727 K307: if (n. check (20)) goto K1607; else goto K203;
00728 K342: if (n. check (6)) return false; else goto K2000;
00729 K350: if (n. check (6)) goto K1805; else goto K2602;
00730 K354: if (n. check (6)) goto K867; else goto K2002;
00731 K355: if (n. check (4)) goto K1762; else goto K1519;
00732 K356: if (n. check (7)) goto K1297; else goto K1794;
00733 K359: if (n. check (8)) goto K1256; else goto K2365;
00734 K360: if (n. check (19)) return false; else goto K1761;
00735 K361: if (n. check (8)) goto K1773; else goto K2344;
00736 K368: if (n. check (19)) return false; else goto K36;
00737 K399: if (n. check (17)) goto K15; else goto K1571;
00738 K401: if (n. check (14)) goto K427; else goto K875;
00739 K411: if (n. check (13)) return false; else goto K762;
00740 K427: if (n. check (4)) goto K928; else goto K2134;
00741 K428: if (n. check (1)) goto K2247; else goto K1135;
00742 K433: if (n. check (17)) return false; else goto K1571;
00743 K448: if (n. check (1)) goto K921; else goto K856;
00744 K451: if (n. check (7)) goto K578; else goto K1939;
00745 K452: if (n. check (11)) goto K222; else goto K2113;
00746 K453: if (n. check (6)) goto K2544; else goto K2002;
00747 K454: if (n. check (14)) goto K1135; else goto K67;
00748 K464: if (n. check (7)) goto K1799; else goto K2349;
00749 K465: if (n. check (17)) goto K14; else return false;
00750 K486: if (n. check (21)) goto K1242; else goto K198;
00751 K492: if (n. check (17)) goto K15; else goto K2421;
00752 K494: if (n. check (8)) goto K428; else goto K1147;
00753 K497: if (n. check (7)) goto K1924; else goto K2306;
00754 K504: if (n. check (20)) return false; else goto K1559;
00755 K507: if (n. check (7)) goto K1470; else goto K2487;
00756 K521: if (n. check (14)) goto K1648; else goto K1171;
00757 K522: if (n. check (14)) return false; else goto K1608;
00758 K523: if (n. check (14)) goto K248; else goto K2317;
00759 K524: if (n. check (12)) goto K98; else goto K2215;
00760 K533: if (n. check (4)) goto K1542; else return false;
00761 K543: if (n. check (14)) goto K2044; else goto K1405;
00762 K545: if (n. check (17)) return true; else goto K39;
00763 K559: if (n. check (22)) goto K174; else goto K1864;
00764 K578: if (n. check (19)) goto K2410; else goto K2063;
00765 K580: if (n. check (20)) goto K832; else goto K1950;
00766 K590: if (n. check (6)) goto K2497; else goto K2602;
00767 K591: if (n. check (14)) goto K863; else goto K225;
00768 K592: if (n. check (15)) goto K2467; else goto K2602;
00769 K624: if (n. check (20)) goto K37; else return true;
00770 K649: if (n. check (5)) goto K1520; else goto K2586;
00771 K685: if (n. check (10)) goto K454; else goto K2267;
00772 K686: if (n. check (17)) return true; else goto K2363;
00773 K687: if (n. check (10)) goto K2028; else goto K181;
00774 K690: if (n. check (17)) return false; else goto K229;
00775 K691: if (n. check (6)) goto K1242; else return false;
00776 K698: if (n. check (1)) goto K1457; else goto K685;
00777 K703: if (n. check (20)) goto K2302; else goto K281;
00778 K712: if (n. check (7)) goto K1110; else goto K2199;
00779 K718: if (n. check (19)) goto K2058; else return false;
00780 K722: if (n. check (17)) goto K2585; else goto K1593;
00781 K724: if (n. check (17)) goto K14; else goto K236;
00782 K725: if (n. check (18)) return false; else goto K1233;
00783 K728: if (n. check (14)) return false; else goto K1410;
00784 K731: if (n. check (13)) return false; else goto K2119;
00785 K741: if (n. check (14)) goto K1608; else goto K451;
00786 K751: if (n. check (7)) goto K1264; else goto K1179;
00787 K752: if (n. check (20)) goto K921; else goto K686;
00788 K761: if (n. check (7)) goto K1813; else goto K1253;
00789 K762: if (n. check (20)) goto K2120; else goto K2350;
00790 K773: if (n. check (19)) return false; else goto K433;
00791 K785: if (n. check (22)) goto K2533; else goto K690;
00792 K792: if (n. check (8)) goto K1534; else goto K2314;
00793 K793: if (n. check (20)) goto K225; else goto K942;
00794 K803: if (n. check (24)) goto K52; else goto K53;
00795 K826: if (n. check (20)) goto K2317; else goto K908;
00796 K831: if (n. check (16)) goto K2092; else goto K1623;
00797 K832: if (n. check (17)) goto K14; else goto K354;
00798 K839: if (n. check (17)) goto K2585; else goto K592;
00799 K843: if (n. check (22)) goto K2112; else goto K260;
00800 K856: if (n. check (10)) goto K2302; else goto K2120;
00801 K862: if (n. check (20)) goto K225; else goto K2386;
00802 K863: if (n. check (7)) goto K134; else goto K1527;
00803 K867: if (n. check (18)) return false; else goto K48;
00804 K871: if (n. check (10)) goto K2028; else goto K2310;
00805 K872: if (n. check (20)) goto K2302; else goto K2381;
00806 K873: if (n. check (17)) return false; else goto K198;
00807 K875: if (n. check (4)) goto K1957; else goto K119;
00808 K891: if (n. check (20)) goto K863; else goto K2367;
00809 K894: if (n. check (17)) goto K15; else goto K691;
00810 K907: if (n. check (14)) return false; else goto K2247;
00811 K908: if (n. check (7)) goto K175; else goto K1048;
00812 K909: if (n. check (16)) return false; else goto K920;
00813 K920: if (n. check (19)) goto K690; else goto K2175;
00814 K921: if (n. check (17)) return true; else goto K38;
00815 K924: if (n. check (10)) goto K1245; else goto K1441;
00816 K928: if (n. check (20)) goto K863; else goto K1972;
00817 K937: if (n. check (4)) goto K1204; else goto K2119;
00818 K939: if (n. check (16)) return false; else goto K1804;
00819 K942: if (n. check (7)) goto K785; else goto K843;
00820 K966: if (n. check (20)) goto K921; else goto K545;
00821 K977: if (n. check (10)) goto K2001; else goto K251;
00822 K978: if (n. check (2)) goto K97; else goto K1563;
00823 K983: if (n. check (4)) goto K1903; else goto K184;
00824 K987: if (n. check (19)) goto K832; else goto K1042;
00825 K988: if (n. check (22)) goto K2416; else goto K1862;
00826 K1000: if (n. check (10)) return false; else goto K983;
00827 K1001: if (n. check (6)) goto K1735; else goto K1090;
00828 K1002: if (n. check (14)) goto K1846; else goto K123;
00829 K1042: if (n. check (17)) goto K14; else goto K350;
00830 K1043: if (n. check (2)) goto K649; else goto K1904;
00831 K1044: if (n. check (20)) goto K2317; else goto K2057;
00832 K1046: if (n. check (10)) goto K2001; else goto K937;
00833 K1048: if (n. check (16)) return false; else goto K1179;
00834 K1067: if (n. check (17)) return false; else goto K1001;
00835 K1075: if (n. check (1)) goto K2437; else goto K2123;
00836 K1086: if (n. check (14)) goto K1923; else goto K90;
00837 K1087: if (n. check (20)) goto K1608; else goto K202;
00838 K1090: if (n. check (21)) goto K2602; else goto K69;
00839 K1095: if (n. check (19)) goto K2058; else goto K1769;
00840 K1108: if (n. check (1)) goto K2198; else goto K2570;
00841 K1110: if (n. check (19)) goto K1042; else goto K465;
00842 K1112: if (n. check (20)) goto K1608; else goto K761;
00843 K1134: if (n. check (22)) goto K175; else goto K1948;
00844 K1135: if (n. check (4)) goto K185; else goto K1977;
00845 K1136: if (n. check (22)) goto K215; else goto K545;
00846 K1147: if (n. check (9)) goto K285; else goto K2256;
00847 K1149: if (n. check (19)) goto K2144; else goto K839;
00848 K1153: if (n. check (22)) goto K1332; else goto K2063;
00849 K1171: if (n. check (4)) goto K79; else goto K1289;
00850 K1179: if (n. check (19)) goto K1948; else goto K54;
00851 K1180: if (n. check (20)) goto K2144; else goto K1948;
00852 K1181: if (n. check (6)) goto K1242; else goto K1506;
00853 K1196: if (n. check (7)) return false; else goto K2495;
00854 K1200: if (n. check (7)) goto K1149; else return false;
00855 K1204: if (n. check (20)) return false; else goto K82;
00856 K1210: if (n. check (19)) goto K1862; else goto K2368;
00857 K1211: if (n. check (7)) goto K78; else goto K909;
00858 K1217: if (n. check (14)) goto K1135; else goto K1633;
00859 K1221: if (n. check (10)) goto K591; else goto K523;
00860 K1226: if (n. check (19)) return false; else goto K2058;
00861 K1233: if (n. check (23)) return false; else goto K2352;
00862 K1234: if (n. check (20)) goto K248; else goto K507;
00863 K1238: if (n. check (7)) goto K360; else goto K1794;
00864 K1242: if (n. check (18)) goto K198; else return false;
00865 K1245: if (n. check (4)) goto K1460; else goto K762;
00866 K1250: if (n. check (20)) goto K1200; else goto K1300;
00867 K1253: if (n. check (22)) goto K1332; else goto K235;
00868 K1256: if (n. check (1)) goto K752; else goto K1245;
00869 K1257: if (n. check (1)) goto K907; else goto K1471;
00870 K1263: if (n. check (17)) goto K14; else goto K2421;
00871 K1264: if (n. check (19)) return false; else goto K131;
00872 K1270: if (n. check (14)) return false; else goto K863;
00873 K1285: if (n. check (20)) return false; else goto K690;
00874 K1288: if (n. check (7)) goto K2250; else goto K174;
00875 K1289: if (n. check (13)) return false; else goto K2490;
00876 K1297: if (n. check (19)) goto K1949; else goto K465;
00877 K1299: if (n. check (10)) return false; else goto K1302;
00878 K1300: if (n. check (7)) goto K1134; else goto K2092;
00879 K1302: if (n. check (14)) return false; else goto K2341;
00880 K1307: if (n. check (4)) goto K105; else goto K143;
00881 K1327: if (n. check (11)) goto K1910; else goto K1915;
00882 K1328: if (n. check (20)) goto K2120; else goto K215;
00883 K1332: if (n. check (19)) goto K2063; else goto K37;
00884 K1393: if (n. check (1)) goto K543; else goto K124;
00885 K1395: if (n. check (1)) goto K752; else goto K2486;
00886 K1399: if (n. check (10)) goto K1867; else goto K401;
00887 K1402: if (n. check (20)) return false; else goto K1598;
00888 K1405: if (n. check (20)) goto K2144; else goto K839;
00889 K1409: if (n. check (17)) return false; else goto K590;
00890 K1410: if (n. check (20)) goto K832; else goto K1949;
00891 K1413: if (n. check (1)) goto K966; else goto K1763;
00892 K1414: if (n. check (17)) return false; else goto K39;
00893 K1423: if (n. check (14)) goto K139; else goto K2429;
00894 K1438: if (n. check (17)) goto K15; else return false;
00895 K1441: if (n. check (4)) goto K1498; else return false;
00896 K1442: if (n. check (20)) goto K451; else goto K195;
00897 K1449: if (n. check (20)) return false; else goto K1211;
00898 K1457: if (n. check (14)) goto K2247; else goto K1285;
00899 K1460: if (n. check (20)) goto K2302; else goto K76;
00900 K1461: if (n. check (17)) return false; else goto K236;
00901 K1470: if (n. check (22)) goto K1297; else goto K1949;
00902 K1471: if (n. check (10)) goto K249; else goto K1217;
00903 K1475: if (n. check (19)) goto K2410; else goto K1760;
00904 K1498: if (n. check (20)) goto K2120; else goto K278;
00905 K1506: if (n. check (18)) goto K198; else goto K1233;
00906 K1507: if (n. check (4)) goto K80; else goto K1947;
00907 K1519: if (n. check (13)) return false; else goto K1112;
00908 K1520: if (n. check (8)) goto K1803; else goto K1693;
00909 K1521: if (n. check (4)) goto K1449; else goto K85;
00910 K1527: if (n. check (19)) goto K832; else goto K724;
00911 K1534: if (n. check (1)) goto K504; else goto K2001;
00912 K1538: if (n. check (20)) goto K451; else goto K2062;
00913 K1541: if (n. check (20)) goto K1970; else goto K1801;
00914 K1542: if (n. check (20)) goto K248; else goto K356;
00915 K1543: if (n. check (21)) goto K1506; else goto K2581;
00916 K1549: if (n. check (20)) goto K399; else goto K63;
00917 K1558: if (n. check (1)) goto K257; else goto K2173;
00918 K1559: if (n. check (17)) return false; else goto K38;
00919 K1562: if (n. check (13)) return false; else goto K1234;
00920 K1563: if (n. check (3)) goto K2598; else goto K112;
00921 K1565: if (n. check (22)) goto K174; else goto K1950;
00922 K1571: if (n. check (6)) goto K2544; else return false;
00923 K1575: if (n. check (20)) goto K863; else goto K1288;
00924 K1587: if (n. check (4)) goto K1328; else goto K731;
00925 K1593: if (n. check (15)) goto K691; else goto K1181;
00926 K1598: if (n. check (7)) goto K1922; else goto K920;
00927 K1599: if (n. check (1)) goto K624; else goto K983;
00928 K1607: if (n. check (19)) goto K37; else return true;
00929 K1608: if (n. check (7)) goto K1226; else goto K1475;
00930 K1610: if (n. check (20)) goto K225; else goto K751;
00931 K1611: if (n. check (20)) return false; else goto K224;
00932 K1614: if (n. check (7)) goto K134; else goto K2313;
00933 K1623: if (n. check (22)) goto K1179; else goto K1700;
00934 K1633: if (n. check (4)) goto K2209; else goto K2174;
00935 K1636: if (n. check (23)) return true; else goto K50;
00936 K1648: if (n. check (4)) goto K1542; else goto K1562;
00937 K1664: if (n. check (20)) goto K93; else goto K254;
00938 K1683: if (n. check (14)) goto K1307; else goto K1507;
00939 K1687: if (n. check (17)) goto K15; else goto K2467;
00940 K1692: if (n. check (7)) goto K1860; else goto K2411;
00941 K1693: if (n. check (1)) goto K37; else goto K165;
00942 K1700: if (n. check (19)) goto K1948; else goto K2451;
00943 K1705: if (n. check (8)) goto K2045; else goto K1835;
00944 K1728: if (n. check (10)) return false; else goto K2302;
00945 K1735: if (n. check (21)) goto K1805; else goto K48;
00946 K1760: if (n. check (17)) return true; else goto K198;
00947 K1761: if (n. check (17)) return false; else goto K2377;
00948 K1762: if (n. check (20)) goto K1608; else goto K1925;
00949 K1763: if (n. check (10)) goto K92; else goto K1587;
00950 K1764: if (n. check (4)) goto K166; else goto K2490;
00951 K1769: if (n. check (17)) return false; else goto K49;
00952 K1772: if (n. check (7)) goto K578; else return false;
00953 K1773: if (n. check (1)) goto K921; else goto K2302;
00954 K1789: if (n. check (1)) goto K2410; else goto K1608;
00955 K1794: if (n. check (19)) goto K63; else goto K1438;
00956 K1797: if (n. check (7)) goto K1794; else goto K204;
00957 K1798: if (n. check (19)) goto K63; else goto K492;
00958 K1799: if (n. check (22)) goto K2112; else goto K839;
00959 K1801: if (n. check (7)) goto K1565; else return false;
00960 K1803: if (n. check (1)) goto K36; else goto K1607;
00961 K1804: if (n. check (19)) goto K399; else goto K894;
00962 K1805: if (n. check (18)) goto K48; else return false;
00963 K1813: if (n. check (22)) goto K718; else goto K2058;
00964 K1814: if (n. check (20)) return false; else goto K1843;
00965 K1816: if (n. check (4)) goto K1538; else goto K205;
00966 K1822: if (n. check (7)) goto K1799; else return false;
00967 K1824: if (n. check (19)) return false; else goto K1873;
00968 K1825: if (n. check (11)) goto K242; else goto K524;
00969 K1828: if (n. check (14)) goto K863; else goto K2422;
00970 K1832: if (n. check (14)) goto K1410; else goto K1180;
00971 K1835: if (n. check (11)) goto K1075; else goto K1108;
00972 K1843: if (n. check (7)) goto K1095; else goto K2091;
00973 K1846: if (n. check (4)) goto K1611; else goto K1112;
00974 K1855: if (n. check (14)) goto K139; else goto K1764;
00975 K1859: if (n. check (7)) goto K2190; else goto K267;
00976 K1860: if (n. check (22)) goto K1110; else goto K1042;
00977 K1861: if (n. check (20)) goto K1772; else goto K232;
00978 K1862: if (n. check (17)) return false; else goto K354;
00979 K1863: if (n. check (19)) goto K399; else goto K1687;
00980 K1864: if (n. check (19)) goto K1950; else goto K724;
00981 K1867: if (n. check (14)) goto K1135; else goto K64;
00982 K1873: if (n. check (17)) return false; else goto K592;
00983 K1900: if (n. check (17)) return false; else goto K2363;
00984 K1903: if (n. check (20)) return false; else goto K368;
00985 K1904: if (n. check (5)) goto K2108; else goto K1705;
00986 K1905: if (n. check (13)) goto K2473; else goto K1044;
00987 K1910: if (n. check (1)) goto K752; else goto K924;
00988 K1915: if (n. check (12)) return false; else goto K1395;
00989 K1922: if (n. check (19)) return false; else goto K690;
00990 K1923: if (n. check (4)) goto K2200; else goto K2460;
00991 K1924: if (n. check (22)) goto K1794; else goto K63;
00992 K1925: if (n. check (7)) goto K718; else goto K1332;
00993 K1926: if (n. check (20)) goto K1998; else goto K1238;
00994 K1928: if (n. check (20)) goto K1200; else goto K1822;
00995 K1934: if (n. check (7)) goto K174; else goto K68;
00996 K1939: if (n. check (16)) return false; else goto K1475;
00997 K1940: if (n. check (18)) return false; else goto K198;
00998 K1947: if (n. check (13)) return false; else goto K85;
00999 K1948: if (n. check (17)) goto K2585; else goto K200;
01000 K1949: if (n. check (17)) goto K14; else goto K1001;
01001 K1950: if (n. check (17)) goto K14; else goto K590;
01002 K1954: if (n. check (10)) goto K2343; else goto K1855;
01003 K1957: if (n. check (20)) goto K2422; else goto K1934;
01004 K1970: if (n. check (7)) goto K2292; else return false;
01005 K1972: if (n. check (7)) goto K2416; else goto K174;
01006 K1977: if (n. check (20)) goto K863; else goto K172;
01007 K1985: if (n. check (19)) goto K433; else goto K2003;
01008 K1992: if (n. check (6)) goto K2321; else goto K1090;
01009 K1996: if (n. check (16)) return false; else goto K1332;
01010 K1998: if (n. check (7)) goto K773; else goto K1804;
01011 K2000: if (n. check (21)) return false; else goto K725;
01012 K2001: if (n. check (4)) goto K56; else goto K703;
01013 K2002: if (n. check (18)) goto K48; else goto K1636;
01014 K2003: if (n. check (17)) return false; else goto K691;
01015 K2019: if (n. check (1)) return false; else goto K1728;
01016 K2028: if (n. check (14)) goto K139; else goto K158;
01017 K2041: if (n. check (11)) goto K156; else goto K1395;
01018 K2044: if (n. check (20)) goto K832; else goto K1042;
01019 K2045: if (n. check (1)) goto K238; else goto K1846;
01020 K2057: if (n. check (7)) goto K1134; else goto K831;
01021 K2058: if (n. check (17)) return false; else goto K48;
01022 K2062: if (n. check (7)) goto K1332; else goto K1996;
01023 K2063: if (n. check (17)) return true; else goto K49;
01024 K2067: if (n. check (16)) return false; else goto K230;
01025 K2082: if (n. check (20)) return false; else goto K2177;
01026 K2084: if (n. check (13)) return false; else goto K2473;
01027 K2087: if (n. check (14)) goto K832; else goto K2144;
01028 K2088: if (n. check (19)) return false; else goto K1414;
01029 K2091: if (n. check (16)) return false; else goto K261;
01030 K2092: if (n. check (22)) return false; else goto K2099;
01031 K2099: if (n. check (19)) return false; else goto K2376;
01032 K2108: if (n. check (8)) goto K1599; else goto K2434;
01033 K2112: if (n. check (19)) goto K839; else goto K164;
01034 K2113: if (n. check (1)) goto K155; else goto K2415;
01035 K2117: if (n. check (14)) return false; else goto K1846;
01036 K2119: if (n. check (20)) goto K2120; else goto K1136;
01037 K2120: if (n. check (19)) goto K921; else goto K545;
01038 K2122: if (n. check (4)) goto K1498; else goto K411;
01039 K2123: if (n. check (10)) goto K2117; else goto K1002;
01040 K2134: if (n. check (13)) return false; else goto K1977;
01041 K2144: if (n. check (17)) goto K2585; else goto K229;
01042 K2147: if (n. check (1)) goto K2087; else goto K1221;
01043 K2152: if (n. check (19)) goto K1687; else goto K894;
01044 K2173: if (n. check (10)) goto K1270; else goto K1828;
01045 K2174: if (n. check (20)) goto K2422; else goto K293;
01046 K2175: if (n. check (17)) return false; else goto K1593;
01047 K2177: if (n. check (7)) goto K1210; else goto K1985;
01048 K2181: if (n. check (10)) return false; else goto K1245;
01049 K2190: if (n. check (19)) goto K1862; else goto K1409;
01050 K2198: if (n. check (14)) goto K238; else goto K192;
01051 K2199: if (n. check (19)) goto K1687; else goto K1438;
01052 K2200: if (n. check (20)) goto K863; else goto K219;
01053 K2209: if (n. check (20)) return false; else goto K1859;
01054 K2214: if (n. check (4)) goto K2082; else goto K2460;
01055 K2215: if (n. check (1)) goto K1832; else goto K871;
01056 K2232: if (n. check (4)) goto K826; else goto K1905;
01057 K2245: if (n. check (15)) goto K2421; else goto K2303;
01058 K2247: if (n. check (20)) return false; else goto K1862;
01059 K2250: if (n. check (19)) return false; else goto K1409;
01060 K2256: if (n. check (11)) goto K698; else goto K1393;
01061 K2264: if (n. check (19)) goto K1042; else goto K2360;
01062 K2267: if (n. check (14)) goto K2214; else goto K1521;
01063 K2277: if (n. check (9)) goto K1558; else goto K2147;
01064 K2279: if (n. check (10)) return false; else goto K2001;
01065 K2292: if (n. check (19)) goto K832; else goto K1950;
01066 K2293: if (n. check (4)) goto K1087; else goto K1861;
01067 K2296: if (n. check (16)) return false; else goto K559;
01068 K2302: if (n. check (19)) return false; else goto K1559;
01069 K2303: if (n. check (6)) goto K486; else goto K1543;
01070 K2306: if (n. check (16)) return false; else goto K2487;
01071 K2310: if (n. check (14)) goto K1648; else goto K2232;
01072 K2312: if (n. check (11)) goto K65; else goto K1413;
01073 K2313: if (n. check (19)) goto K1862; else goto K1461;
01074 K2314: if (n. check (9)) goto K137; else goto K2312;
01075 K2317: if (n. check (7)) goto K1149; else goto K2557;
01076 K2321: if (n. check (21)) goto K2602; else goto K49;
01077 K2341: if (n. check (4)) return false; else goto K2084;
01078 K2343: if (n. check (14)) return false; else goto K139;
01079 K2344: if (n. check (9)) goto K2019; else goto K448;
01080 K2349: if (n. check (16)) return false; else goto K843;
01081 K2350: if (n. check (22)) goto K278; else goto K686;
01082 K2352: if (n. check (24)) return false; else goto K52;
01083 K2360: if (n. check (17)) goto K14; else goto K691;
01084 K2363: if (n. check (21)) goto K39; else return true;
01085 K2365: if (n. check (9)) goto K2041; else goto K1327;
01086 K2367: if (n. check (7)) goto K2515; else goto K230;
01087 K2368: if (n. check (17)) return false; else goto K350;
01088 K2371: if (n. check (10)) goto K983; else goto K115;
01089 K2376: if (n. check (17)) return false; else goto K154;
01090 K2377: if (n. check (6)) goto K2321; else return false;
01091 K2381: if (n. check (19)) goto K1559; else return false;
01092 K2386: if (n. check (7)) goto K1824; else goto K2112;
01093 K2387: if (n. check (19)) goto K1949; else goto K255;
01094 K2403: if (n. check (19)) goto K2144; else goto K722;
01095 K2410: if (n. check (17)) return true; else goto K48;
01096 K2411: if (n. check (22)) goto K2199; else goto K2152;
01097 K2412: if (n. check (14)) goto K1846; else goto K2293;
01098 K2415: if (n. check (10)) goto K1423; else goto K521;
01099 K2416: if (n. check (19)) goto K1862; else return false;
01100 K2417: if (n. check (7)) goto K2387; else goto K2067;
01101 K2421: if (n. check (6)) goto K486; else goto K2000;
01102 K2422: if (n. check (7)) goto K2292; else goto K2555;
01103 K2423: if (n. check (22)) goto K203; else return true;
01104 K2429: if (n. check (4)) goto K1926; else goto K1664;
01105 K2434: if (n. check (11)) goto K127; else goto K241;
01106 K2437: if (n. check (14)) return false; else goto K238;
01107 K2451: if (n. check (17)) goto K2585; else goto K2245;
01108 K2453: if (n. check (10)) goto K522; else goto K741;
01109 K2460: if (n. check (20)) goto K248; else goto K1692;
01110 K2467: if (n. check (6)) goto K2602; else return false;
01111 K2473: if (n. check (20)) return false; else goto K1196;
01112 K2486: if (n. check (10)) goto K1245; else goto K2122;
01113 K2487: if (n. check (22)) goto K1794; else goto K1798;
01114 K2490: if (n. check (20)) goto K57; else goto K497;
01115 K2495: if (n. check (16)) return false; else goto K2092;
01116 K2497: if (n. check (18)) return false; else goto K49;
01117 K2515: if (n. check (19)) return false; else goto K1067;
01118 K2533: if (n. check (19)) goto K690; else return false;
01119 K2536: if (n. check (14)) return false; else goto K2410;
01120 K2544: if (n. check (18)) goto K48; else goto K49;
01121 K2555: if (n. check (16)) return false; else goto K1527;
01122 K2557: if (n. check (16)) return false; else goto K2403;
01123 K2570: if (n. check (10)) goto K2412; else goto K125;
01124 K2576: if (n. check (13)) return false; else goto K703;
01125 K2581: if (n. check (18)) goto K198; else goto K246;
01126 K2585: if (n. check (15)) goto K15; else return true;
01127 K2586: if (n. check (8)) goto K1789; else goto K102;
01128 K2598: if (n. check (5)) goto K792; else goto K494;
01129 K2602: if (n. check (18)) goto K49; else return false;
01130 }
01131
01132
01133
01134
01135
01136
01138 template <class cubetype, class settype>
01139 class Neighbors
01140 {
01141 public:
01143 Neighbors (const cubetype &middle, const settype &cset,
01144 BitField &bfield): q (middle), s (cset), b (bfield) {};
01145
01149 bool check (int n) const
01150 {
01151 cubetype neighbor = bit2neighbor (q, n);
01152 if (neighbor == q)
01153 return false;
01154 bool result = s. check (neighbor);
01155 if (result)
01156 b. set (n);
01157 return result;
01158 }
01159
01160 private:
01162 const cubetype &q;
01163
01165 const settype &s;
01166
01168 BitField &b;
01169
01170 };
01171
01172
01173
01174
01175
01176
01178 const int MaxBddDimPossible = 3;
01179
01184 extern int MaxBddDim;
01185
01189 extern bool UseMalandainCode;
01190
01191
01192
01198 template <class tCube, class tCubeSet>
01199 bool bddacyclic (const tCube &q, int dim, const tCubeSet &s,
01200 BitField &b)
01201 {
01202 switch (dim)
01203 {
01204 case 1:
01205 {
01206 Neighbors<tCube,tCubeSet> n (q, s, b);
01207 return acyclic1d (n);
01208
01209 }
01210 case 2:
01211 {
01212 Neighbors<tCube,tCubeSet> n (q, s, b);
01213 return acyclic2d (n);
01214
01215 }
01216 case 3:
01217 {
01218 Neighbors<tCube,tCubeSet> n (q, s, b);
01219 if (UseMalandainCode)
01220 return acyclic3d_Malandain (n);
01221 else
01222 return acyclic3d (n);
01223
01224 }
01225 }
01226 throw "Trying to use a BDD for dimension other than 1-3.";
01227 }
01228
01229
01230 }
01231 }
01232
01233 #endif // _CHOMP_HOMOLOGY_CUBACYCL_H_
01234
01236