build checks.x86_64-linux.mutation-really-safe-money
271.12 s
[really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ not (amount > zero)
271.12 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:607:15-22
271.12 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
271.12 s
[really-safe-money-gen] case ad of
271.12 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
271.12 s
[really-safe-money-gen] declare "The larger chunks are larger" $
271.12 s
[really-safe-money-gen] - a1 > a2
271.12 s
[really-safe-money-gen] + True
271.12 s
[really-safe-money-gen] _ -> valid
271.12 s
[really-safe-money-gen] ]
271.12 s
[really-safe-money-gen]
271.12 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:250:15-16
271.12 s
[really-safe-money-gen] @@ -247,7 +247,7 @@
271.12 s
[really-safe-money-gen] -- >>> zero
271.12 s
[really-safe-money-gen] -- Amount 0
271.12 s
[really-safe-money-gen] zero :: Amount
271.12 s
[really-safe-money-gen] -zero = Amount 0
271.12 s
[really-safe-money-gen] +zero = Amount 1
271.12 s
[really-safe-money-gen]
271.12 s
[really-safe-money-gen] -- | Turn an amount into a number of minimal quantisations.
271.12 s
[really-safe-money-gen] --
271.12 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:607:15-22
271.12 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
271.12 s
[really-safe-money-gen] case ad of
271.12 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
271.12 s
[really-safe-money-gen] declare "The larger chunks are larger" $
271.12 s
[really-safe-money-gen] - a1 > a2
271.12 s
[really-safe-money-gen] + not (a1 > a2)
271.12 s
[really-safe-money-gen] _ -> valid
271.12 s
[really-safe-money-gen] ]
271.12 s
[really-safe-money-gen]
271.12 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount.hs:604:9-21
271.12 s
[really-safe-money-gen] @@ -601,11 +601,11 @@
271.12 s
[really-safe-money-gen] validate ad =
271.12 s
[really-safe-money-gen] mconcat
271.12 s
[really-safe-money-gen] [ genericValidate ad,
271.12 s
[really-safe-money-gen] - case ad of
271.12 s
[really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
271.12 s
[really-safe-money-gen] - declare "The larger chunks are larger" $
271.12 s
[really-safe-money-gen] - a1 > a2
271.12 s
[really-safe-money-gen] - _ -> valid
271.12 s
[really-safe-money-gen] + case ad of
271.12 s
[really-safe-money-gen] + DistributedIntoUnequalChunks _ a1 _ a2 ->
271.12 s
[really-safe-money-gen] + declare "The larger chunks are larger" $
271.12 s
[really-safe-money-gen] + a1 > a2
271.13 s
[really-safe-money-gen] + _ -> valid
271.13 s
[really-safe-money-gen] ]
271.13 s
[really-safe-money-gen]
271.13 s
[really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
271.13 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount.hs:603:7-8
271.13 s
[really-safe-money-gen] @@ -600,13 +600,7 @@
271.13 s
[really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
271.13 s
[really-safe-money-gen] validate ad =
271.13 s
[really-safe-money-gen] mconcat
271.13 s
[really-safe-money-gen] - [ genericValidate ad,
271.13 s
[really-safe-money-gen] - case ad of
271.13 s
[really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
271.13 s
[really-safe-money-gen] - declare "The larger chunks are larger" $
271.13 s
[really-safe-money-gen] - a1 > a2
271.13 s
[really-safe-money-gen] - _ -> valid
271.13 s
[really-safe-money-gen] - ]
271.13 s
[really-safe-money-gen] + []
271.13 s
[really-safe-money-gen]
271.13 s
[really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
271.13 s
[really-safe-money-gen]
271.13 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount.hs:603:7-8
271.13 s
[really-safe-money-gen] @@ -600,13 +600,13 @@
271.13 s
[really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
271.13 s
[really-safe-money-gen] validate ad =
271.13 s
[really-safe-money-gen] mconcat
271.13 s
[really-safe-money-gen] - [ genericValidate ad,
271.13 s
[really-safe-money-gen] - case ad of
271.13 s
[really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
271.13 s
[really-safe-money-gen] - declare "The larger chunks are larger" $
271.13 s
[really-safe-money-gen] - a1 > a2
271.13 s
[really-safe-money-gen] - _ -> valid
271.13 s
[really-safe-money-gen] - ]
271.13 s
[really-safe-money-gen] + [ genericValidate ad,
271.13 s
[really-safe-money-gen] + case ad of
271.13 s
[really-safe-money-gen] + DistributedIntoUnequalChunks _ a1 _ a2 ->
271.13 s
[really-safe-money-gen] + declare "The larger chunks are larger" $
271.13 s
[really-safe-money-gen] + a1 > a2
271.13 s
[really-safe-money-gen] + _ -> valid
271.13 s
[really-safe-money-gen] + ]
271.13 s
[really-safe-money-gen]
271.13 s
[really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
271.13 s
[really-safe-money-gen]
271.13 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount.hs:604:9-21
271.13 s
[really-safe-money-gen] @@ -601,11 +601,11 @@
271.13 s
[really-safe-money-gen] validate ad =
271.13 s
[really-safe-money-gen] mconcat
271.13 s
[really-safe-money-gen] [ genericValidate ad,
271.13 s
[really-safe-money-gen] - case ad of
271.13 s
[really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
271.13 s
[really-safe-money-gen] - declare "The larger chunks are larger" $
271.13 s
[really-safe-money-gen] - a1 > a2
271.13 s
[really-safe-money-gen] - _ -> valid
271.13 s
[really-safe-money-gen] + case ad of
271.13 s
[really-safe-money-gen] + DistributedIntoUnequalChunks _ a1 _ a2 ->
271.13 s
[really-safe-money-gen] + declare "The larger chunks are larger" $
271.13 s
[really-safe-money-gen] + a1 > a2
271.13 s
[really-safe-money-gen] + _ -> valid
271.13 s
[really-safe-money-gen] ]
271.13 s
[really-safe-money-gen]
271.13 s
[really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
271.13 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:87:27-28
271.13 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
271.13 s
[really-safe-money-gen] fromDecimalLiteral dl = do
271.13 s
[really-safe-money-gen] irat <-
271.13 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
271.13 s
[really-safe-money-gen] - in if numerator r == 0
271.13 s
[really-safe-money-gen] + in if numerator r == 1
271.13 s
[really-safe-money-gen] then Nothing
271.13 s
[really-safe-money-gen] else pure r
271.13 s
[really-safe-money-gen]
271.13 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:607:15-22
271.13 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
271.13 s
[really-safe-money-gen] case ad of
271.13 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
271.13 s
[really-safe-money-gen] declare "The larger chunks are larger" $
271.13 s
[really-safe-money-gen] - a1 > a2
271.13 s
[really-safe-money-gen] + False
271.13 s
[really-safe-money-gen] _ -> valid
271.13 s
[really-safe-money-gen] ]
271.13 s
[really-safe-money-gen]
271.13 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
271.13 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
271.13 s
[really-safe-money-gen] fromDecimalLiteral dl = do
271.13 s
[really-safe-money-gen] irat <-
271.13 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
271.13 s
[really-safe-money-gen] - in if numerator r == 0
271.13 s
[really-safe-money-gen] + in if True
271.13 s
[really-safe-money-gen] then Nothing
271.13 s
[really-safe-money-gen] else pure r
271.13 s
[really-safe-money-gen]
271.13 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
271.13 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
271.13 s
[really-safe-money-gen] fromDecimalLiteral dl = do
271.13 s
[really-safe-money-gen] irat <-
271.13 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
271.13 s
[really-safe-money-gen] - in if numerator r == 0
271.13 s
[really-safe-money-gen] + in if False
271.13 s
[really-safe-money-gen] then Nothing
271.13 s
[really-safe-money-gen] else pure r
271.13 s
[really-safe-money-gen]
271.13 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/QuantisationFactor.hs:87:9-22
271.13 s
[really-safe-money-gen] @@ -84,9 +84,9 @@
271.13 s
[really-safe-money-gen] fromDecimalLiteral dl = do
271.13 s
[really-safe-money-gen] irat <-
271.13 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
271.13 s
[really-safe-money-gen] - in if numerator r == 0
271.13 s
[really-safe-money-gen] - then Nothing
271.13 s
[really-safe-money-gen] - else pure r
271.13 s
[really-safe-money-gen] + in if numerator r == 0
271.13 s
[really-safe-money-gen] + then Nothing
271.13 s
[really-safe-money-gen] + else pure r
271.13 s
[really-safe-money-gen]
271.13 s
[really-safe-money-gen] rat <-
271.13 s
[really-safe-money-gen] let r = 1 / irat
271.13 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:87:12-28
271.13 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
271.14 s
[really-safe-money-gen] fromDecimalLiteral dl = do
271.14 s
[really-safe-money-gen] irat <-
271.14 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
271.14 s
[really-safe-money-gen] - in if numerator r == 0
271.14 s
[really-safe-money-gen] + in if not (numerator r == 0)
271.14 s
[really-safe-money-gen] then Nothing
271.14 s
[really-safe-money-gen] else pure r
271.14 s
[really-safe-money-gen]
271.14 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
271.14 s
[really-safe-money-gen] @@ -89,7 +89,7 @@
271.14 s
[really-safe-money-gen] else pure r
271.14 s
[really-safe-money-gen]
271.14 s
[really-safe-money-gen] rat <-
271.14 s
[really-safe-money-gen] - let r = 1 / irat
271.14 s
[really-safe-money-gen] + let r = 0 / irat
271.14 s
[really-safe-money-gen] in if r < 0
271.14 s
[really-safe-money-gen] then Nothing
271.14 s
[really-safe-money-gen] else Just r
271.14 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
271.14 s
[really-safe-money-gen] @@ -89,7 +89,7 @@
271.14 s
[really-safe-money-gen] else pure r
271.14 s
[really-safe-money-gen]
271.14 s
[really-safe-money-gen] rat <-
271.14 s
[really-safe-money-gen] - let r = 1 / irat
271.14 s
[really-safe-money-gen] + let r = -1 / irat
271.14 s
[really-safe-money-gen] in if r < 0
271.14 s
[really-safe-money-gen] then Nothing
271.14 s
[really-safe-money-gen] else Just r
271.14 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:93:16-17
271.14 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
271.14 s
[really-safe-money-gen]
271.14 s
[really-safe-money-gen] rat <-
271.14 s
[really-safe-money-gen] let r = 1 / irat
271.14 s
[really-safe-money-gen] - in if r < 0
271.14 s
[really-safe-money-gen] + in if r < 1
271.14 s
[really-safe-money-gen] then Nothing
271.14 s
[really-safe-money-gen] else Just r
271.14 s
[really-safe-money-gen]
271.14 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
271.14 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
271.14 s
[really-safe-money-gen]
271.14 s
[really-safe-money-gen] rat <-
271.14 s
[really-safe-money-gen] let r = 1 / irat
271.14 s
[really-safe-money-gen] - in if r < 0
271.14 s
[really-safe-money-gen] + in if True
271.14 s
[really-safe-money-gen] then Nothing
271.14 s
[really-safe-money-gen] else Just r
271.14 s
[really-safe-money-gen]
271.14 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:93:12-17
271.14 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
271.14 s
[really-safe-money-gen]
271.14 s
[really-safe-money-gen] rat <-
271.14 s
[really-safe-money-gen] let r = 1 / irat
271.14 s
[really-safe-money-gen] - in if r < 0
271.14 s
[really-safe-money-gen] + in if not (r < 0)
271.14 s
[really-safe-money-gen] then Nothing
271.14 s
[really-safe-money-gen] else Just r
271.14 s
[really-safe-money-gen]
271.14 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
271.14 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
271.14 s
[really-safe-money-gen] else Just r
271.14 s
[really-safe-money-gen]
271.14 s
[really-safe-money-gen] fac <-
271.14 s
[really-safe-money-gen] - if denominator rat == 1
271.14 s
[really-safe-money-gen] + if denominator rat == 0
271.14 s
[really-safe-money-gen] then Just (numerator rat)
271.14 s
[really-safe-money-gen] else Nothing
271.14 s
[really-safe-money-gen]
271.14 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/QuantisationFactor.hs:93:9-22
271.14 s
[really-safe-money-gen] @@ -90,9 +90,9 @@
271.14 s
[really-safe-money-gen]
271.14 s
[really-safe-money-gen] rat <-
271.14 s
[really-safe-money-gen] let r = 1 / irat
271.14 s
[really-safe-money-gen] - in if r < 0
271.14 s
[really-safe-money-gen] - then Nothing
271.14 s
[really-safe-money-gen] - else Just r
271.14 s
[really-safe-money-gen] + in if r < 0
271.14 s
[really-safe-money-gen] + then Nothing
271.14 s
[really-safe-money-gen] + else Just r
271.14 s
[really-safe-money-gen]
271.14 s
[really-safe-money-gen] fac <-
271.14 s
[really-safe-money-gen] if denominator rat == 1
271.14 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
271.14 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
271.14 s
[really-safe-money-gen] else Just r
271.14 s
[really-safe-money-gen]
271.14 s
[really-safe-money-gen] fac <-
271.14 s
[really-safe-money-gen] - if denominator rat == 1
271.14 s
[really-safe-money-gen] + if denominator rat == -1
271.14 s
[really-safe-money-gen] then Just (numerator rat)
271.14 s
[really-safe-money-gen] else Nothing
271.14 s
[really-safe-money-gen]
273.35 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
273.35 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
273.35 s
[really-safe-money-gen] else Just r
273.35 s
[really-safe-money-gen]
273.35 s
[really-safe-money-gen] fac <-
273.35 s
[really-safe-money-gen] - if denominator rat == 1
273.35 s
[really-safe-money-gen] + if True
273.35 s
[really-safe-money-gen] then Just (numerator rat)
273.35 s
[really-safe-money-gen] else Nothing
273.35 s
[really-safe-money-gen]
273.35 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
273.35 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
273.35 s
[really-safe-money-gen] else Just r
273.35 s
[really-safe-money-gen]
273.35 s
[really-safe-money-gen] fac <-
273.35 s
[really-safe-money-gen] - if denominator rat == 1
273.35 s
[really-safe-money-gen] + if False
273.35 s
[really-safe-money-gen] then Just (numerator rat)
273.35 s
[really-safe-money-gen] else Nothing
273.35 s
[really-safe-money-gen]
273.35 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:98:8-28
273.35 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
273.35 s
[really-safe-money-gen] else Just r
273.35 s
[really-safe-money-gen]
273.35 s
[really-safe-money-gen] fac <-
273.35 s
[really-safe-money-gen] - if denominator rat == 1
273.35 s
[really-safe-money-gen] + if not (denominator rat == 1)
273.35 s
[really-safe-money-gen] then Just (numerator rat)
273.35 s
[really-safe-money-gen] else Nothing
273.35 s
[really-safe-money-gen]
273.35 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
273.35 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
273.35 s
[really-safe-money-gen]
273.35 s
[really-safe-money-gen] rat <-
273.35 s
[really-safe-money-gen] let r = 1 / irat
273.36 s
[really-safe-money-gen] - in if r < 0
273.36 s
[really-safe-money-gen] + in if False
273.36 s
[really-safe-money-gen] then Nothing
273.36 s
[really-safe-money-gen] else Just r
273.36 s
[really-safe-money-gen]
273.36 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:102:6-46
273.36 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
273.36 s
[really-safe-money-gen] then Just (numerator rat)
273.36 s
[really-safe-money-gen] else Nothing
273.36 s
[really-safe-money-gen]
273.36 s
[really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
273.36 s
[really-safe-money-gen] + if not (fac <= fromIntegral (maxBound :: Word32))
273.36 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
273.36 s
[really-safe-money-gen] else Nothing
273.36 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
273.36 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
273.36 s
[really-safe-money-gen] then Just (numerator rat)
273.36 s
[really-safe-money-gen] else Nothing
273.36 s
[really-safe-money-gen]
273.36 s
[really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
273.36 s
[really-safe-money-gen] + if False
273.36 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
273.36 s
[really-safe-money-gen] else Nothing
273.36 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
273.36 s
[really-safe-money-gen] @@ -64,7 +64,7 @@
273.36 s
[really-safe-money-gen] -- Just (DecimalLiteral Nothing 1 0)
273.36 s
[really-safe-money-gen] toDecimalLiteral :: QuantisationFactor -> Maybe DecimalLiteral
273.36 s
[really-safe-money-gen] toDecimalLiteral (QuantisationFactor qfw) =
273.36 s
[really-safe-money-gen] - DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (1 % fromIntegral qfw)
273.36 s
[really-safe-money-gen] + DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (-1 % fromIntegral qfw)
273.36 s
[really-safe-money-gen]
273.36 s
[really-safe-money-gen] -- | Parse a 'QuantisationFactor' from a 'DecimalLiteral' that represents the smallest unit
273.36 s
[really-safe-money-gen] -- TODO explain that it's the inverse.
273.36 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:40:62-63
273.36 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
273.36 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
273.36 s
[really-safe-money-gen] mconcat
273.36 s
[really-safe-money-gen] [ genericValidate qf,
273.36 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
273.36 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ w /= 1
273.36 s
[really-safe-money-gen] ]
273.36 s
[really-safe-money-gen]
273.36 s
[really-safe-money-gen] instance NFData QuantisationFactor
273.36 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
273.36 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
273.36 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
273.36 s
[really-safe-money-gen] mconcat
273.36 s
[really-safe-money-gen] [ genericValidate qf,
273.36 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
273.36 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ False
273.36 s
[really-safe-money-gen] ]
273.36 s
[really-safe-money-gen]
273.36 s
[really-safe-money-gen] instance NFData QuantisationFactor
273.36 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
273.36 s
[really-safe-money-gen] @@ -64,7 +64,7 @@
273.36 s
[really-safe-money-gen] -- Just (DecimalLiteral Nothing 1 0)
273.36 s
[really-safe-money-gen] toDecimalLiteral :: QuantisationFactor -> Maybe DecimalLiteral
273.36 s
[really-safe-money-gen] toDecimalLiteral (QuantisationFactor qfw) =
273.36 s
[really-safe-money-gen] - DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (1 % fromIntegral qfw)
273.36 s
[really-safe-money-gen] + DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (0 % fromIntegral qfw)
273.36 s
[really-safe-money-gen]
273.36 s
[really-safe-money-gen] -- | Parse a 'QuantisationFactor' from a 'DecimalLiteral' that represents the smallest unit
273.36 s
[really-safe-money-gen] -- TODO explain that it's the inverse.
273.36 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
273.36 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
273.36 s
[really-safe-money-gen] then Just (numerator rat)
273.36 s
[really-safe-money-gen] else Nothing
273.36 s
[really-safe-money-gen]
273.36 s
[really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
273.36 s
[really-safe-money-gen] + if True
273.36 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
273.36 s
[really-safe-money-gen] else Nothing
273.36 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:40:57-63
273.36 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
273.36 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
273.36 s
[really-safe-money-gen] mconcat
273.36 s
[really-safe-money-gen] [ genericValidate qf,
273.36 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
273.36 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ not (w /= 0)
273.36 s
[really-safe-money-gen] ]
273.36 s
[really-safe-money-gen]
273.36 s
[really-safe-money-gen] instance NFData QuantisationFactor
273.36 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
273.36 s
[really-safe-money-gen] @@ -36,9 +36,7 @@
273.36 s
[really-safe-money-gen] instance Validity QuantisationFactor where
273.36 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
273.36 s
[really-safe-money-gen] mconcat
273.36 s
[really-safe-money-gen] - [ genericValidate qf,
273.36 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
273.37 s
[really-safe-money-gen] - ]
273.37 s
[really-safe-money-gen] + []
273.37 s
[really-safe-money-gen]
273.37 s
[really-safe-money-gen] instance NFData QuantisationFactor
273.37 s
[really-safe-money-gen]
273.37 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:553:7-39
273.37 s
[really-safe-money-gen] @@ -550,11 +550,11 @@
273.37 s
[really-safe-money-gen] let aa1 = abs a1
273.37 s
[really-safe-money-gen] aa2 = abs a2
273.37 s
[really-safe-money-gen] mr = Amount.rate qf1 aa1 qf2 aa2
273.37 s
[really-safe-money-gen] - in case (a1, a2) of
273.37 s
[really-safe-money-gen] - (Positive _, Positive _) -> mr
273.37 s
[really-safe-money-gen] - (Positive _, Negative _) -> Nothing
273.37 s
[really-safe-money-gen] - (Negative _, Positive _) -> Nothing
273.37 s
[really-safe-money-gen] - (Negative _, Negative _) -> mr
273.37 s
[really-safe-money-gen] + in case (a1, a2) of
273.37 s
[really-safe-money-gen] + (Positive _, Positive _) -> mr
273.37 s
[really-safe-money-gen] + (Positive _, Negative _) -> Nothing
273.37 s
[really-safe-money-gen] + (Negative _, Positive _) -> Nothing
273.37 s
[really-safe-money-gen] + (Negative _, Negative _) -> mr
273.37 s
[really-safe-money-gen]
273.37 s
[really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
273.37 s
[really-safe-money-gen] -- another currency using a conversion rate.
273.37 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:553:7-39
273.37 s
[really-safe-money-gen] @@ -550,11 +550,11 @@
273.37 s
[really-safe-money-gen] let aa1 = abs a1
273.37 s
[really-safe-money-gen] aa2 = abs a2
273.37 s
[really-safe-money-gen] mr = Amount.rate qf1 aa1 qf2 aa2
273.37 s
[really-safe-money-gen] - in case (a1, a2) of
273.37 s
[really-safe-money-gen] - (Positive _, Positive _) -> mr
273.37 s
[really-safe-money-gen] - (Positive _, Negative _) -> Nothing
273.37 s
[really-safe-money-gen] - (Negative _, Positive _) -> Nothing
273.37 s
[really-safe-money-gen] - (Negative _, Negative _) -> mr
273.37 s
[really-safe-money-gen] + in case (a1, a2) of
273.37 s
[really-safe-money-gen] + (Positive _, Positive _) -> mr
273.37 s
[really-safe-money-gen] + (Positive _, Negative _) -> Nothing
273.37 s
[really-safe-money-gen] + (Negative _, Positive _) -> Nothing
273.37 s
[really-safe-money-gen] + (Negative _, Negative _) -> mr
273.37 s
[really-safe-money-gen]
273.37 s
[really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
273.37 s
[really-safe-money-gen] -- another currency using a conversion rate.
273.37 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:591:7-44
273.37 s
[really-safe-money-gen] @@ -588,9 +588,9 @@
273.37 s
[really-safe-money-gen] (Maybe Account, Maybe ConversionRate)
273.37 s
[really-safe-money-gen] convert r qf1 a cr qf2 =
273.37 s
[really-safe-money-gen] let (ma, mr) = Amount.convert r qf1 (abs a) cr qf2
273.37 s
[really-safe-money-gen] - in case a of
273.37 s
[really-safe-money-gen] - Positive _ -> (Positive <$> ma, mr)
273.37 s
[really-safe-money-gen] - Negative _ -> (Negative <$> ma, mr)
273.37 s
[really-safe-money-gen] + in case a of
273.37 s
[really-safe-money-gen] + Positive _ -> (Positive <$> ma, mr)
273.37 s
[really-safe-money-gen] + Negative _ -> (Negative <$> ma, mr)
273.37 s
[really-safe-money-gen]
273.37 s
[really-safe-money-gen] -- | Format an account of money without a symbol.
273.37 s
[really-safe-money-gen] --
273.37 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:591:7-44
273.37 s
[really-safe-money-gen] @@ -588,9 +588,9 @@
273.37 s
[really-safe-money-gen] (Maybe Account, Maybe ConversionRate)
273.37 s
[really-safe-money-gen] convert r qf1 a cr qf2 =
273.37 s
[really-safe-money-gen] let (ma, mr) = Amount.convert r qf1 (abs a) cr qf2
273.37 s
[really-safe-money-gen] - in case a of
273.37 s
[really-safe-money-gen] - Positive _ -> (Positive <$> ma, mr)
273.37 s
[really-safe-money-gen] - Negative _ -> (Negative <$> ma, mr)
273.37 s
[really-safe-money-gen] + in case a of
273.37 s
[really-safe-money-gen] + Positive _ -> (Positive <$> ma, mr)
273.37 s
[really-safe-money-gen] + Negative _ -> (Negative <$> ma, mr)
273.37 s
[really-safe-money-gen]
273.37 s
[really-safe-money-gen] -- | Format an account of money without a symbol.
273.37 s
[really-safe-money-gen] --
273.37 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:328:9-21
273.37 s
[really-safe-money-gen] @@ -325,7 +325,7 @@
273.37 s
[really-safe-money-gen] where
273.37 s
[really-safe-money-gen] go resultDouble
273.37 s
[really-safe-money-gen] | isNaN d = Nothing
273.37 s
[really-safe-money-gen] - | isInfinite d = Nothing
273.37 s
[really-safe-money-gen] + | not (isInfinite d) = Nothing
273.37 s
[really-safe-money-gen] | otherwise =
273.37 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
273.37 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
273.37 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:421:32-33
273.37 s
[really-safe-money-gen] @@ -418,7 +418,7 @@
273.37 s
[really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
273.37 s
[really-safe-money-gen] multiply factor account =
273.37 s
[really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
273.37 s
[really-safe-money-gen] - f = case (compare factor 0, compare account zero) of
273.37 s
[really-safe-money-gen] + f = case (compare factor 1, compare account zero) of
273.37 s
[really-safe-money-gen] (EQ, _) -> const zero
273.37 s
[really-safe-money-gen] (_, EQ) -> const zero
273.37 s
[really-safe-money-gen] (GT, GT) -> Positive
273.37 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:553:7-39
273.37 s
[really-safe-money-gen] @@ -550,11 +550,11 @@
273.37 s
[really-safe-money-gen] let aa1 = abs a1
273.37 s
[really-safe-money-gen] aa2 = abs a2
273.37 s
[really-safe-money-gen] mr = Amount.rate qf1 aa1 qf2 aa2
273.37 s
[really-safe-money-gen] - in case (a1, a2) of
273.37 s
[really-safe-money-gen] - (Positive _, Positive _) -> mr
273.37 s
[really-safe-money-gen] - (Positive _, Negative _) -> Nothing
273.37 s
[really-safe-money-gen] - (Negative _, Positive _) -> Nothing
273.37 s
[really-safe-money-gen] - (Negative _, Negative _) -> mr
273.37 s
[really-safe-money-gen] + in case (a1, a2) of
273.37 s
[really-safe-money-gen] + (Positive _, Positive _) -> mr
273.37 s
[really-safe-money-gen] + (Positive _, Negative _) -> Nothing
273.37 s
[really-safe-money-gen] + (Negative _, Positive _) -> Nothing
273.37 s
[really-safe-money-gen] + (Negative _, Negative _) -> mr
273.37 s
[really-safe-money-gen]
273.37 s
[really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
273.37 s
[really-safe-money-gen] -- another currency using a conversion rate.
273.37 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
273.37 s
[really-safe-money-gen] @@ -36,9 +36,9 @@
273.37 s
[really-safe-money-gen] instance Validity QuantisationFactor where
273.37 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
273.37 s
[really-safe-money-gen] mconcat
273.91 s
[really-safe-money-gen] - [ genericValidate qf,
273.91 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
273.91 s
[really-safe-money-gen] - ]
273.91 s
[really-safe-money-gen] + [ genericValidate qf,
273.91 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ w /= 0
273.91 s
[really-safe-money-gen] + ]
273.91 s
[really-safe-money-gen]
273.91 s
[really-safe-money-gen] instance NFData QuantisationFactor
273.91 s
[really-safe-money-gen]
273.91 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:553:7-39
273.91 s
[really-safe-money-gen] @@ -550,11 +550,11 @@
273.91 s
[really-safe-money-gen] let aa1 = abs a1
273.91 s
[really-safe-money-gen] aa2 = abs a2
273.91 s
[really-safe-money-gen] mr = Amount.rate qf1 aa1 qf2 aa2
273.91 s
[really-safe-money-gen] - in case (a1, a2) of
273.91 s
[really-safe-money-gen] - (Positive _, Positive _) -> mr
273.91 s
[really-safe-money-gen] - (Positive _, Negative _) -> Nothing
273.91 s
[really-safe-money-gen] - (Negative _, Positive _) -> Nothing
273.91 s
[really-safe-money-gen] - (Negative _, Negative _) -> mr
273.91 s
[really-safe-money-gen] + in case (a1, a2) of
273.91 s
[really-safe-money-gen] + (Positive _, Positive _) -> mr
273.91 s
[really-safe-money-gen] + (Positive _, Negative _) -> Nothing
273.91 s
[really-safe-money-gen] + (Negative _, Positive _) -> Nothing
273.91 s
[really-safe-money-gen] + (Negative _, Negative _) -> mr
273.91 s
[really-safe-money-gen]
273.91 s
[really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
273.91 s
[really-safe-money-gen] -- another currency using a conversion rate.
273.91 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
273.91 s
[really-safe-money-gen] @@ -418,13 +418,13 @@
273.91 s
[really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
273.91 s
[really-safe-money-gen] multiply factor account =
273.91 s
[really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
273.91 s
[really-safe-money-gen] - f = case (compare factor 0, compare account zero) of
273.91 s
[really-safe-money-gen] - (EQ, _) -> const zero
273.91 s
[really-safe-money-gen] - (_, EQ) -> const zero
273.91 s
[really-safe-money-gen] - (GT, GT) -> Positive
273.91 s
[really-safe-money-gen] - (GT, LT) -> Negative
273.91 s
[really-safe-money-gen] - (LT, GT) -> Negative
273.91 s
[really-safe-money-gen] - (LT, LT) -> Positive
273.91 s
[really-safe-money-gen] + f = case (compare factor 0, compare account zero) of
273.91 s
[really-safe-money-gen] + (EQ, _) -> const zero
273.91 s
[really-safe-money-gen] + (_, EQ) -> const zero
273.91 s
[really-safe-money-gen] + (GT, GT) -> Positive
273.92 s
[really-safe-money-gen] + (GT, LT) -> Negative
273.92 s
[really-safe-money-gen] + (LT, GT) -> Negative
273.92 s
[really-safe-money-gen] + (LT, LT) -> Positive
273.92 s
[really-safe-money-gen] in f <$> Amount.multiply af (abs account)
273.92 s
[really-safe-money-gen]
273.92 s
[really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
273.92 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
273.92 s
[really-safe-money-gen] @@ -418,13 +418,13 @@
273.92 s
[really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
273.92 s
[really-safe-money-gen] multiply factor account =
273.92 s
[really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
273.92 s
[really-safe-money-gen] - f = case (compare factor 0, compare account zero) of
273.92 s
[really-safe-money-gen] - (EQ, _) -> const zero
273.92 s
[really-safe-money-gen] - (_, EQ) -> const zero
273.92 s
[really-safe-money-gen] - (GT, GT) -> Positive
273.92 s
[really-safe-money-gen] - (GT, LT) -> Negative
273.92 s
[really-safe-money-gen] - (LT, GT) -> Negative
273.92 s
[really-safe-money-gen] - (LT, LT) -> Positive
273.92 s
[really-safe-money-gen] + f = case (compare factor 0, compare account zero) of
273.92 s
[really-safe-money-gen] + (EQ, _) -> const zero
273.92 s
[really-safe-money-gen] + (_, EQ) -> const zero
273.92 s
[really-safe-money-gen] + (GT, GT) -> Positive
273.92 s
[really-safe-money-gen] + (GT, LT) -> Negative
273.92 s
[really-safe-money-gen] + (LT, GT) -> Negative
273.92 s
[really-safe-money-gen] + (LT, LT) -> Positive
273.92 s
[really-safe-money-gen] in f <$> Amount.multiply af (abs account)
273.92 s
[really-safe-money-gen]
273.92 s
[really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
273.92 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
273.92 s
[really-safe-money-gen] @@ -418,13 +418,13 @@
273.92 s
[really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
273.92 s
[really-safe-money-gen] multiply factor account =
273.92 s
[really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
273.92 s
[really-safe-money-gen] - f = case (compare factor 0, compare account zero) of
273.92 s
[really-safe-money-gen] - (EQ, _) -> const zero
273.92 s
[really-safe-money-gen] - (_, EQ) -> const zero
273.92 s
[really-safe-money-gen] - (GT, GT) -> Positive
273.92 s
[really-safe-money-gen] - (GT, LT) -> Negative
273.92 s
[really-safe-money-gen] - (LT, GT) -> Negative
273.92 s
[really-safe-money-gen] - (LT, LT) -> Positive
273.92 s
[really-safe-money-gen] + f = case (compare factor 0, compare account zero) of
273.92 s
[really-safe-money-gen] + (EQ, _) -> const zero
273.92 s
[really-safe-money-gen] + (_, EQ) -> const zero
273.92 s
[really-safe-money-gen] + (GT, GT) -> Positive
273.92 s
[really-safe-money-gen] + (GT, LT) -> Negative
273.92 s
[really-safe-money-gen] + (LT, GT) -> Negative
273.92 s
[really-safe-money-gen] + (LT, LT) -> Positive
273.92 s
[really-safe-money-gen] in f <$> Amount.multiply af (abs account)
273.92 s
[really-safe-money-gen]
273.92 s
[really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
273.92 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
273.92 s
[really-safe-money-gen] @@ -418,13 +418,13 @@
273.92 s
[really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
273.92 s
[really-safe-money-gen] multiply factor account =
273.92 s
[really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
273.92 s
[really-safe-money-gen] - f = case (compare factor 0, compare account zero) of
273.92 s
[really-safe-money-gen] - (EQ, _) -> const zero
273.92 s
[really-safe-money-gen] - (_, EQ) -> const zero
273.92 s
[really-safe-money-gen] - (GT, GT) -> Positive
273.92 s
[really-safe-money-gen] - (GT, LT) -> Negative
273.92 s
[really-safe-money-gen] - (LT, GT) -> Negative
273.92 s
[really-safe-money-gen] - (LT, LT) -> Positive
273.92 s
[really-safe-money-gen] + f = case (compare factor 0, compare account zero) of
273.92 s
[really-safe-money-gen] + (EQ, _) -> const zero
273.92 s
[really-safe-money-gen] + (_, EQ) -> const zero
273.92 s
[really-safe-money-gen] + (GT, GT) -> Positive
273.92 s
[really-safe-money-gen] + (GT, LT) -> Negative
273.92 s
[really-safe-money-gen] + (LT, GT) -> Negative
273.92 s
[really-safe-money-gen] + (LT, LT) -> Positive
273.92 s
[really-safe-money-gen] in f <$> Amount.multiply af (abs account)
273.92 s
[really-safe-money-gen]
273.92 s
[really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
273.92 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:451:14-23
273.92 s
[really-safe-money-gen] @@ -448,7 +448,7 @@
273.92 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
273.92 s
[really-safe-money-gen] DistributedZero -> DistributedZero
273.92 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
273.92 s
[really-safe-money-gen] - if a >= zero
273.92 s
[really-safe-money-gen] + if True
273.92 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
273.92 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
273.92 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
273.92 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:451:14-23
273.92 s
[really-safe-money-gen] @@ -448,7 +448,7 @@
273.92 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
273.92 s
[really-safe-money-gen] DistributedZero -> DistributedZero
273.92 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
273.92 s
[really-safe-money-gen] - if a >= zero
273.92 s
[really-safe-money-gen] + if False
273.92 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
273.92 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
273.92 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
273.92 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:451:14-23
273.92 s
[really-safe-money-gen] @@ -448,7 +448,7 @@
273.92 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
273.92 s
[really-safe-money-gen] DistributedZero -> DistributedZero
273.92 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
273.92 s
[really-safe-money-gen] - if a >= zero
273.92 s
[really-safe-money-gen] + if not (a >= zero)
273.92 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
273.92 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
273.92 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
273.92 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
273.92 s
[really-safe-money-gen] @@ -418,13 +418,13 @@
273.92 s
[really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
273.92 s
[really-safe-money-gen] multiply factor account =
273.92 s
[really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
273.92 s
[really-safe-money-gen] - f = case (compare factor 0, compare account zero) of
273.92 s
[really-safe-money-gen] - (EQ, _) -> const zero
273.92 s
[really-safe-money-gen] - (_, EQ) -> const zero
273.92 s
[really-safe-money-gen] - (GT, GT) -> Positive
273.92 s
[really-safe-money-gen] - (GT, LT) -> Negative
273.92 s
[really-safe-money-gen] - (LT, GT) -> Negative
273.92 s
[really-safe-money-gen] - (LT, LT) -> Positive
273.92 s
[really-safe-money-gen] + f = case (compare factor 0, compare account zero) of
273.92 s
[really-safe-money-gen] + (EQ, _) -> const zero
273.92 s
[really-safe-money-gen] + (_, EQ) -> const zero
273.92 s
[really-safe-money-gen] + (GT, GT) -> Positive
273.92 s
[really-safe-money-gen] + (GT, LT) -> Negative
273.92 s
[really-safe-money-gen] + (LT, GT) -> Negative
273.92 s
[really-safe-money-gen] + (LT, LT) -> Positive
273.92 s
[really-safe-money-gen] in f <$> Amount.multiply af (abs account)
273.92 s
[really-safe-money-gen]
273.92 s
[really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
273.92 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:451:11-76
273.92 s
[really-safe-money-gen] @@ -448,9 +448,9 @@
273.93 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
273.93 s
[really-safe-money-gen] DistributedZero -> DistributedZero
273.93 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
273.93 s
[really-safe-money-gen] - if a >= zero
273.93 s
[really-safe-money-gen] - then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
273.93 s
[really-safe-money-gen] - else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
273.93 s
[really-safe-money-gen] + if a >= zero
273.93 s
[really-safe-money-gen] + then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
273.93 s
[really-safe-money-gen] + else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
273.93 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
273.93 s
[really-safe-money-gen] if a >= zero
273.93 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
273.93 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:455:14-23
273.93 s
[really-safe-money-gen] @@ -452,7 +452,7 @@
273.93 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
273.93 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
273.93 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
273.93 s
[really-safe-money-gen] - if a >= zero
273.93 s
[really-safe-money-gen] + if False
275.15 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
275.25 s
[really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
275.25 s
[really-safe-money-gen]
275.25 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
275.25 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
275.25 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
275.25 s
[really-safe-money-gen] mconcat
275.25 s
[really-safe-money-gen] [ genericValidate qf,
275.25 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
275.25 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ True
275.25 s
[really-safe-money-gen] ]
275.25 s
[really-safe-money-gen]
275.25 s
[really-safe-money-gen] instance NFData QuantisationFactor
275.25 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:455:14-23
275.25 s
[really-safe-money-gen] @@ -452,7 +452,7 @@
275.25 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
275.25 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
275.25 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
275.25 s
[really-safe-money-gen] - if a >= zero
275.25 s
[really-safe-money-gen] + if True
275.25 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
275.25 s
[really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
275.25 s
[really-safe-money-gen]
275.25 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:455:14-23
275.25 s
[really-safe-money-gen] @@ -452,7 +452,7 @@
275.25 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
275.25 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
275.25 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
275.25 s
[really-safe-money-gen] - if a >= zero
275.25 s
[really-safe-money-gen] + if not (a >= zero)
275.25 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
275.25 s
[really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
275.25 s
[really-safe-money-gen]
275.25 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
275.25 s
[really-safe-money-gen] @@ -418,13 +418,13 @@
275.25 s
[really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
275.25 s
[really-safe-money-gen] multiply factor account =
275.25 s
[really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
275.25 s
[really-safe-money-gen] - f = case (compare factor 0, compare account zero) of
275.25 s
[really-safe-money-gen] - (EQ, _) -> const zero
275.25 s
[really-safe-money-gen] - (_, EQ) -> const zero
275.25 s
[really-safe-money-gen] - (GT, GT) -> Positive
275.25 s
[really-safe-money-gen] - (GT, LT) -> Negative
275.25 s
[really-safe-money-gen] - (LT, GT) -> Negative
275.25 s
[really-safe-money-gen] - (LT, LT) -> Positive
275.25 s
[really-safe-money-gen] + f = case (compare factor 0, compare account zero) of
275.25 s
[really-safe-money-gen] + (EQ, _) -> const zero
275.26 s
[really-safe-money-gen] + (_, EQ) -> const zero
275.26 s
[really-safe-money-gen] + (GT, GT) -> Positive
275.26 s
[really-safe-money-gen] + (GT, LT) -> Negative
275.26 s
[really-safe-money-gen] + (LT, GT) -> Negative
275.26 s
[really-safe-money-gen] + (LT, LT) -> Positive
275.26 s
[really-safe-money-gen] in f <$> Amount.multiply af (abs account)
275.26 s
[really-safe-money-gen]
275.26 s
[really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
275.26 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:447:7-136
275.26 s
[really-safe-money-gen] @@ -444,17 +444,17 @@
275.26 s
[really-safe-money-gen] distribute a f =
275.26 s
[really-safe-money-gen] let aa = abs a
275.26 s
[really-safe-money-gen] af = (fromIntegral :: Word16 -> Word32) (Prelude.abs f)
275.26 s
[really-safe-money-gen] - in case Amount.distribute aa af of
275.26 s
[really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
275.26 s
[really-safe-money-gen] - DistributedZero -> DistributedZero
275.26 s
[really-safe-money-gen] - DistributedIntoEqualChunks numberOfChunks chunk ->
275.26 s
[really-safe-money-gen] - if a >= zero
275.26 s
[really-safe-money-gen] - then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
275.26 s
[really-safe-money-gen] - else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
275.26 s
[really-safe-money-gen] - DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
275.26 s
[really-safe-money-gen] - if a >= zero
275.26 s
[really-safe-money-gen] - then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
275.26 s
[really-safe-money-gen] - else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
275.26 s
[really-safe-money-gen] + in case Amount.distribute aa af of
275.26 s
[really-safe-money-gen] + DistributedIntoZeroChunks -> DistributedIntoZeroChunks
275.26 s
[really-safe-money-gen] + DistributedZero -> DistributedZero
275.26 s
[really-safe-money-gen] + DistributedIntoEqualChunks numberOfChunks chunk ->
275.26 s
[really-safe-money-gen] + if a >= zero
275.26 s
[really-safe-money-gen] + then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
275.26 s
[really-safe-money-gen] + else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
275.26 s
[really-safe-money-gen] + DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
275.26 s
[really-safe-money-gen] + if a >= zero
275.26 s
[really-safe-money-gen] + then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
275.26 s
[really-safe-money-gen] + else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
275.26 s
[really-safe-money-gen]
275.26 s
[really-safe-money-gen] type AccountDistribution = Amount.Distribution Account
275.26 s
[really-safe-money-gen]
275.26 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:447:7-136
275.26 s
[really-safe-money-gen] @@ -444,17 +444,17 @@
275.26 s
[really-safe-money-gen] distribute a f =
275.26 s
[really-safe-money-gen] let aa = abs a
275.26 s
[really-safe-money-gen] af = (fromIntegral :: Word16 -> Word32) (Prelude.abs f)
275.26 s
[really-safe-money-gen] - in case Amount.distribute aa af of
275.26 s
[really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
275.26 s
[really-safe-money-gen] - DistributedZero -> DistributedZero
275.26 s
[really-safe-money-gen] - DistributedIntoEqualChunks numberOfChunks chunk ->
275.26 s
[really-safe-money-gen] - if a >= zero
275.26 s
[really-safe-money-gen] - then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
275.26 s
[really-safe-money-gen] - else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
275.26 s
[really-safe-money-gen] - DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
275.26 s
[really-safe-money-gen] - if a >= zero
275.26 s
[really-safe-money-gen] - then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
275.26 s
[really-safe-money-gen] - else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
275.26 s
[really-safe-money-gen] + in case Amount.distribute aa af of
275.26 s
[really-safe-money-gen] + DistributedIntoZeroChunks -> DistributedIntoZeroChunks
275.26 s
[really-safe-money-gen] + DistributedZero -> DistributedZero
275.26 s
[really-safe-money-gen] + DistributedIntoEqualChunks numberOfChunks chunk ->
275.26 s
[really-safe-money-gen] + if a >= zero
275.26 s
[really-safe-money-gen] + then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
275.26 s
[really-safe-money-gen] + else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
275.26 s
[really-safe-money-gen] + DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
275.26 s
[really-safe-money-gen] + if a >= zero
275.26 s
[really-safe-money-gen] + then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
275.26 s
[really-safe-money-gen] + else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
275.26 s
[really-safe-money-gen]
275.26 s
[really-safe-money-gen] type AccountDistribution = Amount.Distribution Account
275.26 s
[really-safe-money-gen]
275.26 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:522:19-35
275.26 s
[really-safe-money-gen] @@ -519,10 +519,10 @@
275.26 s
[really-safe-money-gen] let aa = abs account
275.26 s
[really-safe-money-gen] (amount, actualFraction) = Amount.fraction ro aa af
275.26 s
[really-safe-money-gen] func :: Maybe Amount -> Ratio Natural -> (Maybe Account, Ratio Natural)
275.26 s
[really-safe-money-gen] - func ma r = case compare account zero of
275.26 s
[really-safe-money-gen] - EQ -> (Just zero, r)
275.26 s
[really-safe-money-gen] - GT -> (Positive <$> ma, r)
275.26 s
[really-safe-money-gen] - LT -> (Negative <$> ma, r)
275.26 s
[really-safe-money-gen] + func ma r = case compare account zero of
275.26 s
[really-safe-money-gen] + EQ -> (Just zero, r)
275.26 s
[really-safe-money-gen] + GT -> (Positive <$> ma, r)
275.26 s
[really-safe-money-gen] + LT -> (Negative <$> ma, r)
275.26 s
[really-safe-money-gen] in func amount actualFraction
275.26 s
[really-safe-money-gen]
275.26 s
[really-safe-money-gen] -- | Compute the currency conversion rate between two accounts of money of
275.26 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:447:7-136
275.26 s
[really-safe-money-gen] @@ -444,17 +444,17 @@
275.26 s
[really-safe-money-gen] distribute a f =
275.26 s
[really-safe-money-gen] let aa = abs a
275.26 s
[really-safe-money-gen] af = (fromIntegral :: Word16 -> Word32) (Prelude.abs f)
275.26 s
[really-safe-money-gen] - in case Amount.distribute aa af of
275.26 s
[really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
275.26 s
[really-safe-money-gen] - DistributedZero -> DistributedZero
275.26 s
[really-safe-money-gen] - DistributedIntoEqualChunks numberOfChunks chunk ->
275.26 s
[really-safe-money-gen] - if a >= zero
275.26 s
[really-safe-money-gen] - then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
275.26 s
[really-safe-money-gen] - else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
275.26 s
[really-safe-money-gen] - DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
275.26 s
[really-safe-money-gen] - if a >= zero
275.26 s
[really-safe-money-gen] - then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
275.26 s
[really-safe-money-gen] - else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
275.26 s
[really-safe-money-gen] + in case Amount.distribute aa af of
276.24 s
[really-safe-money-gen] + DistributedIntoZeroChunks -> DistributedIntoZeroChunks
276.24 s
[really-safe-money-gen] + DistributedZero -> DistributedZero
276.24 s
[really-safe-money-gen] + DistributedIntoEqualChunks numberOfChunks chunk ->
276.24 s
[really-safe-money-gen] + if a >= zero
276.24 s
[really-safe-money-gen] + then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
276.25 s
[really-safe-money-gen] + else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
276.25 s
[really-safe-money-gen] + DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
276.25 s
[really-safe-money-gen] + if a >= zero
276.25 s
[really-safe-money-gen] + then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
276.25 s
[really-safe-money-gen] + else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
276.25 s
[really-safe-money-gen]
276.25 s
[really-safe-money-gen] type AccountDistribution = Amount.Distribution Account
276.25 s
[really-safe-money-gen]
276.25 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:495:10-23
276.25 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
276.25 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
276.25 s
[really-safe-money-gen] r :: Integer
276.25 s
[really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
276.25 s
[really-safe-money-gen] - in if r > maxBoundI
276.25 s
[really-safe-money-gen] + in if False
276.25 s
[really-safe-money-gen] then Nothing
276.25 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
276.25 s
[really-safe-money-gen]
276.25 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:522:19-35
276.25 s
[really-safe-money-gen] @@ -519,10 +519,10 @@
276.25 s
[really-safe-money-gen] let aa = abs account
276.25 s
[really-safe-money-gen] (amount, actualFraction) = Amount.fraction ro aa af
276.25 s
[really-safe-money-gen] func :: Maybe Amount -> Ratio Natural -> (Maybe Account, Ratio Natural)
276.25 s
[really-safe-money-gen] - func ma r = case compare account zero of
276.25 s
[really-safe-money-gen] - EQ -> (Just zero, r)
276.25 s
[really-safe-money-gen] - GT -> (Positive <$> ma, r)
276.25 s
[really-safe-money-gen] - LT -> (Negative <$> ma, r)
276.25 s
[really-safe-money-gen] + func ma r = case compare account zero of
276.25 s
[really-safe-money-gen] + EQ -> (Just zero, r)
276.25 s
[really-safe-money-gen] + GT -> (Positive <$> ma, r)
276.25 s
[really-safe-money-gen] + LT -> (Negative <$> ma, r)
276.25 s
[really-safe-money-gen] in func amount actualFraction
276.25 s
[really-safe-money-gen]
276.25 s
[really-safe-money-gen] -- | Compute the currency conversion rate between two accounts of money of
276.25 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:522:19-35
276.25 s
[really-safe-money-gen] @@ -519,10 +519,10 @@
276.25 s
[really-safe-money-gen] let aa = abs account
276.25 s
[really-safe-money-gen] (amount, actualFraction) = Amount.fraction ro aa af
276.25 s
[really-safe-money-gen] func :: Maybe Amount -> Ratio Natural -> (Maybe Account, Ratio Natural)
276.25 s
[really-safe-money-gen] - func ma r = case compare account zero of
276.25 s
[really-safe-money-gen] - EQ -> (Just zero, r)
276.25 s
[really-safe-money-gen] - GT -> (Positive <$> ma, r)
276.25 s
[really-safe-money-gen] - LT -> (Negative <$> ma, r)
276.25 s
[really-safe-money-gen] + func ma r = case compare account zero of
276.25 s
[really-safe-money-gen] + EQ -> (Just zero, r)
276.25 s
[really-safe-money-gen] + GT -> (Positive <$> ma, r)
276.25 s
[really-safe-money-gen] + LT -> (Negative <$> ma, r)
276.25 s
[really-safe-money-gen] in func amount actualFraction
276.25 s
[really-safe-money-gen]
276.25 s
[really-safe-money-gen] -- | Compute the currency conversion rate between two accounts of money of
276.25 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:447:7-136
276.25 s
[really-safe-money-gen] @@ -444,17 +444,17 @@
276.25 s
[really-safe-money-gen] distribute a f =
276.25 s
[really-safe-money-gen] let aa = abs a
276.25 s
[really-safe-money-gen] af = (fromIntegral :: Word16 -> Word32) (Prelude.abs f)
276.25 s
[really-safe-money-gen] - in case Amount.distribute aa af of
276.25 s
[really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
276.25 s
[really-safe-money-gen] - DistributedZero -> DistributedZero
276.25 s
[really-safe-money-gen] - DistributedIntoEqualChunks numberOfChunks chunk ->
276.25 s
[really-safe-money-gen] - if a >= zero
276.25 s
[really-safe-money-gen] - then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
276.25 s
[really-safe-money-gen] - else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
276.26 s
[really-safe-money-gen] - DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
276.26 s
[really-safe-money-gen] - if a >= zero
276.26 s
[really-safe-money-gen] - then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
276.26 s
[really-safe-money-gen] - else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
276.26 s
[really-safe-money-gen] + in case Amount.distribute aa af of
276.26 s
[really-safe-money-gen] + DistributedIntoZeroChunks -> DistributedIntoZeroChunks
276.26 s
[really-safe-money-gen] + DistributedZero -> DistributedZero
276.26 s
[really-safe-money-gen] + DistributedIntoEqualChunks numberOfChunks chunk ->
276.26 s
[really-safe-money-gen] + if a >= zero
276.26 s
[really-safe-money-gen] + then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
276.26 s
[really-safe-money-gen] + else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
276.26 s
[really-safe-money-gen] + DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
276.26 s
[really-safe-money-gen] + if a >= zero
276.26 s
[really-safe-money-gen] + then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
276.26 s
[really-safe-money-gen] + else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
276.26 s
[really-safe-money-gen]
276.26 s
[really-safe-money-gen] type AccountDistribution = Amount.Distribution Account
276.26 s
[really-safe-money-gen]
276.26 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:495:17-18
276.26 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
276.26 s
[really-safe-money-gen] fraction rounding account f =
276.26 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
276.26 s
[really-safe-money-gen] ro =
276.26 s
[really-safe-money-gen] - if f >= 0
276.26 s
[really-safe-money-gen] + if f >= 1
276.26 s
[really-safe-money-gen] then rounding
276.26 s
[really-safe-money-gen] else case rounding of
276.26 s
[really-safe-money-gen] RoundUp -> RoundDown
276.26 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:495:12-18
276.26 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
276.26 s
[really-safe-money-gen] fraction rounding account f =
276.26 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
276.26 s
[really-safe-money-gen] ro =
276.26 s
[really-safe-money-gen] - if f >= 0
276.26 s
[really-safe-money-gen] + if False
276.26 s
[really-safe-money-gen] then rounding
276.26 s
[really-safe-money-gen] else case rounding of
276.26 s
[really-safe-money-gen] RoundUp -> RoundDown
276.26 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:495:12-18
276.26 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
276.26 s
[really-safe-money-gen] fraction rounding account f =
276.26 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
276.26 s
[really-safe-money-gen] ro =
276.26 s
[really-safe-money-gen] - if f >= 0
276.26 s
[really-safe-money-gen] + if not (f >= 0)
276.26 s
[really-safe-money-gen] then rounding
276.26 s
[really-safe-money-gen] else case rounding of
276.26 s
[really-safe-money-gen] RoundUp -> RoundDown
276.26 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:497:16-41
276.26 s
[really-safe-money-gen] @@ -494,10 +494,10 @@
276.26 s
[really-safe-money-gen] ro =
276.26 s
[really-safe-money-gen] if f >= 0
276.26 s
[really-safe-money-gen] then rounding
276.26 s
[really-safe-money-gen] - else case rounding of
276.26 s
[really-safe-money-gen] - RoundUp -> RoundDown
276.26 s
[really-safe-money-gen] - RoundDown -> RoundUp
276.26 s
[really-safe-money-gen] - RoundNearest -> RoundNearest
276.26 s
[really-safe-money-gen] + else case rounding of
276.26 s
[really-safe-money-gen] + RoundUp -> RoundDown
276.26 s
[really-safe-money-gen] + RoundDown -> RoundUp
276.26 s
[really-safe-money-gen] + RoundNearest -> RoundNearest
276.26 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
276.26 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
276.26 s
[really-safe-money-gen] in if f >= 0
276.26 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:497:16-41
276.26 s
[really-safe-money-gen] @@ -494,10 +494,10 @@
276.26 s
[really-safe-money-gen] ro =
276.26 s
[really-safe-money-gen] if f >= 0
276.26 s
[really-safe-money-gen] then rounding
276.26 s
[really-safe-money-gen] - else case rounding of
276.26 s
[really-safe-money-gen] - RoundUp -> RoundDown
276.26 s
[really-safe-money-gen] - RoundDown -> RoundUp
276.26 s
[really-safe-money-gen] - RoundNearest -> RoundNearest
276.26 s
[really-safe-money-gen] + else case rounding of
276.26 s
[really-safe-money-gen] + RoundUp -> RoundDown
276.26 s
[really-safe-money-gen] + RoundDown -> RoundUp
276.26 s
[really-safe-money-gen] + RoundNearest -> RoundNearest
276.26 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
276.26 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
276.26 s
[really-safe-money-gen] in if f >= 0
276.26 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:495:9-41
276.26 s
[really-safe-money-gen] @@ -492,12 +492,12 @@
276.26 s
[really-safe-money-gen] fraction rounding account f =
276.26 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
276.26 s
[really-safe-money-gen] ro =
276.26 s
[really-safe-money-gen] - if f >= 0
276.26 s
[really-safe-money-gen] - then rounding
276.26 s
[really-safe-money-gen] - else case rounding of
276.26 s
[really-safe-money-gen] - RoundUp -> RoundDown
276.26 s
[really-safe-money-gen] - RoundDown -> RoundUp
276.26 s
[really-safe-money-gen] - RoundNearest -> RoundNearest
276.26 s
[really-safe-money-gen] + if f >= 0
276.26 s
[really-safe-money-gen] + then rounding
276.26 s
[really-safe-money-gen] + else case rounding of
276.26 s
[really-safe-money-gen] + RoundUp -> RoundDown
276.26 s
[really-safe-money-gen] + RoundDown -> RoundUp
276.26 s
[really-safe-money-gen] + RoundNearest -> RoundNearest
276.26 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
276.26 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
276.26 s
[really-safe-money-gen] in if f >= 0
276.26 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:495:12-18
276.26 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
276.26 s
[really-safe-money-gen] fraction rounding account f =
276.26 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
276.26 s
[really-safe-money-gen] ro =
276.26 s
[really-safe-money-gen] - if f >= 0
276.26 s
[really-safe-money-gen] + if True
276.26 s
[really-safe-money-gen] then rounding
276.26 s
[really-safe-money-gen] else case rounding of
276.26 s
[really-safe-money-gen] RoundUp -> RoundDown
276.26 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:503:15-16
276.27 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
276.27 s
[really-safe-money-gen] RoundNearest -> RoundNearest
276.27 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
276.27 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
276.27 s
[really-safe-money-gen] - in if f >= 0
276.27 s
[really-safe-money-gen] + in if f >= 1
276.27 s
[really-safe-money-gen] then (ma, r)
276.27 s
[really-safe-money-gen] else (negate <$> ma, -r)
276.27 s
[really-safe-money-gen]
276.27 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:503:10-16
276.27 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
276.27 s
[really-safe-money-gen] RoundNearest -> RoundNearest
276.27 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
276.27 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
276.27 s
[really-safe-money-gen] - in if f >= 0
276.27 s
[really-safe-money-gen] + in if True
276.27 s
[really-safe-money-gen] then (ma, r)
276.27 s
[really-safe-money-gen] else (negate <$> ma, -r)
276.27 s
[really-safe-money-gen]
276.27 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/QuantisationFactor.hs:98:5-19
278.39 s
[really-safe-money-gen] @@ -95,9 +95,9 @@
278.39 s
[really-safe-money-gen] else Just r
278.39 s
[really-safe-money-gen]
278.39 s
[really-safe-money-gen] fac <-
278.39 s
[really-safe-money-gen] - if denominator rat == 1
278.39 s
[really-safe-money-gen] - then Just (numerator rat)
278.39 s
[really-safe-money-gen] - else Nothing
278.39 s
[really-safe-money-gen] + if denominator rat == 1
278.39 s
[really-safe-money-gen] + then Just (numerator rat)
278.39 s
[really-safe-money-gen] + else Nothing
278.39 s
[really-safe-money-gen]
278.39 s
[really-safe-money-gen] if fac <= fromIntegral (maxBound :: Word32)
278.39 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
278.39 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:503:7-33
278.39 s
[really-safe-money-gen] @@ -500,9 +500,9 @@
278.39 s
[really-safe-money-gen] RoundNearest -> RoundNearest
278.39 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
278.39 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
278.39 s
[really-safe-money-gen] - in if f >= 0
278.39 s
[really-safe-money-gen] - then (ma, r)
278.39 s
[really-safe-money-gen] - else (negate <$> ma, -r)
278.40 s
[really-safe-money-gen] + in if f >= 0
278.40 s
[really-safe-money-gen] + then (ma, r)
278.40 s
[really-safe-money-gen] + else (negate <$> ma, -r)
278.40 s
[really-safe-money-gen]
278.40 s
[really-safe-money-gen] -- | Fractional multiplication with a positive fraction, see 'Amount.fraction' and 'Account.fraction'.
278.40 s
[really-safe-money-gen] --
278.40 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:233:14-20
278.40 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
278.40 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
278.40 s
[really-safe-money-gen] fromRational quantisationFactor r =
278.40 s
[really-safe-money-gen] let r' = Prelude.abs r
278.40 s
[really-safe-money-gen] - f = if r >= 0 then Positive else Negative
278.40 s
[really-safe-money-gen] + f = if True then Positive else Negative
278.40 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
278.40 s
[really-safe-money-gen]
278.40 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
278.40 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:233:19-20
278.40 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
278.40 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
278.40 s
[really-safe-money-gen] fromRational quantisationFactor r =
278.40 s
[really-safe-money-gen] let r' = Prelude.abs r
278.40 s
[really-safe-money-gen] - f = if r >= 0 then Positive else Negative
278.40 s
[really-safe-money-gen] + f = if r >= 1 then Positive else Negative
278.40 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
278.40 s
[really-safe-money-gen]
278.40 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
278.40 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:233:14-20
278.40 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
278.40 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
278.40 s
[really-safe-money-gen] fromRational quantisationFactor r =
278.40 s
[really-safe-money-gen] let r' = Prelude.abs r
278.40 s
[really-safe-money-gen] - f = if r >= 0 then Positive else Negative
278.40 s
[really-safe-money-gen] + f = if False then Positive else Negative
278.40 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
278.40 s
[really-safe-money-gen]
278.40 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
278.40 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:233:14-20
278.40 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
278.40 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
278.40 s
[really-safe-money-gen] fromRational quantisationFactor r =
278.40 s
[really-safe-money-gen] let r' = Prelude.abs r
278.40 s
[really-safe-money-gen] - f = if r >= 0 then Positive else Negative
278.40 s
[really-safe-money-gen] + f = if not (r >= 0) then Positive else Negative
278.40 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
278.40 s
[really-safe-money-gen]
278.40 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
278.40 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:233:11-48
278.40 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
278.40 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
278.40 s
[really-safe-money-gen] fromRational quantisationFactor r =
278.40 s
[really-safe-money-gen] let r' = Prelude.abs r
278.40 s
[really-safe-money-gen] - f = if r >= 0 then Positive else Negative
278.40 s
[really-safe-money-gen] + f = if r >= 0 then Positive else Negative
278.40 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
278.40 s
[really-safe-money-gen]
278.40 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
278.40 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:503:10-16
278.40 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
278.40 s
[really-safe-money-gen] RoundNearest -> RoundNearest
278.40 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
278.40 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
278.40 s
[really-safe-money-gen] - in if f >= 0
278.40 s
[really-safe-money-gen] + in if False
278.40 s
[really-safe-money-gen] then (ma, r)
278.40 s
[really-safe-money-gen] else (negate <$> ma, -r)
278.40 s
[really-safe-money-gen]
278.40 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:455:11-136
278.40 s
[really-safe-money-gen] @@ -452,9 +452,9 @@
278.40 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
278.40 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
278.40 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
278.40 s
[really-safe-money-gen] - if a >= zero
278.40 s
[really-safe-money-gen] - then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
278.40 s
[really-safe-money-gen] - else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
278.40 s
[really-safe-money-gen] + if a >= zero
278.40 s
[really-safe-money-gen] + then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
278.40 s
[really-safe-money-gen] + else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
278.40 s
[really-safe-money-gen]
278.40 s
[really-safe-money-gen] type AccountDistribution = Amount.Distribution Account
278.40 s
[really-safe-money-gen]
278.40 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:497:16-41
278.40 s
[really-safe-money-gen] @@ -494,10 +494,10 @@
278.40 s
[really-safe-money-gen] ro =
278.40 s
[really-safe-money-gen] if f >= 0
278.40 s
[really-safe-money-gen] then rounding
278.40 s
[really-safe-money-gen] - else case rounding of
278.40 s
[really-safe-money-gen] - RoundUp -> RoundDown
278.40 s
[really-safe-money-gen] - RoundDown -> RoundUp
278.40 s
[really-safe-money-gen] - RoundNearest -> RoundNearest
278.40 s
[really-safe-money-gen] + else case rounding of
278.40 s
[really-safe-money-gen] + RoundUp -> RoundDown
278.40 s
[really-safe-money-gen] + RoundDown -> RoundUp
278.40 s
[really-safe-money-gen] + RoundNearest -> RoundNearest
278.40 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
278.41 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
278.41 s
[really-safe-money-gen] in if f >= 0
278.41 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:211:11-37
278.41 s
[really-safe-money-gen] @@ -208,9 +208,9 @@
278.41 s
[really-safe-money-gen] -- (-3) % 20
278.41 s
[really-safe-money-gen] toRational :: QuantisationFactor -> Account -> Rational
278.41 s
[really-safe-money-gen] toRational quantisationFactor account =
278.41 s
[really-safe-money-gen] - let f = case account of
278.41 s
[really-safe-money-gen] - Positive _ -> id
278.41 s
[really-safe-money-gen] - Negative _ -> Prelude.negate
278.41 s
[really-safe-money-gen] + let f = case account of
278.41 s
[really-safe-money-gen] + Positive _ -> id
278.41 s
[really-safe-money-gen] + Negative _ -> Prelude.negate
278.41 s
[really-safe-money-gen] in f $ Amount.toRational quantisationFactor (abs account)
278.41 s
[really-safe-money-gen]
278.41 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
278.41 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:211:11-37
278.41 s
[really-safe-money-gen] @@ -208,9 +208,9 @@
278.41 s
[really-safe-money-gen] -- (-3) % 20
278.41 s
[really-safe-money-gen] toRational :: QuantisationFactor -> Account -> Rational
278.41 s
[really-safe-money-gen] toRational quantisationFactor account =
278.41 s
[really-safe-money-gen] - let f = case account of
278.41 s
[really-safe-money-gen] - Positive _ -> id
278.41 s
[really-safe-money-gen] - Negative _ -> Prelude.negate
278.41 s
[really-safe-money-gen] + let f = case account of
278.41 s
[really-safe-money-gen] + Positive _ -> id
278.41 s
[really-safe-money-gen] + Negative _ -> Prelude.negate
278.41 s
[really-safe-money-gen] in f $ Amount.toRational quantisationFactor (abs account)
278.41 s
[really-safe-money-gen]
278.41 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
278.41 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:197:19-20
278.41 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
278.41 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
278.41 s
[really-safe-money-gen] fromDouble quantisationFactor d =
278.41 s
[really-safe-money-gen] let d' = Prelude.abs d
278.41 s
[really-safe-money-gen] - f = if d >= 0 then Positive else Negative
278.41 s
[really-safe-money-gen] + f = if d >= 1 then Positive else Negative
278.41 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
278.41 s
[really-safe-money-gen]
278.41 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
278.41 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:197:14-20
278.41 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
278.41 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
278.41 s
[really-safe-money-gen] fromDouble quantisationFactor d =
278.41 s
[really-safe-money-gen] let d' = Prelude.abs d
278.41 s
[really-safe-money-gen] - f = if d >= 0 then Positive else Negative
278.41 s
[really-safe-money-gen] + f = if False then Positive else Negative
278.41 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
278.41 s
[really-safe-money-gen]
278.41 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
278.41 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:197:14-20
278.41 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
278.41 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
278.41 s
[really-safe-money-gen] fromDouble quantisationFactor d =
278.41 s
[really-safe-money-gen] let d' = Prelude.abs d
278.41 s
[really-safe-money-gen] - f = if d >= 0 then Positive else Negative
278.41 s
[really-safe-money-gen] + f = if not (d >= 0) then Positive else Negative
278.41 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
278.41 s
[really-safe-money-gen]
278.41 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
278.41 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:171:11-37
278.41 s
[really-safe-money-gen] @@ -168,9 +168,9 @@
278.41 s
[really-safe-money-gen] -- -0.25
278.41 s
[really-safe-money-gen] toDouble :: QuantisationFactor -> Account -> Double
278.41 s
[really-safe-money-gen] toDouble quantisationFactor account =
278.41 s
[really-safe-money-gen] - let f = case account of
278.41 s
[really-safe-money-gen] - Positive _ -> id
278.41 s
[really-safe-money-gen] - Negative _ -> Prelude.negate
278.41 s
[really-safe-money-gen] + let f = case account of
278.41 s
[really-safe-money-gen] + Positive _ -> id
278.41 s
[really-safe-money-gen] + Negative _ -> Prelude.negate
278.41 s
[really-safe-money-gen] in f $ Amount.toDouble quantisationFactor (abs account)
278.41 s
[really-safe-money-gen]
278.41 s
[really-safe-money-gen] -- | Turn a 'Double' into an amount of money.
278.41 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:197:11-48
278.41 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
278.41 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
278.41 s
[really-safe-money-gen] fromDouble quantisationFactor d =
278.41 s
[really-safe-money-gen] let d' = Prelude.abs d
278.41 s
[really-safe-money-gen] - f = if d >= 0 then Positive else Negative
278.41 s
[really-safe-money-gen] + f = if d >= 0 then Positive else Negative
278.41 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
278.41 s
[really-safe-money-gen]
278.41 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
278.41 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:171:11-37
278.41 s
[really-safe-money-gen] @@ -168,9 +168,9 @@
278.41 s
[really-safe-money-gen] -- -0.25
278.41 s
[really-safe-money-gen] toDouble :: QuantisationFactor -> Account -> Double
278.41 s
[really-safe-money-gen] toDouble quantisationFactor account =
278.41 s
[really-safe-money-gen] - let f = case account of
278.42 s
[really-safe-money-gen] - Positive _ -> id
278.42 s
[really-safe-money-gen] - Negative _ -> Prelude.negate
278.42 s
[really-safe-money-gen] + let f = case account of
278.42 s
[really-safe-money-gen] + Positive _ -> id
278.42 s
[really-safe-money-gen] + Negative _ -> Prelude.negate
279.58 s
[really-safe-money-gen] in f $ Amount.toDouble quantisationFactor (abs account)
279.58 s
[really-safe-money-gen]
279.58 s
[really-safe-money-gen] -- | Turn a 'Double' into an amount of money.
279.58 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:503:10-16
279.58 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
279.58 s
[really-safe-money-gen] RoundNearest -> RoundNearest
279.58 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
279.58 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
279.58 s
[really-safe-money-gen] - in if f >= 0
279.58 s
[really-safe-money-gen] + in if not (f >= 0)
279.58 s
[really-safe-money-gen] then (ma, r)
279.58 s
[really-safe-money-gen] else (negate <$> ma, -r)
279.58 s
[really-safe-money-gen]
279.58 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:197:14-20
279.58 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
279.58 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
279.58 s
[really-safe-money-gen] fromDouble quantisationFactor d =
279.58 s
[really-safe-money-gen] let d' = Prelude.abs d
279.58 s
[really-safe-money-gen] - f = if d >= 0 then Positive else Negative
279.58 s
[really-safe-money-gen] + f = if True then Positive else Negative
279.58 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
279.58 s
[really-safe-money-gen]
279.58 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
279.58 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:155:11-37
279.58 s
[really-safe-money-gen] @@ -152,9 +152,9 @@
279.58 s
[really-safe-money-gen] -- We return 'Integer' because the result does not fit into a 'Word64'
279.58 s
[really-safe-money-gen] toMinimalQuantisations :: Account -> Integer
279.58 s
[really-safe-money-gen] toMinimalQuantisations account =
279.58 s
[really-safe-money-gen] - let f = case account of
279.58 s
[really-safe-money-gen] - Positive _ -> id
279.58 s
[really-safe-money-gen] - Negative _ -> Prelude.negate
279.58 s
[really-safe-money-gen] + let f = case account of
279.58 s
[really-safe-money-gen] + Positive _ -> id
279.59 s
[really-safe-money-gen] + Negative _ -> Prelude.negate
279.59 s
[really-safe-money-gen] in f $ (fromIntegral :: Word64 -> Integer) $ Amount.toMinimalQuantisations (abs account)
279.59 s
[really-safe-money-gen]
279.59 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Double'.
279.59 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:123:10-23
279.59 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
279.59 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
279.59 s
[really-safe-money-gen] a :: Integer
279.59 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
279.59 s
[really-safe-money-gen] - in if a > maxBoundI
279.59 s
[really-safe-money-gen] + in if False
279.59 s
[really-safe-money-gen] then Nothing
279.59 s
[really-safe-money-gen] else
279.59 s
[really-safe-money-gen] let w :: Word64
279.59 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:123:10-23
279.59 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
279.59 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
279.59 s
[really-safe-money-gen] a :: Integer
279.59 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
279.59 s
[really-safe-money-gen] - in if a > maxBoundI
279.59 s
[really-safe-money-gen] + in if not (a > maxBoundI)
279.59 s
[really-safe-money-gen] then Nothing
279.59 s
[really-safe-money-gen] else
279.59 s
[really-safe-money-gen] let w :: Word64
279.59 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:131:25-26
279.59 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
279.59 s
[really-safe-money-gen] amount :: Amount
279.59 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
279.59 s
[really-safe-money-gen] in Just $
279.59 s
[really-safe-money-gen] - if i >= 0
279.59 s
[really-safe-money-gen] + if i >= 1
279.59 s
[really-safe-money-gen] then Positive amount
279.59 s
[really-safe-money-gen] else Negative amount
279.59 s
[really-safe-money-gen]
279.59 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:131:20-26
279.59 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
279.59 s
[really-safe-money-gen] amount :: Amount
279.59 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
279.59 s
[really-safe-money-gen] in Just $
279.59 s
[really-safe-money-gen] - if i >= 0
279.59 s
[really-safe-money-gen] + if False
279.59 s
[really-safe-money-gen] then Positive amount
279.59 s
[really-safe-money-gen] else Negative amount
279.59 s
[really-safe-money-gen]
279.59 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:131:20-26
279.59 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
279.59 s
[really-safe-money-gen] amount :: Amount
279.59 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
279.59 s
[really-safe-money-gen] in Just $
279.59 s
[really-safe-money-gen] - if i >= 0
279.59 s
[really-safe-money-gen] + if not (i >= 0)
279.59 s
[really-safe-money-gen] then Positive amount
279.59 s
[really-safe-money-gen] else Negative amount
279.59 s
[really-safe-money-gen]
279.59 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:131:17-39
279.59 s
[really-safe-money-gen] @@ -128,9 +128,9 @@
279.59 s
[really-safe-money-gen] amount :: Amount
279.59 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
279.59 s
[really-safe-money-gen] in Just $
279.59 s
[really-safe-money-gen] - if i >= 0
279.59 s
[really-safe-money-gen] - then Positive amount
279.59 s
[really-safe-money-gen] - else Negative amount
279.59 s
[really-safe-money-gen] + if i >= 0
279.59 s
[really-safe-money-gen] + then Positive amount
279.59 s
[really-safe-money-gen] + else Negative amount
279.59 s
[really-safe-money-gen]
279.59 s
[really-safe-money-gen] -- | Turn an amount into a positive account
279.59 s
[really-safe-money-gen] --
279.59 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:123:7-39
279.59 s
[really-safe-money-gen] @@ -120,17 +120,17 @@
279.59 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
279.59 s
[really-safe-money-gen] a :: Integer
279.59 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
279.59 s
[really-safe-money-gen] - in if a > maxBoundI
279.59 s
[really-safe-money-gen] - then Nothing
279.59 s
[really-safe-money-gen] - else
279.59 s
[really-safe-money-gen] - let w :: Word64
279.59 s
[really-safe-money-gen] - w = (fromIntegral :: Integer -> Word64) a
279.59 s
[really-safe-money-gen] - amount :: Amount
279.59 s
[really-safe-money-gen] - amount = Amount.fromMinimalQuantisations w
279.59 s
[really-safe-money-gen] - in Just $
279.59 s
[really-safe-money-gen] - if i >= 0
279.59 s
[really-safe-money-gen] - then Positive amount
279.59 s
[really-safe-money-gen] - else Negative amount
279.59 s
[really-safe-money-gen] + in if a > maxBoundI
279.59 s
[really-safe-money-gen] + then Nothing
279.59 s
[really-safe-money-gen] + else
279.59 s
[really-safe-money-gen] + let w :: Word64
279.59 s
[really-safe-money-gen] + w = (fromIntegral :: Integer -> Word64) a
279.59 s
[really-safe-money-gen] + amount :: Amount
279.59 s
[really-safe-money-gen] + amount = Amount.fromMinimalQuantisations w
279.59 s
[really-safe-money-gen] + in Just $
279.59 s
[really-safe-money-gen] + if i >= 0
279.59 s
[really-safe-money-gen] + then Positive amount
279.59 s
[really-safe-money-gen] + else Negative amount
279.59 s
[really-safe-money-gen]
279.59 s
[really-safe-money-gen] -- | Turn an amount into a positive account
279.59 s
[really-safe-money-gen] --
279.59 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
279.59 s
[really-safe-money-gen] @@ -177,11 +177,11 @@
279.59 s
[really-safe-money-gen]
279.59 s
[really-safe-money-gen] -- | See 'Account.distribute'
279.59 s
[really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
279.59 s
[really-safe-money-gen] -distribute (AccountOf a) w = case Account.distribute a w of
279.59 s
[really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
279.59 s
[really-safe-money-gen] - DistributedZero -> DistributedZero
279.59 s
[really-safe-money-gen] - DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
279.59 s
[really-safe-money-gen] - DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
279.59 s
[really-safe-money-gen] +distribute (AccountOf a) w = case Account.distribute a w of
279.59 s
[really-safe-money-gen] + DistributedIntoZeroChunks -> DistributedIntoZeroChunks
279.59 s
[really-safe-money-gen] + DistributedZero -> DistributedZero
279.59 s
[really-safe-money-gen] + DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
279.59 s
[really-safe-money-gen] + DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
279.59 s
[really-safe-money-gen]
279.59 s
[really-safe-money-gen] -- | The result of 'distribute'
279.59 s
[really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
279.59 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
279.59 s
[really-safe-money-gen] @@ -177,11 +177,11 @@
279.60 s
[really-safe-money-gen]
279.60 s
[really-safe-money-gen] -- | See 'Account.distribute'
279.60 s
[really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
279.60 s
[really-safe-money-gen] -distribute (AccountOf a) w = case Account.distribute a w of
279.60 s
[really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
279.60 s
[really-safe-money-gen] - DistributedZero -> DistributedZero
279.60 s
[really-safe-money-gen] - DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
279.60 s
[really-safe-money-gen] - DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
279.60 s
[really-safe-money-gen] +distribute (AccountOf a) w = case Account.distribute a w of
279.60 s
[really-safe-money-gen] + DistributedIntoZeroChunks -> DistributedIntoZeroChunks
279.60 s
[really-safe-money-gen] + DistributedZero -> DistributedZero
279.60 s
[really-safe-money-gen] + DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
279.60 s
[really-safe-money-gen] + DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
279.60 s
[really-safe-money-gen]
279.60 s
[really-safe-money-gen] -- | The result of 'distribute'
279.60 s
[really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
279.60 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:155:11-37
279.60 s
[really-safe-money-gen] @@ -152,9 +152,9 @@
279.60 s
[really-safe-money-gen] -- We return 'Integer' because the result does not fit into a 'Word64'
279.60 s
[really-safe-money-gen] toMinimalQuantisations :: Account -> Integer
279.60 s
[really-safe-money-gen] toMinimalQuantisations account =
279.60 s
[really-safe-money-gen] - let f = case account of
279.60 s
[really-safe-money-gen] - Positive _ -> id
279.60 s
[really-safe-money-gen] - Negative _ -> Prelude.negate
279.60 s
[really-safe-money-gen] + let f = case account of
279.60 s
[really-safe-money-gen] + Positive _ -> id
279.60 s
[really-safe-money-gen] + Negative _ -> Prelude.negate
279.60 s
[really-safe-money-gen] in f $ (fromIntegral :: Word64 -> Integer) $ Amount.toMinimalQuantisations (abs account)
279.60 s
[really-safe-money-gen]
279.60 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Double'.
279.60 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:123:10-23
279.60 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
279.60 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
279.60 s
[really-safe-money-gen] a :: Integer
279.60 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
279.60 s
[really-safe-money-gen] - in if a > maxBoundI
279.60 s
[really-safe-money-gen] + in if True
279.60 s
[really-safe-money-gen] then Nothing
279.60 s
[really-safe-money-gen] else
279.60 s
[really-safe-money-gen] let w :: Word64
279.60 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
279.60 s
[really-safe-money-gen] @@ -177,11 +177,11 @@
279.60 s
[really-safe-money-gen]
279.60 s
[really-safe-money-gen] -- | See 'Account.distribute'
279.60 s
[really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
279.60 s
[really-safe-money-gen] -distribute (AccountOf a) w = case Account.distribute a w of
279.60 s
[really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
279.60 s
[really-safe-money-gen] - DistributedZero -> DistributedZero
279.60 s
[really-safe-money-gen] - DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
279.60 s
[really-safe-money-gen] - DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
279.60 s
[really-safe-money-gen] +distribute (AccountOf a) w = case Account.distribute a w of
279.60 s
[really-safe-money-gen] + DistributedIntoZeroChunks -> DistributedIntoZeroChunks
279.60 s
[really-safe-money-gen] + DistributedZero -> DistributedZero
279.96 s
[really-safe-money-gen] + DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
279.96 s
[really-safe-money-gen] + DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
279.96 s
[really-safe-money-gen]
279.96 s
[really-safe-money-gen] -- | The result of 'distribute'
279.96 s
[really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
279.96 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:131:20-26
279.96 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
279.96 s
[really-safe-money-gen] amount :: Amount
279.96 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
279.96 s
[really-safe-money-gen] in Just $
279.96 s
[really-safe-money-gen] - if i >= 0
279.96 s
[really-safe-money-gen] + if True
279.96 s
[really-safe-money-gen] then Positive amount
279.96 s
[really-safe-money-gen] else Negative amount
279.96 s
[really-safe-money-gen]
279.96 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
279.96 s
[really-safe-money-gen] @@ -212,11 +212,11 @@
279.96 s
[really-safe-money-gen]
279.96 s
[really-safe-money-gen] -- | See 'Amount.distribute'
279.96 s
[really-safe-money-gen] distribute :: AmountOf currency -> Word32 -> AmountDistributionOf currency
279.97 s
[really-safe-money-gen] -distribute (AmountOf a) f = case Amount.distribute a f of
279.97 s
[really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
279.97 s
[really-safe-money-gen] - DistributedZero -> DistributedZero
279.97 s
[really-safe-money-gen] - DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAmount a')
279.97 s
[really-safe-money-gen] - DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAmount a1) w2 (fromAmount a2)
279.97 s
[really-safe-money-gen] +distribute (AmountOf a) f = case Amount.distribute a f of
279.97 s
[really-safe-money-gen] + DistributedIntoZeroChunks -> DistributedIntoZeroChunks
279.97 s
[really-safe-money-gen] + DistributedZero -> DistributedZero
279.97 s
[really-safe-money-gen] + DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAmount a')
279.97 s
[really-safe-money-gen] + DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAmount a1) w2 (fromAmount a2)
279.97 s
[really-safe-money-gen]
279.97 s
[really-safe-money-gen] type AmountDistributionOf (currency :: k) = Distribution (AmountOf currency)
279.97 s
[really-safe-money-gen]
279.97 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
279.97 s
[really-safe-money-gen] @@ -212,11 +212,11 @@
279.97 s
[really-safe-money-gen]
279.97 s
[really-safe-money-gen] -- | See 'Amount.distribute'
279.97 s
[really-safe-money-gen] distribute :: AmountOf currency -> Word32 -> AmountDistributionOf currency
279.97 s
[really-safe-money-gen] -distribute (AmountOf a) f = case Amount.distribute a f of
279.97 s
[really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
279.97 s
[really-safe-money-gen] - DistributedZero -> DistributedZero
279.97 s
[really-safe-money-gen] - DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAmount a')
279.97 s
[really-safe-money-gen] - DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAmount a1) w2 (fromAmount a2)
279.97 s
[really-safe-money-gen] +distribute (AmountOf a) f = case Amount.distribute a f of
279.97 s
[really-safe-money-gen] + DistributedIntoZeroChunks -> DistributedIntoZeroChunks
279.97 s
[really-safe-money-gen] + DistributedZero -> DistributedZero
279.97 s
[really-safe-money-gen] + DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAmount a')
279.97 s
[really-safe-money-gen] + DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAmount a1) w2 (fromAmount a2)
279.97 s
[really-safe-money-gen]
279.97 s
[really-safe-money-gen] type AmountDistributionOf (currency :: k) = Distribution (AmountOf currency)
279.97 s
[really-safe-money-gen]
279.97 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
279.97 s
[really-safe-money-gen] @@ -177,11 +177,11 @@
279.97 s
[really-safe-money-gen]
279.97 s
[really-safe-money-gen] -- | See 'Account.distribute'
279.97 s
[really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
279.97 s
[really-safe-money-gen] -distribute (AccountOf a) w = case Account.distribute a w of
279.97 s
[really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
279.97 s
[really-safe-money-gen] - DistributedZero -> DistributedZero
279.97 s
[really-safe-money-gen] - DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
279.97 s
[really-safe-money-gen] - DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
279.97 s
[really-safe-money-gen] +distribute (AccountOf a) w = case Account.distribute a w of
279.97 s
[really-safe-money-gen] + DistributedIntoZeroChunks -> DistributedIntoZeroChunks
279.97 s
[really-safe-money-gen] + DistributedZero -> DistributedZero
279.97 s
[really-safe-money-gen] + DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
279.97 s
[really-safe-money-gen] + DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
279.97 s
[really-safe-money-gen]
279.97 s
[really-safe-money-gen] -- | The result of 'distribute'
279.97 s
[really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
279.97 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
279.97 s
[really-safe-money-gen] @@ -212,11 +212,11 @@
279.97 s
[really-safe-money-gen]
279.97 s
[really-safe-money-gen] -- | See 'Amount.distribute'
279.97 s
[really-safe-money-gen] distribute :: AmountOf currency -> Word32 -> AmountDistributionOf currency
279.97 s
[really-safe-money-gen] -distribute (AmountOf a) f = case Amount.distribute a f of
279.97 s
[really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
279.97 s
[really-safe-money-gen] - DistributedZero -> DistributedZero
279.97 s
[really-safe-money-gen] - DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAmount a')
279.97 s
[really-safe-money-gen] - DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAmount a1) w2 (fromAmount a2)
279.97 s
[really-safe-money-gen] +distribute (AmountOf a) f = case Amount.distribute a f of
279.97 s
[really-safe-money-gen] + DistributedIntoZeroChunks -> DistributedIntoZeroChunks
279.97 s
[really-safe-money-gen] + DistributedZero -> DistributedZero
279.97 s
[really-safe-money-gen] + DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAmount a')
279.97 s
[really-safe-money-gen] + DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAmount a1) w2 (fromAmount a2)
279.97 s
[really-safe-money-gen]
279.97 s
[really-safe-money-gen] type AmountDistributionOf (currency :: k) = Distribution (AmountOf currency)
279.97 s
[really-safe-money-gen]
279.97 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
279.97 s
[really-safe-money-gen] @@ -46,7 +46,7 @@
279.97 s
[really-safe-money-gen] f s = case readMaybe s of
279.97 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
279.97 s
[really-safe-money-gen] Just i ->
279.97 s
[really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
279.97 s
[really-safe-money-gen] + if True
279.97 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
279.97 s
[really-safe-money-gen] else
279.97 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
279.97 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
279.97 s
[really-safe-money-gen] @@ -212,11 +212,11 @@
279.97 s
[really-safe-money-gen]
279.97 s
[really-safe-money-gen] -- | See 'Amount.distribute'
279.97 s
[really-safe-money-gen] distribute :: AmountOf currency -> Word32 -> AmountDistributionOf currency
279.97 s
[really-safe-money-gen] -distribute (AmountOf a) f = case Amount.distribute a f of
279.97 s
[really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
279.97 s
[really-safe-money-gen] - DistributedZero -> DistributedZero
279.97 s
[really-safe-money-gen] - DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAmount a')
279.97 s
[really-safe-money-gen] - DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAmount a1) w2 (fromAmount a2)
279.97 s
[really-safe-money-gen] +distribute (AmountOf a) f = case Amount.distribute a f of
279.97 s
[really-safe-money-gen] + DistributedIntoZeroChunks -> DistributedIntoZeroChunks
279.97 s
[really-safe-money-gen] + DistributedZero -> DistributedZero
279.97 s
[really-safe-money-gen] + DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAmount a')
279.97 s
[really-safe-money-gen] + DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAmount a1) w2 (fromAmount a2)
279.97 s
[really-safe-money-gen]
279.97 s
[really-safe-money-gen] type AmountDistributionOf (currency :: k) = Distribution (AmountOf currency)
279.97 s
[really-safe-money-gen]
279.97 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount/Codec.hs:49:12-59
279.97 s
[really-safe-money-gen] @@ -46,7 +46,7 @@
279.97 s
[really-safe-money-gen] f s = case readMaybe s of
279.98 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
279.98 s
[really-safe-money-gen] Just i ->
279.98 s
[really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
279.98 s
[really-safe-money-gen] + if not ((i :: Integer) < toInteger (minBound :: Word64))
279.98 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
279.98 s
[really-safe-money-gen] else
279.98 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
279.98 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
279.98 s
[really-safe-money-gen] @@ -47,7 +47,7 @@
279.98 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
279.98 s
[really-safe-money-gen] Just i ->
279.98 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
279.98 s
[really-safe-money-gen] - then Left $ unwords ["Negative number of minimal quantisations:", show i]
279.98 s
[really-safe-money-gen] + then Left $ unwords []
279.98 s
[really-safe-money-gen] else
279.98 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
279.98 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
279.98 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
279.98 s
[really-safe-money-gen] @@ -47,7 +47,7 @@
279.98 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
279.98 s
[really-safe-money-gen] Just i ->
279.98 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
279.98 s
[really-safe-money-gen] - then Left $ unwords ["Negative number of minimal quantisations:", show i]
279.98 s
[really-safe-money-gen] + then Left $ unwords ["Negative number of minimal quantisations:", show i]
279.98 s
[really-safe-money-gen] else
279.98 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
279.98 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
279.98 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount/Codec.hs:52:13-86
279.98 s
[really-safe-money-gen] @@ -49,9 +49,9 @@
279.98 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
279.98 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
279.98 s
[really-safe-money-gen] else
279.98 s
[really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
279.98 s
[really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations is too big:", show i]
279.98 s
[really-safe-money-gen] - else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
279.98 s
[really-safe-money-gen] + if (i :: Integer) > toInteger (maxBound :: Word64)
279.98 s
[really-safe-money-gen] + then Left $ unwords ["Number of minimal quantisations is too big:", show i]
279.98 s
[really-safe-money-gen] + else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
279.98 s
[really-safe-money-gen] g :: Amount -> String
279.98 s
[really-safe-money-gen] g = show . Amount.toMinimalQuantisations
279.98 s
[really-safe-money-gen]
279.98 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
279.98 s
[really-safe-money-gen] @@ -50,7 +50,7 @@
279.98 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
279.98 s
[really-safe-money-gen] else
279.98 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
279.98 s
[really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations is too big:", show i]
279.98 s
[really-safe-money-gen] + then Left $ unwords ["Number of minimal quantisations is too big:", show i]
279.98 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
279.98 s
[really-safe-money-gen] g :: Amount -> String
279.98 s
[really-safe-money-gen] g = show . Amount.toMinimalQuantisations
279.98 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount/Codec.hs:49:9-86
279.98 s
[really-safe-money-gen] @@ -46,12 +46,12 @@
279.98 s
[really-safe-money-gen] f s = case readMaybe s of
279.98 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
279.98 s
[really-safe-money-gen] Just i ->
279.98 s
[really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
279.98 s
[really-safe-money-gen] - then Left $ unwords ["Negative number of minimal quantisations:", show i]
279.98 s
[really-safe-money-gen] - else
279.98 s
[really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
279.98 s
[really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations is too big:", show i]
279.98 s
[really-safe-money-gen] - else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
279.98 s
[really-safe-money-gen] + if (i :: Integer) < toInteger (minBound :: Word64)
279.98 s
[really-safe-money-gen] + then Left $ unwords ["Negative number of minimal quantisations:", show i]
279.98 s
[really-safe-money-gen] + else
279.98 s
[really-safe-money-gen] + if (i :: Integer) > toInteger (maxBound :: Word64)
279.98 s
[really-safe-money-gen] + then Left $ unwords ["Number of minimal quantisations is too big:", show i]
279.98 s
[really-safe-money-gen] + else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
279.98 s
[really-safe-money-gen] g :: Amount -> String
279.98 s
[really-safe-money-gen] g = show . Amount.toMinimalQuantisations
279.98 s
[really-safe-money-gen]
279.98 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
279.98 s
[really-safe-money-gen] @@ -44,7 +44,7 @@
279.98 s
[really-safe-money-gen] where
279.98 s
[really-safe-money-gen] f :: String -> Either String Amount
279.98 s
[really-safe-money-gen] f s = case readMaybe s of
279.98 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
279.98 s
[really-safe-money-gen] + Nothing -> Left $ unwords []
279.98 s
[really-safe-money-gen] Just i ->
279.98 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
279.98 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
279.98 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
279.98 s
[really-safe-money-gen] @@ -44,7 +44,7 @@
279.98 s
[really-safe-money-gen] where
279.98 s
[really-safe-money-gen] f :: String -> Either String Amount
279.98 s
[really-safe-money-gen] f s = case readMaybe s of
279.98 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
279.98 s
[really-safe-money-gen] + Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
279.98 s
[really-safe-money-gen] Just i ->
279.98 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
279.98 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
279.98 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount/Codec.hs:52:16-63
279.98 s
[really-safe-money-gen] @@ -49,7 +49,7 @@
279.98 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
279.98 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
279.98 s
[really-safe-money-gen] else
279.98 s
[really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
279.98 s
[really-safe-money-gen] + if not ((i :: Integer) > toInteger (maxBound :: Word64))
279.98 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
279.98 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
279.98 s
[really-safe-money-gen] g :: Amount -> String
279.98 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26
279.98 s
[really-safe-money-gen] @@ -38,6 +38,6 @@
279.98 s
[really-safe-money-gen] codec
279.98 s
[really-safe-money-gen] <?> "QuantisationFactor"
279.98 s
[really-safe-money-gen] where
279.98 s
[really-safe-money-gen] - f w = case QuantisationFactor.fromWord32 w of
279.98 s
[really-safe-money-gen] - Nothing -> Left $ "Unable to parse as a quantisation factor: " <> show w
279.98 s
[really-safe-money-gen] - Just qf -> Right qf
279.98 s
[really-safe-money-gen] + f w = case QuantisationFactor.fromWord32 w of
279.98 s
[really-safe-money-gen] + Nothing -> Left $ "Unable to parse as a quantisation factor: " <> show w
279.98 s
[really-safe-money-gen] + Just qf -> Right qf
279.98 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
279.98 s
[really-safe-money-gen] @@ -49,7 +49,7 @@
279.98 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
279.98 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
279.98 s
[really-safe-money-gen] else
279.98 s
[really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
279.98 s
[really-safe-money-gen] + if True
279.98 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
279.98 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
279.98 s
[really-safe-money-gen] g :: Amount -> String
279.98 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24
279.98 s
[really-safe-money-gen] @@ -76,6 +76,6 @@
279.98 s
[really-safe-money-gen] <?> "Account"
279.98 s
[really-safe-money-gen] where
279.98 s
[really-safe-money-gen] f :: Integer -> Either String Account
279.98 s
[really-safe-money-gen] - f i = case Account.fromMinimalQuantisations i of
279.98 s
[really-safe-money-gen] - Nothing -> Left $ "Number did not fit into an account value: " <> show i
279.98 s
[really-safe-money-gen] - Just a -> Right a
279.98 s
[really-safe-money-gen] + f i = case Account.fromMinimalQuantisations i of
279.98 s
[really-safe-money-gen] + Nothing -> Left $ "Number did not fit into an account value: " <> show i
279.98 s
[really-safe-money-gen] + Just a -> Right a
279.98 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
279.98 s
[really-safe-money-gen] @@ -46,7 +46,7 @@
279.98 s
[really-safe-money-gen] f s = case readMaybe s of
279.98 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
279.98 s
[really-safe-money-gen] Just i ->
279.98 s
[really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
279.98 s
[really-safe-money-gen] + if False
279.98 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
279.98 s
[really-safe-money-gen] else
279.98 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
279.98 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Account/Codec.hs:51:33-76
279.98 s
[really-safe-money-gen] @@ -48,7 +48,7 @@
279.98 s
[really-safe-money-gen] where
279.98 s
[really-safe-money-gen] f :: String -> Either String Account
279.98 s
[really-safe-money-gen] f s = case readMaybe s >>= Account.fromMinimalQuantisations of
279.99 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Account:", s]
279.99 s
[really-safe-money-gen] + Nothing -> Left $ unwords []
279.99 s
[really-safe-money-gen] Just a -> Right a
279.99 s
[really-safe-money-gen] g :: Account -> String
279.99 s
[really-safe-money-gen] g = show . Account.toMinimalQuantisations
279.99 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Account/Codec.hs:51:33-76
279.99 s
[really-safe-money-gen] @@ -48,7 +48,7 @@
279.99 s
[really-safe-money-gen] where
279.99 s
[really-safe-money-gen] f :: String -> Either String Account
279.99 s
[really-safe-money-gen] f s = case readMaybe s >>= Account.fromMinimalQuantisations of
279.99 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Account:", s]
279.99 s
[really-safe-money-gen] + Nothing -> Left $ unwords ["Could not read string as an Account:", s]
279.99 s
[really-safe-money-gen] Just a -> Right a
279.99 s
[really-safe-money-gen] g :: Account -> String
279.99 s
[really-safe-money-gen] g = show . Account.toMinimalQuantisations
279.99 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
279.99 s
[really-safe-money-gen] @@ -50,7 +50,7 @@
279.99 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
279.99 s
[really-safe-money-gen] else
279.99 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
279.99 s
[really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations is too big:", show i]
279.99 s
[really-safe-money-gen] + then Left $ unwords []
279.99 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
279.99 s
[really-safe-money-gen] g :: Amount -> String
279.99 s
[really-safe-money-gen] g = show . Amount.toMinimalQuantisations
279.99 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24
279.99 s
[really-safe-money-gen] @@ -47,9 +47,9 @@
279.99 s
[really-safe-money-gen] codecViaString = bimapCodec f g stringCodec <?> "Account"
279.99 s
[really-safe-money-gen] where
279.99 s
[really-safe-money-gen] f :: String -> Either String Account
279.99 s
[really-safe-money-gen] - f s = case readMaybe s >>= Account.fromMinimalQuantisations of
279.99 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Account:", s]
279.99 s
[really-safe-money-gen] - Just a -> Right a
279.99 s
[really-safe-money-gen] + f s = case readMaybe s >>= Account.fromMinimalQuantisations of
279.99 s
[really-safe-money-gen] + Nothing -> Left $ unwords ["Could not read string as an Account:", s]
279.99 s
[really-safe-money-gen] + Just a -> Right a
279.99 s
[really-safe-money-gen] g :: Account -> String
279.99 s
[really-safe-money-gen] g = show . Account.toMinimalQuantisations
279.99 s
[really-safe-money-gen]
279.99 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
279.99 s
[really-safe-money-gen] @@ -49,7 +49,7 @@
279.99 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
279.99 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
279.99 s
[really-safe-money-gen] else
279.99 s
[really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
279.99 s
[really-safe-money-gen] + if False
279.99 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
279.99 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
279.99 s
[really-safe-money-gen] g :: Amount -> String
279.99 s
[really-safe-money-gen] Testing mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82
279.99 s
[really-safe-money-gen] @@ -37,5 +37,5 @@
279.99 s
[really-safe-money-gen] where
279.99 s
[really-safe-money-gen] f :: String -> Either String DecimalLiteral
279.99 s
[really-safe-money-gen] f s = case DecimalLiteral.fromString s of
279.99 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
279.99 s
[really-safe-money-gen] + Nothing -> Left $ unwords []
279.99 s
[really-safe-money-gen] Just a -> Right a
323.66 s
[really-safe-money-gen] Testing mutation ListLit at sKilled: 301
323.68 s
[really-safe-money-gen] Survived: 38
323.68 s
[really-safe-money-gen] Uncovered: 33
323.68 s
[really-safe-money-gen]
323.68 s
[really-safe-money-gen] Surviving mutations:
323.68 s
[really-safe-money-gen]
323.68 s
[really-safe-money-gen] RemoveCase at src/Money/AccountOf.hs:180:30-115
323.68 s
[really-safe-money-gen] @@ -177,11 +177,11 @@
323.68 s
[really-safe-money-gen]
323.68 s
[really-safe-money-gen] -- | See 'Account.distribute'
323.68 s
[really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
323.68 s
[really-safe-money-gen] -distribute (AccountOf a) w = case Account.distribute a w of
323.68 s
[really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
323.68 s
[really-safe-money-gen] - DistributedZero -> DistributedZero
323.68 s
[really-safe-money-gen] - DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
323.68 s
[really-safe-money-gen] - DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
323.68 s
[really-safe-money-gen] +distribute (AccountOf a) w = case Account.distribute a w of
323.68 s
[really-safe-money-gen] + DistributedIntoZeroChunks -> DistributedIntoZeroChunks
323.68 s
[really-safe-money-gen] + DistributedZero -> DistributedZero
323.68 s
[really-safe-money-gen] + DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
323.68 s
[really-safe-money-gen] + DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
323.68 s
[really-safe-money-gen]
323.68 s
[really-safe-money-gen] -- | The result of 'distribute'
323.68 s
[really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
323.68 s
[really-safe-money-gen]
323.68 s
[really-safe-money-gen] IntLit at src/Money/Account.hs:131:25-26
323.68 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
323.68 s
[really-safe-money-gen] amount :: Amount
323.68 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
323.68 s
[really-safe-money-gen] in Just $
323.68 s
[really-safe-money-gen] - if i >= 0
323.68 s
[really-safe-money-gen] + if i >= 1
323.68 s
[really-safe-money-gen] then Positive amount
323.68 s
[really-safe-money-gen] else Negative amount
323.68 s
[really-safe-money-gen]
323.68 s
[really-safe-money-gen]
323.68 s
[really-safe-money-gen] ConstBool at src/Money/Account.hs:123:10-23
323.68 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
323.68 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
323.68 s
[really-safe-money-gen] a :: Integer
323.68 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
323.68 s
[really-safe-money-gen] - in if a > maxBoundI
323.68 s
[really-safe-money-gen] + in if False
323.68 s
[really-safe-money-gen] then Nothing
323.68 s
[really-safe-money-gen] else
323.68 s
[really-safe-money-gen] let w :: Word64
323.68 s
[really-safe-money-gen]
323.68 s
[really-safe-money-gen] ListLit at src/Money/QuantisationFactor.hs:39:7-8
323.68 s
[really-safe-money-gen] @@ -36,9 +36,9 @@
323.68 s
[really-safe-money-gen] instance Validity QuantisationFactor where
323.68 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
323.68 s
[really-safe-money-gen] mconcat
323.68 s
[really-safe-money-gen] - [ genericValidate qf,
323.68 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
323.68 s
[really-safe-money-gen] - ]
323.68 s
[really-safe-money-gen] + [ genericValidate qf,
323.68 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ w /= 0
323.68 s
[really-safe-money-gen] + ]
323.68 s
[really-safe-money-gen]
323.68 s
[really-safe-money-gen] instance NFData QuantisationFactor
323.68 s
[really-safe-money-gen]
323.68 s
[really-safe-money-gen]
323.68 s
[really-safe-money-gen] ListLit at src/Money/QuantisationFactor.hs:39:7-8
323.68 s
[really-safe-money-gen] @@ -36,9 +36,7 @@
323.68 s
[really-safe-money-gen] instance Validity QuantisationFactor where
323.68 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
323.68 s
[really-safe-money-gen] mconcat
323.68 s
[really-safe-money-gen] - [ genericValidate qf,
323.68 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
323.68 s
[really-safe-money-gen] - ]
323.68 s
[really-safe-money-gen] + []
323.68 s
[really-safe-money-gen]
323.68 s
[really-safe-money-gen] instance NFData QuantisationFactor
323.68 s
[really-safe-money-gen]
323.68 s
[really-safe-money-gen]
323.68 s
[really-safe-money-gen] ConstBool at src/Money/QuantisationFactor.hs:40:57-63
323.68 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
323.68 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
323.68 s
[really-safe-money-gen] mconcat
323.68 s
[really-safe-money-gen] [ genericValidate qf,
323.68 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
323.68 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ True
323.68 s
[really-safe-money-gen] ]
323.68 s
[really-safe-money-gen]
323.68 s
[really-safe-money-gen] instance NFData QuantisationFactor
323.68 s
[really-safe-money-gen]
323.68 s
[really-safe-money-gen] IntLit at src/Money/QuantisationFactor.hs:93:16-17
323.68 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
323.68 s
[really-safe-money-gen]
323.68 s
[really-safe-money-gen] rat <-
323.68 s
[really-safe-money-gen] let r = 1 / irat
323.68 s
[really-safe-money-gen] - in if r < 0
323.68 s
[really-safe-money-gen] + in if r < 1
323.68 s
[really-safe-money-gen] then Nothing
323.68 s
[really-safe-money-gen] else Just r
323.68 s
[really-safe-money-gen]
323.68 s
[really-safe-money-gen]
323.68 s
[really-safe-money-gen] ListLit at src/Money/Amount.hs:603:7-8
323.68 s
[really-safe-money-gen] @@ -600,13 +600,13 @@
323.68 s
[really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
323.68 s
[really-safe-money-gen] validate ad =
323.68 s
[really-safe-money-gen] mconcat
323.68 s
[really-safe-money-gen] - [ genericValidate ad,
323.68 s
[really-safe-money-gen] - case ad of
323.68 s
[really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
323.68 s
[really-safe-money-gen] - declare "The larger chunks are larger" $
323.68 s
[really-safe-money-gen] - a1 > a2
323.68 s
[really-safe-money-gen] - _ -> valid
323.68 s
[really-safe-money-gen] - ]
323.68 s
[really-safe-money-gen] + [ genericValidate ad,
323.68 s
[really-safe-money-gen] + case ad of
323.68 s
[really-safe-money-gen] + DistributedIntoUnequalChunks _ a1 _ a2 ->
323.68 s
[really-safe-money-gen] + declare "The larger chunks are larger" $
323.69 s
[really-safe-money-gen] + a1 > a2
323.69 s
[really-safe-money-gen] + _ -> valid
323.69 s
[really-safe-money-gen] + ]
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] ListLit at src/Money/Amount.hs:603:7-8
323.69 s
[really-safe-money-gen] @@ -600,13 +600,7 @@
323.69 s
[really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
323.69 s
[really-safe-money-gen] validate ad =
323.69 s
[really-safe-money-gen] mconcat
323.69 s
[really-safe-money-gen] - [ genericValidate ad,
323.69 s
[really-safe-money-gen] - case ad of
323.69 s
[really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
323.69 s
[really-safe-money-gen] - declare "The larger chunks are larger" $
323.69 s
[really-safe-money-gen] - a1 > a2
323.69 s
[really-safe-money-gen] - _ -> valid
323.69 s
[really-safe-money-gen] - ]
323.69 s
[really-safe-money-gen] + []
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] RemoveCase at src/Money/Amount.hs:604:9-21
323.69 s
[really-safe-money-gen] @@ -601,11 +601,11 @@
323.69 s
[really-safe-money-gen] validate ad =
323.69 s
[really-safe-money-gen] mconcat
323.69 s
[really-safe-money-gen] [ genericValidate ad,
323.69 s
[really-safe-money-gen] - case ad of
323.69 s
[really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
323.69 s
[really-safe-money-gen] - declare "The larger chunks are larger" $
323.69 s
[really-safe-money-gen] - a1 > a2
323.69 s
[really-safe-money-gen] - _ -> valid
323.69 s
[really-safe-money-gen] + case ad of
323.69 s
[really-safe-money-gen] + DistributedIntoUnequalChunks _ a1 _ a2 ->
323.69 s
[really-safe-money-gen] + declare "The larger chunks are larger" $
323.69 s
[really-safe-money-gen] + a1 > a2
323.69 s
[really-safe-money-gen] + _ -> valid
323.69 s
[really-safe-money-gen] ]
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] ConstBool at src/Money/Amount.hs:607:15-22
323.69 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
323.69 s
[really-safe-money-gen] case ad of
323.69 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
323.69 s
[really-safe-money-gen] declare "The larger chunks are larger" $
323.69 s
[really-safe-money-gen] - a1 > a2
323.69 s
[really-safe-money-gen] + True
323.69 s
[really-safe-money-gen] _ -> valid
323.69 s
[really-safe-money-gen] ]
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] ConstBool at src/Money/Amount.hs:332:14-40
323.69 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
323.69 s
[really-safe-money-gen] | otherwise =
323.69 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
323.69 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
323.69 s
[really-safe-money-gen] - if exponent resultDouble > 65
323.69 s
[really-safe-money-gen] + if False
323.69 s
[really-safe-money-gen] then Nothing
323.69 s
[really-safe-money-gen] else
323.69 s
[really-safe-money-gen] let ceiled :: Natural
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] ConstBool at src/Money/Amount.hs:518:10-15
323.69 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
323.69 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
323.69 s
[really-safe-money-gen] r :: Integer
323.69 s
[really-safe-money-gen] r = i1 - i2
323.69 s
[really-safe-money-gen] - in if r < 0
323.69 s
[really-safe-money-gen] + in if True
323.69 s
[really-safe-money-gen] then Nothing
323.69 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] IntLit at src/Money/Amount.hs:518:14-15
323.69 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
323.69 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
323.69 s
[really-safe-money-gen] r :: Integer
323.69 s
[really-safe-money-gen] r = i1 - i2
323.69 s
[really-safe-money-gen] - in if r < 0
323.69 s
[really-safe-money-gen] + in if r < 1
323.69 s
[really-safe-money-gen] then Nothing
323.69 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
323.69 s
[really-safe-money-gen] @@ -109,9 +109,9 @@
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] -- | Like 'fromString' but in a 'MonadFail'
323.69 s
[really-safe-money-gen] fromStringM :: (MonadFail m) => String -> m DecimalLiteral
323.69 s
[really-safe-money-gen] -fromStringM s = case Numeric.DecimalLiteral.fromString s of
323.69 s
[really-safe-money-gen] - Nothing -> fail $ "Failed to parse decimal literal from: " <> show s
323.69 s
[really-safe-money-gen] - Just dl -> pure dl
323.69 s
[really-safe-money-gen] +fromStringM s = case Numeric.DecimalLiteral.fromString s of
323.69 s
[really-safe-money-gen] + Nothing -> fail $ "Failed to parse decimal literal from: " <> show s
323.69 s
[really-safe-money-gen] + Just dl -> pure dl
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
323.69 s
[really-safe-money-gen] decimalLiteralP = do
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] IntLit at src/Numeric/DecimalLiteral.hs:208:9-10
323.69 s
[really-safe-money-gen] @@ -205,7 +205,7 @@
323.69 s
[really-safe-money-gen] -- Nothing
323.69 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
323.69 s
[really-safe-money-gen] fromRational (n :% d)
323.69 s
[really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
323.69 s
[really-safe-money-gen] + | n < 1 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
323.69 s
[really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
323.69 s
[really-safe-money-gen] @@ -284,9 +284,9 @@
323.69 s
[really-safe-money-gen] -- >>> toRatio (DecimalLiteral (Just False) 3 1)
323.69 s
[really-safe-money-gen] -- Nothing
323.69 s
[really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
323.69 s
[really-safe-money-gen] -toRatio (DecimalLiteral mSign m e) = case mSign of
323.69 s
[really-safe-money-gen] - Just False -> Nothing
323.69 s
[really-safe-money-gen] - _ -> Just $ fromIntegral m / (10 ^ e)
323.69 s
[really-safe-money-gen] +toRatio (DecimalLiteral mSign m e) = case mSign of
323.69 s
[really-safe-money-gen] + Just False -> Nothing
323.69 s
[really-safe-money-gen] + _ -> Just $ fromIntegral m / (10 ^ e)
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
323.69 s
[really-safe-money-gen] fromWord :: Word -> DecimalLiteral
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
323.69 s
[really-safe-money-gen] @@ -286,7 +286,7 @@
323.69 s
[really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
323.69 s
[really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
323.69 s
[really-safe-money-gen] Just False -> Nothing
323.69 s
[really-safe-money-gen] - _ -> Just $ fromIntegral m / (10 ^ e)
323.69 s
[really-safe-money-gen] + _ -> Just $ fromIntegral m / (1 ^ e)
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
323.69 s
[really-safe-money-gen] fromWord :: Word -> DecimalLiteral
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
323.69 s
[really-safe-money-gen] @@ -296,7 +296,7 @@
323.69 s
[really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
323.69 s
[really-safe-money-gen] toWord dl = do
323.69 s
[really-safe-money-gen] n <- toNatural dl
323.69 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
323.69 s
[really-safe-money-gen] + guard $ True
323.69 s
[really-safe-money-gen] pure $ fromIntegral n
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
323.69 s
[really-safe-money-gen] @@ -330,7 +330,7 @@
323.69 s
[really-safe-money-gen] toInt dl = do
323.69 s
[really-safe-money-gen] n <- toInteger dl
323.69 s
[really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
323.69 s
[really-safe-money-gen] - guard $rc/Numeric/DecimalLiteral/Codec.hs:40:33-82
323.69 s
[really-safe-money-gen] @@ -37,5 +37,5 @@
323.69 s
[really-safe-money-gen] where
323.69 s
[really-safe-money-gen] f :: String -> Either String DecimalLiteral
323.69 s
[really-safe-money-gen] f s = case DecimalLiteral.fromString s of
323.69 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
323.69 s
[really-safe-money-gen] + Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
323.69 s
[really-safe-money-gen] Just a -> Right a
323.69 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24
323.69 s
[really-safe-money-gen] @@ -47,9 +47,9 @@
323.69 s
[really-safe-money-gen] codecViaString = bimapCodec f g stringCodec <?> "Account"
323.69 s
[really-safe-money-gen] where
323.69 s
[really-safe-money-gen] f :: String -> Either String Account
323.69 s
[really-safe-money-gen] - f s = case readMaybe s >>= Account.fromMinimalQuantisations of
323.69 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Account:", s]
323.69 s
[really-safe-money-gen] - Just a -> Right a
323.69 s
[really-safe-money-gen] + f s = case readMaybe s >>= Account.fromMinimalQuantisations of
323.69 s
[really-safe-money-gen] + Nothing -> Left $ unwords ["Could not read string as an Account:", s]
323.69 s
[really-safe-money-gen] + Just a -> Right a
323.69 s
[really-safe-money-gen] g :: Account -> String
323.69 s
[really-safe-money-gen] g = show . Account.toMinimalQuantisations
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24
323.69 s
[really-safe-money-gen] @@ -36,6 +36,6 @@
323.69 s
[really-safe-money-gen] codecViaString = bimapCodec f DecimalLiteral.toString stringCodec <?> "DecimalLiteral"
323.69 s
[really-safe-money-gen] where
323.69 s
[really-safe-money-gen] f :: String -> Either String DecimalLiteral
323.69 s
[really-safe-money-gen] - f s = case DecimalLiteral.fromString s of
323.69 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
323.69 s
[really-safe-money-gen] - Just a -> Right a
323.69 s
[really-safe-money-gen] + f s = case DecimalLiteral.fromString s of
323.69 s
[really-safe-money-gen] + Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
323.69 s
[really-safe-money-gen] + Just a -> Right a
323.69 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24
323.69 s
[really-safe-money-gen] @@ -36,6 +36,6 @@
323.69 s
[really-safe-money-gen] codecViaString = bimapCodec f DecimalLiteral.toString stringCodec <?> "DecimalLiteral"
323.69 s
[really-safe-money-gen] where
323.69 s
[really-safe-money-gen] f :: String -> Either String DecimalLiteral
323.69 s
[really-safe-money-gen] - f s = case DecimalLiteral.fromString s of
323.69 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
323.69 s
[really-safe-money-gen] - Just a -> Right a
323.69 s
[really-safe-money-gen] + f s = case DecimalLiteral.fromString s of
323.69 s
[really-safe-money-gen] + Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
323.69 s
[really-safe-money-gen] + Just a -> Right a
323.69 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86
323.69 s
[really-safe-money-gen] @@ -43,15 +43,15 @@
323.69 s
[really-safe-money-gen] codecViaString = bimapCodec f g stringCodec <?> "Amount"
323.69 s
[really-safe-money-gen] where
323.69 s
[really-safe-money-gen] f :: String -> Either String Amount
323.69 s
[really-safe-money-gen] - f s = case readMaybe s of
323.69 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
323.69 s
[really-safe-money-gen] - Just i ->
323.69 s
[really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
323.69 s
[really-safe-money-gen] - then Left $ unwords ["Negative number of minimal quantisations:", show i]
323.69 s
[really-safe-money-gen] - else
323.69 s
[really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
323.69 s
[really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations is too big:", show i]
323.69 s
[really-safe-money-gen] - else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
323.69 s
[really-safe-money-gen] + f s = case readMaybe s of
323.69 s
[really-safe-money-gen] + Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
323.69 s
[really-safe-money-gen] + Just i ->
323.69 s
[really-safe-money-gen] + if (i :: Integer) < toInteger (minBound :: Word64)
323.69 s
[really-safe-money-gen] + then Left $ unwords ["Negative number of minimal quantisations:", show i]
323.69 s
[really-safe-money-gen] + else
323.69 s
[really-safe-money-gen] + if (i :: Integer) > toInteger (maxBound :: Word64)
323.69 s
[really-safe-money-gen] + then Left $ unwords ["Number of minimal quantisations is too big:", show i]
323.69 s
[really-safe-money-gen] + else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
323.69 s
[really-safe-money-gen] g :: Amount -> String
323.69 s
[really-safe-money-gen] g = show . Amount.toMinimalQuantisations
323.69 s
[really-safe-money-gen]
323.69 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24
323.69 s
[really-safe-money-gen] @@ -76,6 +76,6 @@
323.69 s
[really-safe-money-gen] <?> "Account"
323.69 s
[really-safe-money-gen] where
323.69 s
[really-safe-money-gen] f :: Integer -> Either String Account
323.69 s
[really-safe-money-gen] - f i = case Account.fromMinimalQuantisations i of
323.69 s
[really-safe-money-gen] - Nothing -> Left $ "Number did not fit into an account value: " <> show i
323.69 s
[really-safe-money-gen] - Just a -> Right a
323.69 s
[really-safe-money-gen] + f i = case Account.fromMinimalQuantisations i of
323.70 s
[really-safe-money-gen] + Nothing -> Left $ "Number did not fit into an account value: " <> show i
323.70 s
[really-safe-money-gen] + Just a -> Right a
323.70 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26
323.70 s
[really-safe-money-gen] @@ -38,6 +38,6 @@
323.70 s
[really-safe-money-gen] codec
323.70 s
[really-safe-money-gen] <?> "QuantisationFactor"
323.70 s
[really-safe-money-gen] where
323.70 s
[really-safe-money-gen] - f w = case QuantisationFactor.fromWord32 w of
323.70 s
[really-safe-money-gen] - Nothing -> Left $ "Unable to parse as a quantisation factor: " <> show w
323.70 s
[really-safe-money-gen] - Just qf -> Right qf
323.70 s
[really-safe-money-gen] + f w = case QuantisationFactor.fromWord32 w of
323.70 s
[really-safe-money-gen] + Nothing -> Left $ "Unable to parse as a quantisation factor: " <> show w
323.70 s
[really-safe-money-gen] + Just qf -> Right qf
323.70 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86
323.70 s
[really-safe-money-gen] @@ -43,15 +43,15 @@
323.70 s
[really-safe-money-gen] codecViaString = bimapCodec f g stringCodec <?> "Amount"
323.70 s
[really-safe-money-gen] where
323.70 s
[really-safe-money-gen] f :: String -> Either String Amount
323.70 s
[really-safe-money-gen] - f s = case readMaybe s of
323.70 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
323.70 s
[really-safe-money-gen] - Just i ->
323.70 s
[really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
323.70 s
[really-safe-money-gen] - then Left $ unwords ["Negative number of minimal quantisations:", show i]
323.70 s
[really-safe-money-gen] - else
323.70 s
[really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
323.70 s
[really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations is too big:", show i]
323.70 s
[really-safe-money-gen] - else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
323.70 s
[really-safe-money-gen] + f s = case readMaybe s of
323.70 s
[really-safe-money-gen] + Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
323.70 s
[really-safe-money-gen] + Just i ->
323.70 s
[really-safe-money-gen] + if (i :: Integer) < toInteger (minBound :: Word64)
323.70 s
[really-safe-money-gen] + then Left $ unwords ["Negative number of minimal quantisations:", show i]
323.70 s
[really-safe-money-gen] + else
323.70 s
[really-safe-money-gen] + if (i :: Integer) > toInteger (maxBound :: Word64)
323.70 s
[really-safe-money-gen] + then Left $ unwords ["Number of minimal quantisations is too big:", show i]
323.70 s
[really-safe-money-gen] + else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
323.70 s
[really-safe-money-gen] g :: Amount -> String
323.70 s
[really-safe-money-gen] g = show . Amount.toMinimalQuantisations
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] n >= fromIntegral (minBound :: Int)
323.70 s
[really-safe-money-gen] + guard $ True
323.70 s
[really-safe-money-gen] pure $ fromIntegral n
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
323.70 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
323.70 s
[really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
323.70 s
[really-safe-money-gen] toInt dl = do
323.70 s
[really-safe-money-gen] n <- toInteger dl
323.70 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
323.70 s
[really-safe-money-gen] + guard $ True
323.70 s
[really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
323.70 s
[really-safe-money-gen] pure $ fromIntegral n
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] IntLit at src/Numeric/DecimalLiteral.hs:337:21-22
323.70 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
323.70 s
[really-safe-money-gen] pure $ fromIntegral n
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
323.70 s
[really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
323.70 s
[really-safe-money-gen] +numSign a = if a >= 1 then Nothing else Just False
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
323.70 s
[really-safe-money-gen] signSignum = \case
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] ListLit at src/Money/MultiAmount.hs:63:7-8
323.70 s
[really-safe-money-gen] @@ -60,11 +60,11 @@
323.70 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
323.70 s
[really-safe-money-gen] validate ma@(MultiAmount m) =
323.70 s
[really-safe-money-gen] mconcat
323.70 s
[really-safe-money-gen] - [ genericValidate ma,
323.70 s
[really-safe-money-gen] - decorateMap m $ \_ a ->
323.70 s
[really-safe-money-gen] - declare "The amount is not zero" $
323.70 s
[really-safe-money-gen] - a /= Amount.zero
323.70 s
[really-safe-money-gen] - ]
323.70 s
[really-safe-money-gen] + [ genericValidate ma,
323.70 s
[really-safe-money-gen] + decorateMap m $ \_ a ->
323.70 s
[really-safe-money-gen] + declare "The amount is not zero" $
323.70 s
[really-safe-money-gen] + a /= Amount.zero
323.70 s
[really-safe-money-gen] + ]
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] ListLit at src/Money/MultiAmount.hs:63:7-8
323.70 s
[really-safe-money-gen] @@ -60,11 +60,7 @@
323.70 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
323.70 s
[really-safe-money-gen] validate ma@(MultiAmount m) =
323.70 s
[really-safe-money-gen] mconcat
323.70 s
[really-safe-money-gen] - [ genericValidate ma,
323.70 s
[really-safe-money-gen] - decorateMap m $ \_ a ->
323.70 s
[really-safe-money-gen] - declare "The amount is not zero" $
323.70 s
[really-safe-money-gen] - a /= Amount.zero
323.70 s
[really-safe-money-gen] - ]
323.70 s
[really-safe-money-gen] + []
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:66:13-29
323.70 s
[really-safe-money-gen] @@ -63,7 +63,7 @@
323.70 s
[really-safe-money-gen] [ genericValidate ma,
323.70 s
[really-safe-money-gen] decorateMap m $ \_ a ->
323.70 s
[really-safe-money-gen] declare "The amount is not zero" $
323.70 s
[really-safe-money-gen] - a /= Amount.zero
323.70 s
[really-safe-money-gen] + True
323.70 s
[really-safe-money-gen] ]
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:106:12-28
323.70 s
[really-safe-money-gen] @@ -103,7 +103,7 @@
323.70 s
[really-safe-money-gen] Just a -> do
323.70 s
[really-safe-money-gen] r <- Amount.add a amount
323.70 s
[really-safe-money-gen] Just $
323.70 s
[really-safe-money-gen] - if r == Amount.zero
323.70 s
[really-safe-money-gen] + if False
323.70 s
[really-safe-money-gen] then M.delete currency m
323.70 s
[really-safe-money-gen] else M.insert currency r m
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] CondFlip at src/Money/MultiAmount.hs:119:9-37
323.70 s
[really-safe-money-gen] @@ -116,9 +116,9 @@
323.70 s
[really-safe-money-gen] Just a -> do
323.70 s
[really-safe-money-gen] r <- Amount.subtract a amount
323.70 s
[really-safe-money-gen] Just $
323.70 s
[really-safe-money-gen] - if r == Amount.zero
323.70 s
[really-safe-money-gen] - then M.delete currency m
323.70 s
[really-safe-money-gen] - else M.insert currency r m
323.70 s
[really-safe-money-gen] + if r == Amount.zero
323.70 s
[really-safe-money-gen] + then M.delete currency m
323.70 s
[really-safe-money-gen] + else M.insert currency r m
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] -- | Try to convert every amount to one currency.
323.70 s
[really-safe-money-gen] --
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] Negate at src/Money/MultiAmount.hs:119:12-28
323.70 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
323.70 s
[really-safe-money-gen] Just a -> do
323.70 s
[really-safe-money-gen] r <- Amount.subtract a amount
323.70 s
[really-safe-money-gen] Just $
323.70 s
[really-safe-money-gen] - if r == Amount.zero
323.70 s
[really-safe-money-gen] + if not (r == Amount.zero)
323.70 s
[really-safe-money-gen] then M.delete currency m
323.70 s
[really-safe-money-gen] else M.insert currency r m
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:119:12-28
323.70 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
323.70 s
[really-safe-money-gen] Just a -> do
323.70 s
[really-safe-money-gen] r <- Amount.subtract a amount
323.70 s
[really-safe-money-gen] Just $
323.70 s
[really-safe-money-gen] - if r == Amount.zero
323.70 s
[really-safe-money-gen] + if False
323.70 s
[really-safe-money-gen] then M.delete currency m
323.70 s
[really-safe-money-gen] else M.insert currency r m
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:119:12-28
323.70 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
323.70 s
[really-safe-money-gen] Just a -> do
323.70 s
[really-safe-money-gen] r <- Amount.subtract a amount
323.70 s
[really-safe-money-gen] Just $
323.70 s
[really-safe-money-gen] - if r == Amount.zero
323.70 s
[really-safe-money-gen] + if True
323.70 s
[really-safe-money-gen] then M.delete currency m
323.70 s
[really-safe-money-gen] else M.insert currency r m
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] ListLit at src/Money/ConversionRate.hs:37:7-8
323.70 s
[really-safe-money-gen] @@ -34,9 +34,9 @@
323.70 s
[really-safe-money-gen] instance Validity ConversionRate where
323.70 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
323.70 s
[really-safe-money-gen] mconcat
323.70 s
[really-safe-money-gen] - [ genericValidate cr,
323.70 s
[really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
323.70 s
[really-safe-money-gen] - ]
323.70 s
[really-safe-money-gen] + [ genericValidate cr,
323.70 s
[really-safe-money-gen] + declare "The rate is nonzero" $ numerator r /= 0
323.70 s
[really-safe-money-gen] + ]
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] instance NFData ConversionRate
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] ListLit at src/Money/ConversionRate.hs:37:7-8
323.70 s
[really-safe-money-gen] @@ -34,9 +34,7 @@
323.70 s
[really-safe-money-gen] instance Validity ConversionRate where
323.70 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
323.70 s
[really-safe-money-gen] mconcat
323.70 s
[really-safe-money-gen] - [ genericValidate cr,
323.70 s
[really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
323.70 s
[really-safe-money-gen] - ]
323.70 s
[really-safe-money-gen] + []
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] instance NFData ConversionRate
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] ConstBool at src/Money/ConversionRate.hs:38:41-57
323.70 s
[really-safe-money-gen] @@ -35,7 +35,7 @@
323.70 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
323.70 s
[really-safe-money-gen] mconcat
323.70 s
[really-safe-money-gen] [ genericValidate cr,
323.70 s
[really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
323.70 s
[really-safe-money-gen] + declare "The rate is nonzero" $ True
323.70 s
[really-safe-money-gen] ]
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] instance NFData ConversionRate
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] IntLit at src/Money/ConversionRate.hs:109:27-28
323.70 s
[really-safe-money-gen] @@ -106,7 +106,7 @@
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] -- | One-to-one conversion rate
323.70 s
[really-safe-money-gen] oneToOne :: ConversionRate
323.70 s
[really-safe-money-gen] -oneToOne = ConversionRate 1
323.70 s
[really-safe-money-gen] +oneToOne = ConversionRate 0
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] -- | Invert a 'ConversionRate', to convert in the other direction.
323.70 s
[really-safe-money-gen] --
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] ListLit at src/Money/MultiAccount.hs:66:7-8
323.70 s
[really-safe-money-gen] @@ -63,11 +63,11 @@
323.70 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
323.70 s
[really-safe-money-gen] validate ma@(MultiAccount m) =
323.70 s
[really-safe-money-gen] mconcat
323.70 s
[really-safe-money-gen] - [ genericValidate ma,
323.70 s
[really-safe-money-gen] - decorateMap m $ \_ a ->
323.70 s
[really-safe-money-gen] - declare "The account is not zero" $
323.70 s
[really-safe-money-gen] - a /= Account.zero
323.70 s
[really-safe-money-gen] - ]
323.70 s
[really-safe-money-gen] + [ genericValidate ma,
323.70 s
[really-safe-money-gen] + decorateMap m $ \_ a ->
323.70 s
[really-safe-money-gen] + declare "The account is not zero" $
323.70 s
[really-safe-money-gen] + a /= Account.zero
323.70 s
[really-safe-money-gen] + ]
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] -- TODO no empty currencies
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] ListLit at src/Money/MultiAccount.hs:66:7-8
323.70 s
[really-safe-money-gen] @@ -63,11 +63,7 @@
323.70 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
323.70 s
[really-safe-money-gen] validate ma@(MultiAccount m) =
323.70 s
[really-safe-money-gen] mconcat
323.70 s
[really-safe-money-gen] - [ genericValidate ma,
323.70 s
[really-safe-money-gen] - decorateMap m $ \_ a ->
323.70 s
[really-safe-money-gen] - declare "The account is not zero" $
323.70 s
[really-safe-money-gen] - a /= Account.zero
323.70 s
[really-safe-money-gen] - ]
323.70 s
[really-safe-money-gen] + []
323.70 s
[really-safe-money-gen]
323.70 s
[really-safe-money-gen] -- TODO no empty currencies
323.70 s
[really-safe-money-gen]
323.71 s
[really-safe-money-gen]
323.71 s
[really-safe-money-gen] ConstBool at src/Money/MultiAccount.hs:69:13-30
323.71 s
[really-safe-money-gen] @@ -66,7 +66,7 @@
323.71 s
[really-safe-money-gen] [ genericValidate ma,
323.71 s
[really-safe-money-gen] decorateMap m $ \_ a ->
323.71 s
[really-safe-money-gen] declare "The account is not zero" $
323.71 s
[really-safe-money-gen] - a /= Account.zero
323.71 s
[really-safe-money-gen] + True
323.71 s
[really-safe-money-gen] ]
323.71 s
[really-safe-money-gen]
323.71 s
[really-safe-money-gen] -- TODO no empty currencies
323.71 s
[really-safe-money-gen]
323.71 s
[really-safe-money-gen] ConstBool at src/Money/MultiAccount.hs:78:6-28
323.71 s
[really-safe-money-gen] @@ -75,7 +75,7 @@
323.71 s
[really-safe-money-gen]
323.71 s
[really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
323.71 s
[really-safe-money-gen] fromAccount currency amount =
323.71 s
[really-safe-money-gen] - if amount == Account.zero
323.71 s
[really-safe-money-gen] + if True
323.71 s
[really-safe-money-gen] then zero
323.71 s
[really-safe-money-gen] else MultiAccount $ M.singleton currency amount
323.71 s
[really-safe-money-gen]
323.71 s
[really-safe-money-gen] checkPhase completed in 4 minutes 28 seconds
323.71 s
[really-safe-money-gen] Phase: haddockPhase
323.81 s
[really-safe-money-gen] Preprocessing library for really-safe-money-gen-0.0.0.0...
323.82 s
[really-safe-money-gen] Running Haddock on library for really-safe-money-gen-0.0.0.0...
323.82 s
[really-safe-money-gen] Warning: The documentation for the following packages are not installed. No
323.82 s
[really-safe-money-gen] links will be generated to these packages: really-safe-money-0.0.0.0
323.99 s
[really-safe-money-gen] [ 1 of 13] Compiling Money.Amount.Gen ( src/Money/Amount/Gen.hs, nothing )
324.09 s
[really-safe-money-gen] [ 2 of 13] Compiling Money.Account.Gen ( src/Money/Account/Gen.hs, nothing )
324.09 s
[really-safe-money-gen] [ 3 of 13] Compiling Money.AccountOf.Gen ( src/Money/AccountOf/Gen.hs, nothing )
324.09 s
[really-safe-money-gen] [ 4 of 13] Compiling Money.AmountOf.Gen ( src/Money/AmountOf/Gen.hs, nothing )
324.10 s
[really-safe-money-gen] [ 5 of 13] Compiling Money.ConversionRate.Gen ( src/Money/ConversionRate/Gen.hs, nothing )
324.11 s
[really-safe-money-gen] [ 6 of 13] Compiling Money.ConversionRateOf.Gen ( src/Money/ConversionRateOf/Gen.hs, nothing )
324.11 s
[really-safe-money-gen] [ 7 of 13] Compiling Money.QuantisationFactor.Gen ( src/Money/QuantisationFactor/Gen.hs, nothing )
324.11 s
[really-safe-money-gen] [ 8 of 13] Compiling Money.Currency.Gen ( src/Money/Currency/Gen.hs, nothing )
324.12 s
[really-safe-money-gen] [ 9 of 13] Compiling Money.MultiAmount.Gen ( src/Money/MultiAmount/Gen.hs, nothing )
324.13 s
[really-safe-money-gen] [10 of 13] Compiling Money.MultiAccount.Gen ( src/Money/MultiAccount/Gen.hs, nothing )
324.13 s
[really-safe-money-gen] [11 of 13] Compiling Money.Gen ( src/Money/Gen.hs, nothing )
324.14 s
[really-safe-money-gen] [12 of 13] Compiling Numeric.DecimalLiteral.Gen ( src/Numeric/DecimalLiteral/Gen.hs, nothing )
324.14 s
[really-safe-money-gen] [13 of 13] Compiling Paths_really_safe_money_gen ( dist/build/autogen/Paths_really_safe_money_gen.hs, nothing )
324.16 s
[really-safe-money-gen] Haddock coverage:
324.16 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.Amount.Gen'
324.16 s
[really-safe-money-gen] Missing documentation for:
324.16 s
[really-safe-money-gen] Module header
324.16 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.Account.Gen'
324.16 s
[really-safe-money-gen] Missing documentation for:
324.16 s
[really-safe-money-gen] Module header
324.16 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.AccountOf.Gen'
324.16 s
[really-safe-money-gen] Missing documentation for:
324.16 s
[really-safe-money-gen] Module header
324.16 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.AmountOf.Gen'
324.16 s
[really-safe-money-gen] Missing documentation for:
324.16 s
[really-safe-money-gen] Module header
324.16 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.ConversionRate.Gen'
324.16 s
[really-safe-money-gen] Missing documentation for:
324.16 s
[really-safe-money-gen] Module header
324.16 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.ConversionRateOf.Gen'
324.16 s
[really-safe-money-gen] Missing documentation for:
324.16 s
[really-safe-money-gen] Module header
324.16 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.QuantisationFactor.Gen'
324.16 s
[really-safe-money-gen] Missing documentation for:
324.16 s
[really-safe-money-gen] Module header
324.16 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.Currency.Gen'
324.16 s
[really-safe-money-gen] Missing documentation for:
324.16 s
[really-safe-money-gen] Module header
324.16 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.MultiAmount.Gen'
324.16 s
[really-safe-money-gen] Missing documentation for:
324.16 s
[really-safe-money-gen] Module header
324.16 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.MultiAccount.Gen'
324.16 s
[really-safe-money-gen] Missing documentation for:
324.16 s
[really-safe-money-gen] Module header
324.16 s
[really-safe-money-gen] Warning: Money.Gen: Could not find documentation for exported module: Money.Gen
324.16 s
[really-safe-money-gen] 90% ( 10 / 11) in 'Money.Gen'
324.16 s
[really-safe-money-gen] Missing documentation for:
324.16 s
[really-safe-money-gen] Module header
324.16 s
[really-safe-money-gen] 0% ( 0 / 2) in 'Numeric.DecimalLiteral.Gen'
324.16 s
[really-safe-money-gen] Missing documentation for:
324.16 s
[really-safe-money-gen] Module header
324.16 s
[really-safe-money-gen] shrinkSign (src/Numeric/DecimalLiteral/Gen.hs:16)
324.24 s
[really-safe-money-gen] Warning: Money.Amount.Gen: could not find link destinations for:
324.24 s
[really-safe-money-gen] - Money.Amount.Amount
324.24 s
[really-safe-money-gen] - Money.Amount.Distribution
324.24 s
[really-safe-money-gen] - Money.Amount.Rounding
324.24 s
[really-safe-money-gen] Warning: Money.Account.Gen: could not find link destinations for:
324.24 s
[really-safe-money-gen] - Money.Account.Account
324.24 s
[really-safe-money-gen] Warning: Money.AccountOf.Gen: could not find link destinations for:
324.24 s
[really-safe-money-gen] - Money.AccountOf.AccountOf
324.24 s
[really-safe-money-gen] Warning: Money.AmountOf.Gen: could not find link destinations for:
324.24 s
[really-safe-money-gen] - Money.AmountOf.AmountOf
324.24 s
[really-safe-money-gen] Warning: Money.ConversionRate.Gen: could not find link destinations for:
324.24 s
[really-safe-money-gen] - Money.ConversionRate.ConversionRate
324.24 s
[really-safe-money-gen] Warning: Money.ConversionRateOf.Gen: could not find link destinations for:
324.24 s
[really-safe-money-gen] - Money.ConversionRateOf.ConversionRateOf
324.24 s
[really-safe-money-gen] Warning: Money.QuantisationFactor.Gen: could not find link destinations for:
324.24 s
[really-safe-money-gen] - Money.QuantisationFactor.QuantisationFactor
324.24 s
[really-safe-money-gen] Warning: Money.Currency.Gen: could not find link destinations for:
324.24 s
[really-safe-money-gen] - Money.Currency.Currency
324.24 s
[really-safe-money-gen] Warning: Money.MultiAmount.Gen: could not find link destinations for:
324.24 s
[really-safe-money-gen] - Money.MultiAmount.MultiAmount
324.24 s
[really-safe-money-gen] Warning: Money.MultiAccount.Gen: could not find link destinations for:
324.24 s
[really-safe-money-gen] - Money.MultiAccount.MultiAccount
324.24 s
[really-safe-money-gen] Warning: Numeric.DecimalLiteral.Gen: could not find link destinations for:
324.24 s
[really-safe-money-gen] - Numeric.DecimalLiteral.DecimalLiteral
327.95 s
[really-safe-money-gen] Documentation created: dist/doc/html/really-safe-money-gen/,
327.95 s
[really-safe-money-gen] dist/doc/html/really-safe-money-gen/really-safe-money-gen.txt
328.00 s
[really-safe-money-gen] Preprocessing test suite 'really-safe-money-test' for really-safe-money-gen-0.0.0.0...
328.02 s
[really-safe-money-gen] Phase: installPhase
328.10 s
[really-safe-money-gen] Installing library in /nix/store/mszdd971wbn8fa5jbcli2vfjbjxs17w3-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-9DfdU4DcgbWHMkem9yRL5h
328.39 s
[really-safe-money-gen] Phase: fixupPhase
328.41 s
[really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/mszdd971wbn8fa5jbcli2vfjbjxs17w3-really-safe-money-gen-0.0.0.0
328.41 s
[really-safe-money-gen] shrinking /nix/store/mszdd971wbn8fa5jbcli2vfjbjxs17w3-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-9DfdU4DcgbWHMkem9yRL5h-ghc9.10.3.so
328.43 s
[really-safe-money-gen] checking for references to /build/ in /nix/store/mszdd971wbn8fa5jbcli2vfjbjxs17w3-really-safe-money-gen-0.0.0.0...
328.45 s
[really-safe-money-gen] patching script interpreter paths in /nix/store/mszdd971wbn8fa5jbcli2vfjbjxs17w3-really-safe-money-gen-0.0.0.0
328.46 s
[really-safe-money-gen] stripping (with command strip and flags -S -p) in /nix/store/mszdd971wbn8fa5jbcli2vfjbjxs17w3-really-safe-money-gen-0.0.0.0/lib
328.53 s
[really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/83q7ddqxny8pph072bbyn0rcsyvmywr1-really-safe-money-gen-0.0.0.0-doc
328.53 s
[really-safe-money-gen] checking for references to /build/ in /nix/store/83q7ddqxny8pph072bbyn0rcsyvmywr1-really-safe-money-gen-0.0.0.0-doc...
328.55 s
[really-safe-money-gen] patching script interpreter paths in /nix/store/83q7ddqxny8pph072bbyn0rcsyvmywr1-really-safe-money-gen-0.0.0.0-doc
328.56 s
[really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/r67y4wiw11z3h1banskqalysd9d07id4-really-safe-money-gen-0.0.0.0-report
328.57 s
[really-safe-money-gen] checking for references to /build/ in /nix/store/r67y4wiw11z3h1banskqalysd9d07id4-really-safe-money-gen-0.0.0.0-report...
328.59 s
[really-safe-money-gen] patching script interpreter paths in /nix/store/r67y4wiw11z3h1banskqalysd9d07id4-really-safe-money-gen-0.0.0.0-report
328.71 s
[post-build-hook] Uploading to cachix cache "sydtest": /nix/store/83q7ddqxny8pph072bbyn0rcsyvmywr1-really-safe-money-gen-0.0.0.0-doc /nix/store/mszdd971wbn8fa5jbcli2vfjbjxs17w3-really-safe-money-gen-0.0.0.0 /nix/store/r67y4wiw11z3h1banskqalysd9d07id4-really-safe-money-gen-0.0.0.0-report
329.15 s
[post-build-hook] Pushing 3 paths (196 are already present) using zstd to cache sydtest ⏳
329.15 s
[post-build-hook]
329.51 s
[post-build-hook] Pushing /nix/store/83q7ddqxny8pph072bbyn0rcsyvmywr1-really-safe-money-gen-0.0.0.0-doc (288.17 KiB)
329.55 s
[post-build-hook] Pushing /nix/store/mszdd971wbn8fa5jbcli2vfjbjxs17w3-really-safe-money-gen-0.0.0.0 (1.52 MiB)
329.56 s
[post-build-hook] Pushing /nix/store/r67y4wiw11z3h1banskqalysd9d07id4-really-safe-money-gen-0.0.0.0-report (538.22 KiB)
330.56 s
[post-build-hook]
330.56 s
[post-build-hook] All done.
330.58 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/83q7ddqxny8pph072bbyn0rcsyvmywr1-really-safe-money-gen-0.0.0.0-doc /nix/store/mszdd971wbn8fa5jbcli2vfjbjxs17w3-really-safe-money-gen-0.0.0.0 /nix/store/r67y4wiw11z3h1banskqalysd9d07id4-really-safe-money-gen-0.0.0.0-report
330.62 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
330.89 s
[post-build-hook] copying 3 paths...
330.89 s
[post-build-hook] copying path '/nix/store/83q7ddqxny8pph072bbyn0rcsyvmywr1-really-safe-money-gen-0.0.0.0-doc' to 'https://cache.staging.nix-ci.com'...
330.89 s
[post-build-hook] copying path '/nix/store/r67y4wiw11z3h1banskqalysd9d07id4-really-safe-money-gen-0.0.0.0-report' to 'https://cache.staging.nix-ci.com'...
330.98 s
[post-build-hook] copying path '/nix/store/mszdd971wbn8fa5jbcli2vfjbjxs17w3-really-safe-money-gen-0.0.0.0' to 'https://cache.staging.nix-ci.com'...
331.48 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
331.77 s
[post-build-hook] copying 1 paths...
331.78 s
[post-build-hook] copying path '/nix/store/lxf02vydmg0hcangxzq4dggq7g212i47-really-safe-money-gen-0.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
332.00 s
Progress: 5 of 6 built