common-math-package.lisp 2.08 KB
Newer Older
Marco Antoniotti's avatar
Marco Antoniotti committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
;;;; -*- Mode: Lisp -*-

;;;; common-math-package.lisp
;;;;
;;;; See file COPYING in the main folder for licensing information.

(defpackage "IT.UNIMIB.DISCO.MA.CL.EXT.MATH" (:use "CL")
  (:nicknames
   "COMMON-MATH"
   "MATH"
   "CL.MATH"
   "CL.EXTENSIONS.MATH"
   "CL.EXT.MATH")


  ;; IEEE names.

  (:export
   "NAN")

  (:export
   "LONG-FLOAT-POSITIVE-INFINITY"
   "LONG-FLOAT-NEGATIVE-INFINITY"

   "DOUBLE-FLOAT-POSITIVE-INFINITY"
   "DOUBLE-FLOAT-NEGATIVE-INFINITY"

   "SINGLE-FLOAT-POSITIVE-INFINITY"
   "SINGLE-FLOAT-NEGATIVE-INFINITY"

   "SHORT-FLOAT-POSITIVE-INFINITY"
   "SHORT-FLOAT-NEGATIVE-INFINITY"
   )

  (:export "+POSITIVE-INFINITY+" "+NEGATIVE-INFINITY+")

  (:export
   "IS-NAN"
   "NAN-P"
   
   "IS-INFINITY"
   "INFINITY-P"
   )

  (:export
   "ROUNDING-MODES"
   )


  (:export
   "UNIT-ROUNDOFF"

   "+UNIT-ROUNDOFF-RATIONAL+"
   "+UNIT-ROUNDOFF-SHORT-RATIONAL+"
   "+UNIT-ROUNDOFF-SINGLE-RATIONAL+"
   "+UNIT-ROUNDOFF-DOUBLE-RATIONAL+"
   "+UNIT-ROUNDOFF-LONG-RATIONAL+"

   "+UNIT-ROUNDOFF-FLOAT+"
   "+UNIT-ROUNDOFF-SHORT-FLOAT+"
   "+UNIT-ROUNDOFF-SINGLE-FLOAT+"
   "+UNIT-ROUNDOFF-DOUBLE-FLOAT+"
   "+UNIT-ROUNDOFF-LONG-FLOAT+"
   )




  ;; Generic names (shadowing CL symbols).

  (:shadow "=" "+" "-" "*" "/" ">" "<" ">=" "<=" "/=")
  (:shadow "PLUSP" "MINUSP" "ZEROP")
  (:shadow "EXPT" "GCD" "LCM")
  
  (:export "=" "+" "-" "*" "/" ">" "<" ">=" "<=" "/=")
  (:export "PLUSP" "MINUSP" "ZEROP")
  (:export "EXPT" "GCD" "LCM")

  (:export "INCREASING" "DECREASING")
  (:export "MINIMUM" "MAXIMUM" "MINMAX")

  (:export "OUTER-PRODUCT")
  (:export "INNER-PRODUCT" "DOT")

  (:export "SUM")
  (:export "PRODUCT")

  (:export ; Fixed arity operators.
   "+." ".+."
   "*." ".*."
   "-." ".-."
   "/." "./."
   "=." ".=."
   ".<."
   ".>."
   ".<=."
   ".>=."
   "/=."
   "./=."
   )

  (:export "GCD." ".GCD." "LCM." ".LCM.")

  (:export "/*" "./*.") ; Inner product.
  (:export "*/" ".*/.") ; Outer product.

  (:export "/+" "./+.") ; Inner sum.
  (:export "+/" ".+/.") ; Outer sum.

  ;; Conditions.

  (:export "UNDEFINED-OPERATION")

  )

;;;; end of file -- common-math-package.lisp