139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner/*===---- tgmath.h - Standard header for type generic math ----------------===*\ 239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner * 339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner * Copyright (c) 2009 Howard Hinnant 439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner * 539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner * Permission is hereby granted, free of charge, to any person obtaining a copy 639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner * of this software and associated documentation files (the "Software"), to deal 739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner * in the Software without restriction, including without limitation the rights 839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner * copies of the Software, and to permit persons to whom the Software is 1039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner * furnished to do so, subject to the following conditions: 1139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner * 1239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner * The above copyright notice and this permission notice shall be included in 1339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner * all copies or substantial portions of the Software. 1439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner * 1539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 1739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 1839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 1939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 2039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 2139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner * THE SOFTWARE. 2239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner * 2339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner\*===----------------------------------------------------------------------===*/ 2439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 2539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#ifndef __TGMATH_H 2639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define __TGMATH_H 2739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 2839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner/* C99 7.22 Type-generic math <tgmath.h>. */ 2939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#include <math.h> 3039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 3139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner/* C++ handles type genericity with overloading in math.h. */ 3239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#ifndef __cplusplus 33ebb1004d09968f51ec22bde2225112709dc0f386Douglas Gregor#include <complex.h> 3439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 3539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define _TG_ATTRSp __attribute__((__overloadable__)) 3639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define _TG_ATTRS __attribute__((__overloadable__, __always_inline__)) 3739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 3839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// promotion 3939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 40c13c0125a0543f0d994b63a5c3d2474ac12d632dDouglas Gregortypedef void _Argument_type_is_not_arithmetic; 41ccb8f089d72ed8a01f9e13bcd0de3d2a8cd4af93Howard Hinnantstatic _Argument_type_is_not_arithmetic __tg_promote(...) 42c13c0125a0543f0d994b63a5c3d2474ac12d632dDouglas Gregor __attribute__((__unavailable__,__overloadable__)); 4339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _TG_ATTRSp __tg_promote(int); 4439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _TG_ATTRSp __tg_promote(unsigned int); 4539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _TG_ATTRSp __tg_promote(long); 4639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _TG_ATTRSp __tg_promote(unsigned long); 4739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _TG_ATTRSp __tg_promote(long long); 4839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _TG_ATTRSp __tg_promote(unsigned long long); 4939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _TG_ATTRSp __tg_promote(float); 5039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _TG_ATTRSp __tg_promote(double); 5139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _TG_ATTRSp __tg_promote(long double); 5239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex _TG_ATTRSp __tg_promote(float _Complex); 5339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex _TG_ATTRSp __tg_promote(double _Complex); 5439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex _TG_ATTRSp __tg_promote(long double _Complex); 5539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 5639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define __tg_promote1(__x) (__typeof__(__tg_promote(__x))) 5739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define __tg_promote2(__x, __y) (__typeof__(__tg_promote(__x) + \ 5839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_promote(__y))) 5939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define __tg_promote3(__x, __y, __z) (__typeof__(__tg_promote(__x) + \ 6039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_promote(__y) + \ 6139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_promote(__z))) 6239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 6339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// acos 6439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 6539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 6639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 6739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_acos(float __x) {return acosf(__x);} 6839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 6939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 7039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 7139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_acos(double __x) {return acos(__x);} 7239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 7339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 7439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 7539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_acos(long double __x) {return acosl(__x);} 7639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 7739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex 7839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 7939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_acos(float _Complex __x) {return cacosf(__x);} 8039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 8139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex 8239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 8339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_acos(double _Complex __x) {return cacos(__x);} 8439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 8539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex 8639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 8739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_acos(long double _Complex __x) {return cacosl(__x);} 8839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 8939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef acos 9039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define acos(__x) __tg_acos(__tg_promote1((__x))(__x)) 9139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 9239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// asin 9339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 9439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 9539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 9639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_asin(float __x) {return asinf(__x);} 9739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 9839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 9939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 10039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_asin(double __x) {return asin(__x);} 10139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 10239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 10339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 10439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_asin(long double __x) {return asinl(__x);} 10539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 10639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex 10739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 10839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_asin(float _Complex __x) {return casinf(__x);} 10939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 11039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex 11139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 11239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_asin(double _Complex __x) {return casin(__x);} 11339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 11439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex 11539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 11639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_asin(long double _Complex __x) {return casinl(__x);} 11739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 11839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef asin 11939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define asin(__x) __tg_asin(__tg_promote1((__x))(__x)) 12039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 12139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// atan 12239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 12339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 12439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 12539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_atan(float __x) {return atanf(__x);} 12639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 12739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 12839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 12939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_atan(double __x) {return atan(__x);} 13039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 13139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 13239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 13339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_atan(long double __x) {return atanl(__x);} 13439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 13539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex 13639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 13739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_atan(float _Complex __x) {return catanf(__x);} 13839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 13939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex 14039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 14139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_atan(double _Complex __x) {return catan(__x);} 14239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 14339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex 14439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 14539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_atan(long double _Complex __x) {return catanl(__x);} 14639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 14739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef atan 14839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define atan(__x) __tg_atan(__tg_promote1((__x))(__x)) 14939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 15039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// acosh 15139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 15239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 15339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 15439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_acosh(float __x) {return acoshf(__x);} 15539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 15639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 15739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 15839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_acosh(double __x) {return acosh(__x);} 15939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 16039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 16139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 16239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_acosh(long double __x) {return acoshl(__x);} 16339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 16439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex 16539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 16639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_acosh(float _Complex __x) {return cacoshf(__x);} 16739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 16839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex 16939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 17039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_acosh(double _Complex __x) {return cacosh(__x);} 17139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 17239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex 17339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 17439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_acosh(long double _Complex __x) {return cacoshl(__x);} 17539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 17639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef acosh 17739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define acosh(__x) __tg_acosh(__tg_promote1((__x))(__x)) 17839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 17939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// asinh 18039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 18139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 18239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 18339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_asinh(float __x) {return asinhf(__x);} 18439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 18539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 18639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 18739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_asinh(double __x) {return asinh(__x);} 18839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 18939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 19039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 19139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_asinh(long double __x) {return asinhl(__x);} 19239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 19339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex 19439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 19539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_asinh(float _Complex __x) {return casinhf(__x);} 19639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 19739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex 19839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 19939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_asinh(double _Complex __x) {return casinh(__x);} 20039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 20139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex 20239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 20339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_asinh(long double _Complex __x) {return casinhl(__x);} 20439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 20539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef asinh 20639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define asinh(__x) __tg_asinh(__tg_promote1((__x))(__x)) 20739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 20839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// atanh 20939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 21039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 21139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 21239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_atanh(float __x) {return atanhf(__x);} 21339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 21439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 21539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 21639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_atanh(double __x) {return atanh(__x);} 21739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 21839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 21939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 22039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_atanh(long double __x) {return atanhl(__x);} 22139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 22239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex 22339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 22439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_atanh(float _Complex __x) {return catanhf(__x);} 22539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 22639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex 22739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 22839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_atanh(double _Complex __x) {return catanh(__x);} 22939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 23039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex 23139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 23239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_atanh(long double _Complex __x) {return catanhl(__x);} 23339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 23439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef atanh 23539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define atanh(__x) __tg_atanh(__tg_promote1((__x))(__x)) 23639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 23739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// cos 23839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 23939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 24039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 24139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cos(float __x) {return cosf(__x);} 24239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 24339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 24439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 24539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cos(double __x) {return cos(__x);} 24639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 24739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 24839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 24939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cos(long double __x) {return cosl(__x);} 25039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 25139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex 25239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 25339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cos(float _Complex __x) {return ccosf(__x);} 25439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 25539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex 25639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 25739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cos(double _Complex __x) {return ccos(__x);} 25839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 25939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex 26039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 26139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cos(long double _Complex __x) {return ccosl(__x);} 26239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 26339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef cos 26439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define cos(__x) __tg_cos(__tg_promote1((__x))(__x)) 26539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 26639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// sin 26739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 26839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 26939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 27039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_sin(float __x) {return sinf(__x);} 27139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 27239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 27339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 27439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_sin(double __x) {return sin(__x);} 27539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 27639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 27739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 27839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_sin(long double __x) {return sinl(__x);} 27939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 28039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex 28139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 28239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_sin(float _Complex __x) {return csinf(__x);} 28339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 28439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex 28539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 28639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_sin(double _Complex __x) {return csin(__x);} 28739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 28839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex 28939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 29039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_sin(long double _Complex __x) {return csinl(__x);} 29139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 29239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef sin 29339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define sin(__x) __tg_sin(__tg_promote1((__x))(__x)) 29439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 29539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// tan 29639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 29739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 29839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 29939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_tan(float __x) {return tanf(__x);} 30039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 30139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 30239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 30339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_tan(double __x) {return tan(__x);} 30439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 30539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 30639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 30739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_tan(long double __x) {return tanl(__x);} 30839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 30939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex 31039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 31139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_tan(float _Complex __x) {return ctanf(__x);} 31239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 31339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex 31439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 31539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_tan(double _Complex __x) {return ctan(__x);} 31639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 31739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex 31839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 31939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_tan(long double _Complex __x) {return ctanl(__x);} 32039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 32139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef tan 32239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define tan(__x) __tg_tan(__tg_promote1((__x))(__x)) 32339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 32439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// cosh 32539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 32639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 32739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 32839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cosh(float __x) {return coshf(__x);} 32939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 33039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 33139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 33239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cosh(double __x) {return cosh(__x);} 33339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 33439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 33539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 33639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cosh(long double __x) {return coshl(__x);} 33739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 33839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex 33939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 34039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cosh(float _Complex __x) {return ccoshf(__x);} 34139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 34239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex 34339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 34439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cosh(double _Complex __x) {return ccosh(__x);} 34539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 34639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex 34739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 34839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cosh(long double _Complex __x) {return ccoshl(__x);} 34939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 35039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef cosh 35139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define cosh(__x) __tg_cosh(__tg_promote1((__x))(__x)) 35239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 35339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// sinh 35439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 35539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 35639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 35739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_sinh(float __x) {return sinhf(__x);} 35839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 35939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 36039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 36139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_sinh(double __x) {return sinh(__x);} 36239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 36339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 36439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 36539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_sinh(long double __x) {return sinhl(__x);} 36639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 36739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex 36839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 36939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_sinh(float _Complex __x) {return csinhf(__x);} 37039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 37139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex 37239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 37339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_sinh(double _Complex __x) {return csinh(__x);} 37439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 37539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex 37639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 37739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_sinh(long double _Complex __x) {return csinhl(__x);} 37839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 37939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef sinh 38039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define sinh(__x) __tg_sinh(__tg_promote1((__x))(__x)) 38139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 38239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// tanh 38339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 38439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 38539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 38639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_tanh(float __x) {return tanhf(__x);} 38739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 38839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 38939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 39039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_tanh(double __x) {return tanh(__x);} 39139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 39239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 39339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 39439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_tanh(long double __x) {return tanhl(__x);} 39539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 39639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex 39739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 39839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_tanh(float _Complex __x) {return ctanhf(__x);} 39939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 40039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex 40139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 40239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_tanh(double _Complex __x) {return ctanh(__x);} 40339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 40439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex 40539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 40639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_tanh(long double _Complex __x) {return ctanhl(__x);} 40739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 40839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef tanh 40939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define tanh(__x) __tg_tanh(__tg_promote1((__x))(__x)) 41039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 41139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// exp 41239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 41339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 41439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 41539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_exp(float __x) {return expf(__x);} 41639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 41739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 41839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 41939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_exp(double __x) {return exp(__x);} 42039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 42139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 42239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 42339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_exp(long double __x) {return expl(__x);} 42439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 42539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex 42639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 42739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_exp(float _Complex __x) {return cexpf(__x);} 42839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 42939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex 43039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 43139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_exp(double _Complex __x) {return cexp(__x);} 43239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 43339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex 43439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 43539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_exp(long double _Complex __x) {return cexpl(__x);} 43639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 43739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef exp 43839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define exp(__x) __tg_exp(__tg_promote1((__x))(__x)) 43939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 44039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// log 44139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 44239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 44339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 44439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_log(float __x) {return logf(__x);} 44539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 44639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 44739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 44839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_log(double __x) {return log(__x);} 44939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 45039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 45139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 45239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_log(long double __x) {return logl(__x);} 45339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 45439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex 45539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 45639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_log(float _Complex __x) {return clogf(__x);} 45739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 45839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex 45939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 46039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_log(double _Complex __x) {return clog(__x);} 46139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 46239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex 46339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 46439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_log(long double _Complex __x) {return clogl(__x);} 46539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 46639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef log 46739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define log(__x) __tg_log(__tg_promote1((__x))(__x)) 46839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 46939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// pow 47039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 47139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 47239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 47339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_pow(float __x, float __y) {return powf(__x, __y);} 47439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 47539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 47639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 47739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_pow(double __x, double __y) {return pow(__x, __y);} 47839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 47939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 48039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 48139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_pow(long double __x, long double __y) {return powl(__x, __y);} 48239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 48339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex 48439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 48539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_pow(float _Complex __x, float _Complex __y) {return cpowf(__x, __y);} 48639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 48739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex 48839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 48939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_pow(double _Complex __x, double _Complex __y) {return cpow(__x, __y);} 49039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 49139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex 49239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 49339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_pow(long double _Complex __x, long double _Complex __y) 49439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner {return cpowl(__x, __y);} 49539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 49639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef pow 49739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define pow(__x, __y) __tg_pow(__tg_promote2((__x), (__y))(__x), \ 49839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_promote2((__x), (__y))(__y)) 49939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 50039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// sqrt 50139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 50239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 50339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 50439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_sqrt(float __x) {return sqrtf(__x);} 50539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 50639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 50739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 50839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_sqrt(double __x) {return sqrt(__x);} 50939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 51039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 51139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 51239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_sqrt(long double __x) {return sqrtl(__x);} 51339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 51439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex 51539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 51639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_sqrt(float _Complex __x) {return csqrtf(__x);} 51739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 51839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex 51939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 52039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_sqrt(double _Complex __x) {return csqrt(__x);} 52139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 52239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex 52339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 52439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_sqrt(long double _Complex __x) {return csqrtl(__x);} 52539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 52639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef sqrt 52739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define sqrt(__x) __tg_sqrt(__tg_promote1((__x))(__x)) 52839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 52939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// fabs 53039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 53139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 53239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 53339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fabs(float __x) {return fabsf(__x);} 53439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 53539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 53639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 53739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fabs(double __x) {return fabs(__x);} 53839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 53939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 54039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 54139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fabs(long double __x) {return fabsl(__x);} 54239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 543d184e53e8a66e174b2fdaee22c1794aa3cfc18edHoward Hinnantstatic float 54439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 54539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fabs(float _Complex __x) {return cabsf(__x);} 54639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 547d184e53e8a66e174b2fdaee22c1794aa3cfc18edHoward Hinnantstatic double 54839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 54939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fabs(double _Complex __x) {return cabs(__x);} 55039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 551d184e53e8a66e174b2fdaee22c1794aa3cfc18edHoward Hinnantstatic long double 55239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 55339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fabs(long double _Complex __x) {return cabsl(__x);} 55439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 55539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef fabs 55639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define fabs(__x) __tg_fabs(__tg_promote1((__x))(__x)) 55739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 55839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// atan2 55939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 56039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 56139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 56239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_atan2(float __x, float __y) {return atan2f(__x, __y);} 56339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 56439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 56539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 56639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_atan2(double __x, double __y) {return atan2(__x, __y);} 56739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 56839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 56939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 57039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_atan2(long double __x, long double __y) {return atan2l(__x, __y);} 57139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 57239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef atan2 57339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define atan2(__x, __y) __tg_atan2(__tg_promote2((__x), (__y))(__x), \ 57439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_promote2((__x), (__y))(__y)) 57539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 57639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// cbrt 57739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 57839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 57939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 58039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cbrt(float __x) {return cbrtf(__x);} 58139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 58239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 58339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 58439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cbrt(double __x) {return cbrt(__x);} 58539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 58639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 58739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 58839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cbrt(long double __x) {return cbrtl(__x);} 58939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 59039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef cbrt 59139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define cbrt(__x) __tg_cbrt(__tg_promote1((__x))(__x)) 59239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 59339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// ceil 59439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 59539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 59639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 59739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_ceil(float __x) {return ceilf(__x);} 59839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 59939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 60039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 60139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_ceil(double __x) {return ceil(__x);} 60239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 60339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 60439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 60539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_ceil(long double __x) {return ceill(__x);} 60639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 60739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef ceil 60839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define ceil(__x) __tg_ceil(__tg_promote1((__x))(__x)) 60939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 61039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// copysign 61139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 61239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 61339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 61439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_copysign(float __x, float __y) {return copysignf(__x, __y);} 61539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 61639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 61739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 61839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_copysign(double __x, double __y) {return copysign(__x, __y);} 61939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 62039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 62139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 62239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_copysign(long double __x, long double __y) {return copysignl(__x, __y);} 62339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 62439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef copysign 62539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define copysign(__x, __y) __tg_copysign(__tg_promote2((__x), (__y))(__x), \ 62639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_promote2((__x), (__y))(__y)) 62739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 62839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// erf 62939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 63039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 63139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 63239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_erf(float __x) {return erff(__x);} 63339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 63439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 63539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 63639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_erf(double __x) {return erf(__x);} 63739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 63839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 63939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 64039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_erf(long double __x) {return erfl(__x);} 64139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 64239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef erf 64339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define erf(__x) __tg_erf(__tg_promote1((__x))(__x)) 64439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 64539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// erfc 64639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 64739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 64839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 64939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_erfc(float __x) {return erfcf(__x);} 65039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 65139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 65239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 65339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_erfc(double __x) {return erfc(__x);} 65439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 65539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 65639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 65739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_erfc(long double __x) {return erfcl(__x);} 65839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 65939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef erfc 66039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define erfc(__x) __tg_erfc(__tg_promote1((__x))(__x)) 66139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 66239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// exp2 66339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 66439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 66539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 66639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_exp2(float __x) {return exp2f(__x);} 66739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 66839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 66939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 67039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_exp2(double __x) {return exp2(__x);} 67139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 67239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 67339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 67439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_exp2(long double __x) {return exp2l(__x);} 67539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 67639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef exp2 67739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define exp2(__x) __tg_exp2(__tg_promote1((__x))(__x)) 67839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 67939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// expm1 68039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 68139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 68239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 68339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_expm1(float __x) {return expm1f(__x);} 68439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 68539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 68639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 68739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_expm1(double __x) {return expm1(__x);} 68839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 68939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 69039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 69139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_expm1(long double __x) {return expm1l(__x);} 69239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 69339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef expm1 69439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define expm1(__x) __tg_expm1(__tg_promote1((__x))(__x)) 69539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 69639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// fdim 69739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 69839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 69939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 70039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fdim(float __x, float __y) {return fdimf(__x, __y);} 70139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 70239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 70339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 70439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fdim(double __x, double __y) {return fdim(__x, __y);} 70539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 70639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 70739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 70839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fdim(long double __x, long double __y) {return fdiml(__x, __y);} 70939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 71039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef fdim 71139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define fdim(__x, __y) __tg_fdim(__tg_promote2((__x), (__y))(__x), \ 71239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_promote2((__x), (__y))(__y)) 71339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 71439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// floor 71539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 71639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 71739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 71839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_floor(float __x) {return floorf(__x);} 71939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 72039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 72139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 72239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_floor(double __x) {return floor(__x);} 72339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 72439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 72539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 72639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_floor(long double __x) {return floorl(__x);} 72739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 72839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef floor 72939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define floor(__x) __tg_floor(__tg_promote1((__x))(__x)) 73039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 73139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// fma 73239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 73339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 73439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 73539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fma(float __x, float __y, float __z) 73639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner {return fmaf(__x, __y, __z);} 73739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 73839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 73939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 74039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fma(double __x, double __y, double __z) 74139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner {return fma(__x, __y, __z);} 74239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 74339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 74439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 74539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fma(long double __x,long double __y, long double __z) 74639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner {return fmal(__x, __y, __z);} 74739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 74839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef fma 74939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define fma(__x, __y, __z) \ 75039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fma(__tg_promote3((__x), (__y), (__z))(__x), \ 75139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_promote3((__x), (__y), (__z))(__y), \ 75239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_promote3((__x), (__y), (__z))(__z)) 75339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 75439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// fmax 75539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 75639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 75739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 75839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fmax(float __x, float __y) {return fmaxf(__x, __y);} 75939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 76039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 76139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 76239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fmax(double __x, double __y) {return fmax(__x, __y);} 76339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 76439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 76539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 76639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fmax(long double __x, long double __y) {return fmaxl(__x, __y);} 76739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 76839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef fmax 76939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define fmax(__x, __y) __tg_fmax(__tg_promote2((__x), (__y))(__x), \ 77039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_promote2((__x), (__y))(__y)) 77139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 77239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// fmin 77339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 77439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 77539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 77639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fmin(float __x, float __y) {return fminf(__x, __y);} 77739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 77839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 77939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 78039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fmin(double __x, double __y) {return fmin(__x, __y);} 78139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 78239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 78339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 78439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fmin(long double __x, long double __y) {return fminl(__x, __y);} 78539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 78639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef fmin 78739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define fmin(__x, __y) __tg_fmin(__tg_promote2((__x), (__y))(__x), \ 78839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_promote2((__x), (__y))(__y)) 78939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 79039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// fmod 79139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 79239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 79339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 79439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fmod(float __x, float __y) {return fmodf(__x, __y);} 79539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 79639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 79739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 79839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fmod(double __x, double __y) {return fmod(__x, __y);} 79939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 80039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 80139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 80239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_fmod(long double __x, long double __y) {return fmodl(__x, __y);} 80339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 80439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef fmod 80539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define fmod(__x, __y) __tg_fmod(__tg_promote2((__x), (__y))(__x), \ 80639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_promote2((__x), (__y))(__y)) 80739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 80839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// frexp 80939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 81039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 81139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 81239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_frexp(float __x, int* __y) {return frexpf(__x, __y);} 81339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 81439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 81539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 81639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_frexp(double __x, int* __y) {return frexp(__x, __y);} 81739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 81839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 81939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 82039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_frexp(long double __x, int* __y) {return frexpl(__x, __y);} 82139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 82239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef frexp 82339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define frexp(__x, __y) __tg_frexp(__tg_promote1((__x))(__x), __y) 82439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 82539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// hypot 82639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 82739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 82839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 82939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_hypot(float __x, float __y) {return hypotf(__x, __y);} 83039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 83139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 83239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 83339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_hypot(double __x, double __y) {return hypot(__x, __y);} 83439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 83539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 83639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 83739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_hypot(long double __x, long double __y) {return hypotl(__x, __y);} 83839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 83939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef hypot 84039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define hypot(__x, __y) __tg_hypot(__tg_promote2((__x), (__y))(__x), \ 84139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_promote2((__x), (__y))(__y)) 84239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 84339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// ilogb 84439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 84539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic int 84639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 84739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_ilogb(float __x) {return ilogbf(__x);} 84839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 84939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic int 85039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 85139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_ilogb(double __x) {return ilogb(__x);} 85239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 85339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic int 85439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 85539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_ilogb(long double __x) {return ilogbl(__x);} 85639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 85739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef ilogb 85839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define ilogb(__x) __tg_ilogb(__tg_promote1((__x))(__x)) 85939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 86039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// ldexp 86139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 86239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 86339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 86439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_ldexp(float __x, int __y) {return ldexpf(__x, __y);} 86539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 86639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 86739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 86839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_ldexp(double __x, int __y) {return ldexp(__x, __y);} 86939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 87039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 87139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 87239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_ldexp(long double __x, int __y) {return ldexpl(__x, __y);} 87339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 87439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef ldexp 87539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define ldexp(__x, __y) __tg_ldexp(__tg_promote1((__x))(__x), __y) 87639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 87739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// lgamma 87839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 87939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 88039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 88139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_lgamma(float __x) {return lgammaf(__x);} 88239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 88339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 88439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 88539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_lgamma(double __x) {return lgamma(__x);} 88639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 88739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 88839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 88939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_lgamma(long double __x) {return lgammal(__x);} 89039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 89139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef lgamma 89239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define lgamma(__x) __tg_lgamma(__tg_promote1((__x))(__x)) 89339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 89439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// llrint 89539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 89639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long long 89739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 89839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_llrint(float __x) {return llrintf(__x);} 89939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 90039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long long 90139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 90239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_llrint(double __x) {return llrint(__x);} 90339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 90439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long long 90539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 90639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_llrint(long double __x) {return llrintl(__x);} 90739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 90839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef llrint 90939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define llrint(__x) __tg_llrint(__tg_promote1((__x))(__x)) 91039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 91139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// llround 91239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 91339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long long 91439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 91539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_llround(float __x) {return llroundf(__x);} 91639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 91739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long long 91839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 91939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_llround(double __x) {return llround(__x);} 92039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 92139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long long 92239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 92339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_llround(long double __x) {return llroundl(__x);} 92439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 92539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef llround 92639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define llround(__x) __tg_llround(__tg_promote1((__x))(__x)) 92739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 92839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// log10 92939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 93039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 93139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 93239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_log10(float __x) {return log10f(__x);} 93339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 93439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 93539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 93639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_log10(double __x) {return log10(__x);} 93739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 93839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 93939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 94039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_log10(long double __x) {return log10l(__x);} 94139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 94239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef log10 94339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define log10(__x) __tg_log10(__tg_promote1((__x))(__x)) 94439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 94539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// log1p 94639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 94739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 94839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 94939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_log1p(float __x) {return log1pf(__x);} 95039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 95139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 95239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 95339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_log1p(double __x) {return log1p(__x);} 95439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 95539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 95639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 95739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_log1p(long double __x) {return log1pl(__x);} 95839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 95939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef log1p 96039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define log1p(__x) __tg_log1p(__tg_promote1((__x))(__x)) 96139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 96239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// log2 96339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 96439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 96539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 96639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_log2(float __x) {return log2f(__x);} 96739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 96839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 96939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 97039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_log2(double __x) {return log2(__x);} 97139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 97239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 97339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 97439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_log2(long double __x) {return log2l(__x);} 97539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 97639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef log2 97739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define log2(__x) __tg_log2(__tg_promote1((__x))(__x)) 97839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 979d184e53e8a66e174b2fdaee22c1794aa3cfc18edHoward Hinnant// logb 980d184e53e8a66e174b2fdaee22c1794aa3cfc18edHoward Hinnant 981d184e53e8a66e174b2fdaee22c1794aa3cfc18edHoward Hinnantstatic float 982d184e53e8a66e174b2fdaee22c1794aa3cfc18edHoward Hinnant _TG_ATTRS 983d184e53e8a66e174b2fdaee22c1794aa3cfc18edHoward Hinnant __tg_logb(float __x) {return logbf(__x);} 984d184e53e8a66e174b2fdaee22c1794aa3cfc18edHoward Hinnant 985d184e53e8a66e174b2fdaee22c1794aa3cfc18edHoward Hinnantstatic double 986d184e53e8a66e174b2fdaee22c1794aa3cfc18edHoward Hinnant _TG_ATTRS 987d184e53e8a66e174b2fdaee22c1794aa3cfc18edHoward Hinnant __tg_logb(double __x) {return logb(__x);} 988d184e53e8a66e174b2fdaee22c1794aa3cfc18edHoward Hinnant 989d184e53e8a66e174b2fdaee22c1794aa3cfc18edHoward Hinnantstatic long double 990d184e53e8a66e174b2fdaee22c1794aa3cfc18edHoward Hinnant _TG_ATTRS 991d184e53e8a66e174b2fdaee22c1794aa3cfc18edHoward Hinnant __tg_logb(long double __x) {return logbl(__x);} 992d184e53e8a66e174b2fdaee22c1794aa3cfc18edHoward Hinnant 993d184e53e8a66e174b2fdaee22c1794aa3cfc18edHoward Hinnant#undef logb 994d184e53e8a66e174b2fdaee22c1794aa3cfc18edHoward Hinnant#define logb(__x) __tg_logb(__tg_promote1((__x))(__x)) 995d184e53e8a66e174b2fdaee22c1794aa3cfc18edHoward Hinnant 99639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// lrint 99739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 99839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long 99939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 100039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_lrint(float __x) {return lrintf(__x);} 100139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 100239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long 100339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 100439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_lrint(double __x) {return lrint(__x);} 100539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 100639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long 100739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 100839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_lrint(long double __x) {return lrintl(__x);} 100939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 101039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef lrint 101139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define lrint(__x) __tg_lrint(__tg_promote1((__x))(__x)) 101239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 101339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// lround 101439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 101539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long 101639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 101739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_lround(float __x) {return lroundf(__x);} 101839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 101939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long 102039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 102139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_lround(double __x) {return lround(__x);} 102239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 102339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long 102439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 102539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_lround(long double __x) {return lroundl(__x);} 102639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 102739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef lround 102839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define lround(__x) __tg_lround(__tg_promote1((__x))(__x)) 102939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 103039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// nearbyint 103139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 103239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 103339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 103439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_nearbyint(float __x) {return nearbyintf(__x);} 103539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 103639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 103739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 103839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_nearbyint(double __x) {return nearbyint(__x);} 103939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 104039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 104139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 104239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_nearbyint(long double __x) {return nearbyintl(__x);} 104339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 104439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef nearbyint 104539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define nearbyint(__x) __tg_nearbyint(__tg_promote1((__x))(__x)) 104639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 104739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// nextafter 104839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 104939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 105039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 105139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_nextafter(float __x, float __y) {return nextafterf(__x, __y);} 105239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 105339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 105439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 105539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_nextafter(double __x, double __y) {return nextafter(__x, __y);} 105639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 105739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 105839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 105939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_nextafter(long double __x, long double __y) {return nextafterl(__x, __y);} 106039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 106139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef nextafter 106239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define nextafter(__x, __y) __tg_nextafter(__tg_promote2((__x), (__y))(__x), \ 106339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_promote2((__x), (__y))(__y)) 106439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 106539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// nexttoward 106639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 106739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 106839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 1069725fb0e2b72a644b090b962fdec47516d186409aHoward Hinnant __tg_nexttoward(float __x, long double __y) {return nexttowardf(__x, __y);} 107039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 107139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 107239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 1073725fb0e2b72a644b090b962fdec47516d186409aHoward Hinnant __tg_nexttoward(double __x, long double __y) {return nexttoward(__x, __y);} 107439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 107539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 107639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 107739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_nexttoward(long double __x, long double __y) {return nexttowardl(__x, __y);} 107839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 107939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef nexttoward 1080725fb0e2b72a644b090b962fdec47516d186409aHoward Hinnant#define nexttoward(__x, __y) __tg_nexttoward(__tg_promote1((__x))(__x), (__y)) 108139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 108239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// remainder 108339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 108439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 108539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 108639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_remainder(float __x, float __y) {return remainderf(__x, __y);} 108739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 108839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 108939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 109039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_remainder(double __x, double __y) {return remainder(__x, __y);} 109139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 109239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 109339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 109439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_remainder(long double __x, long double __y) {return remainderl(__x, __y);} 109539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 109639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef remainder 109739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define remainder(__x, __y) __tg_remainder(__tg_promote2((__x), (__y))(__x), \ 109839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_promote2((__x), (__y))(__y)) 109939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 110039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// remquo 110139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 110239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 110339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 110439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_remquo(float __x, float __y, int* __z) 110539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner {return remquof(__x, __y, __z);} 110639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 110739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 110839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 110939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_remquo(double __x, double __y, int* __z) 111039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner {return remquo(__x, __y, __z);} 111139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 111239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 111339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 111439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_remquo(long double __x,long double __y, int* __z) 111539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner {return remquol(__x, __y, __z);} 111639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 111739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef remquo 111839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define remquo(__x, __y, __z) \ 111939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_remquo(__tg_promote2((__x), (__y))(__x), \ 112039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_promote2((__x), (__y))(__y), \ 112139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner (__z)) 112239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 112339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// rint 112439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 112539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 112639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 112739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_rint(float __x) {return rintf(__x);} 112839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 112939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 113039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 113139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_rint(double __x) {return rint(__x);} 113239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 113339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 113439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 113539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_rint(long double __x) {return rintl(__x);} 113639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 113739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef rint 113839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define rint(__x) __tg_rint(__tg_promote1((__x))(__x)) 113939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 114039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// round 114139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 114239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 114339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 114439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_round(float __x) {return roundf(__x);} 114539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 114639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 114739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 114839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_round(double __x) {return round(__x);} 114939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 115039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 115139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 115239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_round(long double __x) {return roundl(__x);} 115339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 115439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef round 115539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define round(__x) __tg_round(__tg_promote1((__x))(__x)) 115639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 115739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// scalbn 115839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 115939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 116039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 116139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_scalbn(float __x, int __y) {return scalbnf(__x, __y);} 116239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 116339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 116439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 116539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_scalbn(double __x, int __y) {return scalbn(__x, __y);} 116639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 116739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 116839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 116939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_scalbn(long double __x, int __y) {return scalbnl(__x, __y);} 117039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 117139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef scalbn 117239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define scalbn(__x, __y) __tg_scalbn(__tg_promote1((__x))(__x), __y) 117339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 117439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// scalbln 117539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 117639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 117739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 117839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_scalbln(float __x, long __y) {return scalblnf(__x, __y);} 117939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 118039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 118139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 118239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_scalbln(double __x, long __y) {return scalbln(__x, __y);} 118339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 118439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 118539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 118639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_scalbln(long double __x, long __y) {return scalblnl(__x, __y);} 118739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 118839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef scalbln 118939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define scalbln(__x, __y) __tg_scalbln(__tg_promote1((__x))(__x), __y) 119039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 119139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// tgamma 119239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 119339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 119439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 119539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_tgamma(float __x) {return tgammaf(__x);} 119639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 119739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 119839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 119939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_tgamma(double __x) {return tgamma(__x);} 120039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 120139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 120239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 120339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_tgamma(long double __x) {return tgammal(__x);} 120439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 120539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef tgamma 120639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define tgamma(__x) __tg_tgamma(__tg_promote1((__x))(__x)) 120739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 120839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// trunc 120939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 121039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 121139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 121239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_trunc(float __x) {return truncf(__x);} 121339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 121439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 121539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 121639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_trunc(double __x) {return trunc(__x);} 121739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 121839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 121939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 122039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_trunc(long double __x) {return truncl(__x);} 122139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 122239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef trunc 122339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define trunc(__x) __tg_trunc(__tg_promote1((__x))(__x)) 122439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 122539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// carg 122639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 122739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 122839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 122939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_carg(float __x) {return atan2f(0.F, __x);} 123039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 123139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 123239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 123339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_carg(double __x) {return atan2(0., __x);} 123439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 123539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 123639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 123739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_carg(long double __x) {return atan2l(0.L, __x);} 123839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 123939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 124039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 124139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_carg(float _Complex __x) {return cargf(__x);} 124239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 124339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 124439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 124539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_carg(double _Complex __x) {return carg(__x);} 124639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 124739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 124839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 124939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_carg(long double _Complex __x) {return cargl(__x);} 125039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 125139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef carg 125239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define carg(__x) __tg_carg(__tg_promote1((__x))(__x)) 125339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 125439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// cimag 125539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 125639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 125739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 125839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cimag(float __x) {return 0;} 125939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 126039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 126139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 126239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cimag(double __x) {return 0;} 126339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 126439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 126539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 126639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cimag(long double __x) {return 0;} 126739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 126839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 126939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 127039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cimag(float _Complex __x) {return cimagf(__x);} 127139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 127239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 127339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 127439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cimag(double _Complex __x) {return cimag(__x);} 127539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 127639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 127739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 127839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cimag(long double _Complex __x) {return cimagl(__x);} 127939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 128039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef cimag 128139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define cimag(__x) __tg_cimag(__tg_promote1((__x))(__x)) 128239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 128339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// conj 128439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 128539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex 128639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 128739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_conj(float __x) {return __x;} 128839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 128939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex 129039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 129139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_conj(double __x) {return __x;} 129239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 129339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex 129439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 129539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_conj(long double __x) {return __x;} 129639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 129739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex 129839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 129939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_conj(float _Complex __x) {return conjf(__x);} 130039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 130139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex 130239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 130339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_conj(double _Complex __x) {return conj(__x);} 130439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 130539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex 130639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 130739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_conj(long double _Complex __x) {return conjl(__x);} 130839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 130939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef conj 131039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define conj(__x) __tg_conj(__tg_promote1((__x))(__x)) 131139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 131239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// cproj 131339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 131439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex 131539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 131639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cproj(float __x) {return cprojf(__x);} 131739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 131839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex 131939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 132039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cproj(double __x) {return cproj(__x);} 132139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 132239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex 132339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 132439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cproj(long double __x) {return cprojl(__x);} 132539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 132639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex 132739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 132839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cproj(float _Complex __x) {return cprojf(__x);} 132939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 133039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex 133139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 133239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cproj(double _Complex __x) {return cproj(__x);} 133339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 133439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex 133539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 133639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_cproj(long double _Complex __x) {return cprojl(__x);} 133739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 133839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef cproj 133939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define cproj(__x) __tg_cproj(__tg_promote1((__x))(__x)) 134039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 134139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner// creal 134239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 134339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float _Complex 134439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 134539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_creal(float __x) {return __x;} 134639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 134739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double _Complex 134839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 134939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_creal(double __x) {return __x;} 135039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 135139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double _Complex 135239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 135339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_creal(long double __x) {return __x;} 135439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 135539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic float 135639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 135739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_creal(float _Complex __x) {return crealf(__x);} 135839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 135939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic double 136039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 136139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_creal(double _Complex __x) {return creal(__x);} 136239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 136339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattnerstatic long double 136439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner _TG_ATTRS 136539aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner __tg_creal(long double _Complex __x) {return creall(__x);} 136639aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 136739aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef creal 136839aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#define creal(__x) __tg_creal(__tg_promote1((__x))(__x)) 136939aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 137039aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef _TG_ATTRSp 137139aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#undef _TG_ATTRS 137239aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner 137339aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#endif /* __cplusplus */ 137439aa1ed8f9b8d85947a2ef9febe50511362d8ed1Chris Lattner#endif /* __TGMATH_H */ 1375