2017-09-12 20:42:36 +00:00
<?xml version="1.0" encoding="UTF-8" ?>
2020-02-01 01:03:48 +00:00
<class name= "int" version= "4.0" >
2017-09-12 20:42:36 +00:00
<brief_description >
Integer built-in type.
</brief_description>
<description >
2019-02-21 10:21:41 +00:00
Signed 64-bit integer type.
It can take values in the interval [code][-2^63, 2^63 - 1][/code], i.e. [code][-9223372036854775808, 9223372036854775807][/code]. Exceeding those bounds will wrap around.
2019-03-29 22:37:35 +00:00
[int] is a [Variant] type, and will thus be used when assigning an integer value to a [Variant]. It can also be enforced with the [code]: int[/code] type hint.
2020-10-30 23:37:55 +00:00
[codeblocks]
[gdscript]
2020-01-23 17:41:49 +00:00
var my_variant = 0 # int, value 0.
my_variant += 4.2 # float, value 4.2.
var my_int: int = 1 # int, value 1.
my_int = 4.2 # int, value 4, the right value is implicitly cast to int.
my_int = int("6.7") # int, value 6, the String is explicitly cast with int.
2019-02-21 10:21:41 +00:00
var max_int = 9223372036854775807
2020-01-23 17:41:49 +00:00
print(max_int) # 9223372036854775807, OK.
2019-02-21 10:21:41 +00:00
max_int += 1
2020-01-23 17:41:49 +00:00
print(max_int) # -9223372036854775808, we overflowed and wrapped around.
2020-10-30 23:37:55 +00:00
[/gdscript]
[csharp]
int myInt = (int)"6.7".ToFloat(); // int, value 6, the String is explicitly cast with int.
// We have to use `long` here, because GDSript's `int`
// is 64 bits long while C#'s `int` is only 32 bits.
long maxInt = 9223372036854775807;
GD.Print(maxInt); // 9223372036854775807, OK.
maxInt++;
GD.Print(maxInt); // -9223372036854775808, we overflowed and wrapped around.
// Alternatively, if we used C#'s 32-bit `int` type, the maximum value is much smaller:
int halfInt = 2147483647;
GD.Print(halfInt); // 2147483647, OK.
halfInt++;
GD.Print(halfInt); // -2147483648, we overflowed and wrapped around.
[/csharp]
[/codeblocks]
2017-09-12 20:42:36 +00:00
</description>
<tutorials >
</tutorials>
<methods >
2020-11-10 13:16:20 +00:00
<method name= "int" qualifiers= "constructor" >
2017-09-12 20:42:36 +00:00
<return type= "int" >
</return>
2020-11-09 16:46:03 +00:00
<description >
Constructs a default-initialized [int] set to [code]0[/code].
</description>
</method>
2020-11-10 13:16:20 +00:00
<method name= "int" qualifiers= "constructor" >
2020-11-09 16:46:03 +00:00
<return type= "int" >
</return>
<argument index= "0" name= "from" type= "int" >
2017-09-12 20:42:36 +00:00
</argument>
<description >
2020-11-09 16:46:03 +00:00
Constructs an [int] as a copy of the given [int].
2017-09-12 20:42:36 +00:00
</description>
</method>
2020-11-10 13:16:20 +00:00
<method name= "int" qualifiers= "constructor" >
2017-09-12 20:42:36 +00:00
<return type= "int" >
</return>
2020-11-09 16:46:03 +00:00
<argument index= "0" name= "from" type= "bool" >
2017-09-12 20:42:36 +00:00
</argument>
<description >
2020-11-09 16:46:03 +00:00
Cast a [bool] value to an integer value, [code]int(true)[/code] will be equals to 1 and [code]int(false)[/code] will be equals to 0.
2017-09-12 20:42:36 +00:00
</description>
</method>
2020-11-10 13:16:20 +00:00
<method name= "int" qualifiers= "constructor" >
2017-09-12 20:42:36 +00:00
<return type= "int" >
</return>
2020-11-09 16:46:03 +00:00
<argument index= "0" name= "from" type= "float" >
2017-09-12 20:42:36 +00:00
</argument>
<description >
2020-11-29 14:08:45 +00:00
Cast a float value to an integer value, this method simply removes the number fractions (i.e. rounds [code]from[/code] towards zero), so for example [code]int(2.7)[/code] will be equals to 2, [code]int(0.1)[/code] will be equals to 0 and [code]int(-2.7)[/code] will be equals to -2. This operation is also called truncation.
2017-09-12 20:42:36 +00:00
</description>
</method>
2020-11-10 13:16:20 +00:00
<method name= "operator !=" qualifiers= "operator" >
<return type= "bool" >
</return>
<argument index= "0" name= "right" type= "float" >
</argument>
<description >
</description>
</method>
<method name= "operator !=" qualifiers= "operator" >
<return type= "bool" >
</return>
<argument index= "0" name= "right" type= "int" >
</argument>
<description >
</description>
</method>
<method name= "operator %" qualifiers= "operator" >
<return type= "int" >
</return>
<argument index= "0" name= "right" type= "int" >
</argument>
<description >
</description>
</method>
<method name= "operator &" qualifiers= "operator" >
<return type= "int" >
</return>
<argument index= "0" name= "right" type= "int" >
</argument>
<description >
</description>
</method>
<method name= "operator *" qualifiers= "operator" >
<return type= "float" >
</return>
<argument index= "0" name= "right" type= "float" >
</argument>
<description >
</description>
</method>
<method name= "operator *" qualifiers= "operator" >
<return type= "int" >
</return>
<argument index= "0" name= "right" type= "int" >
</argument>
<description >
</description>
</method>
<method name= "operator *" qualifiers= "operator" >
<return type= "Vector2" >
</return>
<argument index= "0" name= "right" type= "Vector2" >
</argument>
<description >
</description>
</method>
<method name= "operator *" qualifiers= "operator" >
<return type= "Vector2i" >
</return>
<argument index= "0" name= "right" type= "Vector2i" >
</argument>
<description >
</description>
</method>
<method name= "operator *" qualifiers= "operator" >
<return type= "Vector3" >
</return>
<argument index= "0" name= "right" type= "Vector3" >
</argument>
<description >
</description>
</method>
<method name= "operator *" qualifiers= "operator" >
<return type= "Vector3i" >
</return>
<argument index= "0" name= "right" type= "Vector3i" >
</argument>
<description >
</description>
</method>
<method name= "operator *" qualifiers= "operator" >
<return type= "Quat" >
</return>
<argument index= "0" name= "right" type= "Quat" >
</argument>
<description >
</description>
</method>
<method name= "operator *" qualifiers= "operator" >
<return type= "Color" >
</return>
<argument index= "0" name= "right" type= "Color" >
</argument>
<description >
</description>
</method>
<method name= "operator +" qualifiers= "operator" >
<return type= "int" >
</return>
<description >
</description>
</method>
<method name= "operator +" qualifiers= "operator" >
<return type= "float" >
</return>
<argument index= "0" name= "right" type= "float" >
</argument>
<description >
</description>
</method>
<method name= "operator +" qualifiers= "operator" >
<return type= "int" >
</return>
<argument index= "0" name= "right" type= "int" >
</argument>
<description >
</description>
</method>
<method name= "operator -" qualifiers= "operator" >
<return type= "int" >
</return>
<description >
</description>
</method>
<method name= "operator -" qualifiers= "operator" >
<return type= "float" >
</return>
<argument index= "0" name= "right" type= "float" >
</argument>
<description >
</description>
</method>
<method name= "operator -" qualifiers= "operator" >
<return type= "int" >
</return>
<argument index= "0" name= "right" type= "int" >
</argument>
<description >
</description>
</method>
<method name= "operator /" qualifiers= "operator" >
<return type= "float" >
</return>
<argument index= "0" name= "right" type= "float" >
</argument>
<description >
</description>
</method>
<method name= "operator /" qualifiers= "operator" >
<return type= "int" >
</return>
<argument index= "0" name= "right" type= "int" >
</argument>
<description >
</description>
</method>
<method name= "operator <" qualifiers= "operator" >
<return type= "bool" >
</return>
<argument index= "0" name= "right" type= "float" >
</argument>
<description >
</description>
</method>
<method name= "operator <" qualifiers= "operator" >
<return type= "bool" >
</return>
<argument index= "0" name= "right" type= "int" >
</argument>
<description >
</description>
</method>
<method name= "operator <<" qualifiers= "operator" >
<return type= "int" >
</return>
<argument index= "0" name= "right" type= "int" >
</argument>
<description >
</description>
</method>
<method name= "operator <=" qualifiers= "operator" >
<return type= "bool" >
</return>
<argument index= "0" name= "right" type= "float" >
</argument>
<description >
</description>
</method>
<method name= "operator <=" qualifiers= "operator" >
<return type= "bool" >
</return>
<argument index= "0" name= "right" type= "int" >
</argument>
<description >
</description>
</method>
<method name= "operator ==" qualifiers= "operator" >
<return type= "bool" >
</return>
<argument index= "0" name= "right" type= "float" >
</argument>
<description >
</description>
</method>
<method name= "operator ==" qualifiers= "operator" >
<return type= "bool" >
</return>
<argument index= "0" name= "right" type= "int" >
</argument>
<description >
</description>
</method>
<method name= "operator >" qualifiers= "operator" >
<return type= "bool" >
</return>
<argument index= "0" name= "right" type= "float" >
</argument>
<description >
</description>
</method>
<method name= "operator >" qualifiers= "operator" >
<return type= "bool" >
</return>
<argument index= "0" name= "right" type= "int" >
</argument>
<description >
</description>
</method>
<method name= "operator >=" qualifiers= "operator" >
<return type= "bool" >
</return>
<argument index= "0" name= "right" type= "float" >
</argument>
<description >
</description>
</method>
<method name= "operator >=" qualifiers= "operator" >
<return type= "bool" >
</return>
<argument index= "0" name= "right" type= "int" >
</argument>
<description >
</description>
</method>
<method name= "operator >>" qualifiers= "operator" >
<return type= "int" >
</return>
<argument index= "0" name= "right" type= "int" >
</argument>
<description >
</description>
</method>
<method name= "operator ^" qualifiers= "operator" >
<return type= "int" >
</return>
<argument index= "0" name= "right" type= "int" >
</argument>
<description >
</description>
</method>
<method name= "operator |" qualifiers= "operator" >
<return type= "int" >
</return>
<argument index= "0" name= "right" type= "int" >
</argument>
<description >
</description>
</method>
<method name= "operator ~" qualifiers= "operator" >
<return type= "int" >
</return>
<description >
</description>
</method>
2017-09-12 20:42:36 +00:00
</methods>
<constants >
</constants>
</class>