GHC.Natural
| Безопасный Haskell | Безопасный |
|---|---|
| Язык | Haskell2010 |
Содержание
Описание
Модуль совместимости для кода, созданного до ghc-bignum.
Натуральное число
Инвариант: числа <= 0xffffffffffffffff используют конструктор NS
Экземпляры
data BigNat Исходный код
Поднятый BigNat
Представляется массивом разрядов (Word#), хранящихся в порядке от младшего к старшему (сами значения Word# используют машинный порядок).
Инвариант (каноническое представление): старший Word# не равен нулю.
Следовательно, ноль представлен WordArray# размером 0.
Экземпляры
| Eq BigNat Исходный код | |
Определено в GHC.Internal.Bignum.BigNat | |
| Ord BigNat Исходный код | |
Определено в GHC.Internal.Bignum.BigNat Методыcompare :: BigNat -> BigNat -> Ordering Исходный код (<) :: BigNat -> BigNat -> Bool Исходный код (<=) :: BigNat -> BigNat -> Bool Исходный код (>) :: BigNat -> BigNat -> Bool Исходный код (>=) :: BigNat -> BigNat -> Bool Исходный код max :: BigNat -> BigNat -> BigNat Исходный код min :: BigNat -> BigNat -> BigNat Исходный код | |
mkNatural :: [Word] -> Natural Исходный код
Создаёт значение Natural из списка Word.
isValidNatural :: Natural -> Bool Исходный код
Проверяет, удовлетворяет ли значение Natural всем внутренним инвариантам.
Эта операция полезна главным образом для тестовых наборов и/или кода, который напрямую создаёт значения Integer.
Начиная с: base-4.8.0.0
Арифметика
plusNatural :: Natural -> Natural -> Natural Исходный код
Сложение Natural
minusNatural :: Natural -> Natural -> Natural Исходный код
Вычитание Natural. Результат может throw
Underflow.
minusNaturalMaybe :: Natural -> Natural -> Maybe Natural Исходный код
Вычитание Natural. Для неположительных результатов возвращает Nothing.
Начиная с: base-4.8.0.0
timesNatural :: Natural -> Natural -> Natural Исходный код
Умножение Natural
negateNatural :: Natural -> Natural Исходный код
signumNatural :: Natural -> Natural Исходный код
quotRemNatural :: Natural -> Natural -> (Natural, Natural) Исходный код
quotNatural :: Natural -> Natural -> Natural Исходный код
remNatural :: Natural -> Natural -> Natural Исходный код
gcdNatural :: Natural -> Natural -> Natural Исходный код
Вычисляет наибольший общий делитель.
lcmNatural :: Natural -> Natural -> Natural Исходный код
Вычисляет наименьшее общее кратное.
Биты
andNatural :: Natural -> Natural -> Natural Источник
orNatural :: Natural -> Natural -> Natural Источник
xorNatural :: Natural -> Natural -> Natural Источник
bitNatural :: Int# -> Natural Источник
testBitNatural :: Natural -> Int -> Bool Источник
popCountNatural :: Natural -> Int Источник
shiftLNatural :: Natural -> Int -> Natural Источник
shiftRNatural :: Natural -> Int -> Natural Источник
Преобразования
naturalToInteger :: Natural -> Integer Источник
Начиная с: base-4.12.0.0
naturalToWord :: Natural -> Word Источник
naturalToWordMaybe :: Natural -> Maybe Word Источник
Попытаться преобразовать Natural в значение типа Word. Возвращает Nothing, если значение не помещается в Word.
Начиная с: base-4.8.0.0
wordToNatural :: Word -> Natural Источник
Создать Natural из значения типа Word.
Начиная с: base-4.8.0.0
wordToNatural# :: Word -> Natural Источник
naturalFromInteger :: Integer -> Natural Источник
Начиная с: base-4.10.0.0
Модульная арифметика
powModNatural :: Natural -> Natural -> Natural -> Natural Источник
"powModNatural b e m" вычисляет основание b в степени e по модулю m.
Начиная с: base-4.8.0.0
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.14.1/docs/libraries/base-4.22.0.0-66f8/GHC-Natural.html