Int64
Info
Dependencies:
- None
Implementation:
Int64.d on GitHub
Int64 implements basic arithmetic for 64-bit integers based on machine code (hence the function signatures are also in machine code style). Furthermore, Int64 offers the constructor int64@ for Int64 objects, but mk64 expects a pointer, not a handle.
Initialization
N/A
Functions
mk64
mk64
Writes lo and hi in one place (dest). Makes Int64, hi has to be -1 for negative 32bit lo.
var int dest
A pointer to an Int64 object or just 8 bytes of free memory.var int hi
High part of integer.var int lo
Low part of integer.
Examples
Function looks like that:
9876543210 low part should be set to 1286608618 and the high part to 2 neg64
neg64
Negates the integer: *dest <- -(*dest)
var int dest
A pointer to an Int64 object or just 8 bytes of free memory.
add64
add64
Adds src to dest: *dest <- *dest + *src
var int dest
A pointer to an Int64 object or just 8 bytes of free memory. Will be changed.var int src
A pointer to an Int64 object. Will not change.
sub64
sub64
Subtracts src from dest: *dest <- *dest - *src
var int dest
A pointer to an Int64 object or just 8 bytes of free memory. Will be changed.var int src
A pointer to an Int64 object. Will not change.
mul64
mul64
Multiplies dest by src: *dest <- (*dest) * (*src)
var int dest
A pointer to an Int64 object or just 8 bytes of free memory. Will be changed.var int src
A pointer to an Int64 object. Will not change.
div64
div64
Divides dest by src: *dest <- *dest / *src
var int dest
A pointer to an Int64 object or just 8 bytes of free memory. Will be changed.var int src
A pointer to an Int64 object. Will not change.