this repo has no description
at fixPythonPipStalling 185 lines 3.1 kB view raw
1/* 2 * xmm_misc.c 3 * xmmLibm 4 * 5 * Created by Ian Ollmann on 8/18/05. 6 * Copyright 2005 Apple Computer. All rights reserved. 7 * 8 */ 9 10#include "xmmLibm_prefix.h" 11#include "math.h" 12 13#if defined(BUILDING_FOR_CARBONCORE_LEGACY) 14 15double __inf ( void ) 16{ 17 return __builtin_inf(); 18} 19 20#else /* BUILDING_FOR_CARBONCORE_LEGACY */ 21 22/****************************************************************************** 23* No other functions are called by these routines outside of fpmacros.c. * 24******************************************************************************/ 25 26int __math_errhandling ( void ) 27{ 28 return (MATH_ERREXCEPT); // return the bitmask indicating the error discipline(s) in use. 29} 30 31int __isfinited( double x ) 32{ 33 return __inline_isfinited(x); 34} 35 36int __isfinitef( float x ) 37{ 38 return __inline_isfinitef(x); 39} 40 41int __isfinite( long double x ) 42{ 43 return __inline_isfinite(x); 44} 45 46//legacy 47int finite( double x ) 48{ 49 return __isfinited( x ); 50} 51 52int __isinfd( double x ) 53{ 54 return __inline_isinfd(x); 55} 56 57int __isinff( float x ) 58{ 59 return __inline_isinff(x); 60} 61 62int __isinf( long double x ) 63{ 64 return __inline_isinf(x); 65} 66 67int __isnand( double x ) 68{ 69 return __inline_isnand(x); 70} 71 72int __isnanf( float x ) 73{ 74 return __inline_isnanf(x); 75} 76 77int __isnan( long double x ) 78{ 79 return __inline_isnan(x); 80} 81 82int __isnormald( double x ) 83{ 84 return __inline_isnormald( x ); 85} 86 87int __isnormalf( float x ) 88{ 89 return __inline_isnormalf( x ); 90} 91 92int __isnormal( long double x ) 93{ 94 return __inline_isnormal( x ); 95} 96 97int __signbitd( double x ) 98{ 99 return __inline_signbitd(x); 100} 101 102int __signbitf( float x ) 103{ 104 return __inline_signbitf(x); 105} 106 107int __signbitl( long double x ) 108{ 109 return __inline_signbit(x); 110} 111 112int __fpclassifyd( double x ) 113{ 114 x = __builtin_fabs(x); 115 if( EXPECT_FALSE( x == 0.0 ) ) 116 return FP_ZERO; 117 118 if( EXPECT_FALSE( x < 0x1.0p-1022 ) ) 119 return FP_SUBNORMAL; 120 121 if( EXPECT_TRUE( x < __builtin_inf() ) ) 122 return FP_NORMAL; 123 124 if( EXPECT_TRUE( x == __builtin_inf() ) ) 125 return FP_INFINITE; 126 127 return FP_NAN; 128} 129 130int __fpclassifyf( float x ) 131{ 132 x = __builtin_fabsf(x); 133 if( EXPECT_FALSE( x == 0.0f ) ) 134 return FP_ZERO; 135 136 if( EXPECT_FALSE( x < 0x1.0p-126f ) ) 137 return FP_SUBNORMAL; 138 139 if( EXPECT_TRUE( x < __builtin_inff() ) ) 140 return FP_NORMAL; 141 142 if( EXPECT_TRUE( x == __builtin_inff() ) ) 143 return FP_INFINITE; 144 145 return FP_NAN; 146} 147 148int __fpclassify( long double x ) 149{ 150 x = __builtin_fabsl(x); 151 if( EXPECT_FALSE( x == 0.0L ) ) 152 return FP_ZERO; 153 154 if( EXPECT_FALSE( x < 0x1.0p-16382L ) ) 155 return FP_SUBNORMAL; 156 157 if( EXPECT_TRUE( x < __builtin_infl() ) ) 158 return FP_NORMAL; 159 160 if( EXPECT_TRUE( x == __builtin_infl() ) ) 161 return FP_INFINITE; 162 163 return FP_NAN; 164} 165 166float __inff( void ) 167{ 168 return __builtin_inff(); 169} 170 171long double __infl( void ) 172{ 173 return __builtin_infl(); 174} 175 176float __nan( void ) 177{ 178 return __builtin_nanf(""); 179} 180 181 182 183 184#endif /* BUILDING_FOR_CARBONCORE_LEGACY */ 185