repa-eval-4.0.0.1: Low-level parallel operators on bulk random-accessble arrays.

Safe HaskellNone
LanguageHaskell98

Data.Repa.Eval.Elt

Description

Values that can be stored in Repa Arrays.

Synopsis

Documentation

class Elt a where Source

Element types that can be used with the blockwise filling functions.

This class is mainly used to define the touch method. This is used internally in the imeplementation of Repa to prevent let-binding from being floated inappropriately by the GHC simplifier. Doing a seq sometimes isn't enough, because the GHC simplifier can erase these, and still move around the bindings.

This class supports the generic deriving mechanism, use deriving instance Elt (TYPE)

Minimal complete definition

Nothing

Methods

touch :: a -> IO () Source

Place a demand on a value at a particular point in an IO computation.

zero :: a Source

Generic zero value, helpful for debugging.

one :: a Source

Generic one value, helpful for debugging.

Instances

Elt Bool 
Elt Char 
Elt Double 
Elt Float 
Elt Int 
Elt Int8 
Elt Int16 
Elt Int32 
Elt Int64 
Elt Word 
Elt Word8 
Elt Word16 
Elt Word32 
Elt Word64 
(Elt a, Elt b) => Elt (a, b) 
(Elt a, Elt b, Elt c) => Elt (a, b, c) 
(Elt a, Elt b, Elt c, Elt d) => Elt (a, b, c, d) 
(Elt a, Elt b, Elt c, Elt d, Elt e) => Elt (a, b, c, d, e) 
(Elt a, Elt b, Elt c, Elt d, Elt e, Elt f) => Elt (a, b, c, d, e, f)