diff --git a/fake.cpp b/fake.cpp index 9a3f4174..23bea690 100644 --- a/fake.cpp +++ b/fake.cpp @@ -34,8 +34,12 @@ EX namespace fake { if(arcm::in() && PURE) return true; if(WDIM == 2) return false; if(among(geometry, gBitrunc3)) return false; + #if MAXMDIM >= 4 if(reg3::in() && !among(variation, eVariation::pure, eVariation::subcubes, eVariation::coxeter, eVariation::bch_oct)) return false; return euc::in() || reg3::in(); + #else + return euc::in(); + #endif } map random_order; @@ -133,7 +137,11 @@ EX namespace fake { } transmatrix S1, S2; ld dist; + #if MAXMDIM >= 4 bool impure = reg3::in() && !PURE; + #else + bool impure = !PURE; + #endif vector mseq; if(impure) { mseq = FPIU ( currentmap->get_move_seq(c, d) ); diff --git a/reg3.cpp b/reg3.cpp index f82ab441..66100bbd 100644 --- a/reg3.cpp +++ b/reg3.cpp @@ -11,7 +11,6 @@ #include "hyper.h" namespace hr { -#if MAXMDIM >= 4 EX hyperpoint final_coords(hyperpoint h) { if(sn::in() || !bt::in()) @@ -68,6 +67,19 @@ void subcellshape::compute_hept() { compute_common(); } +EX namespace reg3 { +EX void make_vertices_only(vector& vo, const vector>& csh) { + vo.clear(); + for(auto& v: csh) + for(hyperpoint h: v) { + bool found = false; + for(hyperpoint h2: vo) if(hdist(h, h2) < 1e-6) found = true; + if(!found) vo.push_back(h); + } + } +EX } + +#if MAXMDIM >= 4 void subcellshape::compute_sub() { hyperpoint gres = Hypc; for(auto& face: faces) { @@ -167,16 +179,6 @@ EX namespace reg3 { } } - EX void make_vertices_only(vector& vo, const vector>& csh) { - vo.clear(); - for(auto& v: csh) - for(hyperpoint h: v) { - bool found = false; - for(hyperpoint h2: vo) if(hdist(h, h2) < 1e-6) found = true; - if(!found) vo.push_back(h); - } - } - EX void generate() { if(fake::in()) {