Movatterモバイル変換


[0]ホーム

URL:


array-0.5.4.0: Mutable and immutable arrays
Copyright(c) The University of Glasgow 2001
LicenseBSD-style (see the file libraries/base/LICENSE)
Maintainerlibraries@haskell.org
Stabilityexperimental
Portabilitynon-portable (uses Data.Array.IArray)
Safe HaskellTrustworthy
LanguageHaskell2010

Data.Array.Unboxed

Contents

Description

Unboxed immutable arrays.

Synopsis

Arrays with unboxed elements

dataUArray i eSource#

Arrays with unboxed elements. Instances ofIArray are provided forUArray with certain element types (Int,Float,Char, etc.; see theUArray class for a full list).

AUArray will generally be more efficient (in terms of both time and space) than the equivalentArray with the same element type. However,UArray is strict in its elements - so don't useUArray if you require the non-strictness thatArray provides.

Because theIArray interface provides operations overloaded on the type of the array, it should be possible to just change the array type being used by a program from sayArray toUArray to get the benefits of unboxed arrays (don't forget to importData.Array.Unboxed instead ofData.Array).

Instances

Instances details
IArrayUArrayBoolSource# 
Instance details

Defined inData.Array.Base

Methods

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

numElements ::Ix i =>UArray iBool ->Int

unsafeArray ::Ix i => (i, i) -> [(Int,Bool)] ->UArray iBool

unsafeAt ::Ix i =>UArray iBool ->Int ->Bool

unsafeReplace ::Ix i =>UArray iBool -> [(Int,Bool)] ->UArray iBool

unsafeAccum ::Ix i => (Bool -> e' ->Bool) ->UArray iBool -> [(Int, e')] ->UArray iBool

unsafeAccumArray ::Ix i => (Bool -> e' ->Bool) ->Bool -> (i, i) -> [(Int, e')] ->UArray iBool

IArrayUArrayCharSource# 
Instance details

Defined inData.Array.Base

Methods

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

numElements ::Ix i =>UArray iChar ->Int

unsafeArray ::Ix i => (i, i) -> [(Int,Char)] ->UArray iChar

unsafeAt ::Ix i =>UArray iChar ->Int ->Char

unsafeReplace ::Ix i =>UArray iChar -> [(Int,Char)] ->UArray iChar

unsafeAccum ::Ix i => (Char -> e' ->Char) ->UArray iChar -> [(Int, e')] ->UArray iChar

unsafeAccumArray ::Ix i => (Char -> e' ->Char) ->Char -> (i, i) -> [(Int, e')] ->UArray iChar

IArrayUArrayDoubleSource# 
Instance details

Defined inData.Array.Base

Methods

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

numElements ::Ix i =>UArray iDouble ->Int

unsafeArray ::Ix i => (i, i) -> [(Int,Double)] ->UArray iDouble

unsafeAt ::Ix i =>UArray iDouble ->Int ->Double

unsafeReplace ::Ix i =>UArray iDouble -> [(Int,Double)] ->UArray iDouble

unsafeAccum ::Ix i => (Double -> e' ->Double) ->UArray iDouble -> [(Int, e')] ->UArray iDouble

unsafeAccumArray ::Ix i => (Double -> e' ->Double) ->Double -> (i, i) -> [(Int, e')] ->UArray iDouble

IArrayUArrayFloatSource# 
Instance details

Defined inData.Array.Base

Methods

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

numElements ::Ix i =>UArray iFloat ->Int

unsafeArray ::Ix i => (i, i) -> [(Int,Float)] ->UArray iFloat

unsafeAt ::Ix i =>UArray iFloat ->Int ->Float

unsafeReplace ::Ix i =>UArray iFloat -> [(Int,Float)] ->UArray iFloat

unsafeAccum ::Ix i => (Float -> e' ->Float) ->UArray iFloat -> [(Int, e')] ->UArray iFloat

unsafeAccumArray ::Ix i => (Float -> e' ->Float) ->Float -> (i, i) -> [(Int, e')] ->UArray iFloat

IArrayUArrayIntSource# 
Instance details

Defined inData.Array.Base

Methods

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

numElements ::Ix i =>UArray iInt ->Int

unsafeArray ::Ix i => (i, i) -> [(Int,Int)] ->UArray iInt

unsafeAt ::Ix i =>UArray iInt ->Int ->Int

unsafeReplace ::Ix i =>UArray iInt -> [(Int,Int)] ->UArray iInt

unsafeAccum ::Ix i => (Int -> e' ->Int) ->UArray iInt -> [(Int, e')] ->UArray iInt

unsafeAccumArray ::Ix i => (Int -> e' ->Int) ->Int -> (i, i) -> [(Int, e')] ->UArray iInt

IArrayUArrayInt8Source# 
Instance details

Defined inData.Array.Base

Methods

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

numElements ::Ix i =>UArray iInt8 ->Int

unsafeArray ::Ix i => (i, i) -> [(Int,Int8)] ->UArray iInt8

unsafeAt ::Ix i =>UArray iInt8 ->Int ->Int8

unsafeReplace ::Ix i =>UArray iInt8 -> [(Int,Int8)] ->UArray iInt8

unsafeAccum ::Ix i => (Int8 -> e' ->Int8) ->UArray iInt8 -> [(Int, e')] ->UArray iInt8

unsafeAccumArray ::Ix i => (Int8 -> e' ->Int8) ->Int8 -> (i, i) -> [(Int, e')] ->UArray iInt8

IArrayUArrayInt16Source# 
Instance details

Defined inData.Array.Base

Methods

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

numElements ::Ix i =>UArray iInt16 ->Int

unsafeArray ::Ix i => (i, i) -> [(Int,Int16)] ->UArray iInt16

unsafeAt ::Ix i =>UArray iInt16 ->Int ->Int16

unsafeReplace ::Ix i =>UArray iInt16 -> [(Int,Int16)] ->UArray iInt16

unsafeAccum ::Ix i => (Int16 -> e' ->Int16) ->UArray iInt16 -> [(Int, e')] ->UArray iInt16

unsafeAccumArray ::Ix i => (Int16 -> e' ->Int16) ->Int16 -> (i, i) -> [(Int, e')] ->UArray iInt16

IArrayUArrayInt32Source# 
Instance details

Defined inData.Array.Base

Methods

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

numElements ::Ix i =>UArray iInt32 ->Int

unsafeArray ::Ix i => (i, i) -> [(Int,Int32)] ->UArray iInt32

unsafeAt ::Ix i =>UArray iInt32 ->Int ->Int32

unsafeReplace ::Ix i =>UArray iInt32 -> [(Int,Int32)] ->UArray iInt32

unsafeAccum ::Ix i => (Int32 -> e' ->Int32) ->UArray iInt32 -> [(Int, e')] ->UArray iInt32

unsafeAccumArray ::Ix i => (Int32 -> e' ->Int32) ->Int32 -> (i, i) -> [(Int, e')] ->UArray iInt32

IArrayUArrayInt64Source# 
Instance details

Defined inData.Array.Base

Methods

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

numElements ::Ix i =>UArray iInt64 ->Int

unsafeArray ::Ix i => (i, i) -> [(Int,Int64)] ->UArray iInt64

unsafeAt ::Ix i =>UArray iInt64 ->Int ->Int64

unsafeReplace ::Ix i =>UArray iInt64 -> [(Int,Int64)] ->UArray iInt64

unsafeAccum ::Ix i => (Int64 -> e' ->Int64) ->UArray iInt64 -> [(Int, e')] ->UArray iInt64

unsafeAccumArray ::Ix i => (Int64 -> e' ->Int64) ->Int64 -> (i, i) -> [(Int, e')] ->UArray iInt64

IArrayUArrayWordSource# 
Instance details

Defined inData.Array.Base

Methods

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

numElements ::Ix i =>UArray iWord ->Int

unsafeArray ::Ix i => (i, i) -> [(Int,Word)] ->UArray iWord

unsafeAt ::Ix i =>UArray iWord ->Int ->Word

unsafeReplace ::Ix i =>UArray iWord -> [(Int,Word)] ->UArray iWord

unsafeAccum ::Ix i => (Word -> e' ->Word) ->UArray iWord -> [(Int, e')] ->UArray iWord

unsafeAccumArray ::Ix i => (Word -> e' ->Word) ->Word -> (i, i) -> [(Int, e')] ->UArray iWord

IArrayUArrayWord8Source# 
Instance details

Defined inData.Array.Base

Methods

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

numElements ::Ix i =>UArray iWord8 ->Int

unsafeArray ::Ix i => (i, i) -> [(Int,Word8)] ->UArray iWord8

unsafeAt ::Ix i =>UArray iWord8 ->Int ->Word8

unsafeReplace ::Ix i =>UArray iWord8 -> [(Int,Word8)] ->UArray iWord8

unsafeAccum ::Ix i => (Word8 -> e' ->Word8) ->UArray iWord8 -> [(Int, e')] ->UArray iWord8

unsafeAccumArray ::Ix i => (Word8 -> e' ->Word8) ->Word8 -> (i, i) -> [(Int, e')] ->UArray iWord8

IArrayUArrayWord16Source# 
Instance details

Defined inData.Array.Base

Methods

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

numElements ::Ix i =>UArray iWord16 ->Int

unsafeArray ::Ix i => (i, i) -> [(Int,Word16)] ->UArray iWord16

unsafeAt ::Ix i =>UArray iWord16 ->Int ->Word16

unsafeReplace ::Ix i =>UArray iWord16 -> [(Int,Word16)] ->UArray iWord16

unsafeAccum ::Ix i => (Word16 -> e' ->Word16) ->UArray iWord16 -> [(Int, e')] ->UArray iWord16

unsafeAccumArray ::Ix i => (Word16 -> e' ->Word16) ->Word16 -> (i, i) -> [(Int, e')] ->UArray iWord16

IArrayUArrayWord32Source# 
Instance details

Defined inData.Array.Base

Methods

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

numElements ::Ix i =>UArray iWord32 ->Int

unsafeArray ::Ix i => (i, i) -> [(Int,Word32)] ->UArray iWord32

unsafeAt ::Ix i =>UArray iWord32 ->Int ->Word32

unsafeReplace ::Ix i =>UArray iWord32 -> [(Int,Word32)] ->UArray iWord32

unsafeAccum ::Ix i => (Word32 -> e' ->Word32) ->UArray iWord32 -> [(Int, e')] ->UArray iWord32

unsafeAccumArray ::Ix i => (Word32 -> e' ->Word32) ->Word32 -> (i, i) -> [(Int, e')] ->UArray iWord32

IArrayUArrayWord64Source# 
Instance details

Defined inData.Array.Base

Methods

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

numElements ::Ix i =>UArray iWord64 ->Int

unsafeArray ::Ix i => (i, i) -> [(Int,Word64)] ->UArray iWord64

unsafeAt ::Ix i =>UArray iWord64 ->Int ->Word64

unsafeReplace ::Ix i =>UArray iWord64 -> [(Int,Word64)] ->UArray iWord64

unsafeAccum ::Ix i => (Word64 -> e' ->Word64) ->UArray iWord64 -> [(Int, e')] ->UArray iWord64

unsafeAccumArray ::Ix i => (Word64 -> e' ->Word64) ->Word64 -> (i, i) -> [(Int, e')] ->UArray iWord64

IArrayUArray (StablePtr a)Source# 
Instance details

Defined inData.Array.Base

Methods

bounds ::Ix i =>UArray i (StablePtr a) -> (i, i)Source#

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)

IArrayUArray (Ptr a)Source# 
Instance details

Defined inData.Array.Base

Methods

bounds ::Ix i =>UArray i (Ptr a) -> (i, i)Source#

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)

IArrayUArray (FunPtr a)Source# 
Instance details

Defined inData.Array.Base

Methods

bounds ::Ix i =>UArray i (FunPtr a) -> (i, i)Source#

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)

(Ix ix,Eq e,IArrayUArray e) =>Eq (UArray ix e)Source# 
Instance details

Defined inData.Array.Base

Methods

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

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

(Ix ix,Ord e,IArrayUArray e) =>Ord (UArray ix e)Source# 
Instance details

Defined inData.Array.Base

Methods

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,IArrayUArray e) =>Read (UArray ix e)Source# 
Instance details

Defined inData.Array.Base

(Ix ix,Show ix,Show e,IArrayUArray e) =>Show (UArray ix e)Source# 
Instance details

Defined inData.Array.Base

Methods

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

show ::UArray ix e ->String#

showList :: [UArray ix e] ->ShowS#

The overloaded immutable array interface

moduleData.Array.IArray

Produced byHaddock version 2.23.0


[8]ページ先頭

©2009-2025 Movatter.jp