heapwords-0.1.0.2: Heapwords
Safe HaskellSafe-Inferred
LanguageHaskell2010

Cardano.HeapWords

Synopsis

Documentation

class HeapWords a where Source #

Size in the heap of values, in words (to get the size in bytes multiply by 4 on a 32-bit machine or 8 on a 64-bit machine)

Methods

heapWords ∷ a → Int Source #

Instances

Instances details
HeapWords Word32 Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ Word32 → Int Source #

HeapWords Word64 Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ Word64 → Int Source #

HeapWords Word8 Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ Word8 → Int Source #

HeapWords ByteString Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ ByteString → Int Source #

HeapWords ByteString Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ ByteString → Int Source #

HeapWords ShortByteString Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ ShortByteString → Int Source #

HeapWords IntSet Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ IntSet → Int Source #

HeapWords BigNat Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ BigNat → Int Source #

HeapWords Text Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ Text → Int Source #

HeapWords Day Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ Day → Int Source #

HeapWords UTCTime Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ UTCTime → Int Source #

HeapWords Integer Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ Integer → Int Source #

HeapWords Natural Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ Natural → Int Source #

HeapWords Bool Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ Bool → Int Source #

HeapWords Char Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ Char → Int Source #

HeapWords Float Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ Float → Int Source #

HeapWords Int Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ Int → Int Source #

HeapWords Word Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ Word → Int Source #

HeapWords a ⇒ HeapWords (IntMap a) Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ IntMap a → Int Source #

HeapWords a ⇒ HeapWords (Seq a) Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ Seq a → Int Source #

HeapWords a ⇒ HeapWords (Set a) Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ Set a → Int Source #

HeapWords e ⇒ HeapWords (Vector e) Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWordsVector e → Int Source #

HeapWords a ⇒ HeapWords (Maybe a) Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ Maybe a → Int Source #

HeapWords a ⇒ HeapWords [a] Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ [a] → Int Source #

(HeapWords a, HeapWords b) ⇒ HeapWords (Either a b) Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ Either a b → Int Source #

(HeapWords a, HeapWords b) ⇒ HeapWords (Map a b) Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ Map a b → Int Source #

HeapWords (a → b) Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ (a → b) → Int Source #

(HeapWords a, HeapWords b) ⇒ HeapWords (a, b) Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ (a, b) → Int Source #

(HeapWords a, HeapWords b, HeapWords c) ⇒ HeapWords (a, b, c) Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ (a, b, c) → Int Source #

(HeapWords a, HeapWords b, HeapWords c, HeapWords d) ⇒ HeapWords (a, b, c, d) Source # 
Instance details

Defined in Cardano.HeapWords

Methods

heapWords ∷ (a, b, c, d) → Int Source #

heapSizeMb ∷ Int → Int Source #

These functions assume a 64-bit architecture

heapSizeKb ∷ Int → Int Source #

These functions assume a 64-bit architecture

heapWords1HeapWords a ⇒ a → Int Source #

heapWords2 ∷ (HeapWords a1, HeapWords a) ⇒ a → a1 → Int Source #

heapWords3 ∷ (HeapWords a2, HeapWords a1, HeapWords a) ⇒ a → a1 → a2 → Int Source #

heapWords4 ∷ (HeapWords a3, HeapWords a2, HeapWords a1, HeapWords a) ⇒ a → a1 → a2 → a3 → Int Source #

heapWords5 ∷ (HeapWords a4, HeapWords a3, HeapWords a2, HeapWords a1, HeapWords a) ⇒ a → a1 → a2 → a3 → a4 → Int Source #

heapWords6 ∷ (HeapWords a5, HeapWords a4, HeapWords a3, HeapWords a2, HeapWords a1, HeapWords a) ⇒ a → a1 → a2 → a3 → a4 → a5 → Int Source #

heapWords7 ∷ (HeapWords a6, HeapWords a5, HeapWords a4, HeapWords a3, HeapWords a2, HeapWords a1, HeapWords a) ⇒ a → a1 → a2 → a3 → a4 → a5 → a6 → Int Source #

heapWords8 ∷ (HeapWords a7, HeapWords a6, HeapWords a5, HeapWords a4, HeapWords a3, HeapWords a2, HeapWords a1, HeapWords a) ⇒ a → a1 → a2 → a3 → a4 → a5 → a6 → a7 → Int Source #

heapWords9 ∷ (HeapWords a8, HeapWords a7, HeapWords a6, HeapWords a5, HeapWords a4, HeapWords a3, HeapWords a2, HeapWords a1, HeapWords a) ⇒ a → a1 → a2 → a3 → a4 → a5 → a6 → a7 → a8 → Int Source #

heapWords10 ∷ (HeapWords a9, HeapWords a8, HeapWords a7, HeapWords a6, HeapWords a5, HeapWords a4, HeapWords a3, HeapWords a2, HeapWords a1, HeapWords a) ⇒ a → a1 → a2 → a3 → a4 → a5 → a6 → a7 → a8 → a9 → Int Source #

heapWords11 ∷ (HeapWords a10, HeapWords a9, HeapWords a8, HeapWords a7, HeapWords a6, HeapWords a5, HeapWords a4, HeapWords a3, HeapWords a2, HeapWords a1, HeapWords a) ⇒ a → a1 → a2 → a3 → a4 → a5 → a6 → a7 → a8 → a9 → a10 → Int Source #

heapWords12 ∷ (HeapWords a11, HeapWords a10, HeapWords a9, HeapWords a8, HeapWords a7, HeapWords a6, HeapWords a5, HeapWords a4, HeapWords a3, HeapWords a2, HeapWords a1, HeapWords a) ⇒ a → a1 → a2 → a3 → a4 → a5 → a6 → a7 → a8 → a9 → a10 → a11 → Int Source #

heapWords13 ∷ (HeapWords a12, HeapWords a11, HeapWords a10, HeapWords a9, HeapWords a8, HeapWords a7, HeapWords a6, HeapWords a5, HeapWords a4, HeapWords a3, HeapWords a2, HeapWords a1, HeapWords a) ⇒ a → a1 → a2 → a3 → a4 → a5 → a6 → a7 → a8 → a9 → a10 → a11 → a12 → Int Source #

heapWordsUArray ∷ (Ix i, IArray a e) ⇒ Int → a i e → Int Source #

heapWordsUVectorUnbox e ⇒ Int → Vector e → Int Source #

heapWordsUnpackedHeapWords a ⇒ a → Int Source #

Calculate the number of heap words used by a field unpacked within another constructor.

This function simply subtracts 2 from the heapWords result of its parameter, since in the case of an unpacked field we _do not_ have to use:

  • a word for the pointer to the inner structure.
  • a word for the constructor that is being unpacked.