Spec-Zone.ru › Haskell 8

Data.Array.Unboxed

Copyright (c) The University of Glasgow 2001
License BSD-style (see the file libraries/base/LICENSE)
Maintainer libraries@haskell.org
Stability experimental
Portability non-portable (uses Data.Array.IArray)
Safe Haskell Trustworthy
Language Haskell2010

Содержание

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

Описание

Неизменяемые массивы с распакованными элементами.

Массивы с распакованными элементами

data UArray i e Source

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

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

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

Экземпляры
Подробности о экземплярах
IArray UArray Bool
Подробности о экземпляре

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

Методы

bounds :: Ix i => UArray i Bool -> (i, i) Source

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) Source

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 Целое -> (i, i) Исходный код

numElements :: Ix i => UArray i Целое -> Целое

unsafeArray :: Ix i => (i, i) -> [(Целое, Целое)] -> UArray i Целое

unsafeAt :: Ix i => UArray i Целое -> Целое -> Целое

unsafeReplace :: Ix i => UArray i Целое -> [(Целое, Целое)] -> UArray i Целое

unsafeAccum :: Ix i => (Целое -> e' -> Целое) -> UArray i Целое -> [(Целое, e')] -> UArray i Целое

unsafeAccumArray :: Ix i => (Целое -> e' -> Целое) -> Целое -> (i, i) -> [(Целое, e')] -> UArray i Целое

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

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

Методы

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

numElements :: Ix i => UArray i Int8 -> Целое

unsafeArray :: Ix i => (i, i) -> [(Целое, Int8)] -> UArray i Int8

unsafeAt :: Ix i => UArray i Int8 -> Целое -> Int8

unsafeReplace :: Ix i => UArray i Int8 -> [(Целое, Int8)] -> UArray i Int8

unsafeAccum :: Ix i => (Int8 -> e' -> Int8) -> UArray i Int8 -> [(Целое, e')] -> UArray i Int8

unsafeAccumArray :: Ix i => (Int8 -> e' -> Int8) -> Int8 -> (i, i) -> [(Целое, e')] -> UArray i Int8

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 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 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 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 (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)

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 (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)

(Ix ix, Eq e, IArray UArray e) => Eq (UArray ix e)
Подробности экземпляра

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

Методы

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

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

(Ix ix, Ord e, IArray UArray e) => Ord (UArray ix e)
Подробности экземпляра

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

Методы

compare :: UArray ix e -> UArray ix e -> Порядок

(<) :: 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

(Ix ix, Read ix, Read e, IArray UArray e) => Read (UArray ix e)
Подробности экземпляра

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

Методы

readsPrec :: Целое -> 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 -> Строка Источник

showList :: [UArray ix e] -> ShowS Источник

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

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/8.10.2/docs/html/libraries/array-0.5.4.0/Data-Array-Unboxed.html

Spec-Zone.ru

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