Skip to main content

Length

Struct Length 

Source
pub struct Length(/* private fields */);
Expand description

A length / distance quantity, stored canonically in meters (m).

§Construction

use space_units::prelude::*;

let a = Length::from_km(384_400.0);
let b = 384_400.0.km();        // NumericExt shorthand

§Supported units

ConstructorAccessorUnit
from_min_mmeter (m)
from_kmin_kmkilometer (km)
from_mmin_mmmillimeter (mm)
from_cmin_cmcentimeter (cm)
from_umin_ummicrometer (um)
from_nmin_nmnanometer (nm)
from_auin_auastronomical unit (AU)
from_pcin_pcparsec (pc)
from_lyin_lylight-year (ly)
from_ftin_ftfoot (ft)
from_nmiin_nminautical mile (nmi)
from_miin_mistatute mile (mi)
from_earth_radiiin_earth_radiiEarth radius
from_solar_radiiin_solar_radiiSolar radius

§Typed arithmetic

Implementations§

Source§

impl Length

Source

pub const fn from_m(val: f64) -> Self

Create from meters (canonical unit).

Source

pub const fn from_km(val: f64) -> Self

Create from kilometers. 1 km = 1 000 m.

Source

pub const fn from_mm(val: f64) -> Self

Create from millimeters. 1 mm = 0.001 m.

Source

pub const fn from_cm(val: f64) -> Self

Create from centimeters. 1 cm = 0.01 m.

Source

pub const fn from_um(val: f64) -> Self

Create from micrometers. 1 um = 1e-6 m.

Source

pub const fn from_nm(val: f64) -> Self

Create from nanometers. 1 nm = 1e-9 m.

Source

pub const fn from_au(val: f64) -> Self

Create from astronomical units. 1 AU = 149 597 870 700 m.

Source

pub const fn from_pc(val: f64) -> Self

Create from parsecs. 1 pc = 3.086e16 m.

Source

pub const fn from_ly(val: f64) -> Self

Create from light-years. 1 ly = 9.461e15 m.

Source

pub const fn from_ft(val: f64) -> Self

Create from feet. 1 ft = 0.3048 m.

Source

pub const fn from_nmi(val: f64) -> Self

Create from nautical miles. 1 nmi = 1 852 m.

Source

pub const fn from_mi(val: f64) -> Self

Create from statute miles. 1 mi = 1 609.344 m.

Source

pub const fn from_earth_radii(val: f64) -> Self

Create from Earth radii. 1 R_earth = 6 371 000 m.

Source

pub const fn from_solar_radii(val: f64) -> Self

Create from Solar radii. 1 R_sun = 6.957e8 m.

Source

pub const fn in_m(self) -> f64

Get value in meters.

Source

pub const fn in_km(self) -> f64

Get value in kilometers.

Source

pub const fn in_mm(self) -> f64

Get value in millimeters.

Source

pub const fn in_cm(self) -> f64

Get value in centimeters.

Source

pub const fn in_um(self) -> f64

Get value in micrometers.

Source

pub const fn in_nm(self) -> f64

Get value in nanometers.

Source

pub const fn in_au(self) -> f64

Get value in astronomical units.

Source

pub const fn in_pc(self) -> f64

Get value in parsecs.

Source

pub const fn in_ly(self) -> f64

Get value in light-years.

Source

pub const fn in_ft(self) -> f64

Get value in feet.

Source

pub const fn in_nmi(self) -> f64

Get value in nautical miles.

Source

pub const fn in_mi(self) -> f64

Get value in statute miles.

Source

pub const fn in_earth_radii(self) -> f64

Get value in Earth radii.

Source

pub const fn in_solar_radii(self) -> f64

Get value in Solar radii.

Source

pub fn in_unit(self, unit: LengthUnit) -> f64

Get value in the specified LengthUnit.

Source

pub fn display_as(self, unit: LengthUnit) -> DisplayWithUnit

Return a DisplayWithUnit for formatted printing in the given unit.

Source

pub fn abs(self) -> Self

Absolute value.

Trait Implementations§

Source§

impl Add for Length

Source§

type Output = Length

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Self) -> Self

Performs the + operation. Read more
Source§

impl AddAssign for Length

Source§

fn add_assign(&mut self, rhs: Self)

Performs the += operation. Read more
Source§

impl Clone for Length

Source§

fn clone(&self) -> Length

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Length

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Length

Source§

fn default() -> Length

Returns the “default value” for a type. Read more
Source§

impl Display for Length

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Div<Length> for Area

Source§

type Output = Length

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Length) -> Length

Performs the / operation. Read more
Source§

impl Div<Length> for Energy

Source§

type Output = Force

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Length) -> Force

Performs the / operation. Read more
Source§

impl Div<Length> for GravitationalParameter

Source§

type Output = SpecificEnergy

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Length) -> SpecificEnergy

Performs the / operation. Read more
Source§

impl Div<Length> for Volume

Source§

type Output = Area

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Length) -> Area

Performs the / operation. Read more
Source§

impl Div<Time> for Length

Source§

type Output = Velocity

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Time) -> Velocity

Performs the / operation. Read more
Source§

impl Div<Velocity> for Length

Source§

type Output = Time

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Velocity) -> Time

Performs the / operation. Read more
Source§

impl Div<f64> for Length

Source§

type Output = Length

The resulting type after applying the / operator.
Source§

fn div(self, rhs: f64) -> Self

Performs the / operation. Read more
Source§

impl Div for Length

Source§

type Output = f64

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Self) -> f64

Performs the / operation. Read more
Source§

impl DivAssign<f64> for Length

Source§

fn div_assign(&mut self, rhs: f64)

Performs the /= operation. Read more
Source§

impl Mul<Area> for Length

Source§

type Output = Volume

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Area) -> Volume

Performs the * operation. Read more
Source§

impl Mul<Force> for Length

Source§

type Output = Energy

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Force) -> Energy

Performs the * operation. Read more
Source§

impl Mul<Length> for Area

Source§

type Output = Volume

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Length) -> Volume

Performs the * operation. Read more
Source§

impl Mul<Length> for Force

Source§

type Output = Energy

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Length) -> Energy

Performs the * operation. Read more
Source§

impl Mul<Length> for Velocity

Source§

type Output = SpecificAngularMomentum

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Length) -> SpecificAngularMomentum

Performs the * operation. Read more
Source§

impl Mul<Length> for f64

Source§

type Output = Length

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Length) -> Length

Performs the * operation. Read more
Source§

impl Mul<Velocity> for Length

Source§

type Output = SpecificAngularMomentum

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Velocity) -> SpecificAngularMomentum

Performs the * operation. Read more
Source§

impl Mul<f64> for Length

Source§

type Output = Length

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: f64) -> Self

Performs the * operation. Read more
Source§

impl Mul for Length

Source§

type Output = Area

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Self) -> Area

Performs the * operation. Read more
Source§

impl MulAssign<f64> for Length

Source§

fn mul_assign(&mut self, rhs: f64)

Performs the *= operation. Read more
Source§

impl Neg for Length

Source§

type Output = Length

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self

Performs the unary - operation. Read more
Source§

impl PartialEq for Length

Source§

fn eq(&self, other: &Length) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for Length

Source§

fn partial_cmp(&self, other: &Length) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Sub for Length

Source§

type Output = Length

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Self) -> Self

Performs the - operation. Read more
Source§

impl SubAssign for Length

Source§

fn sub_assign(&mut self, rhs: Self)

Performs the -= operation. Read more
Source§

impl Sum for Length

Source§

fn sum<I: Iterator<Item = Self>>(iter: I) -> Self

Takes an iterator and generates Self from the elements by “summing up” the items.
Source§

impl Copy for Length

Source§

impl StructuralPartialEq for Length

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.