Skip to main content

Crate torsh_special

Crate torsh_special 

Source
Expand description

Special mathematical functions for ToRSh

Re-exports§

pub use scirs2_integration::bessel_i0_scirs2;
pub use scirs2_integration::bessel_i1_scirs2;
pub use scirs2_integration::bessel_j0_scirs2;
pub use scirs2_integration::bessel_j1_scirs2;
pub use scirs2_integration::bessel_jn_scirs2;
pub use scirs2_integration::bessel_k0_scirs2;
pub use scirs2_integration::bessel_k1_scirs2;
pub use scirs2_integration::bessel_y0_scirs2;
pub use scirs2_integration::bessel_y1_scirs2;
pub use scirs2_integration::bessel_yn_scirs2;
pub use scirs2_integration::beta;
pub use scirs2_integration::digamma;
pub use scirs2_integration::erf;
pub use scirs2_integration::erfc;
pub use scirs2_integration::erfcx;
pub use scirs2_integration::erfinv;
pub use scirs2_integration::fresnel;
pub use scirs2_integration::fresnel_c;
pub use scirs2_integration::fresnel_s;
pub use scirs2_integration::gamma;
pub use scirs2_integration::lgamma;
pub use scirs2_integration::polygamma;
pub use scirs2_integration::sinc;
pub use elliptic::elliptic_e;
pub use elliptic::elliptic_e_incomplete;
pub use elliptic::elliptic_f;
pub use elliptic::elliptic_k;
pub use elliptic::jacobi_cn;
pub use elliptic::jacobi_dn;
pub use elliptic::jacobi_sn;
pub use elliptic::theta_1;
pub use elliptic::theta_2;
pub use elliptic::theta_3;
pub use elliptic::theta_4;
pub use elliptic::weierstrass_p;
pub use elliptic::weierstrass_sigma;
pub use elliptic::weierstrass_zeta;
pub use exponential_integrals::cosine_integral;
pub use exponential_integrals::exponential_integral_e1;
pub use exponential_integrals::exponential_integral_ei;
pub use exponential_integrals::exponential_integral_en;
pub use exponential_integrals::hyperbolic_cosine_integral;
pub use exponential_integrals::hyperbolic_sine_integral;
pub use exponential_integrals::logarithmic_integral;
pub use exponential_integrals::sine_integral;
pub use hypergeometric::appell_f1;
pub use hypergeometric::hypergeometric_1f1;
pub use hypergeometric::hypergeometric_2f1;
pub use hypergeometric::hypergeometric_pfq;
pub use hypergeometric::hypergeometric_u;
pub use hypergeometric::meijer_g;
pub use orthogonal_polynomials::chebyshev_t;
pub use orthogonal_polynomials::chebyshev_u;
pub use orthogonal_polynomials::gegenbauer_c;
pub use orthogonal_polynomials::hermite_h;
pub use orthogonal_polynomials::hermite_he;
pub use orthogonal_polynomials::jacobi_p;
pub use orthogonal_polynomials::laguerre_l;
pub use orthogonal_polynomials::laguerre_l_associated;
pub use orthogonal_polynomials::legendre_p;
pub use orthogonal_polynomials::legendre_p_associated;
pub use advanced::barnes_g;
pub use advanced::dirichlet_eta;
pub use advanced::hurwitz_zeta;
pub use advanced::polylogarithm;
pub use advanced::riemann_zeta;
pub use advanced_special::dawson;
pub use advanced_special::kelvin_bei;
pub use advanced_special::kelvin_ber;
pub use advanced_special::kelvin_kei;
pub use advanced_special::kelvin_ker;
pub use advanced_special::parabolic_cylinder_d;
pub use advanced_special::spence;
pub use advanced_special::struve_h;
pub use advanced_special::struve_l;
pub use advanced_special::voigt_profile;
pub use airy::airy_ai;
pub use airy::airy_ai_prime;
pub use airy::airy_bi;
pub use airy::airy_bi_prime;
pub use coulomb::coulomb_f;
pub use coulomb::coulomb_g;
pub use coulomb::coulomb_sigma;
pub use lommel::lommel_S;
pub use lommel::lommel_s;
pub use lommel::lommel_u;
pub use lommel::lommel_v;
pub use mathieu::mathieu_Ce;
pub use mathieu::mathieu_Se;
pub use mathieu::mathieu_a;
pub use mathieu::mathieu_b;
pub use mathieu::mathieu_ce;
pub use mathieu::mathieu_se;
pub use spheroidal::oblate_angular;
pub use spheroidal::oblate_angular_tensor;
pub use spheroidal::oblate_radial;
pub use spheroidal::oblate_radial_tensor;
pub use spheroidal::prolate_angular;
pub use spheroidal::prolate_angular_tensor;
pub use spheroidal::prolate_radial;
pub use spheroidal::prolate_radial_tensor;
pub use spheroidal::spheroidal_eigenvalue;
pub use lambert_w::lambert_w;
pub use lambert_w::lambert_w_complex;
pub use lambert_w::lambert_w_derivative;
pub use lambert_w::lambert_w_principal;
pub use lambert_w::lambert_w_secondary;
pub use lambert_w::applications::solve_exponential_equation;
pub use lambert_w::applications::solve_x_to_x_equals_c;
pub use lambert_w::applications::tree_function;
pub use lambert_w::applications::wright_omega;
pub use statistical::chi_squared_cdf;
pub use statistical::f_distribution_cdf;
pub use statistical::incomplete_beta;
pub use statistical::normal_cdf;
pub use statistical::normal_cdf_general;
pub use statistical::normal_pdf;
pub use statistical::normal_pdf_general;
pub use statistical::student_t_cdf;
pub use complex::complex_airy_ai_c64;
pub use complex::complex_airy_bi_c64;
pub use complex::complex_bessel_j_c32;
pub use complex::complex_bessel_j_c64;
pub use complex::complex_bessel_y_c32;
pub use complex::complex_bessel_y_c64;
pub use complex::complex_beta_c32;
pub use complex::complex_beta_c64;
pub use complex::complex_erf_c32;
pub use complex::complex_erf_c64;
pub use complex::complex_erfc_c32;
pub use complex::complex_erfc_c64;
pub use complex::complex_gamma_c32;
pub use complex::complex_gamma_c64;
pub use complex::complex_incomplete_gamma_c64;
pub use complex::complex_log_principal;
pub use complex::complex_polygamma_c32;
pub use complex::complex_polygamma_c64;
pub use complex::complex_pow_principal;
pub use complex::complex_sqrt_principal;
pub use complex::complex_zeta_c32;
pub use complex::complex_zeta_c64;
pub use error_handling::error_recovery::clamp_to_finite;
pub use error_handling::error_recovery::gradual_clamp;
pub use error_handling::error_recovery::replace_problematic_values;
pub use error_handling::safe_functions::safe_bessel_j0;
pub use error_handling::safe_functions::safe_bessel_j1;
pub use error_handling::safe_functions::safe_bessel_y0;
pub use error_handling::safe_functions::safe_bessel_y1;
pub use error_handling::safe_functions::safe_erf;
pub use error_handling::safe_functions::safe_erfc;
pub use error_handling::safe_functions::safe_gamma;
pub use error_handling::safe_functions::safe_lgamma;
pub use error_handling::DomainConstraints;
pub use error_handling::InputValidation;
pub use fast_approximations::atanh_fast;
pub use fast_approximations::bessel_j0_fast;
pub use fast_approximations::cos_fast;
pub use fast_approximations::cosh_fast;
pub use fast_approximations::erf_fast;
pub use fast_approximations::erfc_fast;
pub use fast_approximations::exp_fast;
pub use fast_approximations::gamma_fast;
pub use fast_approximations::log_fast;
pub use fast_approximations::sin_fast;
pub use fast_approximations::sinh_fast;
pub use fast_approximations::tanh_fast;
pub use lookup_tables::bessel_j0_optimized;
pub use lookup_tables::erf_optimized;
pub use lookup_tables::factorial;
pub use lookup_tables::gamma_optimized;
pub use lookup_tables::POLY_COEFFS;
pub use simd_optimizations::erf_simd;
pub use simd_optimizations::exp_family_simd;
pub use simd_optimizations::gamma_simd;
pub use simd_optimizations::ExpVariant;
pub use smart_caching::cache_stats;
pub use smart_caching::cached_compute;
pub use smart_caching::clear_cache;
pub use smart_caching::function_ids;
pub use smart_caching::CacheStats;
pub use smart_caching::FloatKey;
pub use smart_caching::SmartCache;
pub use trigonometric::sinc as sinc_unnormalized;
pub use visualization::analyze_function_behavior;
pub use visualization::benchmark_optimization_levels;
pub use visualization::compare_function_accuracy;
pub use visualization::generate_ascii_plot;
pub use visualization::print_accuracy_report;
pub use visualization::print_analysis_report;
pub use visualization::AccuracyComparison;
pub use visualization::FunctionAnalysis;
pub use visualization::Monotonicity;
pub use visualization::PlotData;
pub use constants::APERY;
pub use constants::CATALAN;
pub use constants::DOTTIE;
pub use constants::EULER_GAMMA;
pub use constants::FEIGENBAUM_ALPHA;
pub use constants::FEIGENBAUM_DELTA;
pub use constants::GLAISHER_KINKELIN;
pub use constants::GOLDEN_RATIO;
pub use constants::GOLDEN_RATIO_RECIPROCAL;
pub use constants::KHINCHIN;
pub use constants::LEVY;
pub use constants::LN_2PI;
pub use constants::LN_PI;
pub use constants::MILLS;
pub use constants::PI_SQUARED_OVER_6;
pub use constants::PLASTIC_NUMBER;
pub use constants::RAMANUJAN;
pub use constants::SQRT_2PI;
pub use constants::utility::HALF_LN_2PI;
pub use constants::utility::INV_2PI;
pub use constants::utility::INV_SQRT_2PI;
pub use constants::utility::LN_4PI;
pub use constants::utility::LOG_SQRT_2PI;
pub use constants::utility::PI_OVER_4;
pub use constants::utility::SQRT_PI_OVER_2;
pub use constants::utility::SQRT_PI_OVER_8;
pub use constants::utility::STIRLING_CONSTANT;
pub use constants::utility::THREE_PI_OVER_4;
pub use constants::utility::TWO_OVER_SQRT_PI;
pub use constants::bernoulli;
pub use constants::fractions;
pub use constants::physics;
pub use constants::zeta_values;
pub use utils::chebyshev_expansion;
pub use utils::chebyshev_expansion_tensor;
pub use utils::continued_fraction;
pub use utils::continued_fraction_tensor;
pub use utils::double_factorial;
pub use utils::factorial_safe;
pub use utils::pade_approximant;
pub use utils::pade_approximant_tensor;
pub use bessel::*;

Modules§

advanced
Advanced Mathematical Functions
advanced_special
Advanced Special Functions
airy
Airy Functions
bessel
Bessel functions
complex
Complex special functions module
constants
Mathematical constants for special functions
coulomb
Coulomb Wave Functions
elliptic
Elliptic Functions and Integrals
error_functions
Error functions
error_handling
Enhanced error handling and edge case coverage for special functions
exponential_integrals
Exponential Integrals
fast_approximations
Fast Approximations for Special Functions
gamma
Gamma and related functions
hypergeometric
Hypergeometric Functions
lambert_w
Lambert W Function Implementation
lommel
Lommel Functions
lookup_tables
Lookup Tables for Special Functions
mathieu
Mathieu Functions
numerical_accuracy_tests
Comprehensive numerical accuracy tests for special functions
orthogonal_polynomials
Orthogonal Polynomials
prelude
Prelude module for convenient imports
scirs2_integration
SciRS2 Special Functions Integration
simd_optimizations
SIMD Optimizations for Special Functions
smart_caching
Smart caching for expensive special function computations
spheroidal
Spheroidal Wave Functions
statistical
Statistical Functions
trigonometric
Special trigonometric functions
utils
Utility Functions for Special Mathematical Operations
visualization
Visualization tools for function behavior and accuracy analysis

Constants§

VERSION
VERSION_MAJOR
VERSION_MINOR
VERSION_PATCH

Functions§

acosh
Inverse hyperbolic cosine
asinh
Inverse hyperbolic sine
atanh
Inverse hyperbolic tangent
cosh
Hyperbolic cosine (using existing implementation)
expm1
Exponential minus one (exp(x) - 1) for better numerical stability
log1p
Natural logarithm of one plus x (log(1 + x)) for better numerical stability
sinh
Hyperbolic sine (using existing implementation)
tanh_special
Hyperbolic tangent (using existing implementation)

Type Aliases§

TorshResult
Convenience type alias for Results in this crate