Spec-Zone.ru › Haskell 8

GHC.Integer

Авторские права (c) Herbert Valerio Riedel 2014
Лицензия BSD3
Поддержка ghc-devs@haskell.org
Стабильность предварительная
Переносимость непереносимая (расширения GHC)
Безопасный Haskell Нет
Язык Haskell2010

Содержание

  • Создание Integers
  • Преобразование в другие целочисленные типы
  • Вспомогательные функции для операций класса RealFloat
  • Арифметические операции
  • Предикаты сравнения
    • Int#-булевы версии предикатов сравнения
  • Битовые операции
  • Хеширование

Описание

Тип Integer.

Этот модуль предоставляет переносимый Integer API. См. GHC.Integer.GMP.Internals для integer-gmp-специфического внутреннего представления Integer, а также оптимизированных GMP-специфических операций.

data Integer Источник

Целые числа произвольной точности. В отличие от целочисленных типов фиксированной длины, таких как Int, тип Integer представляет весь бесконечный диапазон целых чисел.

Дополнительную информацию о представлении этого типа см. в комментариях к его реализации.

Примеры использования
Подробности о примерах использования
Eq Integer
Подробности примера

Определено в GHC.Integer.Type

Методы

== :: Integer -> Integer -> Bool Источник

/= :: Integer -> Integer -> Bool Источник

Ord Integer
Подробности примера

Определено в GHC.Integer.Type

Методы

compare :: Integer -> Integer -> Ordering Источник

< :: Integer -> Integer -> Bool Источник

<= :: Integer -> Integer -> Bool Источник

> :: Integer -> Integer -> Bool Источник

>= :: Integer -> Integer -> Bool Источник

max :: Integer -> Integer -> Integer Источник

min :: Integer -> Integer -> Integer Источник

Создание целых чисел

mkInteger Источник

Аргументы

:: Bool

знак целого числа (True если неотрицательное)

-> [Int]

абсолютное значение, выраженное в 31-битных блоках, младший значащий бит первым (в идеале это были бы машинные Wordы, а не 31-битные усеченные Intы)

-> 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# Источник

floatFromInteger :: Integer -> 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

Spec-Zone.ru

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