build checks.x86_64-linux.mutation-really-safe-money
147.97 s
[really-safe-money-gen] + oneToOne = ConversionRate 0
147.97 s
[really-safe-money-gen]
147.97 s
[really-safe-money-gen] -- | Invert a 'ConversionRate', to convert in the other direction.
147.97 s
[really-safe-money-gen] --
147.97 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:72:25-26 #1
147.97 s
[really-safe-money-gen] @@ -69,7 +69,7 @@
147.97 s
[really-safe-money-gen] -- >>> fromRational (0 % 1)
147.97 s
[really-safe-money-gen] -- Nothing
147.97 s
[really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
147.97 s
[really-safe-money-gen] - fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
147.97 s
[really-safe-money-gen] + fromRational r = if r < 1 then Nothing else fromRatio (realToFrac r)
147.97 s
[really-safe-money-gen]
147.97 s
[really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
147.97 s
[really-safe-money-gen] --
147.97 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:109:27-28 #2
147.97 s
[really-safe-money-gen] @@ -106,7 +106,7 @@
147.97 s
[really-safe-money-gen]
147.97 s
[really-safe-money-gen] -- | One-to-one conversion rate
147.97 s
[really-safe-money-gen] oneToOne :: ConversionRate
147.97 s
[really-safe-money-gen] - oneToOne = ConversionRate 1
147.97 s
[really-safe-money-gen] + oneToOne = ConversionRate - 1
147.97 s
[really-safe-money-gen]
147.97 s
[really-safe-money-gen] -- | Invert a 'ConversionRate', to convert in the other direction.
147.97 s
[really-safe-money-gen] --
147.97 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/ConversionRate.hs:72:21-26 #1
147.97 s
[really-safe-money-gen] @@ -69,7 +69,7 @@
147.97 s
[really-safe-money-gen] -- >>> fromRational (0 % 1)
147.97 s
[really-safe-money-gen] -- Nothing
147.97 s
[really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
147.97 s
[really-safe-money-gen] - fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
147.97 s
[really-safe-money-gen] + fromRational r = if r < = 0 then Nothing else fromRatio (realToFrac r)
147.97 s
[really-safe-money-gen]
147.97 s
[really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
147.98 s
[really-safe-money-gen] --
147.98 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/ConversionRate.hs:72:21-26 #2
147.98 s
[really-safe-money-gen] @@ -69,7 +69,7 @@
147.98 s
[really-safe-money-gen] -- >>> fromRational (0 % 1)
147.98 s
[really-safe-money-gen] -- Nothing
147.98 s
[really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
147.98 s
[really-safe-money-gen] - fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
147.98 s
[really-safe-money-gen] + fromRational r = if r > 0 then Nothing else fromRatio (realToFrac r)
147.98 s
[really-safe-money-gen]
147.98 s
[really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
147.98 s
[really-safe-money-gen] --
147.98 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/ConversionRate.hs:72:21-26 #3
147.98 s
[really-safe-money-gen] @@ -69,7 +69,7 @@
147.98 s
[really-safe-money-gen] -- >>> fromRational (0 % 1)
147.98 s
[really-safe-money-gen] -- Nothing
147.98 s
[really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
147.98 s
[really-safe-money-gen] - fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
147.98 s
[really-safe-money-gen] + fromRational r = if r > = 0 then Nothing else fromRatio (realToFrac r)
147.98 s
[really-safe-money-gen]
147.98 s
[really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
147.98 s
[really-safe-money-gen] --
147.98 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:72:21-26 #2
147.98 s
[really-safe-money-gen] @@ -69,7 +69,7 @@
147.98 s
[really-safe-money-gen] -- >>> fromRational (0 % 1)
147.98 s
[really-safe-money-gen] -- Nothing
147.98 s
[really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
147.98 s
[really-safe-money-gen] - fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
147.98 s
[really-safe-money-gen] + fromRational r = if Fal s e then Nothing else fromRatio (realToFrac r)
147.98 s
[really-safe-money-gen]
147.98 s
[really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
147.98 s
[really-safe-money-gen] --
147.98 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:72:21-26 #1
147.98 s
[really-safe-money-gen] @@ -69,7 +69,7 @@
147.98 s
[really-safe-money-gen] -- >>> fromRational (0 % 1)
147.98 s
[really-safe-money-gen] -- Nothing
147.98 s
[really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
147.98 s
[really-safe-money-gen] - fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
147.98 s
[really-safe-money-gen] + fromRational r = if T r u e then Nothing else fromRatio (realToFrac r)
147.98 s
[really-safe-money-gen]
147.98 s
[really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
147.98 s
[really-safe-money-gen] --
147.98 s
[really-safe-money-gen] Testing mutation Negate at src/Money/ConversionRate.hs:72:21-26 #1
147.98 s
[really-safe-money-gen] @@ -69,7 +69,7 @@
147.98 s
[really-safe-money-gen] -- >>> fromRational (0 % 1)
147.98 s
[really-safe-money-gen] -- Nothing
147.98 s
[really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
147.98 s
[really-safe-money-gen] - fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
147.98 s
[really-safe-money-gen] + fromRational r = if n o t ( r < 0 ) then Nothing else fromRatio (realToFrac r)
147.98 s
[really-safe-money-gen]
147.98 s
[really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
147.98 s
[really-safe-money-gen] --
147.98 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:38:56-57 #1
147.98 s
[really-safe-money-gen] @@ -35,7 +35,7 @@
147.98 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
147.98 s
[really-safe-money-gen] mconcat
147.98 s
[really-safe-money-gen] [ genericValidate cr,
147.98 s
[really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
147.98 s
[really-safe-money-gen] + declare "The rate is nonzero" $ numerator r /= 1
147.98 s
[really-safe-money-gen] ]
147.98 s
[really-safe-money-gen]
147.98 s
[really-safe-money-gen] instance NFData ConversionRate
147.98 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:38:41-57 #1
147.98 s
[really-safe-money-gen] @@ -35,7 +35,7 @@
147.98 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
147.98 s
[really-safe-money-gen] mconcat
147.98 s
[really-safe-money-gen] [ genericValidate cr,
147.98 s
[really-safe-money-gen] - declare "The rate is nonzero" $ n u m e rato r r /= 0
147.98 s
[really-safe-money-gen] + declare "The rate is nonzero" $ T r u e
147.98 s
[really-safe-money-gen] ]
147.98 s
[really-safe-money-gen]
147.98 s
[really-safe-money-gen] instance NFData ConversionRate
147.98 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:38:41-57 #2
147.98 s
[really-safe-money-gen] @@ -35,7 +35,7 @@
147.98 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
147.98 s
[really-safe-money-gen] mconcat
147.98 s
[really-safe-money-gen] [ genericValidate cr,
147.98 s
[really-safe-money-gen] - declare "The rate is nonzero" $ n u m er a t or r /= 0
147.98 s
[really-safe-money-gen] + declare "The rate is nonzero" $ F a l s e
147.98 s
[really-safe-money-gen] ]
147.98 s
[really-safe-money-gen]
147.98 s
[really-safe-money-gen] instance NFData ConversionRate
147.98 s
[really-safe-money-gen] Testing mutation Negate at src/Money/ConversionRate.hs:38:41-57 #1
147.98 s
[really-safe-money-gen] @@ -35,7 +35,7 @@
147.98 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
147.98 s
[really-safe-money-gen] mconcat
147.98 s
[really-safe-money-gen] [ genericValidate cr,
147.98 s
[really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
149.60 s
[really-safe-money-gen] + declare "The rate is nonzero" $ n o t ( numerator r /= 0 )
149.69 s
[really-safe-money-gen] ]
149.69 s
[really-safe-money-gen]
149.69 s
[really-safe-money-gen] instance NFData ConversionRate
149.69 s
[really-safe-money-gen] Testing mutation Arith at src/Money/ConversionRate.hs:132:3-24 #1
149.69 s
[really-safe-money-gen] @@ -129,4 +129,4 @@
149.69 s
[really-safe-money-gen] -- | The factor to multiply by when converting currencies.
149.70 s
[really-safe-money-gen] conversionFactor :: QuantisationFactor -> ConversionRate -> QuantisationFactor -> Ratio Natural
149.70 s
[really-safe-money-gen] conversionFactor (QuantisationFactor qf1) (ConversionRate cr) (QuantisationFactor qf2) =
149.70 s
[really-safe-money-gen] - cr * fromIntegral qf2 / fromIntegral qf1
149.70 s
[really-safe-money-gen] + cr + fromIntegral qf2 / fromIntegral qf1
149.70 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/ConversionRate.hs:37:7-8 #1
149.70 s
[really-safe-money-gen] @@ -34,9 +34,7 @@
149.70 s
[really-safe-money-gen] instance Validity ConversionRate where
149.70 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
149.70 s
[really-safe-money-gen] mconcat
149.70 s
[really-safe-money-gen] - [ genericValidate cr,
149.70 s
[really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
149.70 s
[really-safe-money-gen] ]
149.70 s
[really-safe-money-gen]
149.70 s
[really-safe-money-gen] instance NFData ConversionRate
149.70 s
[really-safe-money-gen]
149.70 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/ConversionRate.hs:37:7-8 #2
149.70 s
[really-safe-money-gen] @@ -34,9 +34,8 @@
149.70 s
[really-safe-money-gen] instance Validity ConversionRate where
149.70 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
149.70 s
[really-safe-money-gen] mconcat
149.70 s
[really-safe-money-gen] - [ genericValidate cr,
149.70 s
[really-safe-money-gen] declare "The rate is nonzero" $ numerator r /= 0
149.70 s
[really-safe-money-gen] ]
149.70 s
[really-safe-money-gen]
149.70 s
[really-safe-money-gen] instance NFData ConversionRate
149.70 s
[really-safe-money-gen]
149.70 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/AccountOf.hs:180:30-115 #1
149.70 s
[really-safe-money-gen] @@ -177,11 +177,10 @@
149.70 s
[really-safe-money-gen]
149.70 s
[really-safe-money-gen] -- | See 'Account.distribute'
149.70 s
[really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
149.70 s
[really-safe-money-gen] distribute (AccountOf a) w = case Account.distribute a w of
149.70 s
[really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
149.70 s
[really-safe-money-gen] DistributedZero -> DistributedZero
149.70 s
[really-safe-money-gen] DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
149.70 s
[really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
149.70 s
[really-safe-money-gen]
149.70 s
[really-safe-money-gen] -- | The result of 'distribute'
149.70 s
[really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
149.70 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/AccountOf.hs:180:30-115 #2
149.70 s
[really-safe-money-gen] @@ -177,11 +177,10 @@
149.70 s
[really-safe-money-gen]
149.70 s
[really-safe-money-gen] -- | See 'Account.distribute'
149.70 s
[really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
149.70 s
[really-safe-money-gen] distribute (AccountOf a) w = case Account.distribute a w of
149.70 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
149.70 s
[really-safe-money-gen] - DistributedZero -> DistributedZero
149.70 s
[really-safe-money-gen] DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
149.70 s
[really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
149.70 s
[really-safe-money-gen]
149.70 s
[really-safe-money-gen] -- | The result of 'distribute'
149.70 s
[really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
149.70 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/AccountOf.hs:180:30-115 #4
149.70 s
[really-safe-money-gen] @@ -177,11 +177,10 @@
149.70 s
[really-safe-money-gen]
149.70 s
[really-safe-money-gen] -- | See 'Account.distribute'
149.70 s
[really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
149.70 s
[really-safe-money-gen] distribute (AccountOf a) w = case Account.distribute a w of
149.70 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
149.70 s
[really-safe-money-gen] DistributedZero -> DistributedZero
149.70 s
[really-safe-money-gen] DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
149.70 s
[really-safe-money-gen] - DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
149.70 s
[really-safe-money-gen]
149.70 s
[really-safe-money-gen] -- | The result of 'distribute'
149.70 s
[really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
149.70 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/AccountOf.hs:180:30-115 #3
149.70 s
[really-safe-money-gen] @@ -177,11 +177,10 @@
149.70 s
[really-safe-money-gen]
149.71 s
[really-safe-money-gen] -- | See 'Account.distribute'
149.71 s
[really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
149.71 s
[really-safe-money-gen] distribute (AccountOf a) w = case Account.distribute a w of
149.71 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
149.71 s
[really-safe-money-gen] DistributedZero -> DistributedZero
149.71 s
[really-safe-money-gen] - DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
149.71 s
[really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
149.71 s
[really-safe-money-gen]
149.71 s
[really-safe-money-gen] -- | The result of 'distribute'
149.71 s
[really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
149.71 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:87:27-28 #1
149.71 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
149.71 s
[really-safe-money-gen] fromDecimalLiteral dl = do
149.71 s
[really-safe-money-gen] irat <-
149.71 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
149.71 s
[really-safe-money-gen] - in if numerator r == 0
149.71 s
[really-safe-money-gen] + in if numerator r == 1
149.71 s
[really-safe-money-gen] then Nothing
149.71 s
[really-safe-money-gen] else pure r
149.71 s
[really-safe-money-gen]
149.71 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28 #1
149.71 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
149.71 s
[really-safe-money-gen] fromDecimalLiteral dl = do
149.71 s
[really-safe-money-gen] irat <-
149.71 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
149.71 s
[really-safe-money-gen] - in if n u m e rato r r == 0
149.71 s
[really-safe-money-gen] + in if T r u e
149.71 s
[really-safe-money-gen] then Nothing
149.71 s
[really-safe-money-gen] else pure r
149.71 s
[really-safe-money-gen]
149.71 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28 #2
149.71 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
149.71 s
[really-safe-money-gen] fromDecimalLiteral dl = do
149.71 s
[really-safe-money-gen] irat <-
149.71 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
149.71 s
[really-safe-money-gen] - in if n u m er a t or r == 0
149.71 s
[really-safe-money-gen] + in if F a l s e
149.71 s
[really-safe-money-gen] then Nothing
149.71 s
[really-safe-money-gen] else pure r
149.71 s
[really-safe-money-gen]
149.71 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:87:12-28 #1
149.71 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
149.71 s
[really-safe-money-gen] fromDecimalLiteral dl = do
149.71 s
[really-safe-money-gen] irat <-
149.71 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
149.71 s
[really-safe-money-gen] - in if numerator r == 0
149.71 s
[really-safe-money-gen] + in if n o t ( numerator r == 0 )
149.71 s
[really-safe-money-gen] then Nothing
149.71 s
[really-safe-money-gen] else pure r
149.71 s
[really-safe-money-gen]
149.71 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14 #1
149.71 s
[really-safe-money-gen] @@ -89,7 +89,7 @@
149.71 s
[really-safe-money-gen] else pure r
149.71 s
[really-safe-money-gen]
149.71 s
[really-safe-money-gen] rat <-
149.71 s
[really-safe-money-gen] - let r = 1 / irat
149.71 s
[really-safe-money-gen] + let r = 0 / irat
149.71 s
[really-safe-money-gen] in if r < 0
149.71 s
[really-safe-money-gen] then Nothing
149.71 s
[really-safe-money-gen] else Just r
149.71 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14 #2
149.71 s
[really-safe-money-gen] @@ -89,7 +89,7 @@
149.71 s
[really-safe-money-gen] else pure r
149.71 s
[really-safe-money-gen]
149.71 s
[really-safe-money-gen] rat <-
149.71 s
[really-safe-money-gen] - let r = 1 / irat
149.71 s
[really-safe-money-gen] + let r = - 1 / irat
149.71 s
[really-safe-money-gen] in if r < 0
149.71 s
[really-safe-money-gen] then Nothing
149.71 s
[really-safe-money-gen] else Just r
149.71 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:93:16-17 #1
149.71 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
149.71 s
[really-safe-money-gen]
149.71 s
[really-safe-money-gen] rat <-
149.71 s
[really-safe-money-gen] let r = 1 / irat
149.71 s
[really-safe-money-gen] - in if r < 0
149.71 s
[really-safe-money-gen] + in if r < 1
149.71 s
[really-safe-money-gen] then Nothing
149.71 s
[really-safe-money-gen] else Just r
149.71 s
[really-safe-money-gen]
149.71 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17 #1
149.71 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
149.71 s
[really-safe-money-gen]
149.71 s
[really-safe-money-gen] rat <-
149.71 s
[really-safe-money-gen] let r = 1 / irat
149.71 s
[really-safe-money-gen] - in if r < 0
149.71 s
[really-safe-money-gen] + in if r < = 0
149.71 s
[really-safe-money-gen] then Nothing
149.71 s
[really-safe-money-gen] else Just r
149.71 s
[really-safe-money-gen]
149.71 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17 #2
149.71 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
149.71 s
[really-safe-money-gen]
149.71 s
[really-safe-money-gen] rat <-
149.71 s
[really-safe-money-gen] let r = 1 / irat
149.71 s
[really-safe-money-gen] - in if r < 0
149.71 s
[really-safe-money-gen] + in if r > 0
149.71 s
[really-safe-money-gen] then Nothing
149.71 s
[really-safe-money-gen] else Just r
149.71 s
[really-safe-money-gen]
149.71 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17 #3
149.71 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
149.71 s
[really-safe-money-gen]
149.71 s
[really-safe-money-gen] rat <-
149.71 s
[really-safe-money-gen] let r = 1 / irat
149.71 s
[really-safe-money-gen] - in if r < 0
149.71 s
[really-safe-money-gen] + in if r > = 0
149.71 s
[really-safe-money-gen] then Nothing
149.71 s
[really-safe-money-gen] else Just r
149.71 s
[really-safe-money-gen]
149.71 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17 #1
149.71 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
149.71 s
[really-safe-money-gen]
149.71 s
[really-safe-money-gen] rat <-
149.71 s
[really-safe-money-gen] let r = 1 / irat
149.71 s
[really-safe-money-gen] - in if r < 0
149.71 s
[really-safe-money-gen] + in if T r ue
149.71 s
[really-safe-money-gen] then Nothing
149.71 s
[really-safe-money-gen] else Just r
149.71 s
[really-safe-money-gen]
149.71 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17 #2
149.71 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
149.71 s
[really-safe-money-gen]
149.71 s
[really-safe-money-gen] rat <-
149.71 s
[really-safe-money-gen] let r = 1 / irat
149.71 s
[really-safe-money-gen] - in if r < 0
149.71 s
[really-safe-money-gen] + in if False
149.71 s
[really-safe-money-gen] then Nothing
149.71 s
[really-safe-money-gen] else Just r
149.71 s
[really-safe-money-gen]
149.71 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:93:12-17 #1
149.71 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
149.71 s
[really-safe-money-gen]
149.71 s
[really-safe-money-gen] rat <-
149.71 s
[really-safe-money-gen] let r = 1 / irat
149.71 s
[really-safe-money-gen] - in if r < 0
149.71 s
[really-safe-money-gen] + in if n o t ( r < 0 )
149.71 s
[really-safe-money-gen] then Nothing
149.71 s
[really-safe-money-gen] else Just r
149.71 s
[really-safe-money-gen]
151.65 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/QuantisationFactor.hs:95:16-22 #1
151.65 s
[really-safe-money-gen] @@ -92,7 +92,7 @@
151.65 s
[really-safe-money-gen] let r = 1 / irat
151.65 s
[really-safe-money-gen] in if r < 0
151.65 s
[really-safe-money-gen] then Nothing
151.65 s
[really-safe-money-gen] - else J u s t r
151.65 s
[really-safe-money-gen] + else No t h ing
151.65 s
[really-safe-money-gen]
151.65 s
[really-safe-money-gen] fac <-
151.65 s
[really-safe-money-gen] if denominator rat == 1
151.65 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28 #1
151.65 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
151.65 s
[really-safe-money-gen] else Just r
151.65 s
[really-safe-money-gen]
151.66 s
[really-safe-money-gen] fac <-
151.66 s
[really-safe-money-gen] - if denominator rat == 1
151.66 s
[really-safe-money-gen] + if denominator rat == 0
151.66 s
[really-safe-money-gen] then Just (numerator rat)
151.66 s
[really-safe-money-gen] else Nothing
151.66 s
[really-safe-money-gen]
151.66 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28 #2
151.66 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
151.66 s
[really-safe-money-gen] else Just r
151.66 s
[really-safe-money-gen]
151.66 s
[really-safe-money-gen] fac <-
151.66 s
[really-safe-money-gen] - if denominator rat == 1
151.66 s
[really-safe-money-gen] + if denominator rat == - 1
151.66 s
[really-safe-money-gen] then Just (numerator rat)
151.66 s
[really-safe-money-gen] else Nothing
151.66 s
[really-safe-money-gen]
151.66 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28 #1
151.66 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
151.66 s
[really-safe-money-gen] else Just r
151.66 s
[really-safe-money-gen]
151.66 s
[really-safe-money-gen] fac <-
151.66 s
[really-safe-money-gen] - if d e nom inato r r a t == 1
151.66 s
[really-safe-money-gen] + if T r ue
151.66 s
[really-safe-money-gen] then Just (numerator rat)
151.66 s
[really-safe-money-gen] else Nothing
151.66 s
[really-safe-money-gen]
151.66 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28 #2
151.66 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
151.66 s
[really-safe-money-gen] else Just r
151.66 s
[really-safe-money-gen]
151.66 s
[really-safe-money-gen] fac <-
151.66 s
[really-safe-money-gen] - if d e n omi n a t or rat == 1
151.66 s
[really-safe-money-gen] + if F a lse
151.66 s
[really-safe-money-gen] then Just (numerator rat)
151.66 s
[really-safe-money-gen] else Nothing
151.66 s
[really-safe-money-gen]
151.66 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:98:8-28 #1
151.66 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
151.66 s
[really-safe-money-gen] else Just r
151.66 s
[really-safe-money-gen]
151.66 s
[really-safe-money-gen] fac <-
151.66 s
[really-safe-money-gen] - if denominator rat == 1
151.66 s
[really-safe-money-gen] + if n o t ( denominator rat == 1 )
151.66 s
[really-safe-money-gen] then Just (numerator rat)
151.66 s
[really-safe-money-gen] else Nothing
151.66 s
[really-safe-money-gen]
151.66 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/QuantisationFactor.hs:99:12-32 #1
151.66 s
[really-safe-money-gen] @@ -96,7 +96,7 @@
151.66 s
[really-safe-money-gen]
151.66 s
[really-safe-money-gen] fac <-
151.66 s
[really-safe-money-gen] if denominator rat == 1
151.66 s
[really-safe-money-gen] - then J u s t ( n u m erator rat)
151.66 s
[really-safe-money-gen] + then No t hi n g
151.66 s
[really-safe-money-gen] else Nothing
151.66 s
[really-safe-money-gen]
151.66 s
[really-safe-money-gen] if fac <= fromIntegral (maxBound :: Word32)
151.66 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46 #1
151.66 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
151.66 s
[really-safe-money-gen] then Just (numerator rat)
151.66 s
[really-safe-money-gen] else Nothing
151.66 s
[really-safe-money-gen]
151.66 s
[really-safe-money-gen] - if fac < = fromIntegral (maxBound :: Word32)
151.66 s
[really-safe-money-gen] + if fac < fromIntegral (maxBound :: Word32)
151.66 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
151.66 s
[really-safe-money-gen] else Nothing
151.66 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46 #2
151.66 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
151.66 s
[really-safe-money-gen] then Just (numerator rat)
151.66 s
[really-safe-money-gen] else Nothing
151.66 s
[really-safe-money-gen]
151.66 s
[really-safe-money-gen] - if fac < = fromIntegral (maxBound :: Word32)
151.66 s
[really-safe-money-gen] + if fac > fromIntegral (maxBound :: Word32)
151.66 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
151.66 s
[really-safe-money-gen] else Nothing
151.66 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46 #3
151.66 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
151.66 s
[really-safe-money-gen] then Just (numerator rat)
151.66 s
[really-safe-money-gen] else Nothing
151.66 s
[really-safe-money-gen]
151.66 s
[really-safe-money-gen] - if fac < = fromIntegral (maxBound :: Word32)
151.66 s
[really-safe-money-gen] + if fac > = fromIntegral (maxBound :: Word32)
151.66 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
151.66 s
[really-safe-money-gen] else Nothing
151.66 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46 #2
151.66 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
151.66 s
[really-safe-money-gen] then Just (numerator rat)
151.66 s
[really-safe-money-gen] else Nothing
151.66 s
[really-safe-money-gen]
151.66 s
[really-safe-money-gen] - if f a c <= fr omInt e gral (maxBound :: Word32)
151.66 s
[really-safe-money-gen] + if F a ls e
151.66 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
151.66 s
[really-safe-money-gen] else Nothing
151.66 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:102:6-46 #1
151.66 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
151.66 s
[really-safe-money-gen] then Just (numerator rat)
151.66 s
[really-safe-money-gen] else Nothing
151.66 s
[really-safe-money-gen]
151.66 s
[really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
151.66 s
[really-safe-money-gen] + if n o t ( fac <= fromIntegral (maxBound :: Word32) )
151.66 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
151.66 s
[really-safe-money-gen] else Nothing
151.67 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46 #1
151.67 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
151.67 s
[really-safe-money-gen] then Just (numerator rat)
151.67 s
[really-safe-money-gen] else Nothing
151.67 s
[really-safe-money-gen]
151.67 s
[really-safe-money-gen] - i f f a c <= f ro mInte g r a l (maxB o u n d : : Wor d 3 2)
151.67 s
[really-safe-money-gen] + i f T r u e
151.67 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
151.67 s
[really-safe-money-gen] else Nothing
151.67 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/QuantisationFactor.hs:103:10-54 #1
151.67 s
[really-safe-money-gen] @@ -100,5 +100,5 @@
151.67 s
[really-safe-money-gen] else Nothing
151.67 s
[really-safe-money-gen]
151.67 s
[really-safe-money-gen] if fac <= fromIntegral (maxBound :: Word32)
151.67 s
[really-safe-money-gen] - then J u st ( Quant isa t i o n F a ct or (fromInt e g r a l fac))
151.67 s
[really-safe-money-gen] + then No t h i n g
151.67 s
[really-safe-money-gen] else Nothing
151.67 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68 #1
151.67 s
[really-safe-money-gen] @@ -64,7 +64,7 @@
151.67 s
[really-safe-money-gen] -- Just (DecimalLiteral Nothing 1 0)
151.67 s
[really-safe-money-gen] toDecimalLiteral :: QuantisationFactor -> Maybe DecimalLiteral
151.67 s
[really-safe-money-gen] toDecimalLiteral (QuantisationFactor qfw) =
151.67 s
[really-safe-money-gen] - DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational ( 1 % fromIntegral qfw)
151.67 s
[really-safe-money-gen] + DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational ( 0 % fromIntegral qfw)
151.67 s
[really-safe-money-gen]
151.67 s
[really-safe-money-gen] -- | Parse a 'QuantisationFactor' from a 'DecimalLiteral' that represents the smallest unit
151.67 s
[really-safe-money-gen] -- TODO explain that it's the inverse.
151.67 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68 #2
151.67 s
[really-safe-money-gen] @@ -64,7 +64,7 @@
151.67 s
[really-safe-money-gen] -- Just (DecimalLiteral Nothing 1 0)
151.67 s
[really-safe-money-gen] toDecimalLiteral :: QuantisationFactor -> Maybe DecimalLiteral
151.67 s
[really-safe-money-gen] toDecimalLiteral (QuantisationFactor qfw) =
151.67 s
[really-safe-money-gen] - DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational ( 1 % fromIntegral qfw)
151.67 s
[really-safe-money-gen] + DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational ( - 1 % fromIntegral qfw)
151.67 s
[really-safe-money-gen]
151.67 s
[really-safe-money-gen] -- | Parse a 'QuantisationFactor' from a 'DecimalLiteral' that represents the smallest unit
151.67 s
[really-safe-money-gen] -- TODO explain that it's the inverse.
151.67 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:40:62-63 #1
151.67 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
151.67 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
151.67 s
[really-safe-money-gen] mconcat
151.67 s
[really-safe-money-gen] [ genericValidate qf,
151.67 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
151.67 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ w /= 1
151.67 s
[really-safe-money-gen] ]
151.67 s
[really-safe-money-gen]
151.67 s
[really-safe-money-gen] instance NFData QuantisationFactor
151.67 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63 #1
151.67 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
151.67 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
151.67 s
[really-safe-money-gen] mconcat
151.67 s
[really-safe-money-gen] [ genericValidate qf,
151.67 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
151.67 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ Tru e
151.67 s
[really-safe-money-gen] ]
151.67 s
[really-safe-money-gen]
151.67 s
[really-safe-money-gen] instance NFData QuantisationFactor
151.67 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63 #2
151.67 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
151.67 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
151.67 s
[really-safe-money-gen] mconcat
151.67 s
[really-safe-money-gen] [ genericValidate qf,
151.67 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
151.67 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ F a lse
151.67 s
[really-safe-money-gen] ]
151.67 s
[really-safe-money-gen]
151.67 s
[really-safe-money-gen] instance NFData QuantisationFactor
151.67 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:40:57-63 #1
151.67 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
151.67 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
151.67 s
[really-safe-money-gen] mconcat
152.90 s
[really-safe-money-gen] [ genericValidate qf,
152.90 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
152.90 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ n o t ( w /= 0 )
152.90 s
[really-safe-money-gen] ]
152.90 s
[really-safe-money-gen]
152.90 s
[really-safe-money-gen] instance NFData QuantisationFactor
152.90 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8 #1
152.90 s
[really-safe-money-gen] @@ -36,9 +36,7 @@
152.90 s
[really-safe-money-gen] instance Validity QuantisationFactor where
152.90 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
152.90 s
[really-safe-money-gen] mconcat
152.90 s
[really-safe-money-gen] - [ genericValidate qf,
152.90 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
152.90 s
[really-safe-money-gen] ]
152.90 s
[really-safe-money-gen]
152.90 s
[really-safe-money-gen] instance NFData QuantisationFactor
152.90 s
[really-safe-money-gen]
152.90 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38 #1
152.90 s
[really-safe-money-gen] @@ -171,10 +171,9 @@
152.90 s
[really-safe-money-gen] fmap
152.90 s
[really-safe-money-gen] ( ( \theoreticalResult ->
152.90 s
[really-safe-money-gen] let rounder :: Rational -> Integer
152.90 s
[really-safe-money-gen] rounder = case r of
152.90 s
[really-safe-money-gen] - RoundUp -> ceiling
152.90 s
[really-safe-money-gen] RoundDown -> floor
152.90 s
[really-safe-money-gen] RoundNearest -> round
152.91 s
[really-safe-money-gen] roundedResult :: Integer
152.91 s
[really-safe-money-gen] roundedResult = rounder theoreticalResult
152.91 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
152.91 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8 #2
152.91 s
[really-safe-money-gen] @@ -36,9 +36,8 @@
152.91 s
[really-safe-money-gen] instance Validity QuantisationFactor where
152.91 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
152.91 s
[really-safe-money-gen] mconcat
152.91 s
[really-safe-money-gen] - [ genericValidate qf,
152.91 s
[really-safe-money-gen] declare "The quantisation factor is not zero" $ w /= 0
152.91 s
[really-safe-money-gen] ]
152.91 s
[really-safe-money-gen]
152.91 s
[really-safe-money-gen] instance NFData QuantisationFactor
152.91 s
[really-safe-money-gen]
152.91 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38 #2
152.91 s
[really-safe-money-gen] @@ -171,10 +171,9 @@
152.91 s
[really-safe-money-gen] fmap
152.91 s
[really-safe-money-gen] ( ( \theoreticalResult ->
152.91 s
[really-safe-money-gen] let rounder :: Rational -> Integer
152.91 s
[really-safe-money-gen] rounder = case r of
152.91 s
[really-safe-money-gen] RoundUp -> ceiling
152.91 s
[really-safe-money-gen] - RoundDown -> floor
152.91 s
[really-safe-money-gen] RoundNearest -> round
152.91 s
[really-safe-money-gen] roundedResult :: Integer
152.91 s
[really-safe-money-gen] roundedResult = rounder theoreticalResult
152.91 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
152.91 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38 #3
152.91 s
[really-safe-money-gen] @@ -171,10 +171,9 @@
152.91 s
[really-safe-money-gen] fmap
152.91 s
[really-safe-money-gen] ( ( \theoreticalResult ->
152.91 s
[really-safe-money-gen] let rounder :: Rational -> Integer
152.91 s
[really-safe-money-gen] rounder = case r of
152.91 s
[really-safe-money-gen] RoundUp -> ceiling
152.91 s
[really-safe-money-gen] RoundDown -> floor
152.91 s
[really-safe-money-gen] - RoundNearest -> round
152.91 s
[really-safe-money-gen] roundedResult :: Integer
152.91 s
[really-safe-money-gen] roundedResult = rounder theoreticalResult
152.91 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
152.91 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32 #1
152.91 s
[really-safe-money-gen] @@ -177,10 +177,9 @@
152.91 s
[really-safe-money-gen] RoundNearest -> round
152.91 s
[really-safe-money-gen] roundedResult :: Integer
152.91 s
[really-safe-money-gen] roundedResult = rounder theoreticalResult
152.91 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
152.91 s
[really-safe-money-gen] - LT -> RoundedDown
152.91 s
[really-safe-money-gen] EQ -> DidNotRound
152.91 s
[really-safe-money-gen] GT -> RoundedUp
152.91 s
[really-safe-money-gen] in (Account.fromMinimalQuantisations roundedResult, rounded)
152.91 s
[really-safe-money-gen] )
152.91 s
[really-safe-money-gen] . Prelude.sum
152.91 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32 #2
152.91 s
[really-safe-money-gen] @@ -177,10 +177,9 @@
152.91 s
[really-safe-money-gen] RoundNearest -> round
152.91 s
[really-safe-money-gen] roundedResult :: Integer
152.91 s
[really-safe-money-gen] roundedResult = rounder theoreticalResult
152.91 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
152.91 s
[really-safe-money-gen] LT -> RoundedDown
152.91 s
[really-safe-money-gen] - EQ -> DidNotRound
152.91 s
[really-safe-money-gen] GT -> RoundedUp
152.91 s
[really-safe-money-gen] in (Account.fromMinimalQuantisations roundedResult, rounded)
152.91 s
[really-safe-money-gen] )
152.91 s
[really-safe-money-gen] . Prelude.sum
152.91 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32 #3
152.91 s
[really-safe-money-gen] @@ -177,10 +177,9 @@
152.91 s
[really-safe-money-gen] RoundNearest -> round
152.91 s
[really-safe-money-gen] roundedResult :: Integer
152.91 s
[really-safe-money-gen] roundedResult = rounder theoreticalResult
152.91 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
152.92 s
[really-safe-money-gen] LT -> RoundedDown
152.92 s
[really-safe-money-gen] EQ -> DidNotRound
152.92 s
[really-safe-money-gen] - GT -> RoundedUp
152.92 s
[really-safe-money-gen] in (Account.fromMinimalQuantisations roundedResult, rounded)
152.92 s
[really-safe-money-gen] )
152.92 s
[really-safe-money-gen] . Prelude.sum
152.92 s
[really-safe-money-gen] Testing mutation Arith at src/Money/MultiAccount.hs:192:19-51 #1
152.92 s
[really-safe-money-gen] @@ -189,8 +189,8 @@
152.92 s
[really-safe-money-gen] ( \(currency, a) ->
152.92 s
[really-safe-money-gen] ( \(cr, qf2) ->
152.92 s
[really-safe-money-gen] let factor = ConversionRate.conversionFactor qf2 cr qf1
152.92 s
[really-safe-money-gen] in Account.toMinimalQuantisations a
152.92 s
[really-safe-money-gen] - * toInteger (numerator factor)
152.92 s
[really-safe-money-gen] + + toInteger (numerator factor)
152.92 s
[really-safe-money-gen] % toInteger (denominator factor)
152.92 s
[really-safe-money-gen] )
152.92 s
[really-safe-money-gen] <$> func currency
152.92 s
[really-safe-money-gen] Testing mutation Arith at src/Money/MultiAccount.hs:192:19-51 #2
152.92 s
[really-safe-money-gen] @@ -189,8 +189,8 @@
152.92 s
[really-safe-money-gen] ( \(currency, a) ->
152.92 s
[really-safe-money-gen] ( \(cr, qf2) ->
152.92 s
[really-safe-money-gen] let factor = ConversionRate.conversionFactor qf2 cr qf1
152.92 s
[really-safe-money-gen] in Account.toMinimalQuantisations a
152.92 s
[really-safe-money-gen] - * toInteger (numerator factor)
152.92 s
[really-safe-money-gen] + - toInteger (numerator factor)
152.92 s
[really-safe-money-gen] % toInteger (denominator factor)
152.92 s
[really-safe-money-gen] )
152.92 s
[really-safe-money-gen] <$> func currency
152.92 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAccount.hs:126:45-51 #1
152.92 s
[really-safe-money-gen] @@ -123,7 +123,7 @@
152.92 s
[really-safe-money-gen]
152.92 s
[really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
152.92 s
[really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
152.92 s
[really-safe-money-gen] - subtractAccount m _ (Positive (Amount 0)) = J u s t m
152.92 s
[really-safe-money-gen] + subtractAccount m _ (Positive (Amount 0)) = No t h ing
152.92 s
[really-safe-money-gen] subtractAccount m _ (Negative (Amount 0)) = Just m
152.92 s
[really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
152.92 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
152.92 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAccount.hs:127:45-51 #1
152.92 s
[really-safe-money-gen] @@ -124,7 +124,7 @@
152.92 s
[really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
152.92 s
[really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
152.92 s
[really-safe-money-gen] subtractAccount m _ (Positive (Amount 0)) = Just m
152.92 s
[really-safe-money-gen] - subtractAccount m _ (Negative (Amount 0)) = J u s t m
152.92 s
[really-safe-money-gen] + subtractAccount m _ (Negative (Amount 0)) = No t h ing
152.92 s
[really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
152.92 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
152.92 s
[really-safe-money-gen] Nothing -> Just $ M.insert currency (Account.negate account) m
152.92 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:134:12-29 #1
152.92 s
[really-safe-money-gen] @@ -131,7 +131,7 @@
152.92 s
[really-safe-money-gen] Just a -> do
152.92 s
[really-safe-money-gen] r <- Account.subtract a account
152.92 s
[really-safe-money-gen] Just $
152.92 s
[really-safe-money-gen] - if r == Acc o u n t. z e r o
152.92 s
[really-safe-money-gen] + if T r u e
152.92 s
[really-safe-money-gen] then M.delete currency m
152.92 s
[really-safe-money-gen] else M.insert currency r m
152.92 s
[really-safe-money-gen]
152.92 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:134:12-29 #2
152.92 s
[really-safe-money-gen] @@ -131,7 +131,7 @@
152.92 s
[really-safe-money-gen] Just a -> do
152.92 s
[really-safe-money-gen] r <- Account.subtract a account
152.92 s
[really-safe-money-gen] Just $
152.92 s
[really-safe-money-gen] - if r == Accou n t .z e ro
152.92 s
[really-safe-money-gen] + if F als e
152.92 s
[really-safe-money-gen] then M.delete currency m
152.92 s
[really-safe-money-gen] else M.insert currency r m
152.92 s
[really-safe-money-gen]
152.92 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAccount.hs:134:12-29 #1
152.92 s
[really-safe-money-gen] @@ -131,7 +131,7 @@
152.92 s
[really-safe-money-gen] Just a -> do
152.92 s
[really-safe-money-gen] r <- Account.subtract a account
152.92 s
[really-safe-money-gen] Just $
152.92 s
[really-safe-money-gen] - if r == Account.zero
152.92 s
[really-safe-money-gen] + if n o t ( r == Account.zero )
152.92 s
[really-safe-money-gen] then M.delete currency m
152.92 s
[really-safe-money-gen] else M.insert currency r m
152.92 s
[really-safe-money-gen]
152.92 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:129:23-37 #1
152.92 s
[really-safe-money-gen] @@ -126,14 +126,13 @@
152.92 s
[really-safe-money-gen] subtractAccount m _ (Positive (Amount 0)) = Just m
152.92 s
[really-safe-money-gen] subtractAccount m _ (Negative (Amount 0)) = Just m
152.92 s
[really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
152.92 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
156.94 s
[really-safe-money-gen] - Nothing -> Just $ M.insert currency (Account.negate account) m
156.94 s
[really-safe-money-gen] Just a -> do
157.01 s
[really-safe-money-gen] r <- Account.subtract a account
157.01 s
[really-safe-money-gen] Just $
157.01 s
[really-safe-money-gen] if r == Account.zero
157.01 s
[really-safe-money-gen] then M.delete currency m
157.01 s
[really-safe-money-gen] else M.insert currency r m
157.01 s
[really-safe-money-gen]
157.01 s
[really-safe-money-gen] -- | Try to convert every account to one currency.
157.01 s
[really-safe-money-gen] --
157.01 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:129:23-37 #2
157.01 s
[really-safe-money-gen] @@ -126,14 +126,8 @@
157.01 s
[really-safe-money-gen] subtractAccount m _ (Positive (Amount 0)) = Just m
157.01 s
[really-safe-money-gen] subtractAccount m _ (Negative (Amount 0)) = Just m
157.02 s
[really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
157.02 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
157.02 s
[really-safe-money-gen] Nothing -> Just $ M.insert currency (Account.negate account) m
157.02 s
[really-safe-money-gen] - Just a -> do
157.02 s
[really-safe-money-gen] - r <- Account.subtract a account
157.02 s
[really-safe-money-gen] - Just $
157.02 s
[really-safe-money-gen] - if r == Account.zero
157.02 s
[really-safe-money-gen] - then M.delete currency m
157.02 s
[really-safe-money-gen] - else M.insert currency r m
157.02 s
[really-safe-money-gen]
157.02 s
[really-safe-money-gen] -- | Try to convert every account to one currency.
157.02 s
[really-safe-money-gen] --
157.02 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAccount.hs:112:40-46 #1
157.02 s
[really-safe-money-gen] @@ -109,7 +109,7 @@
157.02 s
[really-safe-money-gen]
157.02 s
[really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
157.02 s
[really-safe-money-gen] addAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
157.02 s
[really-safe-money-gen] - addAccount m _ (Positive (Amount 0)) = J u s t m
157.02 s
[really-safe-money-gen] + addAccount m _ (Positive (Amount 0)) = No t h ing
157.02 s
[really-safe-money-gen] addAccount m _ (Negative (Amount 0)) = Just m
157.02 s
[really-safe-money-gen] addAccount (MultiAccount m) currency account =
157.02 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
157.02 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAccount.hs:113:40-46 #1
157.02 s
[really-safe-money-gen] @@ -110,7 +110,7 @@
157.02 s
[really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
157.02 s
[really-safe-money-gen] addAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
157.02 s
[really-safe-money-gen] addAccount m _ (Positive (Amount 0)) = Just m
157.02 s
[really-safe-money-gen] - addAccount m _ (Negative (Amount 0)) = J u s t m
157.02 s
[really-safe-money-gen] + addAccount m _ (Negative (Amount 0)) = No t h ing
157.02 s
[really-safe-money-gen] addAccount (MultiAccount m) currency account =
157.02 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
157.02 s
[really-safe-money-gen] Nothing -> Just $ M.insert currency account m
157.02 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:120:12-29 #1
157.02 s
[really-safe-money-gen] @@ -117,7 +117,7 @@
157.02 s
[really-safe-money-gen] Just a -> do
157.02 s
[really-safe-money-gen] r <- Account.add a account
157.02 s
[really-safe-money-gen] Just $
157.02 s
[really-safe-money-gen] - if r == Acc o u n t. z e r o
157.02 s
[really-safe-money-gen] + if T r u e
157.02 s
[really-safe-money-gen] then M.delete currency m
157.02 s
[really-safe-money-gen] else M.insert currency r m
157.02 s
[really-safe-money-gen]
157.02 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAccount.hs:120:12-29 #1
157.02 s
[really-safe-money-gen] @@ -117,7 +117,7 @@
157.02 s
[really-safe-money-gen] Just a -> do
157.02 s
[really-safe-money-gen] r <- Account.add a account
157.02 s
[really-safe-money-gen] Just $
157.02 s
[really-safe-money-gen] - if r == Account.zero
157.02 s
[really-safe-money-gen] + if n o t ( r == Account.zero )
157.02 s
[really-safe-money-gen] then M.delete currency m
157.02 s
[really-safe-money-gen] else M.insert currency r m
157.02 s
[really-safe-money-gen]
157.02 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:120:12-29 #2
157.02 s
[really-safe-money-gen] @@ -117,7 +117,7 @@
157.02 s
[really-safe-money-gen] Just a -> do
157.02 s
[really-safe-money-gen] r <- Account.add a account
157.02 s
[really-safe-money-gen] Just $
157.02 s
[really-safe-money-gen] - if r == Accou n t .z e ro
157.02 s
[really-safe-money-gen] + if F als e
157.02 s
[really-safe-money-gen] then M.delete currency m
157.02 s
[really-safe-money-gen] else M.insert currency r m
157.02 s
[really-safe-money-gen]
157.02 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:341:26-91 #1
157.02 s
[really-safe-money-gen] @@ -338,7 +338,7 @@
157.02 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
157.02 s
[really-safe-money-gen] in if ceiled == floored
157.02 s
[really-safe-money-gen] then
157.02 s
[really-safe-money-gen] - if c e il ed > ( f r o mI n t e g ra l :: Word64 -> Natural) (maxBound :: Word64)
157.02 s
[really-safe-money-gen] + if T r u e
157.02 s
[really-safe-money-gen] then Nothing
157.02 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
157.02 s
[really-safe-money-gen] else Nothing
157.02 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:115:23-37 #1
157.03 s
[really-safe-money-gen] @@ -112,14 +112,13 @@
157.03 s
[really-safe-money-gen] addAccount m _ (Positive (Amount 0)) = Just m
157.03 s
[really-safe-money-gen] addAccount m _ (Negative (Amount 0)) = Just m
157.03 s
[really-safe-money-gen] addAccount (MultiAccount m) currency account =
157.03 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
157.03 s
[really-safe-money-gen] - Nothing -> Just $ M.insert currency account m
157.03 s
[really-safe-money-gen] Just a -> do
157.03 s
[really-safe-money-gen] r <- Account.add a account
157.03 s
[really-safe-money-gen] Just $
157.03 s
[really-safe-money-gen] if r == Account.zero
157.03 s
[really-safe-money-gen] then M.delete currency m
157.03 s
[really-safe-money-gen] else M.insert currency r m
157.03 s
[really-safe-money-gen]
157.03 s
[really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
157.03 s
[really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
157.03 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:115:23-37 #2
157.03 s
[really-safe-money-gen] @@ -112,14 +112,8 @@
157.03 s
[really-safe-money-gen] addAccount m _ (Positive (Amount 0)) = Just m
157.03 s
[really-safe-money-gen] addAccount m _ (Negative (Amount 0)) = Just m
157.03 s
[really-safe-money-gen] addAccount (MultiAccount m) currency account =
157.03 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
157.03 s
[really-safe-money-gen] Nothing -> Just $ M.insert currency account m
157.03 s
[really-safe-money-gen] - Just a -> do
157.03 s
[really-safe-money-gen] - r <- Account.add a account
157.03 s
[really-safe-money-gen] - Just $
157.03 s
[really-safe-money-gen] - if r == Account.zero
157.03 s
[really-safe-money-gen] - then M.delete currency m
157.03 s
[really-safe-money-gen] - else M.insert currency r m
157.03 s
[really-safe-money-gen]
157.03 s
[really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
157.03 s
[really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
157.03 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:78:6-28 #1
157.03 s
[really-safe-money-gen] @@ -75,7 +75,7 @@
157.03 s
[really-safe-money-gen]
157.03 s
[really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
157.03 s
[really-safe-money-gen] fromAccount currency amount =
157.03 s
[really-safe-money-gen] - if a m o unt == A cco u n t.z e ro
157.03 s
[really-safe-money-gen] + if Tr u e
157.03 s
[really-safe-money-gen] then zero
157.03 s
[really-safe-money-gen] else MultiAccount $ M.singleton currency amount
157.03 s
[really-safe-money-gen]
157.03 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:78:6-28 #2
157.03 s
[really-safe-money-gen] @@ -75,7 +75,7 @@
157.03 s
[really-safe-money-gen]
157.03 s
[really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
157.03 s
[really-safe-money-gen] fromAccount currency amount =
157.03 s
[really-safe-money-gen] - if a m o unt == Accoun t.z e ro
157.03 s
[really-safe-money-gen] + if F a ls e
157.03 s
[really-safe-money-gen] then zero
157.03 s
[really-safe-money-gen] else MultiAccount $ M.singleton currency amount
157.03 s
[really-safe-money-gen]
157.03 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAccount.hs:78:6-28 #1
157.03 s
[really-safe-money-gen] @@ -75,7 +75,7 @@
157.03 s
[really-safe-money-gen]
157.03 s
[really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
157.03 s
[really-safe-money-gen] fromAccount currency amount =
157.03 s
[really-safe-money-gen] - if amount == Account.zero
157.03 s
[really-safe-money-gen] + if n o t ( amount == Account.zero )
157.03 s
[really-safe-money-gen] then zero
157.03 s
[really-safe-money-gen] else MultiAccount $ M.singleton currency amount
157.03 s
[really-safe-money-gen]
157.03 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:69:13-30 #1
157.03 s
[really-safe-money-gen] @@ -66,7 +66,7 @@
157.03 s
[really-safe-money-gen] [ genericValidate ma,
157.03 s
[really-safe-money-gen] decorateMap m $ \_ a ->
157.03 s
[really-safe-money-gen] declare "The account is not zero" $
157.03 s
[really-safe-money-gen] - a / = Ac co u nt .z e ro
157.03 s
[really-safe-money-gen] + T r u e
157.03 s
[really-safe-money-gen] ]
157.03 s
[really-safe-money-gen]
157.03 s
[really-safe-money-gen] -- TODO no empty currencies
157.03 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAccount.hs:69:13-30 #1
157.03 s
[really-safe-money-gen] @@ -66,7 +66,7 @@
157.03 s
[really-safe-money-gen] [ genericValidate ma,
157.03 s
[really-safe-money-gen] decorateMap m $ \_ a ->
157.03 s
[really-safe-money-gen] declare "The account is not zero" $
157.03 s
[really-safe-money-gen] - a /= Account.zero
157.03 s
[really-safe-money-gen] + n o t ( a /= Account.zero )
157.03 s
[really-safe-money-gen] ]
157.03 s
[really-safe-money-gen]
157.03 s
[really-safe-money-gen] -- TODO no empty currencies
157.03 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:69:13-30 #2
157.03 s
[really-safe-money-gen] @@ -66,7 +66,7 @@
157.03 s
[really-safe-money-gen] [ genericValidate ma,
157.03 s
[really-safe-money-gen] decorateMap m $ \_ a ->
157.03 s
[really-safe-money-gen] declare "The account is not zero" $
157.03 s
[really-safe-money-gen] - a / = Acco u nt .z e ro
157.03 s
[really-safe-money-gen] + F a ls e
157.03 s
[really-safe-money-gen] ]
157.03 s
[really-safe-money-gen]
157.03 s
[really-safe-money-gen] -- TODO no empty currencies
159.18 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAccount.hs:66:7-8 #1
159.18 s
[really-safe-money-gen] @@ -63,11 +63,7 @@
159.18 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
159.18 s
[really-safe-money-gen] validate ma@(MultiAccount m) =
159.18 s
[really-safe-money-gen] mconcat
159.18 s
[really-safe-money-gen] - [ genericValidate ma,
159.19 s
[really-safe-money-gen] - decorateMap m $ \_ a ->
159.19 s
[really-safe-money-gen] - declare "The account is not zero" $
159.19 s
[really-safe-money-gen] - a /= Account.zero
159.19 s
[really-safe-money-gen] ]
159.19 s
[really-safe-money-gen]
159.19 s
[really-safe-money-gen] -- TODO no empty currencies
159.19 s
[really-safe-money-gen]
159.19 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAccount.hs:66:7-8 #2
159.19 s
[really-safe-money-gen] @@ -63,11 +63,10 @@
159.19 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
159.19 s
[really-safe-money-gen] validate ma@(MultiAccount m) =
159.19 s
[really-safe-money-gen] mconcat
159.19 s
[really-safe-money-gen] - [ genericValidate ma,
159.19 s
[really-safe-money-gen] decorateMap m $ \_ a ->
159.19 s
[really-safe-money-gen] declare "The account is not zero" $
159.19 s
[really-safe-money-gen] a /= Account.zero
159.19 s
[really-safe-money-gen] ]
159.19 s
[really-safe-money-gen]
159.19 s
[really-safe-money-gen] -- TODO no empty currencies
159.19 s
[really-safe-money-gen]
159.19 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38 #1
159.19 s
[really-safe-money-gen] @@ -156,10 +156,9 @@
159.19 s
[really-safe-money-gen] fmap
159.19 s
[really-safe-money-gen] ( ( \theoreticalResult ->
159.19 s
[really-safe-money-gen] let rounder :: Ratio Natural -> Natural
159.19 s
[really-safe-money-gen] rounder = case r of
159.19 s
[really-safe-money-gen] - RoundUp -> ceiling
159.19 s
[really-safe-money-gen] RoundDown -> floor
159.19 s
[really-safe-money-gen] RoundNearest -> round
159.19 s
[really-safe-money-gen] roundedResult :: Natural
159.19 s
[really-safe-money-gen] roundedResult = rounder theoreticalResult
159.19 s
[really-safe-money-gen] maxBoundN :: Natural
159.19 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38 #2
159.19 s
[really-safe-money-gen] @@ -156,10 +156,9 @@
159.19 s
[really-safe-money-gen] fmap
159.19 s
[really-safe-money-gen] ( ( \theoreticalResult ->
159.19 s
[really-safe-money-gen] let rounder :: Ratio Natural -> Natural
159.19 s
[really-safe-money-gen] rounder = case r of
159.19 s
[really-safe-money-gen] RoundUp -> ceiling
159.19 s
[really-safe-money-gen] - RoundDown -> floor
159.19 s
[really-safe-money-gen] RoundNearest -> round
159.19 s
[really-safe-money-gen] roundedResult :: Natural
159.19 s
[really-safe-money-gen] roundedResult = rounder theoreticalResult
159.19 s
[really-safe-money-gen] maxBoundN :: Natural
159.19 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38 #3
159.19 s
[really-safe-money-gen] @@ -156,10 +156,9 @@
159.19 s
[really-safe-money-gen] fmap
159.19 s
[really-safe-money-gen] ( ( \theoreticalResult ->
159.19 s
[really-safe-money-gen] let rounder :: Ratio Natural -> Natural
159.19 s
[really-safe-money-gen] rounder = case r of
159.19 s
[really-safe-money-gen] RoundUp -> ceiling
159.19 s
[really-safe-money-gen] RoundDown -> floor
159.19 s
[really-safe-money-gen] - RoundNearest -> round
159.19 s
[really-safe-money-gen] roundedResult :: Natural
159.19 s
[really-safe-money-gen] roundedResult = rounder theoreticalResult
159.19 s
[really-safe-money-gen] maxBoundN :: Natural
159.19 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/MultiAmount.hs:168:20-45 #1
159.19 s
[really-safe-money-gen] @@ -165,7 +165,7 @@
159.19 s
[really-safe-money-gen] maxBoundN :: Natural
159.19 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
159.19 s
[really-safe-money-gen] actualResult =
159.19 s
[really-safe-money-gen] - if roundedResult > maxBoundN
159.19 s
[really-safe-money-gen] + if roundedResult < maxBoundN
159.19 s
[really-safe-money-gen] then Nothing
159.19 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
159.19 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
159.19 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/MultiAmount.hs:168:20-45 #2
159.19 s
[really-safe-money-gen] @@ -165,7 +165,7 @@
159.19 s
[really-safe-money-gen] maxBoundN :: Natural
159.19 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
159.19 s
[really-safe-money-gen] actualResult =
159.19 s
[really-safe-money-gen] - if roundedResult > maxBoundN
159.19 s
[really-safe-money-gen] + if roundedResult < = maxBoundN
159.19 s
[really-safe-money-gen] then Nothing
159.19 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
159.19 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
159.19 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/MultiAmount.hs:168:20-45 #3
159.19 s
[really-safe-money-gen] @@ -165,7 +165,7 @@
159.19 s
[really-safe-money-gen] maxBoundN :: Natural
159.19 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
159.19 s
[really-safe-money-gen] actualResult =
159.19 s
[really-safe-money-gen] - if roundedResult > maxBoundN
159.19 s
[really-safe-money-gen] + if roundedResult > = maxBoundN
159.19 s
[really-safe-money-gen] then Nothing
159.20 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
159.20 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
159.20 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:168:20-45 #1
159.20 s
[really-safe-money-gen] @@ -165,7 +165,7 @@
159.20 s
[really-safe-money-gen] maxBoundN :: Natural
159.20 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
159.20 s
[really-safe-money-gen] actualResult =
159.20 s
[really-safe-money-gen] - if r o u n ded R e s u lt > maxBoundN
159.20 s
[really-safe-money-gen] + if T r u e
159.20 s
[really-safe-money-gen] then Nothing
159.20 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
159.20 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
159.20 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:168:20-45 #2
159.20 s
[really-safe-money-gen] @@ -165,7 +165,7 @@
159.20 s
[really-safe-money-gen] maxBoundN :: Natural
159.20 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
159.20 s
[really-safe-money-gen] actualResult =
159.20 s
[really-safe-money-gen] - if r ou nde dResult > m a xBo u ndN
159.20 s
[really-safe-money-gen] + if F a l se
159.20 s
[really-safe-money-gen] then Nothing
159.20 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
159.20 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
159.20 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:168:20-45 #1
159.20 s
[really-safe-money-gen] @@ -165,7 +165,7 @@
159.20 s
[really-safe-money-gen] maxBoundN :: Natural
159.20 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
159.20 s
[really-safe-money-gen] actualResult =
159.20 s
[really-safe-money-gen] - if roundedResult > maxBoundN
159.20 s
[really-safe-money-gen] + if n o t ( roundedResult > maxBoundN )
159.20 s
[really-safe-money-gen] then Nothing
159.20 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
159.20 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
159.20 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAmount.hs:170:24-57 #1
159.20 s
[really-safe-money-gen] @@ -167,7 +167,7 @@
159.20 s
[really-safe-money-gen] actualResult =
159.20 s
[really-safe-money-gen] if roundedResult > maxBoundN
159.20 s
[really-safe-money-gen] then Nothing
159.20 s
[really-safe-money-gen] - else J u st (fr o mI n t e gral ro u n d e dResult)
159.20 s
[really-safe-money-gen] + else N o t hi n g
159.20 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
159.20 s
[really-safe-money-gen] LT -> RoundedDown
159.20 s
[really-safe-money-gen] EQ -> DidNotRound
159.20 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32 #2
159.20 s
[really-safe-money-gen] @@ -168,10 +168,9 @@
159.20 s
[really-safe-money-gen] if roundedResult > maxBoundN
159.20 s
[really-safe-money-gen] then Nothing
159.20 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
159.20 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
159.20 s
[really-safe-money-gen] LT -> RoundedDown
159.20 s
[really-safe-money-gen] - EQ -> DidNotRound
159.20 s
[really-safe-money-gen] GT -> RoundedUp
159.20 s
[really-safe-money-gen] in (Amount.fromMinimalQuantisations <$> actualResult, rounded)
159.20 s
[really-safe-money-gen] )
159.20 s
[really-safe-money-gen] . Prelude.sum
159.20 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32 #1
159.20 s
[really-safe-money-gen] @@ -168,10 +168,9 @@
159.20 s
[really-safe-money-gen] if roundedResult > maxBoundN
159.20 s
[really-safe-money-gen] then Nothing
159.20 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
159.20 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
159.20 s
[really-safe-money-gen] - LT -> RoundedDown
159.20 s
[really-safe-money-gen] EQ -> DidNotRound
159.20 s
[really-safe-money-gen] GT -> RoundedUp
159.20 s
[really-safe-money-gen] in (Amount.fromMinimalQuantisations <$> actualResult, rounded)
159.20 s
[really-safe-money-gen] )
159.20 s
[really-safe-money-gen] . Prelude.sum
159.20 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32 #3
159.20 s
[really-safe-money-gen] @@ -168,10 +168,9 @@
159.20 s
[really-safe-money-gen] if roundedResult > maxBoundN
159.20 s
[really-safe-money-gen] then Nothing
159.20 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
159.20 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
159.20 s
[really-safe-money-gen] LT -> RoundedDown
159.20 s
[really-safe-money-gen] EQ -> DidNotRound
159.20 s
[really-safe-money-gen] - GT -> RoundedUp
159.20 s
[really-safe-money-gen] in (Amount.fromMinimalQuantisations <$> actualResult, rounded)
159.20 s
[really-safe-money-gen] )
159.20 s
[really-safe-money-gen] . Prelude.sum
159.20 s
[really-safe-money-gen] Testing mutation Arith at src/Money/MultiAmount.hs:182:15-106 #1
160.96 s
[really-safe-money-gen] @@ -179,7 +179,7 @@
160.96 s
[really-safe-money-gen] . traverse
160.96 s
[really-safe-money-gen] ( \(currency, a) ->
160.96 s
[really-safe-money-gen] ( \(cr, qf2) ->
160.96 s
[really-safe-money-gen] - fromIntegral (Amount.toMinimalQuantisations a) * ConversionRate.conversionFactor qf2 cr qf1
160.96 s
[really-safe-money-gen] + fromIntegral (Amount.toMinimalQuantisations a) + ConversionRate.conversionFactor qf2 cr qf1
160.96 s
[really-safe-money-gen] )
160.96 s
[really-safe-money-gen] <$> func currency
160.96 s
[really-safe-money-gen] )
160.96 s
[really-safe-money-gen] Testing mutation Arith at src/Money/MultiAmount.hs:182:15-106 #2
160.96 s
[really-safe-money-gen] @@ -179,7 +179,7 @@
160.96 s
[really-safe-money-gen] . traverse
160.96 s
[really-safe-money-gen] ( \(currency, a) ->
160.96 s
[really-safe-money-gen] ( \(cr, qf2) ->
160.96 s
[really-safe-money-gen] - fromIntegral (Amount.toMinimalQuantisations a) * ConversionRate.conversionFactor qf2 cr qf1
160.96 s
[really-safe-money-gen] + fromIntegral (Amount.toMinimalQuantisations a) - ConversionRate.conversionFactor qf2 cr qf1
160.96 s
[really-safe-money-gen] )
160.96 s
[really-safe-money-gen] <$> func currency
160.96 s
[really-safe-money-gen] )
160.96 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAmount.hs:112:33-39 #1
160.96 s
[really-safe-money-gen] @@ -109,7 +109,7 @@
160.96 s
[really-safe-money-gen]
160.96 s
[really-safe-money-gen] -- | Subtract an 'Amount' from a 'MultiAmount'
160.96 s
[really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
160.96 s
[really-safe-money-gen] - subtractAmount m _ (Amount 0) = J u s t m
160.96 s
[really-safe-money-gen] + subtractAmount m _ (Amount 0) = No t h ing
160.96 s
[really-safe-money-gen] subtractAmount (MultiAmount m) currency amount =
160.96 s
[really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
160.96 s
[really-safe-money-gen] Nothing -> Nothing -- Can't go below zero
160.96 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:119:12-28 #2
160.96 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
160.96 s
[really-safe-money-gen] Just a -> do
160.96 s
[really-safe-money-gen] r <- Amount.subtract a amount
160.96 s
[really-safe-money-gen] Just $
160.96 s
[really-safe-money-gen] - if r == A mount .z e ro
160.96 s
[really-safe-money-gen] + if Fal s e
160.96 s
[really-safe-money-gen] then M.delete currency m
160.96 s
[really-safe-money-gen] else M.insert currency r m
160.96 s
[really-safe-money-gen]
160.96 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:119:12-28 #1
160.96 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
160.96 s
[really-safe-money-gen] Just a -> do
160.96 s
[really-safe-money-gen] r <- Amount.subtract a amount
160.96 s
[really-safe-money-gen] Just $
160.96 s
[really-safe-money-gen] - if r == Am o u n t. z e r o
160.96 s
[really-safe-money-gen] + if T r u e
160.96 s
[really-safe-money-gen] then M.delete currency m
160.96 s
[really-safe-money-gen] else M.insert currency r m
160.96 s
[really-safe-money-gen]
160.96 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:114:22-37 #1
160.96 s
[really-safe-money-gen] @@ -111,14 +111,13 @@
160.96 s
[really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
160.96 s
[really-safe-money-gen] subtractAmount m _ (Amount 0) = Just m
160.96 s
[really-safe-money-gen] subtractAmount (MultiAmount m) currency amount =
160.97 s
[really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
160.97 s
[really-safe-money-gen] - Nothing -> Nothing -- Can't go below zero
160.97 s
[really-safe-money-gen] Just a -> do
160.97 s
[really-safe-money-gen] r <- Amount.subtract a amount
160.97 s
[really-safe-money-gen] Just $
160.97 s
[really-safe-money-gen] if r == Amount.zero
160.97 s
[really-safe-money-gen] then M.delete currency m
160.97 s
[really-safe-money-gen] else M.insert currency r m
160.97 s
[really-safe-money-gen]
160.97 s
[really-safe-money-gen] -- | Try to convert every amount to one currency.
160.97 s
[really-safe-money-gen] --
160.97 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:114:22-37 #2
160.97 s
[really-safe-money-gen] @@ -111,14 +111,8 @@
160.97 s
[really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
160.97 s
[really-safe-money-gen] subtractAmount m _ (Amount 0) = Just m
160.97 s
[really-safe-money-gen] subtractAmount (MultiAmount m) currency amount =
160.97 s
[really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
160.97 s
[really-safe-money-gen] Nothing -> Nothing -- Can't go below zero
160.97 s
[really-safe-money-gen] - Just a -> do
160.97 s
[really-safe-money-gen] - r <- Amount.subtract a amount
160.97 s
[really-safe-money-gen] - Just $
160.97 s
[really-safe-money-gen] - if r == Amount.zero
160.97 s
[really-safe-money-gen] - then M.delete currency m
160.97 s
[really-safe-money-gen] - else M.insert currency r m
160.97 s
[really-safe-money-gen]
160.97 s
[really-safe-money-gen] -- | Try to convert every amount to one currency.
160.97 s
[really-safe-money-gen] --
160.97 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAmount.hs:99:28-34 #1
160.97 s
[really-safe-money-gen] @@ -96,7 +96,7 @@
160.97 s
[really-safe-money-gen]
160.97 s
[really-safe-money-gen] -- | Add an 'Amount' to a 'MultiAmount'
160.97 s
[really-safe-money-gen] addAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
160.97 s
[really-safe-money-gen] - addAmount m _ (Amount 0) = J u s t m
160.97 s
[really-safe-money-gen] + addAmount m _ (Amount 0) = No t h ing
160.97 s
[really-safe-money-gen] addAmount (MultiAmount m) currency amount =
160.97 s
[really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
160.97 s
[really-safe-money-gen] Nothing -> Just $ M.insert currency amount m
160.97 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:119:12-28 #1
160.97 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
160.97 s
[really-safe-money-gen] Just a -> do
160.97 s
[really-safe-money-gen] r <- Amount.subtract a amount
160.97 s
[really-safe-money-gen] Just $
160.97 s
[really-safe-money-gen] - if r == Amount.zero
160.97 s
[really-safe-money-gen] + if n o t ( r == Amount.zero )
160.97 s
[really-safe-money-gen] then M.delete currency m
160.97 s
[really-safe-money-gen] else M.insert currency r m
160.97 s
[really-safe-money-gen]
160.97 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:106:12-28 #1
160.97 s
[really-safe-money-gen] @@ -103,7 +103,7 @@
160.97 s
[really-safe-money-gen] Just a -> do
160.97 s
[really-safe-money-gen] r <- Amount.add a amount
160.97 s
[really-safe-money-gen] Just $
160.97 s
[really-safe-money-gen] - if r == Am o u n t. z e r o
160.97 s
[really-safe-money-gen] + if T r u e
160.97 s
[really-safe-money-gen] then M.delete currency m
160.97 s
[really-safe-money-gen] else M.insert currency r m
160.97 s
[really-safe-money-gen]
160.97 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:106:12-28 #2
160.97 s
[really-safe-money-gen] @@ -103,7 +103,7 @@
160.97 s
[really-safe-money-gen] Just a -> do
160.97 s
[really-safe-money-gen] r <- Amount.add a amount
160.97 s
[really-safe-money-gen] Just $
160.97 s
[really-safe-money-gen] - if r == A mount .z e ro
160.97 s
[really-safe-money-gen] + if Fal s e
160.97 s
[really-safe-money-gen] then M.delete currency m
160.97 s
[really-safe-money-gen] else M.insert currency r m
160.97 s
[really-safe-money-gen]
160.97 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:106:12-28 #1
160.97 s
[really-safe-money-gen] @@ -103,7 +103,7 @@
160.97 s
[really-safe-money-gen] Just a -> do
160.97 s
[really-safe-money-gen] r <- Amount.add a amount
160.97 s
[really-safe-money-gen] Just $
160.97 s
[really-safe-money-gen] - if r == Amount.zero
160.97 s
[really-safe-money-gen] + if n o t ( r == Amount.zero )
160.97 s
[really-safe-money-gen] then M.delete currency m
160.97 s
[really-safe-money-gen] else M.insert currency r m
160.97 s
[really-safe-money-gen]
160.97 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:101:22-37 #1
160.97 s
[really-safe-money-gen] @@ -98,14 +98,13 @@
160.97 s
[really-safe-money-gen] addAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
160.97 s
[really-safe-money-gen] addAmount m _ (Amount 0) = Just m
160.97 s
[really-safe-money-gen] addAmount (MultiAmount m) currency amount =
160.97 s
[really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
160.97 s
[really-safe-money-gen] - Nothing -> Just $ M.insert currency amount m
160.97 s
[really-safe-money-gen] Just a -> do
160.97 s
[really-safe-money-gen] r <- Amount.add a amount
160.97 s
[really-safe-money-gen] Just $
160.97 s
[really-safe-money-gen] if r == Amount.zero
160.97 s
[really-safe-money-gen] then M.delete currency m
160.97 s
[really-safe-money-gen] else M.insert currency r m
160.97 s
[really-safe-money-gen]
160.97 s
[really-safe-money-gen] -- | Subtract an 'Amount' from a 'MultiAmount'
160.97 s
[really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
160.98 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:101:22-37 #2
160.98 s
[really-safe-money-gen] @@ -98,14 +98,8 @@
160.98 s
[really-safe-money-gen] addAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
160.98 s
[really-safe-money-gen] addAmount m _ (Amount 0) = Just m
160.98 s
[really-safe-money-gen] addAmount (MultiAmount m) currency amount =
160.98 s
[really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
160.98 s
[really-safe-money-gen] Nothing -> Just $ M.insert currency amount m
160.98 s
[really-safe-money-gen] - Just a -> do
160.98 s
[really-safe-money-gen] - r <- Amount.add a amount
160.98 s
[really-safe-money-gen] - Just $
160.98 s
[really-safe-money-gen] - if r == Amount.zero
160.98 s
[really-safe-money-gen] - then M.delete currency m
160.98 s
[really-safe-money-gen] - else M.insert currency r m
160.98 s
[really-safe-money-gen]
160.98 s
[really-safe-money-gen] -- | Subtract an 'Amount' from a 'MultiAmount'
160.98 s
[really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
160.98 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:73:6-27 #1
160.98 s
[really-safe-money-gen] @@ -70,7 +70,7 @@
160.98 s
[really-safe-money-gen]
160.98 s
[really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
160.98 s
[really-safe-money-gen] fromAmount currency amount =
160.98 s
[really-safe-money-gen] - if a m o u n t == Amoun t.z e ro
160.98 s
[really-safe-money-gen] + if Tr u e
160.98 s
[really-safe-money-gen] then zero
160.98 s
[really-safe-money-gen] else MultiAmount $ M.singleton currency amount
160.98 s
[really-safe-money-gen]
160.98 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:73:6-27 #2
160.98 s
[really-safe-money-gen] @@ -70,7 +70,7 @@
160.98 s
[really-safe-money-gen]
160.98 s
[really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
160.98 s
[really-safe-money-gen] fromAmount currency amount =
160.98 s
[really-safe-money-gen] - if a m o unt == A mou n t.z e ro
161.73 s
[really-safe-money-gen] + if F a ls e
161.73 s
[really-safe-money-gen] then zero
161.73 s
[really-safe-money-gen] else MultiAmount $ M.singleton currency amount
161.73 s
[really-safe-money-gen]
161.73 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:73:6-27 #1
161.73 s
[really-safe-money-gen] @@ -70,7 +70,7 @@
161.73 s
[really-safe-money-gen]
161.73 s
[really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
161.74 s
[really-safe-money-gen] fromAmount currency amount =
161.74 s
[really-safe-money-gen] - if amount == Amount.zero
161.74 s
[really-safe-money-gen] + if n o t ( amount == Amount.zero )
161.74 s
[really-safe-money-gen] then zero
161.74 s
[really-safe-money-gen] else MultiAmount $ M.singleton currency amount
161.74 s
[really-safe-money-gen]
161.74 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:66:13-29 #1
161.74 s
[really-safe-money-gen] @@ -63,7 +63,7 @@
161.74 s
[really-safe-money-gen] [ genericValidate ma,
161.74 s
[really-safe-money-gen] decorateMap m $ \_ a ->
161.74 s
[really-safe-money-gen] declare "The amount is not zero" $
161.74 s
[really-safe-money-gen] - a / = A mo u nt .z e ro
161.74 s
[really-safe-money-gen] + Tr u e
161.74 s
[really-safe-money-gen] ]
161.74 s
[really-safe-money-gen]
161.74 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
161.74 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:66:13-29 #2
161.74 s
[really-safe-money-gen] @@ -63,7 +63,7 @@
161.74 s
[really-safe-money-gen] [ genericValidate ma,
161.74 s
[really-safe-money-gen] decorateMap m $ \_ a ->
161.74 s
[really-safe-money-gen] declare "The amount is not zero" $
161.74 s
[really-safe-money-gen] - a / = Am ount .z e ro
161.74 s
[really-safe-money-gen] + F a l s e
161.74 s
[really-safe-money-gen] ]
161.74 s
[really-safe-money-gen]
161.74 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
161.74 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:66:13-29 #1
161.74 s
[really-safe-money-gen] @@ -63,7 +63,7 @@
161.74 s
[really-safe-money-gen] [ genericValidate ma,
161.74 s
[really-safe-money-gen] decorateMap m $ \_ a ->
161.74 s
[really-safe-money-gen] declare "The amount is not zero" $
161.74 s
[really-safe-money-gen] - a /= Amount.zero
161.74 s
[really-safe-money-gen] + n o t ( a /= Amount.zero )
161.74 s
[really-safe-money-gen] ]
161.74 s
[really-safe-money-gen]
161.74 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
161.74 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAmount.hs:63:7-8 #1
161.74 s
[really-safe-money-gen] @@ -60,11 +60,7 @@
161.74 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
161.74 s
[really-safe-money-gen] validate ma@(MultiAmount m) =
161.74 s
[really-safe-money-gen] mconcat
161.74 s
[really-safe-money-gen] - [ genericValidate ma,
161.74 s
[really-safe-money-gen] - decorateMap m $ \_ a ->
161.74 s
[really-safe-money-gen] - declare "The amount is not zero" $
161.74 s
[really-safe-money-gen] - a /= Amount.zero
161.74 s
[really-safe-money-gen] ]
161.74 s
[really-safe-money-gen]
161.74 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
161.74 s
[really-safe-money-gen]
161.74 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:47:33-75 #1
161.74 s
[really-safe-money-gen] @@ -44,7 +44,6 @@
161.74 s
[really-safe-money-gen] where
161.74 s
[really-safe-money-gen] f :: String -> Either String Amount
161.74 s
[really-safe-money-gen] f s = case readMaybe s of
161.74 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
161.74 s
[really-safe-money-gen] Just i ->
161.74 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
161.74 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
161.74 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:47:33-75 #2
161.74 s
[really-safe-money-gen] @@ -44,7 +44,6 @@
161.74 s
[really-safe-money-gen] where
161.74 s
[really-safe-money-gen] f :: String -> Either String Amount
161.74 s
[really-safe-money-gen] f s = case readMaybe s of
161.74 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
161.74 s
[really-safe-money-gen] Just i ->
161.74 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
161.74 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
161.74 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:49:12-59 #2
161.74 s
[really-safe-money-gen] @@ -46,7 +46,7 @@
161.74 s
[really-safe-money-gen] f s = case readMaybe s of
161.74 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
161.74 s
[really-safe-money-gen] Just i ->
161.74 s
[really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
161.74 s
[really-safe-money-gen] + if (i :: Integer) > toInteger (minBound :: Word64)
161.74 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
161.74 s
[really-safe-money-gen] else
161.74 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
161.74 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:49:12-59 #1
161.74 s
[really-safe-money-gen] @@ -46,7 +46,7 @@
161.74 s
[really-safe-money-gen] f s = case readMaybe s of
161.74 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
161.74 s
[really-safe-money-gen] Just i ->
161.74 s
[really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
161.74 s
[really-safe-money-gen] + if (i :: Integer) < = toInteger (minBound :: Word64)
161.74 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
161.74 s
[really-safe-money-gen] else
161.74 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
161.74 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:49:12-59 #3
161.75 s
[really-safe-money-gen] @@ -46,7 +46,7 @@
161.75 s
[really-safe-money-gen] f s = case readMaybe s of
161.75 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
161.75 s
[really-safe-money-gen] Just i ->
161.75 s
[really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
161.75 s
[really-safe-money-gen] + if (i :: Integer) > = toInteger (minBound :: Word64)
161.75 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
161.75 s
[really-safe-money-gen] else
161.75 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
161.75 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59 #1
161.75 s
[really-safe-money-gen] @@ -46,7 +46,7 @@
161.75 s
[really-safe-money-gen] f s = case readMaybe s of
161.75 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
161.75 s
[really-safe-money-gen] Just i ->
161.75 s
[really-safe-money-gen] - if ( i :: Intege r ) < t oIn t e g er (minBound :: Word64)
161.75 s
[really-safe-money-gen] + if T r u e
161.75 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
161.75 s
[really-safe-money-gen] else
161.75 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
161.75 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAmount.hs:63:7-8 #2
161.75 s
[really-safe-money-gen] @@ -60,11 +60,10 @@
161.75 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
161.75 s
[really-safe-money-gen] validate ma@(MultiAmount m) =
161.75 s
[really-safe-money-gen] mconcat
161.75 s
[really-safe-money-gen] - [ genericValidate ma,
161.75 s
[really-safe-money-gen] decorateMap m $ \_ a ->
161.75 s
[really-safe-money-gen] declare "The amount is not zero" $
161.75 s
[really-safe-money-gen] a /= Amount.zero
161.75 s
[really-safe-money-gen] ]
161.75 s
[really-safe-money-gen]
161.75 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
161.75 s
[really-safe-money-gen]
161.75 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount/Codec.hs:49:12-59 #1
161.75 s
[really-safe-money-gen] @@ -46,7 +46,7 @@
161.75 s
[really-safe-money-gen] f s = case readMaybe s of
161.75 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
161.75 s
[really-safe-money-gen] Just i ->
161.75 s
[really-safe-money-gen] - if ( i :: Integer) < toInteger (minBound :: Word64)
161.75 s
[really-safe-money-gen] + if n o t ( ( i :: Integer) < toInteger (minBound :: Word64) )
161.75 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
161.75 s
[really-safe-money-gen] else
161.75 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
161.75 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59 #2
161.75 s
[really-safe-money-gen] @@ -46,7 +46,7 @@
161.75 s
[really-safe-money-gen] f s = case readMaybe s of
161.75 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
161.75 s
[really-safe-money-gen] Just i ->
161.75 s
[really-safe-money-gen] - if ( i :: Intege r) < toInteg e r (m inBoun d :: Word64)
161.75 s
[really-safe-money-gen] + if F al s e
161.75 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
161.75 s
[really-safe-money-gen] else
161.75 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
161.75 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:50:31-84 #1
161.75 s
[really-safe-money-gen] @@ -47,7 +47,6 @@
161.75 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
161.75 s
[really-safe-money-gen] Just i ->
161.75 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
161.75 s
[really-safe-money-gen] - then Left $ unwords ["Negative number of minimal quantisations:", show i]
161.75 s
[really-safe-money-gen] else
161.75 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
161.75 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
161.75 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:50:31-84 #2
161.75 s
[really-safe-money-gen] @@ -47,7 +47,6 @@
161.75 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
161.75 s
[really-safe-money-gen] Just i ->
161.75 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
161.75 s
[really-safe-money-gen] - then Left $ unwords ["Negative number of minimal quantisations:", show i]
161.75 s
[really-safe-money-gen] else
161.75 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
161.75 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
161.75 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:52:16-63 #1
161.75 s
[really-safe-money-gen] @@ -49,7 +49,7 @@
161.75 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
161.75 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
161.75 s
[really-safe-money-gen] else
161.75 s
[really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
161.75 s
[really-safe-money-gen] + if (i :: Integer) < toInteger (maxBound :: Word64)
161.75 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
161.75 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
161.75 s
[really-safe-money-gen] g :: Amount -> String
161.75 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:52:16-63 #2
161.75 s
[really-safe-money-gen] @@ -49,7 +49,7 @@
161.75 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
161.75 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
161.75 s
[really-safe-money-gen] else
161.75 s
[really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
161.75 s
[really-safe-money-gen] + if (i :: Integer) < = toInteger (maxBound :: Word64)
161.75 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
161.75 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
161.75 s
[really-safe-money-gen] g :: Amount -> String
161.75 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:52:16-63 #3
161.75 s
[really-safe-money-gen] @@ -49,7 +49,7 @@
161.75 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
161.75 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
161.75 s
[really-safe-money-gen] else
161.75 s
[really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
161.75 s
[really-safe-money-gen] + if (i :: Integer) > = toInteger (maxBound :: Word64)
161.75 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
161.75 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
161.75 s
[really-safe-money-gen] g :: Amount -> String
161.75 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63 #1
161.75 s
[really-safe-money-gen] @@ -49,7 +49,7 @@
161.75 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
161.75 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
161.75 s
[really-safe-money-gen] else
161.75 s
[really-safe-money-gen] - if ( i :: Intege r ) > t oIn t e g er (maxBound :: Word64)
161.75 s
[really-safe-money-gen] + if T r u e
161.75 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
161.75 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
161.75 s
[really-safe-money-gen] g :: Amount -> String
161.75 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63 #2
161.75 s
[really-safe-money-gen] @@ -49,7 +49,7 @@
161.75 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
161.75 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
161.76 s
[really-safe-money-gen] else
161.76 s
[really-safe-money-gen] - if ( i :: Intege r) > toInteg er ( m a xBo u n d :: Word64)
161.76 s
[really-safe-money-gen] + if F a l s e
161.76 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
161.76 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
161.76 s
[really-safe-money-gen] g :: Amount -> String
161.76 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount/Codec.hs:52:16-63 #1
161.76 s
[really-safe-money-gen] @@ -49,7 +49,7 @@
161.76 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
161.76 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
161.76 s
[really-safe-money-gen] else
161.76 s
[really-safe-money-gen] - if ( i :: Integer) > toInteger (maxBound :: Word64)
161.76 s
[really-safe-money-gen] + if n o t ( ( i :: Integer) > toInteger (maxBound :: Word64) )
161.76 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
161.76 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
161.76 s
[really-safe-money-gen] g :: Amount -> String
161.76 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:53:35-90 #1
161.76 s
[really-safe-money-gen] @@ -50,7 +50,6 @@
161.76 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
161.76 s
[really-safe-money-gen] else
161.76 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
161.76 s
[really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations is too big:", show i]
161.76 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
161.76 s
[really-safe-money-gen] g :: Amount -> String
161.76 s
[really-safe-money-gen] g = show . Amount.toMinimalQuantisations
161.76 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:53:35-90 #2
161.76 s
[really-safe-money-gen] @@ -50,7 +50,6 @@
161.76 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
161.76 s
[really-safe-money-gen] else
161.76 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
161.76 s
[really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations is too big:", show i]
161.76 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
161.76 s
[really-safe-money-gen] g :: Amount -> String
161.76 s
[really-safe-money-gen] g = show . Amount.toMinimalQuantisations
161.76 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86 #1
161.76 s
[really-safe-money-gen] @@ -43,15 +43,14 @@
161.76 s
[really-safe-money-gen] codecViaString = bimapCodec f g stringCodec <?> "Amount"
161.76 s
[really-safe-money-gen] where
161.76 s
[really-safe-money-gen] f :: String -> Either String Amount
161.76 s
[really-safe-money-gen] f s = case readMaybe s of
161.76 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
161.76 s
[really-safe-money-gen] Just i ->
161.76 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
161.76 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
161.76 s
[really-safe-money-gen] else
161.76 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
161.76 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
161.76 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
161.76 s
[really-safe-money-gen] g :: Amount -> String
161.76 s
[really-safe-money-gen] g = show . Amount.toMinimalQuantisations
161.76 s
[really-safe-money-gen]
161.76 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86 #2
161.76 s
[really-safe-money-gen] @@ -43,15 +43,8 @@
161.76 s
[really-safe-money-gen] codecViaString = bimapCodec f g stringCodec <?> "Amount"
161.76 s
[really-safe-money-gen] where
161.76 s
[really-safe-money-gen] f :: String -> Either String Amount
161.76 s
[really-safe-money-gen] f s = case readMaybe s of
161.76 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
161.76 s
[really-safe-money-gen] - Just i ->
161.76 s
[really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
161.76 s
[really-safe-money-gen] - then Left $ unwords ["Negative number of minimal quantisations:", show i]
161.76 s
[really-safe-money-gen] - else
161.76 s
[really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
161.76 s
[really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations is too big:", show i]
161.76 s
[really-safe-money-gen] - else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
161.76 s
[really-safe-money-gen] g :: Amount -> String
161.76 s
[really-safe-money-gen] g = show . Amount.toMinimalQuantisations
161.76 s
[really-safe-money-gen]
161.76 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24 #1
161.76 s
[really-safe-money-gen] @@ -76,6 +76,5 @@
161.76 s
[really-safe-money-gen] <?> "Account"
161.76 s
[really-safe-money-gen] where
161.76 s
[really-safe-money-gen] f :: Integer -> Either String Account
161.76 s
[really-safe-money-gen] f i = case Account.fromMinimalQuantisations i of
161.76 s
[really-safe-money-gen] - Nothing -> Left $ "Number did not fit into an account value: " <> show i
161.76 s
[really-safe-money-gen] Just a -> Right a
161.76 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24 #2
161.76 s
[really-safe-money-gen] @@ -76,6 +76,5 @@
161.76 s
[really-safe-money-gen] <?> "Account"
161.76 s
[really-safe-money-gen] where
161.76 s
[really-safe-money-gen] f :: Integer -> Either String Account
161.76 s
[really-safe-money-gen] f i = case Account.fromMinimalQuantisations i of
161.76 s
[really-safe-money-gen] Nothing -> Left $ "Number did not fit into an account value: " <> show i
161.76 s
[really-safe-money-gen] - Just a -> Right a
161.76 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Account/Codec.hs:51:33-76 #1
161.76 s
[really-safe-money-gen] @@ -48,7 +48,6 @@
161.76 s
[really-safe-money-gen] where
161.76 s
[really-safe-money-gen] f :: String -> Either String Account
161.76 s
[really-safe-money-gen] f s = case readMaybe s >>= Account.fromMinimalQuantisations of
161.76 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Account:", s]
161.76 s
[really-safe-money-gen] Just a -> Right a
161.76 s
[really-safe-money-gen] g :: Account -> String
161.76 s
[really-safe-money-gen] g = show . Account.toMinimalQuantisations
161.76 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Account/Codec.hs:51:33-76 #2
161.76 s
[really-safe-money-gen] @@ -48,7 +48,6 @@
161.76 s
[really-safe-money-gen] where
161.76 s
[really-safe-money-gen] f :: String -> Either String Account
268.50 s
[really-safe-money-gen] f s = case readMaybe s >>= Account.fromMinimalQuantisKilled: 415
268.50 s
[really-safe-money-gen] (of which timed out: 0 )
268.55 s
[really-safe-money-gen] Survived: 69
268.55 s
[really-safe-money-gen] Uncovered: 40
268.55 s
[really-safe-money-gen]
268.55 s
[really-safe-money-gen] Surviving mutations:
268.55 s
[really-safe-money-gen]
268.55 s
[really-safe-money-gen] ListLit at src/Money/MultiAmount.hs:63:7-8 #2
268.55 s
[really-safe-money-gen] @@ -60,11 +60,10 @@
268.55 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
268.55 s
[really-safe-money-gen] validate ma@(MultiAmount m) =
268.55 s
[really-safe-money-gen] mconcat
268.55 s
[really-safe-money-gen] - [ genericValidate ma,
268.55 s
[really-safe-money-gen] decorateMap m $ \_ a ->
268.55 s
[really-safe-money-gen] declare "The amount is not zero" $
268.55 s
[really-safe-money-gen] a /= Amount.zero
268.55 s
[really-safe-money-gen] ]
268.55 s
[really-safe-money-gen]
268.55 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
268.55 s
[really-safe-money-gen]
268.55 s
[really-safe-money-gen]
268.55 s
[really-safe-money-gen] ListLit at src/Money/MultiAmount.hs:63:7-8 #1
268.55 s
[really-safe-money-gen] @@ -60,11 +60,7 @@
268.55 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
268.55 s
[really-safe-money-gen] validate ma@(MultiAmount m) =
268.55 s
[really-safe-money-gen] mconcat
268.55 s
[really-safe-money-gen] - [ genericValidate ma,
268.55 s
[really-safe-money-gen] - decorateMap m $ \_ a ->
268.55 s
[really-safe-money-gen] - declare "The amount is not zero" $
268.55 s
[really-safe-money-gen] - a /= Amount.zero
268.55 s
[really-safe-money-gen] ]
268.55 s
[really-safe-money-gen]
268.55 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
268.55 s
[really-safe-money-gen]
268.55 s
[really-safe-money-gen]
268.55 s
[really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:66:13-29 #1
268.55 s
[really-safe-money-gen] @@ -63,7 +63,7 @@
268.55 s
[really-safe-money-gen] [ genericValidate ma,
268.55 s
[really-safe-money-gen] decorateMap m $ \_ a ->
268.56 s
[really-safe-money-gen] declare "The amount is not zero" $
268.56 s
[really-safe-money-gen] - a / = A mo u nt .z e ro
268.56 s
[really-safe-money-gen] + Tr u e
268.56 s
[really-safe-money-gen] ]
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:106:12-28 #2
268.56 s
[really-safe-money-gen] @@ -103,7 +103,7 @@
268.56 s
[really-safe-money-gen] Just a -> do
268.56 s
[really-safe-money-gen] r <- Amount.add a amount
268.56 s
[really-safe-money-gen] Just $
268.56 s
[really-safe-money-gen] - if r == A mount .z e ro
268.56 s
[really-safe-money-gen] + if Fal s e
268.56 s
[really-safe-money-gen] then M.delete currency m
268.56 s
[really-safe-money-gen] else M.insert currency r m
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen] Negate at src/Money/MultiAmount.hs:119:12-28 #1
268.56 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
268.56 s
[really-safe-money-gen] Just a -> do
268.56 s
[really-safe-money-gen] r <- Amount.subtract a amount
268.56 s
[really-safe-money-gen] Just $
268.56 s
[really-safe-money-gen] - if r == Amount.zero
268.56 s
[really-safe-money-gen] + if n o t ( r == Amount.zero )
268.56 s
[really-safe-money-gen] then M.delete currency m
268.56 s
[really-safe-money-gen] else M.insert currency r m
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:119:12-28 #2
268.56 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
268.56 s
[really-safe-money-gen] Just a -> do
268.56 s
[really-safe-money-gen] r <- Amount.subtract a amount
268.56 s
[really-safe-money-gen] Just $
268.56 s
[really-safe-money-gen] - if r == A mount .z e ro
268.56 s
[really-safe-money-gen] + if Fal s e
268.56 s
[really-safe-money-gen] then M.delete currency m
268.56 s
[really-safe-money-gen] else M.insert currency r m
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:119:12-28 #1
268.56 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
268.56 s
[really-safe-money-gen] Just a -> do
268.56 s
[really-safe-money-gen] r <- Amount.subtract a amount
268.56 s
[really-safe-money-gen] Just $
268.56 s
[really-safe-money-gen] - if r == Am o u n t. z e r o
268.56 s
[really-safe-money-gen] + if T r u e
268.56 s
[really-safe-money-gen] then M.delete currency m
268.56 s
[really-safe-money-gen] else M.insert currency r m
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen] MaybeOp at src/Money/MultiAmount.hs:112:33-39 #1
268.56 s
[really-safe-money-gen] @@ -109,7 +109,7 @@
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen] -- | Subtract an 'Amount' from a 'MultiAmount'
268.56 s
[really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
268.56 s
[really-safe-money-gen] - subtractAmount m _ (Amount 0) = J u s t m
268.56 s
[really-safe-money-gen] + subtractAmount m _ (Amount 0) = No t h ing
268.56 s
[really-safe-money-gen] subtractAmount (MultiAmount m) currency amount =
268.56 s
[really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
268.56 s
[really-safe-money-gen] Nothing -> Nothing -- Can't go below zero
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen] Cmp at src/Money/MultiAmount.hs:168:20-45 #3
268.56 s
[really-safe-money-gen] @@ -165,7 +165,7 @@
268.56 s
[really-safe-money-gen] maxBoundN :: Natural
268.56 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
268.56 s
[really-safe-money-gen] actualResult =
268.56 s
[really-safe-money-gen] - if roundedResult > maxBoundN
268.56 s
[really-safe-money-gen] + if roundedResult > = maxBoundN
268.56 s
[really-safe-money-gen] then Nothing
268.56 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
268.56 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen] ListLit at src/Money/MultiAccount.hs:66:7-8 #2
268.56 s
[really-safe-money-gen] @@ -63,11 +63,10 @@
268.56 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
268.56 s
[really-safe-money-gen] validate ma@(MultiAccount m) =
268.56 s
[really-safe-money-gen] mconcat
268.56 s
[really-safe-money-gen] - [ genericValidate ma,
268.56 s
[really-safe-money-gen] decorateMap m $ \_ a ->
268.56 s
[really-safe-money-gen] declare "The account is not zero" $
268.56 s
[really-safe-money-gen] a /= Account.zero
268.56 s
[really-safe-money-gen] ]
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen] -- TODO no empty currencies
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen] ListLit at src/Money/MultiAccount.hs:66:7-8 #1
268.56 s
[really-safe-money-gen] @@ -63,11 +63,7 @@
268.56 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
268.56 s
[really-safe-money-gen] validate ma@(MultiAccount m) =
268.56 s
[really-safe-money-gen] mconcat
268.56 s
[really-safe-money-gen] - [ genericValidate ma,
268.56 s
[really-safe-money-gen] - decorateMap m $ \_ a ->
268.56 s
[really-safe-money-gen] - declare "The account is not zero" $
268.56 s
[really-safe-money-gen] - a /= Account.zero
268.56 s
[really-safe-money-gen] ]
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen] -- TODO no empty currencies
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen] ConstBool at src/Money/MultiAccount.hs:69:13-30 #1
268.56 s
[really-safe-money-gen] @@ -66,7 +66,7 @@
268.56 s
[really-safe-money-gen] [ genericValidate ma,
268.56 s
[really-safe-money-gen] decorateMap m $ \_ a ->
268.56 s
[really-safe-money-gen] declare "The account is not zero" $
268.56 s
[really-safe-money-gen] - a / = Ac co u nt .z e ro
268.56 s
[really-safe-money-gen] + T r u e
268.56 s
[really-safe-money-gen] ]
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen] -- TODO no empty currencies
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen] ConstBool at src/Money/MultiAccount.hs:78:6-28 #1
268.56 s
[really-safe-money-gen] @@ -75,7 +75,7 @@
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
268.56 s
[really-safe-money-gen] fromAccount currency amount =
268.56 s
[really-safe-money-gen] - if a m o unt == A cco u n t.z e ro
268.56 s
[really-safe-money-gen] + if Tr u e
268.56 s
[really-safe-money-gen] then zero
268.56 s
[really-safe-money-gen] else MultiAccount $ M.singleton currency amount
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen] MaybeOp at src/Money/MultiAccount.hs:113:40-46 #1
268.56 s
[really-safe-money-gen] @@ -110,7 +110,7 @@
268.56 s
[really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
268.56 s
[really-safe-money-gen] addAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
268.56 s
[really-safe-money-gen] addAccount m _ (Positive (Amount 0)) = Just m
268.56 s
[really-safe-money-gen] - addAccount m _ (Negative (Amount 0)) = J u s t m
268.56 s
[really-safe-money-gen] + addAccount m _ (Negative (Amount 0)) = No t h ing
268.56 s
[really-safe-money-gen] addAccount (MultiAccount m) currency account =
268.56 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
268.56 s
[really-safe-money-gen] Nothing -> Just $ M.insert currency account m
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen] MaybeOp at src/Money/MultiAccount.hs:127:45-51 #1
268.56 s
[really-safe-money-gen] @@ -124,7 +124,7 @@
268.56 s
[really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
268.56 s
[really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
268.56 s
[really-safe-money-gen] subtractAccount m _ (Positive (Amount 0)) = Just m
268.56 s
[really-safe-money-gen] - subtractAccount m _ (Negative (Amount 0)) = J u s t m
268.56 s
[really-safe-money-gen] + subtractAccount m _ (Negative (Amount 0)) = No t h ing
268.56 s
[really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
268.56 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
268.56 s
[really-safe-money-gen] Nothing -> Just $ M.insert currency (Account.negate account) m
268.56 s
[really-safe-money-gen]
268.56 s
[really-safe-money-gen] MaybeOp at src/Money/MultiAccount.hs:126:45-51 #1
268.56 s
[really-safe-money-gen] @@ -123,7 +123,7 @@
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
268.57 s
[really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
268.57 s
[really-safe-money-gen] - subtractAccount m _ (Positive (Amount 0)) = J u s t m
268.57 s
[really-safe-money-gen] + subtractAccount m _ (Positive (Amount 0)) = No t h ing
268.57 s
[really-safe-money-gen] subtractAccount m _ (Negative (Amount 0)) = Just m
268.57 s
[really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
268.57 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] ListLit at src/Money/QuantisationFactor.hs:39:7-8 #2
268.57 s
[really-safe-money-gen] @@ -36,9 +36,8 @@
268.57 s
[really-safe-money-gen] instance Validity QuantisationFactor where
268.57 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
268.57 s
[really-safe-money-gen] mconcat
268.57 s
[really-safe-money-gen] - [ genericValidate qf,
268.57 s
[really-safe-money-gen] declare "The quantisation factor is not zero" $ w /= 0
268.57 s
[really-safe-money-gen] ]
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] instance NFData QuantisationFactor
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] ListLit at src/Money/QuantisationFactor.hs:39:7-8 #1
268.57 s
[really-safe-money-gen] @@ -36,9 +36,7 @@
268.57 s
[really-safe-money-gen] instance Validity QuantisationFactor where
268.57 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
268.57 s
[really-safe-money-gen] mconcat
268.57 s
[really-safe-money-gen] - [ genericValidate qf,
268.57 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
268.57 s
[really-safe-money-gen] ]
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] instance NFData QuantisationFactor
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] ConstBool at src/Money/QuantisationFactor.hs:40:57-63 #1
268.57 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
268.57 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
268.57 s
[really-safe-money-gen] mconcat
268.57 s
[really-safe-money-gen] [ genericValidate qf,
268.57 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
268.57 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ Tru e
268.57 s
[really-safe-money-gen] ]
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] instance NFData QuantisationFactor
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] Cmp at src/Money/QuantisationFactor.hs:102:6-46 #1
268.57 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
268.57 s
[really-safe-money-gen] then Just (numerator rat)
268.57 s
[really-safe-money-gen] else Nothing
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] - if fac < = fromIntegral (maxBound :: Word32)
268.57 s
[really-safe-money-gen] + if fac < fromIntegral (maxBound :: Word32)
268.57 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
268.57 s
[really-safe-money-gen] else Nothing
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] Cmp at src/Money/QuantisationFactor.hs:93:12-17 #1
268.57 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] rat <-
268.57 s
[really-safe-money-gen] let r = 1 / irat
268.57 s
[really-safe-money-gen] - in if r < 0
268.57 s
[really-safe-money-gen] + in if r < = 0
268.57 s
[really-safe-money-gen] then Nothing
268.57 s
[really-safe-money-gen] else Just r
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] IntLit at src/Money/QuantisationFactor.hs:93:16-17 #1
268.57 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] rat <-
268.57 s
[really-safe-money-gen] let r = 1 / irat
268.57 s
[really-safe-money-gen] - in if r < 0
268.57 s
[really-safe-money-gen] + in if r < 1
268.57 s
[really-safe-money-gen] then Nothing
268.57 s
[really-safe-money-gen] else Just r
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] RemoveCase at src/Money/AccountOf.hs:180:30-115 #3
268.57 s
[really-safe-money-gen] @@ -177,11 +177,10 @@
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] -- | See 'Account.distribute'
268.57 s
[really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
268.57 s
[really-safe-money-gen] distribute (AccountOf a) w = case Account.distribute a w of
268.57 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
268.57 s
[really-safe-money-gen] DistributedZero -> DistributedZero
268.57 s
[really-safe-money-gen] - DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
268.57 s
[really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] -- | The result of 'distribute'
268.57 s
[really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] ListLit at src/Money/ConversionRate.hs:37:7-8 #2
268.57 s
[really-safe-money-gen] @@ -34,9 +34,8 @@
268.57 s
[really-safe-money-gen] instance Validity ConversionRate where
268.57 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
268.57 s
[really-safe-money-gen] mconcat
268.57 s
[really-safe-money-gen] - [ genericValidate cr,
268.57 s
[really-safe-money-gen] declare "The rate is nonzero" $ numerator r /= 0
268.57 s
[really-safe-money-gen] ]
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] instance NFData ConversionRate
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] ListLit at src/Money/ConversionRate.hs:37:7-8 #1
268.57 s
[really-safe-money-gen] @@ -34,9 +34,7 @@
268.57 s
[really-safe-money-gen] instance Validity ConversionRate where
268.57 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
268.57 s
[really-safe-money-gen] mconcat
268.57 s
[really-safe-money-gen] - [ genericValidate cr,
268.57 s
[really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
268.57 s
[really-safe-money-gen] ]
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] instance NFData ConversionRate
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] ConstBool at src/Money/ConversionRate.hs:38:41-57 #1
268.57 s
[really-safe-money-gen] @@ -35,7 +35,7 @@
268.57 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
268.57 s
[really-safe-money-gen] mconcat
268.57 s
[really-safe-money-gen] [ genericValidate cr,
268.57 s
[really-safe-money-gen] - declare "The rate is nonzero" $ n u m e rato r r /= 0
268.57 s
[really-safe-money-gen] + declare "The rate is nonzero" $ T r u e
268.57 s
[really-safe-money-gen] ]
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] instance NFData ConversionRate
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] Cmp at src/Money/ConversionRate.hs:72:21-26 #1
268.57 s
[really-safe-money-gen] @@ -69,7 +69,7 @@
268.57 s
[really-safe-money-gen] -- >>> fromRational (0 % 1)
268.57 s
[really-safe-money-gen] -- Nothing
268.57 s
[really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
268.57 s
[really-safe-money-gen] - fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
268.57 s
[really-safe-money-gen] + fromRational r = if r < = 0 then Nothing else fromRatio (realToFrac r)
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
268.57 s
[really-safe-money-gen] --
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] IntLit at src/Money/ConversionRate.hs:109:27-28 #1
268.57 s
[really-safe-money-gen] @@ -106,7 +106,7 @@
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] -- | One-to-one conversion rate
268.57 s
[really-safe-money-gen] oneToOne :: ConversionRate
268.57 s
[really-safe-money-gen] - oneToOne = ConversionRate 1
268.57 s
[really-safe-money-gen] + oneToOne = ConversionRate 0
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] -- | Invert a 'ConversionRate', to convert in the other direction.
268.57 s
[really-safe-money-gen] --
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] Arith at src/Money/ConversionRate.hs:127:70-79 #1
268.57 s
[really-safe-money-gen] @@ -124,7 +124,7 @@
268.57 s
[really-safe-money-gen] -- >>> compose (ConversionRate (2 % 1)) (ConversionRate (1 % 2))
268.57 s
[really-safe-money-gen] -- ConversionRate {unConversionRate = 1 % 1}
268.57 s
[really-safe-money-gen] compose :: ConversionRate -> ConversionRate -> ConversionRate
268.57 s
[really-safe-money-gen] - compose (ConversionRate cr1) (ConversionRate cr2) = ConversionRate $ cr1 * cr2
268.57 s
[really-safe-money-gen] + compose (ConversionRate cr1) (ConversionRate cr2) = ConversionRate $ cr1 + cr2
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] -- | The factor to multiply by when converting currencies.
268.57 s
[really-safe-money-gen] conversionFactor :: QuantisationFactor -> ConversionRate -> QuantisationFactor -> Ratio Natural
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] ListLit at src/Money/Amount.hs:603:7-8 #2
268.57 s
[really-safe-money-gen] @@ -600,13 +600,12 @@
268.57 s
[really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
268.57 s
[really-safe-money-gen] validate ad =
268.57 s
[really-safe-money-gen] mconcat
268.57 s
[really-safe-money-gen] - [ genericValidate ad,
268.57 s
[really-safe-money-gen] case ad of
268.57 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
268.57 s
[really-safe-money-gen] declare "The larger chunks are larger" $
268.57 s
[really-safe-money-gen] a1 > a2
268.57 s
[really-safe-money-gen] _ -> valid
268.57 s
[really-safe-money-gen] ]
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] ListLit at src/Money/Amount.hs:603:7-8 #1
268.57 s
[really-safe-money-gen] @@ -600,13 +600,7 @@
268.57 s
[really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
268.57 s
[really-safe-money-gen] validate ad =
268.57 s
[really-safe-money-gen] mconcat
268.57 s
[really-safe-money-gen] - [ genericValidate ad,
268.57 s
[really-safe-money-gen] - case ad of
268.57 s
[really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
268.57 s
[really-safe-money-gen] - declare "The larger chunks are larger" $
268.57 s
[really-safe-money-gen] - a1 > a2
268.57 s
[really-safe-money-gen] - _ -> valid
268.57 s
[really-safe-money-gen] ]
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] RemoveCase at src/Money/Amount.hs:604:9-21 #1
268.57 s
[really-safe-money-gen] @@ -601,11 +601,8 @@
268.57 s
[really-safe-money-gen] validate ad =
268.57 s
[really-safe-money-gen] mconcat
268.57 s
[really-safe-money-gen] [ genericValidate ad,
268.57 s
[really-safe-money-gen] case ad of
268.57 s
[really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
268.57 s
[really-safe-money-gen] - declare "The larger chunks are larger" $
268.57 s
[really-safe-money-gen] - a1 > a2
268.57 s
[really-safe-money-gen] _ -> valid
268.57 s
[really-safe-money-gen] ]
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] ConstBool at src/Money/Amount.hs:607:15-22 #1
268.57 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
268.57 s
[really-safe-money-gen] case ad of
268.57 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
268.57 s
[really-safe-money-gen] declare "The larger chunks are larger" $
268.57 s
[really-safe-money-gen] - a 1 > a2
268.57 s
[really-safe-money-gen] + T rue
268.57 s
[really-safe-money-gen] _ -> valid
268.57 s
[really-safe-money-gen] ]
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen]
268.57 s
[really-safe-money-gen] Cmp at src/Money/Amount.hs:607:15-22 #3
268.57 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
268.57 s
[really-safe-money-gen] case ad of
268.57 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
268.57 s
[really-safe-money-gen] declare "The larger chunks are larger" $
268.57 s
[really-safe-money-gen] - a1 > a2
268.57 s
[really-safe-money-gen] + a1 > = a2
268.57 s
[really-safe-money-gen] _ -> valid
268.58 s
[really-safe-money-gen] ]
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] MaybeOp at src/Money/Amount.hs:661:19-28 #1
268.58 s
[really-safe-money-gen] @@ -658,7 +658,7 @@
268.58 s
[really-safe-money-gen] -- | The amount and the real rate that was used, considering the 'Rounding'
268.58 s
[really-safe-money-gen] (Maybe Amount, Ratio Natural)
268.58 s
[really-safe-money-gen] fraction _ (Amount 0) f = (Just zero, f)
268.58 s
[really-safe-money-gen] - fraction _ _ 0 = ( J u st ze r o , 0)
268.58 s
[really-safe-money-gen] + fraction _ _ 0 = ( N o th in g , 0)
268.58 s
[really-safe-money-gen] fraction r (Amount a) f =
268.58 s
[really-safe-money-gen] let amountAsRatio :: Ratio Natural
268.58 s
[really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] Cmp at src/Money/Amount.hs:495:10-23 #3
268.58 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
268.58 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
268.58 s
[really-safe-money-gen] r :: Integer
268.58 s
[really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
268.58 s
[really-safe-money-gen] - in if r > maxBoundI
268.58 s
[really-safe-money-gen] + in if r > = maxBoundI
268.58 s
[really-safe-money-gen] then Nothing
268.58 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] Cmp at src/Money/Amount.hs:341:26-91 #3
268.58 s
[really-safe-money-gen] @@ -338,7 +338,7 @@
268.58 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
268.58 s
[really-safe-money-gen] in if ceiled == floored
268.58 s
[really-safe-money-gen] then
268.58 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
268.58 s
[really-safe-money-gen] + if ceiled > = (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
268.58 s
[really-safe-money-gen] then Nothing
268.58 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
268.58 s
[really-safe-money-gen] else Nothing
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] ConstBool at src/Money/Amount.hs:332:14-40 #2
268.58 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
268.58 s
[really-safe-money-gen] | otherwise =
268.58 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
268.58 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
268.58 s
[really-safe-money-gen] - if e xp one nt r e s ultDoub l e > 65
268.58 s
[really-safe-money-gen] + if Fa l s e
268.58 s
[really-safe-money-gen] then Nothing
268.58 s
[really-safe-money-gen] else
268.58 s
[really-safe-money-gen] let ceiled :: Natural
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] Cmp at src/Money/Amount.hs:332:14-40 #3
268.58 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
268.58 s
[really-safe-money-gen] | otherwise =
268.58 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
268.58 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
268.58 s
[really-safe-money-gen] - if exponent resultDouble > 65
268.58 s
[really-safe-money-gen] + if exponent resultDouble > = 65
268.58 s
[really-safe-money-gen] then Nothing
268.58 s
[really-safe-money-gen] else
268.58 s
[really-safe-money-gen] let ceiled :: Natural
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] MaybeOp at src/Money/Amount.hs:520:14-66 #1
268.58 s
[really-safe-money-gen] @@ -517,7 +517,7 @@
268.58 s
[really-safe-money-gen] r = i1 - i2
268.58 s
[really-safe-money-gen] in if r < 0
268.58 s
[really-safe-money-gen] then Nothing
268.58 s
[really-safe-money-gen] - else J u s t ( Am o u n t ( (f rom I n t e g er :: Integer -> Word64) r))
268.58 s
[really-safe-money-gen] + else N o t hi n g
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] -- | Multiply an amount of money by an integer scalar
268.58 s
[really-safe-money-gen] --
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] ConstBool at src/Money/Amount.hs:518:10-15 #1
268.58 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
268.58 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
268.58 s
[really-safe-money-gen] r :: Integer
268.58 s
[really-safe-money-gen] r = i1 - i2
268.58 s
[really-safe-money-gen] - in if r < 0
268.58 s
[really-safe-money-gen] + in if T r ue
268.58 s
[really-safe-money-gen] then Nothing
268.58 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] Cmp at src/Money/Amount.hs:518:10-15 #1
268.58 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
268.58 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
268.58 s
[really-safe-money-gen] r :: Integer
268.58 s
[really-safe-money-gen] r = i1 - i2
268.58 s
[really-safe-money-gen] - in if r < 0
268.58 s
[really-safe-money-gen] + in if r < = 0
268.58 s
[really-safe-money-gen] then Nothing
268.58 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] IntLit at src/Money/Amount.hs:518:14-15 #1
268.58 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
268.58 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
268.58 s
[really-safe-money-gen] r :: Integer
268.58 s
[really-safe-money-gen] r = i1 - i2
268.58 s
[really-safe-money-gen] - in if r < 0
268.58 s
[really-safe-money-gen] + in if r < 1
268.58 s
[really-safe-money-gen] then Nothing
268.58 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21 #2
268.58 s
[really-safe-money-gen] @@ -109,9 +109,8 @@
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] -- | Like 'fromString' but in a 'MonadFail'
268.58 s
[really-safe-money-gen] fromStringM :: (MonadFail m) => String -> m DecimalLiteral
268.58 s
[really-safe-money-gen] fromStringM s = case Numeric.DecimalLiteral.fromString s of
268.58 s
[really-safe-money-gen] Nothing -> fail $ "Failed to parse decimal literal from: " <> show s
268.58 s
[really-safe-money-gen] - Just dl -> pure dl
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
268.58 s
[really-safe-money-gen] decimalLiteralP = do
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] Cmp at src/Numeric/DecimalLiteral.hs:208:5-10 #1
268.58 s
[really-safe-money-gen] @@ -205,7 +205,7 @@
268.58 s
[really-safe-money-gen] -- Nothing
268.58 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
268.58 s
[really-safe-money-gen] fromRational (n :% d)
268.58 s
[really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
268.58 s
[really-safe-money-gen] + | n < = 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
268.58 s
[really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] IntLit at src/Numeric/DecimalLiteral.hs:208:9-10 #1
268.58 s
[really-safe-money-gen] @@ -205,7 +205,7 @@
268.58 s
[really-safe-money-gen] -- Nothing
268.58 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
268.58 s
[really-safe-money-gen] fromRational (n :% d)
268.58 s
[really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
268.58 s
[really-safe-money-gen] + | n < 1 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
268.58 s
[really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] Cmp at src/Numeric/DecimalLiteral.hs:266:13-19 #3
268.58 s
[really-safe-money-gen] @@ -263,7 +263,7 @@
268.58 s
[really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
268.58 s
[really-safe-money-gen] | S.member n ns = Nothing
268.58 s
[really-safe-money-gen] -- Over the limit, stop trying
268.58 s
[really-safe-money-gen] - | e > = l = Nothing
268.58 s
[really-safe-money-gen] + | e > l = Nothing
268.58 s
[really-safe-money-gen] | n < d =
268.58 s
[really-safe-money-gen] let !ns' = S.insert n ns
268.58 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40 #1
268.58 s
[really-safe-money-gen] @@ -284,9 +284,8 @@
268.58 s
[really-safe-money-gen] -- >>> toRatio (DecimalLiteral (Just False) 3 1)
268.58 s
[really-safe-money-gen] -- Nothing
268.58 s
[really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
268.58 s
[really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
268.58 s
[really-safe-money-gen] - Just False -> Nothing
268.58 s
[really-safe-money-gen] _ -> Just $ fromIntegral m / (10 ^ e)
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
268.58 s
[really-safe-money-gen] fromWord :: Word -> DecimalLiteral
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] IntLit at src/Numeric/DecimalLiteral.hs:289:33-35 #2
268.58 s
[really-safe-money-gen] @@ -286,7 +286,7 @@
268.58 s
[really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
268.58 s
[really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
268.58 s
[really-safe-money-gen] Just False -> Nothing
268.58 s
[really-safe-money-gen] - _ -> Just $ fromIntegral m / (1 0 ^ e)
268.58 s
[really-safe-money-gen] + _ -> Just $ fromIntegral m / (1 ^ e)
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
268.58 s
[really-safe-money-gen] fromWord :: Word -> DecimalLiteral
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] RemoveAction at src/Numeric/DecimalLiteral.hs:299:3-47 #1
268.58 s
[really-safe-money-gen] @@ -296,7 +296,6 @@
268.58 s
[really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
268.58 s
[really-safe-money-gen] toWord dl = do
268.58 s
[really-safe-money-gen] n <- toNatural dl
268.58 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
268.58 s
[really-safe-money-gen] pure $ fromIntegral n
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47 #1
268.58 s
[really-safe-money-gen] @@ -296,7 +296,7 @@
268.58 s
[really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
268.58 s
[really-safe-money-gen] toWord dl = do
268.58 s
[really-safe-money-gen] n <- toNatural dl
268.58 s
[really-safe-money-gen] - guard $ n < = from I n te g r a l (maxB o u n d : : W ord)
268.58 s
[really-safe-money-gen] + guard $ T r u e
268.58 s
[really-safe-money-gen] pure $ fromIntegral n
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] RemoveAction at src/Numeric/DecimalLiteral.hs:332:3-46 #1
268.58 s
[really-safe-money-gen] @@ -329,7 +329,6 @@
268.58 s
[really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
268.58 s
[really-safe-money-gen] toInt dl = do
268.58 s
[really-safe-money-gen] n <- toInteger dl
268.58 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
268.58 s
[really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
268.58 s
[really-safe-money-gen] pure $ fromIntegral n
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] RemoveAction at src/Numeric/DecimalLiteral.hs:333:3-46 #1
268.58 s
[really-safe-money-gen] @@ -330,7 +330,6 @@
268.58 s
[really-safe-money-gen] toInt dl = do
268.58 s
[really-safe-money-gen] n <- toInteger dl
268.58 s
[really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
268.58 s
[really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
268.58 s
[really-safe-money-gen] pure $ fromIntegral n
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
268.58 s
[really-safe-money-gen]
268.58 s
[really-safe-money-gen] ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46 #1
268.58 s
[really-safe-money-gen] @@ -330,7 +330,7 @@
268.58 s
[really-safe-money-gen] toInt dl = do
268.58 s
[really-safe-money-gen] n <- toInteger dl
268.58 s
[really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
268.58 s
[really-safe-money-gen] - guard $ n >= f r om I n t e g ral (minBound :: Int)
268.58 s
[really-safe-money-gen] + guard $ T r u e
268.59 s
[really-safe-money-gen] pure $ fromIntegral n
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46 #1
268.59 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
268.59 s
[really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
268.59 s
[really-safe-money-gen] toInt dl = do
268.59 s
[really-safe-money-gen] n <- toInteger dl
268.59 s
[really-safe-money-gen] - guard $ n <= f r om I n t e g ral (maxBound :: Int)
268.59 s
[really-safe-money-gen] + guard $ T r u e
268.59 s
[really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
268.59 s
[really-safe-money-gen] pure $ fromIntegral n
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] Cmp at src/Numeric/DecimalLiteral.hs:332:11-46 #1
268.59 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
268.59 s
[really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
268.59 s
[really-safe-money-gen] toInt dl = do
268.59 s
[really-safe-money-gen] n <- toInteger dl
268.59 s
[really-safe-money-gen] - guard $ n < = fromIntegral (maxBound :: Int)
268.59 s
[really-safe-money-gen] + guard $ n < fromIntegral (maxBound :: Int)
268.59 s
[really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
268.59 s
[really-safe-money-gen] pure $ fromIntegral n
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] Cmp at src/Numeric/DecimalLiteral.hs:337:16-22 #3
268.59 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
268.59 s
[really-safe-money-gen] pure $ fromIntegral n
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
268.59 s
[really-safe-money-gen] - numSign a = if a > = 0 then Nothing else Just False
268.59 s
[really-safe-money-gen] + numSign a = if a > 0 then Nothing else Just False
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
268.59 s
[really-safe-money-gen] signSignum = \case
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] IntLit at src/Numeric/DecimalLiteral.hs:337:21-22 #1
268.59 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
268.59 s
[really-safe-money-gen] pure $ fromIntegral n
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
268.59 s
[really-safe-money-gen] - numSign a = if a >= 0 then Nothing else Just False
268.59 s
[really-safe-money-gen] + numSign a = if a >= 1 then Nothing else Just False
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
268.59 s
[really-safe-money-gen] signSignum = \case
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] Cmp at src/Numeric/DecimalLiteral.hs:368:10-39 #1
268.59 s
[really-safe-money-gen] @@ -365,7 +365,7 @@
268.59 s
[really-safe-money-gen] setMinimumDigits wantedDigits dl =
268.59 s
[really-safe-money-gen] let currentDigits :: Word8
268.59 s
[really-safe-money-gen] currentDigits = digits dl
268.59 s
[really-safe-money-gen] - in if wantedDigits < = currentDigits
268.59 s
[really-safe-money-gen] + in if wantedDigits < currentDigits
268.59 s
[really-safe-money-gen] then dl
268.59 s
[really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
268.59 s
[really-safe-money-gen] where
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] Cmp at src/Money/Account.hs:131:20-26 #3
268.59 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
268.59 s
[really-safe-money-gen] amount :: Amount
268.59 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
268.59 s
[really-safe-money-gen] in Just $
268.59 s
[really-safe-money-gen] - if i > = 0
268.59 s
[really-safe-money-gen] + if i > 0
268.59 s
[really-safe-money-gen] then Positive amount
268.59 s
[really-safe-money-gen] else Negative amount
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] IntLit at src/Money/Account.hs:131:25-26 #1
268.59 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
268.59 s
[really-safe-money-gen] amount :: Amount
268.59 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
268.59 s
[really-safe-money-gen] in Just $
268.59 s
[really-safe-money-gen] - if i >= 0
268.59 s
[really-safe-money-gen] + if i >= 1
268.59 s
[really-safe-money-gen] then Positive amount
268.59 s
[really-safe-money-gen] else Negative amount
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] ConstBool at src/Money/Account.hs:123:10-23 #2
268.59 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
268.59 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
268.59 s
[really-safe-money-gen] a :: Integer
268.59 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
268.59 s
[really-safe-money-gen] - in if a > m a xB ound I
268.59 s
[really-safe-money-gen] + in if F a l se
268.59 s
[really-safe-money-gen] then Nothing
268.59 s
[really-safe-money-gen] else
268.59 s
[really-safe-money-gen] let w :: Word64
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] Cmp at src/Money/Account.hs:197:14-20 #3
268.59 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
268.59 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
268.59 s
[really-safe-money-gen] fromDouble quantisationFactor d =
268.59 s
[really-safe-money-gen] let d' = Prelude.abs d
268.59 s
[really-safe-money-gen] - f = if d > = 0 then Positive else Negative
268.59 s
[really-safe-money-gen] + f = if d > 0 then Positive else Negative
268.59 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] Cmp at src/Money/Account.hs:233:14-20 #3
268.59 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
268.59 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
268.59 s
[really-safe-money-gen] fromRational quantisationFactor r =
268.59 s
[really-safe-money-gen] let r' = Prelude.abs r
268.59 s
[really-safe-money-gen] - f = if r > = 0 then Positive else Negative
268.59 s
[really-safe-money-gen] + f = if r > 0 then Positive else Negative
268.59 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] Cmp at src/Money/Account.hs:503:10-16 #3
268.59 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
268.59 s
[really-safe-money-gen] RoundNearest -> RoundNearest
268.59 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
268.59 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
268.59 s
[really-safe-money-gen] - in if f > = 0
268.59 s
[really-safe-money-gen] + in if f > 0
268.59 s
[really-safe-money-gen] then (ma, r)
268.59 s
[really-safe-money-gen] else (negate <$> ma, -r)
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] Cmp at src/Money/Account.hs:495:12-18 #3
268.59 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
268.59 s
[really-safe-money-gen] fraction rounding account f =
268.59 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
268.59 s
[really-safe-money-gen] ro =
268.59 s
[really-safe-money-gen] - if f > = 0
268.59 s
[really-safe-money-gen] + if f > 0
268.59 s
[really-safe-money-gen] then rounding
268.59 s
[really-safe-money-gen] else case rounding of
268.59 s
[really-safe-money-gen] RoundUp -> RoundDown
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] MaybeOp at src/Money/Account.hs:523:16-25 #1
268.59 s
[really-safe-money-gen] @@ -520,7 +520,7 @@
268.59 s
[really-safe-money-gen] (amount, actualFraction) = Amount.fraction ro aa af
268.59 s
[really-safe-money-gen] func :: Maybe Amount -> Ratio Natural -> (Maybe Account, Ratio Natural)
268.59 s
[really-safe-money-gen] func ma r = case compare account zero of
268.59 s
[really-safe-money-gen] - EQ -> ( J u st ze r o , r)
268.59 s
[really-safe-money-gen] + EQ -> ( N o th in g , r)
268.59 s
[really-safe-money-gen] GT -> (Positive <$> ma, r)
268.59 s
[really-safe-money-gen] LT -> (Negative <$> ma, r)
268.59 s
[really-safe-money-gen] in func amount actualFraction
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] Cmp at src/Money/Account.hs:455:14-23 #3
268.59 s
[really-safe-money-gen] @@ -452,7 +452,7 @@
268.59 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
268.59 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
268.59 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
268.59 s
[really-safe-money-gen] - if a > = zero
268.59 s
[really-safe-money-gen] + if a > zero
268.59 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
268.59 s
[really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] Cmp at src/Money/Account.hs:451:14-23 #3
268.59 s
[really-safe-money-gen] @@ -448,7 +448,7 @@
268.59 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
268.59 s
[really-safe-money-gen] DistributedZero -> DistributedZero
268.59 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
268.59 s
[really-safe-money-gen] - if a > = zero
268.59 s
[really-safe-money-gen] + if a > zero
268.59 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
268.59 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
268.59 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
268.59 s
[really-safe-money-gen] ations of
268.59 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Account:", s]
268.59 s
[really-safe-money-gen] Just a -> Right a
268.59 s
[really-safe-money-gen] g :: Account -> String
268.59 s
[really-safe-money-gen] g = show . Account.toMinimalQuantisations
268.59 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24 #1
268.59 s
[really-safe-money-gen] @@ -47,9 +47,8 @@
268.59 s
[really-safe-money-gen] codecViaString = bimapCodec f g stringCodec <?> "Account"
268.59 s
[really-safe-money-gen] where
268.59 s
[really-safe-money-gen] f :: String -> Either String Account
268.59 s
[really-safe-money-gen] f s = case readMaybe s >>= Account.fromMinimalQuantisations of
268.59 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Account:", s]
268.59 s
[really-safe-money-gen] Just a -> Right a
268.59 s
[really-safe-money-gen] g :: Account -> String
268.59 s
[really-safe-money-gen] g = show . Account.toMinimalQuantisations
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] Testing mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82 #1
268.59 s
[really-safe-money-gen] @@ -37,5 +37,4 @@
268.59 s
[really-safe-money-gen] where
268.59 s
[really-safe-money-gen] f :: String -> Either String DecimalLiteral
268.59 s
[really-safe-money-gen] f s = case DecimalLiteral.fromString s of
268.59 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
268.59 s
[really-safe-money-gen] Just a -> Right a
268.59 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24 #2
268.59 s
[really-safe-money-gen] @@ -47,9 +47,8 @@
268.59 s
[really-safe-money-gen] codecViaString = bimapCodec f g stringCodec <?> "Account"
268.59 s
[really-safe-money-gen] where
268.59 s
[really-safe-money-gen] f :: String -> Either String Account
268.59 s
[really-safe-money-gen] f s = case readMaybe s >>= Account.fromMinimalQuantisations of
268.59 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Account:", s]
268.59 s
[really-safe-money-gen] - Just a -> Right a
268.59 s
[really-safe-money-gen] g :: Account -> String
268.59 s
[really-safe-money-gen] g = show . Account.toMinimalQuantisations
268.59 s
[really-safe-money-gen]
268.59 s
[really-safe-money-gen] Testing mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82 #2
268.59 s
[really-safe-money-gen] @@ -37,5 +37,4 @@
268.59 s
[really-safe-money-gen] where
268.59 s
[really-safe-money-gen] f :: String -> Either String DecimalLiteral
268.59 s
[really-safe-money-gen] f s = case DecimalLiteral.fromString s of
268.59 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
268.59 s
[really-safe-money-gen] Just a -> Right a
268.59 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24 #2
268.59 s
[really-safe-money-gen] @@ -36,6 +36,5 @@
268.59 s
[really-safe-money-gen] codecViaString = bimapCodec f DecimalLiteral.toString stringCodec <?> "DecimalLiteral"
268.59 s
[really-safe-money-gen] where
268.59 s
[really-safe-money-gen] f :: String -> Either String DecimalLiteral
268.59 s
[really-safe-money-gen] f s = case DecimalLiteral.fromString s of
268.59 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
268.59 s
[really-safe-money-gen] - Just a -> Right a
268.59 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26 #1
268.59 s
[really-safe-money-gen] @@ -38,6 +38,5 @@
268.59 s
[really-safe-money-gen] codec
268.59 s
[really-safe-money-gen] <?> "QuantisationFactor"
268.59 s
[really-safe-money-gen] where
268.59 s
[really-safe-money-gen] f w = case QuantisationFactor.fromWord32 w of
268.59 s
[really-safe-money-gen] - Nothing -> Left $ "Unable to parse as a quantisation factor: " <> show w
268.59 s
[really-safe-money-gen] Just qf -> Right qf
268.59 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26 #2
268.59 s
[really-safe-money-gen] @@ -38,6 +38,5 @@
268.59 s
[really-safe-money-gen] codec
268.59 s
[really-safe-money-gen] <?> "QuantisationFactor"
268.59 s
[really-safe-money-gen] where
268.59 s
[really-safe-money-gen] f w = case QuantisationFactor.fromWord32 w of
268.59 s
[really-safe-money-gen] Nothing -> Left $ "Unable to parse as a quantisation factor: " <> show w
268.59 s
[really-safe-money-gen] - Just qf -> Right qf
268.59 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24 #1
268.59 s
[really-safe-money-gen] @@ -36,6 +36,5 @@
268.60 s
[really-safe-money-gen] codecViaString = bimapCodec f DecimalLiteral.toString stringCodec <?> "DecimalLiteral"
268.60 s
[really-safe-money-gen] where
268.60 s
[really-safe-money-gen] f :: String -> Either String DecimalLiteral
268.60 s
[really-safe-money-gen] f s = case DecimalLiteral.fromString s of
268.60 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
268.60 s
[really-safe-money-gen] Just a -> Right a
268.60 s
[really-safe-money-gen] checkPhase completed in 3 minutes 34 seconds
268.60 s
[really-safe-money-gen] Phase: haddockPhase
268.67 s
[really-safe-money-gen] Preprocessing library for really-safe-money-gen-0.0.0.0...
268.67 s
[really-safe-money-gen] Running Haddock on library for really-safe-money-gen-0.0.0.0...
268.67 s
[really-safe-money-gen] Warning: The documentation for the following packages are not installed. No
268.67 s
[really-safe-money-gen] links will be generated to these packages: really-safe-money-0.0.0.0
268.84 s
[really-safe-money-gen] [ 1 of 13] Compiling Money.Amount.Gen ( src/Money/Amount/Gen.hs, nothing )
268.94 s
[really-safe-money-gen] [ 2 of 13] Compiling Money.Account.Gen ( src/Money/Account/Gen.hs, nothing )
268.94 s
[really-safe-money-gen] [ 3 of 13] Compiling Money.AccountOf.Gen ( src/Money/AccountOf/Gen.hs, nothing )
268.95 s
[really-safe-money-gen] [ 4 of 13] Compiling Money.AmountOf.Gen ( src/Money/AmountOf/Gen.hs, nothing )
268.95 s
[really-safe-money-gen] [ 5 of 13] Compiling Money.ConversionRate.Gen ( src/Money/ConversionRate/Gen.hs, nothing )
268.96 s
[really-safe-money-gen] [ 6 of 13] Compiling Money.ConversionRateOf.Gen ( src/Money/ConversionRateOf/Gen.hs, nothing )
268.96 s
[really-safe-money-gen] [ 7 of 13] Compiling Money.QuantisationFactor.Gen ( src/Money/QuantisationFactor/Gen.hs, nothing )
268.96 s
[really-safe-money-gen] [ 8 of 13] Compiling Money.Currency.Gen ( src/Money/Currency/Gen.hs, nothing )
268.96 s
[really-safe-money-gen] [ 9 of 13] Compiling Money.MultiAmount.Gen ( src/Money/MultiAmount/Gen.hs, nothing )
268.97 s
[really-safe-money-gen] [10 of 13] Compiling Money.MultiAccount.Gen ( src/Money/MultiAccount/Gen.hs, nothing )
268.98 s
[really-safe-money-gen] [11 of 13] Compiling Money.Gen ( src/Money/Gen.hs, nothing )
268.98 s
[really-safe-money-gen] [12 of 13] Compiling Numeric.DecimalLiteral.Gen ( src/Numeric/DecimalLiteral/Gen.hs, nothing )
268.99 s
[really-safe-money-gen] [13 of 13] Compiling Paths_really_safe_money_gen ( dist/build/autogen/Paths_really_safe_money_gen.hs, nothing )
269.00 s
[really-safe-money-gen] Haddock coverage:
269.00 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.Amount.Gen'
269.00 s
[really-safe-money-gen] Missing documentation for:
269.00 s
[really-safe-money-gen] Module header
269.00 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.Account.Gen'
269.00 s
[really-safe-money-gen] Missing documentation for:
269.00 s
[really-safe-money-gen] Module header
269.00 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.AccountOf.Gen'
269.00 s
[really-safe-money-gen] Missing documentation for:
269.00 s
[really-safe-money-gen] Module header
269.00 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.AmountOf.Gen'
269.00 s
[really-safe-money-gen] Missing documentation for:
269.00 s
[really-safe-money-gen] Module header
269.00 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.ConversionRate.Gen'
269.00 s
[really-safe-money-gen] Missing documentation for:
269.00 s
[really-safe-money-gen] Module header
269.00 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.ConversionRateOf.Gen'
269.00 s
[really-safe-money-gen] Missing documentation for:
269.00 s
[really-safe-money-gen] Module header
269.00 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.QuantisationFactor.Gen'
269.00 s
[really-safe-money-gen] Missing documentation for:
269.00 s
[really-safe-money-gen] Module header
269.00 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.Currency.Gen'
269.00 s
[really-safe-money-gen] Missing documentation for:
269.00 s
[really-safe-money-gen] Module header
269.00 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.MultiAmount.Gen'
269.00 s
[really-safe-money-gen] Missing documentation for:
269.00 s
[really-safe-money-gen] Module header
269.00 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.MultiAccount.Gen'
269.00 s
[really-safe-money-gen] Missing documentation for:
269.00 s
[really-safe-money-gen] Module header
269.00 s
[really-safe-money-gen] Warning: Money.Gen: Could not find documentation for exported module: Money.Gen
269.00 s
[really-safe-money-gen] 90% ( 10 / 11) in 'Money.Gen'
269.00 s
[really-safe-money-gen] Missing documentation for:
269.00 s
[really-safe-money-gen] Module header
269.00 s
[really-safe-money-gen] 0% ( 0 / 2) in 'Numeric.DecimalLiteral.Gen'
269.00 s
[really-safe-money-gen] Missing documentation for:
269.00 s
[really-safe-money-gen] Module header
269.00 s
[really-safe-money-gen] shrinkSign (src/Numeric/DecimalLiteral/Gen.hs:16)
269.15 s
[really-safe-money-gen] Warning: Money.Amount.Gen: could not find link destinations for:
269.15 s
[really-safe-money-gen] - Money.Amount.Amount
269.15 s
[really-safe-money-gen] - Money.Amount.Distribution
269.15 s
[really-safe-money-gen] - Money.Amount.Rounding
269.15 s
[really-safe-money-gen] Warning: Money.Account.Gen: could not find link destinations for:
269.15 s
[really-safe-money-gen] - Money.Account.Account
269.15 s
[really-safe-money-gen] Warning: Money.AccountOf.Gen: could not find link destinations for:
269.15 s
[really-safe-money-gen] - Money.AccountOf.AccountOf
269.15 s
[really-safe-money-gen] Warning: Money.AmountOf.Gen: could not find link destinations for:
269.15 s
[really-safe-money-gen] - Money.AmountOf.AmountOf
269.15 s
[really-safe-money-gen] Warning: Money.ConversionRate.Gen: could not find link destinations for:
269.15 s
[really-safe-money-gen] - Money.ConversionRate.ConversionRate
269.15 s
[really-safe-money-gen] Warning: Money.ConversionRateOf.Gen: could not find link destinations for:
269.15 s
[really-safe-money-gen] - Money.ConversionRateOf.ConversionRateOf
269.15 s
[really-safe-money-gen] Warning: Money.QuantisationFactor.Gen: could not find link destinations for:
269.15 s
[really-safe-money-gen] - Money.QuantisationFactor.QuantisationFactor
269.15 s
[really-safe-money-gen] Warning: Money.Currency.Gen: could not find link destinations for:
269.15 s
[really-safe-money-gen] - Money.Currency.Currency
269.15 s
[really-safe-money-gen] Warning: Money.MultiAmount.Gen: could not find link destinations for:
269.15 s
[really-safe-money-gen] - Money.MultiAmount.MultiAmount
269.15 s
[really-safe-money-gen] Warning: Money.MultiAccount.Gen: could not find link destinations for:
269.15 s
[really-safe-money-gen] - Money.MultiAccount.MultiAccount
269.15 s
[really-safe-money-gen] Warning: Numeric.DecimalLiteral.Gen: could not find link destinations for:
269.15 s
[really-safe-money-gen] - Numeric.DecimalLiteral.DecimalLiteral
273.39 s
[really-safe-money-gen] Documentation created: dist/doc/html/really-safe-money-gen/,
273.39 s
[really-safe-money-gen] dist/doc/html/really-safe-money-gen/really-safe-money-gen.txt
273.45 s
[really-safe-money-gen] Preprocessing test suite 'really-safe-money-test' for really-safe-money-gen-0.0.0.0...
273.46 s
[really-safe-money-gen] Phase: installPhase
273.55 s
[really-safe-money-gen] Installing library in /nix/store/1mvapk68v5imv6fh3kk63351avaahvww-really-safe-money-gen-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-gen-0.0.0.0-F0pQpSMN0Gq54yNVluvC8U
273.86 s
[really-safe-money-gen] Phase: fixupPhase
273.88 s
[really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/1mvapk68v5imv6fh3kk63351avaahvww-really-safe-money-gen-0.0.0.0
273.90 s
[really-safe-money-gen] shrinking /nix/store/1mvapk68v5imv6fh3kk63351avaahvww-really-safe-money-gen-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/libHSreally-safe-money-gen-0.0.0.0-F0pQpSMN0Gq54yNVluvC8U-ghc9.10.3.so
273.90 s
[really-safe-money-gen] checking for references to /build/ in /nix/store/1mvapk68v5imv6fh3kk63351avaahvww-really-safe-money-gen-0.0.0.0...
273.93 s
[really-safe-money-gen] patching script interpreter paths in /nix/store/1mvapk68v5imv6fh3kk63351avaahvww-really-safe-money-gen-0.0.0.0
273.93 s
[really-safe-money-gen] stripping (with command strip and flags -S -p) in /nix/store/1mvapk68v5imv6fh3kk63351avaahvww-really-safe-money-gen-0.0.0.0/lib
273.99 s
[really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/8nqwvdarcv3b8pggzq3lwf682442ihsg-really-safe-money-gen-0.0.0.0-doc
273.99 s
[really-safe-money-gen] checking for references to /build/ in /nix/store/8nqwvdarcv3b8pggzq3lwf682442ihsg-really-safe-money-gen-0.0.0.0-doc...
274.01 s
[really-safe-money-gen] patching script interpreter paths in /nix/store/8nqwvdarcv3b8pggzq3lwf682442ihsg-really-safe-money-gen-0.0.0.0-doc
274.02 s
[really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/3y6pxw7va8bpjrrhy11mkh2v51gkxy0p-really-safe-money-gen-0.0.0.0-report
274.03 s
[really-safe-money-gen] checking for references to /build/ in /nix/store/3y6pxw7va8bpjrrhy11mkh2v51gkxy0p-really-safe-money-gen-0.0.0.0-report...
274.06 s
[really-safe-money-gen] patching script interpreter paths in /nix/store/3y6pxw7va8bpjrrhy11mkh2v51gkxy0p-really-safe-money-gen-0.0.0.0-report
274.20 s
Progress: 8 of 9 built