The DFPAL Library, version 2.20
© Copyright IBM Corporation, 2007. All rights reserved.
[previous | contents | next] [printer friendly]

DFPAL Release Notes

Release notes for DFPAL version 2.20

  1. Support for decFloat is added to this release of DFPAL. decFloat is a new module, part of the decNumber, performs decimal arithmetic faster for software execution mode of DFPAL.
  2. The new compile time switch DFPAL_USE_DECFLOAT must be defined to activate decFloat at compile time.
  3. Check for correct endianness is performed in dfpalInit(). The dfpalInit() will fail if decNumber or decFloat is not compiled with correct endian settings.
  4. Linux on Power hardware decimal floating point support, using IBM XLC compiler has been added to this version of DFPAL. Now there is a choice of either GCC or XLC compiler on Linux on Power.
  5. The minimum required decNumber release is version 3.57.





Release notes for DFPAL version 2.10

  1. Linux on Power hardware decimal floating point support, using GCC compiler has been added to this version of DFPAL.
  2. New routine dfpalClearAllStatusFlag() is added to improve performance.
  3. There are some performance improvement by using registers for the operands, rather than processing in the memory, for hardware execution mode of DFPAL.
  4. decimalNNFromPackedBCD() has different semantics as compared to previous release.





Release notes for DFPAL version 2.00

  1. Trap generated by DFPAL in hardware mode is not SIGFPE (it generates "Trace/BPT trap").
  2. There is no hardware instruction for 64-bit unsigned integer to decimal64 or decimal128 conversion. DFPAL does software conversion in either mode.
  3. For complex arithmetic operations such as ln, exp, log, square root, and power, DFPAL uses decNumber implementation in either case.
  4. decimal64 to/from double and decimal128 to/from double conversion uses strtod()/snprintf(). The strtod()/snprintf() behavior in terms of raising floating point exception is not consistent across platforms. Applications should not assume presence or absence of particular floating point exception after these conversions.
  5. For decimal64 to/from double and decimal128 to/from double conversion, current binary floating point rounding mode is used by strtod()/snprintf() (rounding mode is not shared by binary floating point and decimal floating point for POWER6 processor). Application's preference for particular rounding mode for the binary floating conversions [strtod()/snprintf()] can be implemented by using a wrapper around the decimalNN{To|From}Double() routines to set binary floating point rounding mode before calling the conversion routines.
  6. On Windows, for decimal64 to/from double and decimal128 to/from double conversion may return different results than the UNIX platforms. Because strtod()/snprintf() are implemented with slightly different semantics.
  7. Avoid using decimalNNRescale() function, it may be removed from the future release. Use decimalNNQuantize() instead. Due to exponent clamp in the hardware, results are not guaranteed when input number's exponent is close to Emax or Emin.

[previous | contents | next]

DFPAL is authored by Punit Shah (punit@us.ibm.com).
Please send any corrections, comments or questions to dfpal-l@austin.ibm.com.
This page was updated on 21 Dec 2007.