@@ -29,102 +29,101 @@ const assert = require('assert');
2929/* 
3030 * Test (64 bit) double 
3131 */ 
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