public static double log10(final double x){
  final double hiPrec[]=new double[2];
  final double lores=log(x,hiPrec);
  if (Double.isInfinite(lores)) {
    return lores;
  }
  final double tmp=hiPrec[0] * HEX_40000000;
  final double lna=hiPrec[0] + tmp - tmp;
  final double lnb=hiPrec[0] - lna + hiPrec[1];
  final double rln10a=0.4342944622039795;
  final double rln10b=1.9699272335463627E-8;
  return rln10b * lnb + rln10b * lna + rln10a * lnb + rln10a * lna;
}

public static double log10 ( final double x ) { final double hiPrec [ ] = new double [ 2 ] ; final double lores = log ( x , hiPrec ) ; if ( Double . isInfinite ( lores ) ) { return lores ; } final double tmp = hiPrec [ 0 ] * HEX_40000000 ; final double lna = hiPrec [ 0 ] + tmp - tmp ; final double lnb = hiPrec [ 0 ] - lna + hiPrec [ 1 ] ; final double rln10a = 0.4342944622039795 ; final double rln10b = 1.9699272335463627E-8 ; return rln10b * lnb + rln10b * lna + rln10a * lnb + rln10a * lna ; }
compute the base 10 logarithm .
