(FILECREATED " 8-Feb-86 15:24:49" {DSK}<LISPFILES2>IMPROVEDDCOMS>FORMAT.;1 2220
changes to: (VARS FORMATCOMS))
(* Copyright (c) 1986 by Quintus Computer Systems, Inc. All rights reserved.)
(PRETTYCOMPRINT FORMATCOMS)
(RPAQQ FORMATCOMS ((ADDVARS (GLOBALVARS QP.FLOAT.FORMAT.SPEC)) (FNS QP.CPRINT QP.FLOAT.FORMAT.PRINT
QP.INIT.FLOAT.FORMAT.SPEC QP.LEN) (MACROS QP.SET.DEC.PART QP.SET.EXP.PART) (P (
QP.INIT.FLOAT.FORMAT.SPEC))))
(ADDTOVAR GLOBALVARS QP.FLOAT.FORMAT.SPEC)
(DEFINEQ
(QP.CPRINT
(LAMBDA (FLOAT TYPE PRECISION) (LET* ((STREAM (QIO.STREAM QP.CURRENT.OUTPUT)) (START.POSIT (POSITION
STREAM))) (QP.FLOAT.FORMAT.PRINT FLOAT TYPE PRECISION STREAM) (LET ((NUMCHARS (IDIFFERENCE (POSITION
STREAM) START.POSIT))) (INCF (QIO.CHARPOS QP.CURRENT.OUTPUT) NUMCHARS) (INCF (QIO.LINEPOS
QP.CURRENT.OUTPUT) NUMCHARS)))))
(QP.FLOAT.FORMAT.PRINT
(LAMBDA (FLOAT TYPE PRECISION STREAM) (LET ((USE.EXPONENTIAL.FORMAT NIL)) (COND ((OR (EQ TYPE (
CHARCODE E)) (EQ TYPE (CHARCODE e))) (SETQ USE.EXPONENTIAL.FORMAT T)) ((AND (OR (EQ TYPE (CHARCODE G))
(EQ TYPE (CHARCODE g))) (OR (GREATERP FLOAT 100000.0) (LESSP FLOAT .00001))) (SETQ
USE.EXPONENTIAL.FORMAT T))) (LET ((EXPPART (COND (USE.EXPONENTIAL.FORMAT 4) (T NIL))) (DECPART
PRECISION)) (QP.SET.DEC.PART DECPART) (QP.SET.EXP.PART EXPPART) (PRINTNUM QP.FLOAT.FORMAT.SPEC FLOAT
STREAM)))))
(QP.INIT.FLOAT.FORMAT.SPEC
(LAMBDA NIL (SETQ QP.FLOAT.FORMAT.SPEC (LIST (QUOTE FLOAT) NIL 5 4 NIL NIL))))
(QP.LEN
(LAMBDA (FLOAT TYPE PRECISION) (LET* ((STREAM (OPENFILE (QUOTE {CORE}QUINTUS.SCR1;1) (QUOTE OUTPUT)))
(START.POSIT (POSITION STREAM))) (QP.FLOAT.FORMAT.PRINT FLOAT TYPE PRECISION STREAM) (LET ((RESULT (
IDIFFERENCE (POSITION STREAM) START.POSIT))) (CLOSEF STREAM) RESULT))))
)
(DECLARE: EVAL@COMPILE
(PUTPROPS QP.SET.DEC.PART MACRO (**MACROARG** (LET ((VALUE (CAR (NTH **MACROARG** 1)))) (BQUOTE (
RPLACA (NTH QP.FLOAT.FORMAT.SPEC 3) (\, VALUE))))))
(PUTPROPS QP.SET.EXP.PART MACRO (**MACROARG** (LET ((VALUE (CAR (NTH **MACROARG** 1)))) (BQUOTE (
RPLACA (NTH QP.FLOAT.FORMAT.SPEC 4) (\, VALUE))))))
)
(QP.INIT.FLOAT.FORMAT.SPEC)
(PUTPROPS FORMAT COPYRIGHT ("Quintus Computer Systems, Inc" 1986))
(DECLARE: DONTCOPY
(FILEMAP (NIL (501 1777 (QP.CPRINT 511 . 853) (QP.FLOAT.FORMAT.PRINT 855 . 1375) (
QP.INIT.FLOAT.FORMAT.SPEC 1377 . 1486) (QP.LEN 1488 . 1775)))))
STOP