(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