GHC.Integer
| Авторские права | (c) Herbert Valerio Riedel 2014 |
|---|---|
| Лицензия | BSD3 |
| Поддержка | ghc-devs@haskell.org |
| Стабильность | предварительная |
| Переносимость | непереносимая (расширения GHC) |
| Безопасный Haskell | Нет |
| Язык | Haskell2010 |
Описание
Тип Integer.
Этот модуль предоставляет переносимый Integer API. См. GHC.Integer.GMP.Internals для integer-gmp-специфического внутреннего представления Integer, а также оптимизированных GMP-специфических операций.
Целые числа произвольной точности. В отличие от целочисленных типов фиксированной длины, таких как Int, тип Integer представляет весь бесконечный диапазон целых чисел.
Дополнительную информацию о представлении этого типа см. в комментариях к его реализации.
Примеры использования
| Eq Integer | |
| Ord Integer | |
Создание целых чисел
Аргументы
| :: Bool | знак целого числа ( |
| -> [Int] | абсолютное значение, выраженное в 31-битных блоках, младший значащий бит первым (в идеале это были бы машинные |
| -> Integer |
Создание значения Integer из списка Int.
Эта функция используется GHC для построения Integer литералов.
smallInteger :: Int# -> Integer Источник
Следует скорее называть intToInteger
wordToInteger :: Word# -> Integer Источник
Преобразование в другие целочисленные типы
integerToWord :: Integer -> Word# Источник
integerToInt :: Integer -> Int# Источник
Усекает Integer до младшего значащего Int#
Вспомогательные функции для операций класса RealFloat
encodeFloatInteger :: Integer -> Int# -> Float# Источник
encodeDoubleInteger :: Целое число -> Int# -> Double# Источник
decodeDoubleInteger :: Double# -> (# Целое число, Int# #) Источник
doubleFromInteger :: Целое число -> Double# Источник
Арифметические операции
plusInteger :: Целое число -> Целое число -> Целое число Источник
Сложить два Integer
minusInteger :: Целое число -> Целое число -> Целое число Источник
Вычесть одно Integer из другого.
timesInteger :: Целое число -> Целое число -> Целое число Источник
Перемножить два Integer
negateInteger :: Целое число -> Целое число Источник
Изменить знак Integer
absInteger :: Целое число -> Целое число Источник
Вычислить абсолютное значение Integer
signumInteger :: Целое число -> Целое число Источник
Возвращает -1, 0, и 1 соответственно в зависимости от того, является ли аргумент отрицательным, нулевым или положительным.
divModInteger :: Целое число -> Целое число -> (# Целое число, Целое число #) Источник
Одновременное вычисление divInteger и modInteger.
Делитель должен быть ненулевым, иначе среда выполнения GHC завершится с ошибкой деления на ноль.
divInteger :: Целое число -> Целое число -> Целое число Источник
modInteger :: Целое число -> Целое число -> Целое число Источник
quotRemInteger :: Целое число -> Целое число -> (# Целое число, Целое число #) Источник
Одновременное вычисление quotInteger и remInteger.
Делитель должен быть ненулевым, иначе среда выполнения GHC завершится с ошибкой деления на ноль.
quotInteger :: Целое число -> Целое число -> Целое число Источник
remInteger :: Целое число -> Целое число -> Целое число Источник
Предикаты сравнения
eqInteger :: Целое число -> Целое число -> Булево Источник
neqInteger :: Целое число -> Целое число -> Булево Источник
Предикат неравенства.
leInteger :: Целое число -> Целое число -> Булево Источник
gtInteger :: Целое число -> Целое число -> Булево Источник
ltInteger :: Целое число -> Целое число -> Булево Источник
geInteger :: Целое число -> Целое число -> Булево Источник
compareInteger :: Целое число -> Целое число -> Порядок Источник
Int#-логические версии предикатов сравнения
Эти операции возвращают 0# и 1# вместо False и True соответственно. Дополнительные сведения см. на странице вики PrimBool
eqInteger# :: Integer -> Integer -> Int# Source
neqInteger# :: Integer -> Integer -> Int# Source
leInteger# :: Integer -> Integer -> Int# Source
gtInteger# :: Integer -> Integer -> Int# Source
ltInteger# :: Integer -> Integer -> Int# Source
geInteger# :: Integer -> Integer -> Int# Source
Операции над битами
andInteger :: Integer -> Integer -> Integer Source
Побитовое И операция
orInteger :: Integer -> Integer -> Integer Source
Побитовое ИЛИ операция
xorInteger :: Integer -> Integer -> Integer Source
Побитовое ИСКЛЮЧАЮЩЕЕ ИЛИ операция
complementInteger :: Integer -> Integer Source
Побитовое NOT операция
shiftLInteger :: Integer -> Int# -> Integer Source
Операция сдвига влево
Хотя величина сдвига выражается как Int#, результат неопределён для отрицательных величин сдвига.
shiftRInteger :: Integer -> Int# -> Integer Source
Операция арифметического сдвига вправо
Хотя величина сдвига выражается как Int#, результат неопределён для отрицательных величин сдвига.
testBitInteger :: Integer -> Int# -> Bool Source
Проверка, установлена ли n-я бита.
popCountInteger :: Integer -> Int# Source
Подсчёт количества установленных битов. Для отрицательных аргументов возвращает отрицательное значение подсчёта установленных битов отрицательного аргумента.
bitInteger :: Int# -> Integer Source
Возвращает целое число, для которого установлена только n-я бита. Поведение для отрицательных значений n неопределённо.
Хеширование
hashInteger :: Integer -> Int# Source
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/integer-gmp-1.0.3.0/GHC-Integer.html