private static boolean tooManyDigitsUsed(double source,int scale){
  double decExp=Math.log10(source);
  return scale >= 308 || decExp + scale >= 14.5;
}

private static boolean tooManyDigitsUsed ( double source , int scale ) { double decExp = Math . log10 ( source ) ; return scale >= 308 || decExp + scale >= 14.5 ; }
returns true if the rounding is considered to use too many digits of the double for a fast rounding
