GNU Octave  8.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
Faddeeva.cc File Reference
#include "Faddeeva.h"
#include <float.h>
#include <math.h>
Include dependency graph for Faddeeva.cc:

Go to the source code of this file.

Macros

#define _GNU_SOURCE
 
#define C(a, b)   ((a) + I*(b))
 
#define FADDEEVA(name)   Faddeeva_ ## name
 
#define FADDEEVA_RE(name)   Faddeeva_ ## name ## _re
 
#define Inf   (1./0.)
 
#define NaN   (0./0.)
 
#define USE_CONTINUED_FRACTION   1
 

Typedefs

typedef double complex cmplx
 

Functions

static cmplx cpolar (double r, double t)
 
static double erfcx_y100 (double y100)
 
cmplx Faddeeva_Dawson (cmplx z, double relerr)
 
double Faddeeva_Dawson_re (double x)
 
cmplx Faddeeva_erf (cmplx z, double relerr)
 
double Faddeeva_erf_re (double x)
 
cmplx Faddeeva_erfc (cmplx z, double relerr)
 
double Faddeeva_erfc_re (double x)
 
cmplx Faddeeva_erfcx (cmplx z, double relerr)
 
double Faddeeva_erfcx_re (double x)
 
cmplx Faddeeva_erfi (cmplx z, double relerr)
 
double Faddeeva_erfi_re (double x)
 
cmplx Faddeeva_w (cmplx z, double relerr)
 
double Faddeeva_w_im (double x)
 
static double sinc (double x, double sinx)
 
static double sinh_taylor (double x)
 
static double sqr (double x)
 
static double w_im_y100 (double y100, double x)
 

Variables

static const double expa2n2 []
 

Macro Definition Documentation

◆ _GNU_SOURCE

#define _GNU_SOURCE

Definition at line 225 of file Faddeeva.cc.

◆ C

#define C (   a,
 
)    ((a) + I*(b))

Definition at line 259 of file Faddeeva.cc.

◆ FADDEEVA

#define FADDEEVA (   name)    Faddeeva_ ## name

Definition at line 232 of file Faddeeva.cc.

◆ FADDEEVA_RE

#define FADDEEVA_RE (   name)    Faddeeva_ ## name ## _re

Definition at line 233 of file Faddeeva.cc.

◆ Inf

#define Inf   (1./0.)

Definition at line 260 of file Faddeeva.cc.

◆ NaN

#define NaN   (0./0.)

Definition at line 261 of file Faddeeva.cc.

◆ USE_CONTINUED_FRACTION

#define USE_CONTINUED_FRACTION   1

Typedef Documentation

◆ cmplx

typedef double complex cmplx

Definition at line 230 of file Faddeeva.cc.

Function Documentation

◆ cpolar()

static cmplx cpolar ( double  r,
double  t 
)
inlinestatic

Definition at line 264 of file Faddeeva.cc.

References C, isnan(), and r.

Referenced by Faddeeva_w().

◆ erfcx_y100()

static double erfcx_y100 ( double  y100)
static

Definition at line 1017 of file Faddeeva.cc.

Referenced by Faddeeva_erfcx_re().

◆ Faddeeva_Dawson()

cmplx Faddeeva_Dawson ( cmplx  z,
double  relerr 
)

Definition at line 478 of file Faddeeva.cc.

References C, Faddeeva::erfcx(), FADDEEVA, FADDEEVA_RE, isnan(), NaN, Faddeeva::w(), Faddeeva::w_im(), and x.

◆ Faddeeva_Dawson_re()

double Faddeeva_Dawson_re ( double  x)

Definition at line 471 of file Faddeeva.cc.

References FADDEEVA, Faddeeva::w_im(), and x.

◆ Faddeeva_erf()

cmplx Faddeeva_erf ( cmplx  z,
double  relerr 
)

Definition at line 316 of file Faddeeva.cc.

References C, Faddeeva::erf(), FADDEEVA, FADDEEVA_RE, Inf, isnan(), NaN, Faddeeva::w(), Faddeeva::w_im(), and x.

◆ Faddeeva_erf_re()

double Faddeeva_erf_re ( double  x)

Definition at line 284 of file Faddeeva.cc.

References Faddeeva::erf(), Faddeeva::erfcx(), FADDEEVA_RE, and x.

◆ Faddeeva_erfc()

cmplx Faddeeva_erfc ( cmplx  z,
double  relerr 
)

Definition at line 437 of file Faddeeva.cc.

References C, Faddeeva::erfcx(), FADDEEVA, FADDEEVA_RE, Inf, Faddeeva::w(), Faddeeva::w_im(), and x.

◆ Faddeeva_erfc_re()

double Faddeeva_erfc_re ( double  x)

Definition at line 422 of file Faddeeva.cc.

References Faddeeva::erfc(), Faddeeva::erfcx(), FADDEEVA_RE, and x.

◆ Faddeeva_erfcx()

cmplx Faddeeva_erfcx ( cmplx  z,
double  relerr 
)

Definition at line 278 of file Faddeeva.cc.

References C, FADDEEVA, and Faddeeva::w().

◆ Faddeeva_erfcx_re()

double Faddeeva_erfcx_re ( double  x)

Definition at line 1426 of file Faddeeva.cc.

References erfcx_y100(), and x.

◆ Faddeeva_erfi()

cmplx Faddeeva_erfi ( cmplx  z,
double  relerr 
)

Definition at line 408 of file Faddeeva.cc.

References C, Faddeeva::erf(), and FADDEEVA.

◆ Faddeeva_erfi_re()

double Faddeeva_erfi_re ( double  x)

Definition at line 415 of file Faddeeva.cc.

References FADDEEVA, Inf, Faddeeva::w_im(), and x.

◆ Faddeeva_w()

cmplx Faddeeva_w ( cmplx  z,
double  relerr 
)

◆ Faddeeva_w_im()

double Faddeeva_w_im ( double  x)

Definition at line 1868 of file Faddeeva.cc.

References w_im_y100(), and x.

◆ sinc()

static double sinc ( double  x,
double  sinx 
)
inlinestatic

Definition at line 613 of file Faddeeva.cc.

References x.

Referenced by Faddeeva_w().

◆ sinh_taylor()

static double sinh_taylor ( double  x)
inlinestatic

Definition at line 618 of file Faddeeva.cc.

References x.

Referenced by Faddeeva_w().

◆ sqr()

static double sqr ( double  x)
inlinestatic

Definition at line 623 of file Faddeeva.cc.

References x.

Referenced by Faddeeva_w().

◆ w_im_y100()

static double w_im_y100 ( double  y100,
double  x 
)
static

Definition at line 1462 of file Faddeeva.cc.

References NaN, and x.

Referenced by Faddeeva_w_im().

Variable Documentation

◆ expa2n2

const double expa2n2[]
static

Definition at line 627 of file Faddeeva.cc.

Referenced by Faddeeva_w().