trait val Integer[A: Integer[A] val] is Real[A] val
new val create( value: A) : Real[A] 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^
new val min_value() : Real[A] val^
new val max_value() : Real[A] val^
Unsafe operation. If the operation overflows, the result is undefined.
fun box add_unsafe( y: A) : A
Unsafe operation. If the operation overflows, the result is undefined.
fun box sub_unsafe( y: A) : A
Unsafe operation. If the operation overflows, the result is undefined.
fun box mul_unsafe( y: A) : A
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
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)
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
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
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
Add y to this number.
If the operation overflows this function errors.
fun box add_partial( y: A) : A ?
Subtract y from this number.
If the operation overflows/underflows this function errors.
fun box sub_partial( y: A) : A ?
Multiply y with this number.
If the operation overflows this function errors.
fun box mul_partial( y: A) : A ?
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 ?
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 ?
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) ?
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 ?
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 ?
Unsafe operation. If the operation overflows, the result is undefined.
fun box neg_unsafe() : A
Add y
to this integer and return the result and a flag indicating overflow.
fun box addc( y: A) : (A , Bool val)
Subtract y
from this integer and return the result and a flag indicating overflow.
fun box subc( y: A) : (A , Bool val)
Multiply y
with this integer and return the result and a flag indicating overflow.
fun box mulc( y: A) : (A , Bool val)
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)
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)
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)
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)
fun box op_and( y: A) : A
fun box op_or( y: A) : A
fun box op_xor( y: A) : A
fun box op_not() : A
Reverse the order of the bits within the integer. For example, 0b11101101 (237) would return 0b10110111 (183).
fun box bit_reverse() : A
fun box bswap() : A
fun box add( y: A) : A
fun box sub( y: A) : A
fun box mul( y: A) : A
fun box div( y: A) : A
fun box divrem( y: A) : (A , A)
fun box rem( y: A) : A
fun box neg() : A
fun box fld( y: A) : A
fun box mod( y: A) : A
fun box eq( y: box->A) : Bool val
fun box ne( y: box->A) : Bool val
fun box lt( y: box->A) : Bool val
fun box le( y: box->A) : Bool val
fun box ge( y: box->A) : Bool val
fun box gt( y: box->A) : Bool val
fun box min( y: A) : A
fun box max( y: A) : A
fun box hash() : USize val
fun box hash64() : U64 val
fun box string() : String iso^
fun box i8() : I8 val
fun box i16() : I16 val
fun box i32() : I32 val
fun box i64() : I64 val
fun box i128() : I128 val
fun box ilong() : ILong val
fun box isize() : ISize val
fun box u8() : U8 val
fun box u16() : U16 val
fun box u32() : U32 val
fun box u64() : U64 val
fun box u128() : U128 val
fun box ulong() : ULong val
fun box usize() : USize val
fun box f32() : F32 val
fun box f64() : F64 val
fun box i8_unsafe() : I8 val
fun box i16_unsafe() : I16 val
fun box i32_unsafe() : I32 val
fun box i64_unsafe() : I64 val
fun box i128_unsafe() : I128 val
fun box ilong_unsafe() : ILong val
fun box isize_unsafe() : ISize val
fun box u8_unsafe() : U8 val
fun box u16_unsafe() : U16 val
fun box u32_unsafe() : U32 val
fun box u64_unsafe() : U64 val
fun box u128_unsafe() : U128 val
fun box ulong_unsafe() : ULong val
fun box usize_unsafe() : USize val
fun box f32_unsafe() : F32 val
fun box f64_unsafe() : F64 val
fun box compare( that: box->A) : (Less val | Equal val | Greater val)
fun box _value() : A
© 2016-2018, The Pony Developers
© 2014-2015, Causality Ltd.
Licensed under the BSD 2-Clause License.
https://stdlib.ponylang.io/builtin-Integer