math revision 3e14f97f673e8a630f076077de35afdd43dc1587
/* : : generated by proto : : */
/* : : generated from /home/gisburn/ksh93/ast_ksh_20100309/build_i386_64bit/src/cmd/ksh93/features/math.sh by iffe version 2009-12-04 : : */
#ifndef _def_math_ksh93
#if !defined(__PROTO__)
# if defined(__STDC__) || defined(__cplusplus) || defined(_proto) || defined(c_plusplus)
# if defined(__cplusplus)
# define __LINKAGE__ "C"
# else
# define __LINKAGE__
# endif
# define __STDARG__
# define __PROTO__(x) x
# define __OTORP__(x)
# define __PARAM__(n,o) n
# if !defined(__STDC__) && !defined(__cplusplus)
# if !defined(c_plusplus)
# define const
# endif
# define signed
# define void int
# define volatile
# define __V_ char
# else
# define __V_ void
# endif
# else
# define __PROTO__(x) ()
# define __OTORP__(x) x
# define __PARAM__(n,o) o
# define __LINKAGE__
# define __V_ char
# define const
# define signed
# define void int
# define volatile
# endif
# define __MANGLE__ __LINKAGE__
# if defined(__cplusplus) || defined(c_plusplus)
# define __VARARG__ ...
# else
# define __VARARG__
# endif
# if defined(__STDARG__)
# define __VA_START__(p,a) va_start(p,a)
# else
# define __VA_START__(p,a) va_start(p)
# endif
# if !defined(__INLINE__)
# if defined(__cplusplus)
# define __INLINE__ extern __MANGLE__ inline
# else
# if defined(_WIN32) && !defined(__GNUC__)
# define __INLINE__ __inline
# endif
# endif
# endif
#endif
#if !defined(__LINKAGE__)
#define __LINKAGE__ /* 2004-08-11 transition */
#endif
#define _def_math_ksh93 1
#define _sys_types 1 /* #include <sys/types.h> ok */
#define _LIB_dll 1 /* /home/gisburn/ksh93/ast_ksh_20100309/build_i386_64bit/arch/sol11.i386/lib/libdll.a is a library */
#define _LIB_ast 1 /* /home/gisburn/ksh93/ast_ksh_20100309/build_i386_64bit/arch/sol11.i386/lib/libast.a is a library */
#define _LIB_m 1 /* -lm is a library */
#define _LIB_cmd 1 /* /home/gisburn/ksh93/ast_ksh_20100309/build_i386_64bit/arch/sol11.i386/lib/libcmd.a is a library */
#define _LIB_md 1 /* -lmd is a library */
#define _LIB_nsl 1 /* -lnsl is a library */
/* : : generated by iffe from /home/gisburn/ksh93/ast_ksh_20100309/build_i386_64bit/src/cmd/ksh93/data/math.tab : : */
typedef Sfdouble_t (*Math_f) __PROTO__((Sfdouble_t,...));
#include <ast_standards.h>
#include <math.h>
#include <ieeefp.h>
static Sfdouble_t local_finite __PARAM__((Sfdouble_t a1), (a1)) __OTORP__(Sfdouble_t a1;){return finite(a1);}
static int local_fpclassify __PARAM__((Sfdouble_t a1), (a1)) __OTORP__(Sfdouble_t a1;){return fpclassify(a1);}
static int local_isfinite __PARAM__((Sfdouble_t a1), (a1)) __OTORP__(Sfdouble_t a1;){return isfinite(a1);}
static int local_isgreater __PARAM__((Sfdouble_t a1,Sfdouble_t a2), (a1, a2)) __OTORP__(Sfdouble_t a1;Sfdouble_t a2;){return isgreater(a1,a2);}
static int local_isgreaterequal __PARAM__((Sfdouble_t a1,Sfdouble_t a2), (a1, a2)) __OTORP__(Sfdouble_t a1;Sfdouble_t a2;){return isgreaterequal(a1,a2);}
static int local_isinf __PARAM__((Sfdouble_t a1), (a1)) __OTORP__(Sfdouble_t a1;){return isinf(a1);}
static int local_isless __PARAM__((Sfdouble_t a1,Sfdouble_t a2), (a1, a2)) __OTORP__(Sfdouble_t a1;Sfdouble_t a2;){return isless(a1,a2);}
static int local_islessequal __PARAM__((Sfdouble_t a1,Sfdouble_t a2), (a1, a2)) __OTORP__(Sfdouble_t a1;Sfdouble_t a2;){return islessequal(a1,a2);}
static int local_islessgreater __PARAM__((Sfdouble_t a1,Sfdouble_t a2), (a1, a2)) __OTORP__(Sfdouble_t a1;Sfdouble_t a2;){return islessgreater(a1,a2);}
static int local_isnormal __PARAM__((Sfdouble_t a1), (a1)) __OTORP__(Sfdouble_t a1;){return isnormal(a1);}
#ifdef FP_SUBNORMAL
static int local_issubnormal __PARAM__((Sfdouble_t x), (x)) __OTORP__(Sfdouble_t x;){ return fpclassify(x) == FP_SUBNORMAL; }
#endif
static int local_isunordered __PARAM__((Sfdouble_t a1,Sfdouble_t a2), (a1, a2)) __OTORP__(Sfdouble_t a1;Sfdouble_t a2;){return isunordered(a1,a2);}
#ifdef FP_ZERO
static int local_iszero __PARAM__((Sfdouble_t x), (x)) __OTORP__(Sfdouble_t x;){ return fpclassify(x) == FP_ZERO; }
#endif
static int local_signbit __PARAM__((Sfdouble_t a1), (a1)) __OTORP__(Sfdouble_t a1;){return signbit(a1);}
/*
* first byte is two-digit octal number. Last digit is number of args
* first digit is 0 if return value is double, 1 for integer
*/
const struct mathtab shtab_math[] =
{
"\001acos", (Math_f)acosl,
"\001acosh", (Math_f)acoshl,
"\001asin", (Math_f)asinl,
"\001asinh", (Math_f)asinhl,
"\001atan", (Math_f)atanl,
"\002atan2", (Math_f)atan2l,
"\001atanh", (Math_f)atanhl,
"\001cbrt", (Math_f)cbrtl,
"\001ceil", (Math_f)ceill,
"\002copysign", (Math_f)copysignl,
"\001cos", (Math_f)cosl,
"\001cosh", (Math_f)coshl,
"\001erf", (Math_f)erfl,
"\001erfc", (Math_f)erfcl,
"\001exp", (Math_f)expl,
"\001exp2", (Math_f)exp2l,
"\001expm1", (Math_f)expm1l,
"\001fabs", (Math_f)fabsl,
"\001abs", (Math_f)fabsl,
"\002fdim", (Math_f)fdiml,
"\001finite", (Math_f)local_finite,
"\001floor", (Math_f)floorl,
"\001int", (Math_f)floorl,
"\003fma", (Math_f)fmal,
"\002fmax", (Math_f)fmaxl,
"\002fmin", (Math_f)fminl,
"\002fmod", (Math_f)fmodl,
"\011fpclassify", (Math_f)local_fpclassify,
"\002hypot", (Math_f)hypotl,
"\011ilogb", (Math_f)ilogbl,
"\011isfinite", (Math_f)local_isfinite,
"\012isgreater", (Math_f)local_isgreater,
"\012isgreaterequal", (Math_f)local_isgreaterequal,
"\011isinf", (Math_f)local_isinf,
"\012isless", (Math_f)local_isless,
"\012islessequal", (Math_f)local_islessequal,
"\012islessgreater", (Math_f)local_islessgreater,
"\011isnan", (Math_f)isnanl,
"\011isnormal", (Math_f)local_isnormal,
#ifdef FP_SUBNORMAL
"\011issubnormal", (Math_f)local_issubnormal,
#endif
"\012isunordered", (Math_f)local_isunordered,
#ifdef FP_ZERO
"\011iszero", (Math_f)local_iszero,
#endif
"\001j0", (Math_f)j0l,
"\001j1", (Math_f)j1l,
"\002jn", (Math_f)jnl,
"\001lgamma", (Math_f)lgammal,
"\001log", (Math_f)logl,
"\001log10", (Math_f)log10l,
"\001log1p", (Math_f)log1pl,
"\001log2", (Math_f)log2l,
"\001logb", (Math_f)logbl,
"\001nearbyint", (Math_f)nearbyintl,
"\002nextafter", (Math_f)nextafterl,
"\002nexttoward", (Math_f)nexttowardl,
"\002pow", (Math_f)powl,
"\002remainder", (Math_f)remainderl,
"\001rint", (Math_f)rintl,
"\001round", (Math_f)roundl,
"\002scalb", (Math_f)scalbl,
"\002scalbn", (Math_f)scalbnl,
"\011signbit", (Math_f)local_signbit,
"\001sin", (Math_f)sinl,
"\001sinh", (Math_f)sinhl,
"\001sqrt", (Math_f)sqrtl,
"\001tan", (Math_f)tanl,
"\001tanh", (Math_f)tanhl,
"\001tgamma", (Math_f)tgammal,
"\001trunc", (Math_f)truncl,
"\001y0", (Math_f)y0l,
"\001y1", (Math_f)y1l,
"\002yn", (Math_f)ynl,
"", (Math_f)0
};
#endif