Primitive Type f16

🔬This is a nightly-only experimental API. (f16 #116909)
Expand description

A 16-bit floating point type (specifically, the “binary16” type defined in IEEE 754-2008).

This type is very similar to f32 but has decreased precision because it uses half as many bits. Please see [the documentation for f32 or Wikipedia on half-precision values for more information.

See also the std::f16::consts module.

Trait Implementations§

1.0.0 · source§

impl Add<&f16> for &f16

§

type Output = <f16 as Add>::Output

The resulting type after applying the + operator.
source§

fn add(self, other: &f16) -> <f16 as Add<f16>>::Output

Performs the + operation. Read more
1.0.0 · source§

impl Add<&f16> for f16

§

type Output = <f16 as Add>::Output

The resulting type after applying the + operator.
source§

fn add(self, other: &f16) -> <f16 as Add<f16>>::Output

Performs the + operation. Read more
1.0.0 · source§

impl<'a> Add<f16> for &'a f16

§

type Output = <f16 as Add>::Output

The resulting type after applying the + operator.
source§

fn add(self, other: f16) -> <f16 as Add<f16>>::Output

Performs the + operation. Read more
1.0.0 (const: unstable) · source§

impl Add for f16

§

type Output = f16

The resulting type after applying the + operator.
const: unstable · source§

fn add(self, other: f16) -> f16

Performs the + operation. Read more
1.22.0 · source§

impl AddAssign<&f16> for f16

source§

fn add_assign(&mut self, other: &f16)

Performs the += operation. Read more
1.8.0 · source§

impl AddAssign for f16

source§

fn add_assign(&mut self, other: f16)

Performs the += operation. Read more
1.0.0 · source§

impl Clone for f16

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
1.0.0 · source§

impl Default for f16

source§

fn default() -> f16

Returns the default value of 0.0

1.0.0 · source§

impl Div<&f16> for &f16

§

type Output = <f16 as Div>::Output

The resulting type after applying the / operator.
source§

fn div(self, other: &f16) -> <f16 as Div<f16>>::Output

Performs the / operation. Read more
1.0.0 · source§

impl Div<&f16> for f16

§

type Output = <f16 as Div>::Output

The resulting type after applying the / operator.
source§

fn div(self, other: &f16) -> <f16 as Div<f16>>::Output

Performs the / operation. Read more
1.0.0 · source§

impl<'a> Div<f16> for &'a f16

§

type Output = <f16 as Div>::Output

The resulting type after applying the / operator.
source§

fn div(self, other: f16) -> <f16 as Div<f16>>::Output

Performs the / operation. Read more
1.0.0 · source§

impl Div for f16

§

type Output = f16

The resulting type after applying the / operator.
source§

fn div(self, other: f16) -> f16

Performs the / operation. Read more
1.22.0 · source§

impl DivAssign<&f16> for f16

source§

fn div_assign(&mut self, other: &f16)

Performs the /= operation. Read more
1.8.0 · source§

impl DivAssign for f16

source§

fn div_assign(&mut self, other: f16)

Performs the /= operation. Read more
1.6.0 · source§

impl From<f16> for f128

source§

fn from(small: f16) -> Self

Converts f16 to f128 losslessly.

1.6.0 · source§

impl From<f16> for f32

source§

fn from(small: f16) -> Self

Converts f16 to f32 losslessly.

1.6.0 · source§

impl From<f16> for f64

source§

fn from(small: f16) -> Self

Converts f16 to f64 losslessly.

1.0.0 · source§

impl Mul<&f16> for &f16

§

type Output = <f16 as Mul>::Output

The resulting type after applying the * operator.
source§

fn mul(self, other: &f16) -> <f16 as Mul<f16>>::Output

Performs the * operation. Read more
1.0.0 · source§

impl Mul<&f16> for f16

§

type Output = <f16 as Mul>::Output

The resulting type after applying the * operator.
source§

fn mul(self, other: &f16) -> <f16 as Mul<f16>>::Output

Performs the * operation. Read more
1.0.0 · source§

impl<'a> Mul<f16> for &'a f16

§

type Output = <f16 as Mul>::Output

The resulting type after applying the * operator.
source§

fn mul(self, other: f16) -> <f16 as Mul<f16>>::Output

Performs the * operation. Read more
1.0.0 · source§

impl Mul for f16

§

type Output = f16

The resulting type after applying the * operator.
source§

fn mul(self, other: f16) -> f16

Performs the * operation. Read more
1.22.0 · source§

impl MulAssign<&f16> for f16

source§

fn mul_assign(&mut self, other: &f16)

Performs the *= operation. Read more
1.8.0 · source§

impl MulAssign for f16

source§

fn mul_assign(&mut self, other: f16)

Performs the *= operation. Read more
1.0.0 · source§

impl Neg for &f16

§

type Output = <f16 as Neg>::Output

The resulting type after applying the - operator.
source§

fn neg(self) -> <f16 as Neg>::Output

Performs the unary - operation. Read more
1.0.0 · source§

impl Neg for f16

§

type Output = f16

The resulting type after applying the - operator.
source§

fn neg(self) -> f16

Performs the unary - operation. Read more
1.0.0 (const: unstable) · source§

impl PartialEq for f16

const: unstable · source§

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

This method tests for self and other values to be equal, and is used by ==.
const: unstable · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
1.0.0 · source§

impl PartialOrd for f16

source§

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

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

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

This method tests less than (for self and other) and is used by the < operator. Read more
source§

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

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
source§

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

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

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

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

impl Rem<&f16> for &f16

§

type Output = <f16 as Rem>::Output

The resulting type after applying the % operator.
source§

fn rem(self, other: &f16) -> <f16 as Rem<f16>>::Output

Performs the % operation. Read more
1.0.0 · source§

impl Rem<&f16> for f16

§

type Output = <f16 as Rem>::Output

The resulting type after applying the % operator.
source§

fn rem(self, other: &f16) -> <f16 as Rem<f16>>::Output

Performs the % operation. Read more
1.0.0 · source§

impl<'a> Rem<f16> for &'a f16

§

type Output = <f16 as Rem>::Output

The resulting type after applying the % operator.
source§

fn rem(self, other: f16) -> <f16 as Rem<f16>>::Output

Performs the % operation. Read more
1.0.0 · source§

impl Rem for f16

The remainder from the division of two floats.

The remainder has the same sign as the dividend and is computed as: x - (x / y).trunc() * y.

§Examples

let x: f32 = 50.50;
let y: f32 = 8.125;
let remainder = x - (x / y).trunc() * y;

// The answer to both operations is 1.75
assert_eq!(x % y, remainder);
Run
§

type Output = f16

The resulting type after applying the % operator.
source§

fn rem(self, other: f16) -> f16

Performs the % operation. Read more
1.22.0 · source§

impl RemAssign<&f16> for f16

source§

fn rem_assign(&mut self, other: &f16)

Performs the %= operation. Read more
1.8.0 · source§

impl RemAssign for f16

source§

fn rem_assign(&mut self, other: f16)

Performs the %= operation. Read more
1.0.0 · source§

impl Sub<&f16> for &f16

§

type Output = <f16 as Sub>::Output

The resulting type after applying the - operator.
source§

fn sub(self, other: &f16) -> <f16 as Sub<f16>>::Output

Performs the - operation. Read more
1.0.0 · source§

impl Sub<&f16> for f16

§

type Output = <f16 as Sub>::Output

The resulting type after applying the - operator.
source§

fn sub(self, other: &f16) -> <f16 as Sub<f16>>::Output

Performs the - operation. Read more
1.0.0 · source§

impl<'a> Sub<f16> for &'a f16

§

type Output = <f16 as Sub>::Output

The resulting type after applying the - operator.
source§

fn sub(self, other: f16) -> <f16 as Sub<f16>>::Output

Performs the - operation. Read more
1.0.0 · source§

impl Sub for f16

§

type Output = f16

The resulting type after applying the - operator.
source§

fn sub(self, other: f16) -> f16

Performs the - operation. Read more
1.22.0 · source§

impl SubAssign<&f16> for f16

source§

fn sub_assign(&mut self, other: &f16)

Performs the -= operation. Read more
1.8.0 · source§

impl SubAssign for f16

source§

fn sub_assign(&mut self, other: f16)

Performs the -= operation. Read more
1.0.0 · source§

impl Copy for f16

source§

impl FloatToInt<i128> for f16

source§

impl FloatToInt<i16> for f16

source§

impl FloatToInt<i32> for f16

source§

impl FloatToInt<i64> for f16

source§

impl FloatToInt<i8> for f16

source§

impl FloatToInt<isize> for f16

source§

impl FloatToInt<u128> for f16

source§

impl FloatToInt<u16> for f16

source§

impl FloatToInt<u32> for f16

source§

impl FloatToInt<u64> for f16

source§

impl FloatToInt<u8> for f16

source§

impl FloatToInt<usize> for f16