#ifndef __FLOATFNS_P_H__
#define __FLOATFNS_P_H__

extern double extract_float _P_((Lisp_Object num));
#ifdef HAVE_MATHERR
extern int matherr _P_((struct exception *x));
#endif
extern _VOID_ init_floatfns _P_((void));
extern _VOID_ syms_of_floatfns _P_((void));

DEFUN_P(Facos, (register Lisp_Object arg));
DEFUN_P(Fasin, (register Lisp_Object arg));
DEFUN_P(Fatan, (register Lisp_Object arg));
DEFUN_P(Fsin, (register Lisp_Object arg));
DEFUN_P(Fcos, (register Lisp_Object arg));
DEFUN_P(Ftan, (register Lisp_Object arg));
DEFUN_P(Fbessel_j0, (register Lisp_Object arg));
DEFUN_P(Fbessel_j1, (register Lisp_Object arg));
DEFUN_P(Fbessel_jn, (register Lisp_Object arg1, register Lisp_Object arg2));
DEFUN_P(Fbessel_y0, (register Lisp_Object arg));
DEFUN_P(Fbessel_y1, (register Lisp_Object arg));
DEFUN_P(Fbessel_yn, (register Lisp_Object arg1, register Lisp_Object arg2));
DEFUN_P(Ferf, (register Lisp_Object arg));
DEFUN_P(Ferfc, (register Lisp_Object arg));
DEFUN_P(Flog_gamma, (register Lisp_Object arg));
DEFUN_P(Fcube_root, (register Lisp_Object arg));
DEFUN_P(Fexp, (register Lisp_Object arg));
DEFUN_P(Fexpt, (register Lisp_Object arg1, register Lisp_Object arg2));
DEFUN_P(Flog, (register Lisp_Object arg, register Lisp_Object base));
DEFUN_P(Flog10, (register Lisp_Object arg));
DEFUN_P(Fsqrt, (register Lisp_Object arg));
DEFUN_P(Facosh, (register Lisp_Object arg));
DEFUN_P(Fasinh, (register Lisp_Object arg));
DEFUN_P(Fatanh, (register Lisp_Object arg));
DEFUN_P(Fsinh, (register Lisp_Object arg));
DEFUN_P(Fcosh, (register Lisp_Object arg));
DEFUN_P(Ftanh, (register Lisp_Object arg));
DEFUN_P(Fabs, (register Lisp_Object arg));
DEFUN_P(Ffloat, (register Lisp_Object arg));
DEFUN_P(Flogb, (register Lisp_Object arg));
DEFUN_P(Fceiling, (register Lisp_Object arg));
DEFUN_P(Ffloor, (register Lisp_Object arg));
DEFUN_P(Fround, (register Lisp_Object arg));
DEFUN_P(Ftruncate, (register Lisp_Object arg));
    
#endif
