1 /*
   2  * CDDL HEADER START
   3  *
   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.
   7  *
   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.
  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  * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
  23  */
  24 /*
  25  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
  26  * Use is subject to license terms.
  27  */
  28 
  29 #ifndef _TGMATH_H
  30 #define _TGMATH_H
  31 
  32 #if !defined(__cplusplus)
  33 
  34 #include <math.h>
  35 #include <complex.h>
  36 
  37 /*
  38  * real-floating and complex
  39  */
  40 #undef  acos
  41 #define acos(x)                 __tgmath_acos(x)
  42 #undef  asin
  43 #define asin(x)                 __tgmath_asin(x)
  44 #undef  atan
  45 #define atan(x)                 __tgmath_atan(x)
  46 #undef  acosh
  47 #define acosh(x)                __tgmath_acosh(x)
  48 #undef  asinh
  49 #define asinh(x)                __tgmath_asinh(x)
  50 #undef  atanh
  51 #define atanh(x)                __tgmath_atanh(x)
  52 #undef  cos
  53 #define cos(x)                  __tgmath_cos(x)
  54 #undef  sin
  55 #define sin(x)                  __tgmath_sin(x)
  56 #undef  tan
  57 #define tan(x)                  __tgmath_tan(x)
  58 #undef  cosh
  59 #define cosh(x)                 __tgmath_cosh(x)
  60 #undef  sinh
  61 #define sinh(x)                 __tgmath_sinh(x)
  62 #undef  tanh
  63 #define tanh(x)                 __tgmath_tanh(x)
  64 #undef  exp
  65 #define exp(x)                  __tgmath_exp(x)
  66 #undef  log
  67 #define log(x)                  __tgmath_log(x)
  68 #undef  pow
  69 #define pow(x, y)               __tgmath_pow(x, y)
  70 #undef  sqrt
  71 #define sqrt(x)                 __tgmath_sqrt(x)
  72 #undef  fabs
  73 #define fabs(x)                 __tgmath_fabs(x)
  74 
  75 /*
  76  * real-floating only
  77  */
  78 #undef  atan2
  79 #define atan2(y, x)             __tgmath_atan2(y, x)
  80 #undef  cbrt
  81 #define cbrt(x)                 __tgmath_cbrt(x)
  82 #undef  ceil
  83 #define ceil(x)                 __tgmath_ceil(x)
  84 #undef  copysign
  85 #define copysign(x, y)          __tgmath_copysign(x, y)
  86 #undef  erf
  87 #define erf(x)                  __tgmath_erf(x)
  88 #undef  erfc
  89 #define erfc(x)                 __tgmath_erfc(x)
  90 #undef  exp2
  91 #define exp2(x)                 __tgmath_exp2(x)
  92 #undef  expm1
  93 #define expm1(x)                __tgmath_expm1(x)
  94 #undef  fdim
  95 #define fdim(x, y)              __tgmath_fdim(x, y)
  96 #undef  floor
  97 #define floor(x)                __tgmath_floor(x)
  98 #undef  fma
  99 #define fma(x, y, z)            __tgmath_fma(x, y, z)
 100 #undef  fmax
 101 #define fmax(x, y)              __tgmath_fmax(x, y)
 102 #undef  fmin
 103 #define fmin(x, y)              __tgmath_fmin(x, y)
 104 #undef  fmod
 105 #define fmod(x, y)              __tgmath_fmod(x, y)
 106 #undef  frexp
 107 #define frexp(x, ip)            __tgmath_frexp(x, ip)
 108 #undef  hypot
 109 #define hypot(x, y)             __tgmath_hypot(x, y)
 110 #undef  ilogb
 111 #define ilogb(x)                __tgmath_ilogb(x)
 112 #undef  ldexp
 113 #define ldexp(x, i)             __tgmath_ldexp(x, i)
 114 #undef  lgamma
 115 #define lgamma(x)               __tgmath_lgamma(x)
 116 #undef  llrint
 117 #define llrint(x)               __tgmath_llrint(x)
 118 #undef  llround
 119 #define llround(x)              __tgmath_llround(x)
 120 #undef  log10
 121 #define log10(x)                __tgmath_log10(x)
 122 #undef  log1p
 123 #define log1p(x)                __tgmath_log1p(x)
 124 #undef  log2
 125 #define log2(x)                 __tgmath_log2(x)
 126 #undef  logb
 127 #define logb(x)                 __tgmath_logb(x)
 128 #undef  lrint
 129 #define lrint(x)                __tgmath_lrint(x)
 130 #undef  lround
 131 #define lround(x)               __tgmath_lround(x)
 132 #undef  nearbyint
 133 #define nearbyint(x)            __tgmath_nearbyint(x)
 134 #undef  nextafter
 135 #define nextafter(x, y)         __tgmath_nextafter(x, y)
 136 #undef  nexttoward
 137 #define nexttoward(x, y)        __tgmath_nexttoward(x, y)
 138 #undef  remainder
 139 #define remainder(x, y)         __tgmath_remainder(x, y)
 140 #undef  remquo
 141 #define remquo(x, y, ip)        __tgmath_remquo(x, y, ip)
 142 #undef  rint
 143 #define rint(x)                 __tgmath_rint(x)
 144 #undef  round
 145 #define round(x)                __tgmath_round(x)
 146 #undef  scalbln
 147 #define scalbln(x, l)           __tgmath_scalbln(x, l)
 148 #undef  scalbn
 149 #define scalbn(x, i)            __tgmath_scalbn(x, i)
 150 #undef  tgamma
 151 #define tgamma(x)               __tgmath_tgamma(x)
 152 #undef  trunc
 153 #define trunc(x)                __tgmath_trunc(x)
 154 
 155 /*
 156  * complex only
 157  */
 158 #undef  carg
 159 #define carg(x)                 __tgmath_carg(x)
 160 #undef  cimag
 161 #define cimag(x)                __tgmath_cimag(x)
 162 #undef  conj
 163 #define conj(x)                 __tgmath_conj(x)
 164 #undef  cproj
 165 #define cproj(x)                __tgmath_cproj(x)
 166 #undef  creal
 167 #define creal(x)                __tgmath_creal(x)
 168 
 169 #endif  /* !defined(__cplusplus) */
 170 
 171 #endif  /* _TGMATH_H */