1*25c28e83SPiotr Jasiukajtis /* 2*25c28e83SPiotr Jasiukajtis * CDDL HEADER START 3*25c28e83SPiotr Jasiukajtis * 4*25c28e83SPiotr Jasiukajtis * The contents of this file are subject to the terms of the 5*25c28e83SPiotr Jasiukajtis * Common Development and Distribution License (the "License"). 6*25c28e83SPiotr Jasiukajtis * You may not use this file except in compliance with the License. 7*25c28e83SPiotr Jasiukajtis * 8*25c28e83SPiotr Jasiukajtis * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*25c28e83SPiotr Jasiukajtis * or http://www.opensolaris.org/os/licensing. 10*25c28e83SPiotr Jasiukajtis * See the License for the specific language governing permissions 11*25c28e83SPiotr Jasiukajtis * and limitations under the License. 12*25c28e83SPiotr Jasiukajtis * 13*25c28e83SPiotr Jasiukajtis * When distributing Covered Code, include this CDDL HEADER in each 14*25c28e83SPiotr Jasiukajtis * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*25c28e83SPiotr Jasiukajtis * If applicable, add the following below this CDDL HEADER, with the 16*25c28e83SPiotr Jasiukajtis * fields enclosed by brackets "[]" replaced with your own identifying 17*25c28e83SPiotr Jasiukajtis * information: Portions Copyright [yyyy] [name of copyright owner] 18*25c28e83SPiotr Jasiukajtis * 19*25c28e83SPiotr Jasiukajtis * CDDL HEADER END 20*25c28e83SPiotr Jasiukajtis */ 21*25c28e83SPiotr Jasiukajtis /* 22*25c28e83SPiotr Jasiukajtis * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 23*25c28e83SPiotr Jasiukajtis */ 24*25c28e83SPiotr Jasiukajtis /* 25*25c28e83SPiotr Jasiukajtis * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 26*25c28e83SPiotr Jasiukajtis * Use is subject to license terms. 27*25c28e83SPiotr Jasiukajtis */ 28*25c28e83SPiotr Jasiukajtis 29*25c28e83SPiotr Jasiukajtis #ifndef _TGMATH_H 30*25c28e83SPiotr Jasiukajtis #define _TGMATH_H 31*25c28e83SPiotr Jasiukajtis 32*25c28e83SPiotr Jasiukajtis #if !defined(__cplusplus) 33*25c28e83SPiotr Jasiukajtis 34*25c28e83SPiotr Jasiukajtis #include <math.h> 35*25c28e83SPiotr Jasiukajtis #include <complex.h> 36*25c28e83SPiotr Jasiukajtis 37*25c28e83SPiotr Jasiukajtis /* 38*25c28e83SPiotr Jasiukajtis * real-floating and complex 39*25c28e83SPiotr Jasiukajtis */ 40*25c28e83SPiotr Jasiukajtis #undef acos 41*25c28e83SPiotr Jasiukajtis #define acos(x) __tgmath_acos(x) 42*25c28e83SPiotr Jasiukajtis #undef asin 43*25c28e83SPiotr Jasiukajtis #define asin(x) __tgmath_asin(x) 44*25c28e83SPiotr Jasiukajtis #undef atan 45*25c28e83SPiotr Jasiukajtis #define atan(x) __tgmath_atan(x) 46*25c28e83SPiotr Jasiukajtis #undef acosh 47*25c28e83SPiotr Jasiukajtis #define acosh(x) __tgmath_acosh(x) 48*25c28e83SPiotr Jasiukajtis #undef asinh 49*25c28e83SPiotr Jasiukajtis #define asinh(x) __tgmath_asinh(x) 50*25c28e83SPiotr Jasiukajtis #undef atanh 51*25c28e83SPiotr Jasiukajtis #define atanh(x) __tgmath_atanh(x) 52*25c28e83SPiotr Jasiukajtis #undef cos 53*25c28e83SPiotr Jasiukajtis #define cos(x) __tgmath_cos(x) 54*25c28e83SPiotr Jasiukajtis #undef sin 55*25c28e83SPiotr Jasiukajtis #define sin(x) __tgmath_sin(x) 56*25c28e83SPiotr Jasiukajtis #undef tan 57*25c28e83SPiotr Jasiukajtis #define tan(x) __tgmath_tan(x) 58*25c28e83SPiotr Jasiukajtis #undef cosh 59*25c28e83SPiotr Jasiukajtis #define cosh(x) __tgmath_cosh(x) 60*25c28e83SPiotr Jasiukajtis #undef sinh 61*25c28e83SPiotr Jasiukajtis #define sinh(x) __tgmath_sinh(x) 62*25c28e83SPiotr Jasiukajtis #undef tanh 63*25c28e83SPiotr Jasiukajtis #define tanh(x) __tgmath_tanh(x) 64*25c28e83SPiotr Jasiukajtis #undef exp 65*25c28e83SPiotr Jasiukajtis #define exp(x) __tgmath_exp(x) 66*25c28e83SPiotr Jasiukajtis #undef log 67*25c28e83SPiotr Jasiukajtis #define log(x) __tgmath_log(x) 68*25c28e83SPiotr Jasiukajtis #undef pow 69*25c28e83SPiotr Jasiukajtis #define pow(x, y) __tgmath_pow(x, y) 70*25c28e83SPiotr Jasiukajtis #undef sqrt 71*25c28e83SPiotr Jasiukajtis #define sqrt(x) __tgmath_sqrt(x) 72*25c28e83SPiotr Jasiukajtis #undef fabs 73*25c28e83SPiotr Jasiukajtis #define fabs(x) __tgmath_fabs(x) 74*25c28e83SPiotr Jasiukajtis 75*25c28e83SPiotr Jasiukajtis /* 76*25c28e83SPiotr Jasiukajtis * real-floating only 77*25c28e83SPiotr Jasiukajtis */ 78*25c28e83SPiotr Jasiukajtis #undef atan2 79*25c28e83SPiotr Jasiukajtis #define atan2(y, x) __tgmath_atan2(y, x) 80*25c28e83SPiotr Jasiukajtis #undef cbrt 81*25c28e83SPiotr Jasiukajtis #define cbrt(x) __tgmath_cbrt(x) 82*25c28e83SPiotr Jasiukajtis #undef ceil 83*25c28e83SPiotr Jasiukajtis #define ceil(x) __tgmath_ceil(x) 84*25c28e83SPiotr Jasiukajtis #undef copysign 85*25c28e83SPiotr Jasiukajtis #define copysign(x, y) __tgmath_copysign(x, y) 86*25c28e83SPiotr Jasiukajtis #undef erf 87*25c28e83SPiotr Jasiukajtis #define erf(x) __tgmath_erf(x) 88*25c28e83SPiotr Jasiukajtis #undef erfc 89*25c28e83SPiotr Jasiukajtis #define erfc(x) __tgmath_erfc(x) 90*25c28e83SPiotr Jasiukajtis #undef exp2 91*25c28e83SPiotr Jasiukajtis #define exp2(x) __tgmath_exp2(x) 92*25c28e83SPiotr Jasiukajtis #undef expm1 93*25c28e83SPiotr Jasiukajtis #define expm1(x) __tgmath_expm1(x) 94*25c28e83SPiotr Jasiukajtis #undef fdim 95*25c28e83SPiotr Jasiukajtis #define fdim(x, y) __tgmath_fdim(x, y) 96*25c28e83SPiotr Jasiukajtis #undef floor 97*25c28e83SPiotr Jasiukajtis #define floor(x) __tgmath_floor(x) 98*25c28e83SPiotr Jasiukajtis #undef fma 99*25c28e83SPiotr Jasiukajtis #define fma(x, y, z) __tgmath_fma(x, y, z) 100*25c28e83SPiotr Jasiukajtis #undef fmax 101*25c28e83SPiotr Jasiukajtis #define fmax(x, y) __tgmath_fmax(x, y) 102*25c28e83SPiotr Jasiukajtis #undef fmin 103*25c28e83SPiotr Jasiukajtis #define fmin(x, y) __tgmath_fmin(x, y) 104*25c28e83SPiotr Jasiukajtis #undef fmod 105*25c28e83SPiotr Jasiukajtis #define fmod(x, y) __tgmath_fmod(x, y) 106*25c28e83SPiotr Jasiukajtis #undef frexp 107*25c28e83SPiotr Jasiukajtis #define frexp(x, ip) __tgmath_frexp(x, ip) 108*25c28e83SPiotr Jasiukajtis #undef hypot 109*25c28e83SPiotr Jasiukajtis #define hypot(x, y) __tgmath_hypot(x, y) 110*25c28e83SPiotr Jasiukajtis #undef ilogb 111*25c28e83SPiotr Jasiukajtis #define ilogb(x) __tgmath_ilogb(x) 112*25c28e83SPiotr Jasiukajtis #undef ldexp 113*25c28e83SPiotr Jasiukajtis #define ldexp(x, i) __tgmath_ldexp(x, i) 114*25c28e83SPiotr Jasiukajtis #undef lgamma 115*25c28e83SPiotr Jasiukajtis #define lgamma(x) __tgmath_lgamma(x) 116*25c28e83SPiotr Jasiukajtis #undef llrint 117*25c28e83SPiotr Jasiukajtis #define llrint(x) __tgmath_llrint(x) 118*25c28e83SPiotr Jasiukajtis #undef llround 119*25c28e83SPiotr Jasiukajtis #define llround(x) __tgmath_llround(x) 120*25c28e83SPiotr Jasiukajtis #undef log10 121*25c28e83SPiotr Jasiukajtis #define log10(x) __tgmath_log10(x) 122*25c28e83SPiotr Jasiukajtis #undef log1p 123*25c28e83SPiotr Jasiukajtis #define log1p(x) __tgmath_log1p(x) 124*25c28e83SPiotr Jasiukajtis #undef log2 125*25c28e83SPiotr Jasiukajtis #define log2(x) __tgmath_log2(x) 126*25c28e83SPiotr Jasiukajtis #undef logb 127*25c28e83SPiotr Jasiukajtis #define logb(x) __tgmath_logb(x) 128*25c28e83SPiotr Jasiukajtis #undef lrint 129*25c28e83SPiotr Jasiukajtis #define lrint(x) __tgmath_lrint(x) 130*25c28e83SPiotr Jasiukajtis #undef lround 131*25c28e83SPiotr Jasiukajtis #define lround(x) __tgmath_lround(x) 132*25c28e83SPiotr Jasiukajtis #undef nearbyint 133*25c28e83SPiotr Jasiukajtis #define nearbyint(x) __tgmath_nearbyint(x) 134*25c28e83SPiotr Jasiukajtis #undef nextafter 135*25c28e83SPiotr Jasiukajtis #define nextafter(x, y) __tgmath_nextafter(x, y) 136*25c28e83SPiotr Jasiukajtis #undef nexttoward 137*25c28e83SPiotr Jasiukajtis #define nexttoward(x, y) __tgmath_nexttoward(x, y) 138*25c28e83SPiotr Jasiukajtis #undef remainder 139*25c28e83SPiotr Jasiukajtis #define remainder(x, y) __tgmath_remainder(x, y) 140*25c28e83SPiotr Jasiukajtis #undef remquo 141*25c28e83SPiotr Jasiukajtis #define remquo(x, y, ip) __tgmath_remquo(x, y, ip) 142*25c28e83SPiotr Jasiukajtis #undef rint 143*25c28e83SPiotr Jasiukajtis #define rint(x) __tgmath_rint(x) 144*25c28e83SPiotr Jasiukajtis #undef round 145*25c28e83SPiotr Jasiukajtis #define round(x) __tgmath_round(x) 146*25c28e83SPiotr Jasiukajtis #undef scalbln 147*25c28e83SPiotr Jasiukajtis #define scalbln(x, l) __tgmath_scalbln(x, l) 148*25c28e83SPiotr Jasiukajtis #undef scalbn 149*25c28e83SPiotr Jasiukajtis #define scalbn(x, i) __tgmath_scalbn(x, i) 150*25c28e83SPiotr Jasiukajtis #undef tgamma 151*25c28e83SPiotr Jasiukajtis #define tgamma(x) __tgmath_tgamma(x) 152*25c28e83SPiotr Jasiukajtis #undef trunc 153*25c28e83SPiotr Jasiukajtis #define trunc(x) __tgmath_trunc(x) 154*25c28e83SPiotr Jasiukajtis 155*25c28e83SPiotr Jasiukajtis /* 156*25c28e83SPiotr Jasiukajtis * complex only 157*25c28e83SPiotr Jasiukajtis */ 158*25c28e83SPiotr Jasiukajtis #undef carg 159*25c28e83SPiotr Jasiukajtis #define carg(x) __tgmath_carg(x) 160*25c28e83SPiotr Jasiukajtis #undef cimag 161*25c28e83SPiotr Jasiukajtis #define cimag(x) __tgmath_cimag(x) 162*25c28e83SPiotr Jasiukajtis #undef conj 163*25c28e83SPiotr Jasiukajtis #define conj(x) __tgmath_conj(x) 164*25c28e83SPiotr Jasiukajtis #undef cproj 165*25c28e83SPiotr Jasiukajtis #define cproj(x) __tgmath_cproj(x) 166*25c28e83SPiotr Jasiukajtis #undef creal 167*25c28e83SPiotr Jasiukajtis #define creal(x) __tgmath_creal(x) 168*25c28e83SPiotr Jasiukajtis 169*25c28e83SPiotr Jasiukajtis #endif /* !defined(__cplusplus) */ 170*25c28e83SPiotr Jasiukajtis 171*25c28e83SPiotr Jasiukajtis #endif /* _TGMATH_H */ 172