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