Revert "buffer: added support for writing NaN and Infinity"
This reverts commit 6b9425fe3783193cf95cb04cbcbcbb97f5a77d31.
This commit is contained in:
parent
6c5fdd5223
commit
37f0eb8df3
@ -1002,14 +1002,10 @@ function verifsint(value, max, min) {
|
|||||||
assert.ok(Math.floor(value) === value, 'value has a fractional component');
|
assert.ok(Math.floor(value) === value, 'value has a fractional component');
|
||||||
}
|
}
|
||||||
|
|
||||||
function verifyIEEE754(value, max, min) {
|
function verifIEEE754(value, max, min) {
|
||||||
assert.ok(typeof (value) == 'number',
|
assert.ok(typeof (value) == 'number',
|
||||||
'cannot write a non-number as a number');
|
'cannot write a non-number as a number');
|
||||||
|
|
||||||
if (isNaN(value) || value === Infinity || value === -Infinity) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
assert.ok(value <= max, 'value larger than maximum allowed value');
|
assert.ok(value <= max, 'value larger than maximum allowed value');
|
||||||
|
|
||||||
assert.ok(value >= min, 'value smaller than minimum allowed value');
|
assert.ok(value >= min, 'value smaller than minimum allowed value');
|
||||||
@ -1116,7 +1112,7 @@ function writeFloat(buffer, value, offset, isBigEndian, noAssert) {
|
|||||||
assert.ok(offset + 3 < buffer.length,
|
assert.ok(offset + 3 < buffer.length,
|
||||||
'Trying to write beyond buffer length');
|
'Trying to write beyond buffer length');
|
||||||
|
|
||||||
verifyIEEE754(value, 3.4028234663852886e+38, -3.4028234663852886e+38);
|
verifIEEE754(value, 3.4028234663852886e+38, -3.4028234663852886e+38);
|
||||||
}
|
}
|
||||||
|
|
||||||
require('buffer_ieee754').writeIEEE754(buffer, value, offset, isBigEndian,
|
require('buffer_ieee754').writeIEEE754(buffer, value, offset, isBigEndian,
|
||||||
@ -1145,7 +1141,7 @@ function writeDouble(buffer, value, offset, isBigEndian, noAssert) {
|
|||||||
assert.ok(offset + 7 < buffer.length,
|
assert.ok(offset + 7 < buffer.length,
|
||||||
'Trying to write beyond buffer length');
|
'Trying to write beyond buffer length');
|
||||||
|
|
||||||
verifyIEEE754(value, 1.7976931348623157E+308, -1.7976931348623157E+308);
|
verifIEEE754(value, 1.7976931348623157E+308, -1.7976931348623157E+308);
|
||||||
}
|
}
|
||||||
|
|
||||||
require('buffer_ieee754').writeIEEE754(buffer, value, offset, isBigEndian,
|
require('buffer_ieee754').writeIEEE754(buffer, value, offset, isBigEndian,
|
||||||
|
@ -123,69 +123,6 @@ function test(clazz) {
|
|||||||
ASSERT.equal(0x00, buffer[13]);
|
ASSERT.equal(0x00, buffer[13]);
|
||||||
ASSERT.equal(0x00, buffer[14]);
|
ASSERT.equal(0x00, buffer[14]);
|
||||||
ASSERT.equal(0x80, buffer[15]);
|
ASSERT.equal(0x80, buffer[15]);
|
||||||
|
|
||||||
buffer.writeDoubleBE(Infinity, 0);
|
|
||||||
buffer.writeDoubleLE(Infinity, 8);
|
|
||||||
ASSERT.equal(0x7F, buffer[0]);
|
|
||||||
ASSERT.equal(0xF0, buffer[1]);
|
|
||||||
ASSERT.equal(0x00, buffer[2]);
|
|
||||||
ASSERT.equal(0x00, buffer[3]);
|
|
||||||
ASSERT.equal(0x00, buffer[4]);
|
|
||||||
ASSERT.equal(0x00, buffer[5]);
|
|
||||||
ASSERT.equal(0x00, buffer[6]);
|
|
||||||
ASSERT.equal(0x00, buffer[7]);
|
|
||||||
ASSERT.equal(0x00, buffer[8]);
|
|
||||||
ASSERT.equal(0x00, buffer[9]);
|
|
||||||
ASSERT.equal(0x00, buffer[10]);
|
|
||||||
ASSERT.equal(0x00, buffer[11]);
|
|
||||||
ASSERT.equal(0x00, buffer[12]);
|
|
||||||
ASSERT.equal(0x00, buffer[13]);
|
|
||||||
ASSERT.equal(0xF0, buffer[14]);
|
|
||||||
ASSERT.equal(0x7F, buffer[15]);
|
|
||||||
ASSERT.equal(Infinity, buffer.readDoubleBE(0));
|
|
||||||
ASSERT.equal(Infinity, buffer.readDoubleLE(8));
|
|
||||||
|
|
||||||
buffer.writeDoubleBE(-Infinity, 0);
|
|
||||||
buffer.writeDoubleLE(-Infinity, 8);
|
|
||||||
ASSERT.equal(0xFF, buffer[0]);
|
|
||||||
ASSERT.equal(0xF0, buffer[1]);
|
|
||||||
ASSERT.equal(0x00, buffer[2]);
|
|
||||||
ASSERT.equal(0x00, buffer[3]);
|
|
||||||
ASSERT.equal(0x00, buffer[4]);
|
|
||||||
ASSERT.equal(0x00, buffer[5]);
|
|
||||||
ASSERT.equal(0x00, buffer[6]);
|
|
||||||
ASSERT.equal(0x00, buffer[7]);
|
|
||||||
ASSERT.equal(0x00, buffer[8]);
|
|
||||||
ASSERT.equal(0x00, buffer[9]);
|
|
||||||
ASSERT.equal(0x00, buffer[10]);
|
|
||||||
ASSERT.equal(0x00, buffer[11]);
|
|
||||||
ASSERT.equal(0x00, buffer[12]);
|
|
||||||
ASSERT.equal(0x00, buffer[13]);
|
|
||||||
ASSERT.equal(0xF0, buffer[14]);
|
|
||||||
ASSERT.equal(0xFF, buffer[15]);
|
|
||||||
ASSERT.equal(-Infinity, buffer.readDoubleBE(0));
|
|
||||||
ASSERT.equal(-Infinity, buffer.readDoubleLE(8));
|
|
||||||
|
|
||||||
buffer.writeDoubleBE(NaN, 0);
|
|
||||||
buffer.writeDoubleLE(NaN, 8);
|
|
||||||
ASSERT.equal(0x7F, buffer[0]);
|
|
||||||
ASSERT.equal(0xF0, buffer[1]);
|
|
||||||
ASSERT.equal(0x00, buffer[2]);
|
|
||||||
ASSERT.equal(0x00, buffer[3]);
|
|
||||||
ASSERT.equal(0x00, buffer[4]);
|
|
||||||
ASSERT.equal(0x00, buffer[5]);
|
|
||||||
ASSERT.equal(0x00, buffer[6]);
|
|
||||||
ASSERT.equal(0x01, buffer[7]);
|
|
||||||
ASSERT.equal(0x01, buffer[8]);
|
|
||||||
ASSERT.equal(0x00, buffer[9]);
|
|
||||||
ASSERT.equal(0x00, buffer[10]);
|
|
||||||
ASSERT.equal(0x00, buffer[11]);
|
|
||||||
ASSERT.equal(0x00, buffer[12]);
|
|
||||||
ASSERT.equal(0x00, buffer[13]);
|
|
||||||
ASSERT.equal(0xF0, buffer[14]);
|
|
||||||
ASSERT.equal(0x7F, buffer[15]);
|
|
||||||
ASSERT.ok(isNaN(buffer.readDoubleBE(0)));
|
|
||||||
ASSERT.ok(isNaN(buffer.readDoubleLE(8)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -83,45 +83,6 @@ function test(clazz) {
|
|||||||
ASSERT.equal(0x00, buffer[5]);
|
ASSERT.equal(0x00, buffer[5]);
|
||||||
ASSERT.equal(0x00, buffer[6]);
|
ASSERT.equal(0x00, buffer[6]);
|
||||||
ASSERT.equal(0x80, buffer[7]);
|
ASSERT.equal(0x80, buffer[7]);
|
||||||
|
|
||||||
buffer.writeFloatBE(Infinity, 0);
|
|
||||||
buffer.writeFloatLE(Infinity, 4);
|
|
||||||
ASSERT.equal(0x7F, buffer[0]);
|
|
||||||
ASSERT.equal(0x80, buffer[1]);
|
|
||||||
ASSERT.equal(0x00, buffer[2]);
|
|
||||||
ASSERT.equal(0x00, buffer[3]);
|
|
||||||
ASSERT.equal(0x00, buffer[4]);
|
|
||||||
ASSERT.equal(0x00, buffer[5]);
|
|
||||||
ASSERT.equal(0x80, buffer[6]);
|
|
||||||
ASSERT.equal(0x7F, buffer[7]);
|
|
||||||
ASSERT.equal(Infinity, buffer.readFloatBE(0));
|
|
||||||
ASSERT.equal(Infinity, buffer.readFloatLE(4));
|
|
||||||
|
|
||||||
buffer.writeFloatBE(-Infinity, 0);
|
|
||||||
buffer.writeFloatLE(-Infinity, 4);
|
|
||||||
ASSERT.equal(0xFF, buffer[0]);
|
|
||||||
ASSERT.equal(0x80, buffer[1]);
|
|
||||||
ASSERT.equal(0x00, buffer[2]);
|
|
||||||
ASSERT.equal(0x00, buffer[3]);
|
|
||||||
ASSERT.equal(0x00, buffer[4]);
|
|
||||||
ASSERT.equal(0x00, buffer[5]);
|
|
||||||
ASSERT.equal(0x80, buffer[6]);
|
|
||||||
ASSERT.equal(0xFF, buffer[7]);
|
|
||||||
ASSERT.equal(-Infinity, buffer.readFloatBE(0));
|
|
||||||
ASSERT.equal(-Infinity, buffer.readFloatLE(4));
|
|
||||||
|
|
||||||
buffer.writeFloatBE(NaN, 0);
|
|
||||||
buffer.writeFloatLE(NaN, 4);
|
|
||||||
ASSERT.equal(0x7F, buffer[0]);
|
|
||||||
ASSERT.equal(0x80, buffer[1]);
|
|
||||||
ASSERT.equal(0x00, buffer[2]);
|
|
||||||
ASSERT.equal(0x01, buffer[3]);
|
|
||||||
ASSERT.equal(0x01, buffer[4]);
|
|
||||||
ASSERT.equal(0x00, buffer[5]);
|
|
||||||
ASSERT.equal(0x80, buffer[6]);
|
|
||||||
ASSERT.equal(0x7F, buffer[7]);
|
|
||||||
ASSERT.ok(isNaN(buffer.readFloatBE(0)));
|
|
||||||
ASSERT.ok(isNaN(buffer.readFloatLE(4)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user