Skip to main content

Exp

Struct Exp 

Source
pub struct Exp { /* private fields */ }
Expand description

A signed rational exponent in lowest terms with a strictly positive denominator — so equal exponents share one representation (Eq/Hash are structural). Admits fractional powers (L^(1/2)) while the common integer case is just den == 1.

Implementations§

Source§

impl Exp

Source

pub const ZERO: Exp

The zero exponent (an axis that does not appear).

Source

pub const ONE: Exp

The unit exponent.

Source

pub fn new(num: i32, den: i32) -> Exp

Reduce num/den to lowest terms with a positive denominator. Panics on a zero denominator.

Source

pub const fn int(n: i32) -> Exp

The whole exponent n (n/1).

Source

pub const fn numerator(self) -> i32

Source

pub const fn denominator(self) -> i32

Source

pub const fn is_zero(self) -> bool

Source

pub fn add(self, other: Exp) -> Exp

self + other (exact rational addition).

Source

pub fn sub(self, other: Exp) -> Exp

self − other.

Source

pub fn neg(self) -> Exp

−self.

Source

pub fn scale(self, k: i32) -> Exp

self · k — scaling by an integer (raising a dimension to the kth power).

Source

pub fn div_int(self, k: i32) -> Exp

self / k — dividing the exponent by an integer (taking the kth root). Panics for k == 0.

Trait Implementations§

Source§

impl Clone for Exp

Source§

fn clone(&self) -> Exp

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Exp

Source§

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

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

impl Display for Exp

Source§

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

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

impl Hash for Exp

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Exp

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · 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 Copy for Exp

Source§

impl Eq for Exp

Source§

impl StructuralPartialEq for Exp

Auto Trait Implementations§

§

impl Freeze for Exp

§

impl RefUnwindSafe for Exp

§

impl Send for Exp

§

impl Sync for Exp

§

impl Unpin for Exp

§

impl UnsafeUnpin for Exp

§

impl UnwindSafe for Exp

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.