Field Quotient geometry.
More...
|
#define | currfp fieldpattern::getcurrfp() |
|
#define | MWDIM (prod ? 3 : WDIM+1) |
|
#define | EASY |
|
#define | MXF 1000000 |
|
#define | SETDIST(X, d, it) {int c = matcode[X]; indist[d].push_back(c); if(it == itNone) ; else if(markers[c] && markers[c] != it) markers[c] = itBuggy; else markers[c] = it; } |
|
#define | MAXORD 10000 |
|
#define | STR(x) string(x, sizeof(x)) |
|
#define | currfp fieldpattern::getcurrfp() |
|
|
EX bool | hr::fieldpattern::isprime (int n) |
|
EX int | hr::fieldpattern::groupspin (int id, int d, int group) |
|
EX int | hr::fieldpattern::btspin (int id, int d) |
|
EX void | hr::fieldpattern::info () |
|
EX struct fpattern & | hr::fieldpattern::getcurrfp () |
|
EX void | hr::fieldpattern::nextPrime (fgeomextra &ex) |
|
EX void | hr::fieldpattern::nextPrimes (fgeomextra &ex) |
|
EX void | hr::fieldpattern::enableFieldChange () |
|
EX void | hr::fieldpattern::field_from_current () |
|
EX int | hr::fieldpattern::field_celldistance (cell *c1, cell *c2) |
|
EX int | hr::currfp_gmul (int a, int b) |
|
EX int | hr::currfp_inverses (int i) |
|
EX int | hr::currfp_distwall (int i) |
|
EX int | hr::currfp_n () |
|
EX int | hr::currfp_get_R () |
|
EX int | hr::currfp_get_P () |
|
EX int | hr::currfp_get_X () |
|
EX void | hr::hread_fpattern (hstream &hs, fieldpattern::fpattern &fp) |
|
EX void | hr::hwrite_fpattern (hstream &hs, fieldpattern::fpattern &fp) |
|
|
int | hr::fieldpattern::limitsq = 10 |
|
int | hr::fieldpattern::limitp = 10000 |
|
int | hr::fieldpattern::limitv = 100000 |
|
map< unsigned, int > | hr::fieldpattern::hash_found |
|
fpattern | hr::fieldpattern::fp43 (43) |
|
EX fpattern | hr::fieldpattern::current_quotient_field = fpattern(0) |
|
EX fpattern | hr::fieldpattern::fp_invalid = fpattern(0) |
|
EX bool | hr::fieldpattern::quotient_field_changed |
|
EX int | hr::fieldpattern::subpathid = currfp.matcode[currfp.strtomatrix("RRRPRRRRRPRRRP")] |
|
EX int | hr::fieldpattern::subpathorder = currfp.order(currfp.matrices[subpathid]) |
|
EX vector< fgeomextra > | hr::fieldpattern::fgeomextras |
|
EX int | hr::fieldpattern::current_extra = 0 |
|
EX map< string, discovery > | hr::fieldpattern::discoveries |
|
int | hr::fieldpattern::hk |
|
EX purehookset | hr::fieldpattern::on_geometry_change |
|
◆ fgeomextras
EX vector<fgeomextra> hr::fieldpattern::fgeomextras |
Initial value:= {
fgeomextra(gNormal, 4),
fgeomextra(gOctagon, 1),
fgeomextra(g45, 1),
fgeomextra(g46, 5),
fgeomextra(g47, 1),
fgeomextra(gSchmutzM3, 0),
}
◆ hk
Initial value:=
+ addHook(on_geometry_change, 100, [] { for(auto& d:discoveries) if(!d.second.is_suspended) d.second.suspend(); })
+ addHook(final_cleanup, 100, [] {
for(auto& d:discoveries) { d.second.schedule_destruction(); if(d.second.is_suspended) d.second.activate(); }
discoveries.clear();
})
+ addHook(hooks_args, 0, [] {
using namespace arg;
if(0) ;
else if(argis("-q3-limitsq")) { shift(); limitsq = argi(); }
else if(argis("-q3-limitp")) { shift(); limitp = argi(); }
else if(argis("-q3-limitv")) { shift(); limitv = argi(); }
else return 1;
return 0;
})