@@ -56,6 +56,8 @@ PrintTests.test("Printable") {
56
56
expectPrinted ( " -inf " , - Float. infinity)
57
57
expectPrinted ( " nan " , Float . nan)
58
58
expectPrinted ( " nan " , - Float. nan)
59
+ expectPrinted ( " nan " , Float . signalingNaN)
60
+ expectPrinted ( " nan " , - Float. signalingNaN)
59
61
expectPrinted ( " 0.0 " , asFloat32 ( 0.0 ) )
60
62
expectPrinted ( " 1.0 " , asFloat32 ( 1.0 ) )
61
63
expectPrinted ( " -1.0 " , asFloat32 ( - 1.0 ) )
@@ -66,12 +68,28 @@ PrintTests.test("Printable") {
66
68
expectPrinted ( " -inf " , - Double. infinity)
67
69
expectPrinted ( " nan " , Double . nan)
68
70
expectPrinted ( " nan " , - Double. nan)
71
+ expectPrinted ( " nan " , Double . signalingNaN)
72
+ expectPrinted ( " nan " , - Double. signalingNaN)
69
73
expectPrinted ( " 0.0 " , asFloat64 ( 0.0 ) )
70
74
expectPrinted ( " 1.0 " , asFloat64 ( 1.0 ) )
71
75
expectPrinted ( " -1.0 " , asFloat64 ( - 1.0 ) )
72
76
expectPrinted ( " 100.125 " , asFloat64 ( 100.125 ) )
73
77
expectPrinted ( " -100.125 " , asFloat64 ( - 100.125 ) )
74
78
79
+ #if arch(i386) || arch(x86_64)
80
+ expectPrinted ( " inf " , Float80 . infinity)
81
+ expectPrinted ( " -inf " , - Float80. infinity)
82
+ expectPrinted ( " nan " , Float80 . nan)
83
+ expectPrinted ( " nan " , - Float80. nan)
84
+ expectPrinted ( " nan " , Float80 . signalingNaN)
85
+ expectPrinted ( " nan " , - Float80. signalingNaN)
86
+ expectPrinted ( " 0.0 " , asFloat80 ( 0.0 ) )
87
+ expectPrinted ( " 1.0 " , asFloat80 ( 1.0 ) )
88
+ expectPrinted ( " -1.0 " , asFloat80 ( - 1.0 ) )
89
+ expectPrinted ( " 100.125 " , asFloat80 ( 100.125 ) )
90
+ expectPrinted ( " -100.125 " , asFloat80 ( - 100.125 ) )
91
+ #endif
92
+
75
93
expectPrinted ( " 1.00001 " , asFloat32 ( 1.00001 ) )
76
94
expectPrinted ( " 1.25e+17 " , asFloat32 ( 125000000000000000.0 ) )
77
95
expectPrinted ( " 1.25e+16 " , asFloat32 ( 12500000000000000.0 ) )
@@ -191,17 +209,57 @@ PrintTests.test("Printable") {
191
209
expectDebugPrinted ( " 1.24999998e+17 " , asFloat32 ( 125000000000000000.0 ) )
192
210
expectDebugPrinted ( " 1.25 " , asFloat32 ( 1.25 ) )
193
211
expectDebugPrinted ( " 1.24999997e-05 " , asFloat32 ( 0.0000125 ) )
212
+ expectDebugPrinted ( " inf " , Float . infinity)
213
+ expectDebugPrinted ( " -inf " , - Float. infinity)
214
+ expectDebugPrinted ( " nan " , Float . nan)
215
+ expectDebugPrinted ( " -nan " , - Float. nan)
216
+ expectDebugPrinted ( " nan(0xffff) " , Float ( nan: 65535 , signaling: false ) )
217
+ expectDebugPrinted ( " -nan(0xffff) " , - Float( nan: 65535 , signaling: false ) )
218
+ expectDebugPrinted ( " nan(0x1fffff) " , Float ( bitPattern: 0x7fff_ffff ) )
219
+ expectDebugPrinted ( " nan(0x1fffff) " , Float ( bitPattern: 0x7fdf_ffff ) )
220
+ #if !arch(i386)
221
+ expectDebugPrinted ( " snan " , Float . signalingNaN)
222
+ expectDebugPrinted ( " snan(0xffff) " , Float ( nan: 65535 , signaling: true ) )
223
+ expectDebugPrinted ( " -snan(0xffff) " , - Float( nan: 65535 , signaling: true ) )
224
+ expectDebugPrinted ( " snan(0x1fffff) " , Float ( bitPattern: 0x7fbf_ffff ) )
225
+ #endif
194
226
195
227
expectDebugPrinted ( " 1.1000000000000001 " , asFloat64 ( 1.1 ) )
196
228
expectDebugPrinted ( " 1.25e+17 " , asFloat64 ( 125000000000000000.0 ) )
197
229
expectDebugPrinted ( " 1.25 " , asFloat64 ( 1.25 ) )
198
230
expectDebugPrinted ( " 1.2500000000000001e-05 " , asFloat64 ( 0.0000125 ) )
231
+ expectDebugPrinted ( " inf " , Double . infinity)
232
+ expectDebugPrinted ( " -inf " , - Double. infinity)
233
+ expectDebugPrinted ( " nan " , Double . nan)
234
+ expectDebugPrinted ( " -nan " , - Double. nan)
235
+ expectDebugPrinted ( " nan(0xffff) " , Double ( nan: 65535 , signaling: false ) )
236
+ expectDebugPrinted ( " -nan(0xffff) " , - Double( nan: 65535 , signaling: false ) )
237
+ expectDebugPrinted ( " nan(0x3ffffffffffff) " , Float64 ( bitPattern: 0x7fff_ffff_ffff_ffff ) )
238
+ expectDebugPrinted ( " nan(0x3ffffffffffff) " , Float64 ( bitPattern: 0x7ffb_ffff_ffff_ffff ) )
239
+ #if !arch(i386)
240
+ expectDebugPrinted ( " snan " , Double . signalingNaN)
241
+ expectDebugPrinted ( " snan(0xffff) " , Double ( nan: 65535 , signaling: true ) )
242
+ expectDebugPrinted ( " -snan(0xffff) " , - Double( nan: 65535 , signaling: true ) )
243
+ expectDebugPrinted ( " snan(0x3ffffffffffff) " , Float64 ( bitPattern: 0x7ff7_ffff_ffff_ffff ) )
244
+ #endif
199
245
200
246
#if arch(i386) || arch(x86_64)
201
247
expectDebugPrinted ( " 1.10000000000000000002 " , asFloat80 ( 1.1 ) )
202
248
expectDebugPrinted ( " 125000000000000000.0 " , asFloat80 ( 125000000000000000.0 ) )
203
249
expectDebugPrinted ( " 1.25 " , asFloat80 ( 1.25 ) )
204
250
expectDebugPrinted ( " 1.25000000000000000001e-05 " , asFloat80 ( 0.0000125 ) )
251
+ expectDebugPrinted ( " inf " , Float80 . infinity)
252
+ expectDebugPrinted ( " -inf " , - Float80. infinity)
253
+ expectDebugPrinted ( " nan " , Float80 . nan)
254
+ expectDebugPrinted ( " -nan " , - Float80. nan)
255
+ expectDebugPrinted ( " nan(0xffff) " , Float80 ( nan: 65535 , signaling: false ) )
256
+ expectDebugPrinted ( " -nan(0xffff) " , - Float80( nan: 65535 , signaling: false ) )
257
+ expectDebugPrinted ( " nan(0x1fffffffffffffff) " , Float80 ( sign: . plus, exponentBitPattern: 0x7fff , significandBitPattern: 0xffff_ffff_ffff_ffff ) )
258
+ expectDebugPrinted ( " nan(0x1fffffffffffffff) " , Float80 ( sign: . plus, exponentBitPattern: 0x7fff , significandBitPattern: 0xdfff_ffff_ffff_ffff ) )
259
+ expectDebugPrinted ( " snan " , Float80 . signalingNaN)
260
+ expectDebugPrinted ( " snan(0xffff) " , Float80 ( nan: 65535 , signaling: true ) )
261
+ expectDebugPrinted ( " -snan(0xffff) " , - Float80( nan: 65535 , signaling: true ) )
262
+ expectDebugPrinted ( " snan(0x1fffffffffffffff) " , Float80 ( sign: . plus, exponentBitPattern: 0x7fff , significandBitPattern: 0xbfff_ffff_ffff_ffff ) )
205
263
#endif
206
264
}
207
265
0 commit comments