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 */
172