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.