/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/artutl.c,v 1.3 1989/09/24 16:15:01 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/artutl.c,v 1.4 1989/09/25 16:50:56 cph Exp $
Copyright (c) 1989 Massachusetts Institute of Technology
? (BIGNUM_TO_FLONUM (bignum))
: SHARP_F);
}
-
+\f
Boolean
flonum_integer_p (x)
SCHEME_OBJECT x;
return (cons ((double_to_flonum (significand)),
(long_to_integer ((long) exponent))));
}
+
+SCHEME_OBJECT
+flonum_denormalize (x, e)
+ SCHEME_OBJECT x;
+ SCHEME_OBJECT e;
+{
+ extern double ldexp ();
+ return (double_to_flonum (ldexp ((FLONUM_TO_DOUBLE (x)),
+ ((int) (integer_to_long (e))))));
+}
\f
/* Generic Integer Operations */
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/extern.h,v 9.34 1989/09/24 13:49:05 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/extern.h,v 9.35 1989/09/25 16:51:09 cph Exp $
Copyright (c) 1987, 1988, 1989 Massachusetts Institute of Technology
extern SCHEME_OBJECT flonum_ceiling ();
extern SCHEME_OBJECT flonum_round ();
extern SCHEME_OBJECT flonum_normalize ();
+extern SCHEME_OBJECT flonum_denormalize ();
extern Boolean integer_zero_p ();
extern Boolean integer_negative_p ();
extern Boolean integer_positive_p ();
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/flonum.c,v 9.29 1989/09/24 15:12:57 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/flonum.c,v 9.30 1989/09/25 16:51:17 cph Exp $
Copyright (c) 1987, 1988, 1989 Massachusetts Institute of Technology
PRIMITIVE_HEADER (1);
Set_Time_Zone (Zone_Math);
CHECK_ARG (1, FLONUM_P);
- PRIMITIVE_RETURN (flonum_normalize (ARG_REF (1)));
+ PRIMITIVE_RETURN (flonum_normalize (ARG_REF (1)));
+}
+
+DEFINE_PRIMITIVE ("FLONUM-DENORMALIZE", Prim_flonum_denormalize, 2, 2, 0)
+{
+ PRIMITIVE_HEADER (2);
+ Set_Time_Zone (Zone_Math);
+ CHECK_ARG (1, FLONUM_P);
+ CHECK_ARG (1, INTEGER_P);
+ PRIMITIVE_RETURN (flonum_denormalize ((ARG_REF (1)), (ARG_REF (2))));
}
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/version.h,v 11.2 1989/09/24 13:50:06 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/version.h,v 11.3 1989/09/25 16:51:23 cph Exp $
Copyright (c) 1988, 1989 Massachusetts Institute of Technology
#define VERSION 11
#endif
#ifndef SUBVERSION
-#define SUBVERSION 2
+#define SUBVERSION 3
#endif
#ifndef UCODE_TABLES_FILENAME
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/version.h,v 11.2 1989/09/24 13:50:06 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/version.h,v 11.3 1989/09/25 16:51:23 cph Exp $
Copyright (c) 1988, 1989 Massachusetts Institute of Technology
#define VERSION 11
#endif
#ifndef SUBVERSION
-#define SUBVERSION 2
+#define SUBVERSION 3
#endif
#ifndef UCODE_TABLES_FILENAME