Int
Int
In most dynamically typed programming language both Integers and Float are internally represented by a C double value.
In a modern 64bit system, this implementation leads to some issue because some integer values cannot be correctly represented by a double value (for more details please read Storage of integer values in double).
In Gravity Int and Float are internally represented by two different types to mitigate rounding errors.
An Int represents a 64 bit signed number (can optionally be compiled as 32 bit signed number):
var a = 123; // decimal
var b = 0xFF; // hexadecimal
var c = 0O7777; // octal
var d = 0B0101; // binary
var e = Int.random(1, 10) // returns a random int between 1 and 10 inclusive
var f = 30.radians // returns the result of converting 30 degrees to radians
var f = 3.degrees // returns the result of converting 3 radians to degrees
An Int can also be used as a convenient way to execute loops:
5.loop() {
System.print("Hello World");
}
// result
// Hello World
// Hello World
// Hello World
// Hello World
// Hello World
The Int class exposes a min/max property used to know at runtime lower/upper bound values:
var min = Int.min; // -9223372036854775808 in 64bit systems
var max = Int.max; // 9223372036854775807 in 64bit systems