hgeometry-combinatorial-0.12.0.1: Data structures, and Data types.
Copyright(C) Frank Staals
Licensesee the LICENSE file
MaintainerFrank Staals
Safe HaskellNone
LanguageHaskell2010

Data.Measured.Size

Description

 
Synopsis

Documentation

newtype Size Source #

Measured size. Always non-negative.

Constructors

Size Word 

Instances

Instances details
Enum Size Source # 
Instance details

Defined in Data.Measured.Size

Methods

succ :: Size -> Size #

pred :: Size -> Size #

toEnum :: Int -> Size #

fromEnum :: Size -> Int #

enumFrom :: Size -> [Size] #

enumFromThen :: Size -> Size -> [Size] #

enumFromTo :: Size -> Size -> [Size] #

enumFromThenTo :: Size -> Size -> Size -> [Size] #

Eq Size Source # 
Instance details

Defined in Data.Measured.Size

Methods

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

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

Integral Size Source # 
Instance details

Defined in Data.Measured.Size

Methods

quot :: Size -> Size -> Size #

rem :: Size -> Size -> Size #

div :: Size -> Size -> Size #

mod :: Size -> Size -> Size #

quotRem :: Size -> Size -> (Size, Size) #

divMod :: Size -> Size -> (Size, Size) #

toInteger :: Size -> Integer #

Num Size Source # 
Instance details

Defined in Data.Measured.Size

Methods

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

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

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

negate :: Size -> Size #

abs :: Size -> Size #

signum :: Size -> Size #

fromInteger :: Integer -> Size #

Ord Size Source # 
Instance details

Defined in Data.Measured.Size

Methods

compare :: Size -> Size -> Ordering #

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

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

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

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

max :: Size -> Size -> Size #

min :: Size -> Size -> Size #

Read Size Source # 
Instance details

Defined in Data.Measured.Size

Real Size Source # 
Instance details

Defined in Data.Measured.Size

Methods

toRational :: Size -> Rational #

Show Size Source # 
Instance details

Defined in Data.Measured.Size

Methods

showsPrec :: Int -> Size -> ShowS #

show :: Size -> String #

showList :: [Size] -> ShowS #

Generic Size Source # 
Instance details

Defined in Data.Measured.Size

Associated Types

type Rep Size :: Type -> Type #

Methods

from :: Size -> Rep Size x #

to :: Rep Size x -> Size #

Semigroup Size Source # 
Instance details

Defined in Data.Measured.Size

Methods

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

sconcat :: NonEmpty Size -> Size #

stimes :: Integral b => b -> Size -> Size #

Monoid Size Source # 
Instance details

Defined in Data.Measured.Size

Methods

mempty :: Size #

mappend :: Size -> Size -> Size #

mconcat :: [Size] -> Size #

NFData Size Source # 
Instance details

Defined in Data.Measured.Size

Methods

rnf :: Size -> () #

Measured Size (Elem a) Source # 
Instance details

Defined in Data.Measured.Size

Methods

measure :: Elem a -> Size Source #

type Rep Size Source # 
Instance details

Defined in Data.Measured.Size

type Rep Size = D1 ('MetaData "Size" "Data.Measured.Size" "hgeometry-combinatorial-0.12.0.1-3UsM6nqO83QAAGVLl4vU5w" 'True) (C1 ('MetaCons "Size" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word)))

newtype Elem a Source #

Newtype wrapper for things for which we can measure the size

Constructors

Elem 

Fields

Instances

Instances details
Functor Elem Source # 
Instance details

Defined in Data.Measured.Size

Methods

fmap :: (a -> b) -> Elem a -> Elem b #

(<$) :: a -> Elem b -> Elem a #

Foldable Elem Source # 
Instance details

Defined in Data.Measured.Size

Methods

fold :: Monoid m => Elem m -> m #

foldMap :: Monoid m => (a -> m) -> Elem a -> m #

foldMap' :: Monoid m => (a -> m) -> Elem a -> m #

foldr :: (a -> b -> b) -> b -> Elem a -> b #

foldr' :: (a -> b -> b) -> b -> Elem a -> b #

foldl :: (b -> a -> b) -> b -> Elem a -> b #

foldl' :: (b -> a -> b) -> b -> Elem a -> b #

foldr1 :: (a -> a -> a) -> Elem a -> a #

foldl1 :: (a -> a -> a) -> Elem a -> a #

toList :: Elem a -> [a] #

null :: Elem a -> Bool #

length :: Elem a -> Int #

elem :: Eq a => a -> Elem a -> Bool #

maximum :: Ord a => Elem a -> a #

minimum :: Ord a => Elem a -> a #

sum :: Num a => Elem a -> a #

product :: Num a => Elem a -> a #

Traversable Elem Source # 
Instance details

Defined in Data.Measured.Size

Methods

traverse :: Applicative f => (a -> f b) -> Elem a -> f (Elem b) #

sequenceA :: Applicative f => Elem (f a) -> f (Elem a) #

mapM :: Monad m => (a -> m b) -> Elem a -> m (Elem b) #

sequence :: Monad m => Elem (m a) -> m (Elem a) #

Measured Size (Elem a) Source # 
Instance details

Defined in Data.Measured.Size

Methods

measure :: Elem a -> Size Source #

Eq a => Eq (Elem a) Source # 
Instance details

Defined in Data.Measured.Size

Methods

(==) :: Elem a -> Elem a -> Bool #

(/=) :: Elem a -> Elem a -> Bool #

Ord a => Ord (Elem a) Source # 
Instance details

Defined in Data.Measured.Size

Methods

compare :: Elem a -> Elem a -> Ordering #

(<) :: Elem a -> Elem a -> Bool #

(<=) :: Elem a -> Elem a -> Bool #

(>) :: Elem a -> Elem a -> Bool #

(>=) :: Elem a -> Elem a -> Bool #

max :: Elem a -> Elem a -> Elem a #

min :: Elem a -> Elem a -> Elem a #

Read a => Read (Elem a) Source # 
Instance details

Defined in Data.Measured.Size

Show a => Show (Elem a) Source # 
Instance details

Defined in Data.Measured.Size

Methods

showsPrec :: Int -> Elem a -> ShowS #

show :: Elem a -> String #

showList :: [Elem a] -> ShowS #

data Sized a Source #

Things that have a size

Constructors

Sized !Size a 

Instances

Instances details
Functor Sized Source # 
Instance details

Defined in Data.Measured.Size

Methods

fmap :: (a -> b) -> Sized a -> Sized b #

(<$) :: a -> Sized b -> Sized a #

Foldable Sized Source # 
Instance details

Defined in Data.Measured.Size

Methods

fold :: Monoid m => Sized m -> m #

foldMap :: Monoid m => (a -> m) -> Sized a -> m #

foldMap' :: Monoid m => (a -> m) -> Sized a -> m #

foldr :: (a -> b -> b) -> b -> Sized a -> b #

foldr' :: (a -> b -> b) -> b -> Sized a -> b #

foldl :: (b -> a -> b) -> b -> Sized a -> b #

foldl' :: (b -> a -> b) -> b -> Sized a -> b #

foldr1 :: (a -> a -> a) -> Sized a -> a #

foldl1 :: (a -> a -> a) -> Sized a -> a #

toList :: Sized a -> [a] #

null :: Sized a -> Bool #

length :: Sized a -> Int #

elem :: Eq a => a -> Sized a -> Bool #

maximum :: Ord a => Sized a -> a #

minimum :: Ord a => Sized a -> a #

sum :: Num a => Sized a -> a #

product :: Num a => Sized a -> a #

Traversable Sized Source # 
Instance details

Defined in Data.Measured.Size

Methods

traverse :: Applicative f => (a -> f b) -> Sized a -> f (Sized b) #

sequenceA :: Applicative f => Sized (f a) -> f (Sized a) #

mapM :: Monad m => (a -> m b) -> Sized a -> m (Sized b) #

sequence :: Monad m => Sized (m a) -> m (Sized a) #

Eq a => Eq (Sized a) Source # 
Instance details

Defined in Data.Measured.Size

Methods

(==) :: Sized a -> Sized a -> Bool #

(/=) :: Sized a -> Sized a -> Bool #

Ord a => Ord (Sized a) Source # 
Instance details

Defined in Data.Measured.Size

Methods

compare :: Sized a -> Sized a -> Ordering #

(<) :: Sized a -> Sized a -> Bool #

(<=) :: Sized a -> Sized a -> Bool #

(>) :: Sized a -> Sized a -> Bool #

(>=) :: Sized a -> Sized a -> Bool #

max :: Sized a -> Sized a -> Sized a #

min :: Sized a -> Sized a -> Sized a #

Show a => Show (Sized a) Source # 
Instance details

Defined in Data.Measured.Size

Methods

showsPrec :: Int -> Sized a -> ShowS #

show :: Sized a -> String #

showList :: [Sized a] -> ShowS #

Generic (Sized a) Source # 
Instance details

Defined in Data.Measured.Size

Associated Types

type Rep (Sized a) :: Type -> Type #

Methods

from :: Sized a -> Rep (Sized a) x #

to :: Rep (Sized a) x -> Sized a #

Semigroup a => Semigroup (Sized a) Source # 
Instance details

Defined in Data.Measured.Size

Methods

(<>) :: Sized a -> Sized a -> Sized a #

sconcat :: NonEmpty (Sized a) -> Sized a #

stimes :: Integral b => b -> Sized a -> Sized a #

Monoid a => Monoid (Sized a) Source # 
Instance details

Defined in Data.Measured.Size

Methods

mempty :: Sized a #

mappend :: Sized a -> Sized a -> Sized a #

mconcat :: [Sized a] -> Sized a #

NFData a => NFData (Sized a) Source # 
Instance details

Defined in Data.Measured.Size

Methods

rnf :: Sized a -> () #

type Rep (Sized a) Source # 
Instance details

Defined in Data.Measured.Size

type Rep (Sized a) = D1 ('MetaData "Sized" "Data.Measured.Size" "hgeometry-combinatorial-0.12.0.1-3UsM6nqO83QAAGVLl4vU5w" 'False) (C1 ('MetaCons "Sized" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Size) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))