[−][src]Struct ndarray_unit::Unit
Methods
impl Unit[src]
pub fn new() -> Unit[src]
Return an Unit with an empty set of BaseUnit
pub fn from_vec(list: Vec<(BaseUnit, i32)>) -> Unit[src]
Create a Unit from a vector of BaseUnit and their power
Examples
use ndarray_unit::Unit; use ndarray_unit::BaseUnit; let candela_square_divided_by_ampere_cube = Unit::from_vec(vec![(BaseUnit::CANDELA, 2), (BaseUnit::AMPERE, -3)]); println!("{}", candela_square_divided_by_ampere_cube)
Output
// cd²·A⁻³pub fn get_base_units(&self) -> &HashMap<BaseUnit, i32>[src]
pub fn get_inverse(&self) -> Unit[src]
Given an Unit, return the inverse of this unit.
It inverse the sign of the power of every BaseUnit of the given input Struct
Exemples
use ndarray_unit::Unit; use ndarray_unit::BaseUnit; let unit = Unit::from_vec(vec![(BaseUnit::KELVIN, 2), (BaseUnit::MOLE, -3)]); let inverse = Unit::from_vec(vec![(BaseUnit::KELVIN, -2), (BaseUnit::MOLE, 3)]); assert_eq!(inverse, unit.get_inverse());
pub fn add_single_unit(&mut self, unit: BaseUnit, n: i32)[src]
Add a BaseUnit (and its power) to an existing mut Unit
Examples
use ndarray_unit::Unit; use ndarray_unit::BaseUnit; let mut meter = Unit::new(); meter.add_single_unit(BaseUnit::METER, 1); let mut meter_per_second = meter.clone(); meter_per_second.add_single_unit(BaseUnit::SECOND, -1); println!("{}", meter_per_second);
Output
// m·s⁻¹Trait Implementations
impl Clone for Unit[src]
impl PartialEq<Unit> for Unit[src]
impl Debug for Unit[src]
impl Display for Unit[src]
impl<'_> Div<&'_ Unit> for &'_ Unit[src]
Given two Units, perform a division between them and return a new Unit.
It substracts the base_units of the two given Struct
Exemples
use ndarray_unit::Unit; use ndarray_unit::BaseUnit; let meter = Unit::from_vec(vec![(BaseUnit::METER, 1)]); let second_square = Unit::from_vec(vec![(BaseUnit::SECOND, 2)]); let acceleration = &meter / &second_square; // acceleration = Unit { base_units: {METER : 1, SECOND: -2} }
type Output = Unit
The resulting type after applying the / operator.
fn div(self, other: &Unit) -> Unit[src]
impl<'_> Mul<&'_ Unit> for &'_ Unit[src]
Given two Units, perform a multiplication between them and return a new Unit.
It adds the base_units of the two given Struct
Exemples
use ndarray_unit::Unit; use ndarray_unit::BaseUnit; let meter = Unit::from_vec(vec![(BaseUnit::METER, 1)]); let square_meter = Unit::from_vec(vec![(BaseUnit::METER, 2)]); let cube_meter = &meter * &square_meter; // cube_meter = Unit { base_units: {METER : 3} }
Auto Trait Implementations
impl Send for Unit
impl Sync for Unit
impl Unpin for Unit
impl UnwindSafe for Unit
impl RefUnwindSafe for Unit
Blanket Implementations
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T> ToString for T where
T: Display + ?Sized, [src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = !
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,