Сомнение в строгом и строгом мат - PullRequest
3 голосов
/ 21 июля 2011

У меня небольшой технический вопрос, это тоже самое, что позвонить:

   public static strictfp double myMethod(double phi){
       return Math.exp(phi);
   }

или:

   public static double myMethod(double phi){
       return StrictMath.exp(phi);
   }

Или ключевое слово strictfp относится только к базовым арифметическим операциям + - * /, используемым внутри метода?

1 Ответ

5 голосов
/ 21 июля 2011

Или ключевое слово strictfp относится только к основным арифметическим операциям + - * /, используемым внутри метода?

Ключевое слово strictfp применяется только к операциям в методе или классе, которые оно изменяет. Он не перенаправляет вызовы Math функций на StrictMath, поэтому вам нужно явно использовать StrictMath вместо Math.

С http://www.esus.com/javaindex/j2se/jdk1.2/javamath/strictfp.html

Если выражение с плавающей точкой находится в пределах strictfp "scope" , результаты будут такими же предсказуемыми, как описано в IEEE 754 ...

...