vector-0.12.0.0: Efficient Arrays

Copyright(c) Roman Leshchinskiy 2008-2010
LicenseBSD-style
MaintainerRoman Leshchinskiy <rl@cse.unsw.edu.au>
Stabilityexperimental
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Data.Vector.Fusion.Bundle.Size

Description

Size hints for streams.

Synopsis

Documentation

data Size Source #

Size hint

Constructors

Exact Int

Exact size

Max Int

Upper bound on the size

Unknown

Unknown size

Instances

Eq Size Source # 

Methods

(==) :: Size -> Size -> Bool #

(/=) :: Size -> Size -> Bool #

Num Size Source # 

Methods

(+) :: Size -> Size -> Size #

(-) :: Size -> Size -> Size #

(*) :: Size -> Size -> Size #

negate :: Size -> Size #

abs :: Size -> Size #

signum :: Size -> Size #

fromInteger :: Integer -> Size #

Show Size Source # 

Methods

showsPrec :: Int -> Size -> ShowS #

show :: Size -> String #

showList :: [Size] -> ShowS #

clampedSubtract :: Size -> Size -> Size Source #

Subtract two sizes with clamping to 0, for drop-like things

smaller :: Size -> Size -> Size Source #

Minimum of two size hints

larger :: Size -> Size -> Size Source #

Maximum of two size hints

toMax :: Size -> Size Source #

Convert a size hint to an upper bound

upperBound :: Size -> Maybe Int Source #

Compute the maximum size from a size hint if possible

lowerBound :: Size -> Int Source #

Compute the minimum size from a size hint