packages feed

dobutokO-poetry 0.8.1.0 → 0.9.0.0

raw patch · 4 files changed

+26/−7 lines, 4 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

ChangeLog.md view
@@ -49,3 +49,7 @@ ## 0.8.1.0 -- 2020-07-31  * Eigth version revised A. Fixed issue with being not compiled fo GHC versions prior to 8.4* series. ++## 0.9.0.0 -- 2020-08-01++* Ninth version. Fixed issues with empty lists in the norms for some variants in DobutokO.Poetry.Norms module. Some documentation improvements.
DobutokO/Poetry/Norms.hs view
@@ -49,6 +49,7 @@ norm4 :: [Int] -> Int norm4 xs   | null xs = 0+ | length xs == 1 = head xs  | otherwise = maximum xs + sum xs + maximum (xs \\ [maximum xs]) {-# INLINE norm4 #-}  @@ -56,6 +57,7 @@ norm5 :: [Int] -> Int norm5 xs   | null xs = 0+ | length xs == 1 = head xs  | minimum xs == 0 = norm5 . filter (/= 0) $ xs  | otherwise = sum xs `quot` (minimum xs + minimum (xs \\ [minimum xs])) {-# INLINE norm5 #-} @@ -64,7 +66,12 @@ norm51 :: [Int] -> Int norm51 xs   | null xs = 0- | compare (minimum xs) 1 /= GT = let ys = filter (\t -> compare t 1 == GT) xs in (3 * sum xs) `quot` (minimum ys + minimum (ys \\ [minimum ys]))+ | compare (minimum xs) 1 /= GT = let ys = filter (\t -> compare t 1 == GT) xs in +    case length ys of+      0 -> sum xs+      1 -> (3 * sum xs) `quot` (minimum ys + maximum ys)+      _ -> (3 * sum xs) `quot` (minimum ys + minimum (ys \\ [minimum ys]))+ | length xs == 1 = (3 * sum xs) `quot` (minimum xs + maximum xs)  | otherwise = (3 * sum xs) `quot` (minimum xs + minimum (xs \\ [minimum xs])) {-# INLINE norm51 #-}  @@ -74,10 +81,19 @@ norm513 xs   | null xs = 0  | compare (minimum xs) 1 /= GT = -   let ys = filter (\t -> compare t 1 == GT) xs -       zs = ys \\ [minimum ys] in (3 * sum xs) `quot` (minimum ys + minimum zs + minimum (zs \\ [minimum zs]))+   let ys = filter (\t -> compare t 1 == GT) xs in +     case length ys of +       0 -> sum xs+       1 -> (3 * sum xs) `quot` (minimum ys + maximum ys)+       2 -> let zs = ys \\ [minimum ys] in (3 * sum xs) `quot` (minimum ys + 2 * minimum zs)+       _ -> let zs = ys \\ [minimum ys] in (3 * sum xs) `quot` (minimum ys + minimum zs + minimum (zs \\ [minimum zs]))  | otherwise = -   let zs = xs \\ [minimum xs] in (3 * sum xs) `quot` (minimum xs + minimum zs + minimum (zs \\ [minimum zs]))+   let zs = xs \\ [minimum xs] in +     case length zs of +       0 -> sum xs+       1 -> (3 * sum xs) `quot` (minimum zs + maximum zs)+       2 -> let ts = zs \\ [minimum zs] in (3 * sum xs) `quot` (minimum zs + 2 * minimum ts)+       _ -> let ts = zs \\ [minimum zs] in (3 * sum xs) `quot` (minimum zs + minimum ts + minimum (ts \\ [minimum ts])) {-# INLINE norm513 #-}     -- | The sixth norm for the list of non-negative 'Int'.
DobutokO/Poetry/StrictV.hs view
@@ -6,8 +6,7 @@ -- Maintainer  :  olexandr543@yahoo.com -- -- Helps to order the 7 or less Ukrainian words (or their concatenations) --- to obtain (to some extent) suitable for poetry or music text. The main --- module in the library that imports all other ones except Main.+-- to obtain (to some extent) suitable for poetry or music text.   {-# LANGUAGE CPP, BangPatterns #-} 
dobutokO-poetry.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                dobutokO-poetry-version:             0.8.1.0+version:             0.9.0.0 synopsis:            Helps to order the 7 or less Ukrainian words to obtain somewhat suitable for poetry or music text description:         Helps to order the 7 or less Ukrainian words (or their concatenations) to obtain somewhat suitable for poetry or music text. Can be also used as a research instrument with generalized functions.