This class is identical to the Math class, but additionally requires that its methods strictly adhere to the behavior of certain published algorithms. The methods of StrictMath are intended to operate identically on all platforms, and must produce exactly the same result (down to the very least significant bit) as certain well-known standard algorithms. When strict platform-independence of floating-point results is not required, use the Math class for better performance. public final class StrictMath { // No Constructor // Public Constants public static final double E ; =2 .718281828459045 public static final double PI ; =3 .141592653589793 // Public Class Methods public static int abs (int a ); public static long abs (long a ); public static float abs (float a ); public static double abs (double a ); public static double acos (double a ); native public static double asin (double a ); native public static double atan (double a ); native public static double atan2 (double y , double x ); native 5.0 public static double cbrt (double a ); native public static double ceil (double a ); native public static double cos (double a ); native 5.0 public static double cosh (double x ); native public static double exp (double a ); native 5.0 public static double expm1 (double x ); native public static double floor (double a ); native 5.0 public static double hypot (double x , double y ); native public static double IEEEremainder (double f1 , double f2 ); native public static double log (double a ); native 5.0 public static double log10 (double a ); native 5.0 public static double log1p (double x ); native public static int max (int a , int b ); public static long max (long a , long b ); public static float max (float a , float b ); public static double max (double a , double b ); public static int min (int a , int b ); public static long min (long a , long b ); public static float min (float a , float b ); public static double min (double a , double b ); public static double pow (double a , double b ); native public static double random ( ); public static double rint (double a ); public static int round (float a ); public static long round (double a ); 5.0 public static float signum (float f ); 5.0 public static double signum (double d ); public static double sin (double a ); native 5.0 public static double sinh (double x ); native public static double sqrt (double a ); native public static double tan (double a ); native 5.0 public static double tanh (double x ); native public static double toDegrees (double angrad ); strictfp public static double toRadians (double angdeg ); strictfp 5.0 public static float ulp (float f ); 5.0 public static double ulp (double d ); } |