eSpeak NG is an open source speech synthesizer that supports more than hundred languages and accents.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ieee80.h 2.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /* Copyright (C) 1989-1991 Apple Computer, Inc.
  2. *
  3. * All rights reserved.
  4. *
  5. * Warranty Information
  6. * Even though Apple has reviewed this software, Apple makes no warranty
  7. * or representation, either express or implied, with respect to this
  8. * software, its quality, accuracy, merchantability, or fitness for a
  9. * particular purpose. As a result, this software is provided "as is,"
  10. * and you, its user, are assuming the entire risk as to its quality
  11. * and accuracy.
  12. *
  13. * This code may be used and freely distributed as long as it includes
  14. * this copyright notice and the above warranty information.
  15. *
  16. * Machine-independent I/O routines for IEEE floating-point numbers.
  17. *
  18. * NaN's and infinities are converted to HUGE_VAL or HUGE, which
  19. * happens to be infinity on IEEE machines. Unfortunately, it is
  20. * impossible to preserve NaN's in a machine-independent way.
  21. * Infinities are, however, preserved on IEEE machines.
  22. *
  23. * These routines have been tested on the following machines:
  24. * Apple Macintosh, MPW 3.1 C compiler
  25. * Apple Macintosh, THINK C compiler
  26. * Silicon Graphics IRIS, MIPS compiler
  27. * Cray X/MP and Y/MP
  28. * Digital Equipment VAX
  29. * Sequent Balance (Multiprocesor 386)
  30. * NeXT
  31. *
  32. *
  33. * Implemented by Malcolm Slaney and Ken Turkowski.
  34. *
  35. * Malcolm Slaney contributions during 1988-1990 include big- and little-
  36. * endian file I/O, conversion to and from Motorola's extended 80-bit
  37. * floating-point format, and conversions to and from IEEE single-
  38. * precision floating-point format.
  39. *
  40. * In 1991, Ken Turkowski implemented the conversions to and from
  41. * IEEE double-precision format, added more precision to the extended
  42. * conversions, and accommodated conversions involving +/- infinity,
  43. * NaN's, and denormalized numbers.
  44. */
  45. #ifndef IEEE_H
  46. #define IEEE_H
  47. #ifndef applec
  48. typedef double defdouble;
  49. #else applec
  50. typedef long double defdouble;
  51. #endif applec
  52. defdouble ConvertFromIeeeSingle( char *bytes);
  53. defdouble ConvertFromIeeeDouble( char *bytes);
  54. defdouble ConvertFromIeeeExtended(char *bytes);
  55. void ConvertToIeeeSingle( defdouble num, char *bytes);
  56. void ConvertToIeeeDouble( defdouble num, char *bytes);
  57. void ConvertToIeeeExtended(defdouble num, char *bytes);
  58. #endif