aern2-real-0.1.1.0: Exact real numbers via Cauchy sequences and MPFR

Copyright(c) Michal Konecny Eike Neumann
LicenseBSD3
Maintainermikkonecny@gmail.com
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell98

AERN2.Sequence.Branching

Contents

Description

Branching operations for sequences

Synopsis

Documentation

type SeqBoolA to = SequenceA to (Maybe Bool) #

type SeqBool = SeqBoolA (->) #

data SequenceAtAccuracy a #

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.

Instances
Arbitrary CauchyRealAtAccuracy # 
Instance details

Defined in AERN2.Real.Tests

Show a => Show (SequenceAtAccuracy a) # 
Instance details

Defined in AERN2.Sequence.Comparison

(HasEqAsymmetric a b, SuitableForSeq a, SuitableForSeq b, SuitableForSeq (EqCompareType a b)) => HasEqAsymmetric (SequenceAtAccuracy a) (SequenceAtAccuracy b) # 
Instance details

Defined in AERN2.Sequence.Comparison

Associated Types

type EqCompareType (SequenceAtAccuracy a) (SequenceAtAccuracy b) :: * #

(HasOrderAsymmetric a b, SuitableForSeq a, SuitableForSeq b, SuitableForSeq (OrderCompareType a b)) => HasOrderAsymmetric (SequenceAtAccuracy a) (SequenceAtAccuracy b) # 
Instance details

Defined in AERN2.Sequence.Comparison

Associated Types

type OrderCompareType (SequenceAtAccuracy a) (SequenceAtAccuracy b) :: * #

type EqCompareType (SequenceAtAccuracy a) (SequenceAtAccuracy b) # 
Instance details

Defined in AERN2.Sequence.Comparison

type OrderCompareType (SequenceAtAccuracy a) (SequenceAtAccuracy b) # 
Instance details

Defined in AERN2.Sequence.Comparison

pickNonZeroSeqA :: (QAArrow to, CanPickNonZero a) => Maybe (QAId to) -> [(SequenceA to a, s)] `to` Maybe (SequenceA to a, s) #

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.

pick :: QAArrow to => Maybe (QAId to) -> [SequenceA to (Maybe a)] `to` a #

Orphan instances

CanPickNonZero a => CanPickNonZero (Sequence a) # 
Instance details

Methods

pickNonZero :: [(Sequence a, s)] -> Maybe (Sequence a, s) #

(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) #

"parallel if"

Instance details

Associated Types

type IfThenElseType (SequenceA to b) (SequenceA to t) :: * #

Methods

ifThenElse :: SequenceA to b -> SequenceA to t -> SequenceA to t -> IfThenElseType (SequenceA to b) (SequenceA to t) #