@@ -29,102 +29,101 @@ const assert = require('assert');
29
29
/*
30
30
* Test (64 bit) double
31
31
*/
32
- function test ( clazz ) {
33
- const buffer = new clazz ( 8 ) ;
34
-
35
- buffer [ 0 ] = 0x55 ;
36
- buffer [ 1 ] = 0x55 ;
37
- buffer [ 2 ] = 0x55 ;
38
- buffer [ 3 ] = 0x55 ;
39
- buffer [ 4 ] = 0x55 ;
40
- buffer [ 5 ] = 0x55 ;
41
- buffer [ 6 ] = 0xd5 ;
42
- buffer [ 7 ] = 0x3f ;
43
- assert . strictEqual ( 1.1945305291680097e+103 , buffer . readDoubleBE ( 0 ) ) ;
44
- assert . strictEqual ( 0.3333333333333333 , buffer . readDoubleLE ( 0 ) ) ;
45
-
46
- buffer [ 0 ] = 1 ;
47
- buffer [ 1 ] = 0 ;
48
- buffer [ 2 ] = 0 ;
49
- buffer [ 3 ] = 0 ;
50
- buffer [ 4 ] = 0 ;
51
- buffer [ 5 ] = 0 ;
52
- buffer [ 6 ] = 0xf0 ;
53
- buffer [ 7 ] = 0x3f ;
54
- assert . strictEqual ( 7.291122019655968e-304 , buffer . readDoubleBE ( 0 ) ) ;
55
- assert . strictEqual ( 1.0000000000000002 , buffer . readDoubleLE ( 0 ) ) ;
56
-
57
- buffer [ 0 ] = 2 ;
58
- assert . strictEqual ( 4.778309726801735e-299 , buffer . readDoubleBE ( 0 ) ) ;
59
- assert . strictEqual ( 1.0000000000000004 , buffer . readDoubleLE ( 0 ) ) ;
60
-
61
- buffer [ 0 ] = 1 ;
62
- buffer [ 6 ] = 0 ;
63
- buffer [ 7 ] = 0 ;
64
- assert . strictEqual ( 7.291122019556398e-304 , buffer . readDoubleBE ( 0 ) ) ;
65
- assert . strictEqual ( 5e-324 , buffer . readDoubleLE ( 0 ) ) ;
66
-
67
- buffer [ 0 ] = 0xff ;
68
- buffer [ 1 ] = 0xff ;
69
- buffer [ 2 ] = 0xff ;
70
- buffer [ 3 ] = 0xff ;
71
- buffer [ 4 ] = 0xff ;
72
- buffer [ 5 ] = 0xff ;
73
- buffer [ 6 ] = 0x0f ;
74
- buffer [ 7 ] = 0x00 ;
75
- assert . ok ( Number . isNaN ( buffer . readDoubleBE ( 0 ) ) ) ;
76
- assert . strictEqual ( 2.225073858507201e-308 , buffer . readDoubleLE ( 0 ) ) ;
77
-
78
- buffer [ 6 ] = 0xef ;
79
- buffer [ 7 ] = 0x7f ;
80
- assert . ok ( Number . isNaN ( buffer . readDoubleBE ( 0 ) ) ) ;
81
- assert . strictEqual ( 1.7976931348623157e+308 , buffer . readDoubleLE ( 0 ) ) ;
82
-
83
- buffer [ 0 ] = 0 ;
84
- buffer [ 1 ] = 0 ;
85
- buffer [ 2 ] = 0 ;
86
- buffer [ 3 ] = 0 ;
87
- buffer [ 4 ] = 0 ;
88
- buffer [ 5 ] = 0 ;
89
- buffer [ 6 ] = 0xf0 ;
90
- buffer [ 7 ] = 0x3f ;
91
- assert . strictEqual ( 3.03865e-319 , buffer . readDoubleBE ( 0 ) ) ;
92
- assert . strictEqual ( 1 , buffer . readDoubleLE ( 0 ) ) ;
93
-
94
- buffer [ 6 ] = 0 ;
95
- buffer [ 7 ] = 0x40 ;
96
- assert . strictEqual ( 3.16e-322 , buffer . readDoubleBE ( 0 ) ) ;
97
- assert . strictEqual ( 2 , buffer . readDoubleLE ( 0 ) ) ;
98
-
99
- buffer [ 7 ] = 0xc0 ;
100
- assert . strictEqual ( 9.5e-322 , buffer . readDoubleBE ( 0 ) ) ;
101
- assert . strictEqual ( - 2 , buffer . readDoubleLE ( 0 ) ) ;
102
-
103
- buffer [ 6 ] = 0x10 ;
104
- buffer [ 7 ] = 0 ;
105
- assert . strictEqual ( 2.0237e-320 , buffer . readDoubleBE ( 0 ) ) ;
106
- assert . strictEqual ( 2.2250738585072014e-308 , buffer . readDoubleLE ( 0 ) ) ;
107
-
108
- buffer [ 6 ] = 0 ;
109
- assert . strictEqual ( 0 , buffer . readDoubleBE ( 0 ) ) ;
110
- assert . strictEqual ( 0 , buffer . readDoubleLE ( 0 ) ) ;
111
- assert . strictEqual ( false , 1 / buffer . readDoubleLE ( 0 ) < 0 ) ;
112
-
113
- buffer [ 7 ] = 0x80 ;
114
- assert . strictEqual ( 6.3e-322 , buffer . readDoubleBE ( 0 ) ) ;
115
- assert . strictEqual ( - 0 , buffer . readDoubleLE ( 0 ) ) ;
116
- assert . strictEqual ( true , 1 / buffer . readDoubleLE ( 0 ) < 0 ) ;
117
-
118
- buffer [ 6 ] = 0xf0 ;
119
- buffer [ 7 ] = 0x7f ;
120
- assert . strictEqual ( 3.0418e-319 , buffer . readDoubleBE ( 0 ) ) ;
121
- assert . strictEqual ( Infinity , buffer . readDoubleLE ( 0 ) ) ;
122
-
123
- buffer [ 6 ] = 0xf0 ;
124
- buffer [ 7 ] = 0xff ;
125
- assert . strictEqual ( 3.04814e-319 , buffer . readDoubleBE ( 0 ) ) ;
126
- assert . strictEqual ( - Infinity , buffer . readDoubleLE ( 0 ) ) ;
127
- }
128
-
129
-
130
- test ( Buffer ) ;
32
+ const buffer = Buffer . allocUnsafe ( 8 ) ;
33
+
34
+ buffer [ 0 ] = 0x55 ;
35
+ buffer [ 1 ] = 0x55 ;
36
+ buffer [ 2 ] = 0x55 ;
37
+ buffer [ 3 ] = 0x55 ;
38
+ buffer [ 4 ] = 0x55 ;
39
+ buffer [ 5 ] = 0x55 ;
40
+ buffer [ 6 ] = 0xd5 ;
41
+ buffer [ 7 ] = 0x3f ;
42
+ assert . strictEqual ( 1.1945305291680097e+103 , buffer . readDoubleBE ( 0 ) ) ;
43
+ assert . strictEqual ( 0.3333333333333333 , buffer . readDoubleLE ( 0 ) ) ;
44
+
45
+ buffer [ 0 ] = 1 ;
46
+ buffer [ 1 ] = 0 ;
47
+ buffer [ 2 ] = 0 ;
48
+ buffer [ 3 ] = 0 ;
49
+ buffer [ 4 ] = 0 ;
50
+ buffer [ 5 ] = 0 ;
51
+ buffer [ 6 ] = 0xf0 ;
52
+ buffer [ 7 ] = 0x3f ;
53
+ assert . strictEqual ( 7.291122019655968e-304 , buffer . readDoubleBE ( 0 ) ) ;
54
+ assert . strictEqual ( 1.0000000000000002 , buffer . readDoubleLE ( 0 ) ) ;
55
+
56
+ buffer [ 0 ] = 2 ;
57
+ assert . strictEqual ( 4.778309726801735e-299 , buffer . readDoubleBE ( 0 ) ) ;
58
+ assert . strictEqual ( 1.0000000000000004 , buffer . readDoubleLE ( 0 ) ) ;
59
+
60
+ buffer [ 0 ] = 1 ;
61
+ buffer [ 6 ] = 0 ;
62
+ buffer [ 7 ] = 0 ;
63
+ assert . strictEqual ( 7.291122019556398e-304 , buffer . readDoubleBE ( 0 ) ) ;
64
+ assert . strictEqual ( 5e-324 , buffer . readDoubleLE ( 0 ) ) ;
65
+
66
+ buffer [ 0 ] = 0xff ;
67
+ buffer [ 1 ] = 0xff ;
68
+ buffer [ 2 ] = 0xff ;
69
+ buffer [ 3 ] = 0xff ;
70
+ buffer [ 4 ] = 0xff ;
71
+ buffer [ 5 ] = 0xff ;
72
+ buffer [ 6 ] = 0x0f ;
73
+ buffer [ 7 ] = 0x00 ;
74
+ assert . ok ( Number . isNaN ( buffer . readDoubleBE ( 0 ) ) ) ;
75
+ assert . strictEqual ( 2.225073858507201e-308 , buffer . readDoubleLE ( 0 ) ) ;
76
+
77
+ buffer [ 6 ] = 0xef ;
78
+ buffer [ 7 ] = 0x7f ;
79
+ assert . ok ( Number . isNaN ( buffer . readDoubleBE ( 0 ) ) ) ;
80
+ assert . strictEqual ( 1.7976931348623157e+308 , buffer . readDoubleLE ( 0 ) ) ;
81
+
82
+ buffer [ 0 ] = 0 ;
83
+ buffer [ 1 ] = 0 ;
84
+ buffer [ 2 ] = 0 ;
85
+ buffer [ 3 ] = 0 ;
86
+ buffer [ 4 ] = 0 ;
87
+ buffer [ 5 ] = 0 ;
88
+ buffer [ 6 ] = 0xf0 ;
89
+ buffer [ 7 ] = 0x3f ;
90
+ assert . strictEqual ( 3.03865e-319 , buffer . readDoubleBE ( 0 ) ) ;
91
+ assert . strictEqual ( 1 , buffer . readDoubleLE ( 0 ) ) ;
92
+
93
+ buffer [ 6 ] = 0 ;
94
+ buffer [ 7 ] = 0x40 ;
95
+ assert . strictEqual ( 3.16e-322 , buffer . readDoubleBE ( 0 ) ) ;
96
+ assert . strictEqual ( 2 , buffer . readDoubleLE ( 0 ) ) ;
97
+
98
+ buffer [ 7 ] = 0xc0 ;
99
+ assert . strictEqual ( 9.5e-322 , buffer . readDoubleBE ( 0 ) ) ;
100
+ assert . strictEqual ( - 2 , buffer . readDoubleLE ( 0 ) ) ;
101
+
102
+ buffer [ 6 ] = 0x10 ;
103
+ buffer [ 7 ] = 0 ;
104
+ assert . strictEqual ( 2.0237e-320 , buffer . readDoubleBE ( 0 ) ) ;
105
+ assert . strictEqual ( 2.2250738585072014e-308 , buffer . readDoubleLE ( 0 ) ) ;
106
+
107
+ buffer [ 6 ] = 0 ;
108
+ assert . strictEqual ( 0 , buffer . readDoubleBE ( 0 ) ) ;
109
+ assert . strictEqual ( 0 , buffer . readDoubleLE ( 0 ) ) ;
110
+ assert . strictEqual ( false , 1 / buffer . readDoubleLE ( 0 ) < 0 ) ;
111
+
112
+ buffer [ 7 ] = 0x80 ;
113
+ assert . strictEqual ( 6.3e-322 , buffer . readDoubleBE ( 0 ) ) ;
114
+ assert . strictEqual ( - 0 , buffer . readDoubleLE ( 0 ) ) ;
115
+ assert . strictEqual ( true , 1 / buffer . readDoubleLE ( 0 ) < 0 ) ;
116
+
117
+ buffer [ 6 ] = 0xf0 ;
118
+ buffer [ 7 ] = 0x7f ;
119
+ assert . strictEqual ( 3.0418e-319 , buffer . readDoubleBE ( 0 ) ) ;
120
+ assert . strictEqual ( Infinity , buffer . readDoubleLE ( 0 ) ) ;
121
+
122
+ buffer [ 7 ] = 0xff ;
123
+ assert . strictEqual ( 3.04814e-319 , buffer . readDoubleBE ( 0 ) ) ;
124
+ assert . strictEqual ( - Infinity , buffer . readDoubleLE ( 0 ) ) ;
125
+
126
+ buffer . writeDoubleBE ( 246800 ) ;
127
+ assert . strictEqual ( buffer . readDoubleBE ( ) , 246800 ) ;
128
+ assert . strictEqual ( buffer . readDoubleBE ( 0.7 ) , 246800 ) ;
129
+ assert . strictEqual ( buffer . readDoubleBE ( NaN ) , 246800 ) ;
0 commit comments