home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / gnu / os-include / inline / mathtrans.h < prev    next >
C/C++ Source or Header  |  1994-09-22  |  6KB  |  256 lines

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