/* defining no_y_trans before including this file disables the 
   automatic translation from sin to ysin etc.
*/



/*
    Copyright (C) 1993  Claus Vohwinkel

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License , or
    (at your option) any later version.

    This program 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 the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; see the file COPYING.  If not, write to
    the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
*/

#pragma force_top_level
#pragma include_only_once
#ifndef __math_h
#include <math.h>
#endif

#ifndef __ymath_h
#define __ymath_h
#pragma no_side_effects

#ifdef atan
#undef atan
#undef sin
#undef cos
#endif

extern double yacos(double);
extern double yasin(double);
extern double yatan2(double,double);
extern double yatan(double);
extern double ysqrt(double);
extern double ycosh(double);
extern double ysinh(double);
extern double ytanh(double);
extern double ypow(double,double);
extern double yexp(double);
extern double ylog10(double);
extern double ylog(double);
extern double ycos(double);
extern double ysin(double);
extern double ytan(double);
extern double ymodf(double,double*);
extern double yfmod(double,double);
extern double yceil(double);
extern double yfloor(double);
extern double exm1(double);
/* calculates exp(x)-1 */
extern double twotox(double);
/* calculates 2**x     */
#pragma side_effects

#ifndef  no_y_trans
#define acos(arg1) yacos(arg1)
#define asin(arg1) yasin(arg1)
#define atan2(arg1,arg2) yatan2(arg1,arg2)
#define atan(arg1) yatan(arg1)
#define sqrt(arg1) ysqrt(arg1)
#define cosh(arg1) ycosh(arg1)
#define sinh(arg1) ysinh(arg1)
#define tanh(arg1) ytanh(arg1)
#define pow(arg1,arg2) ypow(arg1,arg2)
#define exp(arg1) yexp(arg1)
#define log10(arg1) ylog10(arg1)
#define log(arg1) ylog(arg1)
#define cos(arg1) ycos(arg1)
#define sin(arg1) ysin(arg1)
#define tan(arg1) ytan(arg1)
#define modf(arg1,arg2) ymodf(arg1,arg2)
#define fmod(arg1,arg2) yfmod(arg1,arg2)
#define ceil(arg1) yceil(arg1)
#define floor(arg1) yfloor(arg1)
#endif
#endif
