Added built in classes FIXNUM and BIGNUM.

parent 7c9ee7bd
......@@ -253,6 +253,8 @@ enum ecl_built_in_classes {
ECL_BUILTIN_REAL,
ECL_BUILTIN_RATIONAL,
ECL_BUILTIN_INTEGER,
ECL_BUILTIN_FIXNUM,
ECL_BUILTIN_BIGNUM,
ECL_BUILTIN_RATIO,
ECL_BUILTIN_FLOAT,
ECL_BUILTIN_COMPLEX,
......@@ -293,8 +295,9 @@ cl_class_of(cl_object x)
case t_instance:
@(return ECL_CLASS_OF(x))
case t_fixnum:
index = ECL_BUILTIN_FIXNUM; break;
case t_bignum:
index = ECL_BUILTIN_INTEGER; break;
index = ECL_BUILTIN_BIGNUM; break;
case t_ratio:
index = ECL_BUILTIN_RATIO; break;
case t_singlefloat:
......
......@@ -204,6 +204,8 @@
(real number)
(rational real)
(integer rational)
(fixnum integer)
(bignum integer)
(ratio rational)
(float real)
(complex number)
......
......@@ -1165,6 +1165,8 @@ if not possible."
(FUNCTION (OR COMPILED-FUNCTION GENERIC-FUNCTION))
(INTEGER (INTEGER * *))
(FIXNUM (INTEGER #.most-negative-fixnum #.most-positive-fixnum))
(BIGNUM (OR (INTEGER * (#.most-negative-fixnum)) (INTEGER (#.most-positive-fixnum) *)))
(SINGLE-FLOAT (SINGLE-FLOAT * *))
(DOUBLE-FLOAT (DOUBLE-FLOAT * *))
#+long-float
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment