diff options
Diffstat (limited to 'src/solvers/coord/dr.h')
| -rw-r--r-- | src/solvers/coord/dr.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/solvers/coord/dr.h b/src/solvers/coord/dr.h index 5f3a99b..a312285 100644 --- a/src/solvers/coord/dr.h +++ b/src/solvers/coord/dr.h | |||
| @@ -102,18 +102,21 @@ STATIC bool | |||
| 102 | coordinate_dr_isnasty(uint64_t coord, const void *data) | 102 | coordinate_dr_isnasty(uint64_t coord, const void *data) |
| 103 | { | 103 | { |
| 104 | const char *datanoinfo; | 104 | const char *datanoinfo; |
| 105 | const uint32_t *classttrep; | 105 | const uint32_t *classttrep, *rep32; |
| 106 | uint32_t r; | ||
| 106 | 107 | ||
| 107 | datanoinfo = (const char *)data + INFOSIZE; | 108 | datanoinfo = (const char *)data + INFOSIZE; |
| 108 | classttrep = (const uint32_t *)datanoinfo; | 109 | classttrep = (const uint32_t *)datanoinfo; |
| 110 | rep32 = (const uint32_t *)(datanoinfo + DR_CLASS_TABLESIZE); | ||
| 111 | r = rep32[coord / POW_3_7]; | ||
| 109 | 112 | ||
| 110 | return DR_ISNASTY(classttrep[coord]); | 113 | return DR_ISNASTY(classttrep[r]); |
| 111 | } | 114 | } |
| 112 | 115 | ||
| 113 | STATIC size_t | 116 | STATIC size_t |
| 114 | coordinate_dr_gendata(void *data) | 117 | coordinate_dr_gendata(void *data) |
| 115 | { | 118 | { |
| 116 | uint64_t i, ii, j, n, t, nasty; | 119 | uint64_t i, j, n, t, nasty; |
| 117 | char *datanoinfo; | 120 | char *datanoinfo; |
| 118 | uint32_t *classttrep, *rep; | 121 | uint32_t *classttrep, *rep; |
| 119 | cube_t c; | 122 | cube_t c; |
| @@ -146,12 +149,11 @@ coordinate_dr_gendata(void *data) | |||
| 146 | continue; | 149 | continue; |
| 147 | 150 | ||
| 148 | c = invcoord_dreoesep_nosym(i); | 151 | c = invcoord_dreoesep_nosym(i); |
| 149 | ii = coord_dreoesep_nosym(c); | 152 | for (t = 1, nasty = 0; t < NTRANS && !nasty; t++) { |
| 150 | for (t = 0, nasty = 0; t < NTRANS && !nasty; t++) { | ||
| 151 | if (!((UINT64_C(1) << t) & coordinate_dr.trans_mask)) | 153 | if (!((UINT64_C(1) << t) & coordinate_dr.trans_mask)) |
| 152 | continue; | 154 | continue; |
| 153 | 155 | ||
| 154 | nasty = ii == coord_dreoesep_nosym(transform(c, t)); | 156 | nasty = i == coord_dreoesep_nosym(transform(c, t)); |
| 155 | } | 157 | } |
| 156 | 158 | ||
| 157 | for (t = 0; t < NTRANS; t++) { | 159 | for (t = 0; t < NTRANS; t++) { |
