home *** CD-ROM | disk | FTP | other *** search
/ Amiga Elysian Archive / AmigaElysianArchive.iso / prog / c / gcc233.lha / os-include / inline / mathieeedoubtrans.h < prev    next >
C/C++ Source or Header  |  1992-12-29  |  7KB  |  251 lines

  1. #ifndef _INLINE_MATHIEEEDOUBTRANS_H
  2. #define _INLINE_MATHIEEEDOUBTRANS_H
  3.  
  4. #include <sys/cdefs.h>
  5. #include <inline/stubs.h>
  6.  
  7. __BEGIN_DECLS
  8.  
  9. #ifndef BASE_EXT_DECL
  10. #define BASE_EXT_DECL extern struct MathIeeeDoubTransBase*  MathIeeeDoubTransBase;
  11. #endif
  12. #ifndef BASE_PAR_DECL
  13. #define BASE_PAR_DECL
  14. #define BASE_PAR_DECL0 void
  15. #endif
  16. #ifndef BASE_NAME
  17. #define BASE_NAME MathIeeeDoubTransBase
  18. #endif
  19.  
  20. static __inline DOUBLE 
  21. IEEEDPAcos (BASE_PAR_DECL DOUBLE parm)
  22. {
  23.   BASE_EXT_DECL
  24.   register DOUBLE  _res  __asm("d0");
  25.   register struct MathIeeeDoubTransBase* a6 __asm("a6") = BASE_NAME;
  26.   register DOUBLE d0 __asm("d0") = parm;
  27.   __asm __volatile ("jsr a6@(-0x78)"
  28.   : "=r" (_res)
  29.   : "r" (a6), "r" (d0)
  30.   : "a0","a1","d0","d1", "memory");
  31.   return _res;
  32. }
  33. static __inline DOUBLE 
  34. IEEEDPAsin (BASE_PAR_DECL DOUBLE parm)
  35. {
  36.   BASE_EXT_DECL
  37.   register DOUBLE  _res  __asm("d0");
  38.   register struct MathIeeeDoubTransBase* a6 __asm("a6") = BASE_NAME;
  39.   register DOUBLE d0 __asm("d0") = parm;
  40.   __asm __volatile ("jsr a6@(-0x72)"
  41.   : "=r" (_res)
  42.   : "r" (a6), "r" (d0)
  43.   : "a0","a1","d0","d1", "memory");
  44.   return _res;
  45. }
  46. static __inline DOUBLE 
  47. IEEEDPAtan (BASE_PAR_DECL DOUBLE parm)
  48. {
  49.   BASE_EXT_DECL
  50.   register DOUBLE  _res  __asm("d0");
  51.   register struct MathIeeeDoubTransBase* a6 __asm("a6") = BASE_NAME;
  52.   register DOUBLE d0 __asm("d0") = parm;
  53.   __asm __volatile ("jsr a6@(-0x1e)"
  54.   : "=r" (_res)
  55.   : "r" (a6), "r" (d0)
  56.   : "a0","a1","d0","d1", "memory");
  57.   return _res;
  58. }
  59. static __inline DOUBLE 
  60. IEEEDPCos (BASE_PAR_DECL DOUBLE parm)
  61. {
  62.   BASE_EXT_DECL
  63.   register DOUBLE  _res  __asm("d0");
  64.   register struct MathIeeeDoubTransBase* a6 __asm("a6") = BASE_NAME;
  65.   register DOUBLE d0 __asm("d0") = parm;
  66.   __asm __volatile ("jsr a6@(-0x2a)"
  67.   : "=r" (_res)
  68.   : "r" (a6), "r" (d0)
  69.   : "a0","a1","d0","d1", "memory");
  70.   return _res;
  71. }
  72. static __inline DOUBLE 
  73. IEEEDPCosh (BASE_PAR_DECL DOUBLE parm)
  74. {
  75.   BASE_EXT_DECL
  76.   register DOUBLE  _res  __asm("d0");
  77.   register struct MathIeeeDoubTransBase* a6 __asm("a6") = BASE_NAME;
  78.   register DOUBLE d0 __asm("d0") = parm;
  79.   __asm __volatile ("jsr a6@(-0x42)"
  80.   : "=r" (_res)
  81.   : "r" (a6), "r" (d0)
  82.   : "a0","a1","d0","d1", "memory");
  83.   return _res;
  84. }
  85. static __inline DOUBLE 
  86. IEEEDPExp (BASE_PAR_DECL DOUBLE parm)
  87. {
  88.   BASE_EXT_DECL
  89.   register DOUBLE  _res  __asm("d0");
  90.   register struct MathIeeeDoubTransBase* a6 __asm("a6") = BASE_NAME;
  91.   register DOUBLE d0 __asm("d0") = parm;
  92.   __asm __volatile ("jsr a6@(-0x4e)"
  93.   : "=r" (_res)
  94.   : "r" (a6), "r" (d0)
  95.   : "a0","a1","d0","d1", "memory");
  96.   return _res;
  97. }
  98. static __inline DOUBLE 
  99. IEEEDPFieee (BASE_PAR_DECL FLOAT single)
  100. {
  101.   BASE_EXT_DECL
  102.   register DOUBLE  _res  __asm("d0");
  103.   register struct MathIeeeDoubTransBase* a6 __asm("a6") = BASE_NAME;
  104.   register FLOAT d0 __asm("d0") = single;
  105.   __asm __volatile ("jsr a6@(-0x6c)"
  106.   : "=r" (_res)
  107.   : "r" (a6), "r" (d0)
  108.   : "a0","a1","d0","d1", "memory");
  109.   return _res;
  110. }
  111. static __inline DOUBLE 
  112. IEEEDPLog (BASE_PAR_DECL DOUBLE parm)
  113. {
  114.   BASE_EXT_DECL
  115.   register DOUBLE  _res  __asm("d0");
  116.   register struct MathIeeeDoubTransBase* a6 __asm("a6") = BASE_NAME;
  117.   register DOUBLE d0 __asm("d0") = parm;
  118.   __asm __volatile ("jsr a6@(-0x54)"
  119.   : "=r" (_res)
  120.   : "r" (a6), "r" (d0)
  121.   : "a0","a1","d0","d1", "memory");
  122.   return _res;
  123. }
  124. static __inline DOUBLE 
  125. IEEEDPLog10 (BASE_PAR_DECL DOUBLE parm)
  126. {
  127.   BASE_EXT_DECL
  128.   register DOUBLE  _res  __asm("d0");
  129.   register struct MathIeeeDoubTransBase* a6 __asm("a6") = BASE_NAME;
  130.   register DOUBLE d0 __asm("d0") = parm;
  131.   __asm __volatile ("jsr a6@(-0x7e)"
  132.   : "=r" (_res)
  133.   : "r" (a6), "r" (d0)
  134.   : "a0","a1","d0","d1", "memory");
  135.   return _res;
  136. }
  137. static __inline DOUBLE 
  138. IEEEDPPow (BASE_PAR_DECL DOUBLE exp,DOUBLE arg)
  139. {
  140.   BASE_EXT_DECL
  141.   register DOUBLE  _res  __asm("d0");
  142.   register struct MathIeeeDoubTransBase* a6 __asm("a6") = BASE_NAME;
  143.   register DOUBLE d2 __asm("d2") = exp;
  144.   register DOUBLE d0 __asm("d0") = arg;
  145.   __asm __volatile ("jsr a6@(-0x5a)"
  146.   : "=r" (_res)
  147.   : "r" (a6), "r" (d2), "r" (d0)
  148.   : "a0","a1","d0","d1","d2","d3", "memory");
  149.   return _res;
  150. }
  151. static __inline DOUBLE 
  152. IEEEDPSin (BASE_PAR_DECL DOUBLE parm)
  153. {
  154.   BASE_EXT_DECL
  155.   register DOUBLE  _res  __asm("d0");
  156.   register struct MathIeeeDoubTransBase* a6 __asm("a6") = BASE_NAME;
  157.   register DOUBLE d0 __asm("d0") = parm;
  158.   __asm __volatile ("jsr a6@(-0x24)"
  159.   : "=r" (_res)
  160.   : "r" (a6), "r" (d0)
  161.   : "a0","a1","d0","d1", "memory");
  162.   return _res;
  163. }
  164. static __inline DOUBLE 
  165. IEEEDPSincos (BASE_PAR_DECL DOUBLE *pf2,DOUBLE parm)
  166. {
  167.   BASE_EXT_DECL
  168.   register DOUBLE  _res  __asm("d0");
  169.   register struct MathIeeeDoubTransBase* a6 __asm("a6") = BASE_NAME;
  170.   register DOUBLE *a0 __asm("a0") = pf2;
  171.   register DOUBLE d0 __asm("d0") = parm;
  172.   __asm __volatile ("jsr a6@(-0x36)"
  173.   : "=r" (_res)
  174.   : "r" (a6), "r" (a0), "r" (d0)
  175.   : "a0","a1","d0","d1", "memory");
  176.   return _res;
  177. }
  178. static __inline DOUBLE 
  179. IEEEDPSinh (BASE_PAR_DECL DOUBLE parm)
  180. {
  181.   BASE_EXT_DECL
  182.   register DOUBLE  _res  __asm("d0");
  183.   register struct MathIeeeDoubTransBase* a6 __asm("a6") = BASE_NAME;
  184.   register DOUBLE d0 __asm("d0") = parm;
  185.   __asm __volatile ("jsr a6@(-0x3c)"
  186.   : "=r" (_res)
  187.   : "r" (a6), "r" (d0)
  188.   : "a0","a1","d0","d1", "memory");
  189.   return _res;
  190. }
  191. static __inline DOUBLE 
  192. IEEEDPSqrt (BASE_PAR_DECL DOUBLE parm)
  193. {
  194.   BASE_EXT_DECL
  195.   register DOUBLE  _res  __asm("d0");
  196.   register struct MathIeeeDoubTransBase* a6 __asm("a6") = BASE_NAME;
  197.   register DOUBLE d0 __asm("d0") = parm;
  198.   __asm __volatile ("jsr a6@(-0x60)"
  199.   : "=r" (_res)
  200.   : "r" (a6), "r" (d0)
  201.   : "a0","a1","d0","d1", "memory");
  202.   return _res;
  203. }
  204. static __inline DOUBLE 
  205. IEEEDPTan (BASE_PAR_DECL DOUBLE parm)
  206. {
  207.   BASE_EXT_DECL
  208.   register DOUBLE  _res  __asm("d0");
  209.   register struct MathIeeeDoubTransBase* a6 __asm("a6") = BASE_NAME;
  210.   register DOUBLE d0 __asm("d0") = parm;
  211.   __asm __volatile ("jsr a6@(-0x30)"
  212.   : "=r" (_res)
  213.   : "r" (a6), "r" (d0)
  214.   : "a0","a1","d0","d1", "memory");
  215.   return _res;
  216. }
  217. static __inline DOUBLE 
  218. IEEEDPTanh (BASE_PAR_DECL DOUBLE parm)
  219. {
  220.   BASE_EXT_DECL
  221.   register DOUBLE  _res  __asm("d0");
  222.   register struct MathIeeeDoubTransBase* a6 __asm("a6") = BASE_NAME;
  223.   register DOUBLE d0 __asm("d0") = parm;
  224.   __asm __volatile ("jsr a6@(-0x48)"
  225.   : "=r" (_res)
  226.   : "r" (a6), "r" (d0)
  227.   : "a0","a1","d0","d1", "memory");
  228.   return _res;
  229. }
  230. static __inline FLOAT 
  231. IEEEDPTieee (BASE_PAR_DECL DOUBLE parm)
  232. {
  233.   BASE_EXT_DECL
  234.   register FLOAT  _res  __asm("d0");
  235.   register struct MathIeeeDoubTransBase* a6 __asm("a6") = BASE_NAME;
  236.   register DOUBLE d0 __asm("d0") = parm;
  237.   __asm __volatile ("jsr a6@(-0x66)"
  238.   : "=r" (_res)
  239.   : "r" (a6), "r" (d0)
  240.   : "a0","a1","d0","d1", "memory");
  241.   return _res;
  242. }
  243. #undef BASE_EXT_DECL
  244. #undef BASE_PAR_DECL
  245. #undef BASE_PAR_DECL0
  246. #undef BASE_NAME
  247.  
  248. __END_DECLS
  249.  
  250. #endif /* _INLINE_MATHIEEEDOUBTRANS_H */
  251.