home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / MISC / EMXLIB8F.ZIP / EMX / LIB / MATH / TAN.S < prev    next >
Encoding:
Text File  |  1993-01-02  |  603 b   |  32 lines

  1. / tan.s (emx+gcc) -- Copyright (c) 1992-1993 by Steffen Haecker
  2.  
  3. #include <libm.h>
  4.  
  5.         .globl  _tan
  6.  
  7.         .text
  8.  
  9.         .align  2, 0x90
  10.  
  11. / double tan (double x)
  12. /
  13. / |x| >= 2^63 results in #NAN; errno is set to EDOM
  14. /
  15.  
  16. #define x       4(%esp)
  17.  
  18. _tan:
  19.         fldl    x                       / x
  20.         fptan
  21.         fstsww  %ax
  22.         testb   $0x04, %ah
  23.         jnz     1f                      / C2 != 0 ?
  24.         fdivrp
  25.         ret
  26.  
  27. 1:      fldl    __const_NAN             / #NAN
  28.         fstp    %st(1)
  29.         fstp    %st(1)
  30.         SETERRNO($EDOM)
  31.         ret
  32.