struct
Int
This type represents an integer value.
Aliases
MAX = int[stdlib::builtin::int::Intable](max_or_inf[stdlib::builtin::dtype::DType]())
: Returns the maximum integer value.MIN = int[stdlib::builtin::int::Intable](min_or_neg_inf[stdlib::builtin::dtype::DType]())
: Returns the minimum value of type.
Fields
- value (
index
): The underlying storage for the integer value.
Implemented traits
Absable
,
AnyType
,
Boolable
,
CeilDivable
,
Ceilable
,
CollectionElement
,
Comparable
,
Copyable
,
EqualityComparable
,
Floorable
,
Formattable
,
Hashable
,
Indexer
,
Intable
,
KeyElement
,
Movable
,
Powable
,
Roundable
,
Stringable
,
Truncable
Methods
__init__
__init__(inout self: Self)
Default constructor that produces zero.
__init__(inout self: Self, value: index)
Construct Int from the given index value.
Args:
- value (
index
): The init value.
__init__(inout self: Self, value: scalar<si16>)
Construct Int from the given Int16 value.
Args:
- value (
scalar<si16>
): The init value.
__init__(inout self: Self, value: scalar<si32>)
Construct Int from the given Int32 value.
Args:
- value (
scalar<si32>
): The init value.
__init__(inout self: Self, value: scalar<si64>)
Construct Int from the given Int64 value.
Args:
- value (
scalar<si64>
): The init value.
__init__(inout self: Self, value: scalar<index>)
Construct Int from the given Index value.
Args:
- value (
scalar<index>
): The init value.
__init__(inout self: Self, value: IntLiteral)
Construct Int from the given IntLiteral value.
Args:
- value (
IntLiteral
): The init value.
__init__[IndexerTy: Indexer](inout self: Self, value: IndexerTy)
Construct Int from the given Indexer value.
Parameters:
- IndexerTy (
Indexer
): A type conforming to Indexer.
Args:
- value (
IndexerTy
): The init value.
__bool__
__bool__(self: Self) -> Bool
Convert this Int to Bool.
Returns:
False Bool value if the value is equal to 0 and True otherwise.
__neg__
__neg__(self: Self) -> Self
Return -self.
Returns:
The -self value.
__pos__
__pos__(self: Self) -> Self
Return +self.
Returns:
The +self value.
__invert__
__invert__(self: Self) -> Self
Return ~self.
Returns:
The ~self value.
__lt__
__lt__(self: Self, rhs: Self) -> Bool
Compare this Int to the RHS using LT comparison.
Args:
- rhs (
Self
): The other Int to compare against.
Returns:
True if this Int is less-than the RHS Int and False otherwise.
__le__
__le__(self: Self, rhs: Self) -> Bool
Compare this Int to the RHS using LE comparison.
Args:
- rhs (
Self
): The other Int to compare against.
Returns:
True if this Int is less-or-equal than the RHS Int and False otherwise.
__eq__
__eq__(self: Self, rhs: Self) -> Bool
Compare this Int to the RHS using EQ comparison.
Args:
- rhs (
Self
): The other Int to compare against.
Returns:
True if this Int is equal to the RHS Int and False otherwise.
__ne__
__ne__(self: Self, rhs: Self) -> Bool
Compare this Int to the RHS using NE comparison.
Args:
- rhs (
Self
): The other Int to compare against.
Returns:
True if this Int is non-equal to the RHS Int and False otherwise.
__gt__
__gt__(self: Self, rhs: Self) -> Bool
Compare this Int to the RHS using GT comparison.
Args:
- rhs (
Self
): The other Int to compare against.
Returns:
True if this Int is greater-than the RHS Int and False otherwise.
__ge__
__ge__(self: Self, rhs: Self) -> Bool
Compare this Int to the RHS using GE comparison.
Args:
- rhs (
Self
): The other Int to compare against.
Returns:
True if this Int is greater-or-equal than the RHS Int and False otherwise.
__add__
__add__(self: Self, rhs: Self) -> Self
Return self + rhs
.
Args:
- rhs (
Self
): The value to add.
Returns:
self + rhs
value.
__sub__
__sub__(self: Self, rhs: Self) -> Self
Return self - rhs
.
Args:
- rhs (
Self
): The value to subtract.
Returns:
self - rhs
value.
__mul__
__mul__(self: Self, rhs: Self) -> Self
Return self * rhs
.
Args:
- rhs (
Self
): The value to multiply with.
Returns:
self * rhs
value.
__truediv__
__truediv__(self: Self, rhs: Self) -> SIMD[float64, 1]
Return the floating point division of self
and rhs
.
Args:
- rhs (
Self
): The value to divide on.
Returns:
float(self)/float(rhs)
value.
__floordiv__
__floordiv__(self: Self, rhs: Self) -> Self
Return the division of self
and rhs
rounded down to the nearest integer.
Args:
- rhs (
Self
): The value to divide on.
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.
__pow__
__pow__(self: Self, exp: Self) -> Self
Return the value raised to the power of the given exponent.
Computes the power of an integer using the Russian Peasant Method.
Args:
- exp (
Self
): The exponent value.
Returns:
The value of self
raised to the power of exp
.
__lshift__
__lshift__(self: Self, rhs: Self) -> Self
Return self << rhs
.
Args:
- rhs (
Self
): The value to shift with.
Returns:
self << rhs
.
__rshift__
__rshift__(self: Self, rhs: Self) -> Self
Return self >> rhs
.
Args:
- rhs (
Self
): The value to shift with.
Returns:
self >> rhs
.
__and__
__and__(self: Self, rhs: Self) -> Self
Return self & rhs
.
Args:
- rhs (
Self
): The RHS value.
Returns:
self & rhs
.
__or__
__or__(self: Self, rhs: Self) -> Self
Return self | rhs
.
Args:
- rhs (
Self
): The RHS value.
Returns:
self | rhs
.
__xor__
__xor__(self: Self, rhs: Self) -> Self
Return self ^ rhs
.
Args:
- rhs (
Self
): The RHS value.
Returns:
self ^ rhs
.
__radd__
__radd__(self: Self, value: Self) -> Self
Return value + self
.
Args:
- value (
Self
): The other value.
Returns:
value + self
.
__rsub__
__rsub__(self: Self, value: Self) -> Self
Return value - self
.
Args:
- value (
Self
): The other value.
Returns:
value - self
.
__rmul__
__rmul__(self: Self, value: Self) -> Self
Return value * self
.
Args:
- value (
Self
): The other value.
Returns:
value * self
.
__rfloordiv__
__rfloordiv__(self: Self, value: Self) -> Self
Return value // self
.
Args:
- value (
Self
): The other value.
Returns:
value // self
.
__rmod__
__rmod__(self: Self, value: Self) -> Self
Return value % self
.
Args:
- value (
Self
): The other value.
Returns:
value % self
.
__rpow__
__rpow__(self: Self, value: Self) -> Self
Return pow(value,self)
.
Args:
- value (
Self
): The other value.
Returns:
pow(value,self)
.
__rlshift__
__rlshift__(self: Self, value: Self) -> Self
Return value << self
.
Args:
- value (
Self
): The other value.
Returns:
value << self
.
__rrshift__
__rrshift__(self: Self, value: Self) -> Self
Return value >> self
.
Args:
- value (
Self
): The other value.
Returns:
value >> self
.
__rand__
__rand__(self: Self, value: Self) -> Self
Return value & self
.
Args:
- value (
Self
): The other value.
Returns:
value & self
.
__ror__
__ror__(self: Self, value: Self) -> Self
Return value | self
.
Args:
- value (
Self
): The other value.
Returns:
value | self
.
__rxor__
__rxor__(self: Self, value: Self) -> Self
Return value ^ self
.
Args:
- value (
Self
): The other value.
Returns:
value ^ self
.
__iadd__
__iadd__(inout self: Self, rhs: Self)
Compute self + rhs
and save the result in self.
Args:
- rhs (
Self
): The RHS value.
__isub__
__isub__(inout self: Self, rhs: Self)
Compute self - rhs
and save the result in self.
Args:
- rhs (
Self
): The RHS value.
__imul__
__imul__(inout self: Self, rhs: Self)
Compute self*rhs and save the result in self.
Args:
- rhs (
Self
): The RHS value.
__itruediv__
__itruediv__(inout self: Self, rhs: Self)
Compute self / rhs
, convert to int, and save the result in self.
Since floor(self / rhs)
is equivalent to self // rhs
, this yields
the same as __ifloordiv__
.
Args:
- rhs (
Self
): The RHS value.
__ifloordiv__
__ifloordiv__(inout self: Self, rhs: Self)
Compute self // rhs
and save the result in self.
Args:
- rhs (
Self
): The RHS value.
__imod__
__imod__(inout self: Self, rhs: Self)
Compute self % rhs
and save the result in self.
Args:
- rhs (
Self
): The RHS value.
__ipow__
__ipow__(inout self: Self, rhs: Self)
Compute pow(self, rhs)
and save the result in self.
Args:
- rhs (
Self
): The RHS value.
__ilshift__
__ilshift__(inout self: Self, rhs: Self)
Compute self << rhs
and save the result in self.
Args:
- rhs (
Self
): The RHS value.
__irshift__
__irshift__(inout self: Self, rhs: Self)
Compute self >> rhs
and save the result in self.
Args:
- rhs (
Self
): The RHS value.
__iand__
__iand__(inout self: Self, rhs: Self)
Compute self & rhs
and save the result in self.
Args:
- rhs (
Self
): The RHS value.
__ixor__
__ixor__(inout self: Self, rhs: Self)
Compute self ^ rhs
and save the result in self.
Args:
- rhs (
Self
): The RHS value.
__ior__
__ior__(inout self: Self, rhs: Self)
Compute self|rhs and save the result in self.
Args:
- rhs (
Self
): The RHS value.
format_to
format_to(self: Self, inout writer: Formatter)
Formats this integer to the provided formatter.
Args:
- writer (
Formatter
): The formatter to write to.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!
If you'd like to share more information, please report an issue on GitHub
😔 What went wrong?