diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2019-03-30 08:43:45 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2019-03-30 08:43:45 -0700 |
commit | e819894211d50c40ac7c7519528aa6f62940c6d2 (patch) | |
tree | 52fc4f0f1f55f87d0b5f99421331391885d6c0b3 | |
parent | 0f8c0340958faf0c7819936107e905931f4b4725 (diff) | |
download | txr-e819894211d50c40ac7c7519528aa6f62940c6d2.tar.gz txr-e819894211d50c40ac7c7519528aa6f62940c6d2.tar.bz2 txr-e819894211d50c40ac7c7519528aa6f62940c6d2.zip |
u-d-arithmetic: forgotten dispatch cases.
* arith.c (plus, minus, mul, mod, floordiv): Dispatch reverse
operaton for PTR/COBJ combination.
-rw-r--r-- | arith.c | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -650,6 +650,10 @@ tail: case TYPE_PAIR(COBJ, RNG): case TYPE_PAIR(COBJ, COBJ): return do_binary_method(self, self, anum, bnum); + case TYPE_PAIR(BGNUM, COBJ): + case TYPE_PAIR(FLNUM, COBJ): + case TYPE_PAIR(RNG, COBJ): + return do_binary_method(self, self, bnum, anum); default: break; } @@ -818,6 +822,10 @@ tail: case TYPE_PAIR(COBJ, RNG): case TYPE_PAIR(COBJ, COBJ): return do_binary_method(self, self, anum, bnum); + case TYPE_PAIR(BGNUM, COBJ): + case TYPE_PAIR(FLNUM, COBJ): + case TYPE_PAIR(RNG, COBJ): + return do_binary_method(self, inv_minus_s, bnum, anum); default: break; } @@ -1065,6 +1073,10 @@ tail: case TYPE_PAIR(COBJ, RNG): case TYPE_PAIR(COBJ, COBJ): return do_binary_method(self, self, anum, bnum); + case TYPE_PAIR(BGNUM, COBJ): + case TYPE_PAIR(FLNUM, COBJ): + case TYPE_PAIR(RNG, COBJ): + return do_binary_method(self, self, bnum, anum); default: break; } @@ -1380,6 +1392,9 @@ tail: case TYPE_PAIR(COBJ, FLNUM): case TYPE_PAIR(COBJ, COBJ): return do_binary_method(self, self, anum, bnum); + case TYPE_PAIR(BGNUM, COBJ): + case TYPE_PAIR(FLNUM, COBJ): + return do_binary_method(self, r_mod_s, bnum, anum); } } invalid_ops(self, anum, bnum); @@ -1544,8 +1559,13 @@ tail: return rcons(floordiv(from(anum), bnum), floordiv(to(anum), bnum)); case TYPE_PAIR(COBJ, BGNUM): case TYPE_PAIR(COBJ, FLNUM): + case TYPE_PAIR(COBJ, RNG): case TYPE_PAIR(COBJ, COBJ): return do_binary_method(self, self, anum, bnum); + case TYPE_PAIR(BGNUM, COBJ): + case TYPE_PAIR(FLNUM, COBJ): + case TYPE_PAIR(RNG, COBJ): + return do_binary_method(self, r_floor_s, bnum, anum); } } invalid_ops(self, anum, bnum); |