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