Mojo struct
Bool
@register_passable(trivial)
struct Bool
The primitive Bool scalar value used in Mojo.
Implemented traits
AnyType,
Boolable,
ConvertibleFromPython,
ConvertibleToPython,
Copyable,
Defaultable,
EqualityComparable,
Floatable,
GreaterThanComparable,
GreaterThanOrEqualComparable,
Hashable,
ImplicitlyBoolable,
ImplicitlyCopyable,
ImplicitlyIntable,
Indexer,
Intable,
LessThanComparable,
LessThanOrEqualComparable,
Movable,
Representable,
Stringable,
UnknownDestructibility,
Writable
Aliases
__copyinit__is_trivial
alias __copyinit__is_trivial = True
__del__is_trivial
alias __del__is_trivial = True
__moveinit__is_trivial
alias __moveinit__is_trivial = True
MAX
alias MAX = Bool.__init__(True)
The maximum value of a Bool.
MIN
alias MIN = Bool.__init__(False)
The minimum value of a Bool.
Methods
__init__
__init__() -> Self
Construct a default, False Bool.
@implicit
__init__[T: ImplicitlyBoolable, //](value: T) -> Self
Convert an ImplicitlyBoolable value to a Bool.
Parameters:
- T (
ImplicitlyBoolable): The ImplicitlyBoolable type.
Args:
- value (
T): The boolable value.
__init__[T: Boolable, //](value: T) -> Self
Set the bool representation of the object.
Parameters:
- T (
Boolable): The type of the object.
Args:
- value (
T): The object to get the bool representation of.
__init__(value: None) -> Self
Set the bool representation of the None type to False.
Args:
- value (
None): The object to get the bool representation of.
@implicit
__init__(value: Scalar[DType.bool]) -> Self
Convert a scalar SIMD value to a Bool.
Args:
- value (
Scalar): The scalar value.
__bool__
__bool__(self) -> Self
Convert to Bool.
Returns:
Self: This value.
__invert__
__invert__(self) -> Self
Inverts the Bool value.
Returns:
Self: True if the object is false and False otherwise.
__lt__
__lt__(self, rhs: Self) -> Self
Compare this Bool to RHS using less-than comparison.
Args:
- rhs (
Self): The rhs of the operation.
Returns:
Self: True if self is False and rhs is True.
__le__
__le__(self, rhs: Self) -> Self
Compare this Bool to RHS using less-than-or-equal comparison.
Args:
- rhs (
Self): The rhs of the operation.
Returns:
Self: True if self is False and rhs is True or False.
__eq__
__eq__(self, rhs: Self) -> Self
Compare this Bool to RHS.
Performs an equality comparison between the Bool value and the argument.
This method gets invoked when a user uses the == infix operator.
Args:
- rhs (
Self): The rhs value of the equality statement.
Returns:
Self: True if the two values match and False otherwise.
__ne__
__ne__(self, rhs: Self) -> Self
Compare this Bool to RHS.
Performs a non-equality comparison between the Bool value and the
argument. This method gets invoked when a user uses the != infix
operator.
Args:
- rhs (
Self): The rhs value of the non-equality statement.
Returns:
Self: False if the two values do match and True otherwise.
__gt__
__gt__(self, rhs: Self) -> Self
Compare this Bool to RHS using greater-than comparison.
Args:
- rhs (
Self): The rhs of the operation.
Returns:
Self: True if self is True and rhs is False.
__ge__
__ge__(self, rhs: Self) -> Self
Compare this Bool to RHS using greater-than-or-equal comparison.
Args:
- rhs (
Self): The rhs of the operation.
Returns:
Self: True if self is True and rhs is True or False.
__and__
__and__(self, rhs: Self) -> Self
Returns self & rhs.
Bitwise and's the Bool value with the argument. This method gets invoked
when a user uses the and infix operator.
Args:
- rhs (
Self): The right hand side of theandstatement.
Returns:
Self: self & rhs.
__or__
__or__(self, rhs: Self) -> Self
Returns self | rhs.
Bitwise or's the Bool value with the argument. This method gets invoked
when a user uses the or infix operator.
Args:
- rhs (
Self): The right hand side of theorstatement.
Returns:
Self: self | rhs.
__xor__
__xor__(self, rhs: Self) -> Self
Returns self ^ rhs.
Bitwise Xor's the Bool value with the argument. This method gets invoked
when a user uses the ^ infix operator.
Args:
- rhs (
Self): The right hand side of thexorstatement.
Returns:
Self: self ^ rhs.
__rand__
__rand__(self, lhs: Self) -> Self
Returns lhs & self.
Args:
- lhs (
Self): The left hand side of theandstatement.
Returns:
Self: lhs & self.
__ror__
__ror__(self, lhs: Self) -> Self
Returns lhs | self.
Args:
- lhs (
Self): The left hand side of theorstatement.
Returns:
Self: lhs | self.
__rxor__
__rxor__(self, lhs: Self) -> Self
Returns lhs ^ self.
Args:
- lhs (
Self): The left hand side of thexorstatement.
Returns:
Self: lhs ^ self.
__iand__
__iand__(mut self, rhs: Self)
Computes self & rhs and store the result in self.
Args:
- rhs (
Self): The right hand side of theandstatement.
__ixor__
__ixor__(mut self, rhs: Self)
Computes self ^ rhs and stores the result in self.
Args:
- rhs (
Self): The right hand side of thexorstatement.
__ior__
__ior__(mut self, rhs: Self)
Computes self | rhs and store the result in self.
Args:
- rhs (
Self): The right hand side of theorstatement.
__as_bool__
__as_bool__(self) -> Self
Convert to Bool.
Returns:
Self: This value.
__str__
__str__(self) -> String
Get the bool as a string.
Returns "True" or "False".
Returns:
String: A string representation.
write_to
write_to(self, mut writer: T)
Formats this boolean to the provided Writer.
Args:
- writer (
T): The object to write to.
__repr__
__repr__(self) -> String
Get the bool as a string.
Returns "True" or "False".
Returns:
String: A string representation.
__int__
__int__(self) -> Int
Convert this Bool to an integer.
Returns:
Int: 1 if the Bool is True, 0 otherwise.
__as_int__
__as_int__(self) -> Int
Implicitly convert to an integral representation of the value, wherever an Int is expected.
Returns:
Int: The integral representation of the value.
__mlir_index__
__mlir_index__(self) -> index
Convert to index.
Returns:
index: 1 if the Bool is True, 0 otherwise.
__float__
__float__(self) -> Float64
Convert this Bool to a float.
Returns:
Float64: 1.0 if True else 0.0 otherwise.
__hash__
__hash__[H: Hasher](self, mut hasher: H)
Updates hasher with the underlying bytes.
Parameters:
- H (
Hasher): The hasher type.
Args:
- hasher (
H): The hasher instance.
to_python_object
to_python_object(var self) -> PythonObject
Convert this value to a PythonObject.
Returns:
PythonObject: A PythonObject representing the value.
Raises:
If the Python runtime is not initialized or conversion fails.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!