10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
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]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
24 */
25 /*
26 * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
27 * Use is subject to license terms.
28 */
29
30 #pragma weak powl = __powl
31
32 #include "libm.h"
33 #include "xpg6.h" /* __xpg6 */
34 #define _C99SUSv3_pow _C99SUSv3_pow_treats_Inf_as_an_even_int
35
36 #if defined(__sparc)
37 #define i0 0
38 #define i1 1
39 #define i2 2
40 #define i3 3
41
42 static const long double zero = 0.0L, one = 1.0L, two = 2.0L;
43
44 extern const long double _TBL_logl_hi[], _TBL_logl_lo[];
45
46 static const long double
47 two113 = 10384593717069655257060992658440192.0L,
48 ln2hi = 6.931471805599453094172319547495844850203e-0001L,
49 ln2lo = 1.667085920830552208890449330400379754169e-0025L,
50 A2 = 6.666666666666666666666666666666091393804e-0001L,
|
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
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]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
24 */
25 /*
26 * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
27 * Use is subject to license terms.
28 */
29
30 #pragma weak __powl = powl
31
32 #include "libm.h"
33 #include "xpg6.h" /* __xpg6 */
34 #define _C99SUSv3_pow _C99SUSv3_pow_treats_Inf_as_an_even_int
35
36 #if defined(__sparc)
37 #define i0 0
38 #define i1 1
39 #define i2 2
40 #define i3 3
41
42 static const long double zero = 0.0L, one = 1.0L, two = 2.0L;
43
44 extern const long double _TBL_logl_hi[], _TBL_logl_lo[];
45
46 static const long double
47 two113 = 10384593717069655257060992658440192.0L,
48 ln2hi = 6.931471805599453094172319547495844850203e-0001L,
49 ln2lo = 1.667085920830552208890449330400379754169e-0025L,
50 A2 = 6.666666666666666666666666666666091393804e-0001L,
|