2012-03-25 18 views
5

Estoy desarrollando un traductor que convierte la fuente de JavaScript en un idioma de destino. Estoy tratando de implementar el objeto de Matemáticas de JavaScript en el idioma de destino.código de JavaScript para el objeto matemático

Si hay una implementación de JavaScript del objeto "Matemáticas", puedo usar el traductor para obtener el código equivalente en el idioma de destino.

Busco algo como esto:

var Math = { 
    pow: function(...) {...} 
    exp: function(...) {...} 
    /* other methods of Math */ 
} 

¿Existe una implementación de tal manera que está disponible? Esto me ayudaría a evitar escribir manualmente el código del objeto Math en el idioma de destino.

+0

No sé de tal implementación. –

Respuesta

3

Esto es de la official ecmascript-262 specification:

NOTA El comportamiento de los acos funciones, asin, atan, atan2, cos, exp, registro, prisionero de guerra, el pecado, raíz cuadrada, y el bronceado no es precisamente especificado aquí excepto para requerir resultados específicos para ciertos valores de argumento que representan casos límite de interés. Para otros valores de argumento, estas funciones están destinadas a calcular aproximaciones a los resultados de las funciones matemáticas familiares , pero se permite cierta latitud en la elección de los algoritmos de aproximación . La intención general es que un implementador debería ser capaz de utilizar la misma biblioteca matemática para ECMAScript en una plataforma de hardware dada que esté disponible para los programadores C en esa plataforma.

Aunque la elección de los algoritmos es izquierda a la puesta en práctica, se recomienda (pero no especifica por esta norma) que las implementaciones utilizan los algoritmos de aproximación para IEEE 754 aritmética contenida en fdlibm, la libre distribución biblioteca matemática de Sun Microsystems (http://www.netlib.org/fdlibm).

2

objetos que necesita son:

Math.exp(x) // Returns the value of Ex 

Math.pow(x,y) // Returns the value of x to the power of y 

Aparte de estas hay más que le ayudará a que se necesitará en java. Esos son

Math.PI   // returns PI 
Math.random();    // returns a random number 
Math.max(0, 150, 30, 20, -8, -200);  // returns 150 
Math.min(0, 150, 30, 20, -8, -200);  // returns -200 
Math.round(4.7);   // returns 5 
Math.round(4.4);   // returns 4 
Cuestiones relacionadas