Skip to main content

struct

FloatLiteral

Mojo floating point literal type.

Aliases

  • fp_type = !kgen.float_literal:
  • nan = #kgen.float_literal<nan>:
  • infinity = #kgen.float_literal<inf>:
  • negative_infinity = #kgen.float_literal<neg_inf>:
  • negative_zero = #kgen.float_literal<neg_zero>:

Fields

  • value (!kgen.float_literal): The underlying storage for the floating point value.

Implemented traits

Absable, AnyType, Boolable, CeilDivable, Ceilable, Comparable, Copyable, EqualityComparable, Floorable, Intable, Movable, Roundable, Stringable, Truncable

Methods

__init__

__init__(inout self: Self, value: !kgen.float_literal)

Create a FloatLiteral value from a kgen.float_literal value.

Args:

  • value (!kgen.float_literal): The float value.

__init__(inout self: Self, value: IntLiteral)

Convert an IntLiteral to a FloatLiteral value.

Args:

  • value (IntLiteral): The IntLiteral value.

__bool__

__bool__(self: Self) -> Bool

A FloatLiteral value is true if it is non-zero.

Returns:

True if non-zero.

__neg__

__neg__(self: Self) -> Self

Return the negation of the FloatLiteral value.

Returns:

The negated FloatLiteral value.

__lt__

__lt__(self: Self, rhs: Self) -> Bool

Less than comparison.

Args:

  • rhs (Self): The value to compare.

Returns:

True if this value is less than rhs.

__le__

__le__(self: Self, rhs: Self) -> Bool

Less than or equal to comparison.

Args:

  • rhs (Self): The value to compare.

Returns:

True if this value is less than or equal to rhs.

__eq__

__eq__(self: Self, rhs: Self) -> Bool

Compare for equality.

Args:

  • rhs (Self): The value to compare.

Returns:

True if they are equal.

__ne__

__ne__(self: Self, rhs: Self) -> Bool

Compare for inequality.

Args:

  • rhs (Self): The value to compare.

Returns:

True if they are not equal.

__gt__

__gt__(self: Self, rhs: Self) -> Bool

Greater than comparison.

Args:

  • rhs (Self): The value to compare.

Returns:

True if this value is greater than rhs.

__ge__

__ge__(self: Self, rhs: Self) -> Bool

Greater than or equal to comparison.

Args:

  • rhs (Self): The value to compare.

Returns:

True if this value is greater than or equal to rhs.

__add__

__add__(self: Self, rhs: Self) -> Self

Add two FloatLiterals.

Args:

  • rhs (Self): The value to add.

Returns:

The sum of the two values.

__sub__

__sub__(self: Self, rhs: Self) -> Self

Subtract two FloatLiterals.

Args:

  • rhs (Self): The value to subtract.

Returns:

The difference of the two values.

__mul__

__mul__(self: Self, rhs: Self) -> Self

Multiply two FloatLiterals.

Args:

  • rhs (Self): The value to multiply.

Returns:

The product of the two values.

__truediv__

__truediv__(self: Self, rhs: Self) -> Self

Divide two FloatLiterals.

Args:

  • rhs (Self): The value to divide.

Returns:

The quotient of the two values.

__floordiv__

__floordiv__(self: Self, rhs: Self) -> Self

Returns self divided by rhs, rounded down to the nearest integer.

Args:

  • rhs (Self): The divisor value.

Returns:

floor(self / rhs) value.

__mod__

__mod__(self: Self, rhs: Self) -> Self

Return the remainder of self divided by rhs.

Args:

  • rhs (Self): The value to divide on.

Returns:

The remainder of dividing self by rhs.

__radd__

__radd__(self: Self, rhs: Self) -> Self

Reversed addition operator.

Args:

  • rhs (Self): The value to add.

Returns:

The sum of this and the given value.

__rsub__

__rsub__(self: Self, rhs: Self) -> Self

Reversed subtraction operator.

Args:

  • rhs (Self): The value to subtract from.

Returns:

The result of subtracting this from the given value.

__rmul__

__rmul__(self: Self, rhs: Self) -> Self

Reversed multiplication operator.

Args:

  • rhs (Self): The value to multiply.

Returns:

The product of the given number and this.

__rtruediv__

__rtruediv__(self: Self, rhs: Self) -> Self

Reversed division.

Args:

  • rhs (Self): The value to be divided by this.

Returns:

The result of dividing the given value by this.

__rfloordiv__

__rfloordiv__(self: Self, rhs: Self) -> Self

Returns rhs divided by self, rounded down to the nearest integer.

Args:

  • rhs (Self): The value to be divided by self.

Returns:

floor(rhs / self) value.

__iadd__

__iadd__(inout self: Self, rhs: Self)

In-place addition operator.

Args:

  • rhs (Self): The value to add.

__isub__

__isub__(inout self: Self, rhs: Self)

In-place subtraction operator.

Args:

  • rhs (Self): The value to subtract.

__imul__

__imul__(inout self: Self, rhs: Self)

In-place multiplication operator.

Args:

  • rhs (Self): The value to multiply.

__itruediv__

__itruediv__(inout self: Self, rhs: Self)

In-place division.

Args:

  • rhs (Self): The value to divide.

is_nan

is_nan(self: Self) -> Bool

Return whether the FloatLiteral is nan.

Since nan == nan is False, this provides a way to check for nan-ness.

Returns:

True, if the value is nan, False otherwise.

is_neg_zero

is_neg_zero(self: Self) -> Bool

Return whether the FloatLiteral is negative zero.

Since FloatLiteral.negative_zero == 0.0 is True, this provides a way to check if the FloatLiteral is negative zero.

Returns:

True, if the value is negative zero, False otherwise.