| /* | |
| * Copyright (c) 2023, 2025, Oracle and/or its affiliates. All rights reserved. | |
| * Copyright (c) 2023, IBM Corp. | |
| * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | |
| * | |
| * This code is free software; you can redistribute it and/or modify it | |
| * under the terms of the GNU General Public License version 2 only, as | |
| * published by the Free Software Foundation. Oracle designates this | |
| * particular file as subject to the "Classpath" exception as provided | |
| * by Oracle in the LICENSE file that accompanied this code. | |
| * | |
| * This code is distributed in the hope that it will be useful, but WITHOUT | |
| * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
| * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
| * version 2 for more details (a copy is included in the LICENSE file that | |
| * accompanied this code). | |
| * | |
| * You should have received a copy of the GNU General Public License version | |
| * 2 along with this work; if not, write to the Free Software Foundation, | |
| * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
| * | |
| * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | |
| * or visit www.oracle.com if you need additional information or have any | |
| * questions. | |
| */ | |
| // Note: the include below is not strictly required, as dependencies will be pulled using linker flags. | |
| // Adding at least one #include removes unwanted warnings on some platforms. | |
| #include <string.h> | |
| #include <math.h> | |
| #include "jni_util.h" | |
| DEF_STATIC_JNI_OnLoad | |
| // Addresses of functions to be referenced using static linking. | |
| void* funcs[] = { | |
| //string.h | |
| &strlen, | |
| &strcat, | |
| //math.h | |
| &abs, | |
| &fabs, | |
| &fabsf, | |
| &fabsl, | |
| &fmod, | |
| &fmodf, | |
| &fmodl, | |
| &remainder, | |
| &remainderf, | |
| &remainderl, | |
| &remquo, | |
| &remquof, | |
| &remquol, | |
| &fma, | |
| &fmaf, | |
| &fmal, | |
| &fmax, | |
| &fmaxf, | |
| &fmaxl, | |
| &fmin, | |
| &fminf, | |
| &fminl, | |
| &fdim, | |
| &fdimf, | |
| &fdiml, | |
| &nan, | |
| &nanf, | |
| &nanl, | |
| &exp, | |
| &expf, | |
| &expl, | |
| &exp2, | |
| &exp2f, | |
| &exp2l, | |
| &expm1, | |
| &expm1f, | |
| &expm1l, | |
| &log, | |
| &logf, | |
| &logl, | |
| &log10, | |
| &log10f, | |
| &log10l, | |
| &log2, | |
| &log2f, | |
| &log2l, | |
| &log1p, | |
| &log1pf, | |
| &log1pl, | |
| &pow, | |
| &powf, | |
| &powl, | |
| &sqrt, | |
| &sqrtf, | |
| &sqrtl, | |
| &cbrt, | |
| &cbrtf, | |
| &cbrtl, | |
| &hypot, | |
| &hypotf, | |
| &hypotl, | |
| &sin, | |
| &sinf, | |
| &sinl, | |
| &cos, | |
| &cosf, | |
| &cosl, | |
| &tan, | |
| &tanf, | |
| &tanl, | |
| &asin, | |
| &asinf, | |
| &asinl, | |
| &acos, | |
| &acosf, | |
| &acosl, | |
| &atan, | |
| &atanf, | |
| &atanl, | |
| &atan2, | |
| &atan2f, | |
| &atan2l, | |
| &sinh, | |
| &sinhf, | |
| &sinhl, | |
| &cosh, | |
| &coshf, | |
| &coshl, | |
| &tanh, | |
| &tanhf, | |
| &tanhl, | |
| &asinh, | |
| &asinhf, | |
| &asinhl, | |
| &acosh, | |
| &acoshf, | |
| &acoshl, | |
| &atanh, | |
| &atanhf, | |
| &atanhl, | |
| &erf, | |
| &erff, | |
| &erfl, | |
| &erfc, | |
| &erfcf, | |
| &erfcl, | |
| &tgamma, | |
| &tgammaf, | |
| &tgammal, | |
| &lgamma, | |
| &lgammaf, | |
| &lgammal, | |
| &ceil, | |
| &ceilf, | |
| &ceill, | |
| &floor, | |
| &floorf, | |
| &floorl, | |
| &trunc, | |
| &truncf, | |
| &truncl, | |
| &round, | |
| &roundf, | |
| &roundl, | |
| &lround, | |
| &lroundf, | |
| &lroundl, | |
| &llround, | |
| &llroundf, | |
| &llroundl, | |
| &nearbyint, | |
| &nearbyintf, | |
| &nearbyintl, | |
| &rintf, | |
| &rintl, | |
| &lrint, | |
| &lrintf, | |
| &lrintl, | |
| &llrint, | |
| &llrintf, | |
| &llrintl, | |
| &frexpf, | |
| &ldexpf, | |
| &modff, | |
| &scalbn, | |
| &scalbnf, | |
| &scalbnl, | |
| &scalbln, | |
| &scalblnf, | |
| &scalblnl, | |
| &ilogb, | |
| &ilogbf, | |
| &ilogbl, | |
| &logb, | |
| &logbf, | |
| &logbl, | |
| &nextafter, | |
| &nextafterf, | |
| &nextafterl, | |
| &nexttoward, | |
| &nexttowardf, | |
| &nexttowardl, | |
| ©sign, | |
| ©signf, | |
| ©signl, | |
| &isnan | |
| }; |