serokell-util-0.10.0: General-purpose functions by Serokell

Safe HaskellNone
LanguageHaskell2010

Serokell.Data.Memory.Units

Description

Memory units.

Synopsis

Documentation

Type class

class Integral unit => MemoryUnit unit where Source #

Minimal complete definition

bytesMultiplier

Methods

bytesMultiplier :: Proxy unit -> Integer Source #

This value is n iff (1 :: unit) is n bytes.

Concrete types

data Byte Source #

Instances
Enum Byte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Methods

succ :: Byte -> Byte #

pred :: Byte -> Byte #

toEnum :: Int -> Byte #

fromEnum :: Byte -> Int #

enumFrom :: Byte -> [Byte] #

enumFromThen :: Byte -> Byte -> [Byte] #

enumFromTo :: Byte -> Byte -> [Byte] #

enumFromThenTo :: Byte -> Byte -> Byte -> [Byte] #

Eq Byte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Methods

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

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

Integral Byte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Methods

quot :: Byte -> Byte -> Byte #

rem :: Byte -> Byte -> Byte #

div :: Byte -> Byte -> Byte #

mod :: Byte -> Byte -> Byte #

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

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

toInteger :: Byte -> Integer #

Num Byte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Methods

(+) :: Byte -> Byte -> Byte #

(-) :: Byte -> Byte -> Byte #

(*) :: Byte -> Byte -> Byte #

negate :: Byte -> Byte #

abs :: Byte -> Byte #

signum :: Byte -> Byte #

fromInteger :: Integer -> Byte #

Ord Byte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Methods

compare :: Byte -> Byte -> Ordering #

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

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

(>) :: Byte -> Byte -> Bool #

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

max :: Byte -> Byte -> Byte #

min :: Byte -> Byte -> Byte #

Real Byte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Methods

toRational :: Byte -> Rational #

Show Byte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Methods

showsPrec :: Int -> Byte -> ShowS #

show :: Byte -> String #

showList :: [Byte] -> ShowS #

Generic Byte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Associated Types

type Rep Byte :: * -> * #

Methods

from :: Byte -> Rep Byte x #

to :: Rep Byte x -> Byte #

Arbitrary Byte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Methods

arbitrary :: Gen Byte #

shrink :: Byte -> [Byte] #

NFData Byte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Methods

rnf :: Byte -> () #

MemoryUnit Byte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

type Rep Byte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

type Rep Byte = D1 (MetaData "Byte" "Serokell.Data.Memory.Units" "serokell-util-0.10.0-ABO96GElPTlE59q6YkXtOP" True) (C1 (MetaCons "Byte" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Integer)))

data Kilobyte Source #

Instances
Enum Kilobyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Eq Kilobyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Integral Kilobyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Num Kilobyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Ord Kilobyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Real Kilobyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Show Kilobyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Generic Kilobyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Associated Types

type Rep Kilobyte :: * -> * #

Methods

from :: Kilobyte -> Rep Kilobyte x #

to :: Rep Kilobyte x -> Kilobyte #

Arbitrary Kilobyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

NFData Kilobyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Methods

rnf :: Kilobyte -> () #

MemoryUnit Kilobyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

type Rep Kilobyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

type Rep Kilobyte = D1 (MetaData "Kilobyte" "Serokell.Data.Memory.Units" "serokell-util-0.10.0-ABO96GElPTlE59q6YkXtOP" True) (C1 (MetaCons "Kilobyte" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Integer)))

data Megabyte Source #

Instances
Enum Megabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Eq Megabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Integral Megabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Num Megabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Ord Megabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Real Megabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Show Megabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Generic Megabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Associated Types

type Rep Megabyte :: * -> * #

Methods

from :: Megabyte -> Rep Megabyte x #

to :: Rep Megabyte x -> Megabyte #

Arbitrary Megabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

NFData Megabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Methods

rnf :: Megabyte -> () #

MemoryUnit Megabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

type Rep Megabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

type Rep Megabyte = D1 (MetaData "Megabyte" "Serokell.Data.Memory.Units" "serokell-util-0.10.0-ABO96GElPTlE59q6YkXtOP" True) (C1 (MetaCons "Megabyte" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Integer)))

data Gigabyte Source #

Instances
Enum Gigabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Eq Gigabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Integral Gigabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Num Gigabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Ord Gigabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Real Gigabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Show Gigabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Generic Gigabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Associated Types

type Rep Gigabyte :: * -> * #

Methods

from :: Gigabyte -> Rep Gigabyte x #

to :: Rep Gigabyte x -> Gigabyte #

Arbitrary Gigabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

NFData Gigabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Methods

rnf :: Gigabyte -> () #

MemoryUnit Gigabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

type Rep Gigabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

type Rep Gigabyte = D1 (MetaData "Gigabyte" "Serokell.Data.Memory.Units" "serokell-util-0.10.0-ABO96GElPTlE59q6YkXtOP" True) (C1 (MetaCons "Gigabyte" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Integer)))

data Terabyte Source #

Instances
Enum Terabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Eq Terabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Integral Terabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Num Terabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Ord Terabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Real Terabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Show Terabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Generic Terabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Associated Types

type Rep Terabyte :: * -> * #

Methods

from :: Terabyte -> Rep Terabyte x #

to :: Rep Terabyte x -> Terabyte #

Arbitrary Terabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

NFData Terabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

Methods

rnf :: Terabyte -> () #

MemoryUnit Terabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

type Rep Terabyte Source # 
Instance details

Defined in Serokell.Data.Memory.Units

type Rep Terabyte = D1 (MetaData "Terabyte" "Serokell.Data.Memory.Units" "serokell-util-0.10.0-ABO96GElPTlE59q6YkXtOP" True) (C1 (MetaCons "Terabyte" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Integer)))

Pretty printing

unitBuilder :: MemoryUnit unit => unit -> Builder Source #

Construct Text Builder.

memory :: MemoryUnit unit => Format r (unit -> r) Source #

Formatter for formatting library.

Helpers

toBytes :: forall unit. MemoryUnit unit => unit -> Integer Source #

Convert given memory unit into integer representing bytes.

fromBytes :: forall unit. MemoryUnit unit => Integer -> unit Source #

Convert given number of bytes into memory unit, flooring value if necessary.

convertUnit :: (MemoryUnit a, MemoryUnit b) => a -> b Source #

Conversion between memory units.