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§fn kernel_clamp(self, min: &Self, max: &Self) -> Self
fn kernel_clamp(self, min: &Self, max: &Self) -> Self
Clamps the value within the specified bounds.
Source§impl<K: NumKernel> Classify for RealValidated<K>
impl<K: NumKernel> Classify for RealValidated<K>
Source§fn kernel_classify(&self) -> FpCategory
fn kernel_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.kernel_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§fn kernel_exp_m1(self) -> Self
fn kernel_exp_m1(self) -> Self
Returns `e^(self) - 1`` in a way that is accurate even if the number is close to zero.
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 RawRealTrait::compute_hash()
method provided by the
underlying raw real type (via RawRealTrait
). This method:
- For
f64
types: Uses IEEE 754 bit representation viaf64::to_bits()
- For
rug::Float
types: Uses integer representation viarug::Float::to_integer()
- Handles signed zeros correctly (both
+0.0
and-0.0
produce the same hash) - Maintains the hash contract:
a == b
implieshash(a) == hash(b)
§Safety and Correctness
This implementation is safe because:
GuaranteesFiniteValues
ensures noNaN
values can exist- The
Eq
implementation 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§fn kernel_hypot(self, other: &Self) -> Self
fn kernel_hypot(self, other: &Self) -> Self
Compute the distance between the origin and a point (self
, other
) on the Euclidean plane.
Equivalently, compute the length of the hypotenuse of a right-angle triangle with other sides having length self.abs()
and other.abs()
.
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§fn kernel_ln_1p(self) -> Self
fn kernel_ln_1p(self) -> Self
Returns ln(1. + self)
(natural logarithm) more accurately than if the operations were performed separately.
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
.
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> 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