Struct DynQuantity
pub struct DynQuantity { /* private fields */ }Description
Runtime-dimensioned quantity — exists only at external-data boundaries (rule 2). Never appears inside Eqiora Language semantics.
Implementations§
§impl DynQuantity
impl DynQuantity
pub const fn new(value: f64, dim: DimExponents) -> DynQuantity
pub const fn new(value: f64, dim: DimExponents) -> DynQuantity
Wrap a raw value with runtime dimension exponents.
pub const fn dim(&self) -> DimExponents
pub const fn dim(&self) -> DimExponents
The runtime dimension exponents.
pub fn checked_cast<D>(self) -> Result<Quantity<f64, D>, Diagnostic>where
D: Dimension,
pub fn checked_cast<D>(self) -> Result<Quantity<f64, D>, Diagnostic>where
D: Dimension,
The only promotion path into the static layer (rule 2).
§Errors
Returns a EQ0401 diagnostic when the runtime dimension does not
match D.
pub fn try_add(self, rhs: DynQuantity) -> Result<DynQuantity, Diagnostic>
pub fn try_add(self, rhs: DynQuantity) -> Result<DynQuantity, Diagnostic>
pub fn try_sub(self, rhs: DynQuantity) -> Result<DynQuantity, Diagnostic>
pub fn try_sub(self, rhs: DynQuantity) -> Result<DynQuantity, Diagnostic>
Trait Implementations§
§impl Clone for DynQuantity
impl Clone for DynQuantity
§impl Debug for DynQuantity
impl Debug for DynQuantity
§impl Display for DynQuantity
impl Display for DynQuantity
§impl Div for DynQuantity
Division combines dimensions — always well-defined.
impl Div for DynQuantity
Division combines dimensions — always well-defined.
§type Output = DynQuantity
type Output = DynQuantity
The resulting type after applying the
/ operator.§fn div(self, rhs: DynQuantity) -> DynQuantity
fn div(self, rhs: DynQuantity) -> DynQuantity
Performs the
/ operation. Read more§impl<D> From<Quantity<f64, D>> for DynQuantitywhere
D: Dimension,
impl<D> From<Quantity<f64, D>> for DynQuantitywhere
D: Dimension,
§fn from(q: Quantity<f64, D>) -> DynQuantity
fn from(q: Quantity<f64, D>) -> DynQuantity
Converts to this type from the input type.
§impl Mul<f64> for DynQuantity
impl Mul<f64> for DynQuantity
§type Output = DynQuantity
type Output = DynQuantity
The resulting type after applying the
* operator.§fn mul(self, rhs: f64) -> DynQuantity
fn mul(self, rhs: f64) -> DynQuantity
Performs the
* operation. Read more§impl Mul for DynQuantity
Multiplication combines dimensions — always well-defined.
impl Mul for DynQuantity
Multiplication combines dimensions — always well-defined.
§type Output = DynQuantity
type Output = DynQuantity
The resulting type after applying the
* operator.§fn mul(self, rhs: DynQuantity) -> DynQuantity
fn mul(self, rhs: DynQuantity) -> DynQuantity
Performs the
* operation. Read more§impl Neg for DynQuantity
impl Neg for DynQuantity
§type Output = DynQuantity
type Output = DynQuantity
The resulting type after applying the
- operator.§fn neg(self) -> DynQuantity
fn neg(self) -> DynQuantity
Performs the unary
- operation. Read more§impl PartialEq for DynQuantity
impl PartialEq for DynQuantity
§fn eq(&self, other: &DynQuantity) -> bool
fn eq(&self, other: &DynQuantity) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for DynQuantity
impl StructuralPartialEq for DynQuantity
Auto Trait Implementations§
impl Freeze for DynQuantity
impl RefUnwindSafe for DynQuantity
impl Send for DynQuantity
impl Sync for DynQuantity
impl Unpin for DynQuantity
impl UnsafeUnpin for DynQuantity
impl UnwindSafe for DynQuantity
Blanket Implementations§
Source§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
Signature links:§
§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
Convert the given value into an approximately equivalent representation.
§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
Signature links:§
§type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
Signature links:§
The error type produced by a failed conversion.
§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Convert the subject into an approximately equivalent representation.
Source§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
Signature links:§
§fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
Approximate the subject with the default scheme.
§impl<T> ConvUtil for T
impl<T> ConvUtil for T
Signature links:§
§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
Approximate the subject to a given type with the default scheme.
§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
Approximate the subject to a given type with a specific scheme.
§fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
Convert the subject to a given type.
§fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
Attempt to convert the subject to a given type.
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
Source§impl<T> From<T> for T
impl<T> From<T> for T
Source§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
Signature links:§
Source§impl<T> Same for T
impl<T> Same for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Signature links:§
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Signature links:§
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<T> ToOwned for Twhere
T: Clone,
impl<T> ToOwned for Twhere
T: Clone,
Source§impl<T> ToString for Twhere
T: Display + ?Sized,
impl<T> ToString for Twhere
T: Display + ?Sized,
§impl<Src> TryFrom<Src> for Src
impl<Src> TryFrom<Src> for Src
Signature links:§
Source§impl<T, U> TryFrom<U> for Twhere
U: Into<T>,
impl<T, U> TryFrom<U> for Twhere
U: Into<T>,
§impl<Src, Dst> TryInto<Dst> for Srcwhere
Dst: TryFrom<Src>,
impl<Src, Dst> TryInto<Dst> for Srcwhere
Dst: TryFrom<Src>,
Signature links:§
Source§impl<T, U> TryInto<U> for Twhere
U: TryFrom<T>,
impl<T, U> TryInto<U> for Twhere
U: TryFrom<T>,
§impl<Src> ValueFrom<Src> for Src
impl<Src> ValueFrom<Src> for Src
Signature links:§
§fn value_from(src: Src) -> Result<Src, <Src as ValueFrom<Src>>::Err>
fn value_from(src: Src) -> Result<Src, <Src as ValueFrom<Src>>::Err>
Convert the given value into an exactly equivalent representation.
§impl<Src, Dst> ValueInto<Dst> for Srcwhere
Dst: ValueFrom<Src>,
impl<Src, Dst> ValueInto<Dst> for Srcwhere
Dst: ValueFrom<Src>,
Signature links:§
§type Err = <Dst as ValueFrom<Src>>::Err
type Err = <Dst as ValueFrom<Src>>::Err
Signature links:§
The error type produced by a failed conversion.
§fn value_into(self) -> Result<Dst, <Src as ValueInto<Dst>>::Err>
fn value_into(self) -> Result<Dst, <Src as ValueInto<Dst>>::Err>
Convert the subject into an exactly equivalent representation.