math-finite.h
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020: #ifndef _MATH_H
021: # error "Never use <bits/math-finite.h> directly; include <math.h> instead."
022: #endif
023:
024:
025: extern double __REDIRECT_NTH (acos, (double), __acos_finite);
026: extern float __REDIRECT_NTH (acosf, (float), __acosf_finite);
027: #ifdef __MATH_DECLARE_LDOUBLE
028: extern long double __REDIRECT_NTH (acosl, (long double), __acosl_finite);
029: #endif
030:
031: #if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
032:
033: extern double __REDIRECT_NTH (acosh, (double), __acosh_finite);
034: extern float __REDIRECT_NTH (acoshf, (float), __acoshf_finite);
035: # ifdef __MATH_DECLARE_LDOUBLE
036: extern long double __REDIRECT_NTH (acoshl, (long double), __acoshl_finite);
037: # endif
038: #endif
039:
040:
041: extern double __REDIRECT_NTH (asin, (double), __asin_finite);
042: extern float __REDIRECT_NTH (asinf, (float), __asinf_finite);
043: #ifdef __MATH_DECLARE_LDOUBLE
044: extern long double __REDIRECT_NTH (asinl, (long double), __asinl_finite);
045: #endif
046:
047:
048: extern double __REDIRECT_NTH (atan2, (double, double), __atan2_finite);
049: extern float __REDIRECT_NTH (atan2f, (float, float), __atan2f_finite);
050: #ifdef __MATH_DECLARE_LDOUBLE
051: extern long double __REDIRECT_NTH (atan2l, (long double, long double),
052: __atan2l_finite);
053: #endif
054:
055: #if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
056:
057: extern double __REDIRECT_NTH (atanh, (double), __atanh_finite);
058: extern float __REDIRECT_NTH (atanhf, (float), __atanhf_finite);
059: # ifdef __MATH_DECLARE_LDOUBLE
060: extern long double __REDIRECT_NTH (atanhl, (long double), __atanhl_finite);
061: # endif
062: #endif
063:
064:
065: extern double __REDIRECT_NTH (cosh, (double), __cosh_finite);
066: extern float __REDIRECT_NTH (coshf, (float), __coshf_finite);
067: #ifdef __MATH_DECLARE_LDOUBLE
068: extern long double __REDIRECT_NTH (coshl, (long double), __coshl_finite);
069: #endif
070:
071:
072: extern double __REDIRECT_NTH (exp, (double), __exp_finite);
073: extern float __REDIRECT_NTH (expf, (float), __expf_finite);
074: #ifdef __MATH_DECLARE_LDOUBLE
075: extern long double __REDIRECT_NTH (expl, (long double), __expl_finite);
076: #endif
077:
078: #ifdef __USE_GNU
079:
080: extern double __REDIRECT_NTH (exp10, (double), __exp10_finite);
081: extern float __REDIRECT_NTH (exp10f, (float), __exp10f_finite);
082: # ifdef __MATH_DECLARE_LDOUBLE
083: extern long double __REDIRECT_NTH (exp10l, (long double), __exp10l_finite);
084: # endif
085:
086:
087: extern double __REDIRECT_NTH (pow10, (double), __exp10_finite);
088: extern float __REDIRECT_NTH (pow10f, (float), __exp10f_finite);
089: # ifdef __MATH_DECLARE_LDOUBLE
090: extern long double __REDIRECT_NTH (pow10l, (long double), __exp10l_finite);
091: # endif
092: #endif
093:
094: #ifdef __USE_ISOC99
095:
096: extern double __REDIRECT_NTH (exp2, (double), __exp2_finite);
097: extern float __REDIRECT_NTH (exp2f, (float), __exp2f_finite);
098: # ifdef __MATH_DECLARE_LDOUBLE
099: extern long double __REDIRECT_NTH (exp2l, (long double), __exp2l_finite);
100: # endif
101: #endif
102:
103:
104: extern double __REDIRECT_NTH (fmod, (double, double), __fmod_finite);
105: extern float __REDIRECT_NTH (fmodf, (float, float), __fmodf_finite);
106: #ifdef __MATH_DECLARE_LDOUBLE
107: extern long double __REDIRECT_NTH (fmodl, (long double, long double),
108: __fmodl_finite);
109: #endif
110:
111: #ifdef __USE_ISOC99
112:
113: extern double __REDIRECT_NTH (hypot, (double, double), __hypot_finite);
114: extern float __REDIRECT_NTH (hypotf, (float, float), __hypotf_finite);
115: # ifdef __MATH_DECLARE_LDOUBLE
116: extern long double __REDIRECT_NTH (hypotl, (long double, long double),
117: __hypotl_finite);
118: # endif
119: #endif
120:
121: #if defined __USE_MISC || defined __USE_XOPEN
122:
123: extern double __REDIRECT_NTH (j0, (double), __j0_finite);
124: extern float __REDIRECT_NTH (j0f, (float), __j0f_finite);
125: # ifdef __MATH_DECLARE_LDOUBLE
126: extern long double __REDIRECT_NTH (j0l, (long double), __j0l_finite);
127: # endif
128:
129:
130: extern double __REDIRECT_NTH (y0, (double), __y0_finite);
131: extern float __REDIRECT_NTH (y0f, (float), __y0f_finite);
132: # ifdef __MATH_DECLARE_LDOUBLE
133: extern long double __REDIRECT_NTH (y0l, (long double), __y0l_finite);
134: # endif
135:
136:
137: extern double __REDIRECT_NTH (j1, (double), __j1_finite);
138: extern float __REDIRECT_NTH (j1f, (float), __j1f_finite);
139: # ifdef __MATH_DECLARE_LDOUBLE
140: extern long double __REDIRECT_NTH (j1l, (long double), __j1l_finite);
141: # endif
142:
143:
144: extern double __REDIRECT_NTH (y1, (double), __y1_finite);
145: extern float __REDIRECT_NTH (y1f, (float), __y1f_finite);
146: # ifdef __MATH_DECLARE_LDOUBLE
147: extern long double __REDIRECT_NTH (y1l, (long double), __y1l_finite);
148: # endif
149:
150:
151: extern double __REDIRECT_NTH (jn, (int, double), __jn_finite);
152: extern float __REDIRECT_NTH (jnf, (int, float), __jnf_finite);
153: # ifdef __MATH_DECLARE_LDOUBLE
154: extern long double __REDIRECT_NTH (jnl, (int, long double), __jnl_finite);
155: # endif
156:
157:
158: extern double __REDIRECT_NTH (yn, (int, double), __yn_finite);
159: extern float __REDIRECT_NTH (ynf, (int, float), __ynf_finite);
160: # ifdef __MATH_DECLARE_LDOUBLE
161: extern long double __REDIRECT_NTH (ynl, (int, long double), __ynl_finite);
162: # endif
163: #endif
164:
165: #ifdef __USE_MISC
166:
167: extern double __REDIRECT_NTH (lgamma_r, (double, int *), __lgamma_r_finite);
168: extern float __REDIRECT_NTH (lgammaf_r, (float, int *), __lgammaf_r_finite);
169: # ifdef __MATH_DECLARE_LDOUBLE
170: extern long double __REDIRECT_NTH (lgammal_r, (long double, int *),
171: __lgammal_r_finite);
172: # endif
173: #endif
174:
175: #if defined __USE_MISC || defined __USE_XOPEN || defined __USE_ISOC99
176:
177: __extern_always_inline double __NTH (lgamma (double __d))
178: {
179: # ifdef __USE_ISOC99
180: int __local_signgam = 0;
181: return lgamma_r (__d, &__local_signgam);
182: # else
183: return lgamma_r (__d, &signgam);
184: # endif
185: }
186: __extern_always_inline float __NTH (lgammaf (float __d))
187: {
188: # ifdef __USE_ISOC99
189: int __local_signgam = 0;
190: return lgammaf_r (__d, &__local_signgam);
191: # else
192: return lgammaf_r (__d, &signgam);
193: # endif
194: }
195: # ifdef __MATH_DECLARE_LDOUBLE
196: __extern_always_inline long double __NTH (lgammal (long double __d))
197: {
198: # ifdef __USE_ISOC99
199: int __local_signgam = 0;
200: return lgammal_r (__d, &__local_signgam);
201: # else
202: return lgammal_r (__d, &signgam);
203: # endif
204: }
205: # endif
206: #endif
207:
208: #if defined __USE_MISC || defined __USE_XOPEN
209:
210: __extern_always_inline double __NTH (gamma (double __d))
211: {
212: # ifdef __USE_ISOC99
213: int __local_signgam = 0;
214: return lgamma_r (__d, &__local_signgam);
215: # else
216: return lgamma_r (__d, &signgam);
217: # endif
218: }
219: __extern_always_inline float __NTH (gammaf (float __d))
220: {
221: # ifdef __USE_ISOC99
222: int __local_signgam = 0;
223: return lgammaf_r (__d, &__local_signgam);
224: # else
225: return lgammaf_r (__d, &signgam);
226: # endif
227: }
228: # ifdef __MATH_DECLARE_LDOUBLE
229: __extern_always_inline long double __NTH (gammal (long double __d))
230: {
231: # ifdef __USE_ISOC99
232: int __local_signgam = 0;
233: return lgammal_r (__d, &__local_signgam);
234: # else
235: return lgammal_r (__d, &signgam);
236: # endif
237: }
238: # endif
239: #endif
240:
241:
242: extern double __REDIRECT_NTH (log, (double), __log_finite);
243: extern float __REDIRECT_NTH (logf, (float), __logf_finite);
244: #ifdef __MATH_DECLARE_LDOUBLE
245: extern long double __REDIRECT_NTH (logl, (long double), __logl_finite);
246: #endif
247:
248:
249: extern double __REDIRECT_NTH (log10, (double), __log10_finite);
250: extern float __REDIRECT_NTH (log10f, (float), __log10f_finite);
251: #ifdef __MATH_DECLARE_LDOUBLE
252: extern long double __REDIRECT_NTH (log10l, (long double), __log10l_finite);
253: #endif
254:
255: #ifdef __USE_ISOC99
256:
257: extern double __REDIRECT_NTH (log2, (double), __log2_finite);
258: extern float __REDIRECT_NTH (log2f, (float), __log2f_finite);
259: # ifdef __MATH_DECLARE_LDOUBLE
260: extern long double __REDIRECT_NTH (log2l, (long double), __log2l_finite);
261: # endif
262: #endif
263:
264:
265: extern double __REDIRECT_NTH (pow, (double, double), __pow_finite);
266: extern float __REDIRECT_NTH (powf, (float, float), __powf_finite);
267: #ifdef __MATH_DECLARE_LDOUBLE
268: extern long double __REDIRECT_NTH (powl, (long double, long double),
269: __powl_finite);
270: #endif
271:
272:
273: extern double __REDIRECT_NTH (remainder, (double, double), __remainder_finite);
274: extern float __REDIRECT_NTH (remainderf, (float, float), __remainderf_finite);
275: #ifdef __MATH_DECLARE_LDOUBLE
276: extern long double __REDIRECT_NTH (remainderl, (long double, long double),
277: __remainderl_finite);
278: #endif
279:
280: #if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
281:
282: extern double __REDIRECT_NTH (scalb, (double, double), __scalb_finite);
283: extern float __REDIRECT_NTH (scalbf, (float, float), __scalbf_finite);
284: # ifdef __MATH_DECLARE_LDOUBLE
285: extern long double __REDIRECT_NTH (scalbl, (long double, long double),
286: __scalbl_finite);
287: # endif
288: #endif
289:
290:
291: extern double __REDIRECT_NTH (sinh, (double), __sinh_finite);
292: extern float __REDIRECT_NTH (sinhf, (float), __sinhf_finite);
293: #ifdef __MATH_DECLARE_LDOUBLE
294: extern long double __REDIRECT_NTH (sinhl, (long double), __sinhl_finite);
295: #endif
296:
297:
298: extern double __REDIRECT_NTH (sqrt, (double), __sqrt_finite);
299: extern float __REDIRECT_NTH (sqrtf, (float), __sqrtf_finite);
300: #ifdef __MATH_DECLARE_LDOUBLE
301: extern long double __REDIRECT_NTH (sqrtl, (long double), __sqrtl_finite);
302: #endif
303:
304: #ifdef __USE_ISOC99
305:
306: extern double __gamma_r_finite (double, int *);
307: __extern_always_inline double __NTH (tgamma (double __d))
308: {
309: int __local_signgam = 0;
310: double __res = __gamma_r_finite (__d, &__local_signgam);
311: return __local_signgam < 0 ? -__res : __res;
312: }
313: extern float __gammaf_r_finite (float, int *);
314: __extern_always_inline float __NTH (tgammaf (float __d))
315: {
316: int __local_signgam = 0;
317: float __res = __gammaf_r_finite (__d, &__local_signgam);
318: return __local_signgam < 0 ? -__res : __res;
319: }
320: # ifdef __MATH_DECLARE_LDOUBLE
321: extern long double __gammal_r_finite (long double, int *);
322: __extern_always_inline long double __NTH (tgammal (long double __d))
323: {
324: int __local_signgam = 0;
325: long double __res = __gammal_r_finite (__d, &__local_signgam);
326: return __local_signgam < 0 ? -__res : __res;
327: }
328: # endif
329: #endif
330:
© Andrew Scott 2006 -
2025,
All Rights Reserved