pub struct RealValidated<K: NumKernel> { /* private fields */ }Expand description
A validated real number that is guaranteed to conform to a specific NumKernel.
Trait Implementations§
Source§impl<K: NumKernel> ACos for RealValidated<K>
impl<K: NumKernel> ACos for RealValidated<K>
Source§type Error = FunctionErrors<ACosRealInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<ACosRealInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_acos method.Source§impl<K: NumKernel> ACosH for RealValidated<K>
impl<K: NumKernel> ACosH for RealValidated<K>
Source§type Error = FunctionErrors<ACosHInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<ACosHInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_acosh method.Source§impl<K: NumKernel> ASin for RealValidated<K>
impl<K: NumKernel> ASin for RealValidated<K>
Source§type Error = FunctionErrors<ASinRealInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<ASinRealInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_asin method.Source§impl<K: NumKernel> ASinH for RealValidated<K>
impl<K: NumKernel> ASinH for RealValidated<K>
Source§type Error = FunctionErrors<ASinHInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<ASinHInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_asinh method.Source§impl<K: NumKernel> ATan for RealValidated<K>
impl<K: NumKernel> ATan for RealValidated<K>
Source§type Error = FunctionErrors<ATanRealInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<ATanRealInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_atan method.Source§impl<K: NumKernel> ATan2 for RealValidated<K>
impl<K: NumKernel> ATan2 for RealValidated<K>
Source§type Error = FunctionErrors<ATan2InputErrors<<K as RawKernel>::RawReal>, <<K as RawKernel>::RawReal as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<ATan2InputErrors<<K as RawKernel>::RawReal>, <<K as RawKernel>::RawReal as RawScalarTrait>::ValidationErrors>
try_atan2 method.Source§impl<K: NumKernel> ATanH for RealValidated<K>
impl<K: NumKernel> ATanH for RealValidated<K>
Source§type Error = FunctionErrors<ATanHInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<ATanHInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_atanh method.Source§impl<K: NumKernel> Abs for RealValidated<K>
impl<K: NumKernel> Abs for RealValidated<K>
Source§type Output = RealValidated<K>
type Output = RealValidated<K>
Source§type Error = FunctionErrors<AbsInputErrors<<<K as NumKernel>::RealPolicy as ValidationPolicy>::Value>, <<<K as NumKernel>::RealPolicy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<AbsInputErrors<<<K as NumKernel>::RealPolicy as ValidationPolicy>::Value>, <<<K as NumKernel>::RealPolicy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
Source§impl<'a, K: NumKernel> Add<&'a RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: Add<&'a <K::RealPolicy as ValidationPolicy>::Value, Output = <K::ComplexPolicy as ValidationPolicy>::Value>,
impl<'a, K: NumKernel> Add<&'a RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: Add<&'a <K::RealPolicy as ValidationPolicy>::Value, Output = <K::ComplexPolicy as ValidationPolicy>::Value>,
Source§type Output = ComplexValidated<K>
type Output = ComplexValidated<K>
+ operator.Source§impl<'a, K: NumKernel> Add<&'a RealValidated<K>> for RealValidated<K>
impl<'a, K: NumKernel> Add<&'a RealValidated<K>> for RealValidated<K>
Source§impl<'a, K: NumKernel> Add<RealValidated<K>> for &'a RealValidated<K>
impl<'a, K: NumKernel> Add<RealValidated<K>> for &'a RealValidated<K>
Source§type Output = RealValidated<K>
type Output = RealValidated<K>
+ operator.Source§impl<K: NumKernel> Add<RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: Add<<K::RealPolicy as ValidationPolicy>::Value, Output = <K::ComplexPolicy as ValidationPolicy>::Value>,
impl<K: NumKernel> Add<RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: Add<<K::RealPolicy as ValidationPolicy>::Value, Output = <K::ComplexPolicy as ValidationPolicy>::Value>,
Source§type Output = ComplexValidated<K>
type Output = ComplexValidated<K>
+ operator.Source§impl<'a, K: NumKernel> Add for &'a RealValidated<K>
impl<'a, K: NumKernel> Add for &'a RealValidated<K>
Source§type Output = RealValidated<K>
type Output = RealValidated<K>
+ operator.Source§impl<K: NumKernel> Add for RealValidated<K>
impl<K: NumKernel> Add for RealValidated<K>
Source§impl<'a, K: NumKernel> AddAssign<&'a RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: AddAssign<&'a <K::RealPolicy as ValidationPolicy>::Value>,
impl<'a, K: NumKernel> AddAssign<&'a RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: AddAssign<&'a <K::RealPolicy as ValidationPolicy>::Value>,
Source§fn add_assign(&mut self, rhs: &'a RealValidated<K>)
fn add_assign(&mut self, rhs: &'a RealValidated<K>)
+= operation. Read moreSource§impl<'a, K: NumKernel> AddAssign<&'a RealValidated<K>> for RealValidated<K>
impl<'a, K: NumKernel> AddAssign<&'a RealValidated<K>> for RealValidated<K>
Source§fn add_assign(&mut self, rhs: &'a Self)
fn add_assign(&mut self, rhs: &'a Self)
+= operation. Read moreSource§impl<K: NumKernel> AddAssign<RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: AddAssign<<K::RealPolicy as ValidationPolicy>::Value>,
impl<K: NumKernel> AddAssign<RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: AddAssign<<K::RealPolicy as ValidationPolicy>::Value>,
Source§fn add_assign(&mut self, rhs: RealValidated<K>)
fn add_assign(&mut self, rhs: RealValidated<K>)
+= operation. Read moreSource§impl<K: NumKernel> AddAssign for RealValidated<K>
impl<K: NumKernel> AddAssign for RealValidated<K>
Source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
+= operation. Read moreSource§impl<K: NumKernel> Clamp for RealValidated<K>
impl<K: NumKernel> Clamp for RealValidated<K>
Source§impl<K: NumKernel> Classify for RealValidated<K>
impl<K: NumKernel> Classify for RealValidated<K>
Source§fn classify(&self) -> FpCategory
fn classify(&self) -> FpCategory
Returns the floating point category of the number. If only one property is going to be tested, it is generally faster to use the specific predicate instead.
use num_valid::{
functions::Classify,
kernels::native64_validated::RealNative64StrictFinite,
};
use std::num::FpCategory;
use try_create::TryNew;
let num = RealNative64StrictFinite::try_new(12.4).unwrap();
assert_eq!(num.classify(), FpCategory::Normal);Source§impl<K: NumKernel> Clone for RealValidated<K>
impl<K: NumKernel> Clone for RealValidated<K>
Source§impl<K: NumKernel> Constants for RealValidated<K>
impl<K: NumKernel> Constants for RealValidated<K>
Source§fn two_pi() -> Self
fn two_pi() -> Self
2 π represented by the proper type.Source§fn pi_div_2() -> Self
fn pi_div_2() -> Self
π/2 represented by the proper type.Source§fn one_div_2() -> Self
fn one_div_2() -> Self
Source§fn two() -> Self
fn two() -> Self
Source§fn max_finite() -> Self
fn max_finite() -> Self
Source§fn min_finite() -> Self
fn min_finite() -> Self
Source§fn negative_one() -> Self
fn negative_one() -> Self
Source§fn ln_2() -> Self
fn ln_2() -> Self
ln(2), represented by the proper type.Source§fn ln_10() -> Self
fn ln_10() -> Self
ln(10), represented by the proper type.Source§fn log2_e() -> Self
fn log2_e() -> Self
e, i.e. the (floating point) value Log_2(e), represented by the proper type.Source§fn log10_e() -> Self
fn log10_e() -> Self
e, i.e. the (floating point) value Log_10(e), represented by the proper type.Source§impl<K: NumKernel> Cos for RealValidated<K>
impl<K: NumKernel> Cos for RealValidated<K>
Source§type Error = FunctionErrors<CosInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<CosInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_cos method.Source§impl<K: NumKernel> CosH for RealValidated<K>
impl<K: NumKernel> CosH for RealValidated<K>
Source§type Error = FunctionErrors<CosHInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<CosHInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_cosh method.Source§impl<K: NumKernel> Debug for RealValidated<K>
impl<K: NumKernel> Debug for RealValidated<K>
Source§impl<'de, K: NumKernel> Deserialize<'de> for RealValidated<K>where
K::RawReal: Deserialize<'de>,
impl<'de, K: NumKernel> Deserialize<'de> for RealValidated<K>where
K::RawReal: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<K: NumKernel> Display for RealValidated<K>
impl<K: NumKernel> Display for RealValidated<K>
Source§impl<K: NumKernel> Distribution<RealValidated<K>> for StandardUniform
Implement the Distribution trait for RealValidated type
using the StandardUniform distribution.
impl<K: NumKernel> Distribution<RealValidated<K>> for StandardUniform
Implement the Distribution trait for RealValidated type
using the StandardUniform distribution.
Source§fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> RealValidated<K>
fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> RealValidated<K>
T, using rng as the source of randomness.Source§fn sample_iter<R>(self, rng: R) -> Iter<Self, R, T>
fn sample_iter<R>(self, rng: R) -> Iter<Self, R, T>
T, using rng as
the source of randomness. Read moreSource§impl<'a, K: NumKernel> Div<&'a RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: Div<&'a <K::RealPolicy as ValidationPolicy>::Value, Output = <K::ComplexPolicy as ValidationPolicy>::Value>,
impl<'a, K: NumKernel> Div<&'a RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: Div<&'a <K::RealPolicy as ValidationPolicy>::Value, Output = <K::ComplexPolicy as ValidationPolicy>::Value>,
Source§type Output = ComplexValidated<K>
type Output = ComplexValidated<K>
/ operator.Source§impl<'a, K: NumKernel> Div<&'a RealValidated<K>> for RealValidated<K>
impl<'a, K: NumKernel> Div<&'a RealValidated<K>> for RealValidated<K>
Source§impl<'a, K: NumKernel> Div<RealValidated<K>> for &'a RealValidated<K>
impl<'a, K: NumKernel> Div<RealValidated<K>> for &'a RealValidated<K>
Source§type Output = RealValidated<K>
type Output = RealValidated<K>
/ operator.Source§impl<K: NumKernel> Div<RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: Div<<K::RealPolicy as ValidationPolicy>::Value, Output = <K::ComplexPolicy as ValidationPolicy>::Value>,
impl<K: NumKernel> Div<RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: Div<<K::RealPolicy as ValidationPolicy>::Value, Output = <K::ComplexPolicy as ValidationPolicy>::Value>,
Source§type Output = ComplexValidated<K>
type Output = ComplexValidated<K>
/ operator.Source§impl<'a, K: NumKernel> Div for &'a RealValidated<K>
impl<'a, K: NumKernel> Div for &'a RealValidated<K>
Source§type Output = RealValidated<K>
type Output = RealValidated<K>
/ operator.Source§impl<K: NumKernel> Div for RealValidated<K>
impl<K: NumKernel> Div for RealValidated<K>
Source§impl<'a, K: NumKernel> DivAssign<&'a RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: DivAssign<&'a <K::RealPolicy as ValidationPolicy>::Value>,
impl<'a, K: NumKernel> DivAssign<&'a RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: DivAssign<&'a <K::RealPolicy as ValidationPolicy>::Value>,
Source§fn div_assign(&mut self, rhs: &'a RealValidated<K>)
fn div_assign(&mut self, rhs: &'a RealValidated<K>)
/= operation. Read moreSource§impl<'a, K: NumKernel> DivAssign<&'a RealValidated<K>> for RealValidated<K>
impl<'a, K: NumKernel> DivAssign<&'a RealValidated<K>> for RealValidated<K>
Source§fn div_assign(&mut self, rhs: &'a Self)
fn div_assign(&mut self, rhs: &'a Self)
/= operation. Read moreSource§impl<K: NumKernel> DivAssign<RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: DivAssign<<K::RealPolicy as ValidationPolicy>::Value>,
impl<K: NumKernel> DivAssign<RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: DivAssign<<K::RealPolicy as ValidationPolicy>::Value>,
Source§fn div_assign(&mut self, rhs: RealValidated<K>)
fn div_assign(&mut self, rhs: RealValidated<K>)
/= operation. Read moreSource§impl<K: NumKernel> DivAssign for RealValidated<K>
impl<K: NumKernel> DivAssign for RealValidated<K>
Source§fn div_assign(&mut self, rhs: Self)
fn div_assign(&mut self, rhs: Self)
/= operation. Read moreSource§impl<K: NumKernel> Exp for RealValidated<K>
impl<K: NumKernel> Exp for RealValidated<K>
Source§type Error = FunctionErrors<ExpInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<ExpInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_exp method. Read moreSource§impl<K: NumKernel> ExpM1 for RealValidated<K>
impl<K: NumKernel> ExpM1 for RealValidated<K>
Source§impl<K: NumKernel> FpChecks for RealValidated<K>
impl<K: NumKernel> FpChecks for RealValidated<K>
Source§fn is_infinite(&self) -> bool
fn is_infinite(&self) -> bool
Returns true if self is positive infinity or negative infinity, and false otherwise.
Source§impl<K: NumKernel> FpScalar for RealValidated<K>
impl<K: NumKernel> FpScalar for RealValidated<K>
Source§fn as_raw_ref(&self) -> &Self::InnerType
fn as_raw_ref(&self) -> &Self::InnerType
Returns a reference to the underlying raw real value.
Source§type Kind = Real
type Kind = Real
Real or Complex.
This is a sealed trait to prevent external implementations.Source§type RealType = RealValidated<K>
type RealType = RealValidated<K>
Source§impl<K: NumKernel> Hash for RealValidated<K>where
K::RealPolicy: GuaranteesFiniteValues,
Implements Hash for validated real number types with finite value guarantees.
impl<K: NumKernel> Hash for RealValidated<K>where
K::RealPolicy: GuaranteesFiniteValues,
Implements Hash for validated real number types with finite value guarantees.
This implementation is only available when the kernel’s RealPolicy
implements the GuaranteesFiniteValues marker trait. This ensures that
the underlying value is never NaN, making hash values consistent and
allowing these types to be used as keys in hash-based collections.
§Hashing Strategy
The implementation delegates to the RawScalarTrait::compute_hash() method provided by the
underlying raw scalar type (via RawScalarTrait). This method:
- For
f64types: Uses IEEE 754 bit representation viaf64::to_bits() - For
rug::Floattypes: Uses integer representation viarug::Float::to_integer() - Handles signed zeros correctly (both
+0.0and-0.0produce the same hash) - Maintains the hash contract:
a == bimplieshash(a) == hash(b)
§Safety and Correctness
This implementation is safe because:
GuaranteesFiniteValuesensures noNaNvalues can exist- The
Eqimplementation is well-defined for finite values - Signed zeros are handled consistently in both equality and hashing
§Usage Example
use num_valid::RealNative64StrictFinite;
use std::collections::HashMap;
use try_create::TryNew;
let mut map = HashMap::new();
let key = RealNative64StrictFinite::try_new(3.14).unwrap();
map.insert(key, "pi approximation");
assert_eq!(map.len(), 1);Source§impl<K: NumKernel> Hypot for RealValidated<K>
impl<K: NumKernel> Hypot for RealValidated<K>
Source§impl<K: NumKernel> IntoInner for RealValidated<K>
impl<K: NumKernel> IntoInner for RealValidated<K>
Source§impl<K: NumKernel> Ln for RealValidated<K>
impl<K: NumKernel> Ln for RealValidated<K>
Source§type Error = FunctionErrors<LogarithmRealInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<LogarithmRealInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_ln method.Source§impl<K: NumKernel> Ln1p for RealValidated<K>
impl<K: NumKernel> Ln1p for RealValidated<K>
Source§impl<K: NumKernel> Log10 for RealValidated<K>
impl<K: NumKernel> Log10 for RealValidated<K>
Source§type Error = FunctionErrors<LogarithmRealInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<LogarithmRealInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_log10 method.Source§impl<K: NumKernel> Log2 for RealValidated<K>
impl<K: NumKernel> Log2 for RealValidated<K>
Source§type Error = FunctionErrors<LogarithmRealInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<LogarithmRealInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_log2 method.Source§impl<K: NumKernel> LowerExp for RealValidated<K>
impl<K: NumKernel> LowerExp for RealValidated<K>
Source§impl<K: NumKernel> Max for RealValidated<K>
impl<K: NumKernel> Max for RealValidated<K>
Source§impl<K: NumKernel> Min for RealValidated<K>
impl<K: NumKernel> Min for RealValidated<K>
Source§impl<'a, K: NumKernel> Mul<&'a RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: Mul<&'a <K::RealPolicy as ValidationPolicy>::Value, Output = <K::ComplexPolicy as ValidationPolicy>::Value>,
impl<'a, K: NumKernel> Mul<&'a RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: Mul<&'a <K::RealPolicy as ValidationPolicy>::Value, Output = <K::ComplexPolicy as ValidationPolicy>::Value>,
Source§type Output = ComplexValidated<K>
type Output = ComplexValidated<K>
* operator.Source§impl<'a, K: NumKernel> Mul<&'a RealValidated<K>> for RealValidated<K>
impl<'a, K: NumKernel> Mul<&'a RealValidated<K>> for RealValidated<K>
Source§impl<'a, K: NumKernel> Mul<ComplexValidated<K>> for &'a RealValidated<K>where
<K::RealPolicy as ValidationPolicy>::Value: Mul<<K::ComplexPolicy as ValidationPolicy>::Value, Output = <K::ComplexPolicy as ValidationPolicy>::Value>,
impl<'a, K: NumKernel> Mul<ComplexValidated<K>> for &'a RealValidated<K>where
<K::RealPolicy as ValidationPolicy>::Value: Mul<<K::ComplexPolicy as ValidationPolicy>::Value, Output = <K::ComplexPolicy as ValidationPolicy>::Value>,
Source§type Output = ComplexValidated<K>
type Output = ComplexValidated<K>
* operator.Source§impl<K: NumKernel> Mul<ComplexValidated<K>> for RealValidated<K>where
<K::RealPolicy as ValidationPolicy>::Value: Mul<<K::ComplexPolicy as ValidationPolicy>::Value, Output = <K::ComplexPolicy as ValidationPolicy>::Value>,
impl<K: NumKernel> Mul<ComplexValidated<K>> for RealValidated<K>where
<K::RealPolicy as ValidationPolicy>::Value: Mul<<K::ComplexPolicy as ValidationPolicy>::Value, Output = <K::ComplexPolicy as ValidationPolicy>::Value>,
Source§type Output = ComplexValidated<K>
type Output = ComplexValidated<K>
* operator.Source§impl<'a, K: NumKernel> Mul<RealValidated<K>> for &'a RealValidated<K>
impl<'a, K: NumKernel> Mul<RealValidated<K>> for &'a RealValidated<K>
Source§type Output = RealValidated<K>
type Output = RealValidated<K>
* operator.Source§impl<K: NumKernel> Mul<RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: Mul<<K::RealPolicy as ValidationPolicy>::Value, Output = <K::ComplexPolicy as ValidationPolicy>::Value>,
impl<K: NumKernel> Mul<RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: Mul<<K::RealPolicy as ValidationPolicy>::Value, Output = <K::ComplexPolicy as ValidationPolicy>::Value>,
Source§type Output = ComplexValidated<K>
type Output = ComplexValidated<K>
* operator.Source§impl<'a, K: NumKernel> Mul for &'a RealValidated<K>
impl<'a, K: NumKernel> Mul for &'a RealValidated<K>
Source§type Output = RealValidated<K>
type Output = RealValidated<K>
* operator.Source§impl<K: NumKernel> Mul for RealValidated<K>
impl<K: NumKernel> Mul for RealValidated<K>
Source§impl<K: NumKernel> MulAddRef for RealValidated<K>
impl<K: NumKernel> MulAddRef for RealValidated<K>
Source§fn mul_add_ref(self, b: &Self, c: &Self) -> Self
fn mul_add_ref(self, b: &Self, c: &Self) -> Self
Multiplies and adds in one fused operation, rounding to the nearest with only one rounding error.
a.mul_add(b, c) produces a result like a * &b + &c.
Source§impl<'a, K: NumKernel> MulAssign<&'a RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: MulAssign<&'a <K::RealPolicy as ValidationPolicy>::Value>,
impl<'a, K: NumKernel> MulAssign<&'a RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: MulAssign<&'a <K::RealPolicy as ValidationPolicy>::Value>,
Source§fn mul_assign(&mut self, rhs: &'a RealValidated<K>)
fn mul_assign(&mut self, rhs: &'a RealValidated<K>)
*= operation. Read moreSource§impl<'a, K: NumKernel> MulAssign<&'a RealValidated<K>> for RealValidated<K>
impl<'a, K: NumKernel> MulAssign<&'a RealValidated<K>> for RealValidated<K>
Source§fn mul_assign(&mut self, rhs: &'a Self)
fn mul_assign(&mut self, rhs: &'a Self)
*= operation. Read moreSource§impl<K: NumKernel> MulAssign<RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: MulAssign<<K::RealPolicy as ValidationPolicy>::Value>,
impl<K: NumKernel> MulAssign<RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: MulAssign<<K::RealPolicy as ValidationPolicy>::Value>,
Source§fn mul_assign(&mut self, rhs: RealValidated<K>)
fn mul_assign(&mut self, rhs: RealValidated<K>)
*= operation. Read moreSource§impl<K: NumKernel> MulAssign for RealValidated<K>
impl<K: NumKernel> MulAssign for RealValidated<K>
Source§fn mul_assign(&mut self, rhs: Self)
fn mul_assign(&mut self, rhs: Self)
*= operation. Read moreSource§impl<K: NumKernel> Neg for RealValidated<K>
impl<K: NumKernel> Neg for RealValidated<K>
Source§impl<K: NumKernel> NegAssign for RealValidated<K>
impl<K: NumKernel> NegAssign for RealValidated<K>
Source§fn neg_assign(&mut self)
fn neg_assign(&mut self)
Performs the negation of self.
Source§impl<K: NumKernel> NeumaierAddable for RealValidated<K>
impl<K: NumKernel> NeumaierAddable for RealValidated<K>
fn neumaier_compensated_sum( value: Self, sum: &mut Self, compensation: &mut Self, )
Source§impl<K: NumKernel> New for RealValidated<K>
impl<K: NumKernel> New for RealValidated<K>
Source§impl<K: NumKernel> One for RealValidated<K>
impl<K: NumKernel> One for RealValidated<K>
Source§impl<K: NumKernel> PartialEq for RealValidated<K>
impl<K: NumKernel> PartialEq for RealValidated<K>
Source§impl<K: NumKernel> PartialOrd<f64> for RealValidated<K>
impl<K: NumKernel> PartialOrd<f64> for RealValidated<K>
Source§impl<K: NumKernel> PartialOrd for RealValidated<K>
impl<K: NumKernel> PartialOrd for RealValidated<K>
Source§impl<K: NumKernel> Pow<&RealValidated<K>> for ComplexValidated<K>
impl<K: NumKernel> Pow<&RealValidated<K>> for ComplexValidated<K>
Source§fn pow(self, exponent: &RealValidated<K>) -> Self
fn pow(self, exponent: &RealValidated<K>) -> Self
Raises th number self to the power exponent.
Source§type Error = PowComplexBaseRealExponentErrors<<K as RawKernel>::RawComplex>
type Error = PowComplexBaseRealExponentErrors<<K as RawKernel>::RawComplex>
try_pow method.
This type must implement std::error::Error for proper error handling.Source§impl<K: NumKernel> Pow<&RealValidated<K>> for RealValidated<K>
impl<K: NumKernel> Pow<&RealValidated<K>> for RealValidated<K>
Source§impl<K: NumKernel> Pow<i128> for RealValidated<K>
impl<K: NumKernel> Pow<i128> for RealValidated<K>
Source§type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, i128>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, i128>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_pow method.
This type must implement std::error::Error for proper error handling.Source§impl<K: NumKernel> Pow<i16> for RealValidated<K>
impl<K: NumKernel> Pow<i16> for RealValidated<K>
Source§type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, i16>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, i16>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_pow method.
This type must implement std::error::Error for proper error handling.Source§impl<K: NumKernel> Pow<i32> for RealValidated<K>
impl<K: NumKernel> Pow<i32> for RealValidated<K>
Source§type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, i32>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, i32>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_pow method.
This type must implement std::error::Error for proper error handling.Source§impl<K: NumKernel> Pow<i64> for RealValidated<K>
impl<K: NumKernel> Pow<i64> for RealValidated<K>
Source§type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, i64>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, i64>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_pow method.
This type must implement std::error::Error for proper error handling.Source§impl<K: NumKernel> Pow<i8> for RealValidated<K>
impl<K: NumKernel> Pow<i8> for RealValidated<K>
Source§type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, i8>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, i8>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_pow method.
This type must implement std::error::Error for proper error handling.Source§impl<K: NumKernel> Pow<isize> for RealValidated<K>
impl<K: NumKernel> Pow<isize> for RealValidated<K>
Source§type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, isize>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, isize>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_pow method.
This type must implement std::error::Error for proper error handling.Source§impl<K: NumKernel> Pow<u128> for RealValidated<K>
impl<K: NumKernel> Pow<u128> for RealValidated<K>
Source§type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, u128>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, u128>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_pow method.
This type must implement std::error::Error for proper error handling.Source§impl<K: NumKernel> Pow<u16> for RealValidated<K>
impl<K: NumKernel> Pow<u16> for RealValidated<K>
Source§type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, u16>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, u16>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_pow method.
This type must implement std::error::Error for proper error handling.Source§impl<K: NumKernel> Pow<u32> for RealValidated<K>
impl<K: NumKernel> Pow<u32> for RealValidated<K>
Source§type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, u32>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, u32>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_pow method.
This type must implement std::error::Error for proper error handling.Source§impl<K: NumKernel> Pow<u64> for RealValidated<K>
impl<K: NumKernel> Pow<u64> for RealValidated<K>
Source§type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, u64>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, u64>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_pow method.
This type must implement std::error::Error for proper error handling.Source§impl<K: NumKernel> Pow<u8> for RealValidated<K>
impl<K: NumKernel> Pow<u8> for RealValidated<K>
Source§type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, u8>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, u8>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_pow method.
This type must implement std::error::Error for proper error handling.Source§impl<K: NumKernel> Pow<usize> for RealValidated<K>
impl<K: NumKernel> Pow<usize> for RealValidated<K>
Source§type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, usize>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<PowIntExponentInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value, usize>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_pow method.
This type must implement std::error::Error for proper error handling.Source§impl<K: NumKernel> PowIntExponent for RealValidated<K>
impl<K: NumKernel> PowIntExponent for RealValidated<K>
Source§impl<K> RandomSampleFromF64 for RealValidated<K>where
K: NumKernel,
impl<K> RandomSampleFromF64 for RealValidated<K>where
K: NumKernel,
Source§impl<K: NumKernel> RealScalar for RealValidated<K>
impl<K: NumKernel> RealScalar for RealValidated<K>
Source§fn kernel_mul_add_mul_mut(
&mut self,
mul: &Self,
add_mul1: &Self,
add_mul2: &Self,
)
fn kernel_mul_add_mul_mut( &mut self, mul: &Self, add_mul1: &Self, add_mul2: &Self, )
Multiplies two products and adds them in one fused operation, rounding to the nearest with only one rounding error.
a.kernel_mul_add_mul_mut(&b, &c, &d) produces a result like &a * &b + &c * &d, but stores the result in a using its precision.
Source§fn kernel_mul_sub_mul_mut(
&mut self,
mul: &Self,
sub_mul1: &Self,
sub_mul2: &Self,
)
fn kernel_mul_sub_mul_mut( &mut self, mul: &Self, sub_mul1: &Self, sub_mul2: &Self, )
Multiplies two products and subtracts them in one fused operation, rounding to the nearest with only one rounding error.
a.kernel_mul_sub_mul_mut(&b, &c, &d) produces a result like &a * &b - &c * &d, but stores the result in a using its precision.
Source§fn try_from_f64(value: f64) -> Result<Self, ErrorsTryFromf64<K::RawReal>>
fn try_from_f64(value: f64) -> Result<Self, ErrorsTryFromf64<K::RawReal>>
Try to build a RealValidated instance from a f64.
The returned value is Ok if the input value is valid w.r.t. the ValidationPolicy V,
otherwise the returned value is ErrorsTryFromf64.
§Examples
use num_valid::{RealNative64StrictFinite, RealScalar};
// Valid value
let x = RealNative64StrictFinite::try_from_f64(3.14).unwrap();
assert_eq!(x.as_ref(), &3.14);
// Invalid value (NaN)
assert!(RealNative64StrictFinite::try_from_f64(f64::NAN).is_err());Source§fn from_f64(value: f64) -> Self
fn from_f64(value: f64) -> Self
Build a RealValidated instance from a f64.
This is a convenience method that panics if the value is invalid.
Use try_from_f64 for error handling without panics.
§Panics
Panics if the input value fails validation (e.g., NaN, infinity, or subnormal for strict policies).
§Examples
use num_valid::{RealNative64StrictFinite, RealScalar};
// Valid constant - no need for unwrap()
let pi = RealNative64StrictFinite::from_f64(std::f64::consts::PI);
assert_eq!(pi.as_ref(), &std::f64::consts::PI);
let e = RealNative64StrictFinite::from_f64(std::f64::consts::E);
assert_eq!(e.as_ref(), &std::f64::consts::E);use num_valid::{RealNative64StrictFinite, RealScalar};
// This will panic because NaN is invalid
let invalid = RealNative64StrictFinite::from_f64(f64::NAN);Source§type RawReal = <K as RawKernel>::RawReal
type RawReal = <K as RawKernel>::RawReal
Source§fn truncate_to_usize(
self,
) -> Result<usize, ErrorsRawRealToInteger<Self::RawReal, usize>>
fn truncate_to_usize( self, ) -> Result<usize, ErrorsRawRealToInteger<Self::RawReal, usize>>
usize. Read moreSource§impl<K: NumKernel> Reciprocal for RealValidated<K>
impl<K: NumKernel> Reciprocal for RealValidated<K>
Source§type Error = FunctionErrors<ReciprocalInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<ReciprocalInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_reciprocal method. Read moreSource§fn try_reciprocal(self) -> Result<Self, Self::Error>
fn try_reciprocal(self) -> Result<Self, Self::Error>
Source§fn reciprocal(self) -> Self
fn reciprocal(self) -> Self
self (1/self).Source§impl<K: NumKernel> Rounding for RealValidated<K>
impl<K: NumKernel> Rounding for RealValidated<K>
Source§fn kernel_ceil(self) -> Self
fn kernel_ceil(self) -> Self
Returns the smallest integer greater than or equal to self.
Source§fn kernel_floor(self) -> Self
fn kernel_floor(self) -> Self
Returns the largest integer smaller than or equal to self.
Source§fn kernel_fract(self) -> Self
fn kernel_fract(self) -> Self
Returns the fractional part of self.
Source§fn kernel_round(self) -> Self
fn kernel_round(self) -> Self
Rounds self to the nearest integer, rounding half-way cases away from zero.
Source§fn kernel_round_ties_even(self) -> Self
fn kernel_round_ties_even(self) -> Self
Returns the nearest integer to a number. Rounds half-way cases to the number with an even least significant digit.
This function always returns the precise result.
§Examples
use num_valid::{
functions::Rounding,
RealNative64StrictFinite,
};
use try_create::TryNew;
let f = RealNative64StrictFinite::try_new(3.3).unwrap();
let g = RealNative64StrictFinite::try_new(-3.3).unwrap();
let h = RealNative64StrictFinite::try_new(3.5).unwrap();
let i = RealNative64StrictFinite::try_new(-4.5).unwrap();
assert_eq!(f.kernel_round_ties_even(), RealNative64StrictFinite::try_new(3.).unwrap());
assert_eq!(g.kernel_round_ties_even(), RealNative64StrictFinite::try_new(-3.).unwrap());
assert_eq!(h.kernel_round_ties_even(), RealNative64StrictFinite::try_new(4.).unwrap());
assert_eq!(i.kernel_round_ties_even(), RealNative64StrictFinite::try_new(-4.).unwrap());Source§fn kernel_trunc(self) -> Self
fn kernel_trunc(self) -> Self
Returns the integer part of self. This means that non-integer numbers are always truncated towards zero.
§Examples
use num_valid::{
functions::Rounding,
RealNative64StrictFinite,
};
use try_create::TryNew;
let f = RealNative64StrictFinite::try_new(3.7).unwrap();
let g = RealNative64StrictFinite::try_new(3.).unwrap();
let h = RealNative64StrictFinite::try_new(-3.7).unwrap();
assert_eq!(f.kernel_trunc(), RealNative64StrictFinite::try_new(3.).unwrap());
assert_eq!(g.kernel_trunc(), RealNative64StrictFinite::try_new(3.).unwrap());
assert_eq!(h.kernel_trunc(), RealNative64StrictFinite::try_new(-3.).unwrap());Source§impl<K: NumKernel> Serialize for RealValidated<K>
impl<K: NumKernel> Serialize for RealValidated<K>
Source§impl<K: NumKernel> Sign for RealValidated<K>
impl<K: NumKernel> Sign for RealValidated<K>
Source§fn kernel_is_sign_negative(&self) -> bool
fn kernel_is_sign_negative(&self) -> bool
Returns true if the value is negative, −0 or NaN with a negative sign.
Source§fn kernel_is_sign_positive(&self) -> bool
fn kernel_is_sign_positive(&self) -> bool
Returns true if the value is positive, +0 or NaN with a positive sign.
Source§fn kernel_copysign(self, sign: &Self) -> Self
fn kernel_copysign(self, sign: &Self) -> Self
Returns a number with the magnitude of self and the sign of sign.
Source§fn kernel_signum(self) -> Self
fn kernel_signum(self) -> Self
Returns the signum of the number.
Source§impl<K: NumKernel> Sin for RealValidated<K>
impl<K: NumKernel> Sin for RealValidated<K>
Source§type Error = FunctionErrors<SinInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<SinInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_sin method.Source§impl<K: NumKernel> SinH for RealValidated<K>
impl<K: NumKernel> SinH for RealValidated<K>
Source§type Error = FunctionErrors<SinHInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<SinHInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_sinh method.Source§impl<K: NumKernel> Sqrt for RealValidated<K>
impl<K: NumKernel> Sqrt for RealValidated<K>
Source§type Error = FunctionErrors<SqrtRealInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<SqrtRealInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_sqrt method.Source§impl<'a, K: NumKernel> Sub<&'a RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: Sub<&'a <K::RealPolicy as ValidationPolicy>::Value, Output = <K::ComplexPolicy as ValidationPolicy>::Value>,
impl<'a, K: NumKernel> Sub<&'a RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: Sub<&'a <K::RealPolicy as ValidationPolicy>::Value, Output = <K::ComplexPolicy as ValidationPolicy>::Value>,
Source§type Output = ComplexValidated<K>
type Output = ComplexValidated<K>
- operator.Source§impl<'a, K: NumKernel> Sub<&'a RealValidated<K>> for RealValidated<K>
impl<'a, K: NumKernel> Sub<&'a RealValidated<K>> for RealValidated<K>
Source§impl<'a, K: NumKernel> Sub<RealValidated<K>> for &'a RealValidated<K>
impl<'a, K: NumKernel> Sub<RealValidated<K>> for &'a RealValidated<K>
Source§type Output = RealValidated<K>
type Output = RealValidated<K>
- operator.Source§impl<K: NumKernel> Sub<RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: Sub<<K::RealPolicy as ValidationPolicy>::Value, Output = <K::ComplexPolicy as ValidationPolicy>::Value>,
impl<K: NumKernel> Sub<RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: Sub<<K::RealPolicy as ValidationPolicy>::Value, Output = <K::ComplexPolicy as ValidationPolicy>::Value>,
Source§type Output = ComplexValidated<K>
type Output = ComplexValidated<K>
- operator.Source§impl<'a, K: NumKernel> Sub for &'a RealValidated<K>
impl<'a, K: NumKernel> Sub for &'a RealValidated<K>
Source§type Output = RealValidated<K>
type Output = RealValidated<K>
- operator.Source§impl<K: NumKernel> Sub for RealValidated<K>
impl<K: NumKernel> Sub for RealValidated<K>
Source§impl<'a, K: NumKernel> SubAssign<&'a RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: SubAssign<&'a <K::RealPolicy as ValidationPolicy>::Value>,
impl<'a, K: NumKernel> SubAssign<&'a RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: SubAssign<&'a <K::RealPolicy as ValidationPolicy>::Value>,
Source§fn sub_assign(&mut self, rhs: &'a RealValidated<K>)
fn sub_assign(&mut self, rhs: &'a RealValidated<K>)
-= operation. Read moreSource§impl<'a, K: NumKernel> SubAssign<&'a RealValidated<K>> for RealValidated<K>
impl<'a, K: NumKernel> SubAssign<&'a RealValidated<K>> for RealValidated<K>
Source§fn sub_assign(&mut self, rhs: &'a Self)
fn sub_assign(&mut self, rhs: &'a Self)
-= operation. Read moreSource§impl<K: NumKernel> SubAssign<RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: SubAssign<<K::RealPolicy as ValidationPolicy>::Value>,
impl<K: NumKernel> SubAssign<RealValidated<K>> for ComplexValidated<K>where
<K::ComplexPolicy as ValidationPolicy>::Value: SubAssign<<K::RealPolicy as ValidationPolicy>::Value>,
Source§fn sub_assign(&mut self, rhs: RealValidated<K>)
fn sub_assign(&mut self, rhs: RealValidated<K>)
-= operation. Read moreSource§impl<K: NumKernel> SubAssign for RealValidated<K>
impl<K: NumKernel> SubAssign for RealValidated<K>
Source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
-= operation. Read moreSource§impl<K: NumKernel> Sum for RealValidated<K>
impl<K: NumKernel> Sum for RealValidated<K>
Source§impl<K: NumKernel> Tan for RealValidated<K>
impl<K: NumKernel> Tan for RealValidated<K>
Source§type Error = FunctionErrors<TanRealInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<TanRealInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_tan method.Source§impl<K: NumKernel> TanH for RealValidated<K>
impl<K: NumKernel> TanH for RealValidated<K>
Source§type Error = FunctionErrors<TanHRealInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
type Error = FunctionErrors<TanHRealInputErrors<<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value>, <<<RealValidated<K> as TryNewValidated>::Policy as ValidationPolicy>::Value as RawScalarTrait>::ValidationErrors>
try_tanh method.Source§impl<K: NumKernel> TotalCmp for RealValidated<K>
impl<K: NumKernel> TotalCmp for RealValidated<K>
Source§impl<K: NumKernel> TryNew for RealValidated<K>
impl<K: NumKernel> TryNew for RealValidated<K>
Source§impl<K: NumKernel> TryNewValidated for RealValidated<K>
impl<K: NumKernel> TryNewValidated for RealValidated<K>
Source§type Policy = <K as NumKernel>::RealPolicy
type Policy = <K as NumKernel>::RealPolicy
ValidationPolicy. Read moreSource§fn try_new_validated(value: Self::InnerType) -> Result<Self, Self::Error>
fn try_new_validated(value: Self::InnerType) -> Result<Self, Self::Error>
Self from value.
This method should first validate value using Self::Policy::validate_ref(&value)
(or Self::Policy::validate(value) if consuming the value is intended by the policy).
If validation is successful, it proceeds to construct the Self instance,
typically by calling Self::try_new(value).
If validation fails, the error from the policy is converted into Self::Error and returned.
If construction after successful validation fails, the error from Self::try_new is returned.Source§impl<K: NumKernel> Zero for RealValidated<K>
impl<K: NumKernel> Zero for RealValidated<K>
impl<K: NumKernel> Arithmetic for RealValidated<K>
impl<K: NumKernel> Copy for RealValidated<K>
impl<K: NumKernel> Eq for RealValidated<K>where
K::RealPolicy: GuaranteesFiniteValues,
Implements total equality (Eq) for RealValidated types.
This implementation is only available when the kernel’s RealPolicy
implements the GuaranteesFiniteValues marker trait. This ensures that
the underlying value is never NaN, making the equality relation reflexive,
symmetric, and transitive, as required by Eq.
impl<K: NumKernel> HyperbolicFunctions for RealValidated<K>
impl<K: NumKernel> LogarithmFunctions for RealValidated<K>
impl<K: NumKernel> TrigonometricFunctions for RealValidated<K>
Auto Trait Implementations§
impl<K> Freeze for RealValidated<K>
impl<K> RefUnwindSafe for RealValidated<K>
impl<K> Send for RealValidated<K>
impl<K> Sync for RealValidated<K>
impl<K> Unpin for RealValidated<K>
impl<K> UnwindSafe for RealValidated<K>
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
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> ConditionallyCreate for T
impl<T> ConditionallyCreate for T
Source§fn create_conditionally(value: Self::InnerType) -> Self
fn create_conditionally(value: Self::InnerType) -> Self
Self. Read more