mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-09-10 06:16:00 +00:00
using smaller field_quotients for rule_fp; also a list of field quotients is included in devmods
This commit is contained in:
@@ -1281,7 +1281,13 @@ EX struct fpattern& getcurrfp() {
|
||||
return current_quotient_field;
|
||||
if(geometry == gSpace535) {
|
||||
// 120 cells, hash = 9EF7A9C4
|
||||
static fpattern fp(5);
|
||||
static fpattern fp(0);
|
||||
if(use_rule_fp) {
|
||||
fp.Prime = 5; fp.force_hash = 0xDCC3CACEu; fp.solve();
|
||||
}
|
||||
else {
|
||||
fp.Prime = 5; fp.force_hash = 0x9EF7A9C4u; fp.solve();
|
||||
}
|
||||
return fp;
|
||||
}
|
||||
if(geometry == gSpace534) {
|
||||
@@ -1291,7 +1297,7 @@ EX struct fpattern& getcurrfp() {
|
||||
// fp.Prime = 5; fp.force_hash = 0x72414D0C; fp.solve();
|
||||
|
||||
if(use_rule_fp) {
|
||||
fp.Prime = 11; fp.force_hash = 0x5FC4CFF0; fp.solve();
|
||||
fp.Prime = 11; fp.force_hash = 0x5FC4CFF0u; fp.solve();
|
||||
}
|
||||
else {
|
||||
shstream ins(STR("\x05\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\xfc\xff\xff\xff\x01\x00\x00\x00\x04\x00\x00\x00\xfc\xff\xff\xff\x04\x00\x00\x00\xfe\xff\xff\xff\x00\x00\x00\x00\x01\x00\x00\x00\xfe\xff\xff\xff\x04\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xff\xff\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xfc\xff\xff\xff\x02\x00\x00\x00\x00\x00\x00\x00\xfc\xff\xff\xff\x01\x00\x00\x00\xfd\xff\xff\xff\x00\x00\x00\x00\x02\x00\x00\x00\xfd\xff\xff\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00"));
|
||||
@@ -1307,7 +1313,7 @@ EX struct fpattern& getcurrfp() {
|
||||
// what is 0x72414D0C??
|
||||
|
||||
if(use_rule_fp) {
|
||||
fp.Prime = 11; fp.force_hash = 0x65CE0C00; fp.solve();
|
||||
fp.Prime = 11; fp.force_hash = 0x65CE0C00u; fp.solve();
|
||||
}
|
||||
else {
|
||||
shstream ins(STR("\x05\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\xfc\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff\xfc\xff\xff\xff\x04\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\xff\xff\xff\xff\x02\x00\x00\x00\x03\x00\x00\x00\x03\x00\x00\x00\xfd\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\xfc\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xfd\xff\xff\xff\xfd\xff\xff\xff\x00\x00\x00\x00\xfd\xff\xff\xff\x02\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\xfd\xff\xff\xff\x03\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00"));
|
||||
@@ -1317,20 +1323,28 @@ EX struct fpattern& getcurrfp() {
|
||||
}
|
||||
if(geometry == gSpace436) {
|
||||
static fpattern fp(0);
|
||||
// FF82A214
|
||||
shstream ins(STR("\x05\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\xfd\xff\xff\xff\x00\x00\x00\x00\xfe\xff\xff\xff\xfd\xff\xff\xff\x01\x00\x00\x00\x01\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\xfd\xff\xff\xff\x02\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\xfc\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xfd\xff\xff\xff\xfd\xff\xff\xff\x00\x00\x00\x00\xfd\xff\xff\xff\x02\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\xfd\xff\xff\xff\x03\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00"));
|
||||
hread_fpattern(ins, fp);
|
||||
if(fp.Prime) return fp;
|
||||
if(use_rule_fp) {
|
||||
fp.Prime = 2; fp.force_hash = 0x235F7508u; fp.solve();
|
||||
}
|
||||
else {
|
||||
// FF82A214
|
||||
shstream ins(STR("\x05\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\xfd\xff\xff\xff\x00\x00\x00\x00\xfe\xff\xff\xff\xfd\xff\xff\xff\x01\x00\x00\x00\x01\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\xfd\xff\xff\xff\x02\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\xfc\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xfd\xff\xff\xff\xfd\xff\xff\xff\x00\x00\x00\x00\xfd\xff\xff\xff\x02\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\xfd\xff\xff\xff\x03\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00"));
|
||||
hread_fpattern(ins, fp);
|
||||
}
|
||||
return fp;
|
||||
}
|
||||
if(geometry == gSpace336) {
|
||||
// 672 cells in E3F6B7BC
|
||||
// 672 cells in 885F1184
|
||||
// 9408 cells in C4089F34
|
||||
static fpattern fp(0);
|
||||
if(fp.Prime) return fp;
|
||||
// fp.Prime = 7; fp.force_hash = 0xE3F6B7BCu; fp.solve();
|
||||
shstream ins(STR("\x07\x00\x00\x00\x03\x00\x00\x00\xfa\xff\xff\xff\x02\x00\x00\x00\x03\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\xfe\xff\xff\xff\xfb\xff\xff\xff\xfc\xff\xff\xff\x03\x00\x00\x00\xfb\xff\xff\xff\xfd\xff\xff\xff\xfb\xff\xff\xff\x01\x00\x00\x00\xfd\xff\xff\xff\xfe\xff\xff\xff\xfd\xff\xff\xff\x03\x00\x00\x00\x00\x00\x00\x00\xfd\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xff\xff\xff\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xfa\xff\xff\xff\xfb\xff\xff\xff\x00\x00\x00\x00\xfa\xff\xff\xff\x02\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\xfb\xff\xff\xff\x06\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00"));
|
||||
hread_fpattern(ins, fp);
|
||||
if(use_rule_fp) {
|
||||
fp.Prime = 3; fp.force_hash = 0xD29C2418u; fp.solve();
|
||||
}
|
||||
else {
|
||||
// fp.Prime = 7; fp.force_hash = 0xE3F6B7BCu; fp.solve();
|
||||
shstream ins(STR("\x07\x00\x00\x00\x03\x00\x00\x00\xfa\xff\xff\xff\x02\x00\x00\x00\x03\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\xfe\xff\xff\xff\xfb\xff\xff\xff\xfc\xff\xff\xff\x03\x00\x00\x00\xfb\xff\xff\xff\xfd\xff\xff\xff\xfb\xff\xff\xff\x01\x00\x00\x00\xfd\xff\xff\xff\xfe\xff\xff\xff\xfd\xff\xff\xff\x03\x00\x00\x00\x00\x00\x00\x00\xfd\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xff\xff\xff\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xfa\xff\xff\xff\xfb\xff\xff\xff\x00\x00\x00\x00\xfa\xff\xff\xff\x02\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\xfb\xff\xff\xff\x06\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00"));
|
||||
hread_fpattern(ins, fp);
|
||||
}
|
||||
return fp;
|
||||
}
|
||||
if(geometry == gSpace344) {
|
||||
@@ -1340,7 +1354,12 @@ EX struct fpattern& getcurrfp() {
|
||||
// 2600 cells in EC29DCEC
|
||||
static fpattern fp(0);
|
||||
if(fp.Prime) return fp;
|
||||
fp.Prime = 5; fp.force_hash = 0x558C8ED0u; fp.solve();
|
||||
if(use_rule_fp) {
|
||||
fp.Prime = 3; fp.force_hash = 0xB23AF1F4u; fp.solve();
|
||||
}
|
||||
else {
|
||||
fp.Prime = 5; fp.force_hash = 0x558C8ED0u; fp.solve();
|
||||
}
|
||||
return fp;
|
||||
// 4900 cells in CDCC7860 (7)
|
||||
}
|
||||
@@ -1349,7 +1368,12 @@ EX struct fpattern& getcurrfp() {
|
||||
if(fp.Prime) return fp;
|
||||
// 130 cells in 3BA5C5A4
|
||||
// 260 cells in 9FDE7B38
|
||||
fp.Prime = 5; fp.force_hash = 0x9FDE7B38u; fp.solve();
|
||||
if(use_rule_fp) {
|
||||
fp.Prime = 5; fp.force_hash = 0x61385498u; fp.solve();
|
||||
}
|
||||
else {
|
||||
fp.Prime = 5; fp.force_hash = 0x9FDE7B38u; fp.solve();
|
||||
}
|
||||
return fp;
|
||||
}
|
||||
if(geometry == gSpace345) {
|
||||
@@ -1358,7 +1382,12 @@ EX struct fpattern& getcurrfp() {
|
||||
// 30 cells in 02ADCAA4 (3^2)
|
||||
// 650 cells in 7EFE8D98 (5^2)
|
||||
// 55 cells in F447F75C (11)
|
||||
fp.Prime = 11; fp.force_hash = 0xF447F75Cu; fp.solve();
|
||||
if(use_rule_fp) {
|
||||
fp.Prime = 3; fp.force_hash = 0xF978E264u; fp.solve();
|
||||
}
|
||||
else {
|
||||
fp.Prime = 11; fp.force_hash = 0xF447F75Cu; fp.solve();
|
||||
}
|
||||
return fp;
|
||||
}
|
||||
if(geometry == gSpace353) {
|
||||
@@ -1371,8 +1400,8 @@ EX struct fpattern& getcurrfp() {
|
||||
}
|
||||
if(geometry == gSpace354) {
|
||||
static fpattern fp(0);
|
||||
if(fp.Prime) return fp;
|
||||
fp.Prime = 11; fp.force_hash = 0x363D8DA4u; fp.solve();
|
||||
// fp.Prime = 11; fp.force_hash = 0x363D8DA4u; fp.solve();
|
||||
fp.Prime = 5; fp.force_hash = 0x58A8E850u; fp.solve();
|
||||
return fp;
|
||||
}
|
||||
if(geometry == gCubeTiling) {
|
||||
|
Reference in New Issue
Block a user