frost.core

Class Int64

    └ Value
         └ Immutable
             └ Object

Implemented Interfaces:

A 64-bit signed integer.

Source Code:
View Source

Constant Summary

MIN:Int64
The smallest value this type can hold (-9,223,372,036,854,775,808).
MAX:Int64
The largest value this type can hold (9,223,372,036,854,775,807).

Class Method Summary

-- index operator --
[](range:Range<Int64>):ListView<Int64>
Returns a list of all integers in the given range.
-- index operator --
[](range:SteppedRange<Int64, Int64>):ListView<Int64>
Returns a list of all integers in the given stepped range.
parse(str:String, radix:Int):Int64?
Parses a string as a number in the specified radix.

Field Summary

value:builtin_int64
abs:Int64
The absolute value of this number.
bits:ListView<Bit>
A view of this number as a collection of bits, with bits[0] as the least significant bit.
sqrt:Real64
The square root of this number.
bitCount:Int64
The number of 1 bits in this number's binary representation.
asInt:Int
This number converted to an Int.
toInt:Int
This number converted to an Int.
asInt8:Int8
This number truncated to an 8 bit signed number.
toInt8:Int8
This number truncated to an 8 bit signed number.
asInt16:Int16
This number truncated to a 16 bit signed number.
toInt16:Int16
This number truncated to a 16 bit signed number.
asInt32:Int32
This number truncated to a 32 bit signed number.
toInt32:Int32
This number truncated to a 32 bit signed number.
asUInt:UInt
This number converted to a UInt.
toUInt:UInt
This number converted to a UInt.
asUInt8:UInt8
This number truncated to an 8 bit unsigned number.
toUInt8:UInt8
This number truncated to an 8 bit unsigned number.
asUInt16:UInt16
This number truncated to a 16 bit unsigned number.
toUInt16:UInt16
This number truncated to a 16 bit unsigned number.
asUInt32:UInt32
This number truncated to a 32 bit unsigned number.
toUInt32:UInt32
This number truncated to a 32 bit unsigned number.
asUInt64:UInt64
This number reinterpreted as a 64 bit unsigned number.
toUInt64:UInt64
This number reinterpreted as a 64 bit unsigned number.
asReal32:Real32
This number converted to a 32 bit floating point number.
toReal32:Real32
This number converted to a 32 bit floating point number.
asReal64:Real64
This number converted to a 64 bit floating point number.
toReal64:Real64
This number converted to a 64 bit floating point number.
Inherited Fields:

Instance Method Summary

-- add operator --
+(other:Int64):Int64
Adds another number to this number.
-- unchecked add operator --
+&(other:Int64):Int64
Adds another number to this number without checking for overflow.
-- subtract operator --
-(other:Int64):Int64
Subtracts another number from this number.
-- unchecked subtract operator --
-&(other:Int64):Int64
Subtracts another number from this number without checking for overflow.
-- subtract operator --
-():Int64
Returns the negation (additive inverse) of this number
-- multiply operator --
*(other:Int64):Int64
Multiplies this number by another number.
-- unchecked multiply operator --
*&(other:Int64):Int64
Multiplies this number by another number without checking for overflow.
-- integer divide operator --
//(other:Int64):Int64
Divides this number by another number, returning the whole number portion.
-- unchecked integer divide operator --
//&(other:Int64):Int64
Divides this number by another number, returning the whole number portion, without checking for overflow.
-- remainder operator --
%(other:Int64):Int64
Returns the remainder of dividing this number by another number.
-- divide operator --
/(other:Int8):Real64
Divides this number by another number.
-- divide operator --
/(other:Int16):Real64
Divides this number by another number.
-- divide operator --
/(other:Int32):Real64
Divides this number by another number.
-- divide operator --
/(other:Int64):Real64
Divides this number by another number.
-- divide operator --
/(other:UInt8):Real64
Divides this number by another number.
-- divide operator --
/(other:UInt16):Real64
Divides this number by another number.
-- divide operator --
/(other:UInt32):Real64
Divides this number by another number.
-- divide operator --
/(other:UInt64):Real64
Divides this number by another number.
-- divide operator --
/(other:Real32):Real64
Divides this number by another number.
-- divide operator --
/(other:Real64):Real64
Divides this number by another number.
-- bitwise not operator --
!!():Int64
Returns the bitwise NOT of this number.
-- bitwise and operator --
&&(other:Int64):Int64
Returns the bitwise AND of this number with another number.
-- bitwise and operator --
&&(other:UInt64):UInt64
Returns the bitwise AND of this number with another number.
-- bitwise or operator --
||(other:Int64):Int64
Returns the bitwise OR of this number with another number.
-- bitwise or operator --
||(other:UInt64):UInt64
Returns the bitwise OR of this number with another number.
-- bitwise exclusive or operator --
~~(other:Int64):Int64
Returns the bitwise XOR of this number with another number.
-- bitwise exclusive or operator --
~~(other:UInt64):UInt64
Returns the bitwise XOR of this number with another number.
-- left shift operator --
<<(other:Int64):Int64
Returns this number shifted left by the specified number of bits.
-- unchecked left shift operator --
<<&(other:Int64):Int64
Returns this number shifted left by the specified number of bits, without checking for overflow.
-- right shift operator --
>>(other:Int64):Int64
Returns this number arithmetic shifted right by the specified number of bits.
-- equals operator --
=(other:Int8):Bit
Returns true if this number is equal to the given number.
-- equals operator --
=(other:Int16):Bit
Returns true if this number is equal to the given number.
-- equals operator --
=(other:Int32):Bit
Returns true if this number is equal to the given number.
-- equals operator --
=(other:Int64):Bit
Returns true if this number is equal to the given number.
-- equals operator --
=(other:Int):Bit
Returns true if this number is equal to the given number.
-- not equal operator --
!=(other:Int8):Bit
Returns true if this number is not equal to the given number.
-- not equal operator --
!=(other:Int16):Bit
Returns true if this number is not equal to the given number.
-- not equal operator --
!=(other:Int32):Bit
Returns true if this number is not equal to the given number.
-- not equal operator --
!=(other:Int64):Bit
Returns true if this number is not equal to the given number.
-- not equal operator --
!=(other:Int):Bit
Returns true if this number is not equal to the given number.
-- less than operator --
<(other:Int8):Bit
Returns true if this number is less than the given number.
-- less than operator --
<(other:Int16):Bit
Returns true if this number is less than the given number.
-- less than operator --
<(other:Int32):Bit
Returns true if this number is less than the given number.
-- less than operator --
<(other:Int64):Bit
Returns true if this number is less than the given number.
-- less than operator --
<(other:Int):Bit
Returns true if this number is less than the given number.
-- greater than operator --
>(other:Int8):Bit
Returns true if this number is greater than the given number.
-- greater than operator --
>(other:Int16):Bit
Returns true if this number is greater than the given number.
-- greater than operator --
>(other:Int32):Bit
Returns true if this number is greater than the given number.
-- greater than operator --
>(other:Int64):Bit
Returns true if this number is greater than the given number.
-- greater than operator --
>(other:Int):Bit
Returns true if this number is greater than the given number.
-- greater than or equal operator --
>=(other:Int8):Bit
Returns true if this number is greater than or equal to the given number.
-- greater than or equal operator --
>=(other:Int16):Bit
Returns true if this number is greater than or equal to the given number.
-- greater than or equal operator --
>=(other:Int32):Bit
Returns true if this number is greater than or equal to the given number.
-- greater than or equal operator --
>=(other:Int64):Bit
Returns true if this number is greater than or equal to the given number.
-- greater than or equal operator --
>=(other:Int):Bit
Returns true if this number is greater than or equal to the given number.
-- less than or equal operator --
<=(other:Int8):Bit
Returns true if this number is less than or equal to the given number.
-- less than or equal operator --
<=(other:Int16):Bit
Returns true if this number is less than or equal to the given number.
-- less than or equal operator --
<=(other:Int32):Bit
Returns true if this number is less than or equal to the given number.
-- less than or equal operator --
<=(other:Int64):Bit
Returns true if this number is less than or equal to the given number.
-- less than or equal operator --
<=(other:Int):Bit
Returns true if this number is less than or equal to the given number.
min(other:Int8):Int64
Returns the smaller (closest to negative infinity) of this number and another number.
min(other:Int16):Int64
Returns the smaller (closest to negative infinity) of this number and another number.
min(other:Int32):Int64
Returns the smaller (closest to negative infinity) of this number and another number.
min(other:Int64):Int64
Returns the smaller (closest to negative infinity) of this number and another number.
min(other:Int):Int64
Returns the smaller (closest to negative infinity) of this number and another number.
max(other:Int8):Int64
Returns the larger (closest to positive infinity) of this number and another number.
max(other:Int16):Int64
Returns the larger (closest to positive infinity) of this number and another number.
max(other:Int32):Int64
Returns the larger (closest to positive infinity) of this number and another number.
max(other:Int64):Int64
Returns the larger (closest to positive infinity) of this number and another number.
max(other:Int):Int64
Returns the larger (closest to positive infinity) of this number and another number.
format(fmt:String):String
Returns a formatted representation of this number.

Constants

@class
constant MIN:Int64

The smallest value this type can hold (-9,223,372,036,854,775,808).

@class
constant MAX:Int64

The largest value this type can hold (9,223,372,036,854,775,807).

Fields

@package
def value:builtin_int64
property abs:Int64

The absolute value of this number.

property bits:ListView<Bit>

A view of this number as a collection of bits, with bits[0] as the least significant bit.

property sqrt:Real64

The square root of this number.

property bitCount:Int64

The number of 1 bits in this number's binary representation.

property asInt:Int

This number converted to an Int. If this number is not in the range of an Int, a safety violation occurs.

property toInt:Int

This number converted to an Int. This function never fails, even if the number is not in the range of an Int.

property asInt8:Int8

This number truncated to an 8 bit signed number. If this number is not in the range of an 8 bit signed number, a safety violation occurs.

property toInt8:Int8

This number truncated to an 8 bit signed number. This function never fails, even if the number is not in the range of an 8 bit signed number.

property asInt16:Int16

This number truncated to a 16 bit signed number. If this number is not in the range of a 16 bit signed number, a safety violation occurs.

property toInt16:Int16

This number truncated to a 16 bit signed number. This function never fails, even if the number is not in the range of a 16 bit signed number.

property asInt32:Int32

This number truncated to a 32 bit signed number. If this number is not in the range of a 32 bit signed number, a safety violation occurs.

property toInt32:Int32

This number truncated to a 32 bit signed number. This function never fails, even if the number is not in the range of a 32 bit signed number.

property asUInt:UInt

This number converted to a UInt. If this number is not in the range of a UInt, a safety violation occurs.

property toUInt:UInt

This number converted to a UInt. This function never fails, even if the number is not in the range of a UInt.

property asUInt8:UInt8

This number truncated to an 8 bit unsigned number. If this number is not in the range of an 8 bit unsigned number, a safety violation occurs.

property toUInt8:UInt8

This number truncated to an 8 bit unsigned number. This function never fails, even if the number is not in the range of an 8 bit unsigned number.

property asUInt16:UInt16

This number truncated to a 16 bit unsigned number. If this number is not in the range of a 16 bit unsigned number, a safety violation occurs.

property toUInt16:UInt16

This number truncated to a 16 bit unsigned number. This function never fails, even if the number is not in the range of a 16 bit unsigned number.

property asUInt32:UInt32

This number truncated to a 32 bit unsigned number. If this number is not in the range of a 32 bit unsigned number, a safety violation occurs.

property toUInt32:UInt32

This number truncated to a 32 bit unsigned number. This function never fails, even if the number is not in the range of a 32 bit unsigned number.

property asUInt64:UInt64

This number reinterpreted as a 64 bit unsigned number. If this number is not in the range of a 64 bit unsigned number, a safety violation occurs.

property toUInt64:UInt64

This number reinterpreted as a 64 bit unsigned number. This function never fails, even if the number is not in the range of a 64 bit unsigned number.

property asReal32:Real32

This number converted to a 32 bit floating point number.

property toReal32:Real32

This number converted to a 32 bit floating point number.

property asReal64:Real64

This number converted to a 64 bit floating point number.

property toReal64:Real64

This number converted to a 64 bit floating point number.

Class Methods

-- index operator --
@class
@pre(range.max.asUInt64 - range.min.asUInt64 < Int64.MAX.asUInt64)
function [] (range:Range<Int64>
):ListView<Int64>

Returns a list of all integers in the given range. The list is 'lazy', meaning that it does not actually allocate memory to hold the entire list.

Parameters:
range - value of type Range<Int64>
-- index operator --
@class
@pre(org.frostlang.frost.Int64List.computeCount(range) > 0)
function [] (range:SteppedRange<Int64, Int64>
):ListView<Int64>

Returns a list of all integers in the given stepped range. The list is 'lazy', meaning that it does not actually allocate memory to hold the entire list.

Parameters:
range - value of type SteppedRange<Int64, Int64>
@class
@pre(radix >= 2 & radix <= 36)
function parse (str:String,
 radix:Int
):Int64?

Parses a string as a number in the specified radix. Returns null if the parse fails.

Parameters:
str - value of type String
radix - value of type Int

Instance Methods

-- add operator --
function + (other:Int64
):Int64

Adds another number to this number.

Parameters:
other - value of type Int64
-- unchecked add operator --
function +& (other:Int64
):Int64

Adds another number to this number without checking for overflow.

Parameters:
other - value of type Int64
-- subtract operator --
function - (other:Int64
):Int64

Subtracts another number from this number.

Parameters:
other - value of type Int64
-- unchecked subtract operator --
function -& (other:Int64
):Int64

Subtracts another number from this number without checking for overflow.

Parameters:
other - value of type Int64
-- subtract operator --
function - ():Int64

Returns the negation (additive inverse) of this number

-- multiply operator --
function * (other:Int64
):Int64

Multiplies this number by another number.

Parameters:
other - value of type Int64
-- unchecked multiply operator --
function *& (other:Int64
):Int64

Multiplies this number by another number without checking for overflow.

Parameters:
other - value of type Int64
-- integer divide operator --
function // (other:Int64
):Int64

Divides this number by another number, returning the whole number portion.

Parameters:
other - value of type Int64
-- unchecked integer divide operator --
function //& (other:Int64
):Int64

Divides this number by another number, returning the whole number portion, without checking for overflow.

Parameters:
other - value of type Int64
-- remainder operator --
function % (other:Int64
):Int64

Returns the remainder of dividing this number by another number.

Parameters:
other - value of type Int64
-- divide operator --
function / (other:Int8
):Real64

Divides this number by another number.

Parameters:
other - value of type Int8
-- divide operator --
function / (other:Int16
):Real64

Divides this number by another number.

Parameters:
other - value of type Int16
-- divide operator --
function / (other:Int32
):Real64

Divides this number by another number.

Parameters:
other - value of type Int32
-- divide operator --
function / (other:Int64
):Real64

Divides this number by another number.

Parameters:
other - value of type Int64
-- divide operator --
function / (other:UInt8
):Real64

Divides this number by another number.

Parameters:
other - value of type UInt8
-- divide operator --
function / (other:UInt16
):Real64

Divides this number by another number.

Parameters:
other - value of type UInt16
-- divide operator --
function / (other:UInt32
):Real64

Divides this number by another number.

Parameters:
other - value of type UInt32
-- divide operator --
function / (other:UInt64
):Real64

Divides this number by another number.

Parameters:
other - value of type UInt64
-- divide operator --
function / (other:Real32
):Real64

Divides this number by another number.

Parameters:
other - value of type Real32
-- divide operator --
function / (other:Real64
):Real64

Divides this number by another number.

Parameters:
other - value of type Real64
-- bitwise not operator --
function !! ():Int64

Returns the bitwise NOT of this number.

-- bitwise and operator --
function && (other:Int64
):Int64

Returns the bitwise AND of this number with another number.

Parameters:
other - value of type Int64
-- bitwise and operator --
function && (other:UInt64
):UInt64

Returns the bitwise AND of this number with another number.

Parameters:
other - value of type UInt64
-- bitwise or operator --
function || (other:Int64
):Int64

Returns the bitwise OR of this number with another number.

Parameters:
other - value of type Int64
-- bitwise or operator --
function || (other:UInt64
):UInt64

Returns the bitwise OR of this number with another number.

Parameters:
other - value of type UInt64
-- bitwise exclusive or operator --
function ~~ (other:Int64
):Int64

Returns the bitwise XOR of this number with another number.

Parameters:
other - value of type Int64
-- bitwise exclusive or operator --
function ~~ (other:UInt64
):UInt64

Returns the bitwise XOR of this number with another number.

Parameters:
other - value of type UInt64
-- left shift operator --
function << (other:Int64
):Int64

Returns this number shifted left by the specified number of bits.

Parameters:
other - value of type Int64
-- unchecked left shift operator --
function <<& (other:Int64
):Int64

Returns this number shifted left by the specified number of bits, without checking for overflow.

Parameters:
other - value of type Int64
-- right shift operator --
function >> (other:Int64
):Int64

Returns this number arithmetic shifted right by the specified number of bits.

Parameters:
other - value of type Int64
-- equals operator --
function = (other:Int8
):Bit

Returns true if this number is equal to the given number.

Parameters:
other - value of type Int8
-- equals operator --
function = (other:Int16
):Bit

Returns true if this number is equal to the given number.

Parameters:
other - value of type Int16
-- equals operator --
function = (other:Int32
):Bit

Returns true if this number is equal to the given number.

Parameters:
other - value of type Int32
-- equals operator --
@override
function = (other:Int64
):Bit

Returns true if this number is equal to the given number.

Parameters:
other - value of type Int64
Overrides:
frost.core.Equatable.=
-- equals operator --
function = (other:Int
):Bit

Returns true if this number is equal to the given number.

Parameters:
other - value of type Int
-- not equal operator --
function != (other:Int8
):Bit

Returns true if this number is not equal to the given number.

Parameters:
other - value of type Int8
-- not equal operator --
function != (other:Int16
):Bit

Returns true if this number is not equal to the given number.

Parameters:
other - value of type Int16
-- not equal operator --
function != (other:Int32
):Bit

Returns true if this number is not equal to the given number.

Parameters:
other - value of type Int32
-- not equal operator --
@override
function != (other:Int64
):Bit

Returns true if this number is not equal to the given number.

Parameters:
other - value of type Int64
Overrides:
frost.core.Equatable.!=
-- not equal operator --
function != (other:Int
):Bit

Returns true if this number is not equal to the given number.

Parameters:
other - value of type Int
-- less than operator --
function < (other:Int8
):Bit

Returns true if this number is less than the given number.

Parameters:
other - value of type Int8
-- less than operator --
function < (other:Int16
):Bit

Returns true if this number is less than the given number.

Parameters:
other - value of type Int16
-- less than operator --
function < (other:Int32
):Bit

Returns true if this number is less than the given number.

Parameters:
other - value of type Int32
-- less than operator --
@override
function < (other:Int64
):Bit

Returns true if this number is less than the given number.

Parameters:
other - value of type Int64
Overrides:
frost.core.Comparable.<
-- less than operator --
function < (other:Int
):Bit

Returns true if this number is less than the given number.

Parameters:
other - value of type Int
-- greater than operator --
function > (other:Int8
):Bit

Returns true if this number is greater than the given number.

Parameters:
other - value of type Int8
-- greater than operator --
function > (other:Int16
):Bit

Returns true if this number is greater than the given number.

Parameters:
other - value of type Int16
-- greater than operator --
function > (other:Int32
):Bit

Returns true if this number is greater than the given number.

Parameters:
other - value of type Int32
-- greater than operator --
@override
function > (other:Int64
):Bit

Returns true if this number is greater than the given number.

Parameters:
other - value of type Int64
Overrides:
frost.core.Comparable.>
-- greater than operator --
function > (other:Int
):Bit

Returns true if this number is greater than the given number.

Parameters:
other - value of type Int
-- greater than or equal operator --
function >= (other:Int8
):Bit

Returns true if this number is greater than or equal to the given number.

Parameters:
other - value of type Int8
-- greater than or equal operator --
function >= (other:Int16
):Bit

Returns true if this number is greater than or equal to the given number.

Parameters:
other - value of type Int16
-- greater than or equal operator --
function >= (other:Int32
):Bit

Returns true if this number is greater than or equal to the given number.

Parameters:
other - value of type Int32
-- greater than or equal operator --
@override
function >= (other:Int64
):Bit

Returns true if this number is greater than or equal to the given number.

Parameters:
other - value of type Int64
Overrides:
frost.core.Comparable.>=
-- greater than or equal operator --
function >= (other:Int
):Bit

Returns true if this number is greater than or equal to the given number.

Parameters:
other - value of type Int
-- less than or equal operator --
function <= (other:Int8
):Bit

Returns true if this number is less than or equal to the given number.

Parameters:
other - value of type Int8
-- less than or equal operator --
function <= (other:Int16
):Bit

Returns true if this number is less than or equal to the given number.

Parameters:
other - value of type Int16
-- less than or equal operator --
function <= (other:Int32
):Bit

Returns true if this number is less than or equal to the given number.

Parameters:
other - value of type Int32
-- less than or equal operator --
@override
function <= (other:Int64
):Bit

Returns true if this number is less than or equal to the given number.

Parameters:
other - value of type Int64
Overrides:
frost.core.Comparable.<=
-- less than or equal operator --
function <= (other:Int
):Bit

Returns true if this number is less than or equal to the given number.

Parameters:
other - value of type Int
function min (other:Int8
):Int64

Returns the smaller (closest to negative infinity) of this number and another number.

Parameters:
other - value of type Int8
function min (other:Int16
):Int64

Returns the smaller (closest to negative infinity) of this number and another number.

Parameters:
other - value of type Int16
function min (other:Int32
):Int64

Returns the smaller (closest to negative infinity) of this number and another number.

Parameters:
other - value of type Int32
function min (other:Int64
):Int64

Returns the smaller (closest to negative infinity) of this number and another number.

Parameters:
other - value of type Int64
function min (other:Int
):Int64

Returns the smaller (closest to negative infinity) of this number and another number.

Parameters:
other - value of type Int
function max (other:Int8
):Int64

Returns the larger (closest to positive infinity) of this number and another number.

Parameters:
other - value of type Int8
function max (other:Int16
):Int64

Returns the larger (closest to positive infinity) of this number and another number.

Parameters:
other - value of type Int16
function max (other:Int32
):Int64

Returns the larger (closest to positive infinity) of this number and another number.

Parameters:
other - value of type Int32
function max (other:Int64
):Int64

Returns the larger (closest to positive infinity) of this number and another number.

Parameters:
other - value of type Int64
function max (other:Int
):Int64

Returns the larger (closest to positive infinity) of this number and another number.

Parameters:
other - value of type Int
@override
function format (fmt:String
):String

Returns a formatted representation of this number. Supported format strings are "", "d", or "D" for decimal, "b" or "B" for binary, "o" or "O" for octal, "x" for lowercase hexadecimal, and "X" for uppercase hexadecimal.

Parameters:
fmt - value of type String
Overrides:
frost.core.Formattable.format