Home | History | Annotate | Download | only in native
      1 /*
      2  * Copyright (c) 1998, 2003, Oracle and/or its affiliates. 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.  Oracle designates this
      8  * particular file as subject to the "Classpath" exception as provided
      9  * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
     22  * or visit www.oracle.com if you need additional information or have any
     23  * questions.
     24  */
     25 
     26 #ifndef _JFDLIBM_H
     27 #define _JFDLIBM_H
     28 
     29 #define _IEEE_LIBM
     30 
     31 /*
     32  * In order to resolve the conflict between fdlibm and compilers
     33  * (such as keywords and built-in functions), the following
     34  * function names have to be re-mapped.
     35  */
     36 
     37 #define huge    HUGE_NUMBER
     38 #define acos    jacos
     39 #define asin    jasin
     40 #define atan    jatan
     41 #define atan2   jatan2
     42 #define cos     jcos
     43 #define exp     jexp
     44 #define log     jlog
     45 #define log10   jlog10
     46 #define pow     jpow
     47 #define sin     jsin
     48 #define sqrt    jsqrt
     49 #define cbrt    jcbrt
     50 #define tan     jtan
     51 #define floor   jfloor
     52 #define ceil    jceil
     53 #define cosh    jcosh
     54 #define fmod    jmod
     55 #define log10   jlog10
     56 #define sinh    jsinh
     57 #define fabs    jfabs
     58 #define tanh    jtanh
     59 #define remainder jremainder
     60 #define hypot   jhypot
     61 #define log1p   jlog1p
     62 #define expm1   jexpm1
     63 
     64 #if defined(__linux__) || defined(_ALLBSD_SOURCE)
     65 #define __ieee754_sqrt          __j__ieee754_sqrt
     66 #define __ieee754_acos          __j__ieee754_acos
     67 #define __ieee754_acosh         __j__ieee754_acosh
     68 #define __ieee754_log           __j__ieee754_log
     69 #define __ieee754_atanh         __j__ieee754_atanh
     70 #define __ieee754_asin          __j__ieee754_asin
     71 #define __ieee754_atan2         __j__ieee754_atan2
     72 #define __ieee754_exp           __j__ieee754_exp
     73 #define __ieee754_cosh          __j__ieee754_cosh
     74 #define __ieee754_fmod          __j__ieee754_fmod
     75 #define __ieee754_pow           __j__ieee754_pow
     76 #define __ieee754_lgamma_r      __j__ieee754_lgamma_r
     77 #define __ieee754_gamma_r       __j__ieee754_gamma_r
     78 #define __ieee754_lgamma        __j__ieee754_lgamma
     79 #define __ieee754_gamma         __j__ieee754_gamma
     80 #define __ieee754_log10         __j__ieee754_log10
     81 #define __ieee754_sinh          __j__ieee754_sinh
     82 #define __ieee754_hypot         __j__ieee754_hypot
     83 #define __ieee754_j0            __j__ieee754_j0
     84 #define __ieee754_j1            __j__ieee754_j1
     85 #define __ieee754_y0            __j__ieee754_y0
     86 #define __ieee754_y1            __j__ieee754_y1
     87 #define __ieee754_jn            __j__ieee754_jn
     88 #define __ieee754_yn            __j__ieee754_yn
     89 #define __ieee754_remainder     __j__ieee754_remainder
     90 #define __ieee754_rem_pio2      __j__ieee754_rem_pio2
     91 #define __ieee754_scalb         __j__ieee754_scalb
     92 #define __kernel_standard       __j__kernel_standard
     93 #define __kernel_sin            __j__kernel_sin
     94 #define __kernel_cos            __j__kernel_cos
     95 #define __kernel_tan            __j__kernel_tan
     96 #define __kernel_rem_pio2       __j__kernel_rem_pio2
     97 #define __ieee754_log1p         __j__ieee754_log1p
     98 #define __ieee754_expm1         __j__ieee754_expm1
     99 #endif
    100 #endif/*_JFDLIBM_H*/
    101