cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Data Structures | Functions | Variables
thirdparty.h File Reference
#include "physconst.h"
Include dependency graph for thirdparty.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  UltraGen
 

Functions

bool linfit (long n, const double x[], const double y[], double &a, double &siga, double &b, double &sigb)
 
double factorial (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 erf (double)
 
double erfc (double)
 
double erfce (double)
 
double igam (double a, double x)
 
double igamc (double a, double x)
 
double igamc_scaled (double a, double x)
 
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 *k0val, double *k1val)
 
void bessel_i0_i1_scaled (double x, double *k0val, double *k1val)
 
void sincos (double x, double *s, double *c)
 
double e1 (double x)
 
double e1_scaled (double x)
 
double e2 (double t)
 
void init_genrand (unsigned long s)
 
void init_by_array (unsigned long init_key[], int key_length)
 
unsigned long genrand_int32 (void)
 
long genrand_int31 (void)
 
double genrand_real1 (void)
 
double genrand_real2 (void)
 
double genrand_real3 (void)
 
double genrand_res53 (void)
 
void spline_cubic_set (long n, const double t[], const double y[], double ypp[], int ibcbeg, double ybcbeg, int ibcend, double ybcend)
 
void spline_cubic_val (long n, const double t[], double tval, const double y[], const double ypp[], double *yval, double *ypval, double *yppval)
 
void spline (const double x[], const double y[], long int n, double yp1, double ypn, double y2a[])
 
void splint (const double xa[], const double ya[], const double y2a[], long int n, double x, double *y)
 
void spldrv (const double xa[], const double ya[], const double y2a[], long int n, double x, double *y)
 
void splint_safe (const double xa[], const double ya[], const double y2a[], long int n, double x, double *y, bool *lgOutOfBounds)
 
void spldrv_safe (const double xa[], const double ya[], const double y2a[], long int n, double x, double *y, bool *lgOutOfBounds)
 
double lagrange (const double x[], const double y[], long n, double xval)
 
double linint (const double x[], const double y[], long n, double xval)
 
template<class T >
long hunt_bisect (const T x[], long n, T xval)
 
template<class T >
long hunt_bisect (const vector< T > &x, T xval)
 
template<class T >
long hunt_bisect (const vector< T > &x, size_t n, T xval)
 
template<class T >
long hunt_bisect_reverse (const T x[], long n, T xval)
 
template<class T >
long hunt_bisect_reverse (const vector< T > &x, T xval)
 
template<class T >
long hunt_bisect_reverse (const vector< T > &x, size_t n, T xval)
 
void getrf_wrapper (long M, long N, double *A, long lda, int32 *ipiv, int32 *info)
 
void getrs_wrapper (char trans, long N, long nrhs, double *A, long lda, int32 *ipiv, double *B, long ldb, int32 *info)
 
void humlik (int n, const realnum x[], realnum y, realnum k[])
 
realnum FastVoigtH (realnum a, realnum v)
 
void FastVoigtH (realnum a, const realnum v[], realnum y[], size_t n)
 
void VoigtH (realnum a, const realnum v[], realnum y[], int n)
 
void VoigtU (realnum a, const realnum v[], realnum y[], int n)
 
double VoigtH0 (double a)
 
double VoigtU0 (double a)
 
string MD5file (const char *fnam, access_scheme scheme=AS_DEFAULT)
 
string MD5datafile (const char *fnam, access_scheme scheme=AS_DEFAULT)
 
string MD5datastream (fstream &ioFile)
 
string MD5string (const string &str)
 
void test_expn ()
 
void chbfit (double a, double b, vector< double > &c, double(*func)(double))
 
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)
 
double gegenbauer (long n, double al, double x)
 
bool Triangle2 (long J1, long J2, long J3)
 
double sjs (long j1, long j2, long j3, long l1, long l2, long l3)
 
double SixJFull (long j1, long j2, long j3, long j4, long j5, long j6)
 
void rec6j (double *sixcof, double l2, double l3, double l4, double l5, double l6, double *l1min, double *l1max, double *lmatch, long ndim, long *ier)
 

Variables

static const int NPRE_FACTORIAL = 171
 
static const int MXDSF = 340
 
static const unsigned int NMD5 = 32
 

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 *  k0val,
double *  k1val 
)

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 *  k0val,
double *  k1val 
)

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.

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 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 erf ( double  )

the standard error functions

double erfc ( double  )

Referenced by CollisSuppres().

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 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 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 getrf_wrapper ( long  M,
long  N,
double *  A,
long  lda,
int32 *  ipiv,
int32 *  info 
)

getrf_wrapper return value is zero for success, non-zero is error condition

Parameters
M
N
*A
lda
*ipiv
*info

Definition at line 47 of file thirdparty_lapack.cpp.

References ASSERT, DGETRF(), and INT32_MAX.

Referenced by find_solution(), iso_level(), SanityCheckBegin(), and solve_system().

Here is the call graph for this function:

void getrs_wrapper ( char  trans,
long  N,
long  nrhs,
double *  A,
long  lda,
int32 *  ipiv,
double *  B,
long  ldb,
int32 *  info 
)

getrs_wrapper return value is zero for success, non-zero is error condition

Parameters
trans
N
nrhs
*A
lda
*ipiv
*B
ldb
*info

Definition at line 69 of file thirdparty_lapack.cpp.

References ASSERT, DGETRS(), and INT32_MAX.

Referenced by find_solution(), iso_level(), SanityCheckBegin(), and solve_system().

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:

template<class T >
long hunt_bisect ( const T  x[],
long  n,
xval 
)
inline

find index ilo such that x[ilo] <= xval < x[ilo+1] using bisection this version implicitly assumes that x is monotonically increasing

Definition at line 303 of file thirdparty.h.

Referenced by hunt_bisect(), t_mesh::ipointC(), iso_dielec_recomb_rate(), t_mesh::ithreshC(), linint(), mc_escape(), RebinFind(), spline_cubic_val(), TempInterp(), and TempInterp2().

template<class T >
long hunt_bisect ( const vector< T > &  x,
xval 
)
inline

vector<> versions of the above

Definition at line 322 of file thirdparty.h.

References get_ptr(), and hunt_bisect().

Here is the call graph for this function:

template<class T >
long hunt_bisect ( const vector< T > &  x,
size_t  n,
xval 
)
inline

Definition at line 329 of file thirdparty.h.

References ASSERT, get_ptr(), and hunt_bisect().

Here is the call graph for this function:

template<class T >
long hunt_bisect_reverse ( const T  x[],
long  n,
xval 
)
inline

find index ilo such that x[ilo] >= xval > x[ilo+1] using bisection this version implicitly assumes that x is monotonically decreasing

Definition at line 340 of file thirdparty.h.

Referenced by hunt_bisect_reverse().

template<class T >
long hunt_bisect_reverse ( const vector< T > &  x,
xval 
)
inline

vector<> versions of the above

Definition at line 359 of file thirdparty.h.

References get_ptr(), and hunt_bisect_reverse().

Here is the call graph for this function:

template<class T >
long hunt_bisect_reverse ( const vector< T > &  x,
size_t  n,
xval 
)
inline

Definition at line 366 of file thirdparty.h.

References ASSERT, get_ptr(), and hunt_bisect_reverse().

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:

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 lagrange ( const double  x[],
const double  y[],
long  n,
double  xval 
)
lagrange: do lagrange interpolation of order n on x[], y[]

use with caution, especialy for high order n! using spline interpolation above is preferred

Parameters
x[]
y[]
n
xvaldo lagrange interpolation of order n on x[], y[]

Definition at line 430 of file thirdparty_interpolate.cpp.

References DEBUG_ENTRY.

Referenced by t_gaunt::gauntff(), TempInterp(), and TempInterp2().

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  x[],
const double  y[],
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:

double linint ( const double  x[],
const double  y[],
long  n,
double  xval 
)
do linear interpolation on x[], y[];

it is assumed that x[] is strictly monotonically increasing

Parameters
x[]
y[]
n
xvaldo linear interpolation on x[], y[]; it is assumed that x[] is strictly monotonically increasing

Definition at line 453 of file thirdparty_interpolate.cpp.

References ASSERT, DEBUG_ENTRY, and hunt_bisect().

Referenced by CHIANTI_Upsilon(), cross_section(), DynaIterStart(), GetHS98CrossSection(), InterpCollRate(), lines_helium(), MolDissocCrossSection(), StoutCollRate(), and DepthTable::tabval().

Here is the call graph for this function:

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:

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:

void sincos ( double  x,
double *  s,
double *  c 
)
inline

Definition at line 83 of file thirdparty.h.

Referenced by sinpar().

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 spldrv ( const double  xa[],
const double  ya[],
const double  y2a[],
long int  n,
double  x,
double *  y 
)
inline

Definition at line 184 of file thirdparty.h.

References spline_cubic_val().

Referenced by spldrv_safe().

Here is the call graph for this function:

void spldrv_safe ( const double  xa[],
const double  ya[],
const double  y2a[],
long int  n,
double  x,
double *  y,
bool *  lgOutOfBounds 
)
inline

Definition at line 239 of file thirdparty.h.

References DEBUG_ENTRY, MAX2, MIN2, SAFETY, and spldrv().

Referenced by GetProbDistr_LowLimit(), and qheat().

Here is the call graph for this function:

void spline ( const double  x[],
const double  y[],
long int  n,
double  yp1,
double  ypn,
double  y2a[] 
)
inline
spline: set of routines to do spline interpolation

call spline first to set coefficients up, then call splint to interpolate spldrv gives dy/dx(x) rather than y(x) splint_safe and spldrv_safe check whether x is within bounds

Parameters
x[]- array of x values given
y[]- array of y values given
n- number of points in these arrays
yp1some sort of boundary condition, set to 2e31
yp2some sort of boundary condition, set to 2e31
y2a[]- array n long to save coefficients

Definition at line 150 of file thirdparty.h.

References spline_cubic_set().

Referenced by atmdat_2phot_setSplineCoefs(), atmdat_CHIANTI_readin(), hmiopc(), HyperfineCreate(), InitEmissivities(), and InitEnthalpy().

Here is the call graph for this function:

void spline_cubic_set ( long  n,
const double  t[],
const double  y[],
double  ypp[],
int  ibcbeg,
double  ybcbeg,
int  ibcend,
double  ybcend 
)

Definition at line 105 of file thirdparty_interpolate.cpp.

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

Referenced by spline().

Here is the call graph for this function:

void spline_cubic_val ( long  n,
const double  t[],
double  tval,
const double  y[],
const double  ypp[],
double *  yval,
double *  ypval,
double *  yppval 
)

Definition at line 328 of file thirdparty_interpolate.cpp.

References DEBUG_ENTRY, and hunt_bisect().

Referenced by spldrv(), and splint().

Here is the call graph for this function:

void splint ( const double  xa[],
const double  ya[],
const double  y2a[],
long int  n,
double  x,
double *  y 
)
inline
splint: do spline interpolation
Parameters
x[]- array of x values given
y[]- array of y valus
y2a[]- array of save values found above
n- number of points in these arrays
xvalue where x is desired
y2a[]- array n long to save coefficients

Definition at line 173 of file thirdparty.h.

References spline_cubic_val().

Referenced by atmdat_2phot_shapefunction(), CHIANTI_Upsilon(), hmiopc(), HyperfineCS(), InitEmissivities(), and splint_safe().

Here is the call graph for this function:

void splint_safe ( const double  xa[],
const double  ya[],
const double  y2a[],
long int  n,
double  x,
double *  y,
bool *  lgOutOfBounds 
)
inline

Definition at line 199 of file thirdparty.h.

References DEBUG_ENTRY, MAX2, MIN2, SAFETY, and splint().

Referenced by GetProbDistr_HighLimit(), GetProbDistr_LowLimit(), GrainChargeTemp(), GrainTemperature(), inv_ufunct(), RebinQHeatResults(), TryDoubleStep(), and ufunct().

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:

bool Triangle2 ( long  J1,
long  J2,
long  J3 
)
inline

Definition at line 497 of file thirdparty.h.

Referenced by SixJFull(), and sjs().

void VoigtH ( realnum  a,
const realnum  v[],
realnum  y[],
int  n 
)
inline

Definition at line 418 of file thirdparty.h.

References FastVoigtH(), and humlik().

Referenced by ParseDrive(), RT_line_fine_opacity(), and VoigtU().

Here is the call graph for this function:

double VoigtH0 ( double  a)
inline

Definition at line 439 of file thirdparty.h.

References erfce().

Here is the call graph for this function:

void VoigtU ( realnum  a,
const realnum  v[],
realnum  y[],
int  n 
)
inline

Definition at line 431 of file thirdparty.h.

References VoigtH().

Referenced by mc_escape(), and outline_base().

Here is the call graph for this function:

double VoigtU0 ( double  a)
inline

Definition at line 445 of file thirdparty.h.

References erfce().

Here is the call graph for this function:

Variable Documentation

const int MXDSF = 340
static

Definition at line 28 of file thirdparty.h.

Referenced by fc2_scl().

const unsigned int NMD5 = 32
static

the size of an MD5 checksum in characters

Definition at line 451 of file thirdparty.h.

Referenced by InitGridBin(), lgCompileAtmosphere(), lgValidBinFile(), mie_read_opc(), and ReadTable().

const int NPRE_FACTORIAL = 171
static

number of predefined factorials, so largest factorial that can be represented as double is (NPRE_FACTORIAL-1)!

Definition at line 25 of file thirdparty.h.

Referenced by factorial(), and H_photo_cs_lin().