Changeset 11731


Ignore:
Timestamp:
04/04/09 22:22:06 (14 years ago)
Author:
ehuelsmann
Message:

Share code already abstracted out elsewhere (use OverUnderFlowCheck?()).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/MathFunctions.java

    r11730 r11731  
    511511            if (arg instanceof DoubleFloat) {
    512512                double d = Math.pow(Math.E, ((DoubleFloat)arg).value);
    513                 if (TRAP_OVERFLOW && Double.isInfinite(d))
    514                     return error(new FloatingPointOverflow(NIL));
    515                 if (d == 0 && TRAP_UNDERFLOW)
    516                     return error(new FloatingPointUnderflow(NIL));
    517                 return new DoubleFloat(d);
     513                return OverUnderFlowCheck(new DoubleFloat(d));
    518514            } else {
    519515                float f = (float) Math.pow(Math.E, SingleFloat.coerceToFloat(arg).value);
    520                 if (TRAP_OVERFLOW && Float.isInfinite(f))
    521                     return error(new FloatingPointOverflow(NIL));
    522                 if (f == 0 && TRAP_UNDERFLOW)
    523                     return error(new FloatingPointUnderflow(NIL));
    524                 return new SingleFloat(f);
     516                return OverUnderFlowCheck(new SingleFloat(f));
    525517            }
    526518        }
Note: See TracChangeset for help on using the changeset viewer.