packages feed

phonetic-languages-simplified-examples-array 0.16.3.0 → 0.17.0.0

raw patch · 7 files changed

+99/−48 lines, 7 filesdep +mmsyn2-array-ukrainian-datadep ~cli-argumentsdep ~mmsyn2-arraydep ~phonetic-languages-constraints-arrayPVP ok

version bump matches the API change (PVP)

Dependencies added: mmsyn2-array-ukrainian-data

Dependency ranges changed: cli-arguments, mmsyn2-array, phonetic-languages-constraints-array, phonetic-languages-filters-array, phonetic-languages-permutations-array, phonetic-languages-plus, phonetic-languages-rhythmicity, phonetic-languages-simplified-base, phonetic-languages-simplified-examples-common, phonetic-languages-simplified-properties-array, phonetic-languages-ukrainian-array, string-interpreter, subG, ukrainian-phonetics-basic-array, uniqueness-periods-vector-stats

API changes (from Hackage documentation)

+ Phonetic.Languages.Simplified.Array.Ukrainian.FuncRep2RelatedG2: tup7 :: Array Int (Int8, [Int8] -> Int8)
- Phonetic.Languages.Simplified.Array.Ukrainian.FuncRep2RelatedG2: chooseMax :: Ord c => [[[[Sound8]]] -> [[Double]]] -> (Double -> c) -> Coeffs2 -> String -> FuncRep2 String Double c
+ Phonetic.Languages.Simplified.Array.Ukrainian.FuncRep2RelatedG2: chooseMax :: Ord c => Array Int (Int8, Bool) -> Array Int (Int8, Bool) -> Array Int (Int8, Bool) -> Array Int (Int8, Bool) -> Array Int ([Int8], Bool) -> Array Int ([Int8], Int8) -> Array Int (Int8, FlowSound -> Sound8) -> Array Int (Int8, Bool) -> Array Int ([Int8], Bool) -> Array Int ([Int8], Bool) -> Array Int ([Int8], Bool) -> Array Int (Int8, [Int8]) -> Array Int (Char, Int8) -> Array Int (Int8, [Int8]) -> Array Int (Char, Bool) -> Array Int (Char, Bool) -> Array Int (Int8, Bool) -> [[[[Sound8]]] -> [[Double]]] -> (Double -> c) -> Coeffs2 -> String -> FuncRep2 String Double c

Files

CHANGELOG.md view
@@ -224,3 +224,8 @@  * The sixteenth version revised E. Updated the dependencies so that the new behaviour of the phonetic-languages-ukrainian-array takes its place.++## 0.17.0.0 -- 2022-02-22++* The seventeenth version. Switched to the extended versions that should optimize code more in speed. Updated the+documentation. Added a new dependency of mmsyn2-array-ukrainian-data.
Phonetic/Languages/GetTextualInfo.hs view
@@ -4,7 +4,7 @@  -- | -- Module      :  Phonetic.Languages.GetTextualInfo--- Copyright   :  (c) OleksandrZhabenko 2020-2021+-- Copyright   :  (c) OleksandrZhabenko 2020-2022 -- License     :  MIT -- Stability   :  Experimental -- Maintainer  :  olexandr543@yahoo.com@@ -47,6 +47,7 @@ import Melodics.Ukrainian.ArrInt8 (Sound8) import Phonetic.Languages.Simplified.Array.Ukrainian.ReadProperties import Phonetic.Languages.Permutations.Represent+import Languages.Ukrainian.Data  {-| @ since 0.5.0.0 -- The meaning of the first command line argument (and 'Coeffs2' here everywhere in the module) depends on the 'String' argument -- whether it starts with \'w\', \'x\' or otherwise. In the first case it represents@@ -133,11 +134,11 @@             unsafeAt permsV50 $ l2           ((!minE,!maxE),!data2) = runEval (parTuple2 rpar rpar (minMax11C . map (toTransPropertiesF' (if take 1 choice == "x"             || take 1 choice == "w" || (take 1 choice == "H" && (drop 1 (take 2 choice) `elem` ["w","x"]))-              then chooseMax syllableDurationsDs id coeffsWX choice-              else chooseMax syllableDurationsDs id coeffs choice)) .+              then chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs id coeffsWX choice+              else chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs id coeffs choice)) .                 uniquenessVariants2GNBL ' ' id id id permsV5 $ v2, toTransPropertiesF' (if take 1 choice == "x"-                  || take 1 choice == "w" then chooseMax syllableDurationsDs id coeffsWX choice-                    else chooseMax syllableDurationsDs id coeffs choice) . unwords . subG " 01-" $ v))+                  || take 1 choice == "w" then chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs id coeffsWX choice+                    else chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs id coeffs choice) . unwords . subG " 01-" $ v))           (!wordsN,!intervalN) = (l2 + 2, intervalNRealFrac minE maxE gz data2)           !ratio = if maxE == 0.0 then 0.0 else 2.0 * data2 / (minE + maxE)       hPutStr stdout . showFFloat (precChoice choice) minE $ "\t"@@ -162,13 +163,13 @@          rs = parMap rpar (\choiceMMs -> (minMax11C .            map (toTransPropertiesF' (if take 1 choiceMMs == "x" || take 1 choiceMMs == "w" ||             (take 1 choice == "H" && (drop 1 (take 2 choice) `elem` ["w","x"]))-             then chooseMax syllableDurationsDs id coeffsWX choiceMMs-             else chooseMax syllableDurationsDs id coeffs choiceMMs)) .+             then chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs id coeffsWX choiceMMs+             else chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs id coeffs choiceMMs)) .               uniquenessVariants2GNBL ' ' id id id permsV5 $ v2,                toTransPropertiesF' (if take 1 choiceMMs == "x" || take 1 choiceMMs == "w" ||                 (take 1 choice == "H" && (drop 1 (take 2 choice) `elem` ["w","x"]))-                 then chooseMax syllableDurationsDs id coeffsWX choiceMMs-                 else chooseMax syllableDurationsDs id coeffs choiceMMs) .+                 then chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs id coeffsWX choiceMMs+                 else chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs id coeffs choiceMMs) .                   unwords . subG " 01-" $ v,gz)) multiples4          (!wordsN,!intervalNs) = (l2 + 2, map (\((!x,!y),!z,!t) -> intervalNRealFrac x y t z) rs)            in do
Phonetic/Languages/Lines.hs view
@@ -35,6 +35,7 @@ import Phonetic.Languages.Ukrainian.PrepareText (prepareGrowTextMN) import Phonetic.Languages.Simplified.Array.Ukrainian.ReadProperties import Phonetic.Languages.Permutations.Represent+import Languages.Ukrainian.Data  {-| @ since 0.5.0.0 -- The meaning of the first command line argument (and 'Coeffs2' here everywhere in the module) depends on the 'String' argument -- whether it starts with \'w\', \'x\' or otherwise. In the first case it represents@@ -80,7 +81,7 @@         !l2 = (subtract 3) . length $ us     if compare l2 0 /= LT then do       let !perms2 = unsafeAt permsV $ l2-          minMaxTuples = let !frep20Zip = zip choices . map (chooseMax syllableDurationsDs id coeffs) $ choices in+          minMaxTuples = let !frep20Zip = zip choices . map (chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs id coeffs) $ choices in             map (\(_,frep20) -> minMax11C . map (toPropertiesF' frep20) .               uniquenessVariants2GNPBL [] (concat . take 1 $ lasts) ' ' id id id perms2 . init $ us) frep20Zip       mapM_ (\(choice, (minE,maxE)) -> toFileStr (choice ++ "." ++ file ++ ".new.txt")@@ -120,7 +121,7 @@       where (!zss,!tss) = splitAt 1 xss             !rs = words . concat $ zss             !l = length rs-            !frep2 = chooseMax syllableDurationsDs id coeffs choice+            !frep2 = chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs id coeffs choice             !ws = if compare l 3 == LT then unwords rs else line . maximumElR . map (toResultR frep2) .                uniquenessVariants2GNPBL [] (last rs) ' ' id id id (unsafeAt permsG1 (l - 3)) . init $ rs @@ -145,7 +146,7 @@             !l3 = (subtract 3) . length $ w2s             !rs = words . concat $ zss             !l = length rs-            !frep2 = chooseMax syllableDurationsDs (unsafeSwapVecIWithMaxI minE maxE numberI intervNbrs) coeffs choice+            !frep2 = chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs (unsafeSwapVecIWithMaxI minE maxE numberI intervNbrs) coeffs choice             !ws = if compare (length rs) 3 == LT then unwords rs else line . maximumElR .                     map (toResultR frep2) .                       uniquenessVariants2GNPBL [] (last rs) ' ' id id id (unsafeAt permsG1 (l - 3)) . init $ rs@@ -153,7 +154,7 @@              | compare l3 0 /= LT =                let !perms3 = unsafeAt permsG1 l3                    !v4 = init w2s-                   !frep20 = chooseMax syllableDurationsDs id coeffs choice in minMax11C . map (toPropertiesF' frep20) .+                   !frep20 = chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs id coeffs choice in minMax11C . map (toPropertiesF' frep20) .                       uniquenessVariants2GNPBL [] (last w2s) ' ' id id id perms3 $ v4              | otherwise = (0.0,0.0) 
Phonetic/Languages/Simple.hs view
@@ -4,7 +4,7 @@  -- | -- Module      :  Phonetic.Languages.Simple--- Copyright   :  (c) OleksandrZhabenko 2020-2021+-- Copyright   :  (c) OleksandrZhabenko 2020-2022 -- License     :  MIT -- Stability   :  Experimental -- Maintainer  :  olexandr543@yahoo.com@@ -40,6 +40,7 @@ import Phonetic.Languages.Ukrainian.PrepareText (prepareTuneTextMN,isSpC,isUkrainianL) import Phonetic.Languages.Simplified.Array.Ukrainian.ReadProperties import Phonetic.Languages.Permutations.Represent+import Languages.Ukrainian.Data  forMultiplePropertiesF :: [String] -> [(String,[String])] forMultiplePropertiesF (xs:xss)@@ -184,8 +185,8 @@        !intervalNmbrs = (\zs -> if null zs then [numberI] else L.nub zs) . L.sort . filter (<= numberI) .            map (\t -> fromMaybe numberI $ (readMaybe t::Maybe Int)) . drop 2 $ numericArgs    if compare l 2 == LT then let !frep20-                                    | take 1 choice == "x" || take 1 choice == "w" || (take 1 choice == "H" && (drop 1 (take 2 choice) `elem` ["x","w"]))= chooseMax syllableDurationsDs id coeffsWX choice-                                    | otherwise = chooseMax syllableDurationsDs id coeffs choice+                                    | take 1 choice == "x" || take 1 choice == "w" || (take 1 choice == "H" && (drop 1 (take 2 choice) `elem` ["x","w"]))= chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs id coeffsWX choice+                                    | otherwise = chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs id coeffs choice                                  !wwss = (:[]) . toResultR frep20 $ xs in     case recursiveMode of       True -> interactivePrintResultRecursive syllableDurationsDs pairwisePermutations recursiveMode nativeUkrainian interactive jstL0 args0 coeffs coeffsWX line wwss args lstW2@@ -219,7 +220,7 @@        !l = length . words $ xs        !argCs = catMaybes (fmap (readMaybeECG (l - 1)) . (showB l lstW2:) . drop 1 . dropWhile (/= "+a") .                   takeWhile (/= "-a") $ args0)-   if compare l 2 == LT then let !frep20 = chooseMax syllableDurationsDs id coeffs (concat . take 1 $ choices)+   if compare l 2 == LT then let !frep20 = chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs id coeffs (concat . take 1 $ choices)                                  !wwss = (:[]) . toResultR frep20 $ xs in      case recursiveMode of        True -> interactivePrintResultRecursive syllableDurationsDs pairwisePermutations recursiveMode nativeUkrainian interactive jstL0 args0 coeffs coeffsWX line wwss args lstW2@@ -336,20 +337,20 @@  -> ([Int],Int,Int,String)  -> IO [Result [] Char Double Double] generalProcMs syllableDurationsDs coeffs coeffsWX perms subs (intervalNmbrs, arg0, numberI, choice) = do-  if compare numberI 2 == LT then let !frep2 = if take 1 choice == "x" || take 1 choice == "w" || (take 1 choice == "H" && (drop 1 (take 2 choice) `elem` ["x","w"])) then chooseMax syllableDurationsDs id coeffsWX choice else chooseMax syllableDurationsDs id coeffs choice+  if compare numberI 2 == LT then let !frep2 = if take 1 choice == "x" || take 1 choice == "w" || (take 1 choice == "H" && (drop 1 (take 2 choice) `elem` ["x","w"])) then chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs id coeffsWX choice else chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs id coeffs choice    in return . fst . maximumGroupsClassificationR arg0 . map (toResultR frep2) .         uniquenessVariants2GNBL ' ' id id id perms $ subs   else do     let !variants1 = uniquenessVariants2GNBL ' ' id id id perms subs         !frep20           | take 1 choice == "x" || take 1 choice == "w" ||-              (take 1 choice == "H" && (drop 1 (take 2 choice) `elem` ["x","w"])) = chooseMax syllableDurationsDs id coeffsWX choice-          | otherwise = chooseMax syllableDurationsDs id coeffs choice+              (take 1 choice == "H" && (drop 1 (take 2 choice) `elem` ["x","w"])) = chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs id coeffsWX choice+          | otherwise = chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs id coeffs choice         (!minE,!maxE) = minMax11C . map (toPropertiesF' frep20) $ variants1         !frep2           | take 1 choice == "x" || take 1 choice == "w" ||-              (take 1 choice == "H" && (drop 1 (take 2 choice) `elem` ["x","w"])) = chooseMax syllableDurationsDs (unsafeSwapVecIWithMaxI minE maxE numberI intervalNmbrs) coeffsWX choice-          | otherwise = chooseMax syllableDurationsDs (unsafeSwapVecIWithMaxI minE maxE numberI intervalNmbrs) coeffs choice+              (take 1 choice == "H" && (drop 1 (take 2 choice) `elem` ["x","w"])) = chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs (unsafeSwapVecIWithMaxI minE maxE numberI intervalNmbrs) coeffsWX choice+          | otherwise = chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs (unsafeSwapVecIWithMaxI minE maxE numberI intervalNmbrs) coeffs choice     return . fst . maximumGroupsClassificationR arg0 . map (toResultR frep2) $ variants1  -- |
Phonetic/Languages/Simplified/Array/Ukrainian/FuncRep2RelatedG2.hs view
@@ -1,6 +1,6 @@ -- | -- Module      :  Phonetic.Languages.Simplified.Array.Ukrainian.FuncRep2RelatedG2--- Copyright   :  (c) OleksandrZhabenko 2020-2021+-- Copyright   :  (c) OleksandrZhabenko 2020-2022 -- License     :  MIT -- Stability   :  Experimental -- Maintainer  :  olexandr543@yahoo.com@@ -11,7 +11,7 @@  module Phonetic.Languages.Simplified.Array.Ukrainian.FuncRep2RelatedG2 where -import CaseBi.Arr (getBFstLSorted')+import CaseBi.Arr import Phonetic.Languages.Simplified.DataG.Base import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common import Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Diverse@@ -20,16 +20,41 @@ import Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG22 import Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG23 import Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG24-import Melodics.Ukrainian.ArrInt8 (Sound8)+import Melodics.Ukrainian.ArrInt8+import GHC.Arr (Array, listArray)+import GHC.Int (Int8)+import Languages.Ukrainian.Data  -- | Allows to choose the variant of the computations in case of usual processment. -- Since the 0.13.0.0 version there is a possibility to provide the list of durations specifications functions as the first -- argument.-chooseMax :: (Ord c) => [[[[Sound8]]] -> [[Double]]] -> (Double -> c) -> Coeffs2 -> String -> FuncRep2 String Double c-chooseMax syllableDurationsDs g coeffs choice- | take 1 choice == "H" = procRhythmicity23FH 1.3 g syllableDurationsDs choice coeffs- | take 1 choice `elem` ["c","M","N"] || (take 1 choice >= "A" && take 1 choice <= "F") = procRhythmicity23F 1.3 g choice coeffs- | getBFstLSorted' False (zip ["02y","02z","03y","03z","04y","04z","0y","0z","I01","I02","I03","I04","I11",+chooseMax+  :: (Ord c) => Array Int (Int8, Bool)+  -> Array Int (Int8, Bool)+  -> Array Int (Int8, Bool)+  -> Array Int (Int8, Bool)+  -> Array Int ([Int8], Bool)+  -> Array Int ([Int8], Int8)+  -> Array Int (Int8, FlowSound -> Sound8)+  -> Array Int (Int8, Bool)+  -> Array Int ([Int8], Bool)+  -> Array Int ([Int8], Bool)+  -> Array Int ([Int8], Bool)+  -> Array Int (Int8, [Int8])+  -> Array Int (Char,Int8)+  -> Array Int (Int8,[Int8])+  -> Array Int (Char, Bool)+  -> Array Int (Char, Bool)+  -> Array Int (Int8,Bool)+  -> [[[[Sound8]]] -> [[Double]]]+  -> (Double -> c)+  -> Coeffs2+  -> String+  -> FuncRep2 String Double c+chooseMax tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsDs g coeffs choice+ | take 1 choice == "H" = procRhythmicity23FHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 1.3 g syllableDurationsDs choice coeffs+ | take 1 choice `elem` ["c","M","N"] || (take 1 choice >= "A" && take 1 choice <= "F") = procRhythmicity23FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 1.3 g choice coeffs+ | getBFst' (False, listArray (0,1187) . zip ["02y","02z","03y","03z","04y","04z","0y","0z","I01","I02","I03","I04","I11",         "I12","I12","I13","I14","I21","I22","I23","I24","I31","I32","I33","I34","I41","I42","I43","I44",         "I51","I52","I53","I54","I61","I62","I63","I64","I71","I72","I74","J01","J02","J03","J04","J11",         "J12","J13","J14","J21","J22","J23","J24","J31","J32","J33","J34","J41","J42","J43","J44","J51",@@ -104,14 +129,25 @@         "v51","v52","v53","v54","v61","v62","v63","v64","v71","v72","v74","w01","w02","w03","w04","w11",         "w12","w13","w14","w21","w22","w23","w24","w31","w32","w33","w34","x01","x02","x03","x04","x11",         "x12","x13","x14","x21","x22","x23","x24","x31","x32","x33","x34"] . replicate 3000 $ True) choice =-           procRhythmicity23F 1.3 g choice coeffs- | otherwise = getBFstLSorted' (procBoth4InvF g coeffs) [("y",procBothF g coeffs),("y0",procDiverse2F g),-                  ("y2",procBoth2F g coeffs),("y3",procBoth3F g coeffs), ("y4",procBoth4F g coeffs),-                  ("yy",procBothInvF g coeffs),("yy2",procBoth2InvF g coeffs),("yy3",procBoth3InvF g coeffs),-                  ("z",procBothFF 1.3 g coeffs),("z2",procBoth2FF 1.3 g coeffs),-                  ("z3",procBoth3FF 1.3 g coeffs), ("z4",procBoth4FF 1.3 g coeffs),-                  ("zz",procBothInvFF 1.3 g coeffs),("zz2",procBoth2InvFF 1.3 g coeffs),-                  ("zz3",procBoth3InvFF 1.3 g coeffs),("zz4", procBoth4InvFF 1.3 g coeffs)] choice+           procRhythmicity23FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 1.3 g choice coeffs+ | otherwise =+    getBFstLSorted' (procBoth4InvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs)+      [("y",procBothFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs),+       ("y0",procDiverse2FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 g),+       ("y2",procBoth2FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs),+       ("y3",procBoth3FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs),+       ("y4",procBoth4FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs),+       ("yy",procBothInvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs),+       ("yy2",procBoth2InvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs),+       ("yy3",procBoth3InvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs),+       ("z",procBothFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 1.3 g coeffs),+       ("z2",procBoth2FFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 1.3 g coeffs),+       ("z3",procBoth3FFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 1.3 g coeffs),+       ("z4",procBoth4FFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 1.3 g coeffs),+       ("zz",procBothInvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 1.3 g coeffs),+       ("zz2",procBoth2InvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 1.3 g coeffs),+       ("zz3",procBoth3InvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 1.3 g coeffs),+       ("zz4", procBoth4InvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 1.3 g coeffs)] choice  -- | Allows to choose precision in the Numeric.showFDouble function being given a choice parameter. precChoice :: String -> Maybe Int@@ -120,3 +156,10 @@   ("H04z",Just 0),("H0y",Just 0),("H0z",Just 0),("Hy",Just 0),("Hy0",Just 0),("Hy2",Just 0),("Hy3",Just 0), ("Hy4",Just 0),     ("Hz",Just 0),("Hz0",Just 0),("Hz2",Just 0),("Hz3",Just 0), ("Hz4",Just 0), ("y",Just 0),("y0",Just 0),("y2",Just 0),     ("y3",Just 0), ("y4",Just 0),("z",Just 0),("z0",Just 0),("z2",Just 0),("z3",Just 0), ("z4",Just 0)]++---------------------------------------------------++tup7 :: Array Int (Int8,[Int8] -> Int8)+tup7 = listArray (0,18) [(8, дзT tup9 tup10),(10, жT),(17, дT),(21, гT),(25, зT tup9 tup10),(38, цT tup8 tup9 tup10),+              (39, чT),(41, шT),(43, фT), (45, кT),(47, пT),(49, сT tup8 tup9 tup10),(50, тT tup8 tup11 tup10),+                (52, хT),(54, сьT),(62, нтT),(63, стT),(64, тьT),(66, цьT)]
README view
@@ -2,19 +2,19 @@ of the package phonetic-languages-simplified-examples-array in Ukrainian is here: -https://oleksandrzhabenko.github.io/uk/InstructionUkr.16.pdf+https://oleksandrzhabenko.github.io/uk/InstructionUkr.17.pdf  or here: -(try https://web.archive.org/save/https://oleksandrzhabenko.github.io/uk/InstructionUkr.16.pdf)+(try https://web.archive.org/save/https://oleksandrzhabenko.github.io/uk/InstructionUkr.17.pdf)  The instruction in English is here: -https://oleksandrzhabenko.github.io/uk/InstructionEng.16.pdf+https://oleksandrzhabenko.github.io/uk/InstructionEng.17.pdf  or here: -(try https://web.archive.org/save/https://oleksandrzhabenko.github.io/uk/InstructionEng.16.pdf)+(try https://web.archive.org/save/https://oleksandrzhabenko.github.io/uk/InstructionEng.17.pdf)  Since the version 0.2.0.0 there exists also comparative mode for the rewritePoemG3 executable. It allows to@@ -140,7 +140,7 @@ examples where RTS does not support parallelism of this kind is armhf (e. g. Linux on Raspberry PI in 32-bit mode). -propertiesTextG3 sadok0.txt +RTS -N --RTS s 1 0 +m y0 0y 02z 03y z2 y3 yyy -m+propertiesTextG3 sadok0.txt +RTS -N --RTS s 1 0 +m y0 0y 02z 03y z2 y3 yy3 -m  propertiesTextG3 sadok0.txt +RTS -N --RTS s 1 0 03z +b | distributionTextG s 1 +W 
phonetic-languages-simplified-examples-array.cabal view
@@ -2,7 +2,7 @@ -- further documentation, see http://haskell.org/cabal/users-guide/  name:                phonetic-languages-simplified-examples-array-version:             0.16.3.0+version:             0.17.0.0 synopsis:            Helps to create Ukrainian texts with the given phonetic properties. description:         Uses more functionality of the arrays and lists. The vector-related functionality is removed and this made the executables and libraries much more lightweight. Deal the Ukrainian as one of the phonetic languages. For the brief introduction in English, please, refer to: https://functional-art.org/2020/papers/Poetry-OleksandrZhabenko.pdf. Since the version 0.3.0.0 the package has the multiple variations mode for @lineVariantsG3@ executable that allows to use modifications in the text, e. g. synonyms, paraphrases etc. To present the created text you can use e. g. html-presentation-text package: https://hackage.haskell.org/package/html-presentation-text . homepage:            https://hackage.haskell.org/package/phonetic-languages-simplified-examples-array@@ -20,7 +20,7 @@   exposed-modules:     Phonetic.Languages.Simplified.Array.Ukrainian.FuncRep2RelatedG2, Phonetic.Languages.Simple, Phonetic.Languages.Lines, Phonetic.Languages.GetTextualInfo, Phonetic.Languages.Parsing, Phonetic.Languages.Simplified.Array.Ukrainian.ReadProperties   -- other-modules:   other-extensions:    BangPatterns-  build-depends:       base >=4.8 && <5, ukrainian-phonetics-basic-array >=0.4.2 && <1, phonetic-languages-simplified-base >=0.4.5 && <1, phonetic-languages-simplified-properties-array >=0.12.2 && <1, phonetic-languages-ukrainian-array >=0.9.2 && <1, phonetic-languages-filters-array >=0.3 && <1, uniqueness-periods-vector-stats >=0.2.1 && <1, parallel >=3.2.0.6 && <4, phonetic-languages-plus >=0.5.1 && <1, subG >= 0.4 && < 1, phonetic-languages-rhythmicity >=0.9.1 && <1, phonetic-languages-permutations-array >= 0.2 && <1, heaps >= 0.3.6.1 && <1, phonetic-languages-constraints-array >=0.1 && <1, phonetic-languages-simplified-examples-common >=0.4.2 && <1, mmsyn2-array >= 0.3 && <1, string-interpreter >=0.5.4.1 && <1, cli-arguments >= 0.6 && <1+  build-depends:       base >=4.8 && <5, ukrainian-phonetics-basic-array ==0.5.2.0, phonetic-languages-simplified-base ==0.4.5.0, phonetic-languages-simplified-properties-array ==0.13.0.0, phonetic-languages-ukrainian-array ==0.9.2.0, phonetic-languages-filters-array ==0.3.0.0, uniqueness-periods-vector-stats ==0.2.1.0, parallel >=3.2.0.6 && <4, phonetic-languages-plus ==0.5.1.0, subG == 0.5.2.0, phonetic-languages-rhythmicity ==0.9.1.0, phonetic-languages-permutations-array == 0.3.3.0, heaps >= 0.3.6.1 && <1, phonetic-languages-constraints-array ==0.1.0.0, phonetic-languages-simplified-examples-common ==0.4.2.0, mmsyn2-array == 0.3.0.0, string-interpreter ==0.5.4.1, cli-arguments == 0.6.0.0, mmsyn2-array-ukrainian-data == 0.1.0.0   -- hs-source-dirs:   default-language:    Haskell2010 @@ -28,7 +28,7 @@   main-is:             Main.hs   other-modules:       Phonetic.Languages.Simplified.Array.Ukrainian.FuncRep2RelatedG2, Phonetic.Languages.Simple, Phonetic.Languages.Parsing, Phonetic.Languages.Simplified.Array.Ukrainian.ReadProperties   other-extensions:    BangPatterns-  build-depends:       base >=4.8 && <5, ukrainian-phonetics-basic-array >=0.4.2 && <1, phonetic-languages-simplified-base >=0.4.5 && <1, phonetic-languages-simplified-properties-array >=0.12.2 && <1, phonetic-languages-ukrainian-array >=0.9.2 && <1, phonetic-languages-filters-array >=0.3 && <1, phonetic-languages-plus >=0.5.1 && <1, subG >=0.4 && < 1, mmsyn2-array >= 0.3 && <1, phonetic-languages-constraints-array >=0.1 && <1, phonetic-languages-permutations-array >= 0.2 && <1, heaps >= 0.3.6.1 && <1, phonetic-languages-simplified-examples-common >=0.4.2 && <1, string-interpreter >=0.5.4.1 && <1, mmsyn2-array >= 0.3 && <1, cli-arguments >= 0.6 && <1+  build-depends:       base >=4.8 && <5, ukrainian-phonetics-basic-array ==0.5.2.0, phonetic-languages-simplified-base ==0.4.5.0, phonetic-languages-simplified-properties-array ==0.13.0.0, phonetic-languages-ukrainian-array ==0.9.2.0, phonetic-languages-filters-array ==0.3.0.0, uniqueness-periods-vector-stats ==0.2.1.0, parallel >=3.2.0.6 && <4, phonetic-languages-plus ==0.5.1.0, subG == 0.5.2.0, phonetic-languages-rhythmicity ==0.9.1.0, phonetic-languages-permutations-array == 0.3.3.0, heaps >= 0.3.6.1 && <1, phonetic-languages-constraints-array ==0.1.0.0, phonetic-languages-simplified-examples-common ==0.4.2.0, mmsyn2-array == 0.3.0.0, string-interpreter ==0.5.4.1, cli-arguments == 0.6.0.0, mmsyn2-array-ukrainian-data == 0.1.0.0   ghc-options:         -threaded -rtsopts   hs-source-dirs:      ., Simple   default-language:    Haskell2010@@ -37,7 +37,7 @@   main-is:             Main.hs   other-modules:       Phonetic.Languages.Simplified.Array.Ukrainian.FuncRep2RelatedG2, Phonetic.Languages.Lines, Phonetic.Languages.Parsing, Phonetic.Languages.Simplified.Array.Ukrainian.ReadProperties   other-extensions:    BangPatterns-  build-depends:       base >=4.8 && <5, ukrainian-phonetics-basic-array >=0.4.2 && <1, phonetic-languages-simplified-base >=0.4.5 && <1, phonetic-languages-simplified-properties-array >=0.12.2 && <1, phonetic-languages-ukrainian-array >=0.9.2 && <1, phonetic-languages-filters-array >=0.3 && <1, phonetic-languages-plus >=0.5.1 && <1, subG >= 0.4 && < 1, phonetic-languages-rhythmicity >=0.9.1 && <1, phonetic-languages-constraints-array >=0.1 && <1, phonetic-languages-permutations-array >= 0.2 && <1, heaps >= 0.3.6.1 && <1, phonetic-languages-simplified-examples-common >=0.4.2 && <1, mmsyn2-array >= 0.3 && <1, string-interpreter >=0.5.4.1 && <1, cli-arguments >= 0.6 && <1+  build-depends:       base >=4.8 && <5, ukrainian-phonetics-basic-array ==0.5.2.0, phonetic-languages-simplified-base ==0.4.5.0, phonetic-languages-simplified-properties-array ==0.13.0.0, phonetic-languages-ukrainian-array ==0.9.2.0, phonetic-languages-filters-array ==0.3.0.0, uniqueness-periods-vector-stats ==0.2.1.0, parallel >=3.2.0.6 && <4, phonetic-languages-plus ==0.5.1.0, subG == 0.5.2.0, phonetic-languages-rhythmicity ==0.9.1.0, phonetic-languages-permutations-array == 0.3.3.0, heaps >= 0.3.6.1 && <1, phonetic-languages-constraints-array ==0.1.0.0, phonetic-languages-simplified-examples-common ==0.4.2.0, mmsyn2-array == 0.3.0.0, string-interpreter ==0.5.4.1, cli-arguments == 0.6.0.0, mmsyn2-array-ukrainian-data == 0.1.0.0   ghc-options:         -threaded -rtsopts   hs-source-dirs:      ., Lines   default-language:    Haskell2010@@ -46,7 +46,7 @@   main-is:             Main.hs   other-modules:       Phonetic.Languages.Simplified.Array.Ukrainian.FuncRep2RelatedG2, Phonetic.Languages.GetTextualInfo, Phonetic.Languages.Parsing, Phonetic.Languages.Simplified.Array.Ukrainian.ReadProperties   other-extensions:    BangPatterns-  build-depends:       base >=4.8 && <5, ukrainian-phonetics-basic-array >=0.4.2 && <1, phonetic-languages-simplified-base >=0.4.5 && <1, phonetic-languages-simplified-properties-array >=0.12.2 && <1, phonetic-languages-ukrainian-array >=0.9.2 && <1, phonetic-languages-filters-array >=0.3 && <1, uniqueness-periods-vector-stats >=0.2.1 && <1, parallel >=3.2.0.6 && <4, phonetic-languages-plus >=0.5.1 && <1, subG >= 0.4 && < 1, phonetic-languages-rhythmicity >=0.9.1 && <1, phonetic-languages-permutations-array >= 0.2 && <1, heaps >= 0.3.6.1 && <1, phonetic-languages-constraints-array >=0.1 && <1, phonetic-languages-simplified-examples-common >=0.4.2 && <1, mmsyn2-array >= 0.3 && <1, string-interpreter >=0.5.4.1 && <1, cli-arguments >= 0.6 && <1+  build-depends:       base >=4.8 && <5, ukrainian-phonetics-basic-array ==0.5.2.0, phonetic-languages-simplified-base ==0.4.5.0, phonetic-languages-simplified-properties-array ==0.13.0.0, phonetic-languages-ukrainian-array ==0.9.2.0, phonetic-languages-filters-array ==0.3.0.0, uniqueness-periods-vector-stats ==0.2.1.0, parallel >=3.2.0.6 && <4, phonetic-languages-plus ==0.5.1.0, subG == 0.5.2.0, phonetic-languages-rhythmicity ==0.9.1.0, phonetic-languages-permutations-array == 0.3.3.0, heaps >= 0.3.6.1 && <1, phonetic-languages-constraints-array ==0.1.0.0, phonetic-languages-simplified-examples-common ==0.4.2.0, mmsyn2-array == 0.3.0.0, string-interpreter ==0.5.4.1, cli-arguments == 0.6.0.0, mmsyn2-array-ukrainian-data == 0.1.0.0   ghc-options:         -threaded -rtsopts   hs-source-dirs:      ., GetInfo   default-language:    Haskell2010