Integer[A: Integer[A] val]¶
trait val Integer[A: Integer[A] val] is
Real[A] val
Implements¶
- Real[A] val
Constructors¶
create¶
new val create(
value: A)
: Real[A] val^
Parameters¶
- value: A
Returns¶
- Real[A] val^
from[B: ((I8 val | I16 val | I32 val | I64 val | I128 val | ILong val | ISize val | U8 val | U16 val | U32 val | U64 val | U128 val | ULong val | USize val | F32 val | F64 val) & Real[B] val)]¶
new val from[B: ((I8 val | I16 val | I32 val |
I64 val | I128 val | ILong val |
ISize val | U8 val | U16 val |
U32 val | U64 val | U128 val |
ULong val | USize val | F32 val |
F64 val) & Real[B] val)](
a: B)
: Real[A] val^
Parameters¶
- a: B
Returns¶
- Real[A] val^
min_value¶
new val min_value()
: Real[A] val^
Returns¶
- Real[A] val^
max_value¶
new val max_value()
: Real[A] val^
Returns¶
- Real[A] val^
Public Functions¶
add_unsafe¶
Unsafe operation. If the operation overflows, the result is undefined.
fun box add_unsafe(
y: A)
: A
Parameters¶
- y: A
Returns¶
- A
sub_unsafe¶
Unsafe operation. If the operation overflows, the result is undefined.
fun box sub_unsafe(
y: A)
: A
Parameters¶
- y: A
Returns¶
- A
mul_unsafe¶
Unsafe operation. If the operation overflows, the result is undefined.
fun box mul_unsafe(
y: A)
: A
Parameters¶
- y: A
Returns¶
- A
div_unsafe¶
Integer division, rounded towards zero.
Unsafe operation. If y is 0, the result is undefined. If the operation overflows, the result is undefined.
fun box div_unsafe(
y: A)
: A
Parameters¶
- y: A
Returns¶
- A
divrem_unsafe¶
Calculates the quotient of this number and y
and the remainder.
Unsafe operation. If y is 0, the result is undefined. If the operation overflows, the result is undefined.
fun box divrem_unsafe(
y: A)
: (A , A)
Parameters¶
- y: A
Returns¶
- (A , A)
rem_unsafe¶
Calculates the remainder of this number divided by y
.
Unsafe operation. If y is 0, the result is undefined. If the operation overflows, the result is undefined.
fun box rem_unsafe(
y: A)
: A
Parameters¶
- y: A
Returns¶
- A
fld_unsafe¶
Floored division, rounded towards negative infinity,
as opposed to div
which rounds towards zero.
Unsafe Operation
If y is 0, the result is undefined. If the operation overflows, the result is undefined.
fun box fld_unsafe(
y: A)
: A
Parameters¶
- y: A
Returns¶
- A
mod_unsafe¶
Calculates the modulo of this number after floored division by y
.
Unsafe Operation.
If y is 0, the result is undefined. If the operation overflows, the result is undefined.
fun box mod_unsafe(
y: A)
: A
Parameters¶
- y: A
Returns¶
- A
add_partial¶
Add y to this number.
If the operation overflows this function errors.
fun box add_partial(
y: A)
: A ?
Parameters¶
- y: A
Returns¶
- A ?
sub_partial¶
Subtract y from this number.
If the operation overflows/underflows this function errors.
fun box sub_partial(
y: A)
: A ?
Parameters¶
- y: A
Returns¶
- A ?
mul_partial¶
Multiply y with this number.
If the operation overflows this function errors.
fun box mul_partial(
y: A)
: A ?
Parameters¶
- y: A
Returns¶
- A ?
div_partial¶
Divides this number by y
, rounds the result towards zero.
If y is 0
or the operation overflows, this function errors.
fun box div_partial(
y: A)
: A ?
Parameters¶
- y: A
Returns¶
- A ?
rem_partial¶
Calculates the remainder of this number divided by y. The result has the sign of the dividend.
If y is 0
or the operation overflows, this function errors.
fun box rem_partial(
y: A)
: A ?
Parameters¶
- y: A
Returns¶
- A ?
divrem_partial¶
Divides this number by y and calculates the remainder of the operation.
If y is 0
or the operation overflows, this function errors.
fun box divrem_partial(
y: A)
: (A , A) ?
Parameters¶
- y: A
Returns¶
- (A , A) ?
fld_partial¶
Floored integer division, rounded towards negative infinity.
If y is 0
or the operation overflows, this function errors
fun box fld_partial(
y: A)
: A ?
Parameters¶
- y: A
Returns¶
- A ?
mod_partial¶
Calculates the modulo of this number and y
after floored division (fld
).
The result has the sign of the divisor.
If y is 0
or the operation overflows, this function errors.
fun box mod_partial(
y: A)
: A ?
Parameters¶
- y: A
Returns¶
- A ?
neg_unsafe¶
Unsafe operation. If the operation overflows, the result is undefined.
fun box neg_unsafe()
: A
Returns¶
- A
addc¶
Add y
to this integer and return the result and a flag indicating overflow.
fun box addc(
y: A)
: (A , Bool val)
Parameters¶
- y: A
Returns¶
- (A , Bool val)
subc¶
Subtract y
from this integer and return the result and a flag indicating overflow.
fun box subc(
y: A)
: (A , Bool val)
Parameters¶
- y: A
Returns¶
- (A , Bool val)
mulc¶
Multiply y
with this integer and return the result and a flag indicating overflow.
fun box mulc(
y: A)
: (A , Bool val)
Parameters¶
- y: A
Returns¶
- (A , Bool val)
divc¶
Divide this integer by y
and return the result and a flag indicating overflow or division by zero.
fun box divc(
y: A)
: (A , Bool val)
Parameters¶
- y: A
Returns¶
- (A , Bool val)
remc¶
Calculate the remainder of this number divided by y
and return the result and a flag indicating division by zero or overflow.
The result will have the sign of the dividend.
fun box remc(
y: A)
: (A , Bool val)
Parameters¶
- y: A
Returns¶
- (A , Bool val)
fldc¶
Divide this integer by y
and return the result, rounded towards negative infinity and a flag indicating overflow or division by zero.
fun box fldc(
y: A)
: (A , Bool val)
Parameters¶
- y: A
Returns¶
- (A , Bool val)
modc¶
Calculate the modulo of this number after floored division by y
and return the result and a flag indicating division by zero or overflow.
The result will have the sign of the divisor.
fun box modc(
y: A)
: (A , Bool val)
Parameters¶
- y: A
Returns¶
- (A , Bool val)
op_and¶
fun box op_and(
y: A)
: A
Parameters¶
- y: A
Returns¶
- A
op_or¶
fun box op_or(
y: A)
: A
Parameters¶
- y: A
Returns¶
- A
op_xor¶
fun box op_xor(
y: A)
: A
Parameters¶
- y: A
Returns¶
- A
op_not¶
fun box op_not()
: A
Returns¶
- A
bit_reverse¶
Reverse the order of the bits within the integer. For example, 0b11101101 (237) would return 0b10110111 (183).
fun box bit_reverse()
: A
Returns¶
- A
bswap¶
fun box bswap()
: A
Returns¶
- A
add¶
fun box add(
y: A)
: A
Parameters¶
- y: A
Returns¶
- A
sub¶
fun box sub(
y: A)
: A
Parameters¶
- y: A
Returns¶
- A
mul¶
fun box mul(
y: A)
: A
Parameters¶
- y: A
Returns¶
- A
div¶
fun box div(
y: A)
: A
Parameters¶
- y: A
Returns¶
- A
divrem¶
fun box divrem(
y: A)
: (A , A)
Parameters¶
- y: A
Returns¶
- (A , A)
rem¶
fun box rem(
y: A)
: A
Parameters¶
- y: A
Returns¶
- A
neg¶
fun box neg()
: A
Returns¶
- A
fld¶
fun box fld(
y: A)
: A
Parameters¶
- y: A
Returns¶
- A
mod¶
fun box mod(
y: A)
: A
Parameters¶
- y: A
Returns¶
- A
eq¶
fun box eq(
y: box->A)
: Bool val
Parameters¶
- y: box->A
Returns¶
- Bool val
ne¶
fun box ne(
y: box->A)
: Bool val
Parameters¶
- y: box->A
Returns¶
- Bool val
lt¶
fun box lt(
y: box->A)
: Bool val
Parameters¶
- y: box->A
Returns¶
- Bool val
le¶
fun box le(
y: box->A)
: Bool val
Parameters¶
- y: box->A
Returns¶
- Bool val
ge¶
fun box ge(
y: box->A)
: Bool val
Parameters¶
- y: box->A
Returns¶
- Bool val
gt¶
fun box gt(
y: box->A)
: Bool val
Parameters¶
- y: box->A
Returns¶
- Bool val
min¶
fun box min(
y: A)
: A
Parameters¶
- y: A
Returns¶
- A
max¶
fun box max(
y: A)
: A
Parameters¶
- y: A
Returns¶
- A
hash¶
fun box hash()
: USize val
Returns¶
- USize val
hash64¶
fun box hash64()
: U64 val
Returns¶
- U64 val
string¶
fun box string()
: String iso^
Returns¶
- String iso^
i8¶
fun box i8()
: I8 val
Returns¶
- I8 val
i16¶
fun box i16()
: I16 val
Returns¶
- I16 val
i32¶
fun box i32()
: I32 val
Returns¶
- I32 val
i64¶
fun box i64()
: I64 val
Returns¶
- I64 val
i128¶
fun box i128()
: I128 val
Returns¶
- I128 val
ilong¶
fun box ilong()
: ILong val
Returns¶
- ILong val
isize¶
fun box isize()
: ISize val
Returns¶
- ISize val
u8¶
fun box u8()
: U8 val
Returns¶
- U8 val
u16¶
fun box u16()
: U16 val
Returns¶
- U16 val
u32¶
fun box u32()
: U32 val
Returns¶
- U32 val
u64¶
fun box u64()
: U64 val
Returns¶
- U64 val
u128¶
fun box u128()
: U128 val
Returns¶
- U128 val
ulong¶
fun box ulong()
: ULong val
Returns¶
- ULong val
usize¶
fun box usize()
: USize val
Returns¶
- USize val
f32¶
fun box f32()
: F32 val
Returns¶
- F32 val
f64¶
fun box f64()
: F64 val
Returns¶
- F64 val
i8_unsafe¶
fun box i8_unsafe()
: I8 val
Returns¶
- I8 val
i16_unsafe¶
fun box i16_unsafe()
: I16 val
Returns¶
- I16 val
i32_unsafe¶
fun box i32_unsafe()
: I32 val
Returns¶
- I32 val
i64_unsafe¶
fun box i64_unsafe()
: I64 val
Returns¶
- I64 val
i128_unsafe¶
fun box i128_unsafe()
: I128 val
Returns¶
- I128 val
ilong_unsafe¶
fun box ilong_unsafe()
: ILong val
Returns¶
- ILong val
isize_unsafe¶
fun box isize_unsafe()
: ISize val
Returns¶
- ISize val
u8_unsafe¶
fun box u8_unsafe()
: U8 val
Returns¶
- U8 val
u16_unsafe¶
fun box u16_unsafe()
: U16 val
Returns¶
- U16 val
u32_unsafe¶
fun box u32_unsafe()
: U32 val
Returns¶
- U32 val
u64_unsafe¶
fun box u64_unsafe()
: U64 val
Returns¶
- U64 val
u128_unsafe¶
fun box u128_unsafe()
: U128 val
Returns¶
- U128 val
ulong_unsafe¶
fun box ulong_unsafe()
: ULong val
Returns¶
- ULong val
usize_unsafe¶
fun box usize_unsafe()
: USize val
Returns¶
- USize val
f32_unsafe¶
fun box f32_unsafe()
: F32 val
Returns¶
- F32 val
f64_unsafe¶
fun box f64_unsafe()
: F64 val
Returns¶
- F64 val
compare¶
fun box compare(
that: box->A)
: (Less val | Equal val | Greater val)
Parameters¶
- that: box->A