michael@0: assertNear(Math.expm1(1e-300), 1e-300); michael@0: assertNear(Math.expm1(1e-100), 1e-100); michael@0: assertNear(Math.expm1(1e-14), 1.000000000000005e-14); michael@0: assertNear(Math.expm1(1e-6), 0.0000010000005000001665); michael@0: michael@0: var expm1_data = [ michael@0: [ -1.875817529344e-70, -1.875817529344e-70 ], michael@0: [ -7.09962844069878e-15, -7.099628440698755e-15 ], michael@0: [ -2.114990849122478e-10, -2.1149908488988187e-10 ], michael@0: [ -0.0000031404608812881633, -0.000003140455950046052 ], michael@0: michael@0: [ 1.875817529344e-70, 1.875817529344e-70 ], michael@0: [ 6.261923313140869e-30, 6.261923313140869e-30 ], michael@0: [ 7.09962844069878e-15, 7.099628440698805e-15 ], michael@0: [ 1.3671879628418538e-12, 1.3671879628427884e-12 ], michael@0: [ 2.114990849122478e-10, 2.1149908493461373e-10 ], michael@0: [ 1.6900931765206906e-8, 1.6900931908027652e-8 ], michael@0: [ 0.0000031404608812881633, 0.0000031404658125405988 ] michael@0: ]; michael@0: michael@0: for (var [x, y] of expm1_data) michael@0: assertNear(Math.expm1(x), y); michael@0: michael@0: reportCompare(0, 0, "ok");