home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / APPS / lout2.lzh / LOUT2 / math_bsd.h < prev    next >
Text File  |  1994-02-25  |  848b  |  32 lines

  1. /* math_bsd.h
  2.  
  3.         A UNIX emulation library for OSK
  4. */
  5.  
  6.  
  7. /* Constants used in BSD math.h */
  8.  
  9. #define    M_LN2    0.69314718055994530942
  10. #define    M_PI    3.14159265358979323846
  11. #define    M_SQRT2    1.41421356237309504880
  12.  
  13. #define    M_E        2.7182818284590452354
  14. #define    M_LOG2E        1.4426950408889634074
  15. #define    M_LOG10E    0.43429448190325182765
  16. #define    M_LN10        2.30258509299404568402
  17. #define    M_PI_2        1.57079632679489661923
  18. #define    M_PI_4        0.78539816339744830962
  19. #define    M_1_PI        0.31830988618379067154
  20. #define    M_2_PI        0.63661977236758134308
  21. #define    M_2_SQRTPI    1.12837916709551257390
  22. #define    M_SQRT1_2    0.70710678118654752440
  23.  
  24.  
  25. /* Functions in UNIX math.h missing in OSK */
  26.  
  27. #define copysign(N,S) ((S<0)?((N<0)? N : -(N)):(N<0)? -(N) : N)
  28.  
  29. #define atan2(Y,X) (double)((Y==0)?((X>=0)?0:M_PI):((X==0)?\
  30.     (copysign(M_PI_2,Y)):((X<0)?(copysign(M_PI,Y)-atan(Y/-(X))):\
  31.     atan(Y/X))))
  32.