// Copyright 2014 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. function Module(stdlib) { "use asm"; var fround = stdlib.Math.fround; // f: double -> float function f(a) { a = +a; return fround(a); } return { f: f }; } var f = Module({ Math: Math }).f; assertTrue(isNaN(f(NaN))); assertTrue(isNaN(f(undefined))); assertTrue(isNaN(f(function() {}))); assertEquals("Infinity", String(1/f(0))); assertEquals("-Infinity", String(1/f(-0))); assertEquals("Infinity", String(f(Infinity))); assertEquals("-Infinity", String(f(-Infinity))); assertEquals("Infinity", String(f(1E200))); assertEquals("-Infinity", String(f(-1E200))); assertEquals("Infinity", String(1/f(1E-300))); assertEquals("-Infinity", String(1/f(-1E-300))); assertEquals(0, f(0)); assertEquals(1, f(1)); assertEquals(1.5, f(1.5)); assertEquals(1.3370000123977661, f(1.337)); assertEquals(-4.300000190734863, f(-4.3));