@@ -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