Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
thirdparty.cpp File Reference
#include "cddefines.h"
#include "vectorize.h"
#include "container_classes.h"
#include "thirdparty.h"
Include dependency graph for thirdparty.cpp:

Classes

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 dawson10 (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)
 
uint64 rotl (const uint64 x, int k)
 
void xoroshiro128plus (uint64 *pool, size_t size, uint64 state[], size_t ns)
 
void xoroshiro128plus_jump (uint64 &state0, uint64 &state1)
 
void xoshiro256starstar (uint64 *pool, size_t size, uint64 state[], size_t ns)
 
void xoshiro256starstar_jump (uint64 &state0, uint64 &state1, uint64 &state2, uint64 &state3)
 
uint64 splitmix64 (uint64 &state)
 
double dawson (double x)
 
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)
 
STATIC void MD5string_core (const string &str, uint32 state[4])
 
string MD5string (const string &str)
 
void MD5string (const string &str, uint64 md5sum[2])
 
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)
 
void insertToken (trieNode *root, const string &token)
 
size_t findUniqueLen (trieNode *root, const string &token)
 
size_t LevenshteinDistance (const string &s, const string &t)
 

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 const double b0_RP [4]
 
static const 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 const double erf_P []
 
static const double erf_Q []
 
static const double erf_R []
 
static const 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 []
 
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)

References BESSEL_I0_P1, BESSEL_I0_P2, BESSEL_I0_Q1, BESSEL_I0_Q2, 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 
)
void bessel_i0_i1_scaled ( double  x,
double *  i0val,
double *  i1val 
)
double bessel_i0_scaled ( double  x)

References BESSEL_I0_P1, BESSEL_I0_P2, BESSEL_I0_Q1, BESSEL_I0_Q2, DEBUG_ENTRY, ratevl_15_6(), and ratevl_7_8().

Here is the call graph for this function:

double bessel_i1 ( double  x)

References BESSEL_I1_P1, BESSEL_I1_P2, BESSEL_I1_Q1, BESSEL_I1_Q2, DEBUG_ENTRY, ratevl_15_6(), and ratevl_8_7().

Here is the call graph for this function:

double bessel_i1_scaled ( double  x)

References BESSEL_I1_P1, BESSEL_I1_P2, BESSEL_I1_Q1, BESSEL_I1_Q2, DEBUG_ENTRY, ratevl_15_6(), and ratevl_8_7().

Here is the call graph for this function:

double bessel_j0 ( double  x)

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)

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 
)

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

Referenced by AngerJ().

Here is the call graph for this function:

double bessel_k0 ( 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_k0_scaled ( double  x)
double bessel_k1 ( double  x)
double bessel_k1_scaled ( double  x)
double bessel_y0 ( double  x)

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)

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 
)

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)

References DEBUG_ENTRY.

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

References b0, b1, and b2.

Referenced by test_expn().

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

References frac().

Referenced by test_expn().

Here is the call graph for this function:

double dawson ( double  x)

References dawson(), and dawson10().

Referenced by dawson().

Here is the call graph for this function:

double dawson10 ( double  x,
int  order 
)
inline

References get_ptr(), lagrange(), max(), min(), and order().

Referenced by dawson(), and FastVoigtH().

Here is the call graph for this function:

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

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

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

Referenced by ColStrGBar(), CS_l_mixing_PS64_expI(), dqelg_(), e1_scaled(), expe1(), H21_cm_pops(), Hion_coll_ioniz_ratecoef(), Hydcs123(), hydro_vanRegemorter_deexcit(), mie_step(), newton_step(), 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)

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

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

Referenced by dqelg_(), H21_cm_pops(), Hion_coll_ioniz_ratecoef(), humlik(), IterRestart(), IterStart(), mie_step(), newton_step(), t_ran::normal(), qelg_(), RT_continuum(), RT_tau_reset(), and SanityCheckBegin().

Here is the call graph for this function:

double ellpk ( double  x)

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)

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

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

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

Here is the call graph for this function:

double expn2_scaled ( double  x)
inline

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

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

Referenced by bessel_jn(), expn(), and fc2().

Here is the call graph for this function:

realnum FastVoigtH ( realnum  a,
realnum  v 
)

References ASSERT, dawson10(), 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 
)

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

Here is the call graph for this function:

double fc2 ( long  n2)
inline

References factorial(), and TotalInsanity().

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

Here is the call graph for this function:

double fc2_scl ( long  n)
inline

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

Referenced by sjs().

Here is the call graph for this function:

size_t findUniqueLen ( trieNode root,
const string &  token 
)
double gegenbauer ( long  n,
double  al,
double  x 
)

References DEBUG_ENTRY.

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

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

Referenced by VoigtH().

Here is the call graph for this function:

double igam ( double  a,
double  x 
)

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 
)

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 
)

References igam_big, and igam_biginv.

Referenced by igamc(), and igamc_scaled().

double igamc_scaled ( double  a,
double  x 
)

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

Referenced by Recomb_Seaton59().

Here is the call graph for this function:

void insertToken ( trieNode root,
const string &  token 
)
size_t LevenshteinDistance ( const string &  s,
const string &  t 
)

References MIN3.

Referenced by Parser::ClosestMatch().

double lfactorial ( long  n)

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

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

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

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 
)

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 
)

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

Referenced by MD5string_core().

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

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

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

Referenced by t_mesh::InitMesh().

Here is the call graph for this function:

string MD5datastream ( fstream &  ioFile)

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

References DEBUG_ENTRY, and MD5string().

Referenced by 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

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

References DEBUG_ENTRY, MD5string_core(), and MD5swap().

Referenced by MD5datastream(), MD5file(), and t_ran::p_generate_random_seed().

Here is the call graph for this function:

void MD5string ( const string &  str,
uint64  md5sum[2] 
)

References DEBUG_ENTRY, MD5string_core(), and MD5swap().

Here is the call graph for this function:

STATIC void MD5string_core ( const string &  str,
uint32  state[4] 
)

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

Referenced by MD5string().

Here is the call graph for this function:

STATIC uint32 MD5swap ( uint32  word)

References DEBUG_ENTRY.

Referenced by MD5string().

double p1evl ( double  x,
const double  coef[],
int  N 
)
inline
double polevl ( double  x,
const double  coef[],
int  N 
)
inline
double ratevl_10_11 ( double  x,
const double  a[10],
const double  b[11] 
)
inline
double ratevl_11_10 ( double  x,
const double  a[11],
const double  b[10] 
)
inline
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
double ratevl_6_3 ( double  x,
const double  a[6],
const double  b[3] 
)
inline
double ratevl_6_4 ( double  x,
const double  a[6],
const double  b[4] 
)
inline
double ratevl_7_8 ( double  x,
const double  a[7],
const double  b[8] 
)
inline
double ratevl_8_7 ( double  x,
const double  a[8],
const double  b[7] 
)
inline
void rec6j ( double *  sixcof,
double  l2,
double  l3,
double  l4,
double  l5,
double  l6,
double *  l1min,
double *  l1max,
double *  lmatch,
long  ndim,
long *  ier 
)

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

Here is the call graph for this function:

uint64 rotl ( const uint64  x,
int  k 
)
inline
uint32 rotlFixed ( uint32  x,
unsigned int  y 
)
inline
double sg ( long  S)
inline

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 
)

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 
)

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

Here is the call graph for this function:

uint64 splitmix64 ( uint64 &  state)

Referenced by init_seed().

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 
)
void test_expn ( )

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

Here is the call graph for this function:

void xoroshiro128plus ( uint64 *  pool,
size_t  size,
uint64  state[],
size_t  ns 
)

References DEBUG_ENTRY, and rotl().

Referenced by t_ran::p_xoroshiro128plus().

Here is the call graph for this function:

void xoroshiro128plus_jump ( uint64 &  state0,
uint64 &  state1 
)

References DEBUG_ENTRY, and rotl().

Referenced by init_seed().

Here is the call graph for this function:

void xoshiro256starstar ( uint64 *  pool,
size_t  size,
uint64  state[],
size_t  ns 
)

References DEBUG_ENTRY, and rotl().

Referenced by t_ran::p_xoshiro256starstar().

Here is the call graph for this function:

void xoshiro256starstar_jump ( uint64 &  state0,
uint64 &  state1,
uint64 &  state2,
uint64 &  state3 
)

References DEBUG_ENTRY, and rotl().

Referenced by init_seed().

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,
}

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,
}

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,
}

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,
}

Referenced by bessel_j0(), and bessel_y0().

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

Referenced by bessel_j0().

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

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,
}

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,
}

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,
}

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,
}

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,
}

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,
}

Referenced by bessel_j1(), and bessel_y1().

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

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,
}

Referenced by bessel_j1().

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

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,
}

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
}

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

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
}

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

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
}

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

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
}

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

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
}

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

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
}

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

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
}

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

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
}

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

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
}

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

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

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

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
}

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

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

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

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

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

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
}

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

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
}

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

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
}

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

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
}

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

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

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

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

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

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
}

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

const double BIG = 1.44115188075855872E+17
static

Referenced by expn(), and ffun1().

const double C1 = 1.3862943611198906188e0
static

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

const double DR1 = 5.78318596294678452118e0
static

Referenced by bessel_j0().

const double DR2 = 3.04712623436620863991e1
static

Referenced by bessel_j0().

const double dsf[MXDSF]
static

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
}

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
}

Referenced by ellpk().

const 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
}

Referenced by erfce().

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

Referenced by erfce().

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

Referenced by erfce().

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

Referenced by erfce().

const double igam_big = 4.503599627370496e15
static

Referenced by igamc_fraction().

const double igam_biginv = 2.22044604925031308085e-16
static

Referenced by igamc_fraction().

const double MAXLOG = log(DBL_MAX)
static

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

const int N_DAWSON = 100
const double PIO4 = PI/4.
static

Referenced by bessel_j0(), and bessel_y0().

const double pre_factorial[NPRE_FACTORIAL]
static

Referenced by factorial().

const double SQ2OPI = sqrt(2./PI)
static
const double tbl_dawson[N_DAWSON+1]
static
const double THPIO4 = 3.*PI/4.
static

Referenced by bessel_j1(), and bessel_y1().

const double TWOOPI = 2./PI
static

Referenced by bessel_y0(), and bessel_y1().

const double Z1 = 1.46819706421238932572E1
static

Referenced by bessel_j1().

const double Z2 = 4.92184563216946036703E1
static

Referenced by bessel_j1().