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 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
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
00127 #ifdef HAVE_GSL
00128 #define MODE GSL_PREC_DOUBLE
00129
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
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
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
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
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
00655 {"i0",i0},
00656 {"i0e",i0e},
00657 {"i1",i1},
00658 {"i1e",i1e},
00659
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
00671 {"ndtr",ndtr},
00672 {"ndtri",ndtri},
00673 {"psi",psi},
00674
00675 {"rgamma",rgamma},
00676 {"rint",rint},
00677
00678
00679
00680 {"sin", sin},
00681 {"sinh",sinh},
00682 {"spence",spence},
00683 {"sqrt", sqrt},
00684 {"tan",tan},
00685 {"tanh",tanh},
00686 {"true_gamma",true_gamma},
00687
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