Spec-Zone.ru › Haskell 9

Data.Array.Unboxed

Авторские права (c) The University of Glasgow 2001
Лицензия в стиле BSD (см. файл libraries/base/LICENSE)
Сопровождающий libraries@haskell.org
Стабильность экспериментальная
Переносимость непереносимый (использует Data.Array.IArray)
Безопасность Haskell Доверенный
Язык Haskell2010

Содержание

  • Массивы с элементами без упаковки
  • Перегруженный интерфейс неизменяемых массивов

Описание

Неизменяемые массивы без упаковки.

Массивы с элементами без упаковки

data UArray i e Источник

Массивы с элементами без упаковки. Экземпляры IArray предоставляются для UArray с определёнными типами элементов (Int, Float, Char и т. д.; полный список см. в классе UArray).

UArray обычно будет эффективнее (с точки зрения времени и памяти), чем эквивалентный Array с тем же типом элементов. Однако UArray является строгим по своим элементам — поэтому не используйте UArray, если вам требуется ленивость, обеспечиваемая Array.

Поскольку интерфейс IArray предоставляет операции, перегруженные по типу массива, должно быть возможно просто изменить тип массива, используемый программой, например, с Array на UArray, чтобы получить преимущества массивов без упаковки (не забудьте импортировать Data.Array.Unboxed вместо Data.Array).

Экземпляры
Подробности экземпляров
IArray UArray Int16 Источник
Подробности экземпляра

Определён в Data.Array.Base

Методы

bounds :: Ix i => UArray i Int16 -> (i, i) Источник

numElements :: Ix i => UArray i Int16 -> Int Источник

unsafeArray :: Ix i => (i, i) -> [(Int, Int16)] -> UArray i Int16 Источник

unsafeAt :: Ix i => UArray i Int16 -> Int -> Int16 Источник

unsafeReplace :: Ix i => UArray i Int16 -> [(Int, Int16)] -> UArray i Int16 Источник

unsafeAccum :: Ix i => (Int16 -> e' -> Int16) -> UArray i Int16 -> [(Int, e')] -> UArray i Int16 Источник

unsafeAccumArray :: Ix i => (Int16 -> e' -> Int16) -> Int16 -> (i, i) -> [(Int, e')] -> UArray i Int16 Источник

IArray UArray Int32 Источник
Подробности экземпляра

Определён в Data.Array.Base

Методы

bounds :: Ix i => UArray i Int32 -> (i, i) Источник

numElements :: Ix i => UArray i Int32 -> Int Источник

unsafeArray :: Ix i => (i, i) -> [(Int, Int32)] -> UArray i Int32 Источник

unsafeAt :: Ix i => UArray i Int32 -> Int -> Int32 Источник

unsafeReplace :: Ix i => UArray i Int32 -> [(Int, Int32)] -> UArray i Int32 Источник

unsafeAccum :: Ix i => (Int32 -> e' -> Int32) -> UArray i Int32 -> [(Int, e')] -> UArray i Int32 Источник

unsafeAccumArray :: Ix i => (Int32 -> e' -> Int32) -> Int32 -> (i, i) -> [(Int, e')] -> UArray i Int32 Источник

IArray UArray Int64 Источник
Подробности экземпляра

Определён в Data.Array.Base

Методы

bounds :: Ix i => UArray i Int64 -> (i, i) Источник

numElements :: Ix i => UArray i Int64 -> Int Источник

unsafeArray :: Ix i => (i, i) -> [(Int, Int64)] -> UArray i Int64 Источник

unsafeAt :: Ix i => UArray i Int64 -> Int -> Int64 Источник

unsafeReplace :: Ix i => UArray i Int64 -> [(Int, Int64)] -> UArray i Int64 Источник

unsafeAccum :: Ix i => (Int64 -> e' -> Int64) -> UArray i Int64 -> [(Int, e')] -> UArray i Int64 Источник

unsafeAccumArray :: Ix i => (Int64 -> e' -> Int64) -> Int64 -> (i, i) -> [(Int, e')] -> UArray i Int64 Источник

IArray UArray Int8 Источник
Подробности экземпляра

Определён в Data.Array.Base

Методы

bounds :: Ix i => UArray i Int8 -> (i, i) Источник

numElements :: Ix i => UArray i Int8 -> Int Источник

unsafeArray :: Ix i => (i, i) -> [(Int, Int8)] -> UArray i Int8 Источник

unsafeAt :: Ix i => UArray i Int8 -> Int -> Int8 Источник

unsafeReplace :: Ix i => UArray i Int8 -> [(Int, Int8)] -> UArray i Int8 Источник

unsafeAccum :: Ix i => (Int8 -> e' -> Int8) -> UArray i Int8 -> [(Int, e')] -> UArray i Int8 Источник

unsafeAccumArray :: Ix i => (Int8 -> e' -> Int8) -> Int8 -> (i, i) -> [(Int, e')] -> UArray i Int8 Источник

IArray UArray Word16 Источник
Подробности экземпляра

Определён в Data.Array.Base

Методы

bounds :: Ix i => UArray i Word16 -> (i, i) Источник

numElements :: Ix i => UArray i Word16 -> Int Источник

unsafeArray :: Ix i => (i, i) -> [(Int, Word16)] -> UArray i Word16 Источник

unsafeAt :: Ix i => UArray i Word16 -> Int -> Word16 Источник

unsafeReplace :: Ix i => UArray i Word16 -> [(Int, Word16)] -> UArray i Word16 Источник

unsafeAccum :: Ix i => (Word16 -> e' -> Word16) -> UArray i Word16 -> [(Int, e')] -> UArray i Word16 Источник

unsafeAccumArray :: Ix i => (Word16 -> e' -> Word16) -> Word16 -> (i, i) -> [(Int, e')] -> UArray i Word16 Источник

IArray UArray Word32 Источник
Сведения об экземпляре

Определено в Data.Array.Base

Методы

bounds :: Ix i => UArray i Word32 -> (i, i) Источник

numElements :: Ix i => UArray i Word32 -> Int Источник

unsafeArray :: Ix i => (i, i) -> [(Int, Word32)] -> UArray i Word32 Источник

unsafeAt :: Ix i => UArray i Word32 -> Int -> Word32 Источник

unsafeReplace :: Ix i => UArray i Word32 -> [(Int, Word32)] -> UArray i Word32 Источник

unsafeAccum :: Ix i => (Word32 -> e' -> Word32) -> UArray i Word32 -> [(Int, e')] -> UArray i Word32 Источник

unsafeAccumArray :: Ix i => (Word32 -> e' -> Word32) -> Word32 -> (i, i) -> [(Int, e')] -> UArray i Word32 Источник

IArray UArray Word64 Источник
Сведения об экземпляре

Определено в Data.Array.Base

Методы

bounds :: Ix i => UArray i Word64 -> (i, i) Источник

numElements :: Ix i => UArray i Word64 -> Int Источник

unsafeArray :: Ix i => (i, i) -> [(Int, Word64)] -> UArray i Word64 Источник

unsafeAt :: Ix i => UArray i Word64 -> Int -> Word64 Источник

unsafeReplace :: Ix i => UArray i Word64 -> [(Int, Word64)] -> UArray i Word64 Источник

unsafeAccum :: Ix i => (Word64 -> e' -> Word64) -> UArray i Word64 -> [(Int, e')] -> UArray i Word64 Источник

unsafeAccumArray :: Ix i => (Word64 -> e' -> Word64) -> Word64 -> (i, i) -> [(Int, e')] -> UArray i Word64 Источник

IArray UArray Word8 Источник
Сведения об экземпляре

Определено в Data.Array.Base

Методы

bounds :: Ix i => UArray i Word8 -> (i, i) Источник

numElements :: Ix i => UArray i Word8 -> Int Источник

unsafeArray :: Ix i => (i, i) -> [(Int, Word8)] -> UArray i Word8 Источник

unsafeAt :: Ix i => UArray i Word8 -> Int -> Word8 Источник

unsafeReplace :: Ix i => UArray i Word8 -> [(Int, Word8)] -> UArray i Word8 Источник

unsafeAccum :: Ix i => (Word8 -> e' -> Word8) -> UArray i Word8 -> [(Int, e')] -> UArray i Word8 Источник

unsafeAccumArray :: Ix i => (Word8 -> e' -> Word8) -> Word8 -> (i, i) -> [(Int, e')] -> UArray i Word8 Источник

IArray UArray Bool Источник
Сведения об экземпляре

Определено в Data.Array.Base

Методы

bounds :: Ix i => UArray i Bool -> (i, i) Источник

numElements :: Ix i => UArray i Bool -> Int Источник

unsafeArray :: Ix i => (i, i) -> [(Int, Bool)] -> UArray i Bool Источник

unsafeAt :: Ix i => UArray i Bool -> Int -> Bool Источник

unsafeReplace :: Ix i => UArray i Bool -> [(Int, Bool)] -> UArray i Bool Источник

unsafeAccum :: Ix i => (Bool -> e' -> Bool) -> UArray i Bool -> [(Int, e')] -> UArray i Bool Источник

unsafeAccumArray :: Ix i => (Bool -> e' -> Bool) -> Bool -> (i, i) -> [(Int, e')] -> UArray i Bool Источник

IArray UArray Char Источник
Сведения об экземпляре

Определено в Data.Array.Base

Методы

bounds :: Ix i => UArray i Char -> (i, i) Источник

numElements :: Ix i => UArray i Char -> Int Источник

unsafeArray :: Ix i => (i, i) -> [(Int, Char)] -> UArray i Char Источник

unsafeAt :: Ix i => UArray i Char -> Int -> Char Источник

unsafeReplace :: Ix i => UArray i Char -> [(Int, Char)] -> UArray i Char Источник

unsafeAccum :: Ix i => (Char -> e' -> Char) -> UArray i Char -> [(Int, e')] -> UArray i Char Источник

unsafeAccumArray :: Ix i => (Char -> e' -> Char) -> Char -> (i, i) -> [(Int, e')] -> UArray i Char Источник

IArray UArray Double Источник
Сведения об экземпляре

Определено в Data.Array.Base

Методы

bounds :: Ix i => UArray i Double -> (i, i) Источник

numElements :: Ix i => UArray i Double -> Int Источник

unsafeArray :: Ix i => (i, i) -> [(Int, Double)] -> UArray i Double Источник

unsafeAt :: Ix i => UArray i Double -> Int -> Double Источник

unsafeReplace :: Ix i => UArray i Double -> [(Int, Double)] -> UArray i Double Источник

unsafeAccum :: Ix i => (Double -> e' -> Double) -> UArray i Double -> [(Int, e')] -> UArray i Double Источник

unsafeAccumArray :: Ix i => (Double -> e' -> Double) -> Double -> (i, i) -> [(Int, e')] -> UArray i Double Источник

IArray UArray Float Источник
Сведения об экземпляре

Определено в Data.Array.Base

Методы

bounds :: Ix i => UArray i Float -> (i, i) Источник

numElements :: Ix i => UArray i Float -> Int Источник

unsafeArray :: Ix i => (i, i) -> [(Int, Float)] -> UArray i Float Источник

unsafeAt :: Ix i => UArray i Float -> Int -> Float Источник

unsafeReplace :: Ix i => UArray i Float -> [(Int, Float)] -> UArray i Float Источник

unsafeAccum :: Ix i => (Float -> e' -> Float) -> UArray i Float -> [(Int, e')] -> UArray i Float Источник

unsafeAccumArray :: Ix i => (Float -> e' -> Float) -> Float -> (i, i) -> [(Int, e')] -> UArray i Float Источник

IArray UArray Int Источник
Сведения об экземпляре

Определено в Data.Array.Base

Методы

bounds :: Ix i => UArray i Int -> (i, i) Источник

numElements :: Ix i => UArray i Int -> Int Источник

unsafeArray :: Ix i => (i, i) -> [(Int, Int)] -> UArray i Int Источник

unsafeAt :: Ix i => UArray i Int -> Int -> Int Источник

unsafeReplace :: Ix i => UArray i Int -> [(Int, Int)] -> UArray i Int Источник

unsafeAccum :: Ix i => (Int -> e' -> Int) -> UArray i Int -> [(Int, e')] -> UArray i Int Источник

unsafeAccumArray :: Ix i => (Int -> e' -> Int) -> Int -> (i, i) -> [(Int, e')] -> UArray i Int Источник

IArray UArray Word Источник
Сведения об экземпляре

Определено в Data.Array.Base

Методы

bounds :: Ix i => UArray i Word -> (i, i) Источник

numElements :: Ix i => UArray i Word -> Int Источник

unsafeArray :: Ix i => (i, i) -> [(Int, Word)] -> UArray i Word Источник

unsafeAt :: Ix i => UArray i Word -> Int -> Word Источник

unsafeReplace :: Ix i => UArray i Word -> [(Int, Word)] -> UArray i Word Источник

unsafeAccum :: Ix i => (Word -> e' -> Word) -> UArray i Word -> [(Int, e')] -> UArray i Word Источник

unsafeAccumArray :: Ix i => (Word -> e' -> Word) -> Word -> (i, i) -> [(Int, e')] -> UArray i Word Источник

IArray UArray (FunPtr a) Источник
Сведения об экземпляре

Определено в Data.Array.Base

Методы

bounds :: Ix i => UArray i (FunPtr a) -> (i, i) Источник

numElements :: Ix i => UArray i (FunPtr a) -> Int Источник

unsafeArray :: Ix i => (i, i) -> [(Int, FunPtr a)] -> UArray i (FunPtr a) Источник

unsafeAt :: Ix i => UArray i (FunPtr a) -> Int -> FunPtr a Источник

unsafeReplace :: Ix i => UArray i (FunPtr a) -> [(Int, FunPtr a)] -> UArray i (FunPtr a) Источник

unsafeAccum :: Ix i => (FunPtr a -> e' -> FunPtr a) -> UArray i (FunPtr a) -> [(Int, e')] -> UArray i (FunPtr a) Источник

unsafeAccumArray :: Ix i => (FunPtr a -> e' -> FunPtr a) -> FunPtr a -> (i, i) -> [(Int, e')] -> UArray i (FunPtr a) Источник

IArray UArray (Ptr a) Источник
Сведения об экземпляре

Определено в Data.Array.Base

Методы

bounds :: Ix i => UArray i (Ptr a) -> (i, i) Источник

numElements :: Ix i => UArray i (Ptr a) -> Int Источник

unsafeArray :: Ix i => (i, i) -> [(Int, Ptr a)] -> UArray i (Ptr a) Источник

unsafeAt :: Ix i => UArray i (Ptr a) -> Int -> Ptr a Источник

unsafeReplace :: Ix i => UArray i (Ptr a) -> [(Int, Ptr a)] -> UArray i (Ptr a) Источник

unsafeAccum :: Ix i => (Ptr a -> e' -> Ptr a) -> UArray i (Ptr a) -> [(Int, e')] -> UArray i (Ptr a) Источник

unsafeAccumArray :: Ix i => (Ptr a -> e' -> Ptr a) -> Ptr a -> (i, i) -> [(Int, e')] -> UArray i (Ptr a) Источник

IArray UArray (StablePtr a) Источник
Сведения об экземпляре

Определено в Data.Array.Base

Методы

bounds :: Ix i => UArray i (StablePtr a) -> (i, i) Исходный код

numElements :: Ix i => UArray i (StablePtr a) -> Int Исходный код

unsafeArray :: Ix i => (i, i) -> [(Int, StablePtr a)] -> UArray i (StablePtr a) Исходный код

unsafeAt :: Ix i => UArray i (StablePtr a) -> Int -> StablePtr a Исходный код

unsafeReplace :: Ix i => UArray i (StablePtr a) -> [(Int, StablePtr a)] -> UArray i (StablePtr a) Исходный код

unsafeAccum :: Ix i => (StablePtr a -> e' -> StablePtr a) -> UArray i (StablePtr a) -> [(Int, e')] -> UArray i (StablePtr a) Исходный код

unsafeAccumArray :: Ix i => (StablePtr a -> e' -> StablePtr a) -> StablePtr a -> (i, i) -> [(Int, e')] -> UArray i (StablePtr a) Исходный код

(Ix ix, Eq e, IArray UArray e) => Eq (UArray ix e) Исходный код
Сведения об экземпляре

Определено в Data.Array.Base

Методы

(==) :: UArray ix e -> UArray ix e -> Bool

(/=) :: UArray ix e -> UArray ix e -> Bool

(Ix ix, Ord e, IArray UArray e) => Ord (UArray ix e) Исходный код
Сведения об экземпляре

Определено в Data.Array.Base

Методы

compare :: UArray ix e -> UArray ix e -> Ordering

(<) :: UArray ix e -> UArray ix e -> Bool

(<=) :: UArray ix e -> UArray ix e -> Bool

(>) :: UArray ix e -> UArray ix e -> Bool

(>=) :: UArray ix e -> UArray ix e -> Bool

max :: UArray ix e -> UArray ix e -> UArray ix e

min :: UArray ix e -> UArray ix e -> UArray ix e

(Ix ix, Read ix, Read e, IArray UArray e) => Read (UArray ix e) Исходный код
Сведения об экземпляре

Определено в Data.Array.Base

Методы

readsPrec :: Int -> ReadS (UArray ix e)

readList :: ReadS [UArray ix e]

readPrec :: ReadPrec (UArray ix e)

readListPrec :: ReadPrec [UArray ix e]

(Ix ix, Show ix, Show e, IArray UArray e) => Show (UArray ix e) Исходный код
Сведения об экземпляре

Определено в Data.Array.Base

Методы

showsPrec :: Int -> UArray ix e -> ShowS

show :: UArray ix e -> String

showList :: [UArray ix e] -> ShowS

Перегруженный интерфейс неизменяемых массивов

модуль Data.Array.IArray

© 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/array-0.5.8.0-93e8/Data-Array-Unboxed.html

Spec-Zone.ru

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