Mojo struct
FloatLiteral
@register_passable(trivial)
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
,
CollectionElement
,
Comparable
,
Copyable
,
EqualityComparable
,
Floatable
,
Floorable
,
ImplicitlyBoolable
,
Intable
,
Movable
,
Roundable
,
Stringable
,
Truncable
,
UnknownDestructibility
Methods
__init__
__init__(out self, value: !kgen.float_literal)
Create a FloatLiteral value from a kgen.float_literal value.
Args:
- value (
!kgen.float_literal
): The float value.
__init__(out self, value: IntLiteral)
Convert an IntLiteral to a FloatLiteral value.
Args:
- value (
IntLiteral
): The IntLiteral value.
__bool__
__bool__(self) -> Bool
A FloatLiteral value is true if it is non-zero.
Returns:
True if non-zero.
__neg__
__neg__(self) -> Self
Return the negation of the FloatLiteral value.
Returns:
The negated FloatLiteral value.
__lt__
__lt__(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, 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, rhs: Self) -> Bool
Compare for equality.
Args:
- rhs (
Self
): The value to compare.
Returns:
True if they are equal.
__ne__
__ne__(self, rhs: Self) -> Bool
Compare for inequality.
Args:
- rhs (
Self
): The value to compare.
Returns:
True if they are not equal.
__gt__
__gt__(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, 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, rhs: Self) -> Self
Add two FloatLiterals.
Args:
- rhs (
Self
): The value to add.
Returns:
The sum of the two values.
__sub__
__sub__(self, rhs: Self) -> Self
Subtract two FloatLiterals.
Args:
- rhs (
Self
): The value to subtract.
Returns:
The difference of the two values.
__mul__
__mul__(self, rhs: Self) -> Self
Multiply two FloatLiterals.
Args:
- rhs (
Self
): The value to multiply.
Returns:
The product of the two values.
__truediv__
__truediv__(self, rhs: Self) -> Self
Divide two FloatLiterals.
Args:
- rhs (
Self
): The value to divide.
Returns:
The quotient of the two values.
__floordiv__
__floordiv__(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, 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, 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, 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, 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, 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, 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__(mut self, rhs: Self)
In-place addition operator.
Args:
- rhs (
Self
): The value to add.
__isub__
__isub__(mut self, rhs: Self)
In-place subtraction operator.
Args:
- rhs (
Self
): The value to subtract.
__imul__
__imul__(mut self, rhs: Self)
In-place multiplication operator.
Args:
- rhs (
Self
): The value to multiply.
__itruediv__
__itruediv__(mut self, rhs: Self)
In-place division.
Args:
- rhs (
Self
): The value to divide.
is_nan
is_nan(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) -> 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.
__str__
__str__(self) -> String
Get the float as a string.
Returns:
A string representation.
__int_literal__
__int_literal__(self) -> IntLiteral
Casts the floating point value to an IntLiteral. If there is a fractional component, then the value is truncated towards zero.
Eg. (4.5).__int_literal__()
returns 4
, and (-3.7).__int_literal__()
returns -3
.
Returns:
The value as an integer.
__int__
__int__(self) -> Int
Converts the FloatLiteral value to an Int. If there is a fractional component, then the value is truncated towards zero.
Eg. (4.5).__int__()
returns 4
, and (-3.7).__int__()
returns -3
.
Returns:
The value as an integer.
__float__
__float__(self) -> SIMD[float64, 1]
Converts the FloatLiteral to a concrete Float64.
Returns:
The Float value.
__as_bool__
__as_bool__(self) -> Bool
A FloatLiteral value is true if it is non-zero.
Returns:
True if non-zero.
__abs__
__abs__(self) -> Self
Return the absolute value of the FloatLiteral.
Returns:
The absolute value.
__floor__
__floor__(self) -> Self
Return the floor value of the FloatLiteral.
Returns:
The floor value.
__ceil__
__ceil__(self) -> Self
Return the ceiling value of the FloatLiteral.
Returns:
The ceiling value.
__trunc__
__trunc__(self) -> Self
Truncates the floating point literal. If there is a fractional component, then the value is truncated towards zero.
For example, (4.5).__trunc__()
returns 4.0
, and (-3.7).__trunc__()
returns -3.0
.
Returns:
The truncated FloatLiteral value.
__round__
__round__(self) -> Self
Return the rounded value of the FloatLiteral.
Returns:
The rounded value.
__round__(self, ndigits: Int) -> Self
Return the rounded value of the FloatLiteral.
Args:
- ndigits (
Int
): The number of digits to round to. Defaults to 0.
Returns:
The rounded value.
__divmod__
__divmod__(self, rhs: Self) -> Tuple[FloatLiteral, FloatLiteral]
Return a tuple with the quotient and the remainder of self divided by rhs.
Args:
- rhs (
Self
): The value to divide on.
Returns:
A tuple with the dividend and the remainder.
__ceildiv__
__ceildiv__(self, denominator: Self) -> Self
Return the rounded-up result of dividing self by denominator.
Args:
- denominator (
Self
): The denominator.
Returns:
The ceiling of dividing numerator by denominator.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!