Skip to main content

UpperExp

Trait UpperExp 

1.0.0 · Source
pub trait UpperExp {
    // Required method
    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;
}
Expand description

E formatting.

The UpperExp trait should format its output in scientific notation with an upper-case E.

For more information on formatters, see the module-level documentation.

§Examples

Basic usage with f64:

let x = 42.0; // 42.0 is '4.2E1' in scientific notation

assert_eq!(format!("{x:E}"), "4.2E1");

Implementing UpperExp on a type:

use std::fmt;

struct Length(i32);

impl fmt::UpperExp for Length {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        let val = f64::from(self.0);
        fmt::UpperExp::fmt(&val, f) // delegate to f64's implementation
    }
}

let l = Length(100);

assert_eq!(
    format!("l in scientific notation is: {l:E}"),
    "l in scientific notation is: 1E2"
);

assert_eq!(
    format!("l in scientific notation is: {l:05E}"),
    "l in scientific notation is: 001E2"
);

Required Methods§

1.0.0 · Source

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

Formats the value using the given formatter.

§Errors

This function should return Err if, and only if, the provided Formatter returns Err. String formatting is considered an infallible operation; this function only returns a Result because writing to the underlying stream might fail and it must provide a way to propagate the fact that an error has occurred back up the stack.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl UpperExp for bf16

Available on non-SPIR-V only.
1.0.0 · Source§

impl UpperExp for f16

Source§

impl UpperExp for f16

Available on non-SPIR-V only.
1.0.0 · Source§

impl UpperExp for f32

1.0.0 · Source§

impl UpperExp for f64

Source§

impl UpperExp for f32x4

Source§

impl UpperExp for f32x8

Source§

impl UpperExp for f64x2

Source§

impl UpperExp for f64x4

1.42.0 · Source§

impl UpperExp for i8

Source§

impl UpperExp for i8x16

Source§

impl UpperExp for i8x32

1.42.0 · Source§

impl UpperExp for i16

1.42.0 · Source§

impl UpperExp for i32

1.42.0 · Source§

impl UpperExp for i64

Source§

impl UpperExp for i16x8

Source§

impl UpperExp for i16x16

Source§

impl UpperExp for i32x4

Source§

impl UpperExp for i32x8

Source§

impl UpperExp for i64x2

Source§

impl UpperExp for i64x4

1.42.0 · Source§

impl UpperExp for i128

1.42.0 · Source§

impl UpperExp for isize

Source§

impl UpperExp for m128

Source§

impl UpperExp for m256

Source§

impl UpperExp for m128d

Source§

impl UpperExp for m128i

Source§

impl UpperExp for m256d

Source§

impl UpperExp for m256i

1.42.0 · Source§

impl UpperExp for u8

Source§

impl UpperExp for u8x16

Source§

impl UpperExp for u8x32

1.42.0 · Source§

impl UpperExp for u16

1.42.0 · Source§

impl UpperExp for u32

1.42.0 · Source§

impl UpperExp for u64

Source§

impl UpperExp for u16x8

Source§

impl UpperExp for u16x16

Source§

impl UpperExp for u32x4

Source§

impl UpperExp for u32x8

Source§

impl UpperExp for u64x2

Source§

impl UpperExp for u64x4

1.42.0 · Source§

impl UpperExp for u128

1.42.0 · Source§

impl UpperExp for usize

Source§

impl<'a, T> UpperExp for StyledValue<'a, T>
where T: UpperExp,

Source§

impl<D> UpperExp for StyledObject<D>
where D: UpperExp,

Source§

impl<L, R> UpperExp for Either<L, R>
where L: UpperExp, R: UpperExp,

Source§

impl<T, R, C, S> UpperExp for Matrix<T, R, C, S>
where R: Dim, C: Dim, T: Scalar + UpperExp, S: RawStorage<T, R, C>,

1.0.0 · Source§

impl<T> UpperExp for &T
where T: UpperExp + ?Sized,

1.0.0 · Source§

impl<T> UpperExp for &mut T
where T: UpperExp + ?Sized,

Source§

impl<T> UpperExp for num_complex::Complex<T>
where T: UpperExp + Num + PartialOrd + Clone,

Source§

impl<T> UpperExp for num_complex::Complex<T>
where T: UpperExp + Num + PartialOrd + Clone,

1.84.0 · Source§

impl<T> UpperExp for NonZero<T>

Source§

impl<T> UpperExp for Ratio<T>
where T: UpperExp + Clone + Integer,