|
"use strict"; |
|
|
|
var float = require(".."), |
|
ieee754 = require("ieee754"), |
|
newSuite = require("./suite"); |
|
|
|
var F32 = Float32Array; |
|
var F64 = Float64Array; |
|
delete global.Float32Array; |
|
delete global.Float64Array; |
|
var floatFallback = float({}); |
|
global.Float32Array = F32; |
|
global.Float64Array = F64; |
|
|
|
var buf = new Buffer(8); |
|
|
|
newSuite("writeFloat") |
|
.add("float", function() { |
|
float.writeFloatLE(0.1, buf, 0); |
|
}) |
|
.add("float (fallback)", function() { |
|
floatFallback.writeFloatLE(0.1, buf, 0); |
|
}) |
|
.add("ieee754", function() { |
|
ieee754.write(buf, 0.1, 0, true, 23, 4); |
|
}) |
|
.add("buffer", function() { |
|
buf.writeFloatLE(0.1, 0); |
|
}) |
|
.add("buffer (noAssert)", function() { |
|
buf.writeFloatLE(0.1, 0, true); |
|
}) |
|
.run(); |
|
|
|
newSuite("readFloat") |
|
.add("float", function() { |
|
float.readFloatLE(buf, 0); |
|
}) |
|
.add("float (fallback)", function() { |
|
floatFallback.readFloatLE(buf, 0); |
|
}) |
|
.add("ieee754", function() { |
|
ieee754.read(buf, 0, true, 23, 4); |
|
}) |
|
.add("buffer", function() { |
|
buf.readFloatLE(0); |
|
}) |
|
.add("buffer (noAssert)", function() { |
|
buf.readFloatLE(0, true); |
|
}) |
|
.run(); |
|
|
|
newSuite("writeDouble") |
|
.add("float", function() { |
|
float.writeDoubleLE(0.1, buf, 0); |
|
}) |
|
.add("float (fallback)", function() { |
|
floatFallback.writeDoubleLE(0.1, buf, 0); |
|
}) |
|
.add("ieee754", function() { |
|
ieee754.write(buf, 0.1, 0, true, 52, 8); |
|
}) |
|
.add("buffer", function() { |
|
buf.writeDoubleLE(0.1, 0); |
|
}) |
|
.add("buffer (noAssert)", function() { |
|
buf.writeDoubleLE(0.1, 0, true); |
|
}) |
|
.run(); |
|
|
|
newSuite("readDouble") |
|
.add("float", function() { |
|
float.readDoubleLE(buf, 0); |
|
}) |
|
.add("float (fallback)", function() { |
|
floatFallback.readDoubleLE(buf, 0); |
|
}) |
|
.add("ieee754", function() { |
|
ieee754.read(buf, 0, true, 52, 8); |
|
}) |
|
.add("buffer", function() { |
|
buf.readDoubleLE(0); |
|
}) |
|
.add("buffer (noAssert)", function() { |
|
buf.readDoubleLE(0, true); |
|
}) |
|
.run(); |
|
|