Data.Array.Accelerate

The Accelerate Array Language

Array data types

data Acc a

class Arrays a

data Array sh e

type Scalar e

type Vector e

type Segments i

Array element types

class Elt a

Shapes & Indices

data Z

data tail :. head

class Shape sh

data All

data Any sh

class Slice sl

type DIM0

type DIM1

type DIM2

type DIM3

type DIM4

type DIM5

type DIM6

type DIM7

type DIM8

type DIM9

Accessors

Indexing

(!)

(!!)

the

Shape information

null

length

shape

size

shapeSize

Extracting sub-arrays

slice

init

tail

take

drop

slit

Construction

Introduction

use

unit

Initialisation

generate

replicate

fill

Enumeration

enumFromN

enumFromStepN

Concatenation

(++)

Composition

Flow control

(?|)

acond

awhile

Pipelining

(>->)

Modifying Arrays

Shape manipulation

reshape

flatten

Permutations

permute

backpermute

ignore

Specialised permutations

reverse

transpose

Element-wise operations

Mapping

map

Zipping

zipWith

zipWith3

zipWith4

zipWith5

zipWith6

zipWith7

zipWith8

zipWith9

zip

zip3

zip4

zip5

zip6

zip7

zip8

zip9

Unzipping

unzip

unzip3

unzip4

unzip5

unzip6

unzip7

unzip8

unzip9

Working with predicates

Filtering

filter

Scatter

scatter

scatterIf

Gather

gather

gatherIf

Folding

fold

fold1

foldAll

fold1All

Segmented reductions

foldSeg

fold1Seg

Specialised folds

all

any

and

or

sum

product

minimum

maximum

Prefix sums (scans)

scanl

scanl1

scanl'

scanr

scanr1

scanr'

prescanl

postscanl

prescanr

postscanr

Segmented scans

scanlSeg

scanl1Seg

scanl'Seg

prescanlSeg

postscanlSeg

scanrSeg

scanr1Seg

scanr'Seg

prescanrSeg

postscanrSeg

Stencil

stencil

stencil2

Specification

class Stencil sh a stencil

data Boundary a

Common stencil patterns

type Stencil3 a

type Stencil5 a

type Stencil7 a

type Stencil9 a

type Stencil3x3 a

type Stencil5x3 a

type Stencil3x5 a

type Stencil5x5 a

type Stencil3x3x3 a

type Stencil5x3x3 a

type Stencil3x5x3 a

type Stencil3x3x5 a

type Stencil5x5x3 a

type Stencil5x3x5 a

type Stencil3x5x5 a

type Stencil5x5x5 a

Foreign

foreignAcc

foreignAcc2

foreignAcc3

foreignExp

foreignExp2

foreignExp3

The Accelerate Expression Language

Scalar data types

data Exp t

Type classes

class IsScalar a

class IsNum a

class IsBounded a

class IsIntegral a

class IsFloating a

class IsNonNum a

Element types

data Int

data Int8

data Int16

data Int32

data Int64

data Word

data Word8

data Word16

data Word32

data Word64

data CShort

data CUShort

data CInt

data CUInt

data CLong

data CULong

data CLLong

data CULLong

data Float

data Double

data CFloat

data CDouble

data Bool

data Char

data CChar

data CSChar

data CUChar

Lifting and Unlifting

class Lift c e

class Unlift c e

lift1

lift2

ilift1

ilift2

Operations

Introduction

constant

Tuples

fst

afst

snd

asnd

curry

uncurry

Flow control

(?)

caseof

cond

while

iterate

Scalar reduction

sfoldl

Basic operations

(&&*)

(||*)

not

(==*)

(/=*)

(<*)

(<=*)

(>*)

(>=*)

Numeric functions

truncate

round

floor

ceiling

even

odd

Bitwise functions

bit

setBit

clearBit

complementBit

testBit

shift

shiftL

shiftR

rotate

rotateL

rotateR

Shape manipulation

index0

index1

unindex1

index2

unindex2

indexHead

indexTail

toIndex

fromIndex

intersect

Conversions

ord

chr

boolToInt

fromIntegral

Plain arrays

Operations

arrayDim

arrayShape

arraySize

indexArray

Conversions

Function

fromFunction

Lists

fromList

toList

IArray

fromIArray

toIArray