Subversion Repositories pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

  1. #ifndef _IEEEFLOAT_H
  2. #define _IEEEFLOAT_H
  3. /* ieeefloat.h */
  4. /*****************************************************************************/
  5. /* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only                     */
  6. /*                                                                           */
  7. /* AS                                                                        */
  8. /*                                                                           */
  9. /* IEEE Floating Point Handling                                              */
  10. /*                                                                           */
  11. /*                                                                           */
  12. /*****************************************************************************/
  13.  
  14. #include "datatypes.h"
  15.  
  16. enum
  17. {
  18.   AS_FP_NORMAL,
  19.   AS_FP_SUBNORMAL,
  20.   AS_FP_NAN,
  21.   AS_FP_INFINITE
  22. };
  23.  
  24. extern int as_fpclassify(Double inp);
  25.  
  26. extern void ieee8_dissect(Word *p_sign, Integer *p_exponent, LongWord *p_mantissa, LongWord *p_fraction, Double num);
  27.  
  28. extern Boolean Double_2_ieee2(Double inp, Byte *pDest, Boolean NeedsBig);
  29.  
  30. extern void Double_2_ieee4(Double inp, Byte *pDest, Boolean NeedsBig);
  31.  
  32. extern void Double_2_ieee8(Double inp, Byte *pDest, Boolean NeedsBig);
  33.  
  34. extern void Double_2_ieee10(Double inp, Byte *pDest, Boolean NeedsBig);
  35.  
  36. #endif /* _IEEEFLOAT_H */
  37.