cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Data Structures | Macros | Functions | Variables
thirdparty.cpp File Reference
#include "cddefines.h"
#include "vectorize.h"
#include "thirdparty.h"
Include dependency graph for thirdparty.cpp:

Go to the source code of this file.

Data Structures

class  t_lfact
 

Macros

#define F1(x, y, z)   (z ^ (x & (y ^ z)))
 
#define F2(x, y, z)   F1(z, x, y)
 
#define F3(x, y, z)   (x ^ y ^ z)
 
#define F4(x, y, z)   (y ^ (x | ~z))
 
#define MD5STEP(f, w, x, y, z, data, s)   w = rotlFixed(w + f(x, y, z) + data, s) + x
 

Functions

double polevl (double x, const double coef[], int N)
 
double p1evl (double x, const double coef[], int N)
 
double chbevl (double, const double[], int)
 
double dawson (double x, int order)
 
bool linfit (long n, const double xorg[], const double yorg[], double &a, double &siga, double &b, double &sigb)
 
double factorial (long n)
 
double fc2_scl (long n)
 
double lfactorial (long n)
 
complex< double > cdgamma (complex< double > x)
 
double bessel_j0 (double x)
 
double bessel_y0 (double x)
 
double bessel_j1 (double x)
 
double bessel_y1 (double x)
 
double bessel_jn (int n, double x)
 
double bessel_yn (int n, double x)
 
double ellpk (double x)
 
double expn (int n, double x)
 
double erfce (double x)
 
STATIC double igamc_fraction (double a, double x)
 
double igamc (double a, double x)
 
double igamc_scaled (double a, double x)
 
double igam (double a, double x)
 
double ratevl_5_4 (double x, const double a[5], const double b[4])
 
double ratevl_6_3 (double x, const double a[6], const double b[3])
 
double ratevl_6_4 (double x, const double a[6], const double b[4])
 
double ratevl_7_8 (double x, const double a[7], const double b[8])
 
double ratevl_8_7 (double x, const double a[8], const double b[7])
 
double ratevl_10_11 (double x, const double a[10], const double b[11])
 
double ratevl_11_10 (double x, const double a[11], const double b[10])
 
double ratevl_15_6 (double x, const double a[15], const double b[6])
 
double bessel_k0 (double x)
 
double bessel_k0_scaled (double x)
 
double bessel_k1 (double x)
 
double bessel_k1_scaled (double x)
 
void bessel_k0_k1 (double x, double *k0val, double *k1val)
 
void bessel_k0_k1_scaled (double x, double *k0val, double *k1val)
 
double bessel_i0 (double x)
 
double bessel_i0_scaled (double x)
 
double bessel_i1 (double x)
 
double bessel_i1_scaled (double x)
 
void bessel_i0_i1 (double x, double *i0val, double *i1val)
 
void bessel_i0_i1_scaled (double x, double *i0val, double *i1val)
 
double e1 (double x)
 
double e1_scaled (double x)
 
double e2 (double x)
 
double expn2_scaled (double x)
 
void chbfit (double a, double b, vector< double > &c, double(*func)(double))
 
void test_expn ()
 
double gegenbauer (long n, double al, double x)
 
double sg (long S)
 
double sjs (long j1, long j2, long j3, long l1, long l2, long l3)
 
double fc2 (long n2)
 
double Delta (long j1, long j2, long j3)
 
double SixJFull (long j1, long j2, long j3, long j4, long j5, long j6)
 
double frac (double d)
 
void rec6j (double *sixcof, double l2, double l3, double l4, double l5, double l6, double *l1min, double *l1max, double *lmatch, long ndim, long *ier)
 
unsigned long MIXBITS (unsigned long u, unsigned long v)
 
unsigned long TWIST (unsigned long u, unsigned long v)
 
void init_genrand (unsigned long s)
 
void init_by_array (unsigned long init_key[], int key_length)
 
static void next_state ()
 
unsigned long genrand_int32 ()
 
long genrand_int31 ()
 
double genrand_real1 ()
 
double genrand_real2 ()
 
double genrand_real3 ()
 
double genrand_res53 ()
 
realnum FastVoigtH (realnum a, realnum v)
 
void FastVoigtH (realnum a, const realnum v[], realnum y[], size_t n)
 
void humlik (int n, const realnum x[], realnum y, realnum k[])
 
STATIC uint32 MD5swap (uint32 word)
 
STATIC void MD5_Transform (uint32 *digest, const uint32 *in)
 
string MD5file (const char *fnam, access_scheme scheme)
 
string MD5datafile (const char *fnam, access_scheme scheme)
 
string MD5datastream (fstream &ioFile)
 
string MD5string (const string &str)
 
uint32 rotlFixed (uint32 x, unsigned int y)
 
void svd (const int nm, const int m, const int n, double *a, double *w, bool matu, double *u, bool matv, double *v, int *ierr, double *rv1)
 

Variables

static const double pre_factorial [NPRE_FACTORIAL]
 
static const double dsf [MXDSF]
 
static const double b0_PP [7]
 
static const double b0_PQ [7]
 
static const double b0_QP [8]
 
static const double b0_QQ [7]
 
static const double b0_YP [8]
 
static const double b0_YQ [7]
 
static const double DR1 = 5.78318596294678452118e0
 
static const double DR2 = 3.04712623436620863991e1
 
static double b0_RP [4]
 
static double b0_RQ [8]
 
static const double TWOOPI = 2./PI
 
static const double SQ2OPI = sqrt(2./PI)
 
static const double PIO4 = PI/4.
 
static const double b1_RP [4]
 
static const double b1_RQ [8]
 
static const double b1_PP [7]
 
static const double b1_PQ [7]
 
static const double b1_QP [8]
 
static const double b1_QQ [7]
 
static const double b1_YP [6]
 
static const double b1_YQ [8]
 
static const double Z1 = 1.46819706421238932572E1
 
static const double Z2 = 4.92184563216946036703E1
 
static const double THPIO4 = 3.*PI/4.
 
static const double elk_P []
 
static const double elk_Q []
 
static const double C1 = 1.3862943611198906188e0
 
static const double MAXLOG = log(DBL_MAX)
 
static const double BIG = 1.44115188075855872E+17
 
static double erf_P []
 
static double erf_Q []
 
static double erf_R []
 
static double erf_S []
 
static const double igam_big = 4.503599627370496e15
 
static const double igam_biginv = 2.22044604925031308085e-16
 
static const double BESSEL_K0_P1 []
 
static const double BESSEL_K0_Q1 []
 
static const double BESSEL_K0_P2 []
 
static const double BESSEL_K0_Q2 []
 
static const double BESSEL_K0_P3 []
 
static const double BESSEL_K0_Q3 []
 
static const double BESSEL_K1_P1 []
 
static const double BESSEL_K1_Q1 []
 
static const double BESSEL_K1_P2 []
 
static const double BESSEL_K1_Q2 []
 
static const double BESSEL_K1_P3 []
 
static const double BESSEL_K1_Q3 []
 
static const double BESSEL_I0_P1 []
 
static const double BESSEL_I0_Q1 []
 
static const double BESSEL_I0_P2 []
 
static const double BESSEL_I0_Q2 []
 
static const double BESSEL_I1_P1 []
 
static const double BESSEL_I1_Q1 []
 
static const double BESSEL_I1_P2 []
 
static const double BESSEL_I1_Q2 []
 
static const int N = 624
 
static const int M = 397
 
static const unsigned long MATRIX_A = 0x9908b0dfUL
 
static const unsigned long UMASK = 0x80000000UL
 
static const unsigned long LMASK = 0x7fffffffUL
 
static unsigned long state [N]
 
static int nleft = 1
 
static int initf = 0
 
static unsigned long * nexxt
 
const int N_DAWSON = 100
 
static const double tbl_dawson [N_DAWSON+1]
 

Macro Definition Documentation

#define F1 (   x,
  y,
 
)    (z ^ (x & (y ^ z)))
#define F2 (   x,
  y,
 
)    F1(z, x, y)
#define F3 (   x,
  y,
 
)    (x ^ y ^ z)

Referenced by MD5_Transform().

#define F4 (   x,
  y,
 
)    (y ^ (x | ~z))

Referenced by MD5_Transform().

#define MD5STEP (   f,
  w,
  x,
  y,
  z,
  data,
 
)    w = rotlFixed(w + f(x, y, z) + data, s) + x

Referenced by MD5_Transform().

Function Documentation

double bessel_i0 ( double  x)

Definition at line 2892 of file thirdparty.cpp.

References DEBUG_ENTRY, ratevl_15_6(), and ratevl_7_8().

Here is the call graph for this function:

void bessel_i0_i1 ( double  x,
double *  i0val,
double *  i1val 
)

Definition at line 2976 of file thirdparty.cpp.

References DEBUG_ENTRY, ratevl_15_6(), ratevl_7_8(), and ratevl_8_7().

Here is the call graph for this function:

void bessel_i0_i1_scaled ( double  x,
double *  i0val,
double *  i1val 
)

Definition at line 3003 of file thirdparty.cpp.

References DEBUG_ENTRY, ratevl_15_6(), ratevl_7_8(), and ratevl_8_7().

Here is the call graph for this function:

double bessel_i0_scaled ( double  x)

Definition at line 2913 of file thirdparty.cpp.

References DEBUG_ENTRY, ratevl_15_6(), and ratevl_7_8().

Here is the call graph for this function:

double bessel_i1 ( double  x)

Definition at line 2934 of file thirdparty.cpp.

References DEBUG_ENTRY, ratevl_15_6(), and ratevl_8_7().

Here is the call graph for this function:

double bessel_i1_scaled ( double  x)

Definition at line 2955 of file thirdparty.cpp.

References DEBUG_ENTRY, ratevl_15_6(), and ratevl_8_7().

Here is the call graph for this function:

double bessel_j0 ( double  x)

Definition at line 1065 of file thirdparty.cpp.

References b0_PP, b0_PQ, b0_QP, b0_QQ, b0_RP, b0_RQ, DEBUG_ENTRY, DR1, DR2, p1evl(), PIO4, polevl(), and SQ2OPI.

Referenced by bessel_jn(), and bessel_y0().

Here is the call graph for this function:

double bessel_j1 ( double  x)

Definition at line 1296 of file thirdparty.cpp.

References b1_PP, b1_PQ, b1_QP, b1_QQ, b1_RP, b1_RQ, DEBUG_ENTRY, p1evl(), polevl(), SQ2OPI, THPIO4, Z1, and Z2.

Referenced by bessel_jn(), and bessel_y1().

Here is the call graph for this function:

double bessel_jn ( int  n,
double  x 
)

Definition at line 1399 of file thirdparty.cpp.

References bessel_j0(), bessel_j1(), DEBUG_ENTRY, factorial(), powi(), and sign().

Here is the call graph for this function:

double bessel_k0 ( double  x)

Definition at line 2700 of file thirdparty.cpp.

References DEBUG_ENTRY, ratevl_10_11(), ratevl_5_4(), and ratevl_6_3().

Here is the call graph for this function:

void bessel_k0_k1 ( double  x,
double *  k0val,
double *  k1val 
)

Definition at line 2792 of file thirdparty.cpp.

References DEBUG_ENTRY, ratevl_10_11(), ratevl_11_10(), ratevl_5_4(), ratevl_6_3(), and ratevl_6_4().

Referenced by my_Integrand_S62::operator()().

Here is the call graph for this function:

void bessel_k0_k1_scaled ( double  x,
double *  k0val,
double *  k1val 
)

Definition at line 2820 of file thirdparty.cpp.

References DEBUG_ENTRY, ratevl_10_11(), ratevl_11_10(), ratevl_5_4(), ratevl_6_3(), and ratevl_6_4().

Here is the call graph for this function:

double bessel_k0_scaled ( double  x)

Definition at line 2723 of file thirdparty.cpp.

References DEBUG_ENTRY, ratevl_10_11(), ratevl_5_4(), and ratevl_6_3().

Here is the call graph for this function:

double bessel_k1 ( double  x)

Definition at line 2746 of file thirdparty.cpp.

References DEBUG_ENTRY, ratevl_11_10(), and ratevl_6_4().

Here is the call graph for this function:

double bessel_k1_scaled ( double  x)

Definition at line 2769 of file thirdparty.cpp.

References DEBUG_ENTRY, ratevl_11_10(), and ratevl_6_4().

Here is the call graph for this function:

double bessel_y0 ( double  x)

Definition at line 1103 of file thirdparty.cpp.

References b0_PP, b0_PQ, b0_QP, b0_QQ, b0_YP, b0_YQ, bessel_j0(), cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, p1evl(), PIO4, polevl(), SQ2OPI, and TWOOPI.

Referenced by bessel_yn().

Here is the call graph for this function:

double bessel_y1 ( double  x)

Definition at line 1323 of file thirdparty.cpp.

References b1_PP, b1_PQ, b1_QP, b1_QQ, b1_YP, b1_YQ, bessel_j1(), cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, p1evl(), polevl(), SQ2OPI, THPIO4, and TWOOPI.

Referenced by bessel_yn().

Here is the call graph for this function:

double bessel_yn ( int  n,
double  x 
)

Definition at line 1534 of file thirdparty.cpp.

References bessel_y0(), bessel_y1(), cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, and sign().

Here is the call graph for this function:

complex<double> cdgamma ( complex< double >  x)

Definition at line 789 of file thirdparty.cpp.

References DEBUG_ENTRY.

double chbevl ( double  x,
const double  array[],
int  n 
)
inline

Definition at line 2584 of file thirdparty.cpp.

References b0, b1, and b2.

Referenced by test_expn().

void chbfit ( double  a,
double  b,
vector< double > &  c,
double(*)(double)  func 
)

Definition at line 3417 of file thirdparty.cpp.

References frac().

Referenced by test_expn().

Here is the call graph for this function:

double dawson ( double  x,
int  order 
)
inline

Definition at line 4277 of file thirdparty.cpp.

References max(), min(), and TotalInsanity().

Referenced by FastVoigtH().

Here is the call graph for this function:

double Delta ( long  j1,
long  j2,
long  j3 
)
inline

Definition at line 3549 of file thirdparty.cpp.

References fc2().

Referenced by SixJFull().

Here is the call graph for this function:

double e1 ( double  x)

e1 first exponential integral

Parameters
xoptical depth argument

Definition at line 3258 of file thirdparty.cpp.

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), and ioQQQ.

Referenced by ColStrGBar(), CS_l_mixing_PS64_expI(), dqelg_(), e1_scaled(), H21_cm_pops(), Hion_coll_ioniz_ratecoef(), Hydcs123(), MakeHCTData(), mie_step(), newton_step(), ParseDrive(), qelg_(), SanityCheckBegin(), and Energy::set().

Here is the call graph for this function:

double e1_scaled ( double  x)

e1_scaled is exp(x)*e1(x)

Definition at line 3296 of file thirdparty.cpp.

References cdEXIT, DEBUG_ENTRY, e1(), EXIT_FAILURE, fprintf(), and ioQQQ.

Referenced by eeBremsSpectrum(), and Recomb_Seaton59().

Here is the call graph for this function:

double e2 ( double  t)

e2 second exponential integral

Parameters
toptical depth argument

Definition at line 3328 of file thirdparty.cpp.

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), and ioQQQ.

Referenced by dqelg_(), H21_cm_pops(), Hion_coll_ioniz_ratecoef(), humlik(), IterRestart(), IterStart(), MakeHCTData(), mie_step(), newton_step(), ParseDrive(), qelg_(), RT_continuum(), RT_tau_reset(), and SanityCheckBegin().

Here is the call graph for this function:

double ellpk ( double  x)

Definition at line 1676 of file thirdparty.cpp.

References C1, cdEXIT, DEBUG_ENTRY, elk_P, elk_Q, EXIT_FAILURE, fprintf(), ioQQQ, and polevl().

Here is the call graph for this function:

double erfce ( double  )

erfce(a) returns erfc(a)*exp(a^2)

Definition at line 2089 of file thirdparty.cpp.

References DEBUG_ENTRY, erf_P, erf_Q, erf_R, erf_S, p1evl(), and polevl().

Referenced by VoigtH0(), and VoigtU0().

Here is the call graph for this function:

double expn ( int  n,
double  x 
)

expn, returns exponential integral,

Parameters
nis order, 1 for first integral integral
xis argument, must be positive

Definition at line 1756 of file thirdparty.cpp.

References BIG, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, factorial(), fprintf(), ioQQQ, is_odd(), MAXLOG, and powi().

Referenced by expn2_scaled(), Hion_coll_ioniz_ratecoef(), ParseDrive(), and SanityCheckBegin().

Here is the call graph for this function:

double expn2_scaled ( double  x)
inline

Definition at line 3398 of file thirdparty.cpp.

References ASSERT, and expn().

Referenced by test_expn().

Here is the call graph for this function:

double factorial ( long  n)

factorial: compute n! by lookup in table of predefined factorials

Definition at line 356 of file thirdparty.cpp.

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, NPRE_FACTORIAL, and pre_factorial.

Referenced by bessel_jn(), bhG(), bhg(), expn(), fc2(), fsff(), and hrii().

Here is the call graph for this function:

realnum FastVoigtH ( realnum  a,
realnum  v 
)

Definition at line 4311 of file thirdparty.cpp.

References ASSERT, dawson(), DEBUG_ENTRY, dsexp(), order(), and pow2().

Referenced by VoigtH().

Here is the call graph for this function:

void FastVoigtH ( realnum  a,
const realnum  v[],
realnum  y[],
size_t  n 
)

Definition at line 4386 of file thirdparty.cpp.

References ASSERT, dawson(), DEBUG_ENTRY, order(), pow2(), avx_ptr< T, lgBC >::ptr0(), and vexp().

Here is the call graph for this function:

double fc2 ( long  n2)
inline

Definition at line 3540 of file thirdparty.cpp.

References factorial(), and TotalInsanity().

Referenced by Delta(), InterpolateModel(), and SixJFull().

Here is the call graph for this function:

double fc2_scl ( long  n)
inline

Definition at line 715 of file thirdparty.cpp.

References cdEXIT, dsf, EXIT_FAILURE, fprintf(), ioQQQ, and MXDSF.

Referenced by sjs().

Here is the call graph for this function:

double frac ( double  d)
inline
double gegenbauer ( long  n,
double  al,
double  x 
)

Definition at line 3464 of file thirdparty.cpp.

References DEBUG_ENTRY.

long genrand_int31 ( void  )

Definition at line 4058 of file thirdparty.cpp.

References next_state().

Here is the call graph for this function:

unsigned long genrand_int32 ( void  )

Definition at line 4041 of file thirdparty.cpp.

References next_state().

Referenced by genrand_res53().

Here is the call graph for this function:

double genrand_real1 ( void  )

Definition at line 4075 of file thirdparty.cpp.

References next_state().

Referenced by mc_escape().

Here is the call graph for this function:

double genrand_real2 ( void  )

Definition at line 4093 of file thirdparty.cpp.

References next_state().

Here is the call graph for this function:

double genrand_real3 ( void  )

Definition at line 4111 of file thirdparty.cpp.

References next_state().

Referenced by mc_escape(), and RandGauss().

Here is the call graph for this function:

double genrand_res53 ( void  )

Definition at line 4129 of file thirdparty.cpp.

References genrand_int32().

Here is the call graph for this function:

void humlik ( int  n,
const realnum  x[],
realnum  y,
realnum  k[] 
)

Definition at line 4447 of file thirdparty.cpp.

References a0, DEBUG_ENTRY, e2(), and h2.

Referenced by VoigtH().

Here is the call graph for this function:

double igam ( double  a,
double  x 
)

Definition at line 2356 of file thirdparty.cpp.

References ASSERT, DEBUG_ENTRY, igamc(), and MAXLOG.

Referenced by igamc(), and igamc_scaled().

Here is the call graph for this function:

double igamc ( double  a,
double  x 
)

Definition at line 2311 of file thirdparty.cpp.

References ASSERT, DEBUG_ENTRY, igam(), igamc_fraction(), and MAXLOG.

Referenced by igam().

Here is the call graph for this function:

STATIC double igamc_fraction ( double  a,
double  x 
)

Definition at line 2389 of file thirdparty.cpp.

References igam_biginv.

Referenced by igamc(), and igamc_scaled().

double igamc_scaled ( double  a,
double  x 
)

Definition at line 2329 of file thirdparty.cpp.

References ASSERT, DEBUG_ENTRY, igam(), igamc_fraction(), and MAXLOG.

Referenced by Recomb_Seaton59().

Here is the call graph for this function:

void init_by_array ( unsigned long  init_key[],
int  key_length 
)

Definition at line 3993 of file thirdparty.cpp.

References init_genrand().

Here is the call graph for this function:

void init_genrand ( unsigned long  s)

Definition at line 3974 of file thirdparty.cpp.

References N.

Referenced by init_by_array(), next_state(), ParseDatabaseH2(), ParseDatabaseISO(), and ParseSet().

double lfactorial ( long  n)

lfactorial: compute log10(n!), this sroutine cahes its results for efficiency

Definition at line 756 of file thirdparty.cpp.

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), t_lfact::get_lfact(), Singleton< t_lfact >::Inst(), and ioQQQ.

Referenced by bhg_log(), bhG_mx(), hrii_log(), and log10_fsff().

Here is the call graph for this function:

bool linfit ( long  n,
const double  xorg[],
const double  yorg[],
double &  a,
double &  siga,
double &  b,
double &  sigb 
)

Definition at line 46 of file thirdparty.cpp.

References ASSERT, DEBUG_ENTRY, and pow2().

Referenced by iter_track::deriv(), and iter_track::zero_fit().

Here is the call graph for this function:

STATIC void MD5_Transform ( uint32 *  digest,
const uint32 *  in 
)

Definition at line 4830 of file thirdparty.cpp.

References DEBUG_ENTRY, F1, F2, F3, F4, and MD5STEP.

Referenced by MD5string().

string MD5datafile ( const char *  fnam,
access_scheme  scheme = AS_DEFAULT 
)

non-standard MD5 algorithm that skips eol characters and comments lines

Definition at line 4634 of file thirdparty.cpp.

References DEBUG_ENTRY, MD5datastream(), mode_r, and open_data().

Referenced by t_mesh::InitMesh(), and main().

Here is the call graph for this function:

string MD5datastream ( fstream &  ioFile)

same as MD5datafile(), but operates on an already open fstream

Definition at line 4644 of file thirdparty.cpp.

References DEBUG_ENTRY, INPUT_LINE_LENGTH, and MD5string().

Referenced by check_data(), and MD5datafile().

Here is the call graph for this function:

string MD5file ( const char *  fnam,
access_scheme  scheme = AS_DEFAULT 
)

calculate the MD5 sum of a file

Definition at line 4615 of file thirdparty.cpp.

References DEBUG_ENTRY, MD5string(), mode_r, and open_data().

Here is the call graph for this function:

string MD5string ( const string &  str)

calculate the MD5 sum of a string

Definition at line 4667 of file thirdparty.cpp.

References ASSERT, cpu, DEBUG_ENTRY, t_cpu::i(), t_cpu_i::little_endian(), and MD5_Transform().

Referenced by MD5datastream(), and MD5file().

Here is the call graph for this function:

STATIC uint32 MD5swap ( uint32  word)

Definition at line 4734 of file thirdparty.cpp.

References DEBUG_ENTRY.

unsigned long MIXBITS ( unsigned long  u,
unsigned long  v 
)
inline

Definition at line 3959 of file thirdparty.cpp.

References LMASK.

Referenced by TWIST().

static void next_state ( )
static

Definition at line 4019 of file thirdparty.cpp.

References init_genrand(), N, state, and TWIST().

Referenced by genrand_int31(), genrand_int32(), genrand_real1(), genrand_real2(), and genrand_real3().

Here is the call graph for this function:

double p1evl ( double  x,
const double  coef[],
int  N 
)
inline

Definition at line 2510 of file thirdparty.cpp.

Referenced by bessel_j0(), bessel_j1(), bessel_y0(), bessel_y1(), and erfce().

double polevl ( double  x,
const double  coef[],
int  N 
)
inline

Definition at line 2488 of file thirdparty.cpp.

References N.

Referenced by bessel_j0(), bessel_j1(), bessel_y0(), bessel_y1(), ellpk(), and erfce().

double ratevl_10_11 ( double  x,
const double  a[10],
const double  b[11] 
)
inline

Definition at line 3136 of file thirdparty.cpp.

References x2.

Referenced by bessel_k0(), bessel_k0_k1(), bessel_k0_k1_scaled(), and bessel_k0_scaled().

double ratevl_11_10 ( double  x,
const double  a[11],
const double  b[10] 
)
inline

Definition at line 3175 of file thirdparty.cpp.

References x2.

Referenced by bessel_k0_k1(), bessel_k0_k1_scaled(), bessel_k1(), and bessel_k1_scaled().

double ratevl_15_6 ( double  x,
const double  a[15],
const double  b[6] 
)
inline
double ratevl_5_4 ( double  x,
const double  a[5],
const double  b[4] 
)
inline

Definition at line 3033 of file thirdparty.cpp.

References x2.

Referenced by bessel_k0(), bessel_k0_k1(), bessel_k0_k1_scaled(), and bessel_k0_scaled().

double ratevl_6_3 ( double  x,
const double  a[6],
const double  b[3] 
)
inline

Definition at line 3048 of file thirdparty.cpp.

References x2.

Referenced by bessel_k0(), bessel_k0_k1(), bessel_k0_k1_scaled(), and bessel_k0_scaled().

double ratevl_6_4 ( double  x,
const double  a[6],
const double  b[4] 
)
inline

Definition at line 3065 of file thirdparty.cpp.

References x2.

Referenced by bessel_k0_k1(), bessel_k0_k1_scaled(), bessel_k1(), and bessel_k1_scaled().

double ratevl_7_8 ( double  x,
const double  a[7],
const double  b[8] 
)
inline

Definition at line 3082 of file thirdparty.cpp.

References x2.

Referenced by bessel_i0(), bessel_i0_i1(), bessel_i0_i1_scaled(), and bessel_i0_scaled().

double ratevl_8_7 ( double  x,
const double  a[8],
const double  b[7] 
)
inline

Definition at line 3109 of file thirdparty.cpp.

References x2.

Referenced by bessel_i0_i1(), bessel_i0_i1_scaled(), bessel_i1(), and bessel_i1_scaled().

void rec6j ( double *  sixcof,
double  l2,
double  l3,
double  l4,
double  l5,
double  l6,
double *  l1min,
double *  l1max,
double *  lmatch,
long  ndim,
long *  ier 
)

Definition at line 3608 of file thirdparty.cpp.

References a1, a2, DEBUG_ENTRY, fprintf(), frac(), ioQQQ, max(), min(), x1, and x2.

Here is the call graph for this function:

uint32 rotlFixed ( uint32  x,
unsigned int  y 
)
inline

Definition at line 4825 of file thirdparty.cpp.

double sg ( long  S)
inline

Definition at line 3483 of file thirdparty.cpp.

References TotalInsanity().

Referenced by SixJFull(), and sjs().

Here is the call graph for this function:

double SixJFull ( long  j1,
long  j2,
long  j3,
long  j4,
long  j5,
long  j6 
)

Definition at line 3558 of file thirdparty.cpp.

References DEBUG_ENTRY, Delta(), fc2(), max(), min(), sg(), and Triangle2().

Here is the call graph for this function:

double sjs ( long  j1,
long  j2,
long  j3,
long  l1,
long  l2,
long  l3 
)

Definition at line 3494 of file thirdparty.cpp.

References DEBUG_ENTRY, fc2_scl(), max(), min(), sg(), and Triangle2().

Here is the call graph for this function:

void svd ( const int  nm,
const int  m,
const int  n,
double *  a,
double *  w,
bool  matu,
double *  u,
bool  matv,
double *  v,
int *  ierr,
double *  rv1 
)

Definition at line 4929 of file thirdparty.cpp.

void test_expn ( )

Definition at line 3438 of file thirdparty.cpp.

References chbevl(), chbfit(), expn2_scaled(), fprintf(), and ioQQQ.

Here is the call graph for this function:

unsigned long TWIST ( unsigned long  u,
unsigned long  v 
)
inline

Definition at line 3963 of file thirdparty.cpp.

References MIXBITS().

Referenced by next_state().

Here is the call graph for this function:

Variable Documentation

const double b0_PP[7]
static
Initial value:
= {
7.96936729297347051624e-4,
8.28352392107440799803e-2,
1.23953371646414299388e0,
5.44725003058768775090e0,
8.74716500199817011941e0,
5.30324038235394892183e0,
9.99999999999999997821e-1,
}

Definition at line 973 of file thirdparty.cpp.

Referenced by bessel_j0(), and bessel_y0().

const double b0_PQ[7]
static
Initial value:
= {
9.24408810558863637013e-4,
8.56288474354474431428e-2,
1.25352743901058953537e0,
5.47097740330417105182e0,
8.76190883237069594232e0,
5.30605288235394617618e0,
1.00000000000000000218e0,
}

Definition at line 983 of file thirdparty.cpp.

Referenced by bessel_j0(), and bessel_y0().

const double b0_QP[8]
static
Initial value:
= {
-1.13663838898469149931e-2,
-1.28252718670509318512e0,
-1.95539544257735972385e1,
-9.32060152123768231369e1,
-1.77681167980488050595e2,
-1.47077505154951170175e2,
-5.14105326766599330220e1,
-6.05014350600728481186e0,
}

Definition at line 993 of file thirdparty.cpp.

Referenced by bessel_j0(), and bessel_y0().

const double b0_QQ[7]
static
Initial value:
= {
6.43178256118178023184e1,
8.56430025976980587198e2,
3.88240183605401609683e3,
7.24046774195652478189e3,
5.93072701187316984827e3,
2.06209331660327847417e3,
2.42005740240291393179e2,
}

Definition at line 1004 of file thirdparty.cpp.

Referenced by bessel_j0(), and bessel_y0().

double b0_RP[4]
static
Initial value:
= {
-4.79443220978201773821e9,
1.95617491946556577543e12,
-2.49248344360967716204e14,
9.70862251047306323952e15,
}

Definition at line 1042 of file thirdparty.cpp.

Referenced by bessel_j0().

double b0_RQ[8]
static
Initial value:
= {
4.99563147152651017219e2,
1.73785401676374683123e5,
4.84409658339962045305e7,
1.11855537045356834862e10,
2.11277520115489217587e12,
3.10518229857422583814e14,
3.18121955943204943306e16,
1.71086294081043136091e18,
}

Definition at line 1049 of file thirdparty.cpp.

Referenced by bessel_j0().

const double b0_YP[8]
static
Initial value:
= {
1.55924367855235737965e4,
-1.46639295903971606143e7,
5.43526477051876500413e9,
-9.82136065717911466409e11,
8.75906394395366999549e13,
-3.46628303384729719441e15,
4.42733268572569800351e16,
-1.84950800436986690637e16,
}

Definition at line 1015 of file thirdparty.cpp.

Referenced by bessel_y0().

const double b0_YQ[7]
static
Initial value:
= {
1.04128353664259848412e3,
6.26107330137134956842e5,
2.68919633393814121987e8,
8.64002487103935000337e10,
2.02979612750105546709e13,
3.17157752842975028269e15,
2.50596256172653059228e17,
}

Definition at line 1026 of file thirdparty.cpp.

Referenced by bessel_y0().

const double b1_PP[7]
static
Initial value:
= {
7.62125616208173112003e-4,
7.31397056940917570436e-2,
1.12719608129684925192e0,
5.11207951146807644818e0,
8.42404590141772420927e0,
5.21451598682361504063e0,
1.00000000000000000254e0,
}

Definition at line 1228 of file thirdparty.cpp.

Referenced by bessel_j1(), and bessel_y1().

const double b1_PQ[7]
static
Initial value:
= {
5.71323128072548699714e-4,
6.88455908754495404082e-2,
1.10514232634061696926e0,
5.07386386128601488557e0,
8.39985554327604159757e0,
5.20982848682361821619e0,
9.99999999999999997461e-1,
}

Definition at line 1238 of file thirdparty.cpp.

Referenced by bessel_j1(), and bessel_y1().

const double b1_QP[8]
static
Initial value:
= {
5.10862594750176621635e-2,
4.98213872951233449420e0,
7.58238284132545283818e1,
3.66779609360150777800e2,
7.10856304998926107277e2,
5.97489612400613639965e2,
2.11688757100572135698e2,
2.52070205858023719784e1,
}

Definition at line 1248 of file thirdparty.cpp.

Referenced by bessel_j1(), and bessel_y1().

const double b1_QQ[7]
static
Initial value:
= {
7.42373277035675149943e1,
1.05644886038262816351e3,
4.98641058337653607651e3,
9.56231892404756170795e3,
7.99704160447350683650e3,
2.82619278517639096600e3,
3.36093607810698293419e2,
}

Definition at line 1259 of file thirdparty.cpp.

Referenced by bessel_j1(), and bessel_y1().

const double b1_RP[4]
static
Initial value:
= {
-8.99971225705559398224e8,
4.52228297998194034323e11,
-7.27494245221818276015e13,
3.68295732863852883286e15,
}

Definition at line 1209 of file thirdparty.cpp.

Referenced by bessel_j1().

const double b1_RQ[8]
static
Initial value:
= {
6.20836478118054335476e2,
2.56987256757748830383e5,
8.35146791431949253037e7,
2.21511595479792499675e10,
4.74914122079991414898e12,
7.84369607876235854894e14,
8.95222336184627338078e16,
5.32278620332680085395e18,
}

Definition at line 1216 of file thirdparty.cpp.

Referenced by bessel_j1().

const double b1_YP[6]
static
Initial value:
= {
1.26320474790178026440e9,
-6.47355876379160291031e11,
1.14509511541823727583e14,
-8.12770255501325109621e15,
2.02439475713594898196e17,
-7.78877196265950026825e17,
}

Definition at line 1270 of file thirdparty.cpp.

Referenced by bessel_y1().

const double b1_YQ[8]
static
Initial value:
= {
5.94301592346128195359E2,
2.35564092943068577943E5,
7.34811944459721705660E7,
1.87601316108706159478E10,
3.88231277496238566008E12,
6.20557727146953693363E14,
6.87141087355300489866E16,
3.97270608116560655612E18,
}

Definition at line 1279 of file thirdparty.cpp.

Referenced by bessel_y1().

const double BESSEL_I0_P1[]
static
Initial value:
= {
-2.2335582639474375249e+15, -5.5050369673018427753e+14, -3.2940087627407749166e+13,
-8.4925101247114157499e+11, -1.1912746104985237192e+10, -1.0313066708737980747e+08,
-5.9545626019847898221e+05, -2.4125195876041896775e+03, -7.0935347449210549190e+00,
-1.5453977791786851041e-02, -2.5172644670688975051e-05, -3.0517226450451067446e-08,
-2.6843448573468483278e-11, -1.5982226675653184646e-14, -5.2487866627945699800e-18
}

Definition at line 2849 of file thirdparty.cpp.

const double BESSEL_I0_P2[]
static
Initial value:
= {
-2.2210262233306573296e-04, 1.3067392038106924055e-02, -4.4700805721174453923e-01,
5.5674518371240761397e+00, -2.3517945679239481621e+01, 3.1611322818701131207e+01,
-9.6090021968656180000e+00
}

Definition at line 2860 of file thirdparty.cpp.

const double BESSEL_I0_Q1[]
static
Initial value:
= {
-2.2335582639474375245e+15, 7.8858692566751002988e+12, -1.2207067397808979846e+10,
1.0377081058062166144e+07, -4.8527560179962773045e+03, 1.0
}

Definition at line 2856 of file thirdparty.cpp.

const double BESSEL_I0_Q2[]
static
Initial value:
= {
-5.5194330231005480228e-04, 3.2547697594819615062e-02, -1.1151759188741312645e+00,
1.3982595353892851542e+01, -6.0228002066743340583e+01, 8.5539563258012929600e+01,
-3.1446690275135491500e+01, 1.0
}

Definition at line 2865 of file thirdparty.cpp.

const double BESSEL_I1_P1[]
static
Initial value:
= {
-1.4577180278143463643e+15, -1.7732037840791591320e+14, -6.9876779648010090070e+12,
-1.3357437682275493024e+11, -1.4828267606612366099e+09, -1.0588550724769347106e+07,
-5.1894091982308017540e+04, -1.8225946631657315931e+02, -4.7207090827310162436e-01,
-9.1746443287817501309e-04, -1.3466829827635152875e-06, -1.4831904935994647675e-09,
-1.1928788903603238754e-12, -6.5245515583151902910e-16, -1.9705291802535139930e-19
}

Definition at line 2871 of file thirdparty.cpp.

const double BESSEL_I1_P2[]
static
Initial value:
= {
1.4582087408985668208e-05, -8.9359825138577646443e-04, 2.9204895411257790122e-02,
-3.4198728018058047439e-01, 1.3960118277609544334e+00, -1.9746376087200685843e+00,
8.5591872901933459000e-01, -6.0437159056137599999e-02
}

Definition at line 2882 of file thirdparty.cpp.

const double BESSEL_I1_Q1[]
static
Initial value:
= {
-2.9154360556286927285e+15, 9.7887501377547640438e+12, -1.4386907088588283434e+10,
1.1594225856856884006e+07, -5.1326864679904189920e+03, 1.0
}

Definition at line 2878 of file thirdparty.cpp.

const double BESSEL_I1_Q2[]
static
Initial value:
= {
3.7510433111922824643e-05, -2.2835624489492512649e-03, 7.4212010813186530069e-02,
-8.5017476463217924408e-01, 3.2593714889036996297e+00, -3.8806586721556593450e+00, 1.0
}

Definition at line 2887 of file thirdparty.cpp.

const double BESSEL_K0_P1[]
static
Initial value:
= {
2.4708152720399552679e+03, 5.9169059852270512312e+03, 4.6850901201934832188e+02,
1.1999463724910714109e+01, 1.3166052564989571850e-01, 5.8599221412826100000e-04
}

Definition at line 2647 of file thirdparty.cpp.

const double BESSEL_K0_P2[]
static
Initial value:
= {
-1.6128136304458193998e+06, -3.7333769444840079748e+05, -1.7984434409411765813e+04,
-2.9501657892958843865e+02, -1.6414452837299064100e+00
}

Definition at line 2654 of file thirdparty.cpp.

const double BESSEL_K0_P3[]
static
Initial value:
= {
1.1600249425076035558e+02, 2.3444738764199315021e+03, 1.8321525870183537725e+04,
7.1557062783764037541e+04, 1.5097646353289914539e+05, 1.7398867902565686251e+05,
1.0577068948034021957e+05, 3.1075408980684392399e+04, 3.6832589957340267940e+03,
1.1394980557384778174e+02
}

Definition at line 2661 of file thirdparty.cpp.

const double BESSEL_K0_Q1[]
static
Initial value:
= {
2.1312714303849120380e+04, -2.4994418972832303646e+02, 1.0
}

Definition at line 2651 of file thirdparty.cpp.

const double BESSEL_K0_Q2[]
static
Initial value:
= {
-1.6128136304458193998e+06, 2.9865713163054025489e+04, -2.5064972445877992730e+02, 1.0
}

Definition at line 2658 of file thirdparty.cpp.

const double BESSEL_K0_Q3[]
static
Initial value:
= {
9.2556599177304839811e+01, 1.8821890840982713696e+03, 1.4847228371802360957e+04,
5.8824616785857027752e+04, 1.2689839587977598727e+05, 1.5144644673520157801e+05,
9.7418829762268075784e+04, 3.1474655750295278825e+04, 4.4329628889746408858e+03,
2.0013443064949242491e+02, 1.0
}

Definition at line 2667 of file thirdparty.cpp.

const double BESSEL_K1_P1[]
static
Initial value:
= {
-2.2149374878243304548e+06, 7.1938920065420586101e+05, 1.7733324035147015630e+05,
7.1885382604084798576e+03, 9.9991373567429309922e+01, 4.8127070456878442310e-01
}

Definition at line 2674 of file thirdparty.cpp.

const double BESSEL_K1_P2[]
static
Initial value:
= {
0.0, -1.3531161492785421328e+06, -1.4758069205414222471e+05,
-4.5051623763436087023e+03, -5.3103913335180275253e+01, -2.2795590826955002390e-01
}

Definition at line 2681 of file thirdparty.cpp.

const double BESSEL_K1_P3[]
static
Initial value:
= {
2.2196792496874548962e+00, 4.4137176114230414036e+01, 3.4122953486801312910e+02,
1.3319486433183221990e+03, 2.8590657697910288226e+03, 3.4540675585544584407e+03,
2.3123742209168871550e+03, 8.1094256146537402173e+02, 1.3182609918569941308e+02,
7.5584584631176030810e+00, 6.4257745859173138767e-02
}

Definition at line 2688 of file thirdparty.cpp.

const double BESSEL_K1_Q1[]
static
Initial value:
= {
-2.2149374878243304548e+06, 3.7264298672067697862e+04, -2.8143915754538725829e+02, 1.0
}

Definition at line 2678 of file thirdparty.cpp.

const double BESSEL_K1_Q2[]
static
Initial value:
= {
-2.7062322985570842656e+06, 4.3117653211351080007e+04, -3.0507151578787595807e+02, 1.0
}

Definition at line 2685 of file thirdparty.cpp.

const double BESSEL_K1_Q3[]
static
Initial value:
= {
1.7710478032601086579e+00, 3.4552228452758912848e+01, 2.5951223655579051357e+02,
9.6929165726802648634e+02, 1.9448440788918006154e+03, 2.1181000487171943810e+03,
1.2082692316002348638e+03, 3.3031020088765390854e+02, 3.6001069306861518855e+01, 1.0
}

Definition at line 2694 of file thirdparty.cpp.

const double BIG = 1.44115188075855872E+17
static

Definition at line 1753 of file thirdparty.cpp.

Referenced by expn(), and ffun1().

const double C1 = 1.3862943611198906188e0
static

Definition at line 1674 of file thirdparty.cpp.

Referenced by ellpk(), Hydcs123(), and ILAENV().

const double DR1 = 5.78318596294678452118e0
static

Definition at line 1038 of file thirdparty.cpp.

Referenced by bessel_j0().

const double DR2 = 3.04712623436620863991e1
static

Definition at line 1040 of file thirdparty.cpp.

Referenced by bessel_j0().

const double dsf[MXDSF]
static

Definition at line 369 of file thirdparty.cpp.

Referenced by fc2_scl().

const double elk_P[]
static
Initial value:
=
{
1.37982864606273237150e-4,
2.28025724005875567385e-3,
7.97404013220415179367e-3,
9.85821379021226008714e-3,
6.87489687449949877925e-3,
6.18901033637687613229e-3,
8.79078273952743772254e-3,
1.49380448916805252718e-2,
3.08851465246711995998e-2,
9.65735902811690126535e-2,
1.38629436111989062502e0
}

Definition at line 1644 of file thirdparty.cpp.

Referenced by ellpk().

const double elk_Q[]
static
Initial value:
=
{
2.94078955048598507511e-5,
9.14184723865917226571e-4,
5.94058303753167793257e-3,
1.54850516649762399335e-2,
2.39089602715924892727e-2,
3.01204715227604046988e-2,
3.73774314173823228969e-2,
4.88280347570998239232e-2,
7.03124996963957469739e-2,
1.24999999999870820058e-1,
4.99999999999999999821e-1
}

Definition at line 1659 of file thirdparty.cpp.

Referenced by ellpk().

double erf_P[]
static
Initial value:
= {
2.46196981473530512524e-10,
5.64189564831068821977e-1,
7.46321056442269912687e0,
4.86371970985681366614e1,
1.96520832956077098242e2,
5.26445194995477358631e2,
9.34528527171957607540e2,
1.02755188689515710272e3,
5.57535335369399327526e2
}

Definition at line 1989 of file thirdparty.cpp.

Referenced by erfce().

double erf_Q[]
static
Initial value:
= {
1.32281951154744992508e1,
8.67072140885989742329e1,
3.54937778887819891062e2,
9.75708501743205489753e2,
1.82390916687909736289e3,
2.24633760818710981792e3,
1.65666309194161350182e3,
5.57535340817727675546e2
}

Definition at line 2000 of file thirdparty.cpp.

Referenced by erfce().

double erf_R[]
static
Initial value:
= {
5.64189583547755073984e-1,
1.27536670759978104416e0,
5.01905042251180477414e0,
6.16021097993053585195e0,
7.40974269950448939160e0,
2.97886665372100240670e0
}

Definition at line 2011 of file thirdparty.cpp.

Referenced by erfce().

double erf_S[]
static
Initial value:
= {
2.26052863220117276590e0,
9.39603524938001434673e0,
1.20489539808096656605e1,
1.70814450747565897222e1,
9.60896809063285878198e0,
3.36907645100081516050e0
}

Definition at line 2019 of file thirdparty.cpp.

Referenced by erfce().

const double igam_big = 4.503599627370496e15
static

Definition at line 2308 of file thirdparty.cpp.

const double igam_biginv = 2.22044604925031308085e-16
static

Definition at line 2309 of file thirdparty.cpp.

Referenced by igamc_fraction().

int initf = 0
static

Definition at line 3970 of file thirdparty.cpp.

const unsigned long LMASK = 0x7fffffffUL
static

Definition at line 3958 of file thirdparty.cpp.

Referenced by MIXBITS().

const int M = 397
static

Definition at line 3955 of file thirdparty.cpp.

Referenced by DGEMM(), DGER(), DTRSM(), iso_state_lifetime(), pah2_fun(), and pah3_fun().

const unsigned long MATRIX_A = 0x9908b0dfUL
static

Definition at line 3956 of file thirdparty.cpp.

const double MAXLOG = log(DBL_MAX)
static

Definition at line 1752 of file thirdparty.cpp.

Referenced by expn(), igam(), igamc(), and igamc_scaled().

const int N = 624
static
const int N_DAWSON = 100

Definition at line 4142 of file thirdparty.cpp.

unsigned long* nexxt
static

Definition at line 3971 of file thirdparty.cpp.

int nleft = 1
static

Definition at line 3969 of file thirdparty.cpp.

Referenced by partx().

const double PIO4 = PI/4.
static

Definition at line 1063 of file thirdparty.cpp.

Referenced by bessel_j0(), and bessel_y0().

const double pre_factorial[NPRE_FACTORIAL]
static

Definition at line 181 of file thirdparty.cpp.

Referenced by factorial().

const double SQ2OPI = sqrt(2./PI)
static

Definition at line 1062 of file thirdparty.cpp.

Referenced by bessel_j0(), bessel_j1(), bessel_y0(), and bessel_y1().

unsigned long state[N]
static

Definition at line 3968 of file thirdparty.cpp.

const double tbl_dawson[N_DAWSON+1]
static

Definition at line 4146 of file thirdparty.cpp.

const double THPIO4 = 3.*PI/4.
static

Definition at line 1294 of file thirdparty.cpp.

Referenced by bessel_j1(), and bessel_y1().

const double TWOOPI = 2./PI
static

Definition at line 1061 of file thirdparty.cpp.

Referenced by bessel_y0(), and bessel_y1().

const unsigned long UMASK = 0x80000000UL
static

Definition at line 3957 of file thirdparty.cpp.

const double Z1 = 1.46819706421238932572E1
static

Definition at line 1291 of file thirdparty.cpp.

Referenced by bessel_j1().

const double Z2 = 4.92184563216946036703E1
static

Definition at line 1292 of file thirdparty.cpp.

Referenced by bessel_j1().