Safe Haskell | None |
---|---|
Language | Haskell98 |
- data Transform a b
- planOfType :: (Storable a, Storable b) => PlanType -> Transform a b -> Int -> Plan a b
- data PlanType
- = Estimate
- | Measure
- | Patient
- | Exhaustive
- plan :: (Storable a, Storable b) => Transform a b -> Int -> Plan a b
- run :: (Vector v a, Vector v b, Storable a, Storable b) => Transform a b -> v a -> v b
- data Plan a b
- planInputSize :: Storable a => Plan a b -> Int
- planOutputSize :: Storable b => Plan a b -> Int
- execute :: (Vector v a, Vector v b, Storable a, Storable b) => Plan a b -> v a -> v b
- executeM :: forall m v a b. (PrimBase m, MVector v a, MVector v b, Storable a, Storable b) => Plan a b -> v (PrimState m) a -> v (PrimState m) b -> m ()
Transform
planOfType :: (Storable a, Storable b) => PlanType -> Transform a b -> Int -> Plan a b Source #
Create a Plan
of a specific size for this transform.
plan :: (Storable a, Storable b) => Transform a b -> Int -> Plan a b Source #
Create a Plan
of a specific size. This function is equivalent to
.planOfType
Estimate
run :: (Vector v a, Vector v b, Storable a, Storable b) => Transform a b -> v a -> v b Source #
Create and run a Plan
for the given transform.
Plans
execute :: (Vector v a, Vector v b, Storable a, Storable b) => Plan a b -> v a -> v b Source #
Run a plan on the given Vector
.
If
, then calling
planInputSize
p /= length vexecute p v
will throw an exception.
:: (PrimBase m, MVector v a, MVector v b, Storable a, Storable b) | |
=> Plan a b | The plan to run. |
-> v (PrimState m) a | The input vector. |
-> v (PrimState m) b | The output vector. |
-> m () |
Run a plan on the given mutable vectors. The same vector may be used for both input and output.
If
or planInputSize
p /= length vIn
,
then calling planOutputSize
p /= length vOutunsafeExecuteM p vIn vOut
will throw an exception.