pub struct Volume(/* private fields */);Expand description
Volume [m³].
Implementations§
Source§impl Volume
impl Volume
Sourcepub fn cubic_meters(val: &Ex) -> Self
pub fn cubic_meters(val: &Ex) -> Self
Create a Volume from a value in cubic meters (SI base unit).
Sourcepub fn milliliters(val: &Ex) -> Self
pub fn milliliters(val: &Ex) -> Self
Create a Volume from a value in milliliters (1 mL = 1e-6 m³).
Sourcepub fn us_gallons(val: &Ex) -> Self
pub fn us_gallons(val: &Ex) -> Self
1 US gallon = 231 in³ (exact).
Sourcepub fn us_fluid_ounces(val: &Ex) -> Self
pub fn us_fluid_ounces(val: &Ex) -> Self
1 US fluid ounce = gallon/128 (exact).
Sourcepub fn imperial_gallons(val: &Ex) -> Self
pub fn imperial_gallons(val: &Ex) -> Self
1 imperial gallon = 4.54609 L (exact).
Sourcepub fn us_tablespoons(val: &Ex) -> Self
pub fn us_tablespoons(val: &Ex) -> Self
1 US tablespoon = fl oz / 2 (exact).
Source§impl Volume
impl Volume
Sourcepub fn from_ex(ex: impl IntoEx) -> Self
pub fn from_ex(ex: impl IntoEx) -> Self
Create from a symbolic expression (or anything that implements IntoEx).
Sourcepub fn checked_from_ex(ex: impl IntoEx, dims: &DimMap) -> Result<Self, String>
pub fn checked_from_ex(ex: impl IntoEx, dims: &DimMap) -> Result<Self, String>
Create from a symbolic expression with runtime dimension validation.
Checks that the expression’s inferred dimension matches this type’s
dimension using the provided DimMap. Returns an error if the
dimensions don’t match.
Use this instead of from_ex when you want runtime validation
of dimensional correctness (e.g., in tests or debug builds).
Sourcepub fn symbol(ctx: &Context, name: &str) -> Self
pub fn symbol(ctx: &Context, name: &str) -> Self
Create a named symbolic variable with this dimension.
Sourcepub fn into_inner(self) -> Ex
pub fn into_inner(self) -> Ex
Escape hatch: drop dimension, return raw Ex.
Sourcepub fn dim_name_str() -> &'static str
pub fn dim_name_str() -> &'static str
Runtime dimension name.
Sourcepub fn dim_symbol_str() -> &'static str
pub fn dim_symbol_str() -> &'static str
Runtime dimension symbol.
Sourcepub fn simplify_full(&self) -> Self
pub fn simplify_full(&self) -> Self
Full multi-pass simplification, preserving dimension.
Sourcepub fn simplify_trig(&self) -> Self
pub fn simplify_trig(&self) -> Self
Trigonometric simplification, preserving dimension.
Sourcepub fn simplify_powers(&self) -> Self
pub fn simplify_powers(&self) -> Self
Power/exponent simplification, preserving dimension.
Sourcepub fn simplify_rational(&self) -> Self
pub fn simplify_rational(&self) -> Self
Rational simplification, preserving dimension.
Sourcepub fn expand_trig(&self) -> Self
pub fn expand_trig(&self) -> Self
Expand trigonometric identities, preserving dimension.
Sourcepub fn expand_log(&self) -> Self
pub fn expand_log(&self) -> Self
Expand logarithmic identities, preserving dimension.
Sourcepub fn log_combine(&self) -> Self
pub fn log_combine(&self) -> Self
Combine logarithmic terms, preserving dimension.
Sourcepub fn trig_combine(&self) -> Self
pub fn trig_combine(&self) -> Self
Combine trigonometric terms, preserving dimension.
Sourcepub fn factor(&self, var: &impl AsRef<Ex>) -> Self
pub fn factor(&self, var: &impl AsRef<Ex>) -> Self
Factor with respect to a variable, preserving dimension.
Sourcepub fn collect(&self, var: &impl AsRef<Ex>) -> Self
pub fn collect(&self, var: &impl AsRef<Ex>) -> Self
Collect terms with respect to a variable, preserving dimension.
Sourcepub fn together(&self) -> Self
pub fn together(&self) -> Self
Combine fractions over a common denominator, preserving dimension.
Sourcepub fn partial_fractions(&self, var: &impl AsRef<Ex>) -> Self
pub fn partial_fractions(&self, var: &impl AsRef<Ex>) -> Self
Partial-fraction decomposition with respect to a variable, preserving dimension.
Sourcepub fn rationalize_denom(&self) -> Self
pub fn rationalize_denom(&self) -> Self
Rationalize the denominator, preserving dimension.
Sourcepub fn diff(&self, var: &impl AsRef<Ex>) -> Ex
pub fn diff(&self, var: &impl AsRef<Ex>) -> Ex
Differentiate with respect to a variable. Returns raw Ex.
Wrap result in the correct output type: Acceleration::from_ex(v.diff(&t))
Sourcepub fn integrate(&self, var: &impl AsRef<Ex>) -> Ex
pub fn integrate(&self, var: &impl AsRef<Ex>) -> Ex
Integrate with respect to a variable. Returns raw Ex.
Sourcepub fn free_symbols(&self) -> Vec<Ex> ⓘ
pub fn free_symbols(&self) -> Vec<Ex> ⓘ
Free symbols in the expression.
Sourcepub fn contains(&self, other: &impl AsRef<Ex>) -> bool
pub fn contains(&self, other: &impl AsRef<Ex>) -> bool
Whether the expression contains a given sub-expression.
Sourcepub fn term_count(&self) -> usize
pub fn term_count(&self) -> usize
Number of top-level additive terms.
Sourcepub fn equals(&self, other: &Self) -> bool
pub fn equals(&self, other: &Self) -> bool
Check symbolic equality with another quantity of the same type.
Sourcepub fn eval_f64(&self) -> Result<f64, SymplexError>
pub fn eval_f64(&self) -> Result<f64, SymplexError>
Evaluate to f64.
Sourcepub fn eval_f64_with(&self, subs: &[(&Ex, i64)]) -> Result<f64, SymplexError>
pub fn eval_f64_with(&self, subs: &[(&Ex, i64)]) -> Result<f64, SymplexError>
Substitute integer values and evaluate to f64.
Sourcepub fn eval_decimal(&self, digits: u32) -> Result<String, SymplexError>
pub fn eval_decimal(&self, digits: u32) -> Result<String, SymplexError>
Evaluate to a decimal string with the given number of digits.
Trait Implementations§
Source§impl FromDimExpr<Dim<PInt<UInt<UInt<UTerm, B1>, B1>>, Z0, Z0, Z0, Z0, Z0, Z0>> for Volume
impl FromDimExpr<Dim<PInt<UInt<UInt<UTerm, B1>, B1>>, Z0, Z0, Z0, Z0, Z0, Z0>> for Volume
Source§fn from_dim_expr(qty: Qty<VolumeDim>) -> Self
fn from_dim_expr(qty: Qty<VolumeDim>) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for Volume
impl !UnwindSafe for Volume
impl Freeze for Volume
impl Send for Volume
impl Sync for Volume
impl Unpin for Volume
impl UnsafeUnpin for Volume
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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> ⓘ
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> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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