home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / kaffe-0.5p4-src.tgz / tar.out / contrib / kaffe / lib / native / java.lang / Math.c < prev    next >
C/C++ Source or Header  |  1996-09-28  |  2KB  |  117 lines

  1. /*
  2.  * java.lang.Math.c
  3.  *
  4.  * Copyright (c) 1996 Systems Architecture Research Centre,
  5.  *           City University, London, UK.
  6.  *
  7.  * See the file "license.terms" for information on usage and redistribution
  8.  * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  9.  *
  10.  * Written by Tim Wilkinson <tim@sarc.city.ac.uk>, February 1996.
  11.  */
  12.  
  13. #include <native.h>
  14. #include <math.h>
  15. #include "config.h"
  16. #include "java.lang.stubs/Math.h"
  17.  
  18. #if !defined(HAVE_REMAINDER)
  19. #define remainder fmod
  20. #endif
  21.  
  22. double
  23. java_lang_Math_sin(struct Hjava_lang_Math* none, double v)
  24. {
  25.     return (sin(v));
  26. }
  27.  
  28. double
  29. java_lang_Math_cos(struct Hjava_lang_Math* none, double v)
  30. {
  31.     return (cos(v));
  32. }
  33.  
  34. double
  35. java_lang_Math_tan(struct Hjava_lang_Math* none, double v)
  36. {
  37.     return (tan(v));
  38. }
  39.  
  40. double
  41. java_lang_Math_asin(struct Hjava_lang_Math* none, double v)
  42. {
  43.     return (asin(v));
  44. }
  45.  
  46. double
  47. java_lang_Math_acos(struct Hjava_lang_Math* none, double v)
  48. {
  49.     return (acos(v));
  50. }
  51.  
  52. double
  53. java_lang_Math_atan(struct Hjava_lang_Math* none, double v)
  54. {
  55.     return (atan(v));
  56. }
  57.  
  58. double
  59. java_lang_Math_exp(struct Hjava_lang_Math* none, double v)
  60. {
  61.     return (exp(v));
  62. }
  63.  
  64. double
  65. java_lang_Math_log(struct Hjava_lang_Math* none, double v)
  66. {
  67.     return (log(v));
  68. }
  69.  
  70. double
  71. java_lang_Math_sqrt(struct Hjava_lang_Math* none, double v)
  72. {
  73.     return (sqrt(v));
  74. }
  75.  
  76. double
  77. java_lang_Math_IEEEremainder(struct Hjava_lang_Math* none, double v1, double v2)
  78. {
  79.     return (remainder(v1, v2));
  80. }
  81.  
  82. double
  83. java_lang_Math_ceil(struct Hjava_lang_Math* none, double v)
  84. {
  85.     return (ceil(v));
  86. }
  87.  
  88. double
  89. java_lang_Math_floor(struct Hjava_lang_Math* none, double v)
  90. {
  91.     return (floor(v));
  92. }
  93.  
  94. double
  95. java_lang_Math_rint(struct Hjava_lang_Math* none, double v)
  96. {
  97. #if defined(HAVE_RINT)
  98.     return (rint(v));
  99. #elif defined (HAVE_FLOOR)
  100.     return (floor(v));
  101. #else
  102.     return (double)(int)v;    /* Icky - but better than nothing */
  103. #endif
  104. }
  105.  
  106. double
  107. java_lang_Math_atan2(struct Hjava_lang_Math* none, double v1, double v2)
  108. {
  109.     return (atan2(v1, v2));
  110. }
  111.  
  112. double
  113. java_lang_Math_pow(struct Hjava_lang_Math* none, double v1, double v2)
  114. {
  115.     return (pow(v1, v2));
  116. }
  117.