summaryrefslogtreecommitdiffstats
path: root/arith.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2022-09-12 23:10:32 -0700
committerKaz Kylheku <kaz@kylheku.com>2022-09-12 23:10:32 -0700
commit10680dee1019909374df8990afba41eff8371238 (patch)
treeb46cec4ca461a68cf7eba7913aec404d7a844d42 /arith.c
parentb98e4e9827077e5e74184127324d0b73e0c0a373 (diff)
downloadtxr-10680dee1019909374df8990afba41eff8371238.tar.gz
txr-10680dee1019909374df8990afba41eff8371238.tar.bz2
txr-10680dee1019909374df8990afba41eff8371238.zip
Reduce proliferation of TAG_SHIFT.
* arith.c (num_to_buffer, c_unum, c_dbl_num, c_dbl_unum, c_num, c_fixnum): Use c_n inline function instead of open coding exactly the same thing. * lib.c (c_chr): Likewise. * struct.c (make_struct_type, lookup_slot, lookup_static_slot_desc, static_slot_p): Likewise.
Diffstat (limited to 'arith.c')
-rw-r--r--arith.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/arith.c b/arith.c
index 05edf13f..a9418943 100644
--- a/arith.c
+++ b/arith.c
@@ -139,7 +139,7 @@ int num_to_buffer(val num, mem_t *buf, int bytes)
switch (type(num)) {
case CHR: case NUM:
{
- cnum n = coerce(cnum, num) >> TAG_SHIFT;
+ cnum n = c_n(num);
mem_t *ptr = buf + bytes;
for (; n != 0; n >>= 8) {
@@ -192,7 +192,7 @@ ucnum c_unum(val num, val self)
switch (type(num)) {
case CHR: case NUM:
{
- cnum n = coerce(cnum, num) >> TAG_SHIFT;
+ cnum n = c_n(num);
if (n >= 0)
return n;
}
@@ -229,7 +229,7 @@ dbl_cnum c_dbl_num(val n)
{
switch (type(n)) {
case CHR: case NUM:
- return coerce(cnum, n) >> TAG_SHIFT;
+ return c_n(n);
case BGNUM:
if (mp_in_double_intptr_range(mp(n))) {
double_intptr_t out;
@@ -248,7 +248,7 @@ dbl_ucnum c_dbl_unum(val n)
switch (type(n)) {
case CHR: case NUM:
{
- dbl_cnum cn = coerce(cnum, n) >> TAG_SHIFT;
+ dbl_cnum cn = c_n(n);
if (cn >= 0)
return cn;
break;
@@ -4133,7 +4133,7 @@ cnum c_num(val n, val self)
{
switch (type(n)) {
case CHR: case NUM:
- return coerce(cnum, n) >> TAG_SHIFT;
+ return c_n(n);
case BGNUM:
if (mp_in_intptr_range(mp(n))) {
int_ptr_t out;
@@ -4151,7 +4151,7 @@ cnum c_fixnum(val num, val self)
{
switch (type(num)) {
case CHR: case NUM:
- return coerce(cnum, num) >> TAG_SHIFT;
+ return c_n(num);
default:
type_mismatch(lit("~a: ~s is not fixnum integer or character"),
self, num, nao);