| Copyright | (c) Michal Konecny Eike Neumann |
|---|---|
| License | BSD3 |
| Maintainer | mikkonecny@gmail.com |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell98 |
AERN2.Sequence.Branching
Contents
Description
Branching operations for sequences
- type SeqBoolP = SequenceP (Maybe Bool)
- type SeqBoolA to = SequenceA to (Maybe Bool)
- type SeqBool = SeqBoolA (->)
- pBool :: SeqBoolP
- data SequenceAtAccuracy a = SequenceAtAccuracy (Sequence a) AccuracySG
- pickNonZeroSeqA :: (QAArrow to, CanPickNonZero a) => Maybe (QAId to) -> [(SequenceA to a, s)] `to` Maybe (SequenceA to a, s)
- pick :: QAArrow to => Maybe (QAId to) -> [SequenceA to (Maybe a)] `to` a
Documentation
data SequenceAtAccuracy a Source #
SequenceAtAccuracy exists only so that we can QuickCheck that Sequence satisfies properties whose statement relies on an instance of HasEqCertainly. Sequence is not an instance but SequenceAtAccuracy is.
Constructors
| SequenceAtAccuracy (Sequence a) AccuracySG |
Instances
| Show a => Show (SequenceAtAccuracy a) Source # | |
| (HasOrderAsymmetric a b, SuitableForSeq a, SuitableForSeq b, SuitableForSeq (OrderCompareType a b)) => HasOrderAsymmetric (SequenceAtAccuracy a) (SequenceAtAccuracy b) Source # | |
| (HasEqAsymmetric a b, SuitableForSeq a, SuitableForSeq b, SuitableForSeq (EqCompareType a b)) => HasEqAsymmetric (SequenceAtAccuracy a) (SequenceAtAccuracy b) Source # | |
| type OrderCompareType (SequenceAtAccuracy a) (SequenceAtAccuracy b) Source # | |
| type EqCompareType (SequenceAtAccuracy a) (SequenceAtAccuracy b) Source # | |
pickNonZeroSeqA :: (QAArrow to, CanPickNonZero a) => Maybe (QAId to) -> [(SequenceA to a, s)] `to` Maybe (SequenceA to a, s) Source #
Given a list [(a1,b1),(a2,b2),...] and assuming that
at least one of a1,a2,... is non-zero, pick one of them
and return the corresponding pair (ai,bi).
If none of a1,a2,... is zero, either throw an exception
or loop forever.
Orphan instances
| CanPickNonZero a => CanPickNonZero (Sequence a) Source # | |
| (QAArrow to, ArrowApply to, HasIfThenElse b t, HasIfThenElse b (to AccuracySG t), (~) * (IfThenElseType b (to AccuracySG t)) (to AccuracySG (IfThenElseType b t)), SuitableForSeq b, SuitableForSeq t, SuitableForSeq (IfThenElseType b t)) => HasIfThenElse (SequenceA to b) (SequenceA to t) Source # | "parallel if" |