pub struct NonZeroF64 { /* private fields */ }Expand description
A 64-bit floating-point number representing a NonZero value.
§Constraints
This type enforces the following constraints:
- Range:
x ≠ 0(non-zero) - Finite: Excludes NaN and ±∞
Non-zero numbers are useful for:
- Division operations (avoiding divide-by-zero)
- Multiplicative factors
- Scaling operations
§Examples
Creating a non-zero value:
#![expect(clippy::approx_constant)]
use strict_num_extended::{NonZeroF64, FloatError};
let nonzero = NonZeroF64::new(42.0)?;
assert_eq!(nonzero.get(), 42.0);Invalid value (zero):
use strict_num_extended::NonZeroF64;
let invalid = NonZeroF64::new(0.0);
assert!(invalid.is_err());Implementations§
Source§impl NonZeroF64
impl NonZeroF64
Sourcepub fn new(value: f64) -> Result<Self, FloatError>
pub fn new(value: f64) -> Result<Self, FloatError>
Creates a new NonZeroF64 value.
The value must satisfy the constraint: non-zero.
§Examples
Valid value:
#![expect(clippy::approx_constant)]
use strict_num_extended::{NonZeroF64, FloatError};
let value = NonZeroF64::new(1.0)?;
assert_eq!(value.get(), 1.0);Invalid value (zero value):
use strict_num_extended::NonZeroF64;
let invalid = NonZeroF64::new(0.0);
assert!(invalid.is_err());§Errors
Returns Err(FloatError) if the value does not satisfy the constraint.
Sourcepub const unsafe fn new_unchecked(value: f64) -> Self
pub const unsafe fn new_unchecked(value: f64) -> Self
Unsafely creates a finite floating-point number (no validation)
§Safety
Caller must ensure the value satisfies the constraint. Violating the constraint leads to undefined behavior.
Sourcepub const fn get(&self) -> f64
pub const fn get(&self) -> f64
Gets the inner value
§Example
use strict_num_extended::FinF32;
let finite = FinF32::new(2.5);
assert_eq!(finite.unwrap().get(), 2.5);Source§impl NonZeroF64
impl NonZeroF64
Sourcepub fn abs(self) -> PositiveF64
pub fn abs(self) -> PositiveF64
Computes the absolute value.
The return type is automatically inferred based on the source constraint:
NonNegative/NonPositive→NonNegativeNonZero→PositiveNormalized→Normalized(reflexive)Symmetric→NormalizedFin→NonNegative
§Examples
use strict_num_extended::*;
let neg = NegativeF64::new(-5.0).unwrap();
let abs_val: PositiveF64 = neg.abs();
assert_eq!(abs_val.get(), 5.0);Source§impl NonZeroF64
impl NonZeroF64
Sourcepub fn signum(self) -> SymmetricF64
pub fn signum(self) -> SymmetricF64
Computes the sign function.
Returns the sign of the number:
1.0if the number is positive0.0if the number is zero-1.0if the number is negative
The return type is automatically inferred based on the source constraint:
Positivetypes →Normalized(signum in {0, 1})Negativetypes →NegativeNormalized(signum in {-1, 0})NonZerotypes →Symmetric(signum in {-1, 1})Fin/Symmetric→Symmetric(signum in {-1, 0, 1})
§Examples
use strict_num_extended::*;
let pos = PositiveF64::new(5.0).unwrap();
let sign: NormalizedF64 = pos.signum();
assert_eq!(sign.get(), 1.0);
let neg = NegativeF64::new(-5.0).unwrap();
let sign: NegativeNormalizedF64 = neg.signum();
assert_eq!(sign.get(), -1.0);Source§impl NonZeroF64
impl NonZeroF64
Sourcepub fn sin(self) -> SymmetricF64
Available on crate feature std only.
pub fn sin(self) -> SymmetricF64
std only.Computes the sine of the value.
§Mathematical Properties
For any finite real input x:
- Range: sin(x) ∈ [-1, 1]
- Output Type: Always returns
Symmetric([-1, 1]) - Defined: sin(x) is defined for all finite inputs
§Examples
use strict_num_extended::*;
let angle: FinF64 = FinF64::new(std::f64::consts::PI / 2.0).unwrap();
let sin_val: SymmetricF64 = angle.sin();
assert_eq!(sin_val.get(), 1.0);
let zero: NonNegativeF64 = NonNegativeF64::new_const(0.0);
let sin_zero: SymmetricF64 = zero.sin();
assert_eq!(sin_zero.get(), 0.0);Source§impl NonZeroF64
impl NonZeroF64
Sourcepub fn cos(self) -> SymmetricF64
Available on crate feature std only.
pub fn cos(self) -> SymmetricF64
std only.Computes the cosine of the value.
§Mathematical Properties
For any finite real input x:
- Range: cos(x) ∈ [-1, 1]
- Output Type: Always returns
Symmetric([-1, 1]) - Defined: cos(x) is defined for all finite inputs
§Examples
use strict_num_extended::*;
let angle: FinF64 = FinF64::new(0.0).unwrap();
let cos_val: SymmetricF64 = angle.cos();
assert_eq!(cos_val.get(), 1.0);
let pi: FinF64 = FinF64::new(std::f64::consts::PI).unwrap();
let cos_pi: SymmetricF64 = pi.cos();
assert!((cos_pi.get() - (-1.0)).abs() < f64::EPSILON);Source§impl NonZeroF64
impl NonZeroF64
Sourcepub fn tan(self) -> Result<FinF64, FloatError>
Available on crate feature std only.
pub fn tan(self) -> Result<FinF64, FloatError>
std only.Computes the tangent of the value.
§Mathematical Properties
For any finite real input x (excluding π/2 + kπ):
- Range: tan(x) ∈ (-∞, +∞)
- Output Type: Always returns
Fin(unbounded) - Singular Points: Undefined at π/2 + kπ (may return infinity)
§Examples
use strict_num_extended::*;
let angle: FinF64 = FinF64::new(0.0).unwrap();
let tan_val: Result<FinF64, FloatError> = angle.tan();
assert_eq!(tan_val.unwrap().get(), 0.0);
let pi_over_4: FinF64 = FinF64::new(std::f64::consts::PI / 4.0).unwrap();
let tan_45: Result<FinF64, FloatError> = pi_over_4.tan();
assert!((tan_45.unwrap().get() - 1.0).abs() < f64::EPSILON);Source§impl NonZeroF64
impl NonZeroF64
Sourcepub fn try_into_f32_type(self) -> Result<NonZeroF32, FloatError>
pub fn try_into_f32_type(self) -> Result<NonZeroF32, FloatError>
Attempts to convert to the corresponding F32 type
§Errors
Returns Err(FloatError) if the converted value does not satisfy
the target constraint (e.g., NaN, infinity, or out of range).
Source§impl NonZeroF64
impl NonZeroF64
Trait Implementations§
Source§impl Add<FinF64> for NonZeroF64
impl Add<FinF64> for NonZeroF64
Source§impl Add<NegativeF64> for NonZeroF64
impl Add<NegativeF64> for NonZeroF64
Source§impl Add<NegativeNormalizedF64> for NonZeroF64
impl Add<NegativeNormalizedF64> for NonZeroF64
Source§impl Add<NonNegativeF64> for NonZeroF64
impl Add<NonNegativeF64> for NonZeroF64
Source§impl Add<NonPositiveF64> for NonZeroF64
impl Add<NonPositiveF64> for NonZeroF64
Source§impl Add<NonZeroF64> for FinF64
impl Add<NonZeroF64> for FinF64
Source§impl Add<NonZeroF64> for NegativeF64
impl Add<NonZeroF64> for NegativeF64
Source§impl Add<NonZeroF64> for NegativeNormalizedF64
impl Add<NonZeroF64> for NegativeNormalizedF64
Source§impl Add<NonZeroF64> for NonNegativeF64
impl Add<NonZeroF64> for NonNegativeF64
Source§impl Add<NonZeroF64> for NonPositiveF64
impl Add<NonZeroF64> for NonPositiveF64
Source§impl Add<NonZeroF64> for NormalizedF64
impl Add<NonZeroF64> for NormalizedF64
Source§impl Add<NonZeroF64> for PiBoundedF64
impl Add<NonZeroF64> for PiBoundedF64
Source§impl Add<NonZeroF64> for PositiveF64
impl Add<NonZeroF64> for PositiveF64
Source§impl Add<NonZeroF64> for Result<FinF64, FloatError>
impl Add<NonZeroF64> for Result<FinF64, FloatError>
Source§impl Add<NonZeroF64> for Result<NegativeF64, FloatError>
impl Add<NonZeroF64> for Result<NegativeF64, FloatError>
Source§impl Add<NonZeroF64> for Result<NegativeNormalizedF64, FloatError>
impl Add<NonZeroF64> for Result<NegativeNormalizedF64, FloatError>
Source§impl Add<NonZeroF64> for Result<NonNegativeF64, FloatError>
impl Add<NonZeroF64> for Result<NonNegativeF64, FloatError>
Source§impl Add<NonZeroF64> for Result<NonPositiveF64, FloatError>
impl Add<NonZeroF64> for Result<NonPositiveF64, FloatError>
Source§impl Add<NonZeroF64> for Result<NonZeroF64, FloatError>
impl Add<NonZeroF64> for Result<NonZeroF64, FloatError>
Source§impl Add<NonZeroF64> for Result<NormalizedF64, FloatError>
impl Add<NonZeroF64> for Result<NormalizedF64, FloatError>
Source§impl Add<NonZeroF64> for Result<PiBoundedF64, FloatError>
impl Add<NonZeroF64> for Result<PiBoundedF64, FloatError>
Source§impl Add<NonZeroF64> for Result<PositiveF64, FloatError>
impl Add<NonZeroF64> for Result<PositiveF64, FloatError>
Source§impl Add<NonZeroF64> for Result<SymmetricF64, FloatError>
impl Add<NonZeroF64> for Result<SymmetricF64, FloatError>
Source§impl Add<NonZeroF64> for SymmetricF64
impl Add<NonZeroF64> for SymmetricF64
Source§impl Add<NonZeroF64> for f64
impl Add<NonZeroF64> for f64
Source§impl Add<NormalizedF64> for NonZeroF64
impl Add<NormalizedF64> for NonZeroF64
Source§impl Add<Option<NegativeF64>> for NonZeroF64
impl Add<Option<NegativeF64>> for NonZeroF64
Source§impl Add<Option<NegativeNormalizedF64>> for NonZeroF64
impl Add<Option<NegativeNormalizedF64>> for NonZeroF64
Source§impl Add<Option<NonNegativeF64>> for NonZeroF64
impl Add<Option<NonNegativeF64>> for NonZeroF64
Source§impl Add<Option<NonPositiveF64>> for NonZeroF64
impl Add<Option<NonPositiveF64>> for NonZeroF64
Source§impl Add<Option<NonZeroF64>> for NonZeroF64
impl Add<Option<NonZeroF64>> for NonZeroF64
Source§impl Add<Option<NormalizedF64>> for NonZeroF64
impl Add<Option<NormalizedF64>> for NonZeroF64
Source§impl Add<Option<PiBoundedF64>> for NonZeroF64
impl Add<Option<PiBoundedF64>> for NonZeroF64
Source§impl Add<Option<PositiveF64>> for NonZeroF64
impl Add<Option<PositiveF64>> for NonZeroF64
Source§impl Add<Option<SymmetricF64>> for NonZeroF64
impl Add<Option<SymmetricF64>> for NonZeroF64
Source§impl Add<PiBoundedF64> for NonZeroF64
impl Add<PiBoundedF64> for NonZeroF64
Source§impl Add<PositiveF64> for NonZeroF64
impl Add<PositiveF64> for NonZeroF64
Source§impl Add<Result<FinF64, FloatError>> for NonZeroF64
impl Add<Result<FinF64, FloatError>> for NonZeroF64
Source§impl Add<Result<NegativeF64, FloatError>> for NonZeroF64
impl Add<Result<NegativeF64, FloatError>> for NonZeroF64
Source§fn add(self, rhs: Result<NegativeF64, FloatError>) -> Self::Output
fn add(self, rhs: Result<NegativeF64, FloatError>) -> Self::Output
+ operation. Read moreSource§impl Add<Result<NegativeNormalizedF64, FloatError>> for NonZeroF64
impl Add<Result<NegativeNormalizedF64, FloatError>> for NonZeroF64
Source§fn add(self, rhs: Result<NegativeNormalizedF64, FloatError>) -> Self::Output
fn add(self, rhs: Result<NegativeNormalizedF64, FloatError>) -> Self::Output
+ operation. Read moreSource§impl Add<Result<NonNegativeF64, FloatError>> for NonZeroF64
impl Add<Result<NonNegativeF64, FloatError>> for NonZeroF64
Source§fn add(self, rhs: Result<NonNegativeF64, FloatError>) -> Self::Output
fn add(self, rhs: Result<NonNegativeF64, FloatError>) -> Self::Output
+ operation. Read moreSource§impl Add<Result<NonPositiveF64, FloatError>> for NonZeroF64
impl Add<Result<NonPositiveF64, FloatError>> for NonZeroF64
Source§fn add(self, rhs: Result<NonPositiveF64, FloatError>) -> Self::Output
fn add(self, rhs: Result<NonPositiveF64, FloatError>) -> Self::Output
+ operation. Read moreSource§impl Add<Result<NonZeroF64, FloatError>> for NonZeroF64
impl Add<Result<NonZeroF64, FloatError>> for NonZeroF64
Source§fn add(self, rhs: Result<NonZeroF64, FloatError>) -> Self::Output
fn add(self, rhs: Result<NonZeroF64, FloatError>) -> Self::Output
+ operation. Read moreSource§impl Add<Result<NormalizedF64, FloatError>> for NonZeroF64
impl Add<Result<NormalizedF64, FloatError>> for NonZeroF64
Source§fn add(self, rhs: Result<NormalizedF64, FloatError>) -> Self::Output
fn add(self, rhs: Result<NormalizedF64, FloatError>) -> Self::Output
+ operation. Read moreSource§impl Add<Result<PiBoundedF64, FloatError>> for NonZeroF64
impl Add<Result<PiBoundedF64, FloatError>> for NonZeroF64
Source§fn add(self, rhs: Result<PiBoundedF64, FloatError>) -> Self::Output
fn add(self, rhs: Result<PiBoundedF64, FloatError>) -> Self::Output
+ operation. Read moreSource§impl Add<Result<PositiveF64, FloatError>> for NonZeroF64
impl Add<Result<PositiveF64, FloatError>> for NonZeroF64
Source§fn add(self, rhs: Result<PositiveF64, FloatError>) -> Self::Output
fn add(self, rhs: Result<PositiveF64, FloatError>) -> Self::Output
+ operation. Read moreSource§impl Add<Result<SymmetricF64, FloatError>> for NonZeroF64
impl Add<Result<SymmetricF64, FloatError>> for NonZeroF64
Source§fn add(self, rhs: Result<SymmetricF64, FloatError>) -> Self::Output
fn add(self, rhs: Result<SymmetricF64, FloatError>) -> Self::Output
+ operation. Read moreSource§impl Add<SymmetricF64> for NonZeroF64
impl Add<SymmetricF64> for NonZeroF64
Source§impl Add<f64> for NonZeroF64
impl Add<f64> for NonZeroF64
Source§impl Add for NonZeroF64
impl Add for NonZeroF64
Source§impl Clone for NonZeroF64
impl Clone for NonZeroF64
Source§fn clone(&self) -> NonZeroF64
fn clone(&self) -> NonZeroF64
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for NonZeroF64
impl Debug for NonZeroF64
Source§impl<'de> Deserialize<'de> for NonZeroF64where
f64: Deserialize<'de>,
Available on crate feature serde only.
impl<'de> Deserialize<'de> for NonZeroF64where
f64: Deserialize<'de>,
serde only.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 Display for NonZeroF64
impl Display for NonZeroF64
Source§impl Div<FinF64> for NonZeroF64
impl Div<FinF64> for NonZeroF64
Source§impl Div<NegativeF64> for NonZeroF64
impl Div<NegativeF64> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<NegativeNormalizedF64> for NonZeroF64
impl Div<NegativeNormalizedF64> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<NonNegativeF64> for NonZeroF64
impl Div<NonNegativeF64> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<NonPositiveF64> for NonZeroF64
impl Div<NonPositiveF64> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<NonZeroF64> for FinF64
impl Div<NonZeroF64> for FinF64
Source§impl Div<NonZeroF64> for NegativeF64
impl Div<NonZeroF64> for NegativeF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<NonZeroF64> for NegativeNormalizedF64
impl Div<NonZeroF64> for NegativeNormalizedF64
Source§impl Div<NonZeroF64> for NonNegativeF64
impl Div<NonZeroF64> for NonNegativeF64
Source§impl Div<NonZeroF64> for NonPositiveF64
impl Div<NonZeroF64> for NonPositiveF64
Source§impl Div<NonZeroF64> for NormalizedF64
impl Div<NonZeroF64> for NormalizedF64
Source§impl Div<NonZeroF64> for PiBoundedF64
impl Div<NonZeroF64> for PiBoundedF64
Source§impl Div<NonZeroF64> for PositiveF64
impl Div<NonZeroF64> for PositiveF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<NonZeroF64> for Result<FinF64, FloatError>
impl Div<NonZeroF64> for Result<FinF64, FloatError>
Source§impl Div<NonZeroF64> for Result<NegativeF64, FloatError>
impl Div<NonZeroF64> for Result<NegativeF64, FloatError>
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<NonZeroF64> for Result<NegativeNormalizedF64, FloatError>
impl Div<NonZeroF64> for Result<NegativeNormalizedF64, FloatError>
Source§impl Div<NonZeroF64> for Result<NonNegativeF64, FloatError>
impl Div<NonZeroF64> for Result<NonNegativeF64, FloatError>
Source§impl Div<NonZeroF64> for Result<NonPositiveF64, FloatError>
impl Div<NonZeroF64> for Result<NonPositiveF64, FloatError>
Source§impl Div<NonZeroF64> for Result<NonZeroF64, FloatError>
impl Div<NonZeroF64> for Result<NonZeroF64, FloatError>
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<NonZeroF64> for Result<NormalizedF64, FloatError>
impl Div<NonZeroF64> for Result<NormalizedF64, FloatError>
Source§impl Div<NonZeroF64> for Result<PiBoundedF64, FloatError>
impl Div<NonZeroF64> for Result<PiBoundedF64, FloatError>
Source§impl Div<NonZeroF64> for Result<PositiveF64, FloatError>
impl Div<NonZeroF64> for Result<PositiveF64, FloatError>
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<NonZeroF64> for Result<SymmetricF64, FloatError>
impl Div<NonZeroF64> for Result<SymmetricF64, FloatError>
Source§impl Div<NonZeroF64> for SymmetricF64
impl Div<NonZeroF64> for SymmetricF64
Source§impl Div<NonZeroF64> for f64
impl Div<NonZeroF64> for f64
Source§impl Div<NormalizedF64> for NonZeroF64
impl Div<NormalizedF64> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<Option<NegativeF64>> for NonZeroF64
impl Div<Option<NegativeF64>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<Option<NegativeNormalizedF64>> for NonZeroF64
impl Div<Option<NegativeNormalizedF64>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<Option<NonNegativeF64>> for NonZeroF64
impl Div<Option<NonNegativeF64>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<Option<NonPositiveF64>> for NonZeroF64
impl Div<Option<NonPositiveF64>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<Option<NonZeroF64>> for NonZeroF64
impl Div<Option<NonZeroF64>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<Option<NormalizedF64>> for NonZeroF64
impl Div<Option<NormalizedF64>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<Option<PiBoundedF64>> for NonZeroF64
impl Div<Option<PiBoundedF64>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<Option<PositiveF64>> for NonZeroF64
impl Div<Option<PositiveF64>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<Option<SymmetricF64>> for NonZeroF64
impl Div<Option<SymmetricF64>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<PiBoundedF64> for NonZeroF64
impl Div<PiBoundedF64> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<PositiveF64> for NonZeroF64
impl Div<PositiveF64> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<Result<FinF64, FloatError>> for NonZeroF64
impl Div<Result<FinF64, FloatError>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<Result<NegativeF64, FloatError>> for NonZeroF64
impl Div<Result<NegativeF64, FloatError>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§fn div(self, rhs: Result<NegativeF64, FloatError>) -> Self::Output
fn div(self, rhs: Result<NegativeF64, FloatError>) -> Self::Output
/ operation. Read moreSource§impl Div<Result<NegativeNormalizedF64, FloatError>> for NonZeroF64
impl Div<Result<NegativeNormalizedF64, FloatError>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§fn div(self, rhs: Result<NegativeNormalizedF64, FloatError>) -> Self::Output
fn div(self, rhs: Result<NegativeNormalizedF64, FloatError>) -> Self::Output
/ operation. Read moreSource§impl Div<Result<NonNegativeF64, FloatError>> for NonZeroF64
impl Div<Result<NonNegativeF64, FloatError>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§fn div(self, rhs: Result<NonNegativeF64, FloatError>) -> Self::Output
fn div(self, rhs: Result<NonNegativeF64, FloatError>) -> Self::Output
/ operation. Read moreSource§impl Div<Result<NonPositiveF64, FloatError>> for NonZeroF64
impl Div<Result<NonPositiveF64, FloatError>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§fn div(self, rhs: Result<NonPositiveF64, FloatError>) -> Self::Output
fn div(self, rhs: Result<NonPositiveF64, FloatError>) -> Self::Output
/ operation. Read moreSource§impl Div<Result<NonZeroF64, FloatError>> for NonZeroF64
impl Div<Result<NonZeroF64, FloatError>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§fn div(self, rhs: Result<NonZeroF64, FloatError>) -> Self::Output
fn div(self, rhs: Result<NonZeroF64, FloatError>) -> Self::Output
/ operation. Read moreSource§impl Div<Result<NormalizedF64, FloatError>> for NonZeroF64
impl Div<Result<NormalizedF64, FloatError>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§fn div(self, rhs: Result<NormalizedF64, FloatError>) -> Self::Output
fn div(self, rhs: Result<NormalizedF64, FloatError>) -> Self::Output
/ operation. Read moreSource§impl Div<Result<PiBoundedF64, FloatError>> for NonZeroF64
impl Div<Result<PiBoundedF64, FloatError>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§fn div(self, rhs: Result<PiBoundedF64, FloatError>) -> Self::Output
fn div(self, rhs: Result<PiBoundedF64, FloatError>) -> Self::Output
/ operation. Read moreSource§impl Div<Result<PositiveF64, FloatError>> for NonZeroF64
impl Div<Result<PositiveF64, FloatError>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§fn div(self, rhs: Result<PositiveF64, FloatError>) -> Self::Output
fn div(self, rhs: Result<PositiveF64, FloatError>) -> Self::Output
/ operation. Read moreSource§impl Div<Result<SymmetricF64, FloatError>> for NonZeroF64
impl Div<Result<SymmetricF64, FloatError>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§fn div(self, rhs: Result<SymmetricF64, FloatError>) -> Self::Output
fn div(self, rhs: Result<SymmetricF64, FloatError>) -> Self::Output
/ operation. Read moreSource§impl Div<SymmetricF64> for NonZeroF64
impl Div<SymmetricF64> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl Div<f64> for NonZeroF64
impl Div<f64> for NonZeroF64
Source§impl Div for NonZeroF64
impl Div for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
/ operator.Source§impl FiniteFloat for NonZeroF64
impl FiniteFloat for NonZeroF64
Source§impl From<NegativeF64> for NonZeroF64
impl From<NegativeF64> for NonZeroF64
Source§fn from(value: NegativeF64) -> Self
fn from(value: NegativeF64) -> Self
Source§impl From<NonZeroF32> for NonZeroF64
impl From<NonZeroF32> for NonZeroF64
Source§fn from(value: NonZeroF32) -> Self
fn from(value: NonZeroF32) -> Self
Source§impl From<NonZeroF64> for FinF64
impl From<NonZeroF64> for FinF64
Source§fn from(value: NonZeroF64) -> Self
fn from(value: NonZeroF64) -> Self
Source§impl From<NonZeroF64> for f64
impl From<NonZeroF64> for f64
Source§fn from(value: NonZeroF64) -> Self
fn from(value: NonZeroF64) -> Self
Source§impl From<PositiveF64> for NonZeroF64
impl From<PositiveF64> for NonZeroF64
Source§fn from(value: PositiveF64) -> Self
fn from(value: PositiveF64) -> Self
Source§impl FromStr for NonZeroF64
impl FromStr for NonZeroF64
Source§impl Mul<FinF64> for NonZeroF64
impl Mul<FinF64> for NonZeroF64
Source§impl Mul<NegativeF64> for NonZeroF64
impl Mul<NegativeF64> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
* operator.Source§impl Mul<NegativeNormalizedF64> for NonZeroF64
impl Mul<NegativeNormalizedF64> for NonZeroF64
Source§impl Mul<NonNegativeF64> for NonZeroF64
impl Mul<NonNegativeF64> for NonZeroF64
Source§impl Mul<NonPositiveF64> for NonZeroF64
impl Mul<NonPositiveF64> for NonZeroF64
Source§impl Mul<NonZeroF64> for FinF64
impl Mul<NonZeroF64> for FinF64
Source§impl Mul<NonZeroF64> for NegativeF64
impl Mul<NonZeroF64> for NegativeF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
* operator.Source§impl Mul<NonZeroF64> for NegativeNormalizedF64
impl Mul<NonZeroF64> for NegativeNormalizedF64
Source§impl Mul<NonZeroF64> for NonNegativeF64
impl Mul<NonZeroF64> for NonNegativeF64
Source§impl Mul<NonZeroF64> for NonPositiveF64
impl Mul<NonZeroF64> for NonPositiveF64
Source§impl Mul<NonZeroF64> for NormalizedF64
impl Mul<NonZeroF64> for NormalizedF64
Source§impl Mul<NonZeroF64> for PiBoundedF64
impl Mul<NonZeroF64> for PiBoundedF64
Source§impl Mul<NonZeroF64> for PositiveF64
impl Mul<NonZeroF64> for PositiveF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
* operator.Source§impl Mul<NonZeroF64> for Result<FinF64, FloatError>
impl Mul<NonZeroF64> for Result<FinF64, FloatError>
Source§impl Mul<NonZeroF64> for Result<NegativeF64, FloatError>
impl Mul<NonZeroF64> for Result<NegativeF64, FloatError>
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
* operator.Source§impl Mul<NonZeroF64> for Result<NegativeNormalizedF64, FloatError>
impl Mul<NonZeroF64> for Result<NegativeNormalizedF64, FloatError>
Source§impl Mul<NonZeroF64> for Result<NonNegativeF64, FloatError>
impl Mul<NonZeroF64> for Result<NonNegativeF64, FloatError>
Source§impl Mul<NonZeroF64> for Result<NonPositiveF64, FloatError>
impl Mul<NonZeroF64> for Result<NonPositiveF64, FloatError>
Source§impl Mul<NonZeroF64> for Result<NonZeroF64, FloatError>
impl Mul<NonZeroF64> for Result<NonZeroF64, FloatError>
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
* operator.Source§impl Mul<NonZeroF64> for Result<NormalizedF64, FloatError>
impl Mul<NonZeroF64> for Result<NormalizedF64, FloatError>
Source§impl Mul<NonZeroF64> for Result<PiBoundedF64, FloatError>
impl Mul<NonZeroF64> for Result<PiBoundedF64, FloatError>
Source§impl Mul<NonZeroF64> for Result<PositiveF64, FloatError>
impl Mul<NonZeroF64> for Result<PositiveF64, FloatError>
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
* operator.Source§impl Mul<NonZeroF64> for Result<SymmetricF64, FloatError>
impl Mul<NonZeroF64> for Result<SymmetricF64, FloatError>
Source§impl Mul<NonZeroF64> for SymmetricF64
impl Mul<NonZeroF64> for SymmetricF64
Source§impl Mul<NonZeroF64> for f64
impl Mul<NonZeroF64> for f64
Source§impl Mul<NormalizedF64> for NonZeroF64
impl Mul<NormalizedF64> for NonZeroF64
Source§impl Mul<Option<NegativeF64>> for NonZeroF64
impl Mul<Option<NegativeF64>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
* operator.Source§impl Mul<Option<NegativeNormalizedF64>> for NonZeroF64
impl Mul<Option<NegativeNormalizedF64>> for NonZeroF64
Source§impl Mul<Option<NonNegativeF64>> for NonZeroF64
impl Mul<Option<NonNegativeF64>> for NonZeroF64
Source§impl Mul<Option<NonPositiveF64>> for NonZeroF64
impl Mul<Option<NonPositiveF64>> for NonZeroF64
Source§impl Mul<Option<NonZeroF64>> for NonZeroF64
impl Mul<Option<NonZeroF64>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
* operator.Source§impl Mul<Option<NormalizedF64>> for NonZeroF64
impl Mul<Option<NormalizedF64>> for NonZeroF64
Source§impl Mul<Option<PiBoundedF64>> for NonZeroF64
impl Mul<Option<PiBoundedF64>> for NonZeroF64
Source§impl Mul<Option<PositiveF64>> for NonZeroF64
impl Mul<Option<PositiveF64>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
* operator.Source§impl Mul<Option<SymmetricF64>> for NonZeroF64
impl Mul<Option<SymmetricF64>> for NonZeroF64
Source§impl Mul<PiBoundedF64> for NonZeroF64
impl Mul<PiBoundedF64> for NonZeroF64
Source§impl Mul<PositiveF64> for NonZeroF64
impl Mul<PositiveF64> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
* operator.Source§impl Mul<Result<FinF64, FloatError>> for NonZeroF64
impl Mul<Result<FinF64, FloatError>> for NonZeroF64
Source§impl Mul<Result<NegativeF64, FloatError>> for NonZeroF64
impl Mul<Result<NegativeF64, FloatError>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
* operator.Source§fn mul(self, rhs: Result<NegativeF64, FloatError>) -> Self::Output
fn mul(self, rhs: Result<NegativeF64, FloatError>) -> Self::Output
* operation. Read moreSource§impl Mul<Result<NegativeNormalizedF64, FloatError>> for NonZeroF64
impl Mul<Result<NegativeNormalizedF64, FloatError>> for NonZeroF64
Source§fn mul(self, rhs: Result<NegativeNormalizedF64, FloatError>) -> Self::Output
fn mul(self, rhs: Result<NegativeNormalizedF64, FloatError>) -> Self::Output
* operation. Read moreSource§impl Mul<Result<NonNegativeF64, FloatError>> for NonZeroF64
impl Mul<Result<NonNegativeF64, FloatError>> for NonZeroF64
Source§fn mul(self, rhs: Result<NonNegativeF64, FloatError>) -> Self::Output
fn mul(self, rhs: Result<NonNegativeF64, FloatError>) -> Self::Output
* operation. Read moreSource§impl Mul<Result<NonPositiveF64, FloatError>> for NonZeroF64
impl Mul<Result<NonPositiveF64, FloatError>> for NonZeroF64
Source§fn mul(self, rhs: Result<NonPositiveF64, FloatError>) -> Self::Output
fn mul(self, rhs: Result<NonPositiveF64, FloatError>) -> Self::Output
* operation. Read moreSource§impl Mul<Result<NonZeroF64, FloatError>> for NonZeroF64
impl Mul<Result<NonZeroF64, FloatError>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
* operator.Source§fn mul(self, rhs: Result<NonZeroF64, FloatError>) -> Self::Output
fn mul(self, rhs: Result<NonZeroF64, FloatError>) -> Self::Output
* operation. Read moreSource§impl Mul<Result<NormalizedF64, FloatError>> for NonZeroF64
impl Mul<Result<NormalizedF64, FloatError>> for NonZeroF64
Source§fn mul(self, rhs: Result<NormalizedF64, FloatError>) -> Self::Output
fn mul(self, rhs: Result<NormalizedF64, FloatError>) -> Self::Output
* operation. Read moreSource§impl Mul<Result<PiBoundedF64, FloatError>> for NonZeroF64
impl Mul<Result<PiBoundedF64, FloatError>> for NonZeroF64
Source§fn mul(self, rhs: Result<PiBoundedF64, FloatError>) -> Self::Output
fn mul(self, rhs: Result<PiBoundedF64, FloatError>) -> Self::Output
* operation. Read moreSource§impl Mul<Result<PositiveF64, FloatError>> for NonZeroF64
impl Mul<Result<PositiveF64, FloatError>> for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
* operator.Source§fn mul(self, rhs: Result<PositiveF64, FloatError>) -> Self::Output
fn mul(self, rhs: Result<PositiveF64, FloatError>) -> Self::Output
* operation. Read moreSource§impl Mul<Result<SymmetricF64, FloatError>> for NonZeroF64
impl Mul<Result<SymmetricF64, FloatError>> for NonZeroF64
Source§fn mul(self, rhs: Result<SymmetricF64, FloatError>) -> Self::Output
fn mul(self, rhs: Result<SymmetricF64, FloatError>) -> Self::Output
* operation. Read moreSource§impl Mul<SymmetricF64> for NonZeroF64
impl Mul<SymmetricF64> for NonZeroF64
Source§impl Mul<f64> for NonZeroF64
impl Mul<f64> for NonZeroF64
Source§impl Mul for NonZeroF64
impl Mul for NonZeroF64
Source§type Output = Result<NonZeroF64, FloatError>
type Output = Result<NonZeroF64, FloatError>
* operator.Source§impl Neg for NonZeroF64
impl Neg for NonZeroF64
Source§impl Ord for NonZeroF64
impl Ord for NonZeroF64
Source§impl PartialEq for NonZeroF64
impl PartialEq for NonZeroF64
Source§impl PartialOrd for NonZeroF64
impl PartialOrd for NonZeroF64
Source§impl Serialize for NonZeroF64
Available on crate feature serde only.
impl Serialize for NonZeroF64
serde only.Source§impl Sub<FinF64> for NonZeroF64
impl Sub<FinF64> for NonZeroF64
Source§impl Sub<NegativeF64> for NonZeroF64
impl Sub<NegativeF64> for NonZeroF64
Source§impl Sub<NegativeNormalizedF64> for NonZeroF64
impl Sub<NegativeNormalizedF64> for NonZeroF64
Source§impl Sub<NonNegativeF64> for NonZeroF64
impl Sub<NonNegativeF64> for NonZeroF64
Source§impl Sub<NonPositiveF64> for NonZeroF64
impl Sub<NonPositiveF64> for NonZeroF64
Source§impl Sub<NonZeroF64> for FinF64
impl Sub<NonZeroF64> for FinF64
Source§impl Sub<NonZeroF64> for NegativeF64
impl Sub<NonZeroF64> for NegativeF64
Source§impl Sub<NonZeroF64> for NegativeNormalizedF64
impl Sub<NonZeroF64> for NegativeNormalizedF64
Source§impl Sub<NonZeroF64> for NonNegativeF64
impl Sub<NonZeroF64> for NonNegativeF64
Source§impl Sub<NonZeroF64> for NonPositiveF64
impl Sub<NonZeroF64> for NonPositiveF64
Source§impl Sub<NonZeroF64> for NormalizedF64
impl Sub<NonZeroF64> for NormalizedF64
Source§impl Sub<NonZeroF64> for PiBoundedF64
impl Sub<NonZeroF64> for PiBoundedF64
Source§impl Sub<NonZeroF64> for PositiveF64
impl Sub<NonZeroF64> for PositiveF64
Source§impl Sub<NonZeroF64> for Result<FinF64, FloatError>
impl Sub<NonZeroF64> for Result<FinF64, FloatError>
Source§impl Sub<NonZeroF64> for Result<NegativeF64, FloatError>
impl Sub<NonZeroF64> for Result<NegativeF64, FloatError>
Source§impl Sub<NonZeroF64> for Result<NegativeNormalizedF64, FloatError>
impl Sub<NonZeroF64> for Result<NegativeNormalizedF64, FloatError>
Source§impl Sub<NonZeroF64> for Result<NonNegativeF64, FloatError>
impl Sub<NonZeroF64> for Result<NonNegativeF64, FloatError>
Source§impl Sub<NonZeroF64> for Result<NonPositiveF64, FloatError>
impl Sub<NonZeroF64> for Result<NonPositiveF64, FloatError>
Source§impl Sub<NonZeroF64> for Result<NonZeroF64, FloatError>
impl Sub<NonZeroF64> for Result<NonZeroF64, FloatError>
Source§impl Sub<NonZeroF64> for Result<NormalizedF64, FloatError>
impl Sub<NonZeroF64> for Result<NormalizedF64, FloatError>
Source§impl Sub<NonZeroF64> for Result<PiBoundedF64, FloatError>
impl Sub<NonZeroF64> for Result<PiBoundedF64, FloatError>
Source§impl Sub<NonZeroF64> for Result<PositiveF64, FloatError>
impl Sub<NonZeroF64> for Result<PositiveF64, FloatError>
Source§impl Sub<NonZeroF64> for Result<SymmetricF64, FloatError>
impl Sub<NonZeroF64> for Result<SymmetricF64, FloatError>
Source§impl Sub<NonZeroF64> for SymmetricF64
impl Sub<NonZeroF64> for SymmetricF64
Source§impl Sub<NonZeroF64> for f64
impl Sub<NonZeroF64> for f64
Source§impl Sub<NormalizedF64> for NonZeroF64
impl Sub<NormalizedF64> for NonZeroF64
Source§impl Sub<Option<NegativeF64>> for NonZeroF64
impl Sub<Option<NegativeF64>> for NonZeroF64
Source§impl Sub<Option<NegativeNormalizedF64>> for NonZeroF64
impl Sub<Option<NegativeNormalizedF64>> for NonZeroF64
Source§impl Sub<Option<NonNegativeF64>> for NonZeroF64
impl Sub<Option<NonNegativeF64>> for NonZeroF64
Source§impl Sub<Option<NonPositiveF64>> for NonZeroF64
impl Sub<Option<NonPositiveF64>> for NonZeroF64
Source§impl Sub<Option<NonZeroF64>> for NonZeroF64
impl Sub<Option<NonZeroF64>> for NonZeroF64
Source§impl Sub<Option<NormalizedF64>> for NonZeroF64
impl Sub<Option<NormalizedF64>> for NonZeroF64
Source§impl Sub<Option<PiBoundedF64>> for NonZeroF64
impl Sub<Option<PiBoundedF64>> for NonZeroF64
Source§impl Sub<Option<PositiveF64>> for NonZeroF64
impl Sub<Option<PositiveF64>> for NonZeroF64
Source§impl Sub<Option<SymmetricF64>> for NonZeroF64
impl Sub<Option<SymmetricF64>> for NonZeroF64
Source§impl Sub<PiBoundedF64> for NonZeroF64
impl Sub<PiBoundedF64> for NonZeroF64
Source§impl Sub<PositiveF64> for NonZeroF64
impl Sub<PositiveF64> for NonZeroF64
Source§impl Sub<Result<FinF64, FloatError>> for NonZeroF64
impl Sub<Result<FinF64, FloatError>> for NonZeroF64
Source§impl Sub<Result<NegativeF64, FloatError>> for NonZeroF64
impl Sub<Result<NegativeF64, FloatError>> for NonZeroF64
Source§fn sub(self, rhs: Result<NegativeF64, FloatError>) -> Self::Output
fn sub(self, rhs: Result<NegativeF64, FloatError>) -> Self::Output
- operation. Read moreSource§impl Sub<Result<NegativeNormalizedF64, FloatError>> for NonZeroF64
impl Sub<Result<NegativeNormalizedF64, FloatError>> for NonZeroF64
Source§fn sub(self, rhs: Result<NegativeNormalizedF64, FloatError>) -> Self::Output
fn sub(self, rhs: Result<NegativeNormalizedF64, FloatError>) -> Self::Output
- operation. Read moreSource§impl Sub<Result<NonNegativeF64, FloatError>> for NonZeroF64
impl Sub<Result<NonNegativeF64, FloatError>> for NonZeroF64
Source§fn sub(self, rhs: Result<NonNegativeF64, FloatError>) -> Self::Output
fn sub(self, rhs: Result<NonNegativeF64, FloatError>) -> Self::Output
- operation. Read moreSource§impl Sub<Result<NonPositiveF64, FloatError>> for NonZeroF64
impl Sub<Result<NonPositiveF64, FloatError>> for NonZeroF64
Source§fn sub(self, rhs: Result<NonPositiveF64, FloatError>) -> Self::Output
fn sub(self, rhs: Result<NonPositiveF64, FloatError>) -> Self::Output
- operation. Read moreSource§impl Sub<Result<NonZeroF64, FloatError>> for NonZeroF64
impl Sub<Result<NonZeroF64, FloatError>> for NonZeroF64
Source§fn sub(self, rhs: Result<NonZeroF64, FloatError>) -> Self::Output
fn sub(self, rhs: Result<NonZeroF64, FloatError>) -> Self::Output
- operation. Read moreSource§impl Sub<Result<NormalizedF64, FloatError>> for NonZeroF64
impl Sub<Result<NormalizedF64, FloatError>> for NonZeroF64
Source§fn sub(self, rhs: Result<NormalizedF64, FloatError>) -> Self::Output
fn sub(self, rhs: Result<NormalizedF64, FloatError>) -> Self::Output
- operation. Read moreSource§impl Sub<Result<PiBoundedF64, FloatError>> for NonZeroF64
impl Sub<Result<PiBoundedF64, FloatError>> for NonZeroF64
Source§fn sub(self, rhs: Result<PiBoundedF64, FloatError>) -> Self::Output
fn sub(self, rhs: Result<PiBoundedF64, FloatError>) -> Self::Output
- operation. Read moreSource§impl Sub<Result<PositiveF64, FloatError>> for NonZeroF64
impl Sub<Result<PositiveF64, FloatError>> for NonZeroF64
Source§fn sub(self, rhs: Result<PositiveF64, FloatError>) -> Self::Output
fn sub(self, rhs: Result<PositiveF64, FloatError>) -> Self::Output
- operation. Read moreSource§impl Sub<Result<SymmetricF64, FloatError>> for NonZeroF64
impl Sub<Result<SymmetricF64, FloatError>> for NonZeroF64
Source§fn sub(self, rhs: Result<SymmetricF64, FloatError>) -> Self::Output
fn sub(self, rhs: Result<SymmetricF64, FloatError>) -> Self::Output
- operation. Read more