-- routines which require special prototypes go here.

"fopen"		"extern FILE *fopen(const char*, const char*);"
"ferror"	"extern int ferror(FILE *); /* ferror is #undef ed */"
"signgam"	"extern int signgam;"

-- These should be handled by system header files.  Note that a
-- null definition is one that is intended to be taken without
-- conflict from a system header such as <stdio.h>.

"strlen"	""
"strcpy"        ""
"fwrite"	""
"fgetc"		""
"fputc"		""
"fclose"	""
"fread"		""
"fseek"		""
"exit"		""
"unlink"	""
"system"	""
"feof"		""
"execve"	""



-- FLTD routines

"acos"		""
"acospi"	""
"acosh"		""
"aint"		""
"anint"		""
"annuity"	""
"asin"		""
"asinpi"	""
"asinh"		""
"atan"		""
"atanpi"	""
"atanh"		""
"atan2"		""
"atan2pi"	""
"cbrt"		""
"ceil"		""
"compound"	""
"copysign"	""
"cos"		""
"cospi"		""
"cosh"		""
"erf"		""
"erfc"		""
"exp"		""
"expm1"		""
"exp2"		""
"exp10"		""
"fabs"		""
"finite"	""
"floor"		""
"fmod"		""
"hypot"		""
"ilogb"		""
"irint"		""
"isinf"		""
"isnan"		""
"isnormal"	""
"issubnormal"	""
"iszero"	""
"nint"		""
"infinity"	""
"j0"		""
"j1"		""
"jn"		""
"lgamma"	""
"logb"		""
"log"		""
"log1p"		""
"log10"		""
"max_normal"	""
"max_subnormal"	""
"min_normal"	""
"min_subnormal"	""
"nextafter"	""
"pow"		""
"quiet_nan"	""
"remainder"	""
"rint"		""
"scalbn"	""
"signaling_nan"	""
"signbit"	""
"significand"	""
"sin"		""
"sinpi"		""
-- the next two are hacks, as they work with ARRAY{FLTD}
"sincos"	"static sincos(FLTD f, FLTD g[]) {sincos(f,g,g+1);}"
"sincospi"	"static sincospi(FLTD f, FLTD g[]) {sincospi(f,g,g+1);}"
"sinh"		""
"sqrt"		""
"tan"		""
"tanpi"		""
"tanh"		""
"y0"		""
"y1"		""
"yn"		""



-- FLT routines

-- These functions are defined here so that they are included into every
--    created C file.  This means that the compiler can inline them.
-- You should use '-finline-functions' or '-O2' when calling gcc.
-- These are not supposed to have trailing semicolons.
-- See the file 'floatmath.h' for the definitions.

"r_acos"		"_FM_F_F(acos)"
"r_acospi"		"_FM_F_F(acospi)"
"r_acosh"		"_FM_F_F(acosh)"
"r_aint"		"_FM_F_F(aint)"
"r_anint"		"_FM_F_F(anint)"
"r_annuity"		"_FM_F_F(annuity)"
"r_asin"		"_FM_F_F(asin)"
"r_asinpi"		"_FM_F_F(asinpi)"
"r_asinh"		"_FM_F_F(asinh)"
"r_atan"		"_FM_F_F(atan)"
"r_atanpi"		"_FM_F_F(atanpi)"
"r_atanh"		"_FM_F_F(atanh)"
"r_atan2"		"_FM_F_FF(atan2)"
"r_atan2pi"		"_FM_F_FF(atan2pi)"
"r_cbrt"		"_FM_F_F(cbrt)"
"r_ceil"		"_FM_F_F(ceil)"
"r_compound"		"_FM_F_FF(compound)"
"r_copysign"		"_FM_F_FF(copysign)"
"r_cos"			"_FM_F_F(cos)"
"r_cospi"		"_FM_F_F(cospi)"
"r_cosh"		"_FM_F_F(cosh)"
"r_erf"			"_FM_F_F(erf)"
"r_erfc"		"_FM_F_F(erfc)"
"r_exp"			"_FM_F_F(exp)"
"r_expm1"		"_FM_F_F(expm1)"
"r_exp2"		"_FM_F_F(exp2)"
"r_exp10"		"_FM_F_F(exp10)"
"r_fabs"		"_FM_F_F(fabs)"
"ir_finite"		"_FM_B_F(finite)"
"r_floor"		"_FM_F_F(floor)"
"r_fmod"		"_FM_F_FF(fmod)"
"r_hypot"		"_FM_F_FF(hypot)"
"ir_ilogb"		"_FM_I_F(ilogb)"
"ir_irint"		"_FM_I_F(irint)"
"ir_isinf"		"_FM_B_F(isinf)"
"ir_isnan"		"_FM_B_F(isnan)"
"ir_isnormal"		"_FM_B_F(isnormal)"
"ir_issubnormal"	"_FM_B_F(issubnormal)"
"ir_iszero"		"_FM_B_F(iszero)"
"ir_nint"		"_FM_I_F(nint)"
"r_infinity"		"_FM_F(infinity)"
"r_j0"			"_FM_F_F(j0)"
"r_j1"			"_FM_F_F(j1)"
"r_jn"			"_FM_F_IF(jn)"
"r_lgamma"		"_FM_F_F(lgamma)"
"r_logb"		"_FM_F_F(logb)"
"r_log"			"_FM_F_F(log)"
"r_log1p"		"_FM_F_F(log1p)"
--"r_log2"		"_FM_F_F(log2)"
"r_log10"		"_FM_F_F(log10)"
"r_max_normal"		"_FM_F(max_normal)"
"r_max_subnormal"	"_FM_F(max_subnormal)"
"r_min_normal"		"_FM_F(min_normal)"
"r_min_subnormal"	"_FM_F(min_subnormal)"
"r_nextafter"		"_FM_F_FF(nextafter)"
"r_pow"			"_FM_F_FF(pow)"
"r_quiet_nan"		"_FM_F_I(quiet_nan)"
"r_remainder"		"_FM_F_FF(remainder)"
"r_rint"		"_FM_F_F(rint)"
"r_scalbn"		"_FM_F_FI(scalbn)"
"r_signaling_nan"	"_FM_F_I(signaling_nan)"
"ir_signbit"		"_FM_B_F(signbit)"
"r_significand"		"_FM_F_F(significand)"
"r_sin"			"_FM_F_F(sin)"
"r_sinpi"		"_FM_F_F(sinpi)"
-- the next two are hacks, as they work with AREF{FLT}
"r_sincos"		"_FM_V_FP(sincos)"
"r_sincospi"		"_FM_V_FP(sincospi)"
"r_sinh"		"_FM_F_F(sinh)"
"r_sqrt"		"_FM_F_F(sqrt)"
"r_tan"			"_FM_F_F(tan)"
"r_tanpi"		"_FM_F_F(tanpi)"
"r_tanh"		"_FM_F_F(tanh)"
"r_y0"			"_FM_F_F(y0)"
"r_y1"			"_FM_F_F(y1)"
"r_yn"			"_FM_F_IF(yn)"



-- Conversion ASCII->INT and ASCII->FLTD

"atof"		""
"atoi"		""
"fflush"	""
"isnan"		""
"isnormal"	""
"finite"	""
"r_signaling_nan_" ""

-- other conflicts (on DECStation, with gcc 2.6, B. Boser, 1/95)
-- these are already defined in <stdio.h> and <math.h>
"clearerr"      ""
"tmpfile"       ""
"isnan"         ""
"yn"            ""
"jn"            ""
-- avoids "gcc:decs.h:1339: warning: conflicting types for built-in function `memcpy'" msgs
"memcpy"        ""

-- System specific weirdness.  Some systems define things in
-- fundamentally incompatible ways; use inline #ifdefs for these.
-- Remember to match your quotes correctly.

"tempnam"
"#ifndef _AIX
    extern char *tempnam(const char *, const char *);
#endif"

"getenv"
"#ifdef __osf__
    extern char *getenv(const char *);
#else
# ifndef _AIX
      extern char *getenv(char *);
# endif
#endif"

"ftell"
"#if defined(__FreeBSD__) || defined(__NetBSD__) || (M_I386 && M_XENIX)
    extern long ftell(const FILE *);
#else
    extern long ftell(FILE *);
#endif"
