/*------------------------->  Sather - configfile  <-------------------------*/
/* Copyright (C) 2000 by K Hopper, University of Waikato, New Zealand        */
/* This file is part of the GNU Sather library. It is free software; you may */
/* redistribute  and/or modify it under the terms of the GNU Library General */
/* Public  License (LGPL)  as published  by the  Free  Software  Foundation; */
/* either version 2 of the license, or (at your option) any later version.   */
/* This  library  is distributed  in the  hope that it will  be  useful, but */
/* WITHOUT ANY WARRANTY without even the implied warranty of MERCHANTABILITY */
/* or FITNESS FOR A PARTICULAR PURPOSE. See Doc/LGPL for more details.       */
/* The license text is also available from:  Free Software Foundation, Inc., */
/* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA                     */
/*------------>  Please email comments to <bug-sather@gnu.org>  <------------*/

#ifndef MATHS_CONFIG
#define MATHS_CONFIG

#ifdef PP
#undef PP
#endif

#ifdef VSTD
#undef VSTD
#endif

#define PP	no_pre,no_post
#define VSTD    var "@r $$;"

--   NOTE The following definitions assume that all floating point 
--        operations return NaN if used with wrong arguments (a la IEEE)
--        If this is not the case for some machines, all functions that
--        could break should be 'fragile'.

FLT_J0:		PP,VSTD,declare "_FM_F_F(j0)",exec "$$=r_j0($0);" "$$";
FLT_J1:		PP,VSTD,declare "_FM_F_F(j1)",exec "$$=r_j1($0);" "$$";
FLT_JN:		PP,VSTD,declare "_FM_F_IF(jn)",exec "$$=r_jn($1,$0);" "$$";
FLT_Y0:		PP,VSTD,declare "_FM_F_F(y0)",exec "$$=r_y0($0);" "$$";
FLT_Y1:		PP,VSTD,declare "_FM_F_F(y1)",exec "$$=r_y1($0);" "$$";
FLT_YN:		PP,VSTD,declare "_FM_F_IF(yn)",exec "$$=r_yn($1,$0);" "$$";
FLT_ERF:	PP,VSTD,declare "_FM_F_F(erf)",exec "$$=r_erf($0);" "$$";
FLT_ERFC:	PP,VSTD,declare "_FM_F_F(erfc)",exec "$$=r_erfc($0);" "$$";
FLT_ACOSH:	PP,VSTD,declare "_FM_F_F(acosh)",exec "$$=r_acosh($0);" "$$";
FLT_COSH:	PP,VSTD,declare "_FM_F_F(cosh)",exec "$$=r_cosh($0);" "$$";
FLT_SINH:	PP,VSTD,declare "_FM_F_F(sinh)",exec "$$=r_sinh($0);" "$$";
FLT_TANH:	PP,VSTD,declare "_FM_F_F(tanh)",exec "$$=r_tanh($0);" "$$";
FLT_ASINH:	PP,VSTD,declare "_FM_F_F(asinh)",exec "$$=r_asinh($0);" "$$";
FLT_ATANH:	PP,VSTD,declare "_FM_F_F(atanh)",exec "$$=r_atanh($0);" "$$";
FLT_HYPOT:	PP,VSTD,declare "_FM_F_FF(hypot)",exec "$$=r_hypot($0,$1);" "$$";
FLT_LGAMMA:	PP,VSTD,declare "_FM_F_F(lgamma)",exec "$$=r_lgamma($0);" "$$";

#endif
