1 /* 2 * Copyright 1994-2003 Sun Microsystems, Inc. All Rights Reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Sun designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Sun in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 22 * CA 95054 USA or visit www.sun.com if you need additional information or 23 * have any questions. 24 */ 25 26 #include "jni.h" 27 #include "fdlibm.h" 28 29 #include "java_lang_StrictMath.h" 30 31 JNIEXPORT jdouble JNICALL 32 Java_java_lang_StrictMath_cos(JNIEnv *env, jclass unused, jdouble d) 33 { 34 return (jdouble) jcos((double)d); 35 } 36 37 JNIEXPORT jdouble JNICALL 38 Java_java_lang_StrictMath_sin(JNIEnv *env, jclass unused, jdouble d) 39 { 40 return (jdouble) jsin((double)d); 41 } 42 43 JNIEXPORT jdouble JNICALL 44 Java_java_lang_StrictMath_tan(JNIEnv *env, jclass unused, jdouble d) 45 { 46 return (jdouble) jtan((double)d); 47 } 48 49 JNIEXPORT jdouble JNICALL 50 Java_java_lang_StrictMath_asin(JNIEnv *env, jclass unused, jdouble d) 51 { 52 return (jdouble) jasin((double)d); 53 } 54 55 JNIEXPORT jdouble JNICALL 56 Java_java_lang_StrictMath_acos(JNIEnv *env, jclass unused, jdouble d) 57 { 58 return (jdouble) jacos((double)d); 59 } 60 61 JNIEXPORT jdouble JNICALL 62 Java_java_lang_StrictMath_atan(JNIEnv *env, jclass unused, jdouble d) 63 { 64 return (jdouble) jatan((double)d); 65 } 66 67 JNIEXPORT jdouble JNICALL 68 Java_java_lang_StrictMath_exp(JNIEnv *env, jclass unused, jdouble d) 69 { 70 return (jdouble) jexp((double)d); 71 } 72 73 JNIEXPORT jdouble JNICALL 74 Java_java_lang_StrictMath_log(JNIEnv *env, jclass unused, jdouble d) 75 { 76 return (jdouble) jlog((double)d); 77 } 78 79 JNIEXPORT jdouble JNICALL 80 Java_java_lang_StrictMath_log10(JNIEnv *env, jclass unused, jdouble d) 81 { 82 return (jdouble) jlog10((double)d); 83 } 84 85 JNIEXPORT jdouble JNICALL 86 Java_java_lang_StrictMath_sqrt(JNIEnv *env, jclass unused, jdouble d) 87 { 88 return (jdouble) jsqrt((double)d); 89 } 90 91 JNIEXPORT jdouble JNICALL 92 Java_java_lang_StrictMath_cbrt(JNIEnv *env, jclass unused, jdouble d) 93 { 94 return (jdouble) jcbrt((double)d); 95 } 96 97 JNIEXPORT jdouble JNICALL 98 Java_java_lang_StrictMath_ceil(JNIEnv *env, jclass unused, jdouble d) 99 { 100 return (jdouble) jceil((double)d); 101 } 102 103 JNIEXPORT jdouble JNICALL 104 Java_java_lang_StrictMath_floor(JNIEnv *env, jclass unused, jdouble d) 105 { 106 return (jdouble) jfloor((double)d); 107 } 108 109 JNIEXPORT jdouble JNICALL 110 Java_java_lang_StrictMath_atan2(JNIEnv *env, jclass unused, jdouble d1, jdouble d2) 111 { 112 return (jdouble) jatan2((double)d1, (double)d2); 113 } 114 115 JNIEXPORT jdouble JNICALL 116 Java_java_lang_StrictMath_pow(JNIEnv *env, jclass unused, jdouble d1, jdouble d2) 117 { 118 return (jdouble) jpow((double)d1, (double)d2); 119 } 120 121 JNIEXPORT jdouble JNICALL 122 Java_java_lang_StrictMath_IEEEremainder(JNIEnv *env, jclass unused, 123 jdouble dividend, 124 jdouble divisor) 125 { 126 return (jdouble) jremainder(dividend, divisor); 127 } 128 129 JNIEXPORT jdouble JNICALL 130 Java_java_lang_StrictMath_cosh(JNIEnv *env, jclass unused, jdouble d) 131 { 132 return (jdouble) jcosh((double)d); 133 } 134 135 JNIEXPORT jdouble JNICALL 136 Java_java_lang_StrictMath_sinh(JNIEnv *env, jclass unused, jdouble d) 137 { 138 return (jdouble) jsinh((double)d); 139 } 140 141 JNIEXPORT jdouble JNICALL 142 Java_java_lang_StrictMath_tanh(JNIEnv *env, jclass unused, jdouble d) 143 { 144 return (jdouble) jtanh((double)d); 145 } 146 147 JNIEXPORT jdouble JNICALL 148 Java_java_lang_StrictMath_hypot(JNIEnv *env, jclass unused, jdouble x, jdouble y) 149 { 150 return (jdouble) jhypot((double)x, (double)y); 151 } 152 153 154 155 JNIEXPORT jdouble JNICALL 156 Java_java_lang_StrictMath_log1p(JNIEnv *env, jclass unused, jdouble d) 157 { 158 return (jdouble) jlog1p((double)d); 159 } 160 161 JNIEXPORT jdouble JNICALL 162 Java_java_lang_StrictMath_expm1(JNIEnv *env, jclass unused, jdouble d) 163 { 164 return (jdouble) jexpm1((double)d); 165 }