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