Целое[A: Целое[A] значение]
trait val Integer[A: Integer[A] val] is Real[A] val
Реализует
- Действительное[A] значение
Конструкторы
создать
new val create( value: A) : Real[A] val^
Параметры
- значение: A
Возвращает
- Действительное[A] значение^
из[B: ((I8 значение | I16 значение | I32 значение | I64 значение | I128 значение | Длинное целое значение | Размер целого значение | U8 значение | U16 значение | U32 значение | U64 значение | U128 значение | Длинное беззнаковое значение | Размер беззнакового значение | F32 значение | F64 значение) & Действительное[B] значение)]
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^
Параметры
- a: B
Возвращает
- Действительное[A] значение^
минимальное_значение
new val min_value() : Real[A] val^
Возвращает
- Действительное[A] значение^
максимальное_значение
new val max_value() : Real[A] val^
Возвращает
- Действительное[A] значение^
Публичные функции
add_unsafe
Небезопасная операция. Если происходит переполнение, результат неопределён.
fun box add_unsafe( y: A) : A
Параметры
- y: A
Возвращает
- A
sub_unsafe
Небезопасная операция. Если происходит переполнение, результат неопределён.
fun box sub_unsafe( y: A) : A
Параметры
- y: A
Возвращает
- A
mul_unsafe
Небезопасная операция. Если происходит переполнение, результат неопределён.
fun box mul_unsafe( y: A) : A
Параметры
- y: A
Возвращает
- A
div_unsafe
Целочисленное деление, округление к нулю.
Небезопасная операция. Если y равно 0, результат неопределён. Если происходит переполнение, результат неопределён.
fun box div_unsafe( y: A) : A
Параметры
- y: A
Возвращает
- A
divrem_unsafe
Вычисляет частное этого числа и y и остаток.
Небезопасная операция. Если y равно 0, результат неопределён. Если происходит переполнение, результат неопределён.
fun box divrem_unsafe( y: A) : (A , A)
Параметры
- y: A
Возвращает
- (A , A)
rem_unsafe
Вычисляет остаток от деления этого числа на y.
Небезопасная операция. Если y равно 0, результат неопределён. Если происходит переполнение, результат неопределён.
fun box rem_unsafe( y: A) : A
Параметры
- y: A
Возвращает
- A
fld_unsafe
Деление с отбрасыванием, округление к отрицательной бесконечности, в отличие от div , которое округляет к нулю.
Небезопасная операция
Если y равно 0, результат неопределён. Если происходит переполнение, результат неопределён.
fun box fld_unsafe( y: A) : A
Параметры
- y: A
Возвращает
- A
mod_unsafe
Вычисляет остаток от деления этого числа и y после деления с отбрасыванием (fld). Результат имеет знак делителя.
Небезопасная операция.
Если y равно 0, результат неопределён. Если происходит переполнение, результат неопределён.
fun box mod_unsafe( y: A) : A
Параметры
- y: A
Возвращает
- A
add_partial
Добавляет y к этому числу.
Если происходит переполнение, функция возвращает ошибку.
fun box add_partial( y: A) : A ?
Параметры
- y: A
Возвращает
- A ?
sub_partial
Вычитает y из этого числа.
Если происходит переполнение/потерь, функция возвращает ошибку.
fun box sub_partial( y: A) : A ?
Параметры
- y: A
Возвращает
- A ?
mul_partial
Умножает y на это число.
Если происходит переполнение, функция возвращает ошибку.
fun box mul_partial( y: A) : A ?
Параметры
- y: A
Возвращает
- A ?
div_partial
Делит это число на y, округляет результат к нулю.
Если y равно 0 или происходит переполнение, функция возвращает ошибку.
fun box div_partial( y: A) : A ?
Параметры
- y: A
Возвращает
- A ?
rem_partial
Вычисляет остаток от деления этого числа на y. Результат имеет знак делимого.
Если y равно 0 или происходит переполнение, функция возвращает ошибку.
fun box rem_partial( y: A) : A ?
Параметры
- y: A
Возвращает
- A ?
divrem_partial
Делит это число на y и вычисляет остаток от операции.
Если y равно 0 или происходит переполнение, функция возвращает ошибку.
fun box divrem_partial( y: A) : (A , A) ?
Параметры
- y: A
Возвращает
- (A , A) ?
fld_partial
Целочисленное деление с отбрасыванием, округление к отрицательной бесконечности.
Если y равно 0 или происходит переполнение, функция возвращает ошибку
fun box fld_partial( y: A) : A ?
Параметры
- y: A
Возвращает
- A ?
mod_partial
Вычисляет остаток от деления этого числа и y после деления с отбрасыванием (fld). Результат имеет знак делителя.
Если y равно 0 или происходит переполнение, функция возвращает ошибку.
fun box mod_partial( y: A) : A ?
Параметры
- y: A
Возвращает
- A ?
neg_unsafe
Небезопасная операция. Если происходит переполнение, результат неопределён.
fun box neg_unsafe() : A
Возвращает
- A
addc
Добавляет y к этому целому числу и возвращает результат и флаг, указывающий на переполнение.
fun box addc( y: A) : (A , Bool val)
Параметры
- y: A
Возвращает
- (A , Булево значение)
subc
Вычитает y из этого целого числа и возвращает результат и флаг, указывающий на переполнение.
fun box subc( y: A) : (A , Bool val)
Параметры
- y: A
Возвращает
- (A , Булево значение)
mulc
Умножает y на это целое число и возвращает результат и флаг, указывающий на переполнение.
fun box mulc( y: A) : (A , Bool val)
Параметры
- y: A
Возвращает
- (A , Булево значение)
divc
Делит это целое число на y и возвращает результат и флаг, указывающий на переполнение или деление на ноль.
fun box divc( y: A) : (A , Bool val)
Параметры
- y: A
Возвращает
- (A , Булево значение)
remc
Вычисляет остаток от деления этого числа на y и возвращает результат и флаг, указывающий на деление на ноль или переполнение.
Результат будет иметь знак делимого.
fun box remc( y: A) : (A , Bool val)
Параметры
- y: A
Возвращает
- (A , Булево val)
fldc
Разделить это целое число на y и вернуть результат, округлённый до ближайшего меньшего целого, и флаг, указывающий на переполнение или деление на ноль.
fun box fldc( y: A) : (A , Bool val)
Параметры
- y: A
Возвращает
- (A , Булево val)
modc
Вычислить модуль этого числа после целочисленного деления на y и вернуть результат и флаг, указывающий на деление на ноль или переполнение.
Результат будет иметь знак делителя.
fun box modc( y: A) : (A , Bool val)
Параметры
- y: A
Возвращает
- (A , Булево val)
op_and
fun box op_and( y: A) : A
Параметры
- y: A
Возвращает
- A
op_or
fun box op_or( y: A) : A
Параметры
- y: A
Возвращает
- A
op_xor
fun box op_xor( y: A) : A
Параметры
- y: A
Возвращает
- A
op_not
fun box op_not() : A
Возвращает
- A
bit_reverse
Инвертирует порядок битов в целом числе. Например, 0b11101101 (237) вернёт 0b10110111 (183).
fun box bit_reverse() : A
Возвращает
- A
bswap
fun box bswap() : A
Возвращает
- A
add
fun box add( y: A) : A
Параметры
- y: A
Возвращает
- A
sub
fun box sub( y: A) : A
Параметры
- y: A
Возвращает
- A
mul
fun box mul( y: A) : A
Параметры
- y: A
Возвращает
- A
div
fun box div( y: A) : A
Параметры
- y: A
Возвращает
- A
divrem
fun box divrem( y: A) : (A , A)
Параметры
- y: A
Возвращает
- (A , A)
rem
fun box rem( y: A) : A
Параметры
- y: A
Возвращает
- A
neg
fun box neg() : A
Возвращает
- A
fld
fun box fld( y: A) : A
Параметры
- y: A
Возвращает
- A
mod
fun box mod( y: A) : A
Параметры
- y: A
Возвращает
- A
eq
fun box eq( y: box->A) : Bool val
Параметры
- y: box->A
Возвращает
- Булево val
ne
fun box ne( y: box->A) : Bool val
Параметры
- y: box->A
Возвращает
- Булево val
lt
fun box lt( y: box->A) : Bool val
Параметры
- y: box->A
Возвращает
- Булево val
le
fun box le( y: box->A) : Bool val
Параметры
- y: box->A
Возвращает
- Булево val
ge
fun box ge( y: box->A) : Bool val
Параметры
- y: box->A
Возвращает
- Булево val
gt
fun box gt( y: box->A) : Bool val
Параметры
- y: box->A
Возвращает
- Булево val
min
fun box min( y: A) : A
Параметры
- y: A
Возвращает
- A
max
fun box max( y: A) : A
Параметры
- y: A
Возвращает
- A
hash
fun box hash() : USize val
Возвращает
- Размер val
hash64
fun box hash64() : U64 val
Возвращает
- U64 val
string
fun box string() : String iso^
Возвращает
- Строка iso^
i8
fun box i8() : I8 val
Возвращает
- I8 val
i16
fun box i16() : I16 val
Возвращает
- I16 val
i32
fun box i32() : I32 val
Возвращает
- I32 val
i64
fun box i64() : I64 val
Возвращает
- I64 val
i128
fun box i128() : I128 val
Возвращает
- I128 val
ilong
fun box ilong() : ILong val
Возвращает
- ILong val
isize
fun box isize() : ISize val
Возвращает
- ISize val
u8
fun box u8() : U8 val
Возвращает
- U8 val
u16
fun box u16() : U16 val
Возвращает
- U16 val
u32
fun box u32() : U32 val
Возвращает
- U32 val
u64
fun box u64() : U64 val
Возвращает
- U64 val
u128
fun box u128() : U128 val
Возвращает
- U128 val
ulong
fun box ulong() : ULong val
Возвращает
- ULong val
usize
fun box usize() : USize val
Возвращает
- Размер val
f32
fun box f32() : F32 val
Возвращает
- F32 значение
f64
fun box f64() : F64 val
Возвращаемое значение
- F64 значение
i8_unsafe
fun box i8_unsafe() : I8 val
Возвращаемое значение
- I8 значение
i16_unsafe
fun box i16_unsafe() : I16 val
Возвращаемое значение
- I16 значение
i32_unsafe
fun box i32_unsafe() : I32 val
Возвращаемое значение
- I32 значение
i64_unsafe
fun box i64_unsafe() : I64 val
Возвращаемое значение
- I64 значение
i128_unsafe
fun box i128_unsafe() : I128 val
Возвращаемое значение
- I128 значение
ilong_unsafe
fun box ilong_unsafe() : ILong val
Возвращаемое значение
- ILong значение
isize_unsafe
fun box isize_unsafe() : ISize val
Возвращаемое значение
- ISize значение
u8_unsafe
fun box u8_unsafe() : U8 val
Возвращаемое значение
- U8 значение
u16_unsafe
fun box u16_unsafe() : U16 val
Возвращаемое значение
- U16 значение
u32_unsafe
fun box u32_unsafe() : U32 val
Возвращаемое значение
- U32 значение
u64_unsafe
fun box u64_unsafe() : U64 val
Возвращаемое значение
- U64 значение
u128_unsafe
fun box u128_unsafe() : U128 val
Возвращаемое значение
- U128 значение
ulong_unsafe
fun box ulong_unsafe() : ULong val
Возвращаемое значение
- ULong значение
usize_unsafe
fun box usize_unsafe() : USize val
Возвращаемое значение
- USize значение
f32_unsafe
fun box f32_unsafe() : F32 val
Возвращаемое значение
- F32 значение
f64_unsafe
fun box f64_unsafe() : F64 val
Возвращаемое значение
- F64 значение
compare
fun box compare( that: box->A) : (Less val | Equal val | Greater val)
Параметры
- that: box->A
Возвращаемое значение
© 2016-2020, The Pony Developers
© 2014-2015, Causality Ltd.
Licensed under the BSD 2-Clause License.
https://stdlib.ponylang.io/builtin-Integer