mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-11-27 14:37:16 +00:00
fixed nmul to use get_half_shift_cycles
This commit is contained in:
parent
1e1ca5e795
commit
54f476df0d
@ -2573,6 +2573,10 @@ EX namespace twist {
|
|||||||
return floor(shift / TAU + .5) * TAU;
|
return floor(shift / TAU + .5) * TAU;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EX ld get_half_shift_cycles(ld shift) {
|
||||||
|
return floor(shift / M_PI + .5) * M_PI;
|
||||||
|
}
|
||||||
|
|
||||||
EX transmatrix chg_shift(ld x) {
|
EX transmatrix chg_shift(ld x) {
|
||||||
return cspin(2, 3, x) * cspin(0, 1, x);
|
return cspin(2, 3, x) * cspin(0, 1, x);
|
||||||
}
|
}
|
||||||
@ -2580,7 +2584,7 @@ EX namespace twist {
|
|||||||
/** multiply a SLR-shiftmatrix by a SLR-shiftpoint */
|
/** multiply a SLR-shiftmatrix by a SLR-shiftpoint */
|
||||||
EX shiftpoint nmul(const shiftmatrix& T, shiftpoint h) {
|
EX shiftpoint nmul(const shiftmatrix& T, shiftpoint h) {
|
||||||
optimize_shift(h);
|
optimize_shift(h);
|
||||||
ld sh = get_shift_cycles(h.shift);
|
ld sh = get_half_shift_cycles(h.shift);
|
||||||
h.shift -= sh;
|
h.shift -= sh;
|
||||||
auto res0 = T;
|
auto res0 = T;
|
||||||
optimize_shift(res0);
|
optimize_shift(res0);
|
||||||
@ -2597,7 +2601,7 @@ EX namespace twist {
|
|||||||
/** multiply a SLR-shiftmatrix by a SLR-shiftmatrix */
|
/** multiply a SLR-shiftmatrix by a SLR-shiftmatrix */
|
||||||
EX shiftmatrix nmul(const shiftmatrix& T, shiftmatrix h) {
|
EX shiftmatrix nmul(const shiftmatrix& T, shiftmatrix h) {
|
||||||
optimize_shift(h);
|
optimize_shift(h);
|
||||||
ld sh = get_shift_cycles(h.shift);
|
ld sh = get_half_shift_cycles(h.shift);
|
||||||
h.shift -= sh;
|
h.shift -= sh;
|
||||||
|
|
||||||
auto res0 = T;
|
auto res0 = T;
|
||||||
|
Loading…
Reference in New Issue
Block a user