core: Remove make_number.

* mes.c (MAKE_NUMBER): New macro.
  (tmp_num_, tmp_num_2): New function.
  (make_number): Remove.  Update callers.
This commit is contained in:
Jan Nieuwenhuizen 2016-12-23 16:22:19 +01:00
parent c2a12c4f34
commit c2bfeffe96
7 changed files with 29 additions and 22 deletions

2
lib.c
View File

@ -40,7 +40,7 @@ length (SCM x)
n++;
x = cdr (x);
}
return make_number (n);
return MAKE_NUMBER (n);
}
SCM

14
math.c
View File

@ -76,7 +76,7 @@ minus (SCM x) ///((name . "-") (arity . n))
n -= VALUE (car (x));
x = cdr (x);
}
return make_number (n);
return MAKE_NUMBER (n);
}
SCM
@ -89,7 +89,7 @@ plus (SCM x) ///((name . "+") (arity . n))
n += VALUE (car (x));
x = cdr (x);
}
return make_number (n);
return MAKE_NUMBER (n);
}
SCM
@ -107,7 +107,7 @@ divide (SCM x) ///((name . "/") (arity . n))
n /= VALUE (car (x));
x = cdr (x);
}
return make_number (n);
return MAKE_NUMBER (n);
}
SCM
@ -115,7 +115,7 @@ modulo (SCM a, SCM b)
{
assert (TYPE (a) == NUMBER);
assert (TYPE (b) == NUMBER);
return make_number (VALUE (a) % VALUE (b));
return MAKE_NUMBER (VALUE (a) % VALUE (b));
}
SCM
@ -128,7 +128,7 @@ multiply (SCM x) ///((name . "*") (arity . n))
n *= VALUE (car (x));
x = cdr (x);
}
return make_number (n);
return MAKE_NUMBER (n);
}
SCM
@ -141,7 +141,7 @@ logior (SCM x) ///((arity . n))
n |= VALUE (car (x));
x = cdr (x);
}
return make_number (n);
return MAKE_NUMBER (n);
}
SCM
@ -151,5 +151,5 @@ ash (SCM n, SCM count)
assert (TYPE (count) == NUMBER);
int cn = VALUE (n);
int ccount = VALUE (count);
return make_number ((ccount < 0) ? cn >> -ccount : cn << ccount);
return MAKE_NUMBER ((ccount < 0) ? cn >> -ccount : cn << ccount);
}

24
mes.c
View File

@ -181,6 +181,8 @@ SCM r3 = 0; // param 3
#define CDADAR(x) CAR (CDR (CAR (CDR (x))))
#define CADR(x) CAR (CDR (x))
#define MAKE_NUMBER(n) make_cell (tmp_num_ (NUMBER), 0, tmp_num2_ (n))
SCM display_ (FILE* f, SCM x);
SCM vm_call (function0_t f, SCM p1, SCM p2, SCM a);
@ -684,11 +686,17 @@ make_char (int x)
}
SCM
make_number (int x)
tmp_num_ (int x)
{
g_cells[tmp_num].value = x;
return tmp_num;
}
SCM
tmp_num2_ (int x)
{
g_cells[tmp_num].value = NUMBER;
g_cells[tmp_num2].value = x;
return make_cell (tmp_num, tmp_num2, tmp_num2);
return tmp_num2;
}
SCM
@ -760,7 +768,7 @@ SCM
vector_length (SCM x)
{
assert (TYPE (x) == VECTOR);
return make_number (LENGTH (x));
return MAKE_NUMBER (LENGTH (x));
}
SCM
@ -771,7 +779,7 @@ vector_ref (SCM x, SCM i)
SCM e = VECTOR (x) + VALUE (i);
if (TYPE (e) == REF) e = g_cells[e].ref;
if (TYPE (e) == CHAR) e = make_char (VALUE (e));
if (TYPE (e) == NUMBER) e = make_number (VALUE (e));
if (TYPE (e) == NUMBER) e = MAKE_NUMBER (VALUE (e));
return e;
}
@ -828,13 +836,13 @@ peekchar ()
SCM
peek_byte ()
{
return make_number (peekchar ());
return MAKE_NUMBER (peekchar ());
}
SCM
read_byte ()
{
return make_number (getchar ());
return MAKE_NUMBER (getchar ());
}
SCM
@ -868,7 +876,7 @@ SCM
char_to_integer (SCM x)
{
assert (TYPE (x) == CHAR);
return make_number (VALUE (x));
return MAKE_NUMBER (VALUE (x));
}
SCM

View File

@ -48,13 +48,13 @@ force_output (SCM p) ///((arity . n))
SCM
open_input_file (SCM file_name)
{
return make_number (open (string_to_cstring (file_name), O_RDONLY));
return MAKE_NUMBER (open (string_to_cstring (file_name), O_RDONLY));
}
SCM
current_input_port ()
{
return make_number (fileno (g_stdin));
return MAKE_NUMBER (fileno (g_stdin));
}
SCM

View File

@ -103,7 +103,7 @@ lookup_ (SCM s, SCM a)
n += VALUE (car (p)) - '0';
p = cdr (p);
}
if (p == cell_nil) return make_number (n * sign);
if (p == cell_nil) return MAKE_NUMBER (n * sign);
}
SCM x = lookup_symbol_ (s);

View File

@ -48,7 +48,7 @@ SCM
string_length (SCM x)
{
assert (TYPE (x) == STRING);
return make_number (VALUE (length (STRING (x))));
return MAKE_NUMBER (VALUE (length (STRING (x))));
}
SCM

3
type.c
View File

@ -113,9 +113,8 @@ boolean_p (SCM x)
}
#endif
SCM make_number (int);
SCM
mes_type_of (SCM x)
{
return make_number (TYPE (x));
return MAKE_NUMBER (TYPE (x));
}