Spec-Zone.ru › OCaml

Модуль Int

module Int: sig .. end

Целочисленные значения.

Целые числа имеют ширину Sys.int_size бит и используют представление в дополнительном коде. Все операции выполняются по модулю 2Sys.int_size. Они не завершаются ошибкой при переполнении.

  • Since 4.08

Целые числа

type t = int 

Тип для целочисленных значений.

val zero : int

zero — это целое число 0.

val one : int

one — это целое число 1.

val minus_one : int

minus_one — это целое число -1.

val neg : int -> int

neg x — это ~-x.

val add : int -> int -> int

add x y — это сложение x + y.

val sub : int -> int -> int

sub x y — это вычитание x - y.

val mul : int -> int -> int

mul x y — это умножение x * y.

val div : int -> int -> int

div x y — это деление x / y. Подробности см. в (/).

val rem : int -> int -> int

rem x y — это остаток от деления x mod y. Подробности см. в (mod).

val succ : int -> int

succ x — это add x 1.

val pred : int -> int

pred x — это sub x 1.

val abs : int -> int

abs x — это абсолютное значение x . То есть x , если x положительно и neg x , если x отрицательно. Предупреждение. Это может быть отрицательным, если аргумент равен Int.min_int.

val max_int : int

max_int — это наибольшее представимое целое число, 2Sys.int_size - 1-1.

val min_int : int

min_int — это наименьшее представимое целое число, -2Sys.int_size - 1.

val logand : int -> int -> int

logand x y — это поразрядное логическое И x и y.

val logor : int -> int -> int

logor x y — это поразрядное логическое ИЛИ x и y.

val logxor : int -> int -> int

logxor x y — это поразрядное логическое исключающее ИЛИ x и y.

val lognot : int -> int

lognot x — это поразрядное логическое отрицание x.

val shift_left : int -> int -> int

shift_left x n сдвигает x влево на n бит. Результат неопределен, если n < 0 или n > Sys.int_size.

val shift_right : int -> int -> int

shift_right x n сдвигает x вправо на n бит. Это арифметический сдвиг: бит знака x дублируется и вставляется в освободившиеся биты. Результат неопределен, если n < 0 или n > Sys.int_size.

val shift_right_logical : int -> int -> int

shift_right x n сдвигает x вправо на n бит. Это логический сдвиг: нули вставляются в освободившиеся биты независимо от знака x. Результат неопределен, если n < 0 или n > Sys.int_size.

Предикаты и сравнения

val equal : int -> int -> bool

equal x y равно true тогда и только тогда, когда x = y.

val compare : int -> int -> int

compare x y — это compare x y, но более эффективно.

val min : int -> int -> int

Возвращает меньшее из двух аргументов.

  • Since 4.13
val max : int -> int -> int

Возвращает большее из двух аргументов.

  • Since 4.13

Преобразование

val to_float : int -> float

to_float x — это x как число с плавающей точкой.

val of_float : float -> int

of_float x усекает x до целого числа. Результат неопределен, если аргумент равен nan или выходит за пределы диапазона представимых целых чисел.

val to_string : int -> string

to_string x — это десятичное представление x.

val seeded_hash : int -> int -> int

Засеянная функция хэширования для целых чисел, с тем же значением выходных данных, что и Hashtbl.seeded_hash. Эта функция позволяет передать этот модуль в качестве аргумента функции Hashtbl.MakeSeeded.

  • Since 5.1
val hash : int -> int

Функция хэширования без засеивания для целых чисел, с тем же значением выходных данных, что и Hashtbl.hash. Эта функция позволяет передать этот модуль в качестве аргумента функции Hashtbl.Make.

  • Since 5.1

© 1995-2024 INRIA.
https://ocaml.org/manual/5.2/api/Int.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API