/*
 * NB:  This file is machine generated, DO NOT EDIT!
 *
 * Edit vmod_math.vcc and run make instead
 */

#ifndef VDEF_H_INCLUDED
#  error "Include vdef.h first"
#endif
#ifndef VRT_H_INCLUDED
#  error "Include vrt.h first"
#endif

#define VPFX(a) vmod_##a
#define VARGS(a) arg_vmod_math_##a
#define VENUM(a) enum_vmod_math_##a
//lint -esym(755, VPFX)
//lint -esym(767, VPFX)
//lint -esym(755, VARGS)
//lint -esym(767, VARGS)
//lint -esym(755, VENUM)
//lint -esym(767, VENUM)
//lint -esym(755, VARGS)
//lint -esym(755, VENUM)

extern VCL_ENUM VENUM(DBL_DIG);
extern VCL_ENUM VENUM(DBL_EPSILON);
extern VCL_ENUM VENUM(DBL_MANT_DIG);
extern VCL_ENUM VENUM(DBL_MAX);
extern VCL_ENUM VENUM(DBL_MAX_10_EXP);
extern VCL_ENUM VENUM(DBL_MAX_EXP);
extern VCL_ENUM VENUM(DBL_MIN);
extern VCL_ENUM VENUM(DBL_MIN_10_EXP);
extern VCL_ENUM VENUM(DBL_MIN_EXP);
extern VCL_ENUM VENUM(FP_INFINITE);
extern VCL_ENUM VENUM(FP_NAN);
extern VCL_ENUM VENUM(FP_NORMAL);
extern VCL_ENUM VENUM(FP_SUBNORMAL);
extern VCL_ENUM VENUM(FP_ZERO);
extern VCL_ENUM VENUM(HUGE_VAL);
extern VCL_ENUM VENUM(M_1_PI);
extern VCL_ENUM VENUM(M_2_PI);
extern VCL_ENUM VENUM(M_2_SQRTPI);
extern VCL_ENUM VENUM(M_E);
extern VCL_ENUM VENUM(M_LN10);
extern VCL_ENUM VENUM(M_LN2);
extern VCL_ENUM VENUM(M_LOG10E);
extern VCL_ENUM VENUM(M_LOG2E);
extern VCL_ENUM VENUM(M_PI);
extern VCL_ENUM VENUM(M_PI_2);
extern VCL_ENUM VENUM(M_PI_4);
extern VCL_ENUM VENUM(M_SQRT1_2);
extern VCL_ENUM VENUM(M_SQRT2);

//lint -esym(14, enum_vmod_math_DBL_DIG)
//lint -esym(759, enum_vmod_math_DBL_DIG)
//lint -esym(765, enum_vmod_math_DBL_DIG)
//lint -esym(14, enum_vmod_math_DBL_EPSILON)
//lint -esym(759, enum_vmod_math_DBL_EPSILON)
//lint -esym(765, enum_vmod_math_DBL_EPSILON)
//lint -esym(14, enum_vmod_math_DBL_MANT_DIG)
//lint -esym(759, enum_vmod_math_DBL_MANT_DIG)
//lint -esym(765, enum_vmod_math_DBL_MANT_DIG)
//lint -esym(14, enum_vmod_math_DBL_MAX)
//lint -esym(759, enum_vmod_math_DBL_MAX)
//lint -esym(765, enum_vmod_math_DBL_MAX)
//lint -esym(14, enum_vmod_math_DBL_MAX_10_EXP)
//lint -esym(759, enum_vmod_math_DBL_MAX_10_EXP)
//lint -esym(765, enum_vmod_math_DBL_MAX_10_EXP)
//lint -esym(14, enum_vmod_math_DBL_MAX_EXP)
//lint -esym(759, enum_vmod_math_DBL_MAX_EXP)
//lint -esym(765, enum_vmod_math_DBL_MAX_EXP)
//lint -esym(14, enum_vmod_math_DBL_MIN)
//lint -esym(759, enum_vmod_math_DBL_MIN)
//lint -esym(765, enum_vmod_math_DBL_MIN)
//lint -esym(14, enum_vmod_math_DBL_MIN_10_EXP)
//lint -esym(759, enum_vmod_math_DBL_MIN_10_EXP)
//lint -esym(765, enum_vmod_math_DBL_MIN_10_EXP)
//lint -esym(14, enum_vmod_math_DBL_MIN_EXP)
//lint -esym(759, enum_vmod_math_DBL_MIN_EXP)
//lint -esym(765, enum_vmod_math_DBL_MIN_EXP)
//lint -esym(14, enum_vmod_math_FP_INFINITE)
//lint -esym(759, enum_vmod_math_FP_INFINITE)
//lint -esym(765, enum_vmod_math_FP_INFINITE)
//lint -esym(14, enum_vmod_math_FP_NAN)
//lint -esym(759, enum_vmod_math_FP_NAN)
//lint -esym(765, enum_vmod_math_FP_NAN)
//lint -esym(14, enum_vmod_math_FP_NORMAL)
//lint -esym(759, enum_vmod_math_FP_NORMAL)
//lint -esym(765, enum_vmod_math_FP_NORMAL)
//lint -esym(14, enum_vmod_math_FP_SUBNORMAL)
//lint -esym(759, enum_vmod_math_FP_SUBNORMAL)
//lint -esym(765, enum_vmod_math_FP_SUBNORMAL)
//lint -esym(14, enum_vmod_math_FP_ZERO)
//lint -esym(759, enum_vmod_math_FP_ZERO)
//lint -esym(765, enum_vmod_math_FP_ZERO)
//lint -esym(14, enum_vmod_math_HUGE_VAL)
//lint -esym(759, enum_vmod_math_HUGE_VAL)
//lint -esym(765, enum_vmod_math_HUGE_VAL)
//lint -esym(14, enum_vmod_math_M_1_PI)
//lint -esym(759, enum_vmod_math_M_1_PI)
//lint -esym(765, enum_vmod_math_M_1_PI)
//lint -esym(14, enum_vmod_math_M_2_PI)
//lint -esym(759, enum_vmod_math_M_2_PI)
//lint -esym(765, enum_vmod_math_M_2_PI)
//lint -esym(14, enum_vmod_math_M_2_SQRTPI)
//lint -esym(759, enum_vmod_math_M_2_SQRTPI)
//lint -esym(765, enum_vmod_math_M_2_SQRTPI)
//lint -esym(14, enum_vmod_math_M_E)
//lint -esym(759, enum_vmod_math_M_E)
//lint -esym(765, enum_vmod_math_M_E)
//lint -esym(14, enum_vmod_math_M_LN10)
//lint -esym(759, enum_vmod_math_M_LN10)
//lint -esym(765, enum_vmod_math_M_LN10)
//lint -esym(14, enum_vmod_math_M_LN2)
//lint -esym(759, enum_vmod_math_M_LN2)
//lint -esym(765, enum_vmod_math_M_LN2)
//lint -esym(14, enum_vmod_math_M_LOG10E)
//lint -esym(759, enum_vmod_math_M_LOG10E)
//lint -esym(765, enum_vmod_math_M_LOG10E)
//lint -esym(14, enum_vmod_math_M_LOG2E)
//lint -esym(759, enum_vmod_math_M_LOG2E)
//lint -esym(765, enum_vmod_math_M_LOG2E)
//lint -esym(14, enum_vmod_math_M_PI)
//lint -esym(759, enum_vmod_math_M_PI)
//lint -esym(765, enum_vmod_math_M_PI)
//lint -esym(14, enum_vmod_math_M_PI_2)
//lint -esym(759, enum_vmod_math_M_PI_2)
//lint -esym(765, enum_vmod_math_M_PI_2)
//lint -esym(14, enum_vmod_math_M_PI_4)
//lint -esym(759, enum_vmod_math_M_PI_4)
//lint -esym(765, enum_vmod_math_M_PI_4)
//lint -esym(14, enum_vmod_math_M_SQRT1_2)
//lint -esym(759, enum_vmod_math_M_SQRT1_2)
//lint -esym(765, enum_vmod_math_M_SQRT1_2)
//lint -esym(14, enum_vmod_math_M_SQRT2)
//lint -esym(759, enum_vmod_math_M_SQRT2)
//lint -esym(765, enum_vmod_math_M_SQRT2)

VCL_BOOL vmod_approx(VRT_CTX, VCL_REAL, VCL_REAL, VCL_REAL,
    VCL_REAL);
VCL_STRING vmod_strfromd(VRT_CTX, VCL_STRING, VCL_REAL);
VCL_REAL vmod_constant(VRT_CTX, VCL_ENUM);
VCL_INT vmod_fpclass(VRT_CTX, VCL_ENUM);
VCL_INT vmod_fpclassify(VRT_CTX, VCL_REAL);
VCL_INT vmod_isfinite(VRT_CTX, VCL_REAL);
VCL_INT vmod_isgreater(VRT_CTX, VCL_REAL, VCL_REAL);
VCL_INT vmod_isgreaterequal(VRT_CTX, VCL_REAL, VCL_REAL);
VCL_INT vmod_isinf(VRT_CTX, VCL_REAL);
VCL_INT vmod_isless(VRT_CTX, VCL_REAL, VCL_REAL);
VCL_INT vmod_islessequal(VRT_CTX, VCL_REAL, VCL_REAL);
VCL_INT vmod_islessgreater(VRT_CTX, VCL_REAL, VCL_REAL);
VCL_INT vmod_isnan(VRT_CTX, VCL_REAL);
VCL_INT vmod_isnormal(VRT_CTX, VCL_REAL);
VCL_INT vmod_isunordered(VRT_CTX, VCL_REAL, VCL_REAL);
VCL_INT vmod_signbit(VRT_CTX, VCL_REAL);
VCL_REAL vmod_acos(VRT_CTX, VCL_REAL);
VCL_REAL vmod_acosh(VRT_CTX, VCL_REAL);
VCL_REAL vmod_asin(VRT_CTX, VCL_REAL);
VCL_REAL vmod_asinh(VRT_CTX, VCL_REAL);
VCL_REAL vmod_atan(VRT_CTX, VCL_REAL);
VCL_REAL vmod_atan2(VRT_CTX, VCL_REAL, VCL_REAL);
VCL_REAL vmod_atanh(VRT_CTX, VCL_REAL);
VCL_REAL vmod_cbrt(VRT_CTX, VCL_REAL);
VCL_REAL vmod_ceil(VRT_CTX, VCL_REAL);
VCL_REAL vmod_copysign(VRT_CTX, VCL_REAL, VCL_REAL);
VCL_REAL vmod_cos(VRT_CTX, VCL_REAL);
VCL_REAL vmod_cosh(VRT_CTX, VCL_REAL);
VCL_REAL vmod_erf(VRT_CTX, VCL_REAL);
VCL_REAL vmod_erfc(VRT_CTX, VCL_REAL);
VCL_REAL vmod_exp(VRT_CTX, VCL_REAL);
VCL_REAL vmod_exp2(VRT_CTX, VCL_REAL);
VCL_REAL vmod_expm1(VRT_CTX, VCL_REAL);
VCL_REAL vmod_fabs(VRT_CTX, VCL_REAL);
VCL_REAL vmod_fdim(VRT_CTX, VCL_REAL, VCL_REAL);
VCL_REAL vmod_floor(VRT_CTX, VCL_REAL);
VCL_REAL vmod_fma(VRT_CTX, VCL_REAL, VCL_REAL, VCL_REAL);
VCL_REAL vmod_fmax(VRT_CTX, VCL_REAL, VCL_REAL);
VCL_REAL vmod_fmin(VRT_CTX, VCL_REAL, VCL_REAL);
VCL_REAL vmod_fmod(VRT_CTX, VCL_REAL, VCL_REAL);
VCL_REAL vmod_hypot(VRT_CTX, VCL_REAL, VCL_REAL);
VCL_INT vmod_ilogb(VRT_CTX, VCL_REAL);
VCL_REAL vmod_j0(VRT_CTX, VCL_REAL);
VCL_REAL vmod_j1(VRT_CTX, VCL_REAL);
VCL_REAL vmod_jn(VRT_CTX, VCL_INT, VCL_REAL);
VCL_REAL vmod_ldexp(VRT_CTX, VCL_REAL, VCL_INT);
VCL_REAL vmod_lgamma(VRT_CTX, VCL_REAL);
VCL_REAL vmod_log(VRT_CTX, VCL_REAL);
VCL_REAL vmod_log10(VRT_CTX, VCL_REAL);
VCL_REAL vmod_log1p(VRT_CTX, VCL_REAL);
VCL_REAL vmod_log2(VRT_CTX, VCL_REAL);
VCL_REAL vmod_logb(VRT_CTX, VCL_REAL);
VCL_INT vmod_lrint(VRT_CTX, VCL_REAL);
VCL_INT vmod_lround(VRT_CTX, VCL_REAL);
VCL_REAL vmod_nan(VRT_CTX, VCL_STRING);
VCL_REAL vmod_nearbyint(VRT_CTX, VCL_REAL);
VCL_REAL vmod_nextafter(VRT_CTX, VCL_REAL, VCL_REAL);
VCL_REAL vmod_pow(VRT_CTX, VCL_REAL, VCL_REAL);
VCL_REAL vmod_remainder(VRT_CTX, VCL_REAL, VCL_REAL);
VCL_REAL vmod_rint(VRT_CTX, VCL_REAL);
VCL_REAL vmod_round(VRT_CTX, VCL_REAL);
VCL_REAL vmod_scalbln(VRT_CTX, VCL_REAL, VCL_INT);
VCL_REAL vmod_scalbn(VRT_CTX, VCL_REAL, VCL_INT);
VCL_REAL vmod_sin(VRT_CTX, VCL_REAL);
VCL_REAL vmod_sinh(VRT_CTX, VCL_REAL);
VCL_REAL vmod_sqrt(VRT_CTX, VCL_REAL);
VCL_REAL vmod_tan(VRT_CTX, VCL_REAL);
VCL_REAL vmod_tanh(VRT_CTX, VCL_REAL);
VCL_REAL vmod_tgamma(VRT_CTX, VCL_REAL);
VCL_REAL vmod_trunc(VRT_CTX, VCL_REAL);
VCL_REAL vmod_y0(VRT_CTX, VCL_REAL);
VCL_REAL vmod_y1(VRT_CTX, VCL_REAL);
VCL_REAL vmod_yn(VRT_CTX, VCL_INT, VCL_REAL);
