java.lang.Math.log reemplazado por una llamada intrínseca, ¿por qué no java.lang.Math.exp ()?
Estoy respondiendo a una pregunta que tenía muy poca atención, creo:
¿Por qué este simple código (simplemente una llamada aMath.log()
):
Double thisdouble = Math.log(10);
Con un punto de interrupción en la línea 275 de Math.class del jdk1.7.0_11:
274 public static double log(double a) {
275 return StrictMath.log(a); // default impl. delegates to StrictMath
276 }
¿No detienes la ejecución en modo debug? ¿Alguien puede probar esto en su propia máquina (estoy usando Eclipse)?
VocaciónMath.exp()
y depurando elMath.exp
La función (línea 254) funciona ...
EDITAR: La respuesta a lo anterior es queMath.log
se reemplaza por una llamada intrínseca de la máquina virtual de Hotspot para que nunca se alcance el código en la clase de Matemáticas. La pregunta que queda ahora es por qué.Math.exp
no es reemplazado por un intrínseco ... FWIW Estoy en un Core i5 M520 (Arrandale), pero dudaría seriamente de que ese procesador tenga soporte para registro y no para exp ...