Hi,

I would like to implement some of the new Math.* functions proposed in the
ES6 draft in V8 following the V8 launch process. Specifically, this
includes:
- Math.sign
- Math.trunc
- Math.cosh
- Math.sinh
- Math.tanh
- Math.acosh
- Math.asinh
- Math.atanh
- Math.log1p
- Math.expm1

I'm NOT planning to include following functions for now:
- Math.hypot
- Math.fround
- Math.cbrt
- Math.log10
- Math.log2

The functions for which I propose an implementation in V8, I feel that they
are straightforward to implement, are required often (sign and trunc) or
hard to polyfill efficiently (hyperbolic functions) or accurately (log1p
and expm1). Note that these properties do not apply for the math functions
I'm excluding for now.

1. They are part of the current ES6 draft.

2. The spec details are not expected to change.

3. They are implemented in Firefox 26+.

4. I'll add test cases.

5. The impact to V8's code base is limited. I'll introduce a --harmony-math
flag with a corresponding harmony-math.js file similar to the
harmony-string implementation. The initial implementation will not aim for
performance and therefore be mostly a bunch of functions added to
runtime.cc.

WDYT?

Regards,

Yang


Yang Guo | Software Engineer | Google Germany GmbH | Dienerstr. 12, 80331
München
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschäftsführer: Graham Law, Christine Elizabeth Flores

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to