(FILECREATED "16-FEB-83 17:38:44" {PHYLUM}<LISPUSERS>ARITHDECLS.;2 3413 changes to: (VARS ARITHDECLSCOMS) (PROPS (FPLUS DECLOF) (IMINUS DECLOF) (FIX DECLOF) (ITIMES DECLOF) (IQUOTIENT DECLOF) (IDIFFERENCE DECLOF) (IPLUS DECLOF) (FLOAT DECLOF) (FMINUS DECLOF) (FQUOTIENT DECLOF) (FDIFFERENCE DECLOF) (FTIMES DECLOF) (IMOD DECLOF) (LOGXOR DECLOF) (LOGOR DECLOF) (LOGAND DECLOF)) previous date: "10-APR-79 16:07:09" {PHYLUM}<LISPUSERS>ARITHDECLS.;1) (* Copyright (c) 1983 by Xerox Corporation) (PRETTYCOMPRINT ARITHDECLSCOMS) (RPAQQ ARITHDECLSCOMS ((FNS ARITHDECL MAXDECL) (PROP DECLOF FDIFFERENCE FIX FLOAT FMINUS FPLUS FQUOTIENT FTIMES IDIFFERENCE IMINUS IPLUS IQUOTIENT ITIMES LOGAND LOGOR LOGXOR) (PROP DECLOF ADD1 IMAX IMIN IMOD SUB1 PLUS DIFFERENCE TIMES QUOTIENT MAX MIN MINUS REMAINDER EXPT RAND SQRT LENGTH FLENGTH FMAX FMIN))) (DEFINEQ (ARITHDECL [LAMBDA (FORM) (* rmk: "18-MAR-79 23:10") (* Computes the declarations for the generic arithmetic functions) (for A (TYPE ← 'FIXP) in FORM::1 do (SELCOVERSQ A (FLOATP (RETURN 'FLOATP)) (FIXP) TYPE←'NUMBERP) finally (RETURN TYPE]) (MAXDECL [LAMBDA (FORM) (* rmk: "18-MAR-79 23:12") (* Returns the common arithmetic type of all arguments, or NUMBERP if they differ. Used for MAX and MIN) (if FORM::1=NIL then 'FIXP else (for A TYPE in FORM::2 first TYPE←(SELCOVERSQ FORM:2 (FIXP 'FIXP) (FLOATP 'FLOATP) (RETURN 'NUMBERP)) unless (COVERS TYPE (DECLOF A)) do (RETURN 'NUMBERP) finally (RETURN TYPE]) ) (PUTPROPS FDIFFERENCE DECLOF FLOATP) (PUTPROPS FIX DECLOF FIXP) (PUTPROPS FLOAT DECLOF FLOATP) (PUTPROPS FMINUS DECLOF FLOATP) (PUTPROPS FPLUS DECLOF FLOATP) (PUTPROPS FQUOTIENT DECLOF FLOATP) (PUTPROPS FTIMES DECLOF FLOATP) (PUTPROPS IDIFFERENCE DECLOF FIXP) (PUTPROPS IMINUS DECLOF FIXP) (PUTPROPS IPLUS DECLOF FIXP) (PUTPROPS IQUOTIENT DECLOF FIXP) (PUTPROPS ITIMES DECLOF FIXP) (PUTPROPS LOGAND DECLOF FIXP) (PUTPROPS LOGOR DECLOF FIXP) (PUTPROPS LOGXOR DECLOF FIXP) (PUTPROPS ADD1 DECLOF FIXP) (PUTPROPS IMAX DECLOF FIXP) (PUTPROPS IMIN DECLOF FIXP) (PUTPROPS IMOD DECLOF FIXP) (PUTPROPS SUB1 DECLOF FIXP) (PUTPROPS PLUS DECLOF (FUNCTION ARITHDECL)) (PUTPROPS DIFFERENCE DECLOF (FUNCTION ARITHDECL)) (PUTPROPS TIMES DECLOF (FUNCTION ARITHDECL)) (PUTPROPS QUOTIENT DECLOF (FUNCTION ARITHDECL)) (PUTPROPS MAX DECLOF (FUNCTION MAXDECL)) (PUTPROPS MIN DECLOF (FUNCTION MAXDECL)) (PUTPROPS MINUS DECLOF (FUNCTION ARITHDECL)) (PUTPROPS REMAINDER DECLOF (FUNCTION ARITHDECL)) (PUTPROPS EXPT DECLOF (FUNCTION ARITHDECL)) (PUTPROPS RAND DECLOF (FUNCTION ARITHDECL)) (PUTPROPS SQRT DECLOF FLOATP) (PUTPROPS LENGTH DECLOF FIXP) (PUTPROPS FLENGTH DECLOF FIXP) (PUTPROPS FMAX DECLOF FLOATP) (PUTPROPS FMIN DECLOF FLOATP) (PUTPROPS ARITHDECLS COPYRIGHT ("Xerox Corporation" 1983)) (DECLARE: DONTCOPY (FILEMAP (NIL (962 1944 (ARITHDECL 972 . 1374) (MAXDECL 1376 . 1942))))) STOP