/*------------------------->  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 DMATHS_CONFIG
#define DMATHS_CONFIG

#ifdef PP
#undef PP
#endif

#ifdef VSTD
#undef VSTD
#endif

#ifdef IM
#undef IM
#endif

#define PP	no_pre,no_post
#define APP	arith,PP
#define FPP	fragile,PP
#define VSTD    var "@r $$;"
#define IM	declare "#include <math.h>"

--        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 made 'fragile'.

FLTD_J0:		PP,VSTD,IM,exec "$$=j0($0);" "$$";
FLTD_J1:		PP,VSTD,IM,exec "$$=j1($0);" "$$";
FLTD_JN:		PP,VSTD,IM,exec "$$=jn($0);" "$$";
FLTD_Y0:		PP,VSTD,IM,exec "$$=y0($0);" "$$";
FLTD_Y1:		PP,VSTD,IM,exec "$$=y1($0);" "$$";
FLTD_YN:		PP,VSTD,IM,exec "$$=yn($0);" "$$";
FLTD_ERF:		PP,VSTD,IM,exec "$$=erf($0);" "$$";
FLTD_ERFC:		PP,VSTD,IM,exec "$$=erfc($0);" "$$";
FLTD_ACOSH:		PP,VSTD,IM,exec "$$=acosh($0);" "$$";
FLTD_COSH:		PP,VSTD,IM,exec "$$=cosh($0);" "$$";
FLTD_SINH:		PP,VSTD,IM,exec "$$=sinh($0);" "$$";
FLTD_TANH:		PP,VSTD,IM,exec "$$=tanh($0);" "$$";
FLTD_ASINH:		PP,VSTD,IM,exec "$$=asinh($0);" "$$";
FLTD_ATANH:		PP,VSTD,IM,exec "$$=atanh($0);" "$$";
FLTD_HYPOT:		PP,VSTD,IM,exec "$$=hypot($0);" "$$";
FLTD_LGAMMA:		PP,VSTD,IM,exec "$$=lgamma($0);" "$$";

#endif
