NumKernelStrictFiniteInDebug

Struct NumKernelStrictFiniteInDebug 

Source
pub struct NumKernelStrictFiniteInDebug<RawReal: RawRealTrait, const PRECISION: u32> { /* private fields */ }
Expand description

A debug-only strict finite kernel validation policy for raw real numbers.

This kernel applies StrictFinitePolicy validation only in debug builds. In release builds, validation is skipped for maximum performance.

§Use Cases

  • Performance-critical code where validation overhead is unacceptable in production
  • Code that has been thoroughly tested with NumKernelStrictFinite in debug mode

§Comparison with NumKernelStrictFinite

AspectNumKernelStrictFiniteNumKernelStrictFiniteInDebug
Debug validation✅ Yes✅ Yes
Release validation✅ Yes❌ No
Eq + Hash + Ord✅ Yes❌ No (not safe without validation)
PerformanceSlowerFaster in release

§Safety Note

Since validation is skipped in release builds, this kernel does NOT implement the GuaranteesFiniteRealValues marker trait, meaning it cannot be used with HashMap, BTreeMap, or other collections requiring Eq + Hash + Ord.

Trait Implementations§

Source§

impl<RawReal: RawRealTrait, const PRECISION: u32> NumKernel for NumKernelStrictFiniteInDebug<RawReal, PRECISION>
where StrictFinitePolicy<RawReal, PRECISION>: ValidationPolicyReal<Value = RawReal>, StrictFinitePolicy<RawReal::RawComplex, PRECISION>: ValidationPolicyComplex<Value = RawReal::RawComplex>,

Source§

type RealPolicy = DebugValidationPolicy<StrictFinitePolicy<RawReal, PRECISION>>

The validation policy for real numbers. Read more
Source§

type ComplexPolicy = DebugValidationPolicy<StrictFinitePolicy<<RawReal as RawRealTrait>::RawComplex, PRECISION>>

The validation policy for complex numbers. Read more
Source§

type Real = RealValidated<NumKernelStrictFiniteInDebug<RawReal, PRECISION>>

The final, high-level, validated real scalar type for this kernel. This is typically an alias for RealValidated<Self>.
Source§

type Complex = ComplexValidated<NumKernelStrictFiniteInDebug<RawReal, PRECISION>>

The final, high-level, validated complex scalar type for this kernel. This is typically an alias for ComplexValidated<Self>. The RealType = Self::Real bound ensures the complex type is composed of the corresponding validated real type from the same kernel.
Source§

impl<RawReal: RawRealTrait, const PRECISION: u32> RawKernel for NumKernelStrictFiniteInDebug<RawReal, PRECISION>

Source§

type RawReal = RawReal

The raw real type associated with this kernel (e.g., f64).
Source§

type RawComplex = <RawReal as RawRealTrait>::RawComplex

The raw complex type associated with this kernel (e.g., num::Complex<f64>).

Auto Trait Implementations§

§

impl<RawReal, const PRECISION: u32> Freeze for NumKernelStrictFiniteInDebug<RawReal, PRECISION>

§

impl<RawReal, const PRECISION: u32> RefUnwindSafe for NumKernelStrictFiniteInDebug<RawReal, PRECISION>
where RawReal: RefUnwindSafe,

§

impl<RawReal, const PRECISION: u32> Send for NumKernelStrictFiniteInDebug<RawReal, PRECISION>

§

impl<RawReal, const PRECISION: u32> Sync for NumKernelStrictFiniteInDebug<RawReal, PRECISION>

§

impl<RawReal, const PRECISION: u32> Unpin for NumKernelStrictFiniteInDebug<RawReal, PRECISION>
where RawReal: Unpin,

§

impl<RawReal, const PRECISION: u32> UnwindSafe for NumKernelStrictFiniteInDebug<RawReal, PRECISION>
where RawReal: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Az for T

Source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

Source§

fn cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> CheckedAs for T

Source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

Source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> OverflowingAs for T

Source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

Source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
Source§

impl<T> SaturatingAs for T

Source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

Source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> UnwrappedAs for T

Source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

Source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WrappingAs for T

Source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

Source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.