Struct ExplicitDiodePairRoot
pub struct ExplicitDiodePairRoot {
pub model: DiodeModel,
}Expand description
Anti-parallel diode pair WDF root using the explicit Wright Omega solver.
Produces the same I-V characteristic as DiodePairRoot but computes
the reflected wave in closed form — no Newton-Raphson iteration.
The explicit solver is O(1) and branch-free (two Wright Omega evaluations
plus one Halley step each), making it ~4–6× faster than the NR solver for
typical audio signals.
Fields§
§model: DiodeModelDiode model parameters (Is, nVt, Rs).
Implementations§
§impl ExplicitDiodePairRoot
impl ExplicitDiodePairRoot
pub fn new(model: DiodeModel) -> ExplicitDiodePairRoot
pub fn new(model: DiodeModel) -> ExplicitDiodePairRoot
Create a new explicit diode pair root from a DiodeModel.
Trait Implementations§
§impl Clone for ExplicitDiodePairRoot
impl Clone for ExplicitDiodePairRoot
§fn clone(&self) -> ExplicitDiodePairRoot
fn clone(&self) -> ExplicitDiodePairRoot
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ExplicitDiodePairRoot
§impl Debug for ExplicitDiodePairRoot
impl Debug for ExplicitDiodePairRoot
§impl NlDeviceIv for ExplicitDiodePairRoot
impl NlDeviceIv for ExplicitDiodePairRoot
Auto Trait Implementations§
impl Freeze for ExplicitDiodePairRoot
impl RefUnwindSafe for ExplicitDiodePairRoot
impl Send for ExplicitDiodePairRoot
impl Sync for ExplicitDiodePairRoot
impl Unpin for ExplicitDiodePairRoot
impl UnsafeUnpin for ExplicitDiodePairRoot
impl UnwindSafe for ExplicitDiodePairRoot
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more