/* Steven Andrews, 3/03 */
/* See documentation called BasisFns doc */
/* Copyright 2003 by Steven Andrews.  Permission is granted
   for non-commercial use of and modifications to the code. */

#ifndef __BasisFns_h
#define __BasisFns_h

#include "BasisFn.h"

int getbasis(set bset);
float spectbasis(float x,float *param,sptr spec,float *deriv);
float constbasis(float x,float *param,sptr spec,float *deriv);
float linebasis(float x,float *param,sptr spec,float *deriv);
float expbasis(float x,float *param,sptr spec,float *deriv);
float logbasis(float x,float *param,sptr spec,float *deriv);
float quadbasis(float x,float *param,sptr spec,float *deriv);
float asinhbasis(float x,float *param,sptr spec,float *deriv);
float gaussbasis(float x,float *param,sptr spec,float *deriv);
float xgaussbasis(float x,float *param,sptr spec,float *deriv);
float sinbasis(float x,float *param,sptr spec,float *deriv);
float lorentzbasis(float x,float *param,sptr spec,float *deriv);
float peakbasis(float x,float *param,sptr spec,float *deriv);
float peak1basis(float x,float *param,sptr spec,float *deriv);
float peak2basis(float x,float *param,sptr spec,float *deriv);
float peakzbasis(float x,float *param,sptr spec,float *deriv);
float diffusebasis(float x,float *param,sptr spec,float *deriv);
float diffuse2basis(float x,float *param,sptr spec,float *deriv);
float convexpbasis(float x,float *param,sptr spec,float *deriv);
float rationbasis(float x,float *param,sptr spec,float *deriv);
float sigmoidbasis(float x,float *param,sptr spec,float *deriv);
float hillbasis(float x,float *param,sptr spec,float *deriv);
float linesbasis(float x,float *param,sptr spec,float *deriv);

#endif