|
@ -39,7 +39,7 @@ function Range (a, b, f) { |
|
|
return _range |
|
|
return _range |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
var UINT53_MAX = Math.pow(2, 53) - 1 |
|
|
var INT53_MAX = Math.pow(2, 53) - 1 |
|
|
|
|
|
|
|
|
function Finite (value) { |
|
|
function Finite (value) { |
|
|
return typeof value === 'number' && isFinite(value) |
|
|
return typeof value === 'number' && isFinite(value) |
|
@ -47,13 +47,19 @@ function Finite (value) { |
|
|
function Int8 (value) { return ((value << 24) >> 24) === value } |
|
|
function Int8 (value) { return ((value << 24) >> 24) === value } |
|
|
function Int16 (value) { return ((value << 16) >> 16) === value } |
|
|
function Int16 (value) { return ((value << 16) >> 16) === value } |
|
|
function Int32 (value) { return (value | 0) === value } |
|
|
function Int32 (value) { return (value | 0) === value } |
|
|
|
|
|
function Int53 (value) { |
|
|
|
|
|
return typeof value === 'number' && |
|
|
|
|
|
value >= -INT53_MAX && |
|
|
|
|
|
value <= INT53_MAX && |
|
|
|
|
|
Math.floor(value) === value |
|
|
|
|
|
} |
|
|
function UInt8 (value) { return (value & 0xff) === value } |
|
|
function UInt8 (value) { return (value & 0xff) === value } |
|
|
function UInt16 (value) { return (value & 0xffff) === value } |
|
|
function UInt16 (value) { return (value & 0xffff) === value } |
|
|
function UInt32 (value) { return (value >>> 0) === value } |
|
|
function UInt32 (value) { return (value >>> 0) === value } |
|
|
function UInt53 (value) { |
|
|
function UInt53 (value) { |
|
|
return typeof value === 'number' && |
|
|
return typeof value === 'number' && |
|
|
value >= 0 && |
|
|
value >= 0 && |
|
|
value <= UINT53_MAX && |
|
|
value <= INT53_MAX && |
|
|
Math.floor(value) === value |
|
|
Math.floor(value) === value |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -67,6 +73,7 @@ var types = { |
|
|
Int8: Int8, |
|
|
Int8: Int8, |
|
|
Int16: Int16, |
|
|
Int16: Int16, |
|
|
Int32: Int32, |
|
|
Int32: Int32, |
|
|
|
|
|
Int53: Int53, |
|
|
Range: Range, |
|
|
Range: Range, |
|
|
StringN: _StringN, |
|
|
StringN: _StringN, |
|
|
UInt8: UInt8, |
|
|
UInt8: UInt8, |
|
|