Skip to main content

thermite_special/specialized/generic/bessel/
mod.rs

1//! The Bessel family and what is built on it.
2//!
3//! One directory, seven kernels, all sharing the two recurrence directions (`J`/`I` are the
4//! minimal solutions and walk down on ratios, while `Y`/`K` are dominant and walk up) and the
5//! envelope-relative accuracy contract the oscillating members need. Read
6//! [`jy`](self::jy) first for that contract. It is the decision everything else is graded by.
7//!
8//! | module | what | order |
9//! |---|---|---|
10//! | [`ik`] | `$I_n$`, `$K_n$`: fitted rationals at 0 and 1, recurrences and an asymptotic arm above | whole, const or per-lane |
11//! | [`jy`] | `$J_n$`, `$Y_n$`: the same shape for the oscillating pair | whole |
12//! | [`half`] | all four at half-integer order, where they are elementary | `k/2` |
13//! | [`spherical`] | `$j_n$`, `$y_n$`, `$i_n$`, `$k_n$`: [`half`]'s walks seeded in the spherical normalization | whole |
14//! | [`jy_real`] | `$J_\nu$`, `$Y_\nu$` at arbitrary real order: series, Steed, Temme, Hankel | real |
15//! | [`ik_real`] | `$I_\nu$`, `$K_\nu$` at arbitrary real order, generic over a real or complex argument | real |
16//! | [`airy`] | `$\mathrm{Ai}$`, `$\mathrm{Bi}$` and derivatives, as Bessel functions at thirds | - |
17//!
18//! The order dispatch (which of these a runtime [`BesselOrder`](crate::BesselOrder) reaches)
19//! is in the per-element impls (`specialized/pd.rs`, `ps.rs`). The entry-point stamping and
20//! the [`BesselDetails`](crate::specialized::BesselDetails) trait are in
21//! `specialized/bessel.rs`.
22
23pub mod airy;
24pub mod half;
25pub mod ik;
26pub mod ik_real;
27pub mod jy;
28pub mod jy_real;
29pub mod ratio;
30pub mod spherical;
Last built: 2026-09-08 21:35:55 UTC