;lib: derive NFData for MultiBalanceReport, PriceGraph for criterion

Allow these to be timed with criterion at ghci prompt.
This commit is contained in:
Simon Michael 2019-08-01 18:23:31 +02:00
parent fe5c49dc36
commit 70986769ef
2 changed files with 10 additions and 2 deletions

View File

@ -464,7 +464,9 @@ data PriceGraph = PriceGraph {
-- but those have to be Real for shortest path finding,
-- so we'd have to transform them all first.
}
deriving (Show)
deriving (Show,Generic)
instance NFData PriceGraph
-- | What kind of value conversion should be done on amounts ?
-- UI: --value=cost|end|now|DATE[,COMM]

View File

@ -1,4 +1,4 @@
{-# LANGUAGE FlexibleInstances, RecordWildCards, ScopedTypeVariables, OverloadedStrings #-}
{-# LANGUAGE FlexibleInstances, RecordWildCards, ScopedTypeVariables, OverloadedStrings, DeriveGeneric #-}
{-|
Multi-column balance reports, used by the balance command.
@ -20,6 +20,8 @@ module Hledger.Reports.MultiBalanceReport (
)
where
import GHC.Generics (Generic)
import Control.DeepSeq (NFData)
import Data.List
import Data.Maybe
import Data.Ord
@ -69,9 +71,13 @@ newtype MultiBalanceReport =
,[MultiBalanceReportRow]
,MultiBalanceReportTotals
)
deriving (Generic)
type MultiBalanceReportRow = (AccountName, AccountName, Int, [MixedAmount], MixedAmount, MixedAmount)
type MultiBalanceReportTotals = ([MixedAmount], MixedAmount, MixedAmount) -- (Totals list, sum of totals, average of totals)
instance NFData MultiBalanceReport
instance Show MultiBalanceReport where
-- use pshow (pretty-show's ppShow) to break long lists onto multiple lines
-- we add some bogus extra shows here to help it parse the output