-
-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathconstants.lisp
144 lines (131 loc) · 5.41 KB
/
constants.lisp
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
(in-package #:org.shirakumo.float-features)
(defconstant SHORT-FLOAT-POSITIVE-INFINITY
#+ccl 1S++0
#+clasp EXT:SHORT-FLOAT-POSITIVE-INFINITY
#+cmucl EXTENSIONS:SHORT-FLOAT-POSITIVE-INFINITY
#+ecl EXT:SHORT-FLOAT-POSITIVE-INFINITY
#+mezzano MEZZANO.EXTENSIONS:SHORT-FLOAT-POSITIVE-INFINITY
#+mkcl EXT:SHORT-FLOAT-POSITIVE-INFINITY
#+sbcl SB-EXT:SHORT-FLOAT-POSITIVE-INFINITY
#+lispworks 1S++0
#+allegro (coerce excl:*infinity-single* 'short-float)
#-(or ccl clasp cmucl ecl mezzano mkcl sbcl lispworks allegro)
MOST-POSITIVE-SHORT-FLOAT)
(defconstant SHORT-FLOAT-NEGATIVE-INFINITY
#+ccl -1S++0
#+clasp EXT:SHORT-FLOAT-NEGATIVE-INFINITY
#+cmucl EXTENSIONS:SHORT-FLOAT-NEGATIVE-INFINITY
#+ecl EXT:SHORT-FLOAT-NEGATIVE-INFINITY
#+mezzano MEZZANO.EXTENSIONS:SHORT-FLOAT-NEGATIVE-INFINITY
#+mkcl EXT:SHORT-FLOAT-NEGATIVE-INFINITY
#+sbcl SB-EXT:SHORT-FLOAT-NEGATIVE-INFINITY
#+lispworks -1S++0
#+allegro (coerce excl:*negative-infinity-single* 'short-float)
#-(or ccl clasp cmucl ecl mezzano mkcl sbcl lispworks allegro)
MOST-NEGATIVE-SHORT-FLOAT)
(defconstant SINGLE-FLOAT-POSITIVE-INFINITY
#+abcl EXTENSIONS:SINGLE-FLOAT-POSITIVE-INFINITY
#+allegro excl:*infinity-single*
#+ccl 1F++0
#+clasp EXT:SINGLE-FLOAT-POSITIVE-INFINITY
#+cmucl EXTENSIONS:SINGLE-FLOAT-POSITIVE-INFINITY
#+ecl EXT:SINGLE-FLOAT-POSITIVE-INFINITY
#+mezzano MEZZANO.EXTENSIONS:SINGLE-FLOAT-POSITIVE-INFINITY
#+mkcl MKCL:SINGLE-FLOAT-POSITIVE-INFINITY
#+sbcl SB-EXT:SINGLE-FLOAT-POSITIVE-INFINITY
#+lispworks 1F++0
#-(or abcl allegro ccl clasp cmucl ecl mezzano mkcl sbcl lispworks)
MOST-POSITIVE-SINGLE-FLOAT)
(defconstant SINGLE-FLOAT-NEGATIVE-INFINITY
#+abcl EXTENSIONS:SINGLE-FLOAT-NEGATIVE-INFINITY
#+allegro excl:*negative-infinity-single*
#+ccl -1F++0
#+clasp EXT:SINGLE-FLOAT-NEGATIVE-INFINITY
#+cmucl EXTENSIONS:SINGLE-FLOAT-NEGATIVE-INFINITY
#+ecl EXT:SINGLE-FLOAT-NEGATIVE-INFINITY
#+mezzano MEZZANO.EXTENSIONS:SINGLE-FLOAT-NEGATIVE-INFINITY
#+mkcl MKCL:SINGLE-FLOAT-NEGATIVE-INFINITY
#+sbcl SB-EXT:SINGLE-FLOAT-NEGATIVE-INFINITY
#+lispworks -1F++0
#-(or abcl allegro ccl clasp cmucl ecl mezzano mkcl sbcl lispworks)
MOST-NEGATIVE-SINGLE-FLOAT)
(defconstant DOUBLE-FLOAT-POSITIVE-INFINITY
#+abcl EXTENSIONS:DOUBLE-FLOAT-POSITIVE-INFINITY
#+allegro excl:*infinity-double*
#+ccl 1D++0
#+clasp EXT:DOUBLE-FLOAT-POSITIVE-INFINITY
#+cmucl EXTENSIONS:DOUBLE-FLOAT-POSITIVE-INFINITY
#+ecl EXT:DOUBLE-FLOAT-POSITIVE-INFINITY
#+mezzano MEZZANO.EXTENSIONS:DOUBLE-FLOAT-POSITIVE-INFINITY
#+mkcl MKCL:DOUBLE-FLOAT-POSITIVE-INFINITY
#+sbcl SB-EXT:DOUBLE-FLOAT-POSITIVE-INFINITY
#+lispworks 1D++0
#-(or abcl allegro ccl clasp cmucl ecl mezzano mkcl sbcl lispworks)
MOST-POSITIVE-DOUBLE-FLOAT)
(defconstant DOUBLE-FLOAT-NEGATIVE-INFINITY
#+abcl EXTENSIONS:DOUBLE-FLOAT-NEGATIVE-INFINITY
#+allegro excl:*negative-infinity-double*
#+ccl -1D++0
#+clasp EXT:DOUBLE-FLOAT-NEGATIVE-INFINITY
#+cmucl EXTENSIONS:DOUBLE-FLOAT-NEGATIVE-INFINITY
#+ecl EXT:DOUBLE-FLOAT-NEGATIVE-INFINITY
#+mezzano MEZZANO.EXTENSIONS:DOUBLE-FLOAT-NEGATIVE-INFINITY
#+mkcl MKCL:DOUBLE-FLOAT-NEGATIVE-INFINITY
#+sbcl SB-EXT:DOUBLE-FLOAT-NEGATIVE-INFINITY
#+lispworks -1D++0
#-(or abcl allegro ccl clasp cmucl ecl mezzano mkcl sbcl lispworks)
MOST-NEGATIVE-DOUBLE-FLOAT)
(defconstant LONG-FLOAT-POSITIVE-INFINITY
#+ccl 1L++0
#+clasp EXT:LONG-FLOAT-POSITIVE-INFINITY
#+cmucl EXTENSIONS:LONG-FLOAT-POSITIVE-INFINITY
#+ecl EXT:LONG-FLOAT-POSITIVE-INFINITY
#+mezzano MEZZANO.EXTENSIONS:LONG-FLOAT-POSITIVE-INFINITY
#+mkcl EXT:LONG-FLOAT-POSITIVE-INFINITY
#+sbcl SB-EXT:LONG-FLOAT-POSITIVE-INFINITY
#+lispworks 1L++0
#-(or ccl clasp cmucl ecl mezzano mkcl sbcl lispworks)
MOST-POSITIVE-LONG-FLOAT)
(defconstant LONG-FLOAT-NEGATIVE-INFINITY
#+ccl -1L++0
#+clasp EXT:LONG-FLOAT-NEGATIVE-INFINITY
#+cmucl EXTENSIONS:LONG-FLOAT-NEGATIVE-INFINITY
#+ecl EXT:LONG-FLOAT-NEGATIVE-INFINITY
#+mezzano MEZZANO.EXTENSIONS:LONG-FLOAT-NEGATIVE-INFINITY
#+mkcl EXT:LONG-FLOAT-NEGATIVE-INFINITY
#+sbcl SB-EXT:LONG-FLOAT-NEGATIVE-INFINITY
#+lispworks -1L++0
#-(or ccl clasp cmucl ecl mezzano mkcl sbcl lispworks)
MOST-NEGATIVE-LONG-FLOAT)
(handler-case
(progn
(bits-short-float 0)
(defconstant SHORT-FLOAT-NAN
(bits-short-float #b0111111000000000)))
(error ()
(define-symbol-macro SHORT-FLOAT-NAN
(bits-short-float #b0111111000000000))))
(handler-case
(progn
(bits-single-float 0)
(defconstant SINGLE-FLOAT-NAN
(bits-single-float #b01111111110000000000000000000000)))
(error ()
(define-symbol-macro SINGLE-FLOAT-NAN
(bits-single-float #b01111111110000000000000000000000))))
(handler-case
(progn
(bits-double-float 0)
(defconstant DOUBLE-FLOAT-NAN
(bits-double-float #b0111111111111000000000000000000000000000000000000000000000000000)))
(error ()
(define-symbol-macro DOUBLE-FLOAT-NAN
(bits-double-float #b0111111111111000000000000000000000000000000000000000000000000000))))
(handler-case
(progn
(bits-long-float 0)
(defconstant LONG-FLOAT-NAN
(bits-long-float #b01111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)))
(error ()
(define-symbol-macro LONG-FLOAT-NAN
(bits-long-float #b01111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))))