Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

parser.h

Go to the documentation of this file.
00001 /*LabPlot : parser.h*/
00002 #ifndef PARSER_H
00003 #define PARSER_H
00004 
00005 #include <ctype.h>
00006 #include <stdio.h>
00007 #include <stdlib.h>
00008 #include <string.h>
00009 #include <math.h>
00010 #ifdef HAVE_GSL
00011 #include <gsl/gsl_math.h>
00012 #include <gsl/gsl_sf.h>
00013 #include <gsl/gsl_randist.h>
00014 #include <gsl/gsl_const_num.h>
00015 
00016 #ifdef HAVE_NEWGSL
00017 #include <gsl/gsl_const_mksa.h>
00018 #include <gsl/gsl_const_cgsm.h>
00019 #else
00020 #include <gsl/gsl_const_mks.h>
00021 #include <gsl/gsl_const_cgs.h>
00022 #endif
00023 
00024 #endif
00025 
00026 #include "../cephes/cephes.h"
00027 
00028 /* Functions type.                                   */
00029 #ifdef USE_SOLARIS 
00030 typedef double (*func_t) (double);
00031 #else
00032 typedef double (*func_t) ();
00033 #endif
00034 
00035 /* Data type for links in the chain of symbols.      */
00036 struct symrec {
00037         char *name;  /* name of symbol                     */
00038         int type;    /* type of symbol: either VAR or FNCT */
00039         union {
00040                 double var;                  /* value of a VAR   */
00041                 int intvar;
00042                 func_t fnctptr;              /* value of a FNCT  */
00043         } value;
00044         struct symrec *next;    /* link field              */
00045 };
00046 
00047 typedef struct symrec symrec;
00048 
00049 symrec *putsym (const char *,int  func_t);
00050 symrec *getsym (const char *);
00051 void init_table(void);
00052 int yyerror (const char*);
00053 int yylex ();
00054 
00055 double res;
00056 int pos;
00057 char string[500];
00058  
00059 struct init {
00060         char *fname;
00061 #ifdef USE_SOLARIS 
00062         double (*fnct)(double);
00063 #else
00064         double (*fnct)();
00065 #endif
00066 };
00067 
00068 struct con {
00069         char *name;
00070         double value;
00071 };
00072 
00073 /* redefine functions to use double parameter*/
00074 double my_fac(double i) {
00075         return fac((int)i);
00076 }
00077 
00078 double my_fdtr(double df1, double df2, double x) {
00079         return fdtr((int)df1, (int)df2, x);
00080 }
00081 
00082 double my_fdtrc(double df1, double df2, double x) {
00083         return fdtrc((int)df1, (int)df2, x);
00084 }
00085 
00086 double my_fdtri(double df1, double df2, double p) {
00087         return fdtri((int)df1, (int)df2, p);
00088 }
00089 
00090 double my_jn(double n, double x) {
00091         return jn((int)n,x);
00092 }
00093 
00094 double my_kn(double n, double x) {
00095         return kn((int)n,x);
00096 }
00097 
00098 double my_ldexp(double x, double exp) {
00099         return ldexp(x,(int)exp);
00100 }
00101 
00102 double my_pdtr(double k, double m) {
00103         return pdtr((int)k,m);
00104 }
00105 
00106 double my_pdtrc(double k, double m) {
00107         return pdtrc((int)k,m);
00108 }
00109 
00110 double my_pdtri(double k, double y) {
00111         return pdtr((int)k,y);
00112 }
00113 
00114 double my_stdtr(double k, double t) {
00115         return stdtr((short)k, t);
00116 }
00117 
00118 double my_stdtri(double k, double p) {
00119         return stdtri((short)k,p);
00120 }
00121 
00122 double my_yn(double n,double x) {
00123         return yn((int)n,x);
00124 }
00125 
00126 /* wrapper for GSL functions with integer parameters*/
00127 #ifdef HAVE_GSL
00128 #define MODE GSL_PREC_DOUBLE
00129 /* airy functions*/
00130 double airy_Ai(double x) { return gsl_sf_airy_Ai(x,MODE); }
00131 double airy_Bi(double x) { return gsl_sf_airy_Bi(x,MODE); }
00132 double airy_Ais(double x) { return gsl_sf_airy_Ai_scaled(x,MODE); }
00133 double airy_Bis(double x) { return gsl_sf_airy_Bi_scaled(x,MODE); }
00134 double airy_Aid(double x) { return gsl_sf_airy_Ai_deriv(x,MODE); }
00135 double airy_Bid(double x) { return gsl_sf_airy_Bi_deriv(x,MODE); }
00136 double airy_Aids(double x) { return gsl_sf_airy_Ai_deriv_scaled(x,MODE); }
00137 double airy_Bids(double x) { return gsl_sf_airy_Bi_deriv_scaled(x,MODE); }
00138 double airy_0_Ai(double s) { return gsl_sf_airy_zero_Ai((unsigned int)s); }
00139 double airy_0_Bi(double s) { return gsl_sf_airy_zero_Bi((unsigned int)s); }
00140 double airy_0_Aid(double s) { return gsl_sf_airy_zero_Ai_deriv((unsigned int)s); }
00141 double airy_0_Bid(double s) { return gsl_sf_airy_zero_Bi_deriv((unsigned int)s); }
00142 /* bessel functions */
00143 double bessel_Jn(double n,double x) { return gsl_sf_bessel_Jn((int)n,x); }
00144 double bessel_Yn(double n,double x) { return gsl_sf_bessel_Yn((int)n,x); }
00145 double bessel_In(double n,double x) { return gsl_sf_bessel_In((int)n,x); }
00146 double bessel_Ins(double n,double x) { return gsl_sf_bessel_In_scaled((int)n,x); }
00147 double bessel_Kn(double n,double x) { return gsl_sf_bessel_Kn((int)n,x); }
00148 double bessel_Kns(double n,double x) { return gsl_sf_bessel_Kn_scaled((int)n,x); }
00149 double bessel_jl(double l,double x) { return gsl_sf_bessel_jl((int)l,x); }
00150 double bessel_yl(double l,double x) { return gsl_sf_bessel_yl((int)l,x); }
00151 double bessel_ils(double l,double x) { return gsl_sf_bessel_il_scaled((int)l,x); }
00152 double bessel_kls(double l,double x) { return gsl_sf_bessel_kl_scaled((int)l,x); }
00153 double bessel_0_J0(double s) { return gsl_sf_bessel_zero_J0((unsigned int)s); }
00154 double bessel_0_J1(double s) { return gsl_sf_bessel_zero_J1((unsigned int)s); }
00155 double bessel_0_Jnu(double nu,double s) { return gsl_sf_bessel_zero_Jnu(nu,(unsigned int)s); }
00156 
00157 double hydrogenicR(double n, double l, double z, double r) { return gsl_sf_hydrogenicR((int)n,(int)l,z,r); } 
00158 /* elliptic integrals */
00159 double ellint_Kc(double x) { return gsl_sf_ellint_Kcomp(x,MODE); }
00160 double ellint_Ec(double x) { return gsl_sf_ellint_Ecomp(x,MODE); }
00161 double ellint_F(double phi,double k) { return gsl_sf_ellint_F(phi,k,MODE); }
00162 double ellint_E(double phi,double k) { return gsl_sf_ellint_E(phi,k,MODE); }
00163 double ellint_P(double phi,double k,double n) { return gsl_sf_ellint_P(phi,k,n,MODE); }
00164 double ellint_D(double phi,double k,double n) { return gsl_sf_ellint_D(phi,k,n,MODE); }
00165 double ellint_RC(double x,double y) { return gsl_sf_ellint_RC(x,y,MODE); }
00166 double ellint_RD(double x,double y,double z) { return gsl_sf_ellint_RD(x,y,z,MODE); }
00167 double ellint_RF(double x,double y,double z) { return gsl_sf_ellint_RF(x,y,z,MODE); }
00168 double ellint_RJ(double x,double y,double z, double p) { return gsl_sf_ellint_RJ(x,y,z,p,MODE); }
00169 
00170 double exprel_n(double n,double x) { return gsl_sf_exprel_n((int)n,x); }
00171 double fermi_dirac_int(double j,double x) { return gsl_sf_fermi_dirac_int((int)j,x); }
00172 /* gamma*/
00173 double taylorcoeff(double n,double x) { return gsl_sf_taylorcoeff((int)n,x); }
00174 double fact(double n) { return gsl_sf_fact((unsigned int)n); }
00175 double doublefact(double n) { return gsl_sf_doublefact((unsigned int)n); }
00176 double lnfact(double n) { return gsl_sf_lnfact((unsigned int)n); }
00177 double lndoublefact(double n) { return gsl_sf_lndoublefact((unsigned int)n); }
00178 double choose(double n,double m) { return gsl_sf_choose((unsigned int)n,(unsigned int)m); }
00179 double lnchoose(double n,double m) { return gsl_sf_lnchoose((unsigned int)n,(unsigned int)m); }
00180 
00181 double gegenpoly_n(double n,double l,double x) { return gsl_sf_gegenpoly_n((int)n,l,x); }
00182 double hyperg_1F1i(double m,double n,double x) { return gsl_sf_hyperg_1F1_int((int)m,(int)n,x); }
00183 double hyperg_Ui(double m,double n,double x) { return gsl_sf_hyperg_U_int((int)m,(int)n,x); }
00184 double laguerre_n(double n,double a,double x) { return gsl_sf_laguerre_n((int)n,a,x); }
00185 
00186 double legendre_Pl(double l,double x) { return gsl_sf_legendre_Pl((int)l,x); }
00187 double legendre_Ql(double l,double x) { return gsl_sf_legendre_Ql((int)l,x); }
00188 double legendre_Plm(double l,double m,double x) { return gsl_sf_legendre_Plm((int)l,(int)m,x); }
00189 double legendre_sphPlm(double l,double m,double x) { return gsl_sf_legendre_sphPlm((int)l,(int)m,x); }
00190 double conicalP_sphreg(double l,double L,double x) { return gsl_sf_conicalP_sph_reg((int)l,L,x); }
00191 double conicalP_cylreg(double m,double l,double x) { return gsl_sf_conicalP_sph_reg((int)m,l,x); }
00192 double legendre_H3d(double l, double L,double e) { return gsl_sf_legendre_H3d((int)l,L,e); }
00193 
00194 double gsl_pow(double x, double n) { return gsl_sf_pow_int(x,(int)n); }
00195 double psii(double n) { return gsl_sf_psi_int((int)n); }
00196 double psi1i(double n) { return gsl_sf_psi_1_int((int)n); }
00197 double psi_n(double m, double x) { return gsl_sf_psi_n((int)m,x); }
00198 
00199 double zetai(double n) { return gsl_sf_zeta_int((int)n); }
00200 double etai(double n) { return gsl_sf_eta_int((int)n); }
00201 
00202 /* random number distributions */
00203 double poisson(double k, double m) { return gsl_ran_poisson_pdf((unsigned int)k,m); }
00204 double bernoulli(double k, double p) { return gsl_ran_bernoulli_pdf((unsigned int)k,p); }
00205 double binomial(double k, double p,double n) { return gsl_ran_binomial_pdf((unsigned int)k,p,(unsigned int)n); }
00206 double negative_binomial(double k, double p,double n) { return gsl_ran_negative_binomial_pdf((unsigned int)k,p,n); }
00207 double pascal(double k, double p,double n) { return gsl_ran_pascal_pdf((unsigned int)k,p,(unsigned int)n); }
00208 double geometric(double k, double p) { return gsl_ran_geometric_pdf((unsigned int)k,p); }
00209 double hypergeometric(double k, double n1,double n2,double t) { 
00210         return gsl_ran_hypergeometric_pdf((unsigned int)k,(unsigned int)n1,(unsigned int)n2,(unsigned int)t); 
00211 }
00212 double logarithmic(double k, double p) { return gsl_ran_logarithmic_pdf((unsigned int)k,p); }
00213 
00214 #endif
00215 
00216 struct con constants[] = {
00217         {"PI1",M_1_PI},
00218         {"PI2",M_2_PI},
00219         {"PISQRT2",M_2_SQRTPI},
00220         {"E",M_E},
00221         {"LN2",M_LN2},
00222         {"LN10",M_LN10},
00223         {"LOG2E",M_LOG2E},
00224         {"LOG10E",M_LOG10E},
00225         {"PI",M_PI},
00226         {"PI_2",M_PI_2},
00227         {"PI_4",M_PI_4},
00228         {"SQRT2",M_SQRT2},
00229         {"SQRT1_2",M_SQRT1_2},
00230 #ifdef HAVE_GSL
00231 #ifdef HAVE_NEWGSL
00232         {"c",GSL_CONST_MKSA_SPEED_OF_LIGHT},
00233         {"mu0",GSL_CONST_MKSA_VACUUM_PERMEABILITY},
00234         {"e0",GSL_CONST_MKSA_VACUUM_PERMITTIVITY},
00235         {"Na",GSL_CONST_NUM_AVOGADRO},
00236         {"F",GSL_CONST_MKSA_FARADAY},
00237         {"k",GSL_CONST_MKSA_BOLTZMANN},
00238         {"R0",GSL_CONST_MKSA_MOLAR_GAS},
00239         {"V0",GSL_CONST_MKSA_STANDARD_GAS_VOLUME},
00240         {"Gauss",GSL_CONST_MKSA_GAUSS},
00241         {"mu",GSL_CONST_MKSA_MICRON},
00242         {"ha",GSL_CONST_MKSA_HECTARE},
00243         {"mph",GSL_CONST_MKSA_MILES_PER_HOUR},
00244         {"kmh",GSL_CONST_MKSA_KILOMETERS_PER_HOUR},
00245         {"au",GSL_CONST_MKSA_ASTRONOMICAL_UNIT},
00246         {"G",GSL_CONST_MKSA_GRAVITATIONAL_CONSTANT},
00247         {"ly",GSL_CONST_MKSA_LIGHT_YEAR},
00248         {"pc",GSL_CONST_MKSA_PARSEC},
00249         {"g",GSL_CONST_MKSA_GRAV_ACCEL},
00250         {"ms",GSL_CONST_MKSA_SOLAR_MASS},
00251         {"e",GSL_CONST_MKSA_ELECTRON_CHARGE},
00252         {"eV",GSL_CONST_MKSA_ELECTRON_VOLT},
00253         {"amu",GSL_CONST_MKSA_UNIFIED_ATOMIC_MASS},
00254         {"me",GSL_CONST_MKSA_MASS_ELECTRON},
00255         {"mmu",GSL_CONST_MKSA_MASS_MUON},
00256         {"mp",GSL_CONST_MKSA_MASS_PROTON},
00257         {"mn",GSL_CONST_MKSA_MASS_NEUTRON},
00258         {"alpha",GSL_CONST_NUM_FINE_STRUCTURE},
00259         {"Ry",GSL_CONST_MKSA_RYDBERG},
00260         {"a0",GSL_CONST_MKSA_BOHR_RADIUS},
00261         {"A",GSL_CONST_MKSA_ANGSTROM},
00262         {"barn",GSL_CONST_MKSA_BARN},
00263         {"muB",GSL_CONST_MKSA_BOHR_MAGNETON},
00264         {"muN",GSL_CONST_MKSA_NUCLEAR_MAGNETON},
00265         {"mue",GSL_CONST_MKSA_ELECTRON_MAGNETIC_MOMENT},
00266         {"mup",GSL_CONST_MKSA_PROTON_MAGNETIC_MOMENT},
00267         {"min",GSL_CONST_MKSA_MINUTE},
00268         {"h",GSL_CONST_MKSA_HOUR},
00269         {"d",GSL_CONST_MKSA_DAY},
00270         {"week",GSL_CONST_MKSA_WEEK},
00271         {"in",GSL_CONST_MKSA_INCH},
00272         {"ft",GSL_CONST_MKSA_FOOT},
00273         {"yard",GSL_CONST_MKSA_YARD},
00274         {"mile",GSL_CONST_MKSA_MILE},
00275         {"mil",GSL_CONST_MKSA_MIL},
00276         {"nmile",GSL_CONST_MKSA_NAUTICAL_MILE},
00277         {"fathom",GSL_CONST_MKSA_FATHOM},
00278         {"knot",GSL_CONST_MKSA_KNOT},
00279         {"pt",GSL_CONST_MKSA_POINT},
00280         {"texpt",GSL_CONST_MKSA_TEXPOINT},
00281         {"acre",GSL_CONST_MKSA_ACRE},
00282         {"ltr",GSL_CONST_MKSA_LITER},
00283         {"us_gallon",GSL_CONST_MKSA_US_GALLON},
00284         {"can_gallon",GSL_CONST_MKSA_CANADIAN_GALLON},
00285         {"uk_gallon",GSL_CONST_MKSA_UK_GALLON},
00286         {"quart",GSL_CONST_MKSA_QUART},
00287         {"pint",GSL_CONST_MKSA_PINT},
00288         {"pound",GSL_CONST_MKSA_POUND_MASS},
00289         {"ounce",GSL_CONST_MKSA_OUNCE_MASS},
00290         {"ton",GSL_CONST_MKSA_TON},
00291         {"mton",GSL_CONST_MKSA_METRIC_TON},
00292         {"uk_ton",GSL_CONST_MKSA_UK_TON},
00293         {"troy_ounce",GSL_CONST_MKSA_TROY_OUNCE},
00294         {"carat",GSL_CONST_MKSA_CARAT},
00295         {"gram_force",GSL_CONST_MKSA_GRAM_FORCE},
00296         {"pound_force",GSL_CONST_MKSA_POUND_FORCE},
00297         {"kilepound_force",GSL_CONST_MKSA_KILOPOUND_FORCE},
00298         {"poundal",GSL_CONST_MKSA_POUNDAL},
00299         {"cal",GSL_CONST_MKSA_CALORIE},
00300         {"btu",GSL_CONST_MKSA_BTU},
00301         {"therm",GSL_CONST_MKSA_THERM},
00302         {"hp",GSL_CONST_MKSA_HORSEPOWER},
00303         {"bar",GSL_CONST_MKSA_BAR},
00304         {"atm",GSL_CONST_MKSA_STD_ATMOSPHERE},
00305         {"torr",GSL_CONST_MKSA_TORR},
00306         {"mhg",GSL_CONST_MKSA_METER_OF_MERCURY},
00307         {"inhg",GSL_CONST_MKSA_INCH_OF_MERCURY},
00308         {"inh2o",GSL_CONST_MKSA_INCH_OF_WATER},
00309         {"psi",GSL_CONST_MKSA_PSI},
00310         {"poise",GSL_CONST_MKSA_POISE},
00311         {"stokes",GSL_CONST_MKSA_STOKES},
00312         {"stilb",GSL_CONST_MKSA_STILB},
00313         {"lumen",GSL_CONST_MKSA_LUMEN},
00314         {"lux",GSL_CONST_MKSA_LUX},
00315         {"phot",GSL_CONST_MKSA_PHOT},
00316         {"ftcandle",GSL_CONST_MKSA_FOOTCANDLE},
00317         {"lambert",GSL_CONST_MKSA_LAMBERT},
00318         {"ftlambert",GSL_CONST_MKSA_FOOTLAMBERT},
00319         {"curie",GSL_CONST_MKSA_CURIE},
00320         {"roentgen",GSL_CONST_MKSA_ROENTGEN},
00321         {"rad",GSL_CONST_MKSA_RAD},
00322         {"c_cgs",GSL_CONST_CGSM_SPEED_OF_LIGHT},
00323         {"G_cgs",GSL_CONST_CGSM_GRAVITATIONAL_CONSTANT},
00324         {"h_cgs",GSL_CONST_CGSM_PLANCKS_CONSTANT_H},
00325         {"hbar_cgs",GSL_CONST_CGSM_PLANCKS_CONSTANT_HBAR},
00326         {"au_cgs",GSL_CONST_CGSM_ASTRONOMICAL_UNIT},
00327         {"ly_cgs",GSL_CONST_CGSM_LIGHT_YEAR},
00328         {"pc_cgs",GSL_CONST_CGSM_PARSEC},
00329         {"g_cgs",GSL_CONST_CGSM_GRAV_ACCEL},
00330         {"eV_cgs",GSL_CONST_CGSM_ELECTRON_VOLT},
00331         {"me_cgs",GSL_CONST_CGSM_MASS_ELECTRON},
00332         {"mmu_cgs",GSL_CONST_CGSM_MASS_MUON},
00333         {"mp_cgs",GSL_CONST_CGSM_MASS_PROTON},
00334         {"mn_cgs",GSL_CONST_CGSM_MASS_NEUTRON},
00335         {"Ry_cgs",GSL_CONST_CGSM_RYDBERG},
00336         {"k_cgs",GSL_CONST_CGSM_BOLTZMANN},
00337         {"muB_cgs",GSL_CONST_CGSM_BOHR_MAGNETON},
00338         {"muN_cgs",GSL_CONST_CGSM_NUCLEAR_MAGNETON},
00339         {"mue_cgs",GSL_CONST_CGSM_ELECTRON_MAGNETIC_MOMENT},
00340         {"mup_cgs",GSL_CONST_CGSM_PROTON_MAGNETIC_MOMENT},
00341         {"R0_cgs",GSL_CONST_CGSM_MOLAR_GAS},
00342         {"V0_cgs",GSL_CONST_CGSM_STANDARD_GAS_VOLUME},
00343         {"in_cgs",GSL_CONST_CGSM_INCH},
00344         {"ft_cgs",GSL_CONST_CGSM_FOOT},
00345         {"yard_cgs",GSL_CONST_CGSM_YARD},
00346         {"mile_cgs",GSL_CONST_CGSM_MILE},
00347         {"nile_cgs",GSL_CONST_CGSM_NAUTICAL_MILE},
00348         {"fathom_cgs",GSL_CONST_CGSM_FATHOM},
00349         {"mil_cgs",GSL_CONST_CGSM_MIL},
00350         {"pt_cgs",GSL_CONST_CGSM_POINT},
00351         {"texpt_cgs",GSL_CONST_CGSM_TEXPOINT},
00352         {"mu_cgs",GSL_CONST_CGSM_MICRON},
00353         {"A_cgs",GSL_CONST_CGSM_ANGSTROM},
00354         {"ha_cgs",GSL_CONST_CGSM_HECTARE},
00355         {"acre_cgs",GSL_CONST_CGSM_ACRE},
00356         {"barn_cgs",GSL_CONST_CGSM_BARN},
00357         {"ltr_cgs",GSL_CONST_CGSM_LITER},
00358         {"us_gallon-cgs",GSL_CONST_CGSM_US_GALLON},
00359         {"quart_cgs",GSL_CONST_CGSM_QUART},
00360         {"pint_cgs",GSL_CONST_CGSM_PINT},
00361         {"cup_cgs",GSL_CONST_CGSM_CUP},
00362         {"fluid_ouncs_cgs",GSL_CONST_CGSM_FLUID_OUNCE},
00363         {"tablespoon_cgs",GSL_CONST_CGSM_TABLESPOON},
00364         {"teaspoon_cgs",GSL_CONST_CGSM_TEASPOON},
00365         {"can_gallon_cgs",GSL_CONST_CGSM_CANADIAN_GALLON},
00366         {"uk_gallon_cgs",GSL_CONST_CGSM_UK_GALLON},
00367         {"mph_cgs",GSL_CONST_CGSM_MILES_PER_HOUR},
00368         {"kmh_cgs",GSL_CONST_CGSM_KILOMETERS_PER_HOUR},
00369         {"knot_cgs",GSL_CONST_CGSM_KNOT},
00370         {"pound_cgs",GSL_CONST_CGSM_POUND_MASS},
00371         {"ouncs_cgs",GSL_CONST_CGSM_OUNCE_MASS},
00372         {"ton_cgs",GSL_CONST_CGSM_TON},
00373         {"mton_cgs",GSL_CONST_CGSM_METRIC_TON},
00374         {"uk_ton_cgs",GSL_CONST_CGSM_UK_TON},
00375         {"troy_ounce_cgs",GSL_CONST_CGSM_TROY_OUNCE},
00376         {"carat_cgs",GSL_CONST_CGSM_CARAT},
00377         {"amu_cgs",GSL_CONST_CGSM_UNIFIED_ATOMIC_MASS},
00378         {"gram_cgs",GSL_CONST_CGSM_GRAM_FORCE},
00379         {"pound_force_cgs",GSL_CONST_CGSM_POUND_FORCE},
00380         {"kilopound_force_cgs",GSL_CONST_CGSM_KILOPOUND_FORCE},
00381         {"poundal_cgs",GSL_CONST_CGSM_POUNDAL},
00382         {"cal_cgs",GSL_CONST_CGSM_CALORIE},
00383         {"btu_cgs",GSL_CONST_CGSM_BTU},
00384         {"therm_cgs",GSL_CONST_CGSM_THERM},
00385         {"hp_cgs",GSL_CONST_CGSM_HORSEPOWER},
00386         {"bar_cgs",GSL_CONST_CGSM_BAR},
00387         {"atm_cgs",GSL_CONST_CGSM_STD_ATMOSPHERE},
00388         {"torr_cgs",GSL_CONST_CGSM_TORR},
00389         {"mhg_cgs",GSL_CONST_CGSM_METER_OF_MERCURY},
00390         {"inhg_cgs",GSL_CONST_CGSM_INCH_OF_MERCURY},
00391         {"inh2o_cgs",GSL_CONST_CGSM_INCH_OF_WATER},
00392         {"psi_cgs",GSL_CONST_CGSM_PSI},
00393         {"poise_cgs",GSL_CONST_CGSM_POISE},
00394         {"stokes_cgs",GSL_CONST_CGSM_STOKES},
00395         {"F_cgs",GSL_CONST_CGSM_FARADAY},
00396         {"e_cgs",GSL_CONST_CGSM_ELECTRON_CHARGE},
00397         {"G_cgs",GSL_CONST_CGSM_GAUSS},
00398         {"stilb_cgs",GSL_CONST_CGSM_STILB},
00399         {"lumen_cgs",GSL_CONST_CGSM_LUMEN},
00400         {"lux_cgs",GSL_CONST_CGSM_LUX},
00401         {"phot_cgs",GSL_CONST_CGSM_PHOT},
00402         {"ftcandle_cgs",GSL_CONST_CGSM_FOOTCANDLE},
00403         {"lambert_cgs",GSL_CONST_CGSM_LAMBERT},
00404         {"ftlambert_cgs",GSL_CONST_CGSM_FOOTLAMBERT},
00405         {"curie_cgs",GSL_CONST_CGSM_CURIE},
00406         {"roentgen_cgs",GSL_CONST_CGSM_ROENTGEN},
00407         {"rad_cgs",GSL_CONST_CGSM_RAD},
00408         {"sm_cgs",GSL_CONST_CGSM_SOLAR_MASS},
00409         {"a0_cgs",GSL_CONST_CGSM_BOHR_RADIUS},
00410 #else
00411         {"c",GSL_CONST_MKS_SPEED_OF_LIGHT},
00412         {"mu0",GSL_CONST_MKS_VACUUM_PERMEABILITY},
00413         {"e0",GSL_CONST_MKS_VACUUM_PERMITTIVITY},
00414         {"Na",GSL_CONST_NUM_AVOGADRO},
00415         {"F",GSL_CONST_MKS_FARADAY},
00416         {"k",GSL_CONST_MKS_BOLTZMANN},
00417         {"R0",GSL_CONST_MKS_MOLAR_GAS},
00418         {"V0",GSL_CONST_MKS_STANDARD_GAS_VOLUME},
00419         {"Gauss",GSL_CONST_MKS_GAUSS},
00420         {"mu",GSL_CONST_MKS_MICRON},
00421         {"ha",GSL_CONST_MKS_HECTARE},
00422         {"mph",GSL_CONST_MKS_MILES_PER_HOUR},
00423         {"kmh",GSL_CONST_MKS_KILOMETERS_PER_HOUR},
00424         {"au",GSL_CONST_MKS_ASTRONOMICAL_UNIT},
00425         {"G",GSL_CONST_MKS_GRAVITATIONAL_CONSTANT},
00426         {"ly",GSL_CONST_MKS_LIGHT_YEAR},
00427         {"pc",GSL_CONST_MKS_PARSEC},
00428         {"g",GSL_CONST_MKS_GRAV_ACCEL},
00429         {"ms",GSL_CONST_MKS_SOLAR_MASS},
00430         {"e",GSL_CONST_MKS_ELECTRON_CHARGE},
00431         {"eV",GSL_CONST_MKS_ELECTRON_VOLT},
00432         {"amu",GSL_CONST_MKS_UNIFIED_ATOMIC_MASS},
00433         {"me",GSL_CONST_MKS_MASS_ELECTRON},
00434         {"mmu",GSL_CONST_MKS_MASS_MUON},
00435         {"mp",GSL_CONST_MKS_MASS_PROTON},
00436         {"mn",GSL_CONST_MKS_MASS_NEUTRON},
00437         {"alpha",GSL_CONST_NUM_FINE_STRUCTURE},
00438         {"Ry",GSL_CONST_MKS_RYDBERG},
00439         {"a0",GSL_CONST_MKS_BOHR_RADIUS},
00440         {"A",GSL_CONST_MKS_ANGSTROM},
00441         {"barn",GSL_CONST_MKS_BARN},
00442         {"muB",GSL_CONST_MKS_BOHR_MAGNETON},
00443         {"muN",GSL_CONST_MKS_NUCLEAR_MAGNETON},
00444         {"mue",GSL_CONST_MKS_ELECTRON_MAGNETIC_MOMENT},
00445         {"mup",GSL_CONST_MKS_PROTON_MAGNETIC_MOMENT},
00446         {"min",GSL_CONST_MKS_MINUTE},
00447         {"h",GSL_CONST_MKS_HOUR},
00448         {"d",GSL_CONST_MKS_DAY},
00449         {"week",GSL_CONST_MKS_WEEK},
00450         {"in",GSL_CONST_MKS_INCH},
00451         {"ft",GSL_CONST_MKS_FOOT},
00452         {"yard",GSL_CONST_MKS_YARD},
00453         {"mile",GSL_CONST_MKS_MILE},
00454         {"mil",GSL_CONST_MKS_MIL},
00455         {"nmile",GSL_CONST_MKS_NAUTICAL_MILE},
00456         {"fathom",GSL_CONST_MKS_FATHOM},
00457         {"knot",GSL_CONST_MKS_KNOT},
00458         {"pt",GSL_CONST_MKS_POINT},
00459         {"texpt",GSL_CONST_MKS_TEXPOINT},
00460         {"acre",GSL_CONST_MKS_ACRE},
00461         {"ltr",GSL_CONST_MKS_LITER},
00462         {"us_gallon",GSL_CONST_MKS_US_GALLON},
00463         {"can_gallon",GSL_CONST_MKS_CANADIAN_GALLON},
00464         {"uk_gallon",GSL_CONST_MKS_UK_GALLON},
00465         {"quart",GSL_CONST_MKS_QUART},
00466         {"pint",GSL_CONST_MKS_PINT},
00467         {"pound",GSL_CONST_MKS_POUND_MASS},
00468         {"ounce",GSL_CONST_MKS_OUNCE_MASS},
00469         {"ton",GSL_CONST_MKS_TON},
00470         {"mton",GSL_CONST_MKS_METRIC_TON},
00471         {"uk_ton",GSL_CONST_MKS_UK_TON},
00472         {"troy_ounce",GSL_CONST_MKS_TROY_OUNCE},
00473         {"carat",GSL_CONST_MKS_CARAT},
00474         {"gram_force",GSL_CONST_MKS_GRAM_FORCE},
00475         {"pound_force",GSL_CONST_MKS_POUND_FORCE},
00476         {"kilepound_force",GSL_CONST_MKS_KILOPOUND_FORCE},
00477         {"poundal",GSL_CONST_MKS_POUNDAL},
00478         {"cal",GSL_CONST_MKS_CALORIE},
00479         {"btu",GSL_CONST_MKS_BTU},
00480         {"therm",GSL_CONST_MKS_THERM},
00481         {"hp",GSL_CONST_MKS_HORSEPOWER},
00482         {"bar",GSL_CONST_MKS_BAR},
00483         {"atm",GSL_CONST_MKS_STD_ATMOSPHERE},
00484         {"torr",GSL_CONST_MKS_TORR},
00485         {"mhg",GSL_CONST_MKS_METER_OF_MERCURY},
00486         {"inhg",GSL_CONST_MKS_INCH_OF_MERCURY},
00487         {"inh2o",GSL_CONST_MKS_INCH_OF_WATER},
00488         {"psi",GSL_CONST_MKS_PSI},
00489         {"poise",GSL_CONST_MKS_POISE},
00490         {"stokes",GSL_CONST_MKS_STOKES},
00491         {"stilb",GSL_CONST_MKS_STILB},
00492         {"lumen",GSL_CONST_MKS_LUMEN},
00493         {"lux",GSL_CONST_MKS_LUX},
00494         {"phot",GSL_CONST_MKS_PHOT},
00495         {"ftcandle",GSL_CONST_MKS_FOOTCANDLE},
00496         {"lambert",GSL_CONST_MKS_LAMBERT},
00497         {"ftlambert",GSL_CONST_MKS_FOOTLAMBERT},
00498         {"curie",GSL_CONST_MKS_CURIE},
00499         {"roentgen",GSL_CONST_MKS_ROENTGEN},
00500         {"rad",GSL_CONST_MKS_RAD},
00501         {"c_cgs",GSL_CONST_CGS_SPEED_OF_LIGHT},
00502         {"G_cgs",GSL_CONST_CGS_GRAVITATIONAL_CONSTANT},
00503         {"h_cgs",GSL_CONST_CGS_PLANCKS_CONSTANT_H},
00504         {"hbar_cgs",GSL_CONST_CGS_PLANCKS_CONSTANT_HBAR},
00505         {"mu0_cgs",GSL_CONST_CGS_VACUUM_PERMEABILITY},
00506         {"au_cgs",GSL_CONST_CGS_ASTRONOMICAL_UNIT},
00507         {"ly_cgs",GSL_CONST_CGS_LIGHT_YEAR},
00508         {"pc_cgs",GSL_CONST_CGS_PARSEC},
00509         {"g_cgs",GSL_CONST_CGS_GRAV_ACCEL},
00510         {"eV_cgs",GSL_CONST_CGS_ELECTRON_VOLT},
00511         {"me_cgs",GSL_CONST_CGS_MASS_ELECTRON},
00512         {"mmu_cgs",GSL_CONST_CGS_MASS_MUON},
00513         {"mp_cgs",GSL_CONST_CGS_MASS_PROTON},
00514         {"mn_cgs",GSL_CONST_CGS_MASS_NEUTRON},
00515         {"Ry_cgs",GSL_CONST_CGS_RYDBERG},
00516         {"k_cgs",GSL_CONST_CGS_BOLTZMANN},
00517         {"muB_cgs",GSL_CONST_CGS_BOHR_MAGNETON},
00518         {"muN_cgs",GSL_CONST_CGS_NUCLEAR_MAGNETON},
00519         {"mue_cgs",GSL_CONST_CGS_ELECTRON_MAGNETIC_MOMENT},
00520         {"mup_cgs",GSL_CONST_CGS_PROTON_MAGNETIC_MOMENT},
00521         {"R0_cgs",GSL_CONST_CGS_MOLAR_GAS},
00522         {"V0_cgs",GSL_CONST_CGS_STANDARD_GAS_VOLUME},
00523         {"in_cgs",GSL_CONST_CGS_INCH},
00524         {"ft_cgs",GSL_CONST_CGS_FOOT},
00525         {"yard_cgs",GSL_CONST_CGS_YARD},
00526         {"mile_cgs",GSL_CONST_CGS_MILE},
00527         {"nile_cgs",GSL_CONST_CGS_NAUTICAL_MILE},
00528         {"fathom_cgs",GSL_CONST_CGS_FATHOM},
00529         {"mil_cgs",GSL_CONST_CGS_MIL},
00530         {"pt_cgs",GSL_CONST_CGS_POINT},
00531         {"texpt_cgs",GSL_CONST_CGS_TEXPOINT},
00532         {"mu_cgs",GSL_CONST_CGS_MICRON},
00533         {"A_cgs",GSL_CONST_CGS_ANGSTROM},
00534         {"ha_cgs",GSL_CONST_CGS_HECTARE},
00535         {"acre_cgs",GSL_CONST_CGS_ACRE},
00536         {"barn_cgs",GSL_CONST_CGS_BARN},
00537         {"ltr_cgs",GSL_CONST_CGS_LITER},
00538         {"us_gallon-cgs",GSL_CONST_CGS_US_GALLON},
00539         {"quart_cgs",GSL_CONST_CGS_QUART},
00540         {"pint_cgs",GSL_CONST_CGS_PINT},
00541         {"cup_cgs",GSL_CONST_CGS_CUP},
00542         {"fluid_ouncs_cgs",GSL_CONST_CGS_FLUID_OUNCE},
00543         {"tablespoon_cgs",GSL_CONST_CGS_TABLESPOON},
00544         {"teaspoon_cgs",GSL_CONST_CGS_TEASPOON},
00545         {"can_gallon_cgs",GSL_CONST_CGS_CANADIAN_GALLON},
00546         {"uk_gallon_cgs",GSL_CONST_CGS_UK_GALLON},
00547         {"mph_cgs",GSL_CONST_CGS_MILES_PER_HOUR},
00548         {"kmh_cgs",GSL_CONST_CGS_KILOMETERS_PER_HOUR},
00549         {"knot_cgs",GSL_CONST_CGS_KNOT},
00550         {"pound_cgs",GSL_CONST_CGS_POUND_MASS},
00551         {"ouncs_cgs",GSL_CONST_CGS_OUNCE_MASS},
00552         {"ton_cgs",GSL_CONST_CGS_TON},
00553         {"mton_cgs",GSL_CONST_CGS_METRIC_TON},
00554         {"uk_ton_cgs",GSL_CONST_CGS_UK_TON},
00555         {"troy_ounce_cgs",GSL_CONST_CGS_TROY_OUNCE},
00556         {"carat_cgs",GSL_CONST_CGS_CARAT},
00557         {"amu_cgs",GSL_CONST_CGS_UNIFIED_ATOMIC_MASS},
00558         {"gram_cgs",GSL_CONST_CGS_GRAM_FORCE},
00559         {"pound_force_cgs",GSL_CONST_CGS_POUND_FORCE},
00560         {"kilopound_force_cgs",GSL_CONST_CGS_KILOPOUND_FORCE},
00561         {"poundal_cgs",GSL_CONST_CGS_POUNDAL},
00562         {"cal_cgs",GSL_CONST_CGS_CALORIE},
00563         {"btu_cgs",GSL_CONST_CGS_BTU},
00564         {"therm_cgs",GSL_CONST_CGS_THERM},
00565         {"hp_cgs",GSL_CONST_CGS_HORSEPOWER},
00566         {"bar_cgs",GSL_CONST_CGS_BAR},
00567         {"atm_cgs",GSL_CONST_CGS_STD_ATMOSPHERE},
00568         {"torr_cgs",GSL_CONST_CGS_TORR},
00569         {"mhg_cgs",GSL_CONST_CGS_METER_OF_MERCURY},
00570         {"inhg_cgs",GSL_CONST_CGS_INCH_OF_MERCURY},
00571         {"inh2o_cgs",GSL_CONST_CGS_INCH_OF_WATER},
00572         {"psi_cgs",GSL_CONST_CGS_PSI},
00573         {"poise_cgs",GSL_CONST_CGS_POISE},
00574         {"stokes_cgs",GSL_CONST_CGS_STOKES},
00575         {"F_cgs",GSL_CONST_CGS_FARADAY},
00576         {"e_cgs",GSL_CONST_CGS_ELECTRON_CHARGE},
00577         {"G_cgs",GSL_CONST_CGS_GAUSS},
00578         {"stilb_cgs",GSL_CONST_CGS_STILB},
00579         {"lumen_cgs",GSL_CONST_CGS_LUMEN},
00580         {"lux_cgs",GSL_CONST_CGS_LUX},
00581         {"phot_cgs",GSL_CONST_CGS_PHOT},
00582         {"ftcandle_cgs",GSL_CONST_CGS_FOOTCANDLE},
00583         {"lambert_cgs",GSL_CONST_CGS_LAMBERT},
00584         {"ftlambert_cgs",GSL_CONST_CGS_FOOTLAMBERT},
00585         {"curie_cgs",GSL_CONST_CGS_CURIE},
00586         {"roentgen_cgs",GSL_CONST_CGS_ROENTGEN},
00587         {"rad_cgs",GSL_CONST_CGS_RAD},
00588         {"sm_cgs",GSL_CONST_CGS_SOLAR_MASS},
00589         {"a0_cgs",GSL_CONST_CGS_BOHR_RADIUS},
00590         {"e0_cgs",GSL_CONST_CGS_VACUUM_PERMITTIVITY},
00591 #endif
00592 #endif
00593         {0,0}
00594 };
00595 struct init arith_fncts[] = {
00596 #ifndef USE_SOLARIS
00597   {"atan2",atan2},
00598   {"beta",beta},
00599   {"chbevl",chbevl},
00600   {"ceil",ceil},
00601   {"chdtrc",chdtrc},
00602   {"chdtr",chdtr},
00603   {"chdtri",chdtri},
00604   {"ellie",ellie},
00605   {"ellik",ellik},
00606   {"expn",expn},
00607   {"fac",my_fac},
00608   {"fdtrc",my_fdtrc},
00609   {"fdtr",my_fdtr},
00610   {"fdtri",my_fdtri},
00611   {"gdtr",gdtr},
00612   {"gdtrc",gdtrc},
00613   {"hyp2f1",hyp2f1},
00614   {"hyperg",hyperg},
00615   {"igamc",igamc},
00616   {"igam",igam},
00617   {"igami",igami},
00618   {"incbet",incbet},
00619   {"incbi",incbi},
00620   {"iv",iv},
00621   {"jn",my_jn},
00622   {"jv",jv},
00623   {"kn",my_kn},
00624   {"lbeta",lbeta},
00625   {"ldexp",my_ldexp},
00626   {"pdtrc",my_pdtrc},
00627   {"pdtr",my_pdtr},
00628   {"pdtri",my_pdtri},
00629   {"pow",pow},
00630   {"stdtr",my_stdtr},
00631   {"stdtri",my_stdtri},
00632   {"struve",struve},
00633   {"yn",my_yn},
00634   {"yv",yv},
00635   {"zeta",zeta},
00636 #endif
00637   {"acos",acos},
00638   {"acosh",acosh},
00639   {"asin",asin},
00640   {"asinh",asinh},
00641   {"atanh",atanh},
00642   {"cbrt",cbrt},
00643   {"cos", cos},
00644   {"cosh",cosh},
00645   {"cosm1",cosm1},
00646   {"dawsn",dawsn},
00647   {"ellpe",ellpe},
00648   {"ellpk",ellpk},
00649   {"erf",erf},
00650   {"erfc",erfc},
00651   {"exp", exp},
00652   {"expm1",expm1},
00653   {"fabs",fabs},
00654 /*  {"fresnl",fresnl},*/
00655   {"i0",i0},
00656   {"i0e",i0e},
00657   {"i1",i1},
00658   {"i1e",i1e},
00659 /*  {"ilogb",ilogb},*/
00660   {"j0",j0},
00661   {"j1",j1},
00662   {"k0",k0},
00663   {"k0e",k0e},
00664   {"k1",k1},
00665   {"k1e",k1e},
00666   {"ln", log},
00667   {"log",log10},
00668   {"logb",logb},
00669   {"log1p",log1p},
00670 /*  {"mtherr",mtherr},*/
00671   {"ndtr",ndtr},
00672   {"ndtri",ndtri},
00673   {"psi",psi},
00674 /*  {"revers",revers},*/
00675   {"rgamma",rgamma},
00676   {"rint",rint},
00677 /*  {"round",round},*/
00678 /*  {"shichi",shichi},*/
00679 /*  {"sici",sici},*/
00680   {"sin", sin},
00681   {"sinh",sinh},
00682   {"spence",spence},
00683   {"sqrt", sqrt},
00684   {"tan",tan},
00685   {"tanh",tanh},
00686   {"true_gamma",true_gamma},
00687 /*  {"trunc",trunc},*/
00688   {"y0",y0},
00689   {"y1",y1},
00690   {"zetac",zetac},
00691 #ifdef HAVE_GSL
00692   {"gsl_log1p",gsl_log1p},
00693   {"gsl_expm1",gsl_expm1},
00694   {"gsl_hypot",gsl_hypot},
00695   {"gsl_acosh",gsl_acosh},
00696   {"gsl_asinh",gsl_asinh},
00697   {"gsl_atanh",gsl_atanh},
00698   {"airy_Ai",airy_Ai},
00699   {"airy_Bi",airy_Bi},
00700   {"airy_Ais",airy_Ais},
00701   {"airy_Bis",airy_Bis},
00702   {"airy_Aid",airy_Aid},
00703   {"airy_Bid",airy_Bid},
00704   {"airy_Aids",airy_Aids},
00705   {"airy_Bids",airy_Bids},
00706   {"airy_0_Ai",airy_0_Ai},
00707   {"airy_0_Bi",airy_0_Bi},
00708   {"airy_0_Aid",airy_0_Aid},
00709   {"airy_0_Bid",airy_0_Bid},
00710   {"bessel_J0",gsl_sf_bessel_J0},
00711   {"bessel_J1",gsl_sf_bessel_J1},
00712   {"bessel_Jn",bessel_Jn},
00713   {"bessel_Y0",gsl_sf_bessel_Y0},
00714   {"bessel_Y1",gsl_sf_bessel_Y1},
00715   {"bessel_Yn",bessel_Yn},
00716   {"bessel_I0",gsl_sf_bessel_I0},
00717   {"bessel_I1",gsl_sf_bessel_I1},
00718   {"bessel_In",bessel_In},
00719   {"bessel_I0s",gsl_sf_bessel_I0_scaled},
00720   {"bessel_I1s",gsl_sf_bessel_I1_scaled},
00721   {"bessel_Ins",bessel_Ins},
00722   {"bessel_K0",gsl_sf_bessel_K0},
00723   {"bessel_K1",gsl_sf_bessel_K1},
00724   {"bessel_Kn",bessel_Kn},
00725   {"bessel_K0s",gsl_sf_bessel_K0_scaled},
00726   {"bessel_K1s",gsl_sf_bessel_K1_scaled},
00727   {"bessel_Kns",bessel_Kns},
00728   {"bessel_j0",gsl_sf_bessel_j0},
00729   {"bessel_j1",gsl_sf_bessel_j1},
00730   {"bessel_j2",gsl_sf_bessel_j2},
00731   {"bessel_jl",bessel_jl},
00732   {"bessel_y0",gsl_sf_bessel_y0},
00733   {"bessel_y1",gsl_sf_bessel_y1},
00734   {"bessel_y2",gsl_sf_bessel_y2},
00735   {"bessel_yl",bessel_yl},
00736   {"bessel_i0s",gsl_sf_bessel_i0_scaled},
00737   {"bessel_i1s",gsl_sf_bessel_i1_scaled},
00738   {"bessel_i2s",gsl_sf_bessel_i2_scaled},
00739   {"bessel_ils",bessel_ils},
00740   {"bessel_k0s",gsl_sf_bessel_k0_scaled},
00741   {"bessel_k1s",gsl_sf_bessel_k1_scaled},
00742   {"bessel_k2s",gsl_sf_bessel_k2_scaled},
00743   {"bessel_kls",bessel_kls},
00744   {"bessel_Jnu",gsl_sf_bessel_Jnu},
00745   {"bessel_Ynu",gsl_sf_bessel_Ynu},
00746   {"bessel_Inu",gsl_sf_bessel_Inu},
00747   {"bessel_Inus",gsl_sf_bessel_Inu_scaled},
00748   {"bessel_Knu",gsl_sf_bessel_Knu},
00749   {"bessel_lnKnu",gsl_sf_bessel_lnKnu},
00750   {"bessel_Knus",gsl_sf_bessel_Knu_scaled},
00751   {"bessel_0_J0",bessel_0_J0},
00752   {"bessel_0_J1",bessel_0_J1},
00753   {"bessel_0_Jnu",bessel_0_Jnu},
00754   {"clausen",gsl_sf_clausen},
00755   {"hydrogenicR_1",gsl_sf_hydrogenicR_1},
00756   {"hydrogenicR",hydrogenicR},
00757   {"dawson",gsl_sf_dawson},
00758   {"debye_1",gsl_sf_debye_1},
00759   {"debye_2",gsl_sf_debye_2},
00760   {"debye_3",gsl_sf_debye_3},
00761   {"debye_4",gsl_sf_debye_4},
00762   {"dilog",gsl_sf_dilog},
00763   {"ellint_Kc",ellint_Kc},
00764   {"ellint_Ec",ellint_Ec},
00765   {"ellint_F",ellint_F},
00766   {"ellint_E",ellint_E},
00767   {"ellint_P",ellint_P},
00768   {"ellint_D",ellint_D},
00769   {"ellint_RC",ellint_RC},
00770   {"ellint_RD",ellint_RD},
00771   {"ellint_RF",ellint_RF},
00772   {"ellint_RJ",ellint_RJ},
00773   {"gsl_erf",gsl_sf_erf},
00774   {"gsl_erfc",gsl_sf_erfc},
00775   {"log_erfc",gsl_sf_log_erfc},
00776   {"erf_Z",gsl_sf_erf_Z},
00777   {"erf_Q",gsl_sf_erf_Q},
00778   {"gsl_exp",gsl_sf_exp},
00779   {"exprel",gsl_sf_exprel},
00780   {"exprel_2",gsl_sf_exprel_2},
00781   {"exprel_n",exprel_n},
00782   {"expint_E1",gsl_sf_expint_E1},
00783   {"expint_E2",gsl_sf_expint_E2},
00784   {"expint_Ei",gsl_sf_expint_Ei},
00785   {"shi",gsl_sf_Shi},
00786   {"chi",gsl_sf_Chi},
00787   {"expint_3",gsl_sf_expint_3},
00788   {"si",gsl_sf_Si},
00789   {"ci",gsl_sf_Ci},
00790   {"atanint",gsl_sf_atanint},
00791   {"fermi_dirac_m1",gsl_sf_fermi_dirac_m1},
00792   {"fermi_dirac_0",gsl_sf_fermi_dirac_0},
00793   {"fermi_dirac_1",gsl_sf_fermi_dirac_1},
00794   {"fermi_dirac_2",gsl_sf_fermi_dirac_2},
00795   {"fermi_dirac_int",fermi_dirac_int},
00796   {"fermi_dirac_mhalf",gsl_sf_fermi_dirac_mhalf},
00797   {"fermi_dirac_half",gsl_sf_fermi_dirac_half},
00798   {"fermi_dirac_3half",gsl_sf_fermi_dirac_3half},
00799   {"fermi_dirac_inc_0",gsl_sf_fermi_dirac_inc_0},
00800   {"gamma",gsl_sf_gamma},
00801   {"lngamma",gsl_sf_lngamma},
00802   {"gammastar",gsl_sf_gammastar},
00803   {"gammainv",gsl_sf_gammainv},
00804   {"taylorcoeff",taylorcoeff},
00805   {"fact",fact},
00806   {"doublefact",doublefact},
00807   {"lnfact",lnfact},
00808   {"lndoublefact",lndoublefact},
00809   {"choose",choose},
00810   {"lnchoose",lnchoose},
00811   {"poch",gsl_sf_poch},
00812   {"lnpoch",gsl_sf_lnpoch},
00813   {"pochrel",gsl_sf_pochrel},
00814   {"gamma_inc_Q",gsl_sf_gamma_inc_Q},
00815   {"gamma_inc_P",gsl_sf_gamma_inc_P},
00816   {"gsl_beta",gsl_sf_beta},
00817   {"lnbeta",gsl_sf_lnbeta},
00818   {"beta_inc",gsl_sf_beta_inc},
00819   {"gegenpoly_1",gsl_sf_gegenpoly_1},
00820   {"gegenpoly_2",gsl_sf_gegenpoly_2},
00821   {"gegenpoly_3",gsl_sf_gegenpoly_3},
00822   {"gegenpoly_n",gegenpoly_n},
00823   {"hyperg_0F1",gsl_sf_hyperg_0F1},
00824   {"hyperg_1F1i",hyperg_1F1i},
00825   {"hyperg_1F1",gsl_sf_hyperg_1F1},
00826   {"hyperg_Ui",hyperg_Ui},
00827   {"hyperg_U",gsl_sf_hyperg_U},
00828   {"hyperg_2F1",gsl_sf_hyperg_2F1},
00829   {"hyperg_2F1c",gsl_sf_hyperg_2F1_conj},
00830   {"hyperg_2F1r",gsl_sf_hyperg_2F1_renorm},
00831   {"hyperg_2F1cr",gsl_sf_hyperg_2F1_conj_renorm},
00832   {"hyperg_2F0",gsl_sf_hyperg_2F0},
00833   {"laguerre_1",gsl_sf_laguerre_1},
00834   {"laguerre_2",gsl_sf_laguerre_2},
00835   {"laguerre_3",gsl_sf_laguerre_3},
00836   {"lambert_W0",gsl_sf_lambert_W0},
00837   {"lambert_Wm1",gsl_sf_lambert_Wm1},
00838   {"legendre_P1",gsl_sf_legendre_P1},
00839   {"legendre_P2",gsl_sf_legendre_P2},
00840   {"legendre_P3",gsl_sf_legendre_P3},
00841   {"legendre_Pl",legendre_Pl},
00842   {"legendre_Q0",gsl_sf_legendre_Q0},
00843   {"legendre_Q1",gsl_sf_legendre_Q1},
00844   {"legendre_Ql",legendre_Ql},
00845   {"legendre_Plm",legendre_Plm},
00846   {"legendre_sphPlm",legendre_sphPlm},
00847   {"conicalP_half",gsl_sf_conicalP_half},
00848   {"conicalP_mhalf",gsl_sf_conicalP_mhalf},
00849   {"conicalP_0",gsl_sf_conicalP_0},
00850   {"conicalP_1",gsl_sf_conicalP_1},
00851   {"conicalP_sphreg",conicalP_sphreg},
00852   {"conicalP_cylreg",conicalP_cylreg},
00853   {"legendre_H3d_0",gsl_sf_legendre_H3d_0},
00854   {"legendre_H3d_1",gsl_sf_legendre_H3d_1},
00855   {"legendre_H3d",legendre_H3d},
00856   {"gsl_log",gsl_sf_log},
00857   {"loga",gsl_sf_log_abs},
00858   {"logp",gsl_sf_log_1plusx},
00859   {"logm",gsl_sf_log_1plusx_mx},
00860   {"gsl_pow",gsl_pow},
00861   {"psii",psii},
00862   {"psi",gsl_sf_psi},
00863   {"psiy",gsl_sf_psi_1piy},
00864   {"psi1i",psi1i},
00865   {"psi_n",psi_n},
00866   {"synchrotron_1",gsl_sf_synchrotron_1},
00867   {"synchrotron_2",gsl_sf_synchrotron_2},
00868   {"transport_2",gsl_sf_transport_2},
00869   {"transport_3",gsl_sf_transport_3},
00870   {"transport_4",gsl_sf_transport_4},
00871   {"transport_5",gsl_sf_transport_5},
00872   {"hypot",gsl_sf_hypot},
00873   {"sinc",gsl_sf_sinc},
00874   {"lnsinh",gsl_sf_lnsinh},
00875   {"lncosh",gsl_sf_lncosh},
00876   {"zetai",zetai},
00877   {"gsl_zeta",gsl_sf_zeta},
00878   {"hzeta",gsl_sf_hzeta},
00879   {"etai",etai},
00880   {"eta",gsl_sf_eta},
00881   {"gaussian",gsl_ran_gaussian_pdf},
00882   {"ugaussian",gsl_ran_ugaussian_pdf},
00883   {"gaussian_tail",gsl_ran_gaussian_tail_pdf},
00884   {"ugaussian_tail",gsl_ran_ugaussian_tail_pdf},
00885   {"bivariate_gaussian",gsl_ran_bivariate_gaussian_pdf},
00886   {"exponential",gsl_ran_exponential_pdf},
00887   {"laplace",gsl_ran_laplace_pdf},
00888   {"exppow",gsl_ran_exppow_pdf},
00889   {"cauchy",gsl_ran_cauchy_pdf},
00890   {"rayleigh",gsl_ran_rayleigh_pdf},
00891   {"rayleigh_tail",gsl_ran_rayleigh_tail_pdf},
00892   {"landau",gsl_ran_landau_pdf},
00893   {"gamma_pdf",gsl_ran_gamma_pdf},
00894   {"flat",gsl_ran_flat_pdf},
00895   {"lognormal",gsl_ran_lognormal_pdf},
00896   {"chisq",gsl_ran_chisq_pdf},
00897   {"fdist",gsl_ran_fdist_pdf},
00898   {"tdist",gsl_ran_tdist_pdf},
00899   {"beta_pdf",gsl_ran_beta_pdf},
00900   {"logistic",gsl_ran_logistic_pdf},
00901   {"pareto",gsl_ran_pareto_pdf},
00902   {"weibull",gsl_ran_weibull_pdf},
00903   {"gumbel1",gsl_ran_gumbel1_pdf},
00904   {"gumbel2",gsl_ran_gumbel2_pdf},
00905   {"poisson",poisson},
00906   {"bernoulli",bernoulli},
00907   {"binomial",binomial},
00908   {"negative_binomial",negative_binomial},
00909   {"pascal",pascal},
00910   {"geometric",geometric},
00911   {"hypergeometric",hypergeometric},
00912   {"logarithmic",logarithmic},
00913 #endif
00914   {0, 0}
00915 };
00916 
00917 #endif /*PARSER_H*/

Generated on Sun Nov 28 22:31:17 2004 for LabPlot by doxygen 1.3.6