/* localfunctions.c
 * geg, a GTK+ Equation Grapher
 * David Bryant 1998
 */

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif /* HAVE_CONFIG_H */

#include "localfunctions.h"
#include <math.h>

#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif /* M_PI */

double
l_sinc(double x)
{
  if(x == 0)
    return 1;
  else
    return(sin(M_PI * x) / (M_PI * x));
}

double
l_cbrt(double x)
{
  if(x < 0)
    return(0);
  else
    return(pow(x, (double)1 / 3));
}

double
l_u(double x)
{
  return(x >= 0);
}

double
l_acsc(double x)
{
  return(asin(1/x));
}

double
l_asec(double x)
{
  return(acos(1/x));
}

double
l_acot(double x)
{
  return(atan(1/x));
}

double
l_csc(double x)
{
  return(1/sin(x));
}

double
l_sec(double x)
{
  return(1/cos(x));
}

double
l_cot(double x)
{
  return(1/tan(x));
}


syntax highlighted by Code2HTML, v. 0.9.1