mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-11-27 06:27:17 +00:00
using smaller field_quotients for rule_fp; also a list of field quotients is included in devmods
This commit is contained in:
parent
4947b8c1b5
commit
5146fc00f0
80
devmods/3d-field-quotients.txt
Normal file
80
devmods/3d-field-quotients.txt
Normal file
@ -0,0 +1,80 @@
|
||||
336h: D29C2418 p=3, f=3, n=10, q=5,1
|
||||
336h: 7769A558 p=5, f=25, n=650, q=50
|
||||
336h: 640FB3D4 p=7, f=7, n=28, q=14,1
|
||||
336h: C734F868 p=7, f=7, n=28, q=14,1
|
||||
336h: E3F6B7BC p=7, f=49, n=672, q=336,28,16
|
||||
336h: 885F1184 p=7, f=49, n=672, q=336,42,28,16
|
||||
|
||||
344h: B23AF1F4 p=3, f=3, n=5, q=1
|
||||
344h: 4F9920E0 p=3, f=3, n=5, q=1
|
||||
344h: 6DBBAAA0 p=3, f=3, n=10, q=5,1
|
||||
344h: F81E97B0 p=3, f=3, n=10, q=5,1
|
||||
344h: F790CEA4 p=3, f=3, n=30, q=6,3
|
||||
344h: C95EC8B8 p=3, f=3, n=30, q=3
|
||||
344h: 16518434 p=3, f=9, n=16, q=8,4,2
|
||||
344h: 558C8ED0 p=5, f=5, n=600, q=20,25
|
||||
344h: 1EC39944 p=5, f=5, n=600, q=20,25
|
||||
344h: AF042EA8 p=5, f=25, n=2400, q=1200,600,60,40
|
||||
344h: EC29DCEC p=5, f=25, n=2600, q=1300,650,100
|
||||
344h: D26948E0 p=5, f=25, n=2600, q=1300,650,100
|
||||
|
||||
345h: F978E264 p=3, f=3, n=30, q=6,3
|
||||
345h: 02ADCAA4 p=3, f=3, n=30, q=6,3
|
||||
345h: 7EFE8D98 p=5, f=25, n=650, q=50,25
|
||||
345h: F447F75C p=11, f=11, n=55, q=5
|
||||
345h: 58A698B8 p=19, f=19, n=285, q=15
|
||||
345h: 6FA03030 p=19, f=19, n=285, q=57,15
|
||||
|
||||
353h: 1566EBAC p=5, f=25, n=130, q=10
|
||||
353h: 5A2E2B88 p=11, f=11, n=11, q=1
|
||||
|
||||
354h: 58A8E850 p=5, f=5, n=2, q=1
|
||||
354h: 363D8DA4 p=11, f=11, n=22, q=11,2
|
||||
354h: 9CD5E744 p=11, f=11, n=22, q=11,2
|
||||
354h: F04BA28C p=19, f=19, n=114, q=57,6
|
||||
|
||||
355h: AF448B14 p=5, f=5, n=1
|
||||
355h: F42F2904 p=5, f=5, n=1
|
||||
355h: 47F0C740 p=5, f=5, n=120, q=6,4
|
||||
355h: 7BAFB45C p=11, f=11, n=11, q=1
|
||||
355h: 6453A3FC p=11, f=11, n=11, q=1
|
||||
|
||||
435h: EB201050 p=5, f=25, n=650, q=25
|
||||
435h: 65CE0C00 p=11, f=11, n=55, q=11,5
|
||||
435h: 5641E95C p=11, f=11, n=55, q=11,5
|
||||
|
||||
436h: 235F7508 p=2, f=4, n=2, q=1
|
||||
436h: C02F2A80 p=2, f=4, n=2, q=1
|
||||
436h: DFC6B8C0 p=2, f=4, n=8, q=4,2
|
||||
436h: 4D3C8B14 p=3, f=9, n=8, q=1
|
||||
436h: FF82A214 p=5, f=25, n=650, q=50,25
|
||||
436h: 4546E270 p=5, f=25, n=650, q=25
|
||||
436h: C4884090 p=7, f=7, n=28, q=14,4,2
|
||||
436h: 5230B364 p=7, f=7, n=28, q=14,2
|
||||
436h: 2D051038 p=7, f=7, n=14, q=7,2
|
||||
436h: F0997060 p=7, f=7, n=14, q=7,2
|
||||
436h: 1D1227CC p=7, f=49, n=672, q=336,112,42,14,12
|
||||
436h: B2B4B3D4 p=7, f=49, n=672, q=336,14,12
|
||||
436h: 6C29B2A4 p=13, f=13, n=91, q=13,7
|
||||
436h: 06F4054C p=13, f=13, n=91, q=13,7
|
||||
436h: DE4912E0 p=13, f=13, n=182, q=91,13,7
|
||||
436h: 417466F0 p=13, f=13, n=182, q=91,13,7
|
||||
|
||||
534h: 0C62E214 p=5, f=25, n=130, q=10
|
||||
534h: 72414D0C p=5, f=25, n=260, q=10
|
||||
534h: 831E2D74 p=11, f=11, n=22, q=2
|
||||
534h: 5FC4CFF0 p=11, f=11, n=22, q=2
|
||||
|
||||
535h: DCC3CACE p=5, f=5, n=1
|
||||
535h: F78E1C56 p=5, f=5, n=1
|
||||
535h: 9EF7A9C4 p=5, f=5, n=120, q=10,8,6,4
|
||||
535h: 5254DA16 p=19, f=19, n=57, q=3
|
||||
535h: A5C8752E p=19, f=19, n=57, q=3
|
||||
|
||||
536h: BB5AEE10 p=5, f=5, n=120, q=8,6,4
|
||||
536h: 61385498 p=5, f=5, n=2, q=1
|
||||
536h: B009EB44 p=5, f=5, n=2, q=1
|
||||
536h: 3BA5C5A4 p=5, f=25, n=130, q=10
|
||||
536h: 9FDE7B38 p=5, f=25, n=260, q=130,10
|
||||
536h: 885F1184 p=7, f=49, n=672, q=336,28,16
|
||||
|
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user