Index: src/util.c ================================================================== --- src/util.c +++ src/util.c @@ -380,10 +380,16 @@ result /= 1.0e+308; }else{ result = s * scale; result *= 1.0e+308; } + }else if( e>=342 ){ + if( esign<0 ){ + result = 0.0*s; + }else{ + result = 1e308*1e308*s; /* Infinity */ + } }else{ /* 1.0e+22 is the largest power of 10 than can be ** represented exactly. */ while( e%22 ) { scale *= 1.0e+1; e -= 1; } while( e>0 ) { scale *= 1.0e+22; e -= 22; }