1da2e3ebdSchin 2da2e3ebdSchin/* : : generated by proto : : */ 3*b30d1939SAndy Fiddaman/* : : generated from contrib/ast/src/cmd/ksh93/features/math.sh by iffe version 2012-07-17 : : */ 4da2e3ebdSchin#ifndef _def_math_ksh93 5da2e3ebdSchin#if !defined(__PROTO__) 6da2e3ebdSchin# if defined(__STDC__) || defined(__cplusplus) || defined(_proto) || defined(c_plusplus) 7da2e3ebdSchin# if defined(__cplusplus) 8da2e3ebdSchin# define __LINKAGE__ "C" 9da2e3ebdSchin# else 10da2e3ebdSchin# define __LINKAGE__ 11da2e3ebdSchin# endif 12da2e3ebdSchin# define __STDARG__ 13da2e3ebdSchin# define __PROTO__(x) x 14da2e3ebdSchin# define __OTORP__(x) 15da2e3ebdSchin# define __PARAM__(n,o) n 16da2e3ebdSchin# if !defined(__STDC__) && !defined(__cplusplus) 17da2e3ebdSchin# if !defined(c_plusplus) 18da2e3ebdSchin# define const 19da2e3ebdSchin# endif 20da2e3ebdSchin# define signed 21da2e3ebdSchin# define void int 22da2e3ebdSchin# define volatile 23da2e3ebdSchin# define __V_ char 24da2e3ebdSchin# else 25da2e3ebdSchin# define __V_ void 26da2e3ebdSchin# endif 27da2e3ebdSchin# else 28da2e3ebdSchin# define __PROTO__(x) () 29da2e3ebdSchin# define __OTORP__(x) x 30da2e3ebdSchin# define __PARAM__(n,o) o 31da2e3ebdSchin# define __LINKAGE__ 32da2e3ebdSchin# define __V_ char 33da2e3ebdSchin# define const 34da2e3ebdSchin# define signed 35da2e3ebdSchin# define void int 36da2e3ebdSchin# define volatile 37da2e3ebdSchin# endif 38da2e3ebdSchin# define __MANGLE__ __LINKAGE__ 39da2e3ebdSchin# if defined(__cplusplus) || defined(c_plusplus) 40da2e3ebdSchin# define __VARARG__ ... 41da2e3ebdSchin# else 42da2e3ebdSchin# define __VARARG__ 43da2e3ebdSchin# endif 44da2e3ebdSchin# if defined(__STDARG__) 45da2e3ebdSchin# define __VA_START__(p,a) va_start(p,a) 46da2e3ebdSchin# else 47da2e3ebdSchin# define __VA_START__(p,a) va_start(p) 48da2e3ebdSchin# endif 49da2e3ebdSchin# if !defined(__INLINE__) 50da2e3ebdSchin# if defined(__cplusplus) 51da2e3ebdSchin# define __INLINE__ extern __MANGLE__ inline 52da2e3ebdSchin# else 53da2e3ebdSchin# if defined(_WIN32) && !defined(__GNUC__) 54da2e3ebdSchin# define __INLINE__ __inline 55da2e3ebdSchin# endif 56da2e3ebdSchin# endif 57da2e3ebdSchin# endif 58da2e3ebdSchin#endif 59da2e3ebdSchin#if !defined(__LINKAGE__) 60da2e3ebdSchin#define __LINKAGE__ /* 2004-08-11 transition */ 61da2e3ebdSchin#endif 62da2e3ebdSchin 63da2e3ebdSchin#define _def_math_ksh93 1 64da2e3ebdSchin#define _sys_types 1 /* #include <sys/types.h> ok */ 65da2e3ebdSchin 66*b30d1939SAndy Fiddaman 67*b30d1939SAndy Fiddaman/* : : generated by cmd/ast/tools/iffe from contrib/ast/src/cmd/ksh93/data/math.tab : : */ 68da2e3ebdSchin 69da2e3ebdSchintypedef Sfdouble_t (*Math_f) __PROTO__((Sfdouble_t,...)); 70da2e3ebdSchin 71da2e3ebdSchin#include <math.h> 72da2e3ebdSchin#include <ieeefp.h> 73da2e3ebdSchin 74da2e3ebdSchinstatic Sfdouble_t local_finite __PARAM__((Sfdouble_t a1), (a1)) __OTORP__(Sfdouble_t a1;){return finite(a1);} 75da2e3ebdSchinstatic int local_fpclassify __PARAM__((Sfdouble_t a1), (a1)) __OTORP__(Sfdouble_t a1;){return fpclassify(a1);} 76*b30d1939SAndy Fiddamanstatic int local_fpclass __PARAM__((Sfdouble_t a1), (a1)) __OTORP__(Sfdouble_t a1;){return fpclass(a1);} 77da2e3ebdSchinstatic int local_isfinite __PARAM__((Sfdouble_t a1), (a1)) __OTORP__(Sfdouble_t a1;){return isfinite(a1);} 78da2e3ebdSchinstatic int local_isgreater __PARAM__((Sfdouble_t a1,Sfdouble_t a2), (a1, a2)) __OTORP__(Sfdouble_t a1;Sfdouble_t a2;){return isgreater(a1,a2);} 79da2e3ebdSchinstatic int local_isgreaterequal __PARAM__((Sfdouble_t a1,Sfdouble_t a2), (a1, a2)) __OTORP__(Sfdouble_t a1;Sfdouble_t a2;){return isgreaterequal(a1,a2);} 80da2e3ebdSchinstatic int local_isinf __PARAM__((Sfdouble_t a1), (a1)) __OTORP__(Sfdouble_t a1;){return isinf(a1);} 81da2e3ebdSchinstatic int local_isless __PARAM__((Sfdouble_t a1,Sfdouble_t a2), (a1, a2)) __OTORP__(Sfdouble_t a1;Sfdouble_t a2;){return isless(a1,a2);} 82da2e3ebdSchinstatic int local_islessequal __PARAM__((Sfdouble_t a1,Sfdouble_t a2), (a1, a2)) __OTORP__(Sfdouble_t a1;Sfdouble_t a2;){return islessequal(a1,a2);} 83da2e3ebdSchinstatic int local_islessgreater __PARAM__((Sfdouble_t a1,Sfdouble_t a2), (a1, a2)) __OTORP__(Sfdouble_t a1;Sfdouble_t a2;){return islessgreater(a1,a2);} 84da2e3ebdSchinstatic int local_isnormal __PARAM__((Sfdouble_t a1), (a1)) __OTORP__(Sfdouble_t a1;){return isnormal(a1);} 85*b30d1939SAndy Fiddamanstatic int local_issubnormal __PARAM__((Sfdouble_t a1), (a1)) __OTORP__(Sfdouble_t a1;){ int q = fpclassify(a1); return q == FP_SUBNORMAL; } 86da2e3ebdSchinstatic int local_isunordered __PARAM__((Sfdouble_t a1,Sfdouble_t a2), (a1, a2)) __OTORP__(Sfdouble_t a1;Sfdouble_t a2;){return isunordered(a1,a2);} 87*b30d1939SAndy Fiddamanstatic int local_iszero __PARAM__((Sfdouble_t a1), (a1)) __OTORP__(Sfdouble_t a1;){ int q = fpclassify(a1); return q == FP_ZERO; } 88da2e3ebdSchinstatic int local_signbit __PARAM__((Sfdouble_t a1), (a1)) __OTORP__(Sfdouble_t a1;){return signbit(a1);} 89da2e3ebdSchin 90da2e3ebdSchin/* 91da2e3ebdSchin * first byte is two-digit octal number. Last digit is number of args 92da2e3ebdSchin * first digit is 0 if return value is double, 1 for integer 93da2e3ebdSchin */ 94da2e3ebdSchinconst struct mathtab shtab_math[] = 95da2e3ebdSchin{ 96*b30d1939SAndy Fiddaman "\001acos", (Math_f)(uintptr_t)acosl, 97*b30d1939SAndy Fiddaman "\001acosh", (Math_f)(uintptr_t)acoshl, 98*b30d1939SAndy Fiddaman "\001asin", (Math_f)(uintptr_t)asinl, 99*b30d1939SAndy Fiddaman "\001asinh", (Math_f)(uintptr_t)asinhl, 100*b30d1939SAndy Fiddaman "\001atan", (Math_f)(uintptr_t)atanl, 101*b30d1939SAndy Fiddaman "\002atan2", (Math_f)(uintptr_t)atan2l, 102*b30d1939SAndy Fiddaman "\001atanh", (Math_f)(uintptr_t)atanhl, 103*b30d1939SAndy Fiddaman "\001cbrt", (Math_f)(uintptr_t)cbrtl, 104*b30d1939SAndy Fiddaman "\001ceil", (Math_f)(uintptr_t)ceill, 105*b30d1939SAndy Fiddaman "\002copysign", (Math_f)(uintptr_t)copysignl, 106*b30d1939SAndy Fiddaman "\001cos", (Math_f)(uintptr_t)cosl, 107*b30d1939SAndy Fiddaman "\001cosh", (Math_f)(uintptr_t)coshl, 108*b30d1939SAndy Fiddaman "\001erf", (Math_f)(uintptr_t)erfl, 109*b30d1939SAndy Fiddaman "\001erfc", (Math_f)(uintptr_t)erfcl, 110*b30d1939SAndy Fiddaman "\001exp", (Math_f)(uintptr_t)expl, 111*b30d1939SAndy Fiddaman "\001exp2", (Math_f)(uintptr_t)exp2l, 112*b30d1939SAndy Fiddaman "\001expm1", (Math_f)(uintptr_t)expm1l, 113*b30d1939SAndy Fiddaman "\001fabs", (Math_f)(uintptr_t)fabsl, 114*b30d1939SAndy Fiddaman "\001abs", (Math_f)(uintptr_t)fabsl, 115*b30d1939SAndy Fiddaman "\002fdim", (Math_f)(uintptr_t)fdiml, 116*b30d1939SAndy Fiddaman "\001finite", (Math_f)(uintptr_t)local_finite, 117*b30d1939SAndy Fiddaman "\001floor", (Math_f)(uintptr_t)floorl, 118*b30d1939SAndy Fiddaman "\001int", (Math_f)(uintptr_t)floorl, 119*b30d1939SAndy Fiddaman "\003fma", (Math_f)(uintptr_t)fmal, 120*b30d1939SAndy Fiddaman "\002fmax", (Math_f)(uintptr_t)fmaxl, 121*b30d1939SAndy Fiddaman "\002fmin", (Math_f)(uintptr_t)fminl, 122*b30d1939SAndy Fiddaman "\002fmod", (Math_f)(uintptr_t)fmodl, 1232cac0f11SToomas Soome "\011fpclassify", (Math_f)(uintptr_t)local_fpclassify, 124*b30d1939SAndy Fiddaman "\011fpclass", (Math_f)(uintptr_t)local_fpclass, 125*b30d1939SAndy Fiddaman "\002hypot", (Math_f)(uintptr_t)hypotl, 1262cac0f11SToomas Soome "\011ilogb", (Math_f)(uintptr_t)ilogbl, 1272cac0f11SToomas Soome "\011isfinite", (Math_f)(uintptr_t)local_isfinite, 1282cac0f11SToomas Soome "\012isgreater", (Math_f)(uintptr_t)local_isgreater, 1292cac0f11SToomas Soome "\012isgreaterequal", (Math_f)(uintptr_t)local_isgreaterequal, 1302cac0f11SToomas Soome "\011isinf", (Math_f)(uintptr_t)local_isinf, 1312cac0f11SToomas Soome "\012isless", (Math_f)(uintptr_t)local_isless, 1322cac0f11SToomas Soome "\012islessequal", (Math_f)(uintptr_t)local_islessequal, 1332cac0f11SToomas Soome "\012islessgreater", (Math_f)(uintptr_t)local_islessgreater, 1342cac0f11SToomas Soome "\011isnan", (Math_f)(uintptr_t)isnanl, 1352cac0f11SToomas Soome "\011isnormal", (Math_f)(uintptr_t)local_isnormal, 1362cac0f11SToomas Soome "\011issubnormal", (Math_f)(uintptr_t)local_issubnormal, 1372cac0f11SToomas Soome "\012isunordered", (Math_f)(uintptr_t)local_isunordered, 1382cac0f11SToomas Soome "\011iszero", (Math_f)(uintptr_t)local_iszero, 139*b30d1939SAndy Fiddaman "\001j0", (Math_f)(uintptr_t)j0l, 140*b30d1939SAndy Fiddaman "\001j1", (Math_f)(uintptr_t)j1l, 1412cac0f11SToomas Soome "\002jn", (Math_f)(uintptr_t)jnl, 142*b30d1939SAndy Fiddaman "\042ldexp", (Math_f)(uintptr_t)ldexpl, 143*b30d1939SAndy Fiddaman "\001lgamma", (Math_f)(uintptr_t)lgammal, 144*b30d1939SAndy Fiddaman "\001log", (Math_f)(uintptr_t)logl, 145*b30d1939SAndy Fiddaman "\001log10", (Math_f)(uintptr_t)log10l, 146*b30d1939SAndy Fiddaman "\001log1p", (Math_f)(uintptr_t)log1pl, 147*b30d1939SAndy Fiddaman "\001log2", (Math_f)(uintptr_t)log2l, 148*b30d1939SAndy Fiddaman "\001logb", (Math_f)(uintptr_t)logbl, 149*b30d1939SAndy Fiddaman "\001nearbyint", (Math_f)(uintptr_t)nearbyintl, 150*b30d1939SAndy Fiddaman "\002nextafter", (Math_f)(uintptr_t)nextafterl, 151*b30d1939SAndy Fiddaman "\002nexttoward", (Math_f)(uintptr_t)nexttowardl, 152*b30d1939SAndy Fiddaman "\002pow", (Math_f)(uintptr_t)powl, 153*b30d1939SAndy Fiddaman "\002remainder", (Math_f)(uintptr_t)remainderl, 154*b30d1939SAndy Fiddaman "\001rint", (Math_f)(uintptr_t)rintl, 155*b30d1939SAndy Fiddaman "\001round", (Math_f)(uintptr_t)roundl, 156*b30d1939SAndy Fiddaman "\002scalb", (Math_f)(uintptr_t)scalbl, 157*b30d1939SAndy Fiddaman "\002scalbn", (Math_f)(uintptr_t)scalbnl, 1582cac0f11SToomas Soome "\011signbit", (Math_f)(uintptr_t)local_signbit, 159*b30d1939SAndy Fiddaman "\001sin", (Math_f)(uintptr_t)sinl, 160*b30d1939SAndy Fiddaman "\001sinh", (Math_f)(uintptr_t)sinhl, 161*b30d1939SAndy Fiddaman "\001sqrt", (Math_f)(uintptr_t)sqrtl, 162*b30d1939SAndy Fiddaman "\001tan", (Math_f)(uintptr_t)tanl, 163*b30d1939SAndy Fiddaman "\001tanh", (Math_f)(uintptr_t)tanhl, 164*b30d1939SAndy Fiddaman "\001tgamma", (Math_f)(uintptr_t)tgammal, 165*b30d1939SAndy Fiddaman "\001trunc", (Math_f)(uintptr_t)truncl, 166*b30d1939SAndy Fiddaman "\001y0", (Math_f)(uintptr_t)y0l, 167*b30d1939SAndy Fiddaman "\001y1", (Math_f)(uintptr_t)y1l, 1682cac0f11SToomas Soome "\002yn", (Math_f)(uintptr_t)ynl, 169da2e3ebdSchin "", (Math_f)0 170da2e3ebdSchin}; 171da2e3ebdSchin#endif 172