/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/artutl.c,v 1.5 1990/09/08 01:38:18 cph Rel $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/artutl.c,v 1.6 1992/01/15 02:17:15 jinx Exp $
Copyright (c) 1989, 1990 Massachusetts Institute of Technology
/* Conversions between Scheme types and C types. */
long
-fixnum_to_long (fixnum)
- SCHEME_OBJECT fixnum;
+DEFUN (fixnum_to_long, (fixnum), SCHEME_OBJECT fixnum)
{
return (FIXNUM_TO_LONG (fixnum));
}
SCHEME_OBJECT
-double_to_fixnum (value)
- double value;
+DEFUN (double_to_fixnum, (value), double value)
{
#ifdef HAVE_DOUBLE_TO_LONG_BUG
fast long temp = ((long) value);
}
\f
Boolean
-integer_to_long_p (n)
- fast SCHEME_OBJECT n;
+DEFUN (integer_to_long_p, (n), fast SCHEME_OBJECT n)
{
return ((FIXNUM_P (n)) || (BIGNUM_TO_LONG_P (n)));
}
long
-integer_to_long (n)
- fast SCHEME_OBJECT n;
+DEFUN (integer_to_long,
+ (n),
+ fast SCHEME_OBJECT n)
{
return ((FIXNUM_P (n)) ? (FIXNUM_TO_LONG (n)) : (bignum_to_long (n)));
}
SCHEME_OBJECT
-long_to_integer (number)
- long number;
+DEFUN (long_to_integer, (number), long number)
{
return
((LONG_TO_FIXNUM_P (number))
}
Boolean
-integer_to_double_p (n)
- fast SCHEME_OBJECT n;
+DEFUN (integer_to_double_p, (n), fast SCHEME_OBJECT n)
{
return ((FIXNUM_P (n)) || (BIGNUM_TO_DOUBLE_P (n)));
}
double
-integer_to_double (n)
- fast SCHEME_OBJECT n;
+DEFUN (integer_to_double, (n), fast SCHEME_OBJECT n)
{
return ((FIXNUM_P (n)) ? (FIXNUM_TO_DOUBLE (n)) : (bignum_to_double (n)));
}
SCHEME_OBJECT
-double_to_integer (x)
- fast double x;
+DEFUN (double_to_integer, (x), fast double x)
{
return
((DOUBLE_TO_FIXNUM_P (x))
}
double
-double_truncate (x)
- fast double x;
+DEFUN (double_truncate, (x), fast double x)
{
double iptr;
(void) modf (x, (&iptr));
/* Conversions between Scheme types and Scheme types. */
SCHEME_OBJECT
-bignum_to_fixnum (bignum)
- fast SCHEME_OBJECT bignum;
+DEFUN (bignum_to_fixnum, (bignum), fast SCHEME_OBJECT bignum)
{
return
((BIGNUM_TO_FIXNUM_P (bignum))
}
SCHEME_OBJECT
-bignum_to_integer (bignum)
- fast SCHEME_OBJECT bignum;
+DEFUN (bignum_to_integer, (bignum), fast SCHEME_OBJECT bignum)
{
return
((BIGNUM_TO_FIXNUM_P (bignum))
}
SCHEME_OBJECT
-bignum_to_flonum (bignum)
- fast SCHEME_OBJECT bignum;
+DEFUN (bignum_to_flonum, (bignum), fast SCHEME_OBJECT bignum)
{
return
((BIGNUM_TO_FLONUM_P (bignum))
}
\f
Boolean
-flonum_integer_p (x)
- SCHEME_OBJECT x;
+DEFUN (flonum_integer_p, (x), SCHEME_OBJECT x)
{
extern double modf ();
double iptr;
}
SCHEME_OBJECT
-flonum_floor (x)
- SCHEME_OBJECT x;
+DEFUN (flonum_floor, (x), SCHEME_OBJECT x)
{
extern double floor ();
return (double_to_flonum (floor (FLONUM_TO_DOUBLE (x))));
}
SCHEME_OBJECT
-flonum_ceiling (x)
- SCHEME_OBJECT x;
+DEFUN (flonum_ceiling, (x), SCHEME_OBJECT x)
{
extern double ceil ();
return (double_to_flonum (ceil (FLONUM_TO_DOUBLE (x))));
}
SCHEME_OBJECT
-flonum_round (x)
- SCHEME_OBJECT x;
+DEFUN (flonum_round,
+ (x),
+ SCHEME_OBJECT x)
{
fast double dx = (FLONUM_TO_DOUBLE (x));
return
}
SCHEME_OBJECT
-flonum_normalize (x)
- SCHEME_OBJECT x;
+DEFUN (flonum_normalize, (x), SCHEME_OBJECT x)
{
extern double frexp ();
int exponent;
}
SCHEME_OBJECT
-flonum_denormalize (x, e)
- SCHEME_OBJECT x;
- SCHEME_OBJECT e;
+DEFUN (flonum_denormalize, (x, e), SCHEME_OBJECT x AND SCHEME_OBJECT e)
{
extern double ldexp ();
return (double_to_flonum (ldexp ((FLONUM_TO_DOUBLE (x)),
/* Generic Integer Operations */
Boolean
-integer_zero_p (n)
- SCHEME_OBJECT n;
+DEFUN (integer_zero_p, (n), SCHEME_OBJECT n)
{
return ((FIXNUM_P (n)) ? (FIXNUM_ZERO_P (n)) : (BIGNUM_ZERO_P (n)));
}
Boolean
-integer_negative_p (n)
- SCHEME_OBJECT n;
+DEFUN (integer_negative_p, (n), SCHEME_OBJECT n)
{
return ((FIXNUM_P (n)) ? (FIXNUM_NEGATIVE_P (n)) : (BIGNUM_NEGATIVE_P (n)));
}
Boolean
-integer_positive_p (n)
- SCHEME_OBJECT n;
+DEFUN (integer_positive_p, (n), SCHEME_OBJECT n)
{
return ((FIXNUM_P (n)) ? (FIXNUM_POSITIVE_P (n)) : (BIGNUM_POSITIVE_P (n)));
}
Boolean
-integer_equal_p (n, m)
- SCHEME_OBJECT n;
- SCHEME_OBJECT m;
+DEFUN (integer_equal_p, (n, m), SCHEME_OBJECT n AND SCHEME_OBJECT m)
{
return
((FIXNUM_P (n))
}
Boolean
-integer_less_p (n, m)
- SCHEME_OBJECT n;
- SCHEME_OBJECT m;
+DEFUN (integer_less_p, (n, m), SCHEME_OBJECT n AND SCHEME_OBJECT m)
{
return
((FIXNUM_P (n))
}
SCHEME_OBJECT
-integer_negate (n)
- SCHEME_OBJECT n;
+DEFUN (integer_negate, (n), SCHEME_OBJECT n)
{
return
((FIXNUM_P (n))
}
\f
SCHEME_OBJECT
-integer_add (n, m)
- SCHEME_OBJECT n;
- SCHEME_OBJECT m;
+DEFUN (integer_add, (n, m), SCHEME_OBJECT n AND SCHEME_OBJECT m)
{
return
((FIXNUM_P (n))
}
SCHEME_OBJECT
-integer_add_1 (n)
- SCHEME_OBJECT n;
+DEFUN (integer_add_1, (n), SCHEME_OBJECT n)
{
return
((FIXNUM_P (n))
}
SCHEME_OBJECT
-integer_subtract (n, m)
- SCHEME_OBJECT n;
- SCHEME_OBJECT m;
+DEFUN (integer_subtract, (n, m), SCHEME_OBJECT n AND SCHEME_OBJECT m)
{
return
((FIXNUM_P (n))
}
SCHEME_OBJECT
-integer_subtract_1 (n)
- SCHEME_OBJECT n;
+DEFUN (integer_subtract_1, (n), SCHEME_OBJECT n)
{
return
((FIXNUM_P (n))
}
SCHEME_OBJECT
-integer_multiply (n, m)
- SCHEME_OBJECT n;
- SCHEME_OBJECT m;
+DEFUN (integer_multiply, (n, m), SCHEME_OBJECT n AND SCHEME_OBJECT m)
{
extern SCHEME_OBJECT Mul ();
fast SCHEME_OBJECT result;
}
\f
Boolean
-integer_divide (n, d, q, r)
- SCHEME_OBJECT n;
- SCHEME_OBJECT d;
- SCHEME_OBJECT * q;
- SCHEME_OBJECT * r;
+DEFUN (integer_divide, (n, d, q, r),
+ SCHEME_OBJECT n AND SCHEME_OBJECT d
+ AND SCHEME_OBJECT * q AND SCHEME_OBJECT * r)
{
if (FIXNUM_P (n))
{
}
\f
SCHEME_OBJECT
-integer_quotient (n, d)
- SCHEME_OBJECT n;
- SCHEME_OBJECT d;
+DEFUN (integer_quotient, (n, d), SCHEME_OBJECT n AND SCHEME_OBJECT d)
{
if (FIXNUM_P (n))
{
}
SCHEME_OBJECT
-integer_remainder (n, d)
- SCHEME_OBJECT n;
- SCHEME_OBJECT d;
+DEFUN (integer_remainder, (n, d), SCHEME_OBJECT n AND SCHEME_OBJECT d)
{
if (FIXNUM_P (n))
{
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/flonum.c,v 9.36 1991/10/17 09:09:38 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/flonum.c,v 9.37 1992/01/15 02:22:53 jinx Exp $
-Copyright (c) 1987-91 Massachusetts Institute of Technology
+Copyright (c) 1987-92 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
extern int errno;
double
-arg_flonum (arg_number)
- int arg_number;
+DEFUN (arg_flonum, (arg_number), int arg_number)
{
SCHEME_OBJECT argument = (ARG_REF (arg_number));
if (! (FLONUM_P (argument)))
#define FLONUM_SIZE ((BYTES_TO_WORDS (sizeof (double))) + 1)
SCHEME_OBJECT
-double_to_flonum (value)
- double value;
+DEFUN (double_to_flonum, (value), double value)
{
ALIGN_FLOAT (Free);
Primitive_GC_If_Needed (FLONUM_SIZE);
DEFINE_PRIMITIVE ("FLONUM-ATAN2", Prim_flonum_atan2, 2, 2, 0)
{
- extern double atan2 ();
+ extern double EXFUN (atan2, (double, double));
PRIMITIVE_HEADER (2);
{
fast double y = (arg_flonum (1));
DEFINE_PRIMITIVE ("FLONUM-EXPT", Prim_flonum_expt, 2, 2, 0)
{
- extern double pow ();
+ extern double EXFUN (pow, (double, double));
PRIMITIVE_HEADER (2);
FLONUM_RESULT (pow ((arg_flonum (1)), (arg_flonum (2))));
}