Crate rgsl [−] [src]
A Rust binding for the GSL library (the GNU Scientific Library).
Installation
This binding requires the GSL library library to be installed.
This crate works with Cargo and is on crates.io. Just add the
following to your Cargo.toml
file:
[dependencies]
GSL = "*"
Add the following line to your source code:
extern crate rgsl;
Documentation
You can access the rgsl documentation locally, just build it:
> cargo doc --open
Then open this file with an internet browser:
file:///{rgsl_location}/target/doc/rgsl/index.html
You can also access the latest build of the documentation via the internet here.
License
rust-GSL is a wrapper for GSL, therefore inherits the GPL license.
Here is the list of all modules :
Reexports
pub use types::ComplexF32; |
pub use types::ComplexF64; |
pub use types::Result; |
pub use types::ResultE10; |
pub use types::MatrixF64; |
pub use types::MatrixF32; |
pub use types::MatrixView; |
pub use types::MatrixComplexF64; |
pub use types::MatrixComplexF32; |
pub use types::VectorF64; |
pub use types::VectorF32; |
pub use types::VectorView; |
pub use types::VectorComplexF64; |
pub use types::VectorComplexF32; |
pub use types::Rng; |
pub use types::RngType; |
pub use types::Permutation; |
pub use types::ChebSeries; |
pub use types::Combination; |
pub use types::PolyComplex; |
pub use types::DiscreteHankel; |
pub use types::EigenSymmetricWorkspace; |
pub use types::EigenSymmetricVWorkspace; |
pub use types::EigenHermitianWorkspace; |
pub use types::EigenHermitianVWorkspace; |
pub use types::EigenNonSymmWorkspace; |
pub use types::EigenNonSymmVWorkspace; |
pub use types::EigenGenSymmWorkspace; |
pub use types::EigenGenSymmVWorkspace; |
pub use types::EigenGenHermWorkspace; |
pub use types::EigenGenHermVWorkspace; |
pub use types::EigenGenWorkspace; |
pub use types::EigenGenVWorkspace; |
pub use types::FftComplexWaveTable; |
pub use types::FftComplexWorkspace; |
pub use types::Histogram; |
pub use types::HistogramPdf; |
pub use types::Histogram2D; |
pub use types::Histogram2DPdf; |
pub use types::IntegrationWorkspace; |
pub use types::IntegrationQawsTable; |
pub use types::IntegrationQawoTable; |
pub use types::CquadWorkspace; |
pub use types::GLFixedTable; |
pub use types::InterpAccel; |
pub use types::Interp; |
pub use types::InterpType; |
pub use types::Spline; |
pub use types::Minimizer; |
pub use types::MinimizerType; |
pub use types::PlainMonteCarlo; |
pub use types::MiserMonteCarlo; |
pub use types::MiserParams; |
pub use types::VegasMonteCarlo; |
pub use types::VegasParams; |
pub use types::NTuples; |
pub use types::MultiSet; |
pub use types::ODEiv2System; |
pub use types::ODEiv2Step; |
pub use types::ODEiv2StepType; |
pub use types::ODEiv2Control; |
pub use types::ODEiv2Evolve; |
pub use types::ODEiv2Driver; |
pub use types::QRng; |
pub use types::QRngType; |
pub use types::LevinUWorkspace; |
pub use types::LevinUTruncWorkspace; |
pub use types::Wavelet; |
pub use types::WaveletType; |
pub use types::WaveletWorkspace; |
pub use types::MultiFitFdfSolver; |
pub use types::MultiFitFunction; |
pub use types::MultiFitFdfSolverType; |
pub use types::MultiFitFunctionFdf; |
pub use types::RootFdfSolver; |
pub use types::RootFdfSolverType; |
pub use types::RootFSolver; |
pub use types::RootFSolverType; |
pub use types::SimAnnealing; |
pub use types::SimAnnealingParams; |
pub use elementary::Elementary; |
pub use pow::Pow; |
pub use trigonometric::Trigonometric; |
pub use types::rng; |
Modules
airy | |
bessel | |
blas | |
cblas | |
clausen |
The Clausen function is defined by the following integral, |
coulomb | |
coupling_coefficients |
The Wigner 3-j, 6-j and 9-j symbols give the coupling coefficients for combined angular momentum vectors. Since the arguments of the standard coupling coefficient functions are integer or half-integer, the arguments of the following functions are, by convention, integers equal to twice the actual spin value. |
dawson |
The Dawson integral is defined by \exp(-x2) \int_0x dt \exp(t2). A table of Dawson’s integral can be found in Abramowitz & Stegun, Table 7.5. |
debye |
The Debye functions D_n(x) are defined by the following integral, |
dilogarithm | |
eigen | |
elementary | |
elementary_operations | |
elliptic |
Further information about the elliptic integrals can be found in Abramowitz & Stegun, Chapter 17. |
error |
The error function is described in Abramowitz & Stegun, Chapter 7. |
exponential | |
exponential_integrals | |
fermi_dirac | |
fft | |
fit |
Linear Regression |
gamma_beta |
This following routines compute the gamma and beta functions in their full and incomplete forms, as well as various kinds of factorials. |
gegenbauer |
The Gegenbauer polynomials are defined in Abramowitz & Stegun, Chapter 22, where they are known as Ultraspherical polynomials. |
hypergeometric |
Hypergeometric functions are described in Abramowitz & Stegun, Chapters 13 and 15. |
integration | |
interpolation | |
jacobian_elliptic |
The Jacobian Elliptic functions are defined in Abramowitz & Stegun, Chapter 16. |
laguerre |
The generalized Laguerre polynomials are defined in terms of confluent hypergeometric functions as La_n(x) = ((a+1)_n / n!) 1F1(-n,a+1,x), and are sometimes referred to as the associated Laguerre polynomials. They are related to the plain Laguerre polynomials L_n(x) by L0_n(x) = L_n(x) and Lk_n(x) = (-1)k (dk/dxk) L_(n+k)(x). For more information see Abramowitz & Stegun, Chapter 22. |
lambert_w |
Lambert’s W functions, W(x), are defined to be solutions of the equation W(x) \exp(W(x)) = x. This function has multiple branches for x < 0; however, it has only two real-valued branches. We define W_0(x) to be the principal branch, where W > -1 for x < 0, and W_{-1}(x) to be the other real branch, where W < -1 for x < 0. |
legendre |
The Legendre Functions and Legendre Polynomials are described in Abramowitz & Stegun, Chapter 8. |
linear_algebra | |
logarithm |
Information on the properties of the Logarithm function can be found in Abramowitz & Stegun, Chapter 4. |
minimizer | |
multifit | |
numerical_differentiation | |
physical_constant |
Physical Constants |
polynomials | |
pow | |
power |
The following functions are equivalent to the function gsl_pow_int (see 1Small integer powers1) with an error estimate. |
psi |
The polygamma functions of order n are defined by |
randist | |
roots | |
sort | |
statistics | |
synchrotron | |
transport |
The transport functions J(n,x) are defined by the integral representations J(n,x) := \int_0x dt tn et /(et - 1)2. |
trigonometric | |
types | |
util | |
wavelet_transforms | |
zeta |
The Riemann zeta function is defined in Abramowitz & Stegun, Section 23.2. |
Macros
ffi_wrap |
Structs
IOStream |
A wrapper to handle I/O operations between GSL and rust |
RootFunction | |
RootFunctionFdf |
Enums
EigenSort | |
FftDirection |
this gives the sign in the formula |
GaussKonrodRule |
The low-level integration rules in QUADPACK are identified by small integers (1-6). We'll use symbolic constants to refer to them. |
IntegrationQawo |
Used by workspace for QAWO integrator |
Mode | |
ODEiv |
Possible return values for an hadjust() evolution method for ordinary differential equations |
Value | |
VegasMode |
Used by VegasMonteCarlo struct |
WaveletDirection |
Statics
DBL_EPSILON | |
DBL_MAX | |
DBL_MIN | |
LOG_DBL_MAX | |
NAN | |
NEGINF | |
POSINF | |
ROOT3_DBL_EPSILON | |
ROOT3_DBL_MAX | |
ROOT3_DBL_MIN | |
ROOT4_DBL_EPSILON | |
ROOT4_DBL_MAX | |
ROOT4_DBL_MIN | |
ROOT5_DBL_EPSILON | |
ROOT5_DBL_MAX | |
ROOT5_DBL_MIN | |
ROOT6_DBL_EPSILON | |
ROOT6_DBL_MAX | |
ROOT6_DBL_MIN | |
SF_DOUBLEFACT_NMAX |
The maximum n such that gsl_sf_doublefact(n) does not give an overflow. |
SF_FACT_NMAX |
The maximum n such that gsl_sf_fact(n) does not give an overflow. |
SF_GAMMA_XMAX |
The maximum x such that gamma(x) is not considered an overflow. |
SF_MATHIEU_COEFF | |
SQRT_DBL_EPSILON | |
SQRT_DBL_MAX | |
SQRT_DBL_MIN |
Type Definitions
GSLResult |
A type for results generated by GSL functions where |
comparison_fn | |
function | |
integration_function | |
monte_function | |
select_function | |
value_function |