int (original) (raw)

A built-in type for integers.

Constructor Descriptions

int int() πŸ”—

Constructs an int set to 0.


int int(from: int)

Constructs an int as a copy of the given int.


int int(from: String)

Constructs a new int from a String, following the same rules as String.to_int().


int int(from: bool)

Constructs a new int from a bool. true is converted to 1 and false is converted to 0.


int int(from: float)

Constructs a new int from a float. This will truncate the float, discarding anything after the floating point.

Operator Descriptions

bool operator !=(right: float) πŸ”—

Returns true if the int is not equivalent to the float.


bool operator !=(right: int) πŸ”—

Returns true if the ints are not equal.


int operator %(right: int) πŸ”—

Returns the remainder after dividing two ints. Uses truncated division, which returns a negative number if the dividend is negative. If this is not desired, consider using @GlobalScope.posmod().

print(6 % 2) # Prints 0 print(11 % 4) # Prints 3 print(-5 % 3) # Prints -2


int operator &(right: int) πŸ”—

Performs the bitwise AND operation.

print(0b1100 & 0b1010) # Prints 8 (binary 1000)

This is useful for retrieving binary flags from a variable.

var flags = 0b101

Check if the first or second bit are enabled.

if flags & 0b011: do_stuff() # This line will run.


Color operator *(right: Color) πŸ”—

Multiplies each component of the Color by the int.


Quaternion operator *(right: Quaternion) πŸ”—

Multiplies each component of the Quaternion by the int. This operation is not meaningful on its own, but it can be used as a part of a larger expression.


Vector2 operator *(right: Vector2) πŸ”—

Multiplies each component of the Vector2 by the int.

print(2 * Vector2(1, 4)) # Prints (2, 8)


Vector2i operator *(right: Vector2i) πŸ”—

Multiplies each component of the Vector2i by the int.


Vector3 operator *(right: Vector3) πŸ”—

Multiplies each component of the Vector3 by the int.


Vector3i operator *(right: Vector3i) πŸ”—

Multiplies each component of the Vector3i by the int.


Vector4 operator *(right: Vector4) πŸ”—

Multiplies each component of the Vector4 by the int.


Vector4i operator *(right: Vector4i) πŸ”—

Multiplies each component of the Vector4i by the int.


float operator *(right: float) πŸ”—

Multiplies the float by the int. The result is a float.


int operator *(right: int) πŸ”—

Multiplies the two ints.


float operator **(right: float) πŸ”—

Raises an int to a power of a float. The result is a float.

print(2 ** 0.5) # Prints 1.4142135623731


int operator **(right: int) πŸ”—

Raises the left int to a power of the right int.

print(3 ** 4) # Prints 81


float operator +(right: float) πŸ”—

Adds the int and the float. The result is a float.


int operator +(right: int) πŸ”—

Adds the two ints.


float operator -(right: float) πŸ”—

Subtracts the float from the int. The result is a float.


int operator -(right: int) πŸ”—

Subtracts the two ints.


float operator /(right: float) πŸ”—

Divides the int by the float. The result is a float.

print(10 / 3.0) # Prints 3.33333333333333


int operator /(right: int) πŸ”—

Divides the two ints. The result is an int. This will truncate the float, discarding anything after the floating point.

print(6 / 2) # Prints 3 print(5 / 3) # Prints 1


bool operator <(right: float) πŸ”—

Returns true if the int is less than the float.


bool operator <(right: int) πŸ”—

Returns true if the left int is less than the right int.


int operator <<(right: int) πŸ”—

Performs the bitwise shift left operation. Effectively the same as multiplying by a power of 2.

print(0b1010 << 1) # Prints 20 (binary 10100) print(0b1010 << 3) # Prints 80 (binary 1010000)


bool operator <=(right: float) πŸ”—

Returns true if the int is less than or equal to the float.


bool operator <=(right: int) πŸ”—

Returns true if the left int is less than or equal to the right int.


bool operator ==(right: float) πŸ”—

Returns true if the int is equal to the float.


bool operator ==(right: int) πŸ”—

Returns true if the two ints are equal.


bool operator >(right: float) πŸ”—

Returns true if the int is greater than the float.


bool operator >(right: int) πŸ”—

Returns true if the left int is greater than the right int.


bool operator >=(right: float) πŸ”—

Returns true if the int is greater than or equal to the float.


bool operator >=(right: int) πŸ”—

Returns true if the left int is greater than or equal to the right int.


int operator >>(right: int) πŸ”—

Performs the bitwise shift right operation. Effectively the same as dividing by a power of 2.

print(0b1010 >> 1) # Prints 5 (binary 101) print(0b1010 >> 2) # Prints 2 (binary 10)


int operator ^(right: int) πŸ”—

Performs the bitwise XOR operation.

print(0b1100 ^ 0b1010) # Prints 6 (binary 110)


int operator unary+() πŸ”—

Returns the same value as if the + was not there. Unary + does nothing, but sometimes it can make your code more readable.


int operator unary-() πŸ”—

Returns the negated value of the int. If positive, turns the number negative. If negative, turns the number positive. If zero, does nothing.


int operator |(right: int) πŸ”—

Performs the bitwise OR operation.

print(0b1100 | 0b1010) # Prints 14 (binary 1110)

This is useful for storing binary flags in a variable.

var flags = 0 flags |= 0b101 # Turn the first and third bits on.


int operator ~() πŸ”—

Performs the bitwise NOT operation on the int. Due to 2's complement, it's effectively equal to -(int + 1).

print(4) # Prints -5 print((-7)) # Prints 6