4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
23 * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
26 * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
27 * Use is subject to license terms.
30 #pragma weak _lib_version = __libm_lib_version
31 #pragma weak acos = __acos
32 #pragma weak acosh = __acosh
33 #pragma weak asin = __asin
34 #pragma weak asinh = __asinh
35 #pragma weak atan = __atan
36 #pragma weak atan2 = __atan2
37 #pragma weak atanh = __atanh
38 #pragma weak cbrt = __cbrt
39 #pragma weak ceil = __ceil
40 #pragma weak copysign = __copysign
41 #pragma weak cos = __cos
42 #pragma weak cosh = __cosh
43 #pragma weak erf = __erf
44 #pragma weak erfc = __erfc
45 #pragma weak exp = __exp
46 #pragma weak expm1 = __expm1
47 #pragma weak fabs = __fabs
48 #pragma weak floor = __floor
49 #pragma weak fmod = __fmod
50 #pragma weak gamma = __gamma
51 #pragma weak gamma_r = __gamma_r
52 #pragma weak hypot = __hypot
53 #pragma weak ilogb = __ilogb
54 #pragma weak isnan = __isnan
55 #pragma weak j0 = __j0
56 #pragma weak j1 = __j1
57 #pragma weak jn = __jn
58 #pragma weak lgamma = __lgamma
59 #pragma weak lgamma_r = __lgamma_r
60 #pragma weak log = __log
61 #pragma weak log10 = __log10
62 #pragma weak log1p = __log1p
63 #pragma weak logb = __logb
64 #pragma weak nextafter = __nextafter
65 #pragma weak pow = __pow
66 #pragma weak remainder = __remainder
67 #pragma weak rint = __rint
68 #pragma weak scalb = __scalb
69 #pragma weak scalbn = __scalbn
70 #pragma weak signgam = __signgam
71 #pragma weak significand = __significand
72 #pragma weak sin = __sin
73 #pragma weak sinh = __sinh
74 #pragma weak sqrt = __sqrt
75 #pragma weak tan = __tan
76 #pragma weak tanh = __tanh
77 #pragma weak y0 = __y0
78 #pragma weak y1 = __y1
79 #pragma weak yn = __yn
83 const enum version __libm_lib_version
= libm_ieee
;
86 #if !defined(__sparcv9) && !defined(__amd64)
96 __libm__rem_pio2(double x
, double *y
) {
102 __libm__rem_pio2m(double *x
, double *y
, int e0
, int nx
, int p
, const int *ip
) {
138 __atan2(double y
, double x
) {
162 __copysign(double x
, double y
) {
216 __fmod(double x
, double y
) {
228 __gamma_r(double x
, int *signgamp
) {
234 __hypot(double x
, double y
) {
264 __jn(int n
, double y
) {
276 __lgamma_r(double x
, int *signgamp
) {
306 __nextafter(double x
, double y
) {
312 __pow(double x
, double y
) {
318 __remainder(double x
, double y
) {
330 __scalb(double x
, double y
) {
336 __scalbn(double x
, int n
) {
342 __significand(double x
) {
390 __yn(int n
, double x
) {
396 matherr(struct exception
*excep
) {
420 __atan2f(float y
, float x
) {
462 __fmodf(float x
, float y
) {
468 __frexpf(float x
, int *e
) {
474 __ldexpf(float x
, int n
) {
492 __modff(float x
, float *iptr
) {
498 __powf(float x
, float y
) {
534 __acosl(long double x
) {
540 __asinl(long double x
) {
546 __atanl(long double x
) {
552 __atan2l(long double y
, long double x
) {
558 __ceill(long double x
) {
564 __cosl(long double x
) {
570 __coshl(long double x
) {
576 __expl(long double x
) {
582 __fabsl(long double x
) {
588 __floorl(long double x
) {
594 __fmodl(long double x
, long double y
) {
600 __frexpl(long double x
, int *e
) {
606 __ldexpl(long double x
, int n
) {
612 __logl(long double x
) {
618 __log10l(long double x
) {
624 __modfl(long double x
, long double *iptr
) {
630 __powl(long double x
, long double y
) {
636 __sinl(long double x
) {
642 __sinhl(long double x
) {
648 __sqrtl(long double x
) {
654 __tanl(long double x
) {
660 __tanhl(long double x
) {