ecvt.c 738 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /* $Id$ */
  2. #ifndef NOFLOAT
  3. struct mantissa {
  4. unsigned long h_32;
  5. unsigned long l_32;
  6. };
  7. struct EXTEND {
  8. short sign;
  9. short exp;
  10. struct mantissa mantissa;
  11. #define m1 mantissa.h_32
  12. #define m2 mantissa.l_32
  13. };
  14. extern char *_ext_str_cvt();
  15. static char *
  16. cvt(value, ndigit, decpt, sign, ecvtflag)
  17. double value;
  18. int ndigit, *decpt, *sign;
  19. {
  20. struct EXTEND e;
  21. _dbl_ext_cvt(value, &e);
  22. return _ext_str_cvt(&e, ndigit, decpt, sign, ecvtflag);
  23. }
  24. char *
  25. ecvt(value, ndigit, decpt, sign)
  26. double value;
  27. int ndigit, *decpt, *sign;
  28. {
  29. return cvt(value, ndigit, decpt, sign, 1);
  30. }
  31. char *
  32. fcvt(value, ndigit, decpt, sign)
  33. double value;
  34. int ndigit, *decpt, *sign;
  35. {
  36. return cvt(value, ndigit, decpt, sign, 0);
  37. }
  38. #endif /* NOFLOAT */