Spec-Zone.ru › Haskell 9

Data.Array.Unboxed

Авторские права (c) Университет Глазго 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) -> Целое Исходный код

unsafeArray :: Ix i => (i, i) -> [(Целое, FunPtr a)] -> UArray i (FunPtr a) Исходный код

unsafeAt :: Ix i => UArray i (FunPtr a) -> Целое -> FunPtr a Исходный код

unsafeReplace :: Ix i => UArray i (FunPtr a) -> [(Целое, FunPtr a)] -> UArray i (FunPtr a) Исходный код

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

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

IArray UArray (Указатель a) Исходный код
Подробности экземпляра

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

Методы

bounds :: Ix i => UArray i (Указатель a) -> (i, i) Исходный код

numElements :: Ix i => UArray i (Указатель a) -> Целое Исходный код

unsafeArray :: Ix i => (i, i) -> [(Целое, Указатель a)] -> UArray i (Указатель a) Исходный код

unsafeAt :: Ix i => UArray i (Указатель a) -> Целое -> Указатель a Исходный код

unsafeReplace :: Ix i => UArray i (Указатель a) -> [(Целое, Указатель a)] -> UArray i (Указатель a) Исходный код

unsafeAccum :: Ix i => (Указатель a -> e' -> Указатель a) -> UArray i (Указатель a) -> [(Целое, e')] -> UArray i (Указатель a) Исходный код

unsafeAccumArray :: Ix i => (Указатель a -> e' -> Указатель a) -> Указатель a -> (i, i) -> [(Целое, e')] -> UArray i (Указатель 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, 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

(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 -> Булево

(<=) :: UArray ix e -> UArray ix e -> Булево

(>) :: UArray ix e -> UArray ix e -> Булево

(>=) :: UArray ix e -> UArray ix e -> Булево

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

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

Интерфейс перегруженного неизменяемого массива

module 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.12.1/docs/libraries/array-0.5.8.0-8d84/Data-Array-Unboxed.html

Spec-Zone.ru

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