build checks.x86_64-linux.mutation-really-safe-money
449.96 s
[really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
449.96 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:139:27-29
449.96 s
[really-safe-money-gen] @@ -136,7 +136,7 @@
449.96 s
[really-safe-money-gen] stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
449.96 s
[really-safe-money-gen]
449.96 s
[really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
449.96 s
[really-safe-money-gen] -step a digit = Just $ a * 10 + fromIntegral digit
449.96 s
[really-safe-money-gen] +step a digit = Just $ a * 0 + fromIntegral digit
449.96 s
[really-safe-money-gen] {-# INLINE step #-}
449.96 s
[really-safe-money-gen]
449.96 s
[really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
449.96 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:136:39-41
449.96 s
[really-safe-money-gen] @@ -133,7 +133,7 @@
449.96 s
[really-safe-money-gen]
449.96 s
[really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
449.96 s
[really-safe-money-gen] stepFraction (_, 255) _ = Nothing
449.97 s
[really-safe-money-gen] -stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
449.97 s
[really-safe-money-gen] +stepFraction (m, e) digit = Just (m * 1 + fromIntegral digit, succ e)
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
449.97 s
[really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
449.97 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30
449.97 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
449.97 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
449.97 s
[really-safe-money-gen] decimalLiteralP = do
449.97 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
449.97 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
449.97 s
[really-safe-money-gen] + isSignChar c = False || c == '+'
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
449.97 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
449.97 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-30
449.97 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
449.97 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
449.97 s
[really-safe-money-gen] decimalLiteralP = do
449.97 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
449.97 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
449.97 s
[really-safe-money-gen] + isSignChar c = not (c == '-') || c == '+'
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
449.97 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
449.97 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30
449.97 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
449.97 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
449.97 s
[really-safe-money-gen] decimalLiteralP = do
449.97 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
449.97 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
449.97 s
[really-safe-money-gen] + isSignChar c = True || c == '+'
449.97 s
[really-safe-money-gen]
449.97 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
449.97 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
449.97 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42
449.97 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
449.97 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
449.97 s
[really-safe-money-gen] decimalLiteralP = do
449.97 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
449.98 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
449.98 s
[really-safe-money-gen] + isSignChar c = c == '-' || True
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
449.98 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
449.98 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42
449.98 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
449.98 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
449.98 s
[really-safe-money-gen] decimalLiteralP = do
449.98 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
449.98 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
449.98 s
[really-safe-money-gen] + isSignChar c = c == '-' || False
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
449.98 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
449.98 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:119:34-42
449.98 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
449.98 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
449.98 s
[really-safe-money-gen] decimalLiteralP = do
449.98 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
449.98 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
449.98 s
[really-safe-money-gen] + isSignChar c = c == '-' || not (c == '+')
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
449.98 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
449.98 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42
449.98 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
449.98 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
449.98 s
[really-safe-money-gen] decimalLiteralP = do
449.98 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
449.98 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
449.98 s
[really-safe-money-gen] + isSignChar c = True
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
449.98 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
449.98 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42
449.98 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
449.98 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
449.98 s
[really-safe-money-gen] decimalLiteralP = do
449.98 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
449.98 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
449.98 s
[really-safe-money-gen] + isSignChar c = False
449.98 s
[really-safe-money-gen]
449.98 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
449.98 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
449.98 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-42
449.98 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
449.98 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
449.98 s
[really-safe-money-gen] decimalLiteralP = do
449.98 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
449.98 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
449.98 s
[really-safe-money-gen] + isSignChar c = not (c == '-' || c == '+')
449.99 s
[really-safe-money-gen]
449.99 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
449.99 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
449.99 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34
449.99 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
449.99 s
[really-safe-money-gen]
449.99 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
449.99 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
449.99 s
[really-safe-money-gen] - pure $ Just $ signChar == '+'
449.99 s
[really-safe-money-gen] + pure $ Just $ True
449.99 s
[really-safe-money-gen]
449.99 s
[really-safe-money-gen] units <- parseDigits step 0
449.99 s
[really-safe-money-gen]
449.99 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34
449.99 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
449.99 s
[really-safe-money-gen]
449.99 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
449.99 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
449.99 s
[really-safe-money-gen] - pure $ Just $ signChar == '+'
449.99 s
[really-safe-money-gen] + pure $ Just $ False
449.99 s
[really-safe-money-gen]
449.99 s
[really-safe-money-gen] units <- parseDigits step 0
449.99 s
[really-safe-money-gen]
449.99 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:123:19-34
449.99 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
449.99 s
[really-safe-money-gen]
449.99 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
449.99 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
449.99 s
[really-safe-money-gen] - pure $ Just $ signChar == '+'
449.99 s
[really-safe-money-gen] + pure $ Just $ not (signChar == '+')
449.99 s
[really-safe-money-gen]
449.99 s
[really-safe-money-gen] units <- parseDigits step 0
449.99 s
[really-safe-money-gen]
449.99 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:125:29-30
449.99 s
[really-safe-money-gen] @@ -122,7 +122,7 @@
449.99 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
449.99 s
[really-safe-money-gen] pure $ Just $ signChar == '+'
449.99 s
[really-safe-money-gen]
449.99 s
[really-safe-money-gen] - units <- parseDigits step 0
449.99 s
[really-safe-money-gen] + units <- parseDigits step 1
449.99 s
[really-safe-money-gen]
449.99 s
[really-safe-money-gen] ReadP.option (DecimalLiteral mSign units 0) $ do
449.99 s
[really-safe-money-gen] _ <- ReadP.satisfy (== '.')
449.99 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:127:44-45
449.99 s
[really-safe-money-gen] @@ -124,7 +124,7 @@
449.99 s
[really-safe-money-gen]
449.99 s
[really-safe-money-gen] units <- parseDigits step 0
449.99 s
[really-safe-money-gen]
449.99 s
[really-safe-money-gen] - ReadP.option (DecimalLiteral mSign units 0) $ do
449.99 s
[really-safe-money-gen] + ReadP.option (DecimalLiteral mSign units 1) $ do
449.99 s
[really-safe-money-gen] _ <- ReadP.satisfy (== '.')
449.99 s
[really-safe-money-gen]
449.99 s
[really-safe-money-gen] (m, e) <- parseDigits stepFraction (units, 0)
449.99 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:130:48-49
449.99 s
[really-safe-money-gen] @@ -127,7 +127,7 @@
449.99 s
[really-safe-money-gen] ReadP.option (DecimalLiteral mSign units 0) $ do
449.99 s
[really-safe-money-gen] _ <- ReadP.satisfy (== '.')
449.99 s
[really-safe-money-gen]
449.99 s
[really-safe-money-gen] - (m, e) <- parseDigits stepFraction (units, 0)
449.99 s
[really-safe-money-gen] + (m, e) <- parseDigits stepFraction (units, 1)
449.99 s
[really-safe-money-gen]
449.99 s
[really-safe-money-gen] pure $ DecimalLiteral mSign m e
449.99 s
[really-safe-money-gen]
449.99 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:801:36-38
449.99 s
[really-safe-money-gen] @@ -798,7 +798,7 @@
449.99 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor 0) = "%f"
449.99 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor qf) =
449.99 s
[really-safe-money-gen] let decimals :: Int
449.99 s
[really-safe-money-gen] - decimals = ceiling $ logBase 10 (fromIntegral qf :: Float)
449.99 s
[really-safe-money-gen] + decimals = ceiling $ logBase 0 (fromIntegral qf :: Float)
449.99 s
[really-safe-money-gen] in printf "%%0.%df" decimals
449.99 s
[really-safe-money-gen]
449.99 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
449.99 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:801:36-38
449.99 s
[really-safe-money-gen] @@ -798,7 +798,7 @@
449.99 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor 0) = "%f"
449.99 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor qf) =
449.99 s
[really-safe-money-gen] let decimals :: Int
450.00 s
[really-safe-money-gen] - decimals = ceiling $ logBase 10 (fromIntegral qf :: Float)
451.44 s
[really-safe-money-gen] + decimals = ceiling $ logBase 1 (fromIntegral qf :: Float)
451.44 s
[really-safe-money-gen] in printf "%%0.%df" decimals
451.44 s
[really-safe-money-gen]
451.44 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
451.44 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:801:36-38
451.44 s
[really-safe-money-gen] @@ -798,7 +798,7 @@
451.44 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor 0) = "%f"
451.44 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor qf) =
451.44 s
[really-safe-money-gen] let decimals :: Int
451.44 s
[really-safe-money-gen] - decimals = ceiling $ logBase 10 (fromIntegral qf :: Float)
451.44 s
[really-safe-money-gen] + decimals = ceiling $ logBase -10 (fromIntegral qf :: Float)
451.44 s
[really-safe-money-gen] in printf "%%0.%df" decimals
451.44 s
[really-safe-money-gen]
451.44 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
451.44 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:569:18-19
451.44 s
[really-safe-money-gen] @@ -566,7 +566,7 @@
451.44 s
[really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
451.44 s
[really-safe-money-gen] smallerChunk :: Amount
451.44 s
[really-safe-money-gen] smallerChunk = Amount smallerChunkSize
451.44 s
[really-safe-money-gen] - in if rest == 0
451.44 s
[really-safe-money-gen] + in if rest == 1
451.44 s
[really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
451.44 s
[really-safe-money-gen] else
451.44 s
[really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
451.44 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:569:10-19
451.44 s
[really-safe-money-gen] @@ -566,7 +566,7 @@
451.44 s
[really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
451.44 s
[really-safe-money-gen] smallerChunk :: Amount
451.44 s
[really-safe-money-gen] smallerChunk = Amount smallerChunkSize
451.44 s
[really-safe-money-gen] - in if rest == 0
451.44 s
[really-safe-money-gen] + in if True
451.44 s
[really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
451.44 s
[really-safe-money-gen] else
451.44 s
[really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
451.44 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:569:10-19
451.44 s
[really-safe-money-gen] @@ -566,7 +566,7 @@
451.44 s
[really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
451.44 s
[really-safe-money-gen] smallerChunk :: Amount
451.44 s
[really-safe-money-gen] smallerChunk = Amount smallerChunkSize
451.44 s
[really-safe-money-gen] - in if rest == 0
451.44 s
[really-safe-money-gen] + in if False
451.44 s
[really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
451.44 s
[really-safe-money-gen] else
451.44 s
[really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
451.45 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:569:10-19
451.45 s
[really-safe-money-gen] @@ -566,7 +566,7 @@
451.45 s
[really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
451.45 s
[really-safe-money-gen] smallerChunk :: Amount
451.45 s
[really-safe-money-gen] smallerChunk = Amount smallerChunkSize
451.45 s
[really-safe-money-gen] - in if rest == 0
451.45 s
[really-safe-money-gen] + in if not (rest == 0)
451.45 s
[really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
451.45 s
[really-safe-money-gen] else
451.45 s
[really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
451.45 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:569:7-29
451.45 s
[really-safe-money-gen] @@ -566,22 +566,22 @@
451.45 s
[really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
451.45 s
[really-safe-money-gen] smallerChunk :: Amount
451.45 s
[really-safe-money-gen] smallerChunk = Amount smallerChunkSize
451.45 s
[really-safe-money-gen] - in if rest == 0
451.45 s
[really-safe-money-gen] - then DistributedIntoEqualChunks f smallerChunk
451.45 s
[really-safe-money-gen] - else
451.45 s
[really-safe-money-gen] - let -- This 'fromIntegral' is theoretically not safe, but it's
451.45 s
[really-safe-money-gen] - -- necessarily smaller than f so it will fit.
451.45 s
[really-safe-money-gen] - numberOfLargerChunks :: Word32
451.45 s
[really-safe-money-gen] - numberOfLargerChunks = (fromIntegral :: Word64 -> Word32) rest
451.45 s
[really-safe-money-gen] - numberOfSmallerChunks :: Word32
451.45 s
[really-safe-money-gen] - numberOfSmallerChunks = f - numberOfLargerChunks
451.45 s
[really-safe-money-gen] - largerChunk :: Amount
451.45 s
[really-safe-money-gen] - largerChunk = Amount $ succ smallerChunkSize
451.45 s
[really-safe-money-gen] - in DistributedIntoUnequalChunks
451.45 s
[really-safe-money-gen] - numberOfLargerChunks
451.45 s
[really-safe-money-gen] - largerChunk
451.45 s
[really-safe-money-gen] - numberOfSmallerChunks
451.45 s
[really-safe-money-gen] - smallerChunk
451.45 s
[really-safe-money-gen] + in if rest == 0
451.45 s
[really-safe-money-gen] + then DistributedIntoEqualChunks f smallerChunk
451.45 s
[really-safe-money-gen] + else
451.45 s
[really-safe-money-gen] + let -- This 'fromIntegral' is theoretically not safe, but it's
451.45 s
[really-safe-money-gen] + -- necessarily smaller than f so it will fit.
451.45 s
[really-safe-money-gen] + numberOfLargerChunks :: Word32
451.45 s
[really-safe-money-gen] + numberOfLargerChunks = (fromIntegral :: Word64 -> Word32) rest
451.45 s
[really-safe-money-gen] + numberOfSmallerChunks :: Word32
451.45 s
[really-safe-money-gen] + numberOfSmallerChunks = f - numberOfLargerChunks
451.45 s
[really-safe-money-gen] + largerChunk :: Amount
451.45 s
[really-safe-money-gen] + largerChunk = Amount $ succ smallerChunkSize
451.45 s
[really-safe-money-gen] + in DistributedIntoUnequalChunks
451.45 s
[really-safe-money-gen] + numberOfLargerChunks
451.45 s
[really-safe-money-gen] + largerChunk
451.45 s
[really-safe-money-gen] + numberOfSmallerChunks
451.45 s
[really-safe-money-gen] + smallerChunk
451.45 s
[really-safe-money-gen]
451.45 s
[really-safe-money-gen] -- | The result of 'distribute'
451.45 s
[really-safe-money-gen] type AmountDistribution = Distribution Amount
451.45 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:544:10-23
451.45 s
[really-safe-money-gen] @@ -541,7 +541,7 @@
451.45 s
[really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
451.45 s
[really-safe-money-gen] r :: Integer
451.45 s
[really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
451.45 s
[really-safe-money-gen] - in if r > maxBoundI
451.45 s
[really-safe-money-gen] + in if True
451.45 s
[really-safe-money-gen] then Nothing
451.45 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
451.45 s
[really-safe-money-gen]
451.45 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:544:10-23
451.45 s
[really-safe-money-gen] @@ -541,7 +541,7 @@
451.45 s
[really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
451.45 s
[really-safe-money-gen] r :: Integer
451.45 s
[really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
451.45 s
[really-safe-money-gen] - in if r > maxBoundI
451.45 s
[really-safe-money-gen] + in if False
451.45 s
[really-safe-money-gen] then Nothing
451.46 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
451.46 s
[really-safe-money-gen]
451.46 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:544:10-23
451.46 s
[really-safe-money-gen] @@ -541,7 +541,7 @@
451.46 s
[really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
451.46 s
[really-safe-money-gen] r :: Integer
451.46 s
[really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
451.46 s
[really-safe-money-gen] - in if r > maxBoundI
451.46 s
[really-safe-money-gen] + in if not (r > maxBoundI)
451.46 s
[really-safe-money-gen] then Nothing
451.46 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
451.46 s
[really-safe-money-gen]
451.46 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:544:7-66
451.46 s
[really-safe-money-gen] @@ -541,9 +541,9 @@
451.46 s
[really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
451.46 s
[really-safe-money-gen] r :: Integer
451.46 s
[really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
451.46 s
[really-safe-money-gen] - in if r > maxBoundI
451.46 s
[really-safe-money-gen] - then Nothing
451.46 s
[really-safe-money-gen] - else Just (Amount ((fromInteger :: Integer -> Word64) r))
451.46 s
[really-safe-money-gen] + in if r > maxBoundI
451.46 s
[really-safe-money-gen] + then Nothing
451.46 s
[really-safe-money-gen] + else Just (Amount ((fromInteger :: Integer -> Word64) r))
451.46 s
[really-safe-money-gen]
451.46 s
[really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
451.46 s
[really-safe-money-gen] --
451.46 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:518:14-15
451.46 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
451.46 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
451.46 s
[really-safe-money-gen] r :: Integer
451.46 s
[really-safe-money-gen] r = i1 - i2
451.46 s
[really-safe-money-gen] - in if r < 0
451.46 s
[really-safe-money-gen] + in if r < 1
451.46 s
[really-safe-money-gen] then Nothing
451.46 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
451.46 s
[really-safe-money-gen]
451.46 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:518:10-15
451.46 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
451.46 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
451.46 s
[really-safe-money-gen] r :: Integer
451.46 s
[really-safe-money-gen] r = i1 - i2
451.46 s
[really-safe-money-gen] - in if r < 0
451.46 s
[really-safe-money-gen] + in if True
451.46 s
[really-safe-money-gen] then Nothing
451.46 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
451.46 s
[really-safe-money-gen]
451.46 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:518:10-15
451.46 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
451.46 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
451.46 s
[really-safe-money-gen] r :: Integer
451.46 s
[really-safe-money-gen] r = i1 - i2
451.46 s
[really-safe-money-gen] - in if r < 0
451.46 s
[really-safe-money-gen] + in if False
451.46 s
[really-safe-money-gen] then Nothing
451.46 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
451.46 s
[really-safe-money-gen]
451.46 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:518:10-15
451.46 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
451.46 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
451.46 s
[really-safe-money-gen] r :: Integer
451.46 s
[really-safe-money-gen] r = i1 - i2
451.46 s
[really-safe-money-gen] - in if r < 0
451.46 s
[really-safe-money-gen] + in if not (r < 0)
451.46 s
[really-safe-money-gen] then Nothing
451.46 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
451.46 s
[really-safe-money-gen]
451.46 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:518:7-66
451.46 s
[really-safe-money-gen] @@ -515,9 +515,9 @@
451.46 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
451.46 s
[really-safe-money-gen] r :: Integer
451.46 s
[really-safe-money-gen] r = i1 - i2
451.46 s
[really-safe-money-gen] - in if r < 0
451.46 s
[really-safe-money-gen] - then Nothing
451.47 s
[really-safe-money-gen] - else Just (Amount ((fromInteger :: Integer -> Word64) r))
451.47 s
[really-safe-money-gen] + in if r < 0
451.47 s
[really-safe-money-gen] + then Nothing
451.47 s
[really-safe-money-gen] + else Just (Amount ((fromInteger :: Integer -> Word64) r))
451.47 s
[really-safe-money-gen]
451.47 s
[really-safe-money-gen] -- | Multiply an amount of money by an integer scalar
451.47 s
[really-safe-money-gen] --
451.47 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:476:10-23
451.47 s
[really-safe-money-gen] @@ -473,7 +473,7 @@
451.47 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
451.47 s
[really-safe-money-gen] r :: Integer
451.47 s
[really-safe-money-gen] r = i1 + i2
451.47 s
[really-safe-money-gen] - in if r > maxBoundI
451.47 s
[really-safe-money-gen] + in if True
451.47 s
[really-safe-money-gen] then Nothing
451.47 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
451.47 s
[really-safe-money-gen]
451.47 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:476:10-23
451.47 s
[really-safe-money-gen] @@ -473,7 +473,7 @@
451.47 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
451.47 s
[really-safe-money-gen] r :: Integer
451.47 s
[really-safe-money-gen] r = i1 + i2
451.47 s
[really-safe-money-gen] - in if r > maxBoundI
451.47 s
[really-safe-money-gen] + in if False
451.47 s
[really-safe-money-gen] then Nothing
451.47 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
451.47 s
[really-safe-money-gen]
451.47 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:476:10-23
451.47 s
[really-safe-money-gen] @@ -473,7 +473,7 @@
454.47 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
454.47 s
[really-safe-money-gen] r :: Integer
454.47 s
[really-safe-money-gen] r = i1 + i2
454.47 s
[really-safe-money-gen] - in if r > maxBoundI
454.47 s
[really-safe-money-gen] + in if not (r > maxBoundI)
454.47 s
[really-safe-money-gen] then Nothing
454.47 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
454.47 s
[really-safe-money-gen]
454.47 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:476:7-66
454.47 s
[really-safe-money-gen] @@ -473,9 +473,9 @@
454.47 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
454.47 s
[really-safe-money-gen] r :: Integer
454.47 s
[really-safe-money-gen] r = i1 + i2
454.47 s
[really-safe-money-gen] - in if r > maxBoundI
454.47 s
[really-safe-money-gen] - then Nothing
454.47 s
[really-safe-money-gen] - else Just (Amount ((fromInteger :: Integer -> Word64) r))
454.47 s
[really-safe-money-gen] + in if r > maxBoundI
454.47 s
[really-safe-money-gen] + then Nothing
454.47 s
[really-safe-money-gen] + else Just (Amount ((fromInteger :: Integer -> Word64) r))
454.47 s
[really-safe-money-gen]
454.47 s
[really-safe-money-gen] -- | Add a number of amounts of money together.
454.47 s
[really-safe-money-gen] --
454.47 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:388:5-16
454.47 s
[really-safe-money-gen] @@ -385,7 +385,7 @@
454.47 s
[really-safe-money-gen] -- Nothing
454.47 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
454.48 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
454.48 s
[really-safe-money-gen] - | isInvalid r = Nothing
454.48 s
[really-safe-money-gen] + | True = Nothing
454.48 s
[really-safe-money-gen] | r < 0 = Nothing
454.48 s
[really-safe-money-gen] | otherwise =
454.48 s
[really-safe-money-gen] let resultRational :: Rational
454.48 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:388:5-16
454.48 s
[really-safe-money-gen] @@ -385,7 +385,7 @@
454.48 s
[really-safe-money-gen] -- Nothing
454.48 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
454.48 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
454.48 s
[really-safe-money-gen] - | isInvalid r = Nothing
454.48 s
[really-safe-money-gen] + | not (isInvalid r) = Nothing
454.48 s
[really-safe-money-gen] | r < 0 = Nothing
454.48 s
[really-safe-money-gen] | otherwise =
454.48 s
[really-safe-money-gen] let resultRational :: Rational
454.48 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:389:5-10
454.48 s
[really-safe-money-gen] @@ -386,7 +386,7 @@
454.48 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
454.48 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
454.48 s
[really-safe-money-gen] | isInvalid r = Nothing
454.48 s
[really-safe-money-gen] - | r < 0 = Nothing
454.48 s
[really-safe-money-gen] + | True = Nothing
454.48 s
[really-safe-money-gen] | otherwise =
454.48 s
[really-safe-money-gen] let resultRational :: Rational
454.48 s
[really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
454.48 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:389:5-10
454.48 s
[really-safe-money-gen] @@ -386,7 +386,7 @@
454.48 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
454.48 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
454.48 s
[really-safe-money-gen] | isInvalid r = Nothing
454.48 s
[really-safe-money-gen] - | r < 0 = Nothing
454.48 s
[really-safe-money-gen] + | not (r < 0) = Nothing
454.48 s
[really-safe-money-gen] | otherwise =
454.48 s
[really-safe-money-gen] let resultRational :: Rational
454.48 s
[really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
454.48 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:397:14-31
454.48 s
[really-safe-money-gen] @@ -394,7 +394,7 @@
454.48 s
[really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
454.48 s
[really-safe-money-gen] floored :: Natural
454.48 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
454.48 s
[really-safe-money-gen] - in if ceiled == floored
454.48 s
[really-safe-money-gen] + in if True
454.48 s
[really-safe-money-gen] then
454.48 s
[really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
454.48 s
[really-safe-money-gen] then Nothing
454.48 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:397:14-31
454.48 s
[really-safe-money-gen] @@ -394,7 +394,7 @@
454.48 s
[really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
454.48 s
[really-safe-money-gen] floored :: Natural
454.48 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
454.49 s
[really-safe-money-gen] - in if ceiled == floored
454.49 s
[really-safe-money-gen] + in if False
454.49 s
[really-safe-money-gen] then
454.49 s
[really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
454.49 s
[really-safe-money-gen] then Nothing
454.49 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:397:14-31
454.49 s
[really-safe-money-gen] @@ -394,7 +394,7 @@
454.49 s
[really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
454.49 s
[really-safe-money-gen] floored :: Natural
454.49 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
454.49 s
[really-safe-money-gen] - in if ceiled == floored
454.49 s
[really-safe-money-gen] + in if not (ceiled == floored)
454.49 s
[really-safe-money-gen] then
454.49 s
[really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
454.49 s
[really-safe-money-gen] then Nothing
454.49 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:399:18-83
454.49 s
[really-safe-money-gen] @@ -396,7 +396,7 @@
454.49 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
454.49 s
[really-safe-money-gen] in if ceiled == floored
454.49 s
[really-safe-money-gen] then
454.49 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
454.49 s
[really-safe-money-gen] + if True
454.49 s
[really-safe-money-gen] then Nothing
454.49 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
454.49 s
[really-safe-money-gen] else Nothing
454.49 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:399:18-83
454.49 s
[really-safe-money-gen] @@ -396,7 +396,7 @@
454.49 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
454.49 s
[really-safe-money-gen] in if ceiled == floored
454.49 s
[really-safe-money-gen] then
454.49 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
454.49 s
[really-safe-money-gen] + if False
454.49 s
[really-safe-money-gen] then Nothing
454.49 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
454.49 s
[really-safe-money-gen] else Nothing
454.49 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:399:18-83
454.49 s
[really-safe-money-gen] @@ -396,7 +396,7 @@
454.49 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
454.49 s
[really-safe-money-gen] in if ceiled == floored
454.49 s
[really-safe-money-gen] then
454.49 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
454.49 s
[really-safe-money-gen] + if not (ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64))
454.49 s
[really-safe-money-gen] then Nothing
454.49 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
454.49 s
[really-safe-money-gen] else Nothing
454.49 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:389:9-10
454.49 s
[really-safe-money-gen] @@ -386,7 +386,7 @@
454.49 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
454.49 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
454.49 s
[really-safe-money-gen] | isInvalid r = Nothing
454.49 s
[really-safe-money-gen] - | r < 0 = Nothing
454.49 s
[really-safe-money-gen] + | r < 1 = Nothing
454.49 s
[really-safe-money-gen] | otherwise =
454.49 s
[really-safe-money-gen] let resultRational :: Rational
454.49 s
[really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
454.49 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:397:11-25
454.49 s
[really-safe-money-gen] @@ -394,12 +394,12 @@
454.49 s
[really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
454.49 s
[really-safe-money-gen] floored :: Natural
454.49 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
454.49 s
[really-safe-money-gen] - in if ceiled == floored
454.49 s
[really-safe-money-gen] - then
454.49 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
454.49 s
[really-safe-money-gen] - then Nothing
454.49 s
[really-safe-money-gen] - else Just $ Amount (fromIntegral ceiled)
454.49 s
[really-safe-money-gen] - else Nothing
454.49 s
[really-safe-money-gen] + in if ceiled == floored
454.49 s
[really-safe-money-gen] + then
454.49 s
[really-safe-money-gen] + if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
454.49 s
[really-safe-money-gen] + then Nothing
454.49 s
[really-safe-money-gen] + else Just $ Amount (fromIntegral ceiled)
454.49 s
[really-safe-money-gen] + else Nothing
454.50 s
[really-safe-money-gen]
454.50 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
454.50 s
[really-safe-money-gen] --
454.50 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:399:15-57
454.50 s
[really-safe-money-gen] @@ -396,9 +396,9 @@
454.50 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
454.50 s
[really-safe-money-gen] in if ceiled == floored
454.50 s
[really-safe-money-gen] then
454.50 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
454.50 s
[really-safe-money-gen] - then Nothing
454.50 s
[really-safe-money-gen] - else Just $ Amount (fromIntegral ceiled)
454.50 s
[really-safe-money-gen] + if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
454.50 s
[really-safe-money-gen] + then Nothing
454.50 s
[really-safe-money-gen] + else Just $ Amount (fromIntegral ceiled)
454.50 s
[really-safe-money-gen] else Nothing
454.50 s
[really-safe-money-gen]
454.50 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
454.50 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:320:9-10
454.50 s
[really-safe-money-gen] @@ -317,7 +317,7 @@
454.50 s
[really-safe-money-gen] Double ->
454.50 s
[really-safe-money-gen] Maybe Amount
454.50 s
[really-safe-money-gen] fromDouble (QuantisationFactor qf) d
454.50 s
[really-safe-money-gen] - | d < 0 = Nothing
454.50 s
[really-safe-money-gen] + | d < 1 = Nothing
454.50 s
[really-safe-money-gen] | otherwise =
454.50 s
[really-safe-money-gen] let resultDouble :: Double
454.50 s
[really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
454.50 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:327:9-16
454.50 s
[really-safe-money-gen] @@ -324,7 +324,7 @@
454.50 s
[really-safe-money-gen] in go resultDouble
454.50 s
[really-safe-money-gen] where
454.50 s
[really-safe-money-gen] go resultDouble
454.50 s
[really-safe-money-gen] - | isNaN d = Nothing
454.50 s
[really-safe-money-gen] + | True = Nothing
454.50 s
[really-safe-money-gen] | isInfinite d = Nothing
454.50 s
[really-safe-money-gen] | otherwise =
454.50 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
454.50 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:327:9-16
454.50 s
[really-safe-money-gen] @@ -324,7 +324,7 @@
454.50 s
[really-safe-money-gen] in go resultDouble
454.50 s
[really-safe-money-gen] where
454.50 s
[really-safe-money-gen] go resultDouble
454.50 s
[really-safe-money-gen] - | isNaN d = Nothing
454.50 s
[really-safe-money-gen] + | not (isNaN d) = Nothing
454.50 s
[really-safe-money-gen] | isInfinite d = Nothing
454.50 s
[really-safe-money-gen] | otherwise =
454.50 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
454.50 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:328:9-21
454.50 s
[really-safe-money-gen] @@ -325,7 +325,7 @@
454.50 s
[really-safe-money-gen] where
454.50 s
[really-safe-money-gen] go resultDouble
454.50 s
[really-safe-money-gen] | isNaN d = Nothing
454.50 s
[really-safe-money-gen] - | isInfinite d = Nothing
454.50 s
[really-safe-money-gen] + | True = Nothing
454.50 s
[really-safe-money-gen] | otherwise =
454.50 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
454.50 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
454.50 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:328:9-21
454.50 s
[really-safe-money-gen] @@ -325,7 +325,7 @@
454.50 s
[really-safe-money-gen] where
454.50 s
[really-safe-money-gen] go resultDouble
454.50 s
[really-safe-money-gen] | isNaN d = Nothing
454.50 s
[really-safe-money-gen] - | isInfinite d = Nothing
454.50 s
[really-safe-money-gen] + | not (isInfinite d) = Nothing
454.50 s
[really-safe-money-gen] | otherwise =
454.50 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
454.50 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
454.50 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:320:5-10
454.50 s
[really-safe-money-gen] @@ -317,7 +317,7 @@
454.50 s
[really-safe-money-gen] Double ->
456.87 s
[really-safe-money-gen] Maybe Amount
456.87 s
[really-safe-money-gen] fromDouble (QuantisationFactor qf) d
456.87 s
[really-safe-money-gen] - | d < 0 = Nothing
456.98 s
[really-safe-money-gen] + | True = Nothing
456.98 s
[really-safe-money-gen] | otherwise =
456.98 s
[really-safe-money-gen] let resultDouble :: Double
456.98 s
[really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
456.98 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:320:5-10
456.98 s
[really-safe-money-gen] @@ -317,7 +317,7 @@
456.98 s
[really-safe-money-gen] Double ->
456.98 s
[really-safe-money-gen] Maybe Amount
456.98 s
[really-safe-money-gen] fromDouble (QuantisationFactor qf) d
456.98 s
[really-safe-money-gen] - | d < 0 = Nothing
456.98 s
[really-safe-money-gen] + | not (d < 0) = Nothing
456.98 s
[really-safe-money-gen] | otherwise =
456.98 s
[really-safe-money-gen] let resultDouble :: Double
456.98 s
[really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
456.98 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40
456.98 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
456.98 s
[really-safe-money-gen] | otherwise =
456.98 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
456.98 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
456.98 s
[really-safe-money-gen] - if exponent resultDouble > 65
456.98 s
[really-safe-money-gen] + if exponent resultDouble > 0
456.98 s
[really-safe-money-gen] then Nothing
456.98 s
[really-safe-money-gen] else
456.98 s
[really-safe-money-gen] let ceiled :: Natural
456.98 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40
456.98 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
456.98 s
[really-safe-money-gen] | otherwise =
456.98 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
456.98 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
456.98 s
[really-safe-money-gen] - if exponent resultDouble > 65
456.98 s
[really-safe-money-gen] + if exponent resultDouble > 1
456.98 s
[really-safe-money-gen] then Nothing
456.98 s
[really-safe-money-gen] else
456.98 s
[really-safe-money-gen] let ceiled :: Natural
456.98 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40
456.98 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
456.99 s
[really-safe-money-gen] | otherwise =
456.99 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
456.99 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
456.99 s
[really-safe-money-gen] - if exponent resultDouble > 65
456.99 s
[really-safe-money-gen] + if exponent resultDouble > -65
456.99 s
[really-safe-money-gen] then Nothing
456.99 s
[really-safe-money-gen] else
456.99 s
[really-safe-money-gen] let ceiled :: Natural
456.99 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:332:14-40
456.99 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
456.99 s
[really-safe-money-gen] | otherwise =
456.99 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
456.99 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
456.99 s
[really-safe-money-gen] - if exponent resultDouble > 65
456.99 s
[really-safe-money-gen] + if True
456.99 s
[really-safe-money-gen] then Nothing
456.99 s
[really-safe-money-gen] else
456.99 s
[really-safe-money-gen] let ceiled :: Natural
456.99 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:332:14-40
456.99 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
456.99 s
[really-safe-money-gen] | otherwise =
456.99 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
456.99 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
456.99 s
[really-safe-money-gen] - if exponent resultDouble > 65
456.99 s
[really-safe-money-gen] + if False
456.99 s
[really-safe-money-gen] then Nothing
456.99 s
[really-safe-money-gen] else
456.99 s
[really-safe-money-gen] let ceiled :: Natural
456.99 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:332:14-40
456.99 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
456.99 s
[really-safe-money-gen] | otherwise =
456.99 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
456.99 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
456.99 s
[really-safe-money-gen] - if exponent resultDouble > 65
456.99 s
[really-safe-money-gen] + if not (exponent resultDouble > 65)
456.99 s
[really-safe-money-gen] then Nothing
456.99 s
[really-safe-money-gen] else
456.99 s
[really-safe-money-gen] let ceiled :: Natural
456.99 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:339:22-39
456.99 s
[really-safe-money-gen] @@ -336,7 +336,7 @@
456.99 s
[really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
456.99 s
[really-safe-money-gen] floored :: Natural
456.99 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
456.99 s
[really-safe-money-gen] - in if ceiled == floored
456.99 s
[really-safe-money-gen] + in if False
456.99 s
[really-safe-money-gen] then
456.99 s
[really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
456.99 s
[really-safe-money-gen] then Nothing
456.99 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:339:22-39
456.99 s
[really-safe-money-gen] @@ -336,7 +336,7 @@
456.99 s
[really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
456.99 s
[really-safe-money-gen] floored :: Natural
456.99 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
456.99 s
[really-safe-money-gen] - in if ceiled == floored
456.99 s
[really-safe-money-gen] + in if not (ceiled == floored)
456.99 s
[really-safe-money-gen] then
456.99 s
[really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
456.99 s
[really-safe-money-gen] then Nothing
456.99 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:339:22-39
456.99 s
[really-safe-money-gen] @@ -336,7 +336,7 @@
456.99 s
[really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
456.99 s
[really-safe-money-gen] floored :: Natural
456.99 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
456.99 s
[really-safe-money-gen] - in if ceiled == floored
456.99 s
[really-safe-money-gen] + in if True
456.99 s
[really-safe-money-gen] then
456.99 s
[really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
456.99 s
[really-safe-money-gen] then Nothing
456.99 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:341:26-91
456.99 s
[really-safe-money-gen] @@ -338,7 +338,7 @@
456.99 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
456.99 s
[really-safe-money-gen] in if ceiled == floored
456.99 s
[really-safe-money-gen] then
456.99 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
457.00 s
[really-safe-money-gen] + if True
457.00 s
[really-safe-money-gen] then Nothing
457.00 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
457.00 s
[really-safe-money-gen] else Nothing
457.00 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:341:26-91
457.00 s
[really-safe-money-gen] @@ -338,7 +338,7 @@
457.00 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
457.00 s
[really-safe-money-gen] in if ceiled == floored
457.00 s
[really-safe-money-gen] then
457.00 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
457.00 s
[really-safe-money-gen] + if False
457.00 s
[really-safe-money-gen] then Nothing
457.00 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
457.00 s
[really-safe-money-gen] else Nothing
457.00 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:341:26-91
457.00 s
[really-safe-money-gen] @@ -338,7 +338,7 @@
457.00 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
457.00 s
[really-safe-money-gen] in if ceiled == floored
457.00 s
[really-safe-money-gen] then
457.00 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
457.00 s
[really-safe-money-gen] + if not (ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64))
457.00 s
[really-safe-money-gen] then Nothing
457.00 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
457.00 s
[really-safe-money-gen] else Nothing
457.00 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:341:23-65
457.00 s
[really-safe-money-gen] @@ -338,9 +338,9 @@
457.00 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
457.00 s
[really-safe-money-gen] in if ceiled == floored
457.00 s
[really-safe-money-gen] then
457.00 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
457.00 s
[really-safe-money-gen] - then Nothing
457.00 s
[really-safe-money-gen] - else Just $ Amount (fromIntegral ceiled)
457.00 s
[really-safe-money-gen] + if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
457.00 s
[really-safe-money-gen] + then Nothing
457.00 s
[really-safe-money-gen] + else Just $ Amount (fromIntegral ceiled)
457.00 s
[really-safe-money-gen] else Nothing
457.00 s
[really-safe-money-gen]
457.00 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Double'.
457.00 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:339:19-33
457.00 s
[really-safe-money-gen] @@ -336,12 +336,12 @@
457.00 s
[really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
457.00 s
[really-safe-money-gen] floored :: Natural
457.00 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
457.00 s
[really-safe-money-gen] - in if ceiled == floored
457.00 s
[really-safe-money-gen] - then
457.00 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
457.00 s
[really-safe-money-gen] - then Nothing
457.00 s
[really-safe-money-gen] - else Just $ Amount (fromIntegral ceiled)
457.00 s
[really-safe-money-gen] - else Nothing
457.00 s
[really-safe-money-gen] + in if ceiled == floored
457.00 s
[really-safe-money-gen] + then
457.00 s
[really-safe-money-gen] + if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
457.00 s
[really-safe-money-gen] + then Nothing
457.00 s
[really-safe-money-gen] + else Just $ Amount (fromIntegral ceiled)
457.00 s
[really-safe-money-gen] + else Nothing
457.00 s
[really-safe-money-gen]
457.00 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Double'.
457.00 s
[really-safe-money-gen] --
457.00 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:332:11-33
457.00 s
[really-safe-money-gen] @@ -329,19 +329,19 @@
457.00 s
[really-safe-money-gen] | otherwise =
457.00 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
457.00 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
457.00 s
[really-safe-money-gen] - if exponent resultDouble > 65
457.00 s
[really-safe-money-gen] - then Nothing
457.00 s
[really-safe-money-gen] - else
457.00 s
[really-safe-money-gen] - let ceiled :: Natural
457.00 s
[really-safe-money-gen] - ceiled = (ceiling :: Double -> Natural) resultDouble
457.00 s
[really-safe-money-gen] - floored :: Natural
457.00 s
[really-safe-money-gen] - floored = (floor :: Double -> Natural) resultDouble
457.00 s
[really-safe-money-gen] - in if ceiled == floored
457.00 s
[really-safe-money-gen] - then
457.00 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
458.71 s
[really-safe-money-gen] - then Nothing
458.71 s
[really-safe-money-gen] - else Just $ Amount (fromIntegral ceiled)
458.71 s
[really-safe-money-gen] - else Nothing
458.71 s
[really-safe-money-gen] + if exponent resultDouble > 65
458.71 s
[really-safe-money-gen] + then Nothing
458.71 s
[really-safe-money-gen] + else
458.71 s
[really-safe-money-gen] + let ceiled :: Natural
458.71 s
[really-safe-money-gen] + ceiled = (ceiling :: Double -> Natural) resultDouble
458.71 s
[really-safe-money-gen] + floored :: Natural
458.71 s
[really-safe-money-gen] + floored = (floor :: Double -> Natural) resultDouble
458.71 s
[really-safe-money-gen] + in if ceiled == floored
458.71 s
[really-safe-money-gen] + then
458.71 s
[really-safe-money-gen] + if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
458.71 s
[really-safe-money-gen] + then Nothing
458.71 s
[really-safe-money-gen] + else Just $ Amount (fromIntegral ceiled)
458.71 s
[really-safe-money-gen] + else Nothing
458.71 s
[really-safe-money-gen]
458.71 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Double'.
458.71 s
[really-safe-money-gen] --
458.71 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:290:79-80
458.71 s
[really-safe-money-gen] @@ -287,7 +287,7 @@
458.71 s
[really-safe-money-gen] -- >>> toRatio (QuantisationFactor 100) (Amount 1)
458.71 s
[really-safe-money-gen] -- 1 % 100
458.71 s
[really-safe-money-gen] toRatio :: QuantisationFactor -> Amount -> Ratio Natural
458.71 s
[really-safe-money-gen] -toRatio (QuantisationFactor 0) a = fromIntegral (toMinimalQuantisations a) :% 0
458.71 s
[really-safe-money-gen] +toRatio (QuantisationFactor 0) a = fromIntegral (toMinimalQuantisations a) :% 1
458.71 s
[really-safe-money-gen] toRatio (QuantisationFactor quantisationFactor) a =
458.71 s
[really-safe-money-gen] (fromIntegral :: Word64 -> Natural) (toMinimalQuantisations a)
458.71 s
[really-safe-money-gen] % (fromIntegral :: Word32 -> Natural) quantisationFactor
458.71 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:494:96-97
458.71 s
[really-safe-money-gen] @@ -491,7 +491,7 @@
458.71 s
[really-safe-money-gen] let maxBoundI :: Integer
458.71 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
458.71 s
[really-safe-money-gen] r :: Integer
458.71 s
[really-safe-money-gen] - r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
458.71 s
[really-safe-money-gen] + r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 1 l
458.71 s
[really-safe-money-gen] in if r > maxBoundI
458.71 s
[really-safe-money-gen] then Nothing
458.71 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
458.71 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:495:10-23
458.71 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
458.71 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
458.71 s
[really-safe-money-gen] r :: Integer
458.71 s
[really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
458.71 s
[really-safe-money-gen] - in if r > maxBoundI
458.71 s
[really-safe-money-gen] + in if False
458.71 s
[really-safe-money-gen] then Nothing
458.72 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
458.72 s
[really-safe-money-gen]
458.72 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:495:10-23
458.72 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
458.72 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
458.72 s
[really-safe-money-gen] r :: Integer
458.72 s
[really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
458.72 s
[really-safe-money-gen] - in if r > maxBoundI
458.72 s
[really-safe-money-gen] + in if not (r > maxBoundI)
458.72 s
[really-safe-money-gen] then Nothing
458.72 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
458.72 s
[really-safe-money-gen]
458.72 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:495:7-66
458.72 s
[really-safe-money-gen] @@ -492,9 +492,9 @@
458.72 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
458.72 s
[really-safe-money-gen] r :: Integer
458.72 s
[really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
458.72 s
[really-safe-money-gen] - in if r > maxBoundI
458.72 s
[really-safe-money-gen] - then Nothing
458.72 s
[really-safe-money-gen] - else Just (Amount ((fromInteger :: Integer -> Word64) r))
458.72 s
[really-safe-money-gen] + in if r > maxBoundI
458.72 s
[really-safe-money-gen] + then Nothing
458.72 s
[really-safe-money-gen] + else Just (Amount ((fromInteger :: Integer -> Word64) r))
458.72 s
[really-safe-money-gen]
458.72 s
[really-safe-money-gen] -- | Add two amounts of money.
458.72 s
[really-safe-money-gen] --
458.72 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:250:15-16
458.72 s
[really-safe-money-gen] @@ -247,7 +247,7 @@
458.72 s
[really-safe-money-gen] -- >>> zero
458.72 s
[really-safe-money-gen] -- Amount 0
458.72 s
[really-safe-money-gen] zero :: Amount
458.72 s
[really-safe-money-gen] -zero = Amount 0
458.72 s
[really-safe-money-gen] +zero = Amount 1
458.72 s
[really-safe-money-gen]
458.72 s
[really-safe-money-gen] -- | Turn an amount into a number of minimal quantisations.
458.72 s
[really-safe-money-gen] --
458.72 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:661:30-31
458.72 s
[really-safe-money-gen] @@ -658,7 +658,7 @@
458.72 s
[really-safe-money-gen] -- | The amount and the real rate that was used, considering the 'Rounding'
458.72 s
[really-safe-money-gen] (Maybe Amount, Ratio Natural)
458.72 s
[really-safe-money-gen] fraction _ (Amount 0) f = (Just zero, f)
458.72 s
[really-safe-money-gen] -fraction _ _ 0 = (Just zero, 0)
458.72 s
[really-safe-money-gen] +fraction _ _ 0 = (Just zero, 1)
458.72 s
[really-safe-money-gen] fraction r (Amount a) f =
458.72 s
[really-safe-money-gen] let amountAsRatio :: Ratio Natural
458.72 s
[really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
458.72 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:681:12-37
458.72 s
[really-safe-money-gen] @@ -678,7 +678,7 @@
458.72 s
[really-safe-money-gen] maxBoundN :: Natural
458.72 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
458.72 s
[really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
458.72 s
[really-safe-money-gen] - in ( if roundedResult > maxBoundN
458.72 s
[really-safe-money-gen] + in ( if True
458.72 s
[really-safe-money-gen] then Nothing
458.72 s
[really-safe-money-gen] else Just result,
458.72 s
[really-safe-money-gen] actualRate
458.72 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:681:12-37
458.72 s
[really-safe-money-gen] @@ -678,7 +678,7 @@
458.72 s
[really-safe-money-gen] maxBoundN :: Natural
458.72 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
458.72 s
[really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
458.72 s
[really-safe-money-gen] - in ( if roundedResult > maxBoundN
458.72 s
[really-safe-money-gen] + in ( if False
458.72 s
[really-safe-money-gen] then Nothing
458.72 s
[really-safe-money-gen] else Just result,
458.72 s
[really-safe-money-gen] actualRate
458.72 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:681:12-37
458.72 s
[really-safe-money-gen] @@ -678,7 +678,7 @@
458.72 s
[really-safe-money-gen] maxBoundN :: Natural
458.72 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
458.72 s
[really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
458.72 s
[really-safe-money-gen] - in ( if roundedResult > maxBoundN
458.72 s
[really-safe-money-gen] + in ( if not (roundedResult > maxBoundN)
458.72 s
[really-safe-money-gen] then Nothing
458.72 s
[really-safe-money-gen] else Just result,
458.72 s
[really-safe-money-gen] actualRate
458.72 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:681:9-27
458.72 s
[really-safe-money-gen] @@ -678,9 +678,9 @@
458.72 s
[really-safe-money-gen] maxBoundN :: Natural
458.72 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
458.72 s
[really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
458.72 s
[really-safe-money-gen] - in ( if roundedResult > maxBoundN
458.72 s
[really-safe-money-gen] - then Nothing
458.72 s
[really-safe-money-gen] - else Just result,
458.72 s
[really-safe-money-gen] + in ( if roundedResult > maxBoundN
458.72 s
[really-safe-money-gen] + then Nothing
458.72 s
[really-safe-money-gen] + else Just result,
458.72 s
[really-safe-money-gen] actualRate
458.72 s
[really-safe-money-gen] )
458.72 s
[really-safe-money-gen]
458.72 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:806:79-92
458.72 s
[really-safe-money-gen] @@ -803,4 +803,4 @@
458.72 s
[really-safe-money-gen]
458.72 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
458.72 s
[really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
458.72 s
[really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
458.72 s
[really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ True
458.72 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:806:79-92
458.72 s
[really-safe-money-gen] @@ -803,4 +803,4 @@
458.72 s
[really-safe-money-gen]
458.72 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
458.72 s
[really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
458.72 s
[really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
458.72 s
[really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ False
458.72 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:806:79-92
458.72 s
[really-safe-money-gen] @@ -803,4 +803,4 @@
458.72 s
[really-safe-money-gen]
458.72 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
458.72 s
[really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
458.72 s
[really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
458.72 s
[really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ not (amount > zero)
458.72 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:607:15-22
458.72 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
458.72 s
[really-safe-money-gen] case ad of
458.72 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
458.72 s
[really-safe-money-gen] declare "The larger chunks are larger" $
458.72 s
[really-safe-money-gen] - a1 > a2
458.73 s
[really-safe-money-gen] + True
458.73 s
[really-safe-money-gen] _ -> valid
458.73 s
[really-safe-money-gen] ]
458.73 s
[really-safe-money-gen]
458.73 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:607:15-22
458.73 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
458.73 s
[really-safe-money-gen] case ad of
458.73 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
458.73 s
[really-safe-money-gen] declare "The larger chunks are larger" $
458.73 s
[really-safe-money-gen] - a1 > a2
458.73 s
[really-safe-money-gen] + False
458.73 s
[really-safe-money-gen] _ -> valid
458.73 s
[really-safe-money-gen] ]
458.73 s
[really-safe-money-gen]
458.73 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:607:15-22
458.73 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
458.73 s
[really-safe-money-gen] case ad of
458.73 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
458.73 s
[really-safe-money-gen] declare "The larger chunks are larger" $
458.73 s
[really-safe-money-gen] - a1 > a2
458.73 s
[really-safe-money-gen] + not (a1 > a2)
458.73 s
[really-safe-money-gen] _ -> valid
458.73 s
[really-safe-money-gen] ]
458.73 s
[really-safe-money-gen]
458.73 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount.hs:603:7-8
458.73 s
[really-safe-money-gen] @@ -600,13 +600,7 @@
458.73 s
[really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
458.73 s
[really-safe-money-gen] validate ad =
458.73 s
[really-safe-money-gen] mconcat
458.73 s
[really-safe-money-gen] - [ genericValidate ad,
458.73 s
[really-safe-money-gen] - case ad of
458.73 s
[really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
458.73 s
[really-safe-money-gen] - declare "The larger chunks are larger" $
458.73 s
[really-safe-money-gen] - a1 > a2
458.73 s
[really-safe-money-gen] - _ -> valid
458.73 s
[really-safe-money-gen] - ]
458.73 s
[really-safe-money-gen] + []
458.73 s
[really-safe-money-gen]
458.73 s
[really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
458.73 s
[really-safe-money-gen]
458.73 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount.hs:603:7-8
458.73 s
[really-safe-money-gen] @@ -600,13 +600,13 @@
458.73 s
[really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
458.73 s
[really-safe-money-gen] validate ad =
458.73 s
[really-safe-money-gen] mconcat
458.73 s
[really-safe-money-gen] - [ genericValidate ad,
458.73 s
[really-safe-money-gen] - case ad of
458.73 s
[really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
458.73 s
[really-safe-money-gen] - declare "The larger chunks are larger" $
458.73 s
[really-safe-money-gen] - a1 > a2
458.73 s
[really-safe-money-gen] - _ -> valid
458.73 s
[really-safe-money-gen] - ]
461.71 s
[really-safe-money-gen] + [ genericValidate ad,
461.71 s
[really-safe-money-gen] + case ad of
461.71 s
[really-safe-money-gen] + DistributedIntoUnequalChunks _ a1 _ a2 ->
461.71 s
[really-safe-money-gen] + declare "The larger chunks are larger" $
461.71 s
[really-safe-money-gen] + a1 > a2
461.71 s
[really-safe-money-gen] + _ -> valid
461.71 s
[really-safe-money-gen] + ]
461.71 s
[really-safe-money-gen]
461.71 s
[really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
461.71 s
[really-safe-money-gen]
461.71 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:87:27-28
461.71 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
461.72 s
[really-safe-money-gen] fromDecimalLiteral dl = do
461.72 s
[really-safe-money-gen] irat <-
461.72 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
461.72 s
[really-safe-money-gen] - in if numerator r == 0
461.72 s
[really-safe-money-gen] + in if numerator r == 1
461.72 s
[really-safe-money-gen] then Nothing
461.72 s
[really-safe-money-gen] else pure r
461.72 s
[really-safe-money-gen]
461.72 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
461.72 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
461.72 s
[really-safe-money-gen] fromDecimalLiteral dl = do
461.72 s
[really-safe-money-gen] irat <-
461.72 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
461.72 s
[really-safe-money-gen] - in if numerator r == 0
461.72 s
[really-safe-money-gen] + in if True
461.72 s
[really-safe-money-gen] then Nothing
461.72 s
[really-safe-money-gen] else pure r
461.72 s
[really-safe-money-gen]
461.72 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
461.72 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
461.72 s
[really-safe-money-gen] fromDecimalLiteral dl = do
461.72 s
[really-safe-money-gen] irat <-
461.72 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
461.72 s
[really-safe-money-gen] - in if numerator r == 0
461.72 s
[really-safe-money-gen] + in if False
461.72 s
[really-safe-money-gen] then Nothing
461.72 s
[really-safe-money-gen] else pure r
461.72 s
[really-safe-money-gen]
461.72 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
461.72 s
[really-safe-money-gen] @@ -89,7 +89,7 @@
461.72 s
[really-safe-money-gen] else pure r
461.72 s
[really-safe-money-gen]
461.72 s
[really-safe-money-gen] rat <-
461.72 s
[really-safe-money-gen] - let r = 1 / irat
461.72 s
[really-safe-money-gen] + let r = 0 / irat
461.72 s
[really-safe-money-gen] in if r < 0
461.72 s
[really-safe-money-gen] then Nothing
461.72 s
[really-safe-money-gen] else Just r
461.72 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/QuantisationFactor.hs:87:9-22
461.72 s
[really-safe-money-gen] @@ -84,9 +84,9 @@
461.72 s
[really-safe-money-gen] fromDecimalLiteral dl = do
461.72 s
[really-safe-money-gen] irat <-
461.72 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
461.72 s
[really-safe-money-gen] - in if numerator r == 0
461.72 s
[really-safe-money-gen] - then Nothing
461.72 s
[really-safe-money-gen] - else pure r
461.72 s
[really-safe-money-gen] + in if numerator r == 0
461.72 s
[really-safe-money-gen] + then Nothing
461.72 s
[really-safe-money-gen] + else pure r
461.72 s
[really-safe-money-gen]
461.72 s
[really-safe-money-gen] rat <-
461.72 s
[really-safe-money-gen] let r = 1 / irat
461.72 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:87:12-28
461.72 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
461.72 s
[really-safe-money-gen] fromDecimalLiteral dl = do
461.72 s
[really-safe-money-gen] irat <-
461.72 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
461.72 s
[really-safe-money-gen] - in if numerator r == 0
461.72 s
[really-safe-money-gen] + in if not (numerator r == 0)
461.72 s
[really-safe-money-gen] then Nothing
461.72 s
[really-safe-money-gen] else pure r
461.72 s
[really-safe-money-gen]
461.72 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:93:16-17
461.72 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
461.72 s
[really-safe-money-gen]
461.72 s
[really-safe-money-gen] rat <-
461.73 s
[really-safe-money-gen] let r = 1 / irat
461.73 s
[really-safe-money-gen] - in if r < 0
461.73 s
[really-safe-money-gen] + in if r < 1
461.73 s
[really-safe-money-gen] then Nothing
461.73 s
[really-safe-money-gen] else Just r
461.73 s
[really-safe-money-gen]
461.73 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
461.73 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
461.73 s
[really-safe-money-gen]
461.73 s
[really-safe-money-gen] rat <-
461.73 s
[really-safe-money-gen] let r = 1 / irat
461.73 s
[really-safe-money-gen] - in if r < 0
461.73 s
[really-safe-money-gen] + in if True
461.73 s
[really-safe-money-gen] then Nothing
461.73 s
[really-safe-money-gen] else Just r
461.73 s
[really-safe-money-gen]
461.73 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:93:12-17
461.73 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
461.73 s
[really-safe-money-gen]
461.73 s
[really-safe-money-gen] rat <-
461.73 s
[really-safe-money-gen] let r = 1 / irat
461.73 s
[really-safe-money-gen] - in if r < 0
461.73 s
[really-safe-money-gen] + in if not (r < 0)
461.73 s
[really-safe-money-gen] then Nothing
461.73 s
[really-safe-money-gen] else Just r
461.73 s
[really-safe-money-gen]
461.73 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
461.73 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
461.73 s
[really-safe-money-gen]
461.73 s
[really-safe-money-gen] rat <-
461.73 s
[really-safe-money-gen] let r = 1 / irat
461.73 s
[really-safe-money-gen] - in if r < 0
461.73 s
[really-safe-money-gen] + in if False
461.73 s
[really-safe-money-gen] then Nothing
461.73 s
[really-safe-money-gen] else Just r
461.73 s
[really-safe-money-gen]
461.73 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/QuantisationFactor.hs:93:9-22
461.73 s
[really-safe-money-gen] @@ -90,9 +90,9 @@
461.73 s
[really-safe-money-gen]
461.73 s
[really-safe-money-gen] rat <-
461.73 s
[really-safe-money-gen] let r = 1 / irat
461.73 s
[really-safe-money-gen] - in if r < 0
461.73 s
[really-safe-money-gen] - then Nothing
461.73 s
[really-safe-money-gen] - else Just r
461.73 s
[really-safe-money-gen] + in if r < 0
461.73 s
[really-safe-money-gen] + then Nothing
461.73 s
[really-safe-money-gen] + else Just r
461.73 s
[really-safe-money-gen]
461.73 s
[really-safe-money-gen] fac <-
461.73 s
[really-safe-money-gen] if denominator rat == 1
461.73 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
461.73 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
461.73 s
[really-safe-money-gen] else Just r
461.73 s
[really-safe-money-gen]
461.73 s
[really-safe-money-gen] fac <-
461.73 s
[really-safe-money-gen] - if denominator rat == 1
461.73 s
[really-safe-money-gen] + if denominator rat == 0
461.73 s
[really-safe-money-gen] then Just (numerator rat)
461.73 s
[really-safe-money-gen] else Nothing
461.73 s
[really-safe-money-gen]
461.73 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
461.73 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
461.73 s
[really-safe-money-gen] else Just r
461.73 s
[really-safe-money-gen]
461.73 s
[really-safe-money-gen] fac <-
461.73 s
[really-safe-money-gen] - if denominator rat == 1
461.73 s
[really-safe-money-gen] + if denominator rat == -1
461.73 s
[really-safe-money-gen] then Just (numerator rat)
461.73 s
[really-safe-money-gen] else Nothing
461.73 s
[really-safe-money-gen]
461.73 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
461.73 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
461.73 s
[really-safe-money-gen] else Just r
461.73 s
[really-safe-money-gen]
461.73 s
[really-safe-money-gen] fac <-
461.73 s
[really-safe-money-gen] - if denominator rat == 1
461.73 s
[really-safe-money-gen] + if False
461.73 s
[really-safe-money-gen] then Just (numerator rat)
461.73 s
[really-safe-money-gen] else Nothing
461.73 s
[really-safe-money-gen]
461.73 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/QuantisationFactor.hs:98:5-19
461.73 s
[really-safe-money-gen] @@ -95,9 +95,9 @@
461.73 s
[really-safe-money-gen] else Just r
461.73 s
[really-safe-money-gen]
461.73 s
[really-safe-money-gen] fac <-
461.73 s
[really-safe-money-gen] - if denominator rat == 1
461.73 s
[really-safe-money-gen] - then Just (numerator rat)
461.73 s
[really-safe-money-gen] - else Nothing
461.73 s
[really-safe-money-gen] + if denominator rat == 1
461.73 s
[really-safe-money-gen] + then Just (numerator rat)
461.73 s
[really-safe-money-gen] + else Nothing
461.73 s
[really-safe-money-gen]
461.73 s
[really-safe-money-gen] if fac <= fromIntegral (maxBound :: Word32)
461.73 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
461.73 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:98:8-28
461.73 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
461.74 s
[really-safe-money-gen] else Just r
461.74 s
[really-safe-money-gen]
461.74 s
[really-safe-money-gen] fac <-
461.74 s
[really-safe-money-gen] - if denominator rat == 1
461.74 s
[really-safe-money-gen] + if not (denominator rat == 1)
461.74 s
[really-safe-money-gen] then Just (numerator rat)
461.74 s
[really-safe-money-gen] else Nothing
461.74 s
[really-safe-money-gen]
461.74 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
461.74 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
461.74 s
[really-safe-money-gen] then Just (numerator rat)
461.74 s
[really-safe-money-gen] else Nothing
461.74 s
[really-safe-money-gen]
461.74 s
[really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
461.74 s
[really-safe-money-gen] + if True
461.74 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
461.74 s
[really-safe-money-gen] else Nothing
461.74 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
461.74 s
[really-safe-money-gen] @@ -89,7 +89,7 @@
461.74 s
[really-safe-money-gen] else pure r
461.74 s
[really-safe-money-gen]
461.74 s
[really-safe-money-gen] rat <-
461.74 s
[really-safe-money-gen] - let r = 1 / irat
461.74 s
[really-safe-money-gen] + let r = -1 / irat
461.74 s
[really-safe-money-gen] in if r < 0
461.74 s
[really-safe-money-gen] then Nothing
461.74 s
[really-safe-money-gen] else Just r
461.74 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
461.74 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
461.74 s
[really-safe-money-gen] then Just (numerator rat)
461.74 s
[really-safe-money-gen] else Nothing
461.74 s
[really-safe-money-gen]
461.74 s
[really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
461.74 s
[really-safe-money-gen] + if False
461.74 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
461.74 s
[really-safe-money-gen] else Nothing
461.74 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:102:6-46
461.74 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
461.74 s
[really-safe-money-gen] then Just (numerator rat)
461.74 s
[really-safe-money-gen] else Nothing
461.74 s
[really-safe-money-gen]
461.74 s
[really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
461.74 s
[really-safe-money-gen] + if not (fac <= fromIntegral (maxBound :: Word32))
461.74 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
461.74 s
[really-safe-money-gen] else Nothing
461.74 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:495:10-23
461.74 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
461.74 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
461.74 s
[really-safe-money-gen] r :: Integer
461.74 s
[really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
461.74 s
[really-safe-money-gen] - in if r > maxBoundI
461.74 s
[really-safe-money-gen] + in if True
461.74 s
[really-safe-money-gen] then Nothing
461.74 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
461.74 s
[really-safe-money-gen]
461.74 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
461.74 s
[really-safe-money-gen] @@ -64,7 +64,7 @@
461.74 s
[really-safe-money-gen] -- Just (DecimalLiteral Nothing 1 0)
461.74 s
[really-safe-money-gen] toDecimalLiteral :: QuantisationFactor -> Maybe DecimalLiteral
461.74 s
[really-safe-money-gen] toDecimalLiteral (QuantisationFactor qfw) =
461.74 s
[really-safe-money-gen] - DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (1 % fromIntegral qfw)
461.74 s
[really-safe-money-gen] + DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (-1 % fromIntegral qfw)
461.74 s
[really-safe-money-gen]
461.74 s
[really-safe-money-gen] -- | Parse a 'QuantisationFactor' from a 'DecimalLiteral' that represents the smallest unit
461.74 s
[really-safe-money-gen] -- TODO explain that it's the inverse.
461.74 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:40:62-63
461.74 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
461.74 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
461.74 s
[really-safe-money-gen] mconcat
461.74 s
[really-safe-money-gen] [ genericValidate qf,
461.74 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
461.74 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ w /= 1
461.74 s
[really-safe-money-gen] ]
461.74 s
[really-safe-money-gen]
461.74 s
[really-safe-money-gen] instance NFData QuantisationFactor
461.74 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
461.74 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
461.74 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
461.74 s
[really-safe-money-gen] mconcat
461.74 s
[really-safe-money-gen] [ genericValidate qf,
461.74 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
461.74 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ True
461.74 s
[really-safe-money-gen] ]
461.74 s
[really-safe-money-gen]
461.74 s
[really-safe-money-gen] instance NFData QuantisationFactor
461.74 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
461.74 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
461.74 s
[really-safe-money-gen] else Just r
461.74 s
[really-safe-money-gen]
461.74 s
[really-safe-money-gen] fac <-
461.74 s
[really-safe-money-gen] - if denominator rat == 1
461.74 s
[really-safe-money-gen] + if True
461.74 s
[really-safe-money-gen] then Just (numerator rat)
461.74 s
[really-safe-money-gen] else Nothing
461.74 s
[really-safe-money-gen]
461.74 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:40:57-63
461.74 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
461.74 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
461.74 s
[really-safe-money-gen] mconcat
461.75 s
[really-safe-money-gen] [ genericValidate qf,
461.75 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
461.75 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ not (w /= 0)
461.75 s
[really-safe-money-gen] ]
461.75 s
[really-safe-money-gen]
461.75 s
[really-safe-money-gen] instance NFData QuantisationFactor
461.75 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
461.75 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
461.75 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
461.75 s
[really-safe-money-gen] mconcat
461.75 s
[really-safe-money-gen] [ genericValidate qf,
461.75 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
461.75 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ False
461.75 s
[really-safe-money-gen] ]
461.75 s
[really-safe-money-gen]
461.75 s
[really-safe-money-gen] instance NFData QuantisationFactor
461.75 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
461.75 s
[really-safe-money-gen] @@ -64,7 +64,7 @@
461.75 s
[really-safe-money-gen] -- Just (DecimalLiteral Nothing 1 0)
463.60 s
[really-safe-money-gen] toDecimalLiteral :: QuantisationFactor -> Maybe DecimalLiteral
463.69 s
[really-safe-money-gen] toDecimalLiteral (QuantisationFactor qfw) =
463.69 s
[really-safe-money-gen] - DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (1 % fromIntegral qfw)
463.69 s
[really-safe-money-gen] + DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (0 % fromIntegral qfw)
463.69 s
[really-safe-money-gen]
463.69 s
[really-safe-money-gen] -- | Parse a 'QuantisationFactor' from a 'DecimalLiteral' that represents the smallest unit
463.69 s
[really-safe-money-gen] -- TODO explain that it's the inverse.
463.69 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
463.69 s
[really-safe-money-gen] @@ -36,9 +36,7 @@
463.69 s
[really-safe-money-gen] instance Validity QuantisationFactor where
463.69 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
463.69 s
[really-safe-money-gen] mconcat
463.69 s
[really-safe-money-gen] - [ genericValidate qf,
463.69 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
463.69 s
[really-safe-money-gen] - ]
463.69 s
[really-safe-money-gen] + []
463.69 s
[really-safe-money-gen]
463.69 s
[really-safe-money-gen] instance NFData QuantisationFactor
463.69 s
[really-safe-money-gen]
463.69 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:451:14-23
463.69 s
[really-safe-money-gen] @@ -448,7 +448,7 @@
463.69 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
463.69 s
[really-safe-money-gen] DistributedZero -> DistributedZero
463.69 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
463.69 s
[really-safe-money-gen] - if a >= zero
463.69 s
[really-safe-money-gen] + if False
463.69 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
463.69 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
463.69 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
463.69 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:421:32-33
463.69 s
[really-safe-money-gen] @@ -418,7 +418,7 @@
463.69 s
[really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
463.69 s
[really-safe-money-gen] multiply factor account =
463.69 s
[really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
463.69 s
[really-safe-money-gen] - f = case (compare factor 0, compare account zero) of
463.69 s
[really-safe-money-gen] + f = case (compare factor 1, compare account zero) of
463.69 s
[really-safe-money-gen] (EQ, _) -> const zero
463.69 s
[really-safe-money-gen] (_, EQ) -> const zero
463.69 s
[really-safe-money-gen] (GT, GT) -> Positive
463.69 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:455:14-23
463.69 s
[really-safe-money-gen] @@ -452,7 +452,7 @@
463.69 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
463.69 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
463.69 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
463.69 s
[really-safe-money-gen] - if a >= zero
463.69 s
[really-safe-money-gen] + if False
463.69 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
463.70 s
[really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
463.70 s
[really-safe-money-gen]
463.70 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:495:12-18
463.70 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
463.70 s
[really-safe-money-gen] fraction rounding account f =
463.70 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
463.70 s
[really-safe-money-gen] ro =
463.70 s
[really-safe-money-gen] - if f >= 0
463.70 s
[really-safe-money-gen] + if False
463.70 s
[really-safe-money-gen] then rounding
463.70 s
[really-safe-money-gen] else case rounding of
463.70 s
[really-safe-money-gen] RoundUp -> RoundDown
463.70 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
463.70 s
[really-safe-money-gen] @@ -36,9 +36,9 @@
463.70 s
[really-safe-money-gen] instance Validity QuantisationFactor where
463.70 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
463.70 s
[really-safe-money-gen] mconcat
463.70 s
[really-safe-money-gen] - [ genericValidate qf,
463.70 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
463.70 s
[really-safe-money-gen] - ]
463.70 s
[really-safe-money-gen] + [ genericValidate qf,
463.70 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ w /= 0
463.70 s
[really-safe-money-gen] + ]
463.70 s
[really-safe-money-gen]
463.70 s
[really-safe-money-gen] instance NFData QuantisationFactor
463.70 s
[really-safe-money-gen]
463.70 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:451:14-23
463.70 s
[really-safe-money-gen] @@ -448,7 +448,7 @@
463.70 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
463.70 s
[really-safe-money-gen] DistributedZero -> DistributedZero
463.70 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
463.70 s
[really-safe-money-gen] - if a >= zero
463.70 s
[really-safe-money-gen] + if True
463.70 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
463.70 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
463.70 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
463.70 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:451:14-23
463.70 s
[really-safe-money-gen] @@ -448,7 +448,7 @@
463.70 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
463.70 s
[really-safe-money-gen] DistributedZero -> DistributedZero
463.70 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
463.70 s
[really-safe-money-gen] - if a >= zero
463.70 s
[really-safe-money-gen] + if not (a >= zero)
463.70 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
463.70 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
463.70 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
463.70 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:455:14-23
463.70 s
[really-safe-money-gen] @@ -452,7 +452,7 @@
463.70 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
463.70 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
463.70 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
463.70 s
[really-safe-money-gen] - if a >= zero
463.70 s
[really-safe-money-gen] + if not (a >= zero)
463.70 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
463.70 s
[really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
463.70 s
[really-safe-money-gen]
463.70 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:451:11-76
463.70 s
[really-safe-money-gen] @@ -448,9 +448,9 @@
463.70 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
463.70 s
[really-safe-money-gen] DistributedZero -> DistributedZero
463.70 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
463.70 s
[really-safe-money-gen] - if a >= zero
463.70 s
[really-safe-money-gen] - then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
463.70 s
[really-safe-money-gen] - else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
463.70 s
[really-safe-money-gen] + if a >= zero
463.70 s
[really-safe-money-gen] + then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
463.70 s
[really-safe-money-gen] + else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
463.70 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
463.70 s
[really-safe-money-gen] if a >= zero
463.70 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
463.70 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:495:12-18
463.70 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
463.70 s
[really-safe-money-gen] fraction rounding account f =
463.70 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
463.70 s
[really-safe-money-gen] ro =
463.70 s
[really-safe-money-gen] - if f >= 0
463.70 s
[really-safe-money-gen] + if True
463.70 s
[really-safe-money-gen] then rounding
463.70 s
[really-safe-money-gen] else case rounding of
463.70 s
[really-safe-money-gen] RoundUp -> RoundDown
463.70 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:495:9-41
463.70 s
[really-safe-money-gen] @@ -492,12 +492,12 @@
463.70 s
[really-safe-money-gen] fraction rounding account f =
463.70 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
463.70 s
[really-safe-money-gen] ro =
463.70 s
[really-safe-money-gen] - if f >= 0
463.70 s
[really-safe-money-gen] - then rounding
463.70 s
[really-safe-money-gen] - else case rounding of
463.70 s
[really-safe-money-gen] - RoundUp -> RoundDown
463.70 s
[really-safe-money-gen] - RoundDown -> RoundUp
463.70 s
[really-safe-money-gen] - RoundNearest -> RoundNearest
463.70 s
[really-safe-money-gen] + if f >= 0
463.70 s
[really-safe-money-gen] + then rounding
463.71 s
[really-safe-money-gen] + else case rounding of
463.71 s
[really-safe-money-gen] + RoundUp -> RoundDown
463.71 s
[really-safe-money-gen] + RoundDown -> RoundUp
463.71 s
[really-safe-money-gen] + RoundNearest -> RoundNearest
463.71 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
463.71 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
463.71 s
[really-safe-money-gen] in if f >= 0
463.71 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:503:15-16
463.71 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
463.71 s
[really-safe-money-gen] RoundNearest -> RoundNearest
463.71 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
463.71 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
463.71 s
[really-safe-money-gen] - in if f >= 0
463.71 s
[really-safe-money-gen] + in if f >= 1
463.71 s
[really-safe-money-gen] then (ma, r)
463.71 s
[really-safe-money-gen] else (negate <$> ma, -r)
463.71 s
[really-safe-money-gen]
463.71 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:503:10-16
463.71 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
463.71 s
[really-safe-money-gen] RoundNearest -> RoundNearest
463.71 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
463.71 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
463.71 s
[really-safe-money-gen] - in if f >= 0
463.71 s
[really-safe-money-gen] + in if True
463.71 s
[really-safe-money-gen] then (ma, r)
463.71 s
[really-safe-money-gen] else (negate <$> ma, -r)
463.71 s
[really-safe-money-gen]
463.71 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:503:10-16
463.71 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
463.71 s
[really-safe-money-gen] RoundNearest -> RoundNearest
463.71 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
463.71 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
463.71 s
[really-safe-money-gen] - in if f >= 0
463.71 s
[really-safe-money-gen] + in if False
463.71 s
[really-safe-money-gen] then (ma, r)
463.71 s
[really-safe-money-gen] else (negate <$> ma, -r)
463.71 s
[really-safe-money-gen]
463.71 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:503:10-16
463.71 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
463.71 s
[really-safe-money-gen] RoundNearest -> RoundNearest
463.71 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
463.71 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
463.71 s
[really-safe-money-gen] - in if f >= 0
463.71 s
[really-safe-money-gen] + in if not (f >= 0)
463.71 s
[really-safe-money-gen] then (ma, r)
463.71 s
[really-safe-money-gen] else (negate <$> ma, -r)
463.71 s
[really-safe-money-gen]
463.71 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:233:14-20
466.28 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
466.28 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
466.28 s
[really-safe-money-gen] fromRational quantisationFactor r =
466.28 s
[really-safe-money-gen] let r' = Prelude.abs r
466.28 s
[really-safe-money-gen] - f = if r >= 0 then Positive else Negative
466.28 s
[really-safe-money-gen] + f = if True then Positive else Negative
466.28 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
466.28 s
[really-safe-money-gen]
466.28 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
466.28 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:233:11-48
466.28 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
466.28 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
466.28 s
[really-safe-money-gen] fromRational quantisationFactor r =
466.28 s
[really-safe-money-gen] let r' = Prelude.abs r
466.28 s
[really-safe-money-gen] - f = if r >= 0 then Positive else Negative
466.28 s
[really-safe-money-gen] + f = if r >= 0 then Positive else Negative
466.28 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
466.28 s
[really-safe-money-gen]
466.28 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
466.28 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:123:10-23
466.28 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
466.28 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
466.28 s
[really-safe-money-gen] a :: Integer
466.28 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
466.28 s
[really-safe-money-gen] - in if a > maxBoundI
466.28 s
[really-safe-money-gen] + in if True
466.28 s
[really-safe-money-gen] then Nothing
466.28 s
[really-safe-money-gen] else
466.28 s
[really-safe-money-gen] let w :: Word64
466.28 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:197:14-20
466.28 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
466.28 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
466.28 s
[really-safe-money-gen] fromDouble quantisationFactor d =
466.28 s
[really-safe-money-gen] let d' = Prelude.abs d
466.28 s
[really-safe-money-gen] - f = if d >= 0 then Positive else Negative
466.28 s
[really-safe-money-gen] + f = if True then Positive else Negative
466.28 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
466.28 s
[really-safe-money-gen]
466.28 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
466.28 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:197:14-20
466.28 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
466.28 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
466.28 s
[really-safe-money-gen] fromDouble quantisationFactor d =
466.28 s
[really-safe-money-gen] let d' = Prelude.abs d
466.28 s
[really-safe-money-gen] - f = if d >= 0 then Positive else Negative
466.28 s
[really-safe-money-gen] + f = if False then Positive else Negative
466.28 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
466.28 s
[really-safe-money-gen]
466.28 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
466.28 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:455:14-23
466.28 s
[really-safe-money-gen] @@ -452,7 +452,7 @@
466.28 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
466.28 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
466.28 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
466.28 s
[really-safe-money-gen] - if a >= zero
466.28 s
[really-safe-money-gen] + if True
466.28 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
466.28 s
[really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
466.29 s
[really-safe-money-gen]
466.29 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:233:14-20
466.29 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
466.29 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
466.29 s
[really-safe-money-gen] fromRational quantisationFactor r =
466.29 s
[really-safe-money-gen] let r' = Prelude.abs r
466.29 s
[really-safe-money-gen] - f = if r >= 0 then Positive else Negative
466.29 s
[really-safe-money-gen] + f = if not (r >= 0) then Positive else Negative
466.29 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
466.29 s
[really-safe-money-gen]
466.29 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
466.29 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:503:7-33
466.29 s
[really-safe-money-gen] @@ -500,9 +500,9 @@
466.29 s
[really-safe-money-gen] RoundNearest -> RoundNearest
466.29 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
466.29 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
466.29 s
[really-safe-money-gen] - in if f >= 0
466.29 s
[really-safe-money-gen] - then (ma, r)
466.29 s
[really-safe-money-gen] - else (negate <$> ma, -r)
466.29 s
[really-safe-money-gen] + in if f >= 0
466.29 s
[really-safe-money-gen] + then (ma, r)
466.29 s
[really-safe-money-gen] + else (negate <$> ma, -r)
466.29 s
[really-safe-money-gen]
466.29 s
[really-safe-money-gen] -- | Fractional multiplication with a positive fraction, see 'Amount.fraction' and 'Account.fraction'.
466.29 s
[really-safe-money-gen] --
466.29 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:495:12-18
466.29 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
466.29 s
[really-safe-money-gen] fraction rounding account f =
466.29 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
466.29 s
[really-safe-money-gen] ro =
466.29 s
[really-safe-money-gen] - if f >= 0
466.29 s
[really-safe-money-gen] + if not (f >= 0)
466.29 s
[really-safe-money-gen] then rounding
466.29 s
[really-safe-money-gen] else case rounding of
466.29 s
[really-safe-money-gen] RoundUp -> RoundDown
466.29 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:233:19-20
466.29 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
466.29 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
466.29 s
[really-safe-money-gen] fromRational quantisationFactor r =
466.29 s
[really-safe-money-gen] let r' = Prelude.abs r
466.29 s
[really-safe-money-gen] - f = if r >= 0 then Positive else Negative
466.29 s
[really-safe-money-gen] + f = if r >= 1 then Positive else Negative
466.29 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
466.29 s
[really-safe-money-gen]
466.29 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
466.29 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:455:11-136
466.29 s
[really-safe-money-gen] @@ -452,9 +452,9 @@
466.29 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
466.29 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
466.29 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
466.29 s
[really-safe-money-gen] - if a >= zero
466.29 s
[really-safe-money-gen] - then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
466.29 s
[really-safe-money-gen] - else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
466.29 s
[really-safe-money-gen] + if a >= zero
466.29 s
[really-safe-money-gen] + then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
466.29 s
[really-safe-money-gen] + else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
466.29 s
[really-safe-money-gen]
466.29 s
[really-safe-money-gen] type AccountDistribution = Amount.Distribution Account
466.29 s
[really-safe-money-gen]
466.29 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:197:14-20
466.29 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
466.29 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
466.29 s
[really-safe-money-gen] fromDouble quantisationFactor d =
466.29 s
[really-safe-money-gen] let d' = Prelude.abs d
466.29 s
[really-safe-money-gen] - f = if d >= 0 then Positive else Negative
466.29 s
[really-safe-money-gen] + f = if not (d >= 0) then Positive else Negative
466.29 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
466.29 s
[really-safe-money-gen]
466.29 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
466.29 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:197:11-48
466.29 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
466.29 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
466.29 s
[really-safe-money-gen] fromDouble quantisationFactor d =
466.29 s
[really-safe-money-gen] let d' = Prelude.abs d
466.29 s
[really-safe-money-gen] - f = if d >= 0 then Positive else Negative
466.29 s
[really-safe-money-gen] + f = if d >= 0 then Positive else Negative
466.29 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
466.29 s
[really-safe-money-gen]
466.29 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
466.29 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:123:10-23
466.29 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
466.29 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
466.29 s
[really-safe-money-gen] a :: Integer
466.29 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
466.29 s
[really-safe-money-gen] - in if a > maxBoundI
466.29 s
[really-safe-money-gen] + in if False
466.29 s
[really-safe-money-gen] then Nothing
466.29 s
[really-safe-money-gen] else
466.29 s
[really-safe-money-gen] let w :: Word64
466.29 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
466.29 s
[really-safe-money-gen] @@ -44,7 +44,7 @@
466.29 s
[really-safe-money-gen] where
466.29 s
[really-safe-money-gen] f :: String -> Either String Amount
466.29 s
[really-safe-money-gen] f s = case readMaybe s of
466.29 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
466.29 s
[really-safe-money-gen] + Nothing -> Left $ unwords []
466.29 s
[really-safe-money-gen] Just i ->
466.29 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
466.29 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
466.29 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:123:10-23
466.29 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
466.29 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
466.29 s
[really-safe-money-gen] a :: Integer
466.29 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
466.29 s
[really-safe-money-gen] - in if a > maxBoundI
466.29 s
[really-safe-money-gen] + in if not (a > maxBoundI)
466.29 s
[really-safe-money-gen] then Nothing
466.29 s
[really-safe-money-gen] else
466.29 s
[really-safe-money-gen] let w :: Word64
466.29 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:131:20-26
466.29 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
466.29 s
[really-safe-money-gen] amount :: Amount
466.29 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
466.29 s
[really-safe-money-gen] in Just $
466.29 s
[really-safe-money-gen] - if i >= 0
466.29 s
[really-safe-money-gen] + if True
466.29 s
[really-safe-money-gen] then Positive amount
466.29 s
[really-safe-money-gen] else Negative amount
466.29 s
[really-safe-money-gen]
466.29 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:131:20-26
466.29 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
466.29 s
[really-safe-money-gen] amount :: Amount
466.29 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
466.29 s
[really-safe-money-gen] in Just $
466.29 s
[really-safe-money-gen] - if i >= 0
466.29 s
[really-safe-money-gen] + if False
466.29 s
[really-safe-money-gen] then Positive amount
466.29 s
[really-safe-money-gen] else Negative amount
466.30 s
[really-safe-money-gen]
466.30 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:131:17-39
466.30 s
[really-safe-money-gen] @@ -128,9 +128,9 @@
466.30 s
[really-safe-money-gen] amount :: Amount
466.30 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
466.30 s
[really-safe-money-gen] in Just $
466.30 s
[really-safe-money-gen] - if i >= 0
466.30 s
[really-safe-money-gen] - then Positive amount
466.30 s
[really-safe-money-gen] - else Negative amount
466.30 s
[really-safe-money-gen] + if i >= 0
466.30 s
[really-safe-money-gen] + then Positive amount
466.30 s
[really-safe-money-gen] + else Negative amount
466.30 s
[really-safe-money-gen]
466.49 s
[really-safe-money-gen] -- | Turn an amount into a positive account
466.49 s
[really-safe-money-gen] --
466.49 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Account.hs:123:7-39
466.49 s
[really-safe-money-gen] @@ -120,17 +120,17 @@
466.49 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
466.49 s
[really-safe-money-gen] a :: Integer
466.49 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
466.49 s
[really-safe-money-gen] - in if a > maxBoundI
466.49 s
[really-safe-money-gen] - then Nothing
466.49 s
[really-safe-money-gen] - else
466.49 s
[really-safe-money-gen] - let w :: Word64
466.49 s
[really-safe-money-gen] - w = (fromIntegral :: Integer -> Word64) a
466.49 s
[really-safe-money-gen] - amount :: Amount
466.49 s
[really-safe-money-gen] - amount = Amount.fromMinimalQuantisations w
466.49 s
[really-safe-money-gen] - in Just $
466.49 s
[really-safe-money-gen] - if i >= 0
466.49 s
[really-safe-money-gen] - then Positive amount
466.49 s
[really-safe-money-gen] - else Negative amount
466.49 s
[really-safe-money-gen] + in if a > maxBoundI
466.49 s
[really-safe-money-gen] + then Nothing
466.49 s
[really-safe-money-gen] + else
466.49 s
[really-safe-money-gen] + let w :: Word64
466.49 s
[really-safe-money-gen] + w = (fromIntegral :: Integer -> Word64) a
466.49 s
[really-safe-money-gen] + amount :: Amount
466.49 s
[really-safe-money-gen] + amount = Amount.fromMinimalQuantisations w
466.49 s
[really-safe-money-gen] + in Just $
466.49 s
[really-safe-money-gen] + if i >= 0
466.49 s
[really-safe-money-gen] + then Positive amount
466.49 s
[really-safe-money-gen] + else Negative amount
466.49 s
[really-safe-money-gen]
466.49 s
[really-safe-money-gen] -- | Turn an amount into a positive account
466.49 s
[really-safe-money-gen] --
466.49 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:233:14-20
466.49 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
466.49 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
466.49 s
[really-safe-money-gen] fromRational quantisationFactor r =
466.49 s
[really-safe-money-gen] let r' = Prelude.abs r
466.49 s
[really-safe-money-gen] - f = if r >= 0 then Positive else Negative
466.49 s
[really-safe-money-gen] + f = if False then Positive else Negative
466.49 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
466.49 s
[really-safe-money-gen]
466.50 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
466.50 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
466.50 s
[really-safe-money-gen] @@ -46,7 +46,7 @@
466.50 s
[really-safe-money-gen] f s = case readMaybe s of
466.50 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
466.50 s
[really-safe-money-gen] Just i ->
466.50 s
[really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
466.50 s
[really-safe-money-gen] + if False
466.50 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
466.50 s
[really-safe-money-gen] else
466.50 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
466.50 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount/Codec.hs:49:12-59
466.50 s
[really-safe-money-gen] @@ -46,7 +46,7 @@
466.50 s
[really-safe-money-gen] f s = case readMaybe s of
466.50 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
466.50 s
[really-safe-money-gen] Just i ->
466.50 s
[really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
466.50 s
[really-safe-money-gen] + if not ((i :: Integer) < toInteger (minBound :: Word64))
466.50 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
466.50 s
[really-safe-money-gen] else
466.50 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
466.50 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
466.50 s
[really-safe-money-gen] @@ -50,7 +50,7 @@
466.50 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
466.50 s
[really-safe-money-gen] else
466.50 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
466.50 s
[really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations is too big:", show i]
466.50 s
[really-safe-money-gen] + then Left $ unwords []
466.50 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
466.50 s
[really-safe-money-gen] g :: Amount -> String
466.50 s
[really-safe-money-gen] g = show . Amount.toMinimalQuantisations
466.50 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
466.50 s
[really-safe-money-gen] @@ -50,7 +50,7 @@
466.50 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
466.50 s
[really-safe-money-gen] else
466.50 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
466.50 s
[really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations is too big:", show i]
466.50 s
[really-safe-money-gen] + then Left $ unwords ["Number of minimal quantisations is too big:", show i]
466.50 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
466.50 s
[really-safe-money-gen] g :: Amount -> String
466.50 s
[really-safe-money-gen] g = show . Amount.toMinimalQuantisations
466.50 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount/Codec.hs:49:9-86
466.50 s
[really-safe-money-gen] @@ -46,12 +46,12 @@
466.50 s
[really-safe-money-gen] f s = case readMaybe s of
466.50 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
466.50 s
[really-safe-money-gen] Just i ->
466.50 s
[really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
466.50 s
[really-safe-money-gen] - then Left $ unwords ["Negative number of minimal quantisations:", show i]
466.50 s
[really-safe-money-gen] - else
466.50 s
[really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
466.50 s
[really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations is too big:", show i]
466.50 s
[really-safe-money-gen] - else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
466.50 s
[really-safe-money-gen] + if (i :: Integer) < toInteger (minBound :: Word64)
466.50 s
[really-safe-money-gen] + then Left $ unwords ["Negative number of minimal quantisations:", show i]
466.50 s
[really-safe-money-gen] + else
466.50 s
[really-safe-money-gen] + if (i :: Integer) > toInteger (maxBound :: Word64)
466.50 s
[really-safe-money-gen] + then Left $ unwords ["Number of minimal quantisations is too big:", show i]
466.51 s
[really-safe-money-gen] + else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
466.51 s
[really-safe-money-gen] g :: Amount -> String
466.51 s
[really-safe-money-gen] g = show . Amount.toMinimalQuantisations
466.51 s
[really-safe-money-gen]
466.51 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
466.51 s
[really-safe-money-gen] @@ -47,7 +47,7 @@
466.51 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
466.51 s
[really-safe-money-gen] Just i ->
466.51 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
466.51 s
[really-safe-money-gen] - then Left $ unwords ["Negative number of minimal quantisations:", show i]
466.51 s
[really-safe-money-gen] + then Left $ unwords []
466.51 s
[really-safe-money-gen] else
466.51 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
466.51 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
466.51 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
466.51 s
[really-safe-money-gen] @@ -49,7 +49,7 @@
466.51 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
466.51 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
466.51 s
[really-safe-money-gen] else
466.51 s
[really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
466.51 s
[really-safe-money-gen] + if False
466.51 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
466.51 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
466.51 s
[really-safe-money-gen] g :: Amount -> String
466.51 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Account/Codec.hs:51:33-76
466.51 s
[really-safe-money-gen] @@ -48,7 +48,7 @@
466.51 s
[really-safe-money-gen] where
466.51 s
[really-safe-money-gen] f :: String -> Either String Account
466.51 s
[really-safe-money-gen] f s = case readMaybe s >>= Account.fromMinimalQuantisations of
466.51 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Account:", s]
466.51 s
[really-safe-money-gen] + Nothing -> Left $ unwords ["Could not read string as an Account:", s]
466.51 s
[really-safe-money-gen] Just a -> Right a
466.51 s
[really-safe-money-gen] g :: Account -> String
466.51 s
[really-safe-money-gen] g = show . Account.toMinimalQuantisations
466.51 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount/Codec.hs:52:16-63
466.51 s
[really-safe-money-gen] @@ -49,7 +49,7 @@
466.51 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
466.51 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
466.51 s
[really-safe-money-gen] else
466.51 s
[really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
466.51 s
[really-safe-money-gen] + if not ((i :: Integer) > toInteger (maxBound :: Word64))
466.51 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
466.51 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
466.51 s
[really-safe-money-gen] g :: Amount -> String
466.51 s
[really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount/Codec.hs:52:13-86
466.51 s
[really-safe-money-gen] @@ -49,9 +49,9 @@
466.51 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
466.51 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
466.51 s
[really-safe-money-gen] else
466.51 s
[really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
466.51 s
[really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations is too big:", show i]
466.51 s
[really-safe-money-gen] - else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
466.51 s
[really-safe-money-gen] + if (i :: Integer) > toInteger (maxBound :: Word64)
466.51 s
[really-safe-money-gen] + then Left $ unwords ["Number of minimal quantisations is too big:", show i]
466.51 s
[really-safe-money-gen] + else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
466.51 s
[really-safe-money-gen] g :: Amount -> String
466.51 s
[really-safe-money-gen] g = show . Amount.toMinimalQuantisations
466.51 s
[really-safe-money-gen]
466.51 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
466.51 s
[really-safe-money-gen] @@ -46,7 +46,7 @@
466.51 s
[really-safe-money-gen] f s = case readMaybe s of
466.51 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
466.51 s
[really-safe-money-gen] Just i ->
466.51 s
[really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
466.51 s
[really-safe-money-gen] + if True
466.51 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
466.51 s
[really-safe-money-gen] else
466.51 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
466.51 s
[really-safe-money-gen] Testing mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82
466.51 s
[really-safe-money-gen] @@ -37,5 +37,5 @@
466.51 s
[really-safe-money-gen] where
466.51 s
[really-safe-money-gen] f :: String -> Either String DecimalLiteral
466.51 s
[really-safe-money-gen] f s = case DecimalLiteral.fromString s of
514.56 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["CouKilled: 240
514.57 s
[really-safe-money-gen] Survived: 34
514.57 s
[really-safe-money-gen] Uncovered: 21
514.57 s
[really-safe-money-gen]
514.57 s
[really-safe-money-gen] Surviving mutations:
514.57 s
[really-safe-money-gen]
514.57 s
[really-safe-money-gen] IntLit at src/Money/Account.hs:131:25-26
514.57 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
514.57 s
[really-safe-money-gen] amount :: Amount
514.57 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
514.57 s
[really-safe-money-gen] in Just $
514.57 s
[really-safe-money-gen] - if i >= 0
514.57 s
[really-safe-money-gen] + if i >= 1
514.57 s
[really-safe-money-gen] then Positive amount
514.57 s
[really-safe-money-gen] else Negative amount
514.57 s
[really-safe-money-gen]
514.57 s
[really-safe-money-gen]
514.57 s
[really-safe-money-gen] ConstBool at src/Money/Account.hs:123:10-23
514.57 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
514.57 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
514.57 s
[really-safe-money-gen] a :: Integer
514.58 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
514.58 s
[really-safe-money-gen] - in if a > maxBoundI
514.58 s
[really-safe-money-gen] + in if False
514.58 s
[really-safe-money-gen] then Nothing
514.58 s
[really-safe-money-gen] else
514.58 s
[really-safe-money-gen] let w :: Word64
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] ListLit at src/Money/QuantisationFactor.hs:39:7-8
514.58 s
[really-safe-money-gen] @@ -36,9 +36,9 @@
514.58 s
[really-safe-money-gen] instance Validity QuantisationFactor where
514.58 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
514.58 s
[really-safe-money-gen] mconcat
514.58 s
[really-safe-money-gen] - [ genericValidate qf,
514.58 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
514.58 s
[really-safe-money-gen] - ]
514.58 s
[really-safe-money-gen] + [ genericValidate qf,
514.58 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ w /= 0
514.58 s
[really-safe-money-gen] + ]
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] instance NFData QuantisationFactor
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] ListLit at src/Money/QuantisationFactor.hs:39:7-8
514.58 s
[really-safe-money-gen] @@ -36,9 +36,7 @@
514.58 s
[really-safe-money-gen] instance Validity QuantisationFactor where
514.58 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
514.58 s
[really-safe-money-gen] mconcat
514.58 s
[really-safe-money-gen] - [ genericValidate qf,
514.58 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
514.58 s
[really-safe-money-gen] - ]
514.58 s
[really-safe-money-gen] + []
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] instance NFData QuantisationFactor
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] ConstBool at src/Money/QuantisationFactor.hs:40:57-63
514.58 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
514.58 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
514.58 s
[really-safe-money-gen] mconcat
514.58 s
[really-safe-money-gen] [ genericValidate qf,
514.58 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
514.58 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ True
514.58 s
[really-safe-money-gen] ]
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] instance NFData QuantisationFactor
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] IntLit at src/Money/QuantisationFactor.hs:93:16-17
514.58 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] rat <-
514.58 s
[really-safe-money-gen] let r = 1 / irat
514.58 s
[really-safe-money-gen] - in if r < 0
514.58 s
[really-safe-money-gen] + in if r < 1
514.58 s
[really-safe-money-gen] then Nothing
514.58 s
[really-safe-money-gen] else Just r
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] ListLit at src/Money/Amount.hs:603:7-8
514.58 s
[really-safe-money-gen] @@ -600,13 +600,13 @@
514.58 s
[really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
514.58 s
[really-safe-money-gen] validate ad =
514.58 s
[really-safe-money-gen] mconcat
514.58 s
[really-safe-money-gen] - [ genericValidate ad,
514.58 s
[really-safe-money-gen] - case ad of
514.58 s
[really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
514.58 s
[really-safe-money-gen] - declare "The larger chunks are larger" $
514.58 s
[really-safe-money-gen] - a1 > a2
514.58 s
[really-safe-money-gen] - _ -> valid
514.58 s
[really-safe-money-gen] - ]
514.58 s
[really-safe-money-gen] + [ genericValidate ad,
514.58 s
[really-safe-money-gen] + case ad of
514.58 s
[really-safe-money-gen] + DistributedIntoUnequalChunks _ a1 _ a2 ->
514.58 s
[really-safe-money-gen] + declare "The larger chunks are larger" $
514.58 s
[really-safe-money-gen] + a1 > a2
514.58 s
[really-safe-money-gen] + _ -> valid
514.58 s
[really-safe-money-gen] + ]
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] ListLit at src/Money/Amount.hs:603:7-8
514.58 s
[really-safe-money-gen] @@ -600,13 +600,7 @@
514.58 s
[really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
514.58 s
[really-safe-money-gen] validate ad =
514.58 s
[really-safe-money-gen] mconcat
514.58 s
[really-safe-money-gen] - [ genericValidate ad,
514.58 s
[really-safe-money-gen] - case ad of
514.58 s
[really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
514.58 s
[really-safe-money-gen] - declare "The larger chunks are larger" $
514.58 s
[really-safe-money-gen] - a1 > a2
514.58 s
[really-safe-money-gen] - _ -> valid
514.58 s
[really-safe-money-gen] - ]
514.58 s
[really-safe-money-gen] + []
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] ConstBool at src/Money/Amount.hs:607:15-22
514.58 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
514.58 s
[really-safe-money-gen] case ad of
514.58 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
514.58 s
[really-safe-money-gen] declare "The larger chunks are larger" $
514.58 s
[really-safe-money-gen] - a1 > a2
514.58 s
[really-safe-money-gen] + True
514.58 s
[really-safe-money-gen] _ -> valid
514.58 s
[really-safe-money-gen] ]
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] ConstBool at src/Money/Amount.hs:332:14-40
514.58 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
514.58 s
[really-safe-money-gen] | otherwise =
514.58 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
514.58 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
514.58 s
[really-safe-money-gen] - if exponent resultDouble > 65
514.58 s
[really-safe-money-gen] + if False
514.58 s
[really-safe-money-gen] then Nothing
514.58 s
[really-safe-money-gen] else
514.58 s
[really-safe-money-gen] let ceiled :: Natural
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] ConstBool at src/Money/Amount.hs:518:10-15
514.58 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
514.58 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
514.58 s
[really-safe-money-gen] r :: Integer
514.58 s
[really-safe-money-gen] r = i1 - i2
514.58 s
[really-safe-money-gen] - in if r < 0
514.58 s
[really-safe-money-gen] + in if True
514.58 s
[really-safe-money-gen] then Nothing
514.58 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] IntLit at src/Money/Amount.hs:518:14-15
514.58 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
514.58 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
514.58 s
[really-safe-money-gen] r :: Integer
514.58 s
[really-safe-money-gen] r = i1 - i2
514.58 s
[really-safe-money-gen] - in if r < 0
514.58 s
[really-safe-money-gen] + in if r < 1
514.58 s
[really-safe-money-gen] then Nothing
514.58 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] IntLit at src/Numeric/DecimalLiteral.hs:208:9-10
514.58 s
[really-safe-money-gen] @@ -205,7 +205,7 @@
514.58 s
[really-safe-money-gen] -- Nothing
514.58 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
514.58 s
[really-safe-money-gen] fromRational (n :% d)
514.58 s
[really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
514.58 s
[really-safe-money-gen] + | n < 1 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
514.58 s
[really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
514.58 s
[really-safe-money-gen] @@ -286,7 +286,7 @@
514.58 s
[really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
514.58 s
[really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
514.58 s
[really-safe-money-gen] Just False -> Nothing
514.58 s
[really-safe-money-gen] - _ -> Just $ fromIntegral m / (10 ^ e)
514.58 s
[really-safe-money-gen] + _ -> Just $ fromIntegral m / (1 ^ e)
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
514.58 s
[really-safe-money-gen] fromWord :: Word -> DecimalLiteral
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
514.58 s
[really-safe-money-gen] @@ -296,7 +296,7 @@
514.58 s
[really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
514.58 s
[really-safe-money-gen] toWord dl = do
514.58 s
[really-safe-money-gen] n <- toNatural dl
514.58 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
514.58 s
[really-safe-money-gen] + guard $ True
514.58 s
[really-safe-money-gen] pure $ fromIntegral n
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
514.58 s
[really-safe-money-gen] @@ -330,7 +330,7 @@
514.58 s
[really-safe-money-gen] toInt dl = do
514.58 s
[really-safe-money-gen] n <- toInteger dl
514.58 s
[really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
514.58 s
[really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
514.58 s
[really-safe-money-gen] + guard $ True
514.58 s
[really-safe-money-gen] pure $ fromIntegral n
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
514.58 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
514.58 s
[really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
514.58 s
[really-safe-money-gen] toInt dl = do
514.58 s
[really-safe-money-gen] n <- toInteger dl
514.58 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
514.58 s
[really-safe-money-gen] + guard $ True
514.58 s
[really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
514.58 s
[really-safe-money-gen] pure $ fromIntegral n
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] IntLit at src/Numeric/DecimalLiteral.hs:337:21-22
514.58 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
514.58 s
[really-safe-money-gen] pure $ fromIntegral n
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
514.58 s
[really-safe-money-gen] -numSign a = if a >= 0 then Nothing else Just False
514.58 s
[really-safe-money-gen] +numSign a = if a >= 1 then Nothing else Just False
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
514.58 s
[really-safe-money-gen] signSignum = \case
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] ListLit at src/Money/MultiAmount.hs:63:7-8
514.58 s
[really-safe-money-gen] @@ -60,11 +60,11 @@
514.58 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
514.58 s
[really-safe-money-gen] validate ma@(MultiAmount m) =
514.58 s
[really-safe-money-gen] mconcat
514.58 s
[really-safe-money-gen] - [ genericValidate ma,
514.58 s
[really-safe-money-gen] - decorateMap m $ \_ a ->
514.58 s
[really-safe-money-gen] - declare "The amount is not zero" $
514.58 s
[really-safe-money-gen] - a /= Amount.zero
514.58 s
[really-safe-money-gen] - ]
514.58 s
[really-safe-money-gen] + [ genericValidate ma,
514.58 s
[really-safe-money-gen] + decorateMap m $ \_ a ->
514.58 s
[really-safe-money-gen] + declare "The amount is not zero" $
514.58 s
[really-safe-money-gen] + a /= Amount.zero
514.58 s
[really-safe-money-gen] + ]
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] ListLit at src/Money/MultiAmount.hs:63:7-8
514.58 s
[really-safe-money-gen] @@ -60,11 +60,7 @@
514.58 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
514.58 s
[really-safe-money-gen] validate ma@(MultiAmount m) =
514.58 s
[really-safe-money-gen] mconcat
514.58 s
[really-safe-money-gen] - [ genericValidate ma,
514.58 s
[really-safe-money-gen] - decorateMap m $ \_ a ->
514.58 s
[really-safe-money-gen] - declare "The amount is not zero" $
514.58 s
[really-safe-money-gen] - a /= Amount.zero
514.58 s
[really-safe-money-gen] - ]
514.58 s
[really-safe-money-gen] + []
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
514.58 s
[really-safe-money-gen]
514.58 s
[really-safe-money-gen]
514.59 s
[really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:66:13-29
514.59 s
[really-safe-money-gen] @@ -63,7 +63,7 @@
514.59 s
[really-safe-money-gen] [ genericValidate ma,
514.59 s
[really-safe-money-gen] decorateMap m $ \_ a ->
514.59 s
[really-safe-money-gen] declare "The amount is not zero" $
514.59 s
[really-safe-money-gen] - a /= Amount.zero
514.59 s
[really-safe-money-gen] + True
514.59 s
[really-safe-money-gen] ]
514.59 s
[really-safe-money-gen]
514.59 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
514.59 s
[really-safe-money-gen]
514.59 s
[really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:106:12-28
514.59 s
[really-safe-money-gen] @@ -103,7 +103,7 @@
514.59 s
[really-safe-money-gen] Just a -> do
514.59 s
[really-safe-money-gen] r <- Amount.add a amount
514.59 s
[really-safe-money-gen] Just $
514.59 s
[really-safe-money-gen] - if r == Amount.zero
514.59 s
[really-safe-money-gen] + if False
514.59 s
[really-safe-money-gen] then M.delete currency m
514.59 s
[really-safe-money-gen] else M.insert currency r m
514.59 s
[really-safe-money-gen]
514.59 s
[really-safe-money-gen]
514.59 s
[really-safe-money-gen] CondFlip at src/Money/MultiAmount.hs:119:9-37
514.59 s
[really-safe-money-gen] @@ -116,9 +116,9 @@
514.59 s
[really-safe-money-gen] Just a -> do
514.59 s
[really-safe-money-gen] r <- Amount.subtract a amount
514.59 s
[really-safe-money-gen] Just $
514.59 s
[really-safe-money-gen] - if r == Amount.zero
514.59 s
[really-safe-money-gen] - then M.delete currency m
514.59 s
[really-safe-money-gen] - else M.insert currency r m
514.59 s
[really-safe-money-gen] + if r == Amount.zero
514.59 s
[really-safe-money-gen] + then M.delete currency m
514.59 s
[really-safe-money-gen] + else M.insert currency r m
514.59 s
[really-safe-money-gen] ld not read string as a DecimalLiteral:", s]
514.59 s
[really-safe-money-gen] + Nothing -> Left $ unwords []
514.59 s
[really-safe-money-gen] Just a -> Right a
514.59 s
[really-safe-money-gen] Testing mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82
514.59 s
[really-safe-money-gen] @@ -37,5 +37,5 @@
514.59 s
[really-safe-money-gen] where
514.59 s
[really-safe-money-gen] f :: String -> Either String DecimalLiteral
514.59 s
[really-safe-money-gen] f s = case DecimalLiteral.fromString s of
514.59 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
514.59 s
[really-safe-money-gen] + Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
514.59 s
[really-safe-money-gen] Just a -> Right a
514.59 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Account/Codec.hs:51:33-76
514.59 s
[really-safe-money-gen] @@ -48,7 +48,7 @@
514.59 s
[really-safe-money-gen] where
514.59 s
[really-safe-money-gen] f :: String -> Either String Account
514.59 s
[really-safe-money-gen] f s = case readMaybe s >>= Account.fromMinimalQuantisations of
514.59 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Account:", s]
514.59 s
[really-safe-money-gen] + Nothing -> Left $ unwords []
514.59 s
[really-safe-money-gen] Just a -> Right a
514.59 s
[really-safe-money-gen] g :: Account -> String
514.59 s
[really-safe-money-gen] g = show . Account.toMinimalQuantisations
514.59 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
514.59 s
[really-safe-money-gen] @@ -44,7 +44,7 @@
514.59 s
[really-safe-money-gen] where
514.59 s
[really-safe-money-gen] f :: String -> Either String Amount
514.59 s
[really-safe-money-gen] f s = case readMaybe s of
514.59 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
514.59 s
[really-safe-money-gen] + Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
514.59 s
[really-safe-money-gen] Just i ->
514.59 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
514.59 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
514.59 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:131:20-26
514.59 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
514.59 s
[really-safe-money-gen] amount :: Amount
514.59 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
514.59 s
[really-safe-money-gen] in Just $
514.59 s
[really-safe-money-gen] - if i >= 0
514.59 s
[really-safe-money-gen] + if not (i >= 0)
514.59 s
[really-safe-money-gen] then Positive amount
514.59 s
[really-safe-money-gen] else Negative amount
514.59 s
[really-safe-money-gen]
514.59 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
514.59 s
[really-safe-money-gen] @@ -47,7 +47,7 @@
514.59 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
514.59 s
[really-safe-money-gen] Just i ->
514.59 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
514.59 s
[really-safe-money-gen] - then Left $ unwords ["Negative number of minimal quantisations:", show i]
514.59 s
[really-safe-money-gen] + then Left $ unwords ["Negative number of minimal quantisations:", show i]
514.59 s
[really-safe-money-gen] else
514.59 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
514.59 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
514.59 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:131:25-26
514.59 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
514.59 s
[really-safe-money-gen] amount :: Amount
514.59 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
514.59 s
[really-safe-money-gen] in Just $
514.59 s
[really-safe-money-gen] - if i >= 0
514.59 s
[really-safe-money-gen] + if i >= 1
514.59 s
[really-safe-money-gen] then Positive amount
514.59 s
[really-safe-money-gen] else Negative amount
514.59 s
[really-safe-money-gen]
514.59 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
514.59 s
[really-safe-money-gen] @@ -49,7 +49,7 @@
514.59 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
514.59 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
514.59 s
[really-safe-money-gen] else
514.59 s
[really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
514.59 s
[really-safe-money-gen] + if True
514.59 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
514.59 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
514.59 s
[really-safe-money-gen] g :: Amount -> String
514.59 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:495:17-18
514.59 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
514.59 s
[really-safe-money-gen] fraction rounding account f =
514.59 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
514.59 s
[really-safe-money-gen] ro =
514.59 s
[really-safe-money-gen] - if f >= 0
514.59 s
[really-safe-money-gen] + if f >= 1
514.59 s
[really-safe-money-gen] then rounding
514.59 s
[really-safe-money-gen] else case rounding of
514.59 s
[really-safe-money-gen] RoundUp -> RoundDown
514.59 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:197:19-20
514.59 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
514.59 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
514.59 s
[really-safe-money-gen] fromDouble quantisationFactor d =
514.59 s
[really-safe-money-gen] let d' = Prelude.abs d
514.59 s
[really-safe-money-gen] - f = if d >= 0 then Positive else Negative
514.59 s
[really-safe-money-gen] + f = if d >= 1 then Positive else Negative
514.59 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
514.59 s
[really-safe-money-gen]
514.59 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
514.59 s
[really-safe-money-gen]
514.59 s
[really-safe-money-gen] -- | Try to convert every amount to one currency.
514.59 s
[really-safe-money-gen] --
514.59 s
[really-safe-money-gen]
514.59 s
[really-safe-money-gen] Negate at src/Money/MultiAmount.hs:119:12-28
514.59 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
514.59 s
[really-safe-money-gen] Just a -> do
514.59 s
[really-safe-money-gen] r <- Amount.subtract a amount
514.59 s
[really-safe-money-gen] Just $
514.59 s
[really-safe-money-gen] - if r == Amount.zero
514.59 s
[really-safe-money-gen] + if not (r == Amount.zero)
514.59 s
[really-safe-money-gen] then M.delete currency m
514.59 s
[really-safe-money-gen] else M.insert currency r m
514.59 s
[really-safe-money-gen]
514.59 s
[really-safe-money-gen]
514.59 s
[really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:119:12-28
514.59 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
514.59 s
[really-safe-money-gen] Just a -> do
514.59 s
[really-safe-money-gen] r <- Amount.subtract a amount
514.59 s
[really-safe-money-gen] Just $
514.59 s
[really-safe-money-gen] - if r == Amount.zero
514.59 s
[really-safe-money-gen] + if False
514.59 s
[really-safe-money-gen] then M.delete currency m
514.59 s
[really-safe-money-gen] else M.insert currency r m
514.59 s
[really-safe-money-gen]
514.59 s
[really-safe-money-gen]
514.59 s
[really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:119:12-28
514.59 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
514.59 s
[really-safe-money-gen] Just a -> do
514.59 s
[really-safe-money-gen] r <- Amount.subtract a amount
514.59 s
[really-safe-money-gen] Just $
514.59 s
[really-safe-money-gen] - if r == Amount.zero
514.59 s
[really-safe-money-gen] + if True
514.59 s
[really-safe-money-gen] then M.delete currency m
514.59 s
[really-safe-money-gen] else M.insert currency r m
514.59 s
[really-safe-money-gen]
514.59 s
[really-safe-money-gen]
514.59 s
[really-safe-money-gen] ListLit at src/Money/ConversionRate.hs:37:7-8
514.59 s
[really-safe-money-gen] @@ -34,9 +34,9 @@
514.59 s
[really-safe-money-gen] instance Validity ConversionRate where
514.59 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
514.59 s
[really-safe-money-gen] mconcat
514.59 s
[really-safe-money-gen] - [ genericValidate cr,
514.59 s
[really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
514.59 s
[really-safe-money-gen] - ]
514.59 s
[really-safe-money-gen] + [ genericValidate cr,
514.59 s
[really-safe-money-gen] + declare "The rate is nonzero" $ numerator r /= 0
514.59 s
[really-safe-money-gen] + ]
514.59 s
[really-safe-money-gen]
514.59 s
[really-safe-money-gen] instance NFData ConversionRate
514.59 s
[really-safe-money-gen]
514.59 s
[really-safe-money-gen]
514.59 s
[really-safe-money-gen] ListLit at src/Money/ConversionRate.hs:37:7-8
514.59 s
[really-safe-money-gen] @@ -34,9 +34,7 @@
514.60 s
[really-safe-money-gen] instance Validity ConversionRate where
514.60 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
514.60 s
[really-safe-money-gen] mconcat
514.60 s
[really-safe-money-gen] - [ genericValidate cr,
514.60 s
[really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
514.60 s
[really-safe-money-gen] - ]
514.60 s
[really-safe-money-gen] + []
514.60 s
[really-safe-money-gen]
514.60 s
[really-safe-money-gen] instance NFData ConversionRate
514.60 s
[really-safe-money-gen]
514.60 s
[really-safe-money-gen]
514.60 s
[really-safe-money-gen] ConstBool at src/Money/ConversionRate.hs:38:41-57
514.60 s
[really-safe-money-gen] @@ -35,7 +35,7 @@
514.60 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
514.60 s
[really-safe-money-gen] mconcat
514.60 s
[really-safe-money-gen] [ genericValidate cr,
514.60 s
[really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
514.60 s
[really-safe-money-gen] + declare "The rate is nonzero" $ True
514.60 s
[really-safe-money-gen] ]
514.60 s
[really-safe-money-gen]
514.60 s
[really-safe-money-gen] instance NFData ConversionRate
514.60 s
[really-safe-money-gen]
514.60 s
[really-safe-money-gen] IntLit at src/Money/ConversionRate.hs:109:27-28
514.60 s
[really-safe-money-gen] @@ -106,7 +106,7 @@
514.60 s
[really-safe-money-gen]
514.60 s
[really-safe-money-gen] -- | One-to-one conversion rate
514.60 s
[really-safe-money-gen] oneToOne :: ConversionRate
514.60 s
[really-safe-money-gen] -oneToOne = ConversionRate 1
514.60 s
[really-safe-money-gen] +oneToOne = ConversionRate 0
514.60 s
[really-safe-money-gen]
514.60 s
[really-safe-money-gen] -- | Invert a 'ConversionRate', to convert in the other direction.
514.60 s
[really-safe-money-gen] --
514.60 s
[really-safe-money-gen]
514.60 s
[really-safe-money-gen] ListLit at src/Money/MultiAccount.hs:66:7-8
514.60 s
[really-safe-money-gen] @@ -63,11 +63,11 @@
514.60 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
514.60 s
[really-safe-money-gen] validate ma@(MultiAccount m) =
514.60 s
[really-safe-money-gen] mconcat
514.60 s
[really-safe-money-gen] - [ genericValidate ma,
514.60 s
[really-safe-money-gen] - decorateMap m $ \_ a ->
514.60 s
[really-safe-money-gen] - declare "The account is not zero" $
514.60 s
[really-safe-money-gen] - a /= Account.zero
514.60 s
[really-safe-money-gen] - ]
514.60 s
[really-safe-money-gen] + [ genericValidate ma,
514.60 s
[really-safe-money-gen] + decorateMap m $ \_ a ->
514.60 s
[really-safe-money-gen] + declare "The account is not zero" $
514.60 s
[really-safe-money-gen] + a /= Account.zero
514.60 s
[really-safe-money-gen] + ]
514.60 s
[really-safe-money-gen]
514.60 s
[really-safe-money-gen] -- TODO no empty currencies
514.60 s
[really-safe-money-gen]
514.60 s
[really-safe-money-gen]
514.60 s
[really-safe-money-gen] ListLit at src/Money/MultiAccount.hs:66:7-8
514.60 s
[really-safe-money-gen] @@ -63,11 +63,7 @@
514.60 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
514.60 s
[really-safe-money-gen] validate ma@(MultiAccount m) =
514.60 s
[really-safe-money-gen] mconcat
514.60 s
[really-safe-money-gen] - [ genericValidate ma,
514.60 s
[really-safe-money-gen] - decorateMap m $ \_ a ->
514.60 s
[really-safe-money-gen] - declare "The account is not zero" $
514.60 s
[really-safe-money-gen] - a /= Account.zero
514.60 s
[really-safe-money-gen] - ]
514.60 s
[really-safe-money-gen] + []
514.60 s
[really-safe-money-gen]
514.60 s
[really-safe-money-gen] -- TODO no empty currencies
514.60 s
[really-safe-money-gen]
514.60 s
[really-safe-money-gen]
514.60 s
[really-safe-money-gen] ConstBool at src/Money/MultiAccount.hs:69:13-30
514.60 s
[really-safe-money-gen] @@ -66,7 +66,7 @@
514.60 s
[really-safe-money-gen] [ genericValidate ma,
514.60 s
[really-safe-money-gen] decorateMap m $ \_ a ->
514.60 s
[really-safe-money-gen] declare "The account is not zero" $
514.60 s
[really-safe-money-gen] - a /= Account.zero
514.60 s
[really-safe-money-gen] + True
514.60 s
[really-safe-money-gen] ]
514.60 s
[really-safe-money-gen]
514.60 s
[really-safe-money-gen] -- TODO no empty currencies
514.60 s
[really-safe-money-gen]
514.60 s
[really-safe-money-gen] ConstBool at src/Money/MultiAccount.hs:78:6-28
514.60 s
[really-safe-money-gen] @@ -75,7 +75,7 @@
514.60 s
[really-safe-money-gen]
514.60 s
[really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
514.60 s
[really-safe-money-gen] fromAccount currency amount =
514.60 s
[really-safe-money-gen] - if amount == Account.zero
514.60 s
[really-safe-money-gen] + if True
514.60 s
[really-safe-money-gen] then zero
514.60 s
[really-safe-money-gen] else MultiAccount $ M.singleton currency amount
514.60 s
[really-safe-money-gen]
514.60 s
[really-safe-money-gen] checkPhase completed in 5 minutes 45 seconds
514.60 s
[really-safe-money-gen] Phase: haddockPhase
514.75 s
[really-safe-money-gen] Preprocessing library for really-safe-money-gen-0.0.0.0...
514.75 s
[really-safe-money-gen] Running Haddock on library for really-safe-money-gen-0.0.0.0...
514.75 s
[really-safe-money-gen] Warning: The documentation for the following packages are not installed. No
514.75 s
[really-safe-money-gen] links will be generated to these packages: really-safe-money-0.0.0.0
514.96 s
[really-safe-money-gen] [ 1 of 13] Compiling Money.Amount.Gen ( src/Money/Amount/Gen.hs, nothing )
515.07 s
[really-safe-money-gen] [ 2 of 13] Compiling Money.Account.Gen ( src/Money/Account/Gen.hs, nothing )
515.07 s
[really-safe-money-gen] [ 3 of 13] Compiling Money.AccountOf.Gen ( src/Money/AccountOf/Gen.hs, nothing )
515.08 s
[really-safe-money-gen] [ 4 of 13] Compiling Money.AmountOf.Gen ( src/Money/AmountOf/Gen.hs, nothing )
515.09 s
[really-safe-money-gen] [ 5 of 13] Compiling Money.ConversionRate.Gen ( src/Money/ConversionRate/Gen.hs, nothing )
515.10 s
[really-safe-money-gen] [ 6 of 13] Compiling Money.ConversionRateOf.Gen ( src/Money/ConversionRateOf/Gen.hs, nothing )
515.10 s
[really-safe-money-gen] [ 7 of 13] Compiling Money.QuantisationFactor.Gen ( src/Money/QuantisationFactor/Gen.hs, nothing )
515.11 s
[really-safe-money-gen] [ 8 of 13] Compiling Money.Currency.Gen ( src/Money/Currency/Gen.hs, nothing )
515.11 s
[really-safe-money-gen] [ 9 of 13] Compiling Money.MultiAmount.Gen ( src/Money/MultiAmount/Gen.hs, nothing )
515.13 s
[really-safe-money-gen] [10 of 13] Compiling Money.MultiAccount.Gen ( src/Money/MultiAccount/Gen.hs, nothing )
515.14 s
[really-safe-money-gen] [11 of 13] Compiling Money.Gen ( src/Money/Gen.hs, nothing )
515.14 s
[really-safe-money-gen] [12 of 13] Compiling Numeric.DecimalLiteral.Gen ( src/Numeric/DecimalLiteral/Gen.hs, nothing )
515.15 s
[really-safe-money-gen] [13 of 13] Compiling Paths_really_safe_money_gen ( dist/build/autogen/Paths_really_safe_money_gen.hs, nothing )
515.18 s
[really-safe-money-gen] Haddock coverage:
515.18 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.Amount.Gen'
515.18 s
[really-safe-money-gen] Missing documentation for:
515.18 s
[really-safe-money-gen] Module header
515.18 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.Account.Gen'
515.18 s
[really-safe-money-gen] Missing documentation for:
515.18 s
[really-safe-money-gen] Module header
515.18 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.AccountOf.Gen'
515.18 s
[really-safe-money-gen] Missing documentation for:
515.18 s
[really-safe-money-gen] Module header
515.18 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.AmountOf.Gen'
515.18 s
[really-safe-money-gen] Missing documentation for:
515.18 s
[really-safe-money-gen] Module header
515.18 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.ConversionRate.Gen'
515.18 s
[really-safe-money-gen] Missing documentation for:
515.18 s
[really-safe-money-gen] Module header
515.18 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.ConversionRateOf.Gen'
515.18 s
[really-safe-money-gen] Missing documentation for:
515.18 s
[really-safe-money-gen] Module header
515.18 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.QuantisationFactor.Gen'
515.18 s
[really-safe-money-gen] Missing documentation for:
515.18 s
[really-safe-money-gen] Module header
515.18 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.Currency.Gen'
515.18 s
[really-safe-money-gen] Missing documentation for:
515.18 s
[really-safe-money-gen] Module header
515.18 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.MultiAmount.Gen'
515.18 s
[really-safe-money-gen] Missing documentation for:
515.18 s
[really-safe-money-gen] Module header
515.18 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.MultiAccount.Gen'
515.18 s
[really-safe-money-gen] Missing documentation for:
515.18 s
[really-safe-money-gen] Module header
515.18 s
[really-safe-money-gen] Warning: Money.Gen: Could not find documentation for exported module: Money.Gen
515.18 s
[really-safe-money-gen] 90% ( 10 / 11) in 'Money.Gen'
515.18 s
[really-safe-money-gen] Missing documentation for:
515.18 s
[really-safe-money-gen] Module header
515.18 s
[really-safe-money-gen] 0% ( 0 / 2) in 'Numeric.DecimalLiteral.Gen'
515.18 s
[really-safe-money-gen] Missing documentation for:
515.18 s
[really-safe-money-gen] Module header
515.18 s
[really-safe-money-gen] shrinkSign (src/Numeric/DecimalLiteral/Gen.hs:16)
515.27 s
[really-safe-money-gen] Warning: Money.Amount.Gen: could not find link destinations for:
515.27 s
[really-safe-money-gen] - Money.Amount.Amount
515.27 s
[really-safe-money-gen] - Money.Amount.Distribution
515.27 s
[really-safe-money-gen] - Money.Amount.Rounding
515.27 s
[really-safe-money-gen] Warning: Money.Account.Gen: could not find link destinations for:
515.27 s
[really-safe-money-gen] - Money.Account.Account
515.27 s
[really-safe-money-gen] Warning: Money.AccountOf.Gen: could not find link destinations for:
515.27 s
[really-safe-money-gen] - Money.AccountOf.AccountOf
515.27 s
[really-safe-money-gen] Warning: Money.AmountOf.Gen: could not find link destinations for:
515.27 s
[really-safe-money-gen] - Money.AmountOf.AmountOf
515.27 s
[really-safe-money-gen] Warning: Money.ConversionRate.Gen: could not find link destinations for:
515.27 s
[really-safe-money-gen] - Money.ConversionRate.ConversionRate
515.27 s
[really-safe-money-gen] Warning: Money.ConversionRateOf.Gen: could not find link destinations for:
515.27 s
[really-safe-money-gen] - Money.ConversionRateOf.ConversionRateOf
515.27 s
[really-safe-money-gen] Warning: Money.QuantisationFactor.Gen: could not find link destinations for:
515.27 s
[really-safe-money-gen] - Money.QuantisationFactor.QuantisationFactor
515.27 s
[really-safe-money-gen] Warning: Money.Currency.Gen: could not find link destinations for:
515.27 s
[really-safe-money-gen] - Money.Currency.Currency
515.27 s
[really-safe-money-gen] Warning: Money.MultiAmount.Gen: could not find link destinations for:
515.27 s
[really-safe-money-gen] - Money.MultiAmount.MultiAmount
515.27 s
[really-safe-money-gen] Warning: Money.MultiAccount.Gen: could not find link destinations for:
515.27 s
[really-safe-money-gen] - Money.MultiAccount.MultiAccount
515.27 s
[really-safe-money-gen] Warning: Numeric.DecimalLiteral.Gen: could not find link destinations for:
515.27 s
[really-safe-money-gen] - Numeric.DecimalLiteral.DecimalLiteral
519.65 s
[really-safe-money-gen] Documentation created: dist/doc/html/really-safe-money-gen/,
519.65 s
[really-safe-money-gen] dist/doc/html/really-safe-money-gen/really-safe-money-gen.txt
519.74 s
[really-safe-money-gen] Preprocessing test suite 'really-safe-money-test' for really-safe-money-gen-0.0.0.0...
519.74 s
[really-safe-money-gen] Phase: installPhase
519.81 s
[really-safe-money-gen] Installing library in /nix/store/jbb1diq6a708496dvvcall823vbysrxd-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
520.12 s
[really-safe-money-gen] Phase: fixupPhase
520.14 s
[really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/jbb1diq6a708496dvvcall823vbysrxd-really-safe-money-gen-0.0.0.0
520.15 s
[really-safe-money-gen] shrinking /nix/store/jbb1diq6a708496dvvcall823vbysrxd-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
520.16 s
[really-safe-money-gen] checking for references to /build/ in /nix/store/jbb1diq6a708496dvvcall823vbysrxd-really-safe-money-gen-0.0.0.0...
520.18 s
[really-safe-money-gen] patching script interpreter paths in /nix/store/jbb1diq6a708496dvvcall823vbysrxd-really-safe-money-gen-0.0.0.0
520.19 s
[really-safe-money-gen] stripping (with command strip and flags -S -p) in /nix/store/jbb1diq6a708496dvvcall823vbysrxd-really-safe-money-gen-0.0.0.0/lib
520.24 s
[really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/sjb64qh17vx2zg2hn92lp46n5dnpapk7-really-safe-money-gen-0.0.0.0-doc
520.25 s
[really-safe-money-gen] checking for references to /build/ in /nix/store/sjb64qh17vx2zg2hn92lp46n5dnpapk7-really-safe-money-gen-0.0.0.0-doc...
520.27 s
[really-safe-money-gen] patching script interpreter paths in /nix/store/sjb64qh17vx2zg2hn92lp46n5dnpapk7-really-safe-money-gen-0.0.0.0-doc
520.27 s
[really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/vg6f0y05y5k8w3rnrxizrh8zi7pbr6cx-really-safe-money-gen-0.0.0.0-report
520.28 s
[really-safe-money-gen] checking for references to /build/ in /nix/store/vg6f0y05y5k8w3rnrxizrh8zi7pbr6cx-really-safe-money-gen-0.0.0.0-report...
520.30 s
[really-safe-money-gen] patching script interpreter paths in /nix/store/vg6f0y05y5k8w3rnrxizrh8zi7pbr6cx-really-safe-money-gen-0.0.0.0-report
520.42 s
Progress: 12 of 13 built