GHC.Natural
| Copyright | (C) 2014 Herbert Valerio Riedel, (C) 2011 Edward Kmett |
|---|---|
| License | see libraries/base/LICENSE |
| Maintainer | libraries@haskell.org |
| Stability | internal |
| Portability | непереносимый (расширения GHC) |
| Safe Haskell | Unsafe |
| Language | Haskell2010 |
Описание
Тип чисел Natural произвольной точности.
Примечание: Это внутренний модуль GHC с API, который может быть изменён. Рекомендуется использовать модуль Numeric.Natural, чтобы импортировать тип Natural.
С тех пор как: 4.8.0.0
Тип чисел Natural
Предупреждение: Внутренняя реализация Natural (т. е. доступные конструкторы) зависит от используемого Integer бэкенда!
Тип, представляющий целые неотрицательные числа произвольной точности.
Операции, результат которых был бы отрицательным throw (Underflow :: ArithException).
С тех пор как: 4.8.0.0
Конструкторы
| NatS# GmpLimb# | в |
| NatJ# !BigNat |
в Инвариант: |
Примеры использования
isValidNatural :: Natural -> Bool Источник
Проверка соответствия всем внутренним инвариантам значения Natural.
Эта операция в основном полезна для наборов тестов и/или кода, который непосредственно создаёт значения Integer.
С тех пор как: 4.8.0.0
Преобразования
wordToNatural :: Word -> Natural Источник
Построение Natural из значения Word.
С тех пор как: 4.8.0.0
naturalToWordMaybe :: Natural -> Maybe Word Источник
Попытка приведения типа Natural к значению Word. Возвращает Nothing, если значение не помещается в Word.
С тех пор как: 4.8.0.0
Проверенное вычитание
minusNaturalMaybe :: Natural -> Natural -> Maybe Natural Источник
Вычитание Natural. Возвращает значения Nothing, если результат не положителен.
С тех пор как: 4.8.0.0
Модулярная арифметика
powModNatural :: Natural -> Natural -> Natural -> Natural Источник
«powModNatural b e m» вычисляет основание b в степени показателя e по модулю m.
С тех пор как: 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/7.10.3/docs/html/libraries/base-4.8.2.0/GHC-Natural.html