structures-0.1: "Advanced" Data Structures

Portabilitynon-portable
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>
Safe HaskellNone

Data.Vector.Array

Contents

Description

This module provides a choice of a best vector type for a given type that is as unboxed as possible.

Synopsis

Documentation

type Array a = Arr a aSource

A vector of product-like data types that know how to store themselves in a Vector optimally, maximizing the level of unboxing provided, but not guaranteeing to unbox it all.

type MArray s a = Mutable (Arr a) s aSource

Internals

data V_Complex whereSource

Constructors

V_Complex :: !Int -> !(Array a) -> !(Array a) -> V_Complex (Complex a) 

Instances

(Arrayed a, RealFloat a) => Vector V_Complex (Complex a) 
(Arrayed a, RealFloat a, Eq a, ~ * b (Complex a)) => Eq (V_Complex b) 
(Arrayed a, RealFloat a, Read a, ~ * b (Complex a)) => Read (V_Complex b) 
(Arrayed a, RealFloat a, Show a, ~ * b (Complex a)) => Show (V_Complex b) 
(Arrayed a, RealFloat a, ~ * b (Complex a)) => Monoid (V_Complex b) 

data MV_Complex whereSource

Constructors

MV_Complex :: !Int -> !(Mutable (Arr a) s a) -> !(Mutable (Arr a) s a) -> MV_Complex s (Complex a) 

Instances

(Arrayed a, RealFloat a) => MVector MV_Complex (Complex a) 

data V_Pair whereSource

Constructors

V_Pair :: !Int -> !(Array a) -> !(Array b) -> V_Pair (a, b) 

Instances

(Arrayed a, Arrayed b) => Vector V_Pair (a, b) 
(Arrayed a, Arrayed b, Eq a, Eq b, ~ * c (a, b)) => Eq (V_Pair c) 
(Arrayed a, Arrayed b, Read a, Read b, ~ * c (a, b)) => Read (V_Pair c) 
(Arrayed a, Arrayed b, Show a, Show b, ~ * c (a, b)) => Show (V_Pair c) 
(Arrayed a, Arrayed b, ~ * c (a, b)) => Monoid (V_Pair c) 

data MV_Pair whereSource

Constructors

MV_Pair :: !Int -> !(Mutable (Arr a) s a) -> !(Mutable (Arr b) s b) -> MV_Pair s (a, b) 

Instances

(Arrayed a, Arrayed b) => MVector MV_Pair (a, b)