phonetic-languages-simplified-properties-array 0.13.1.0 → 0.14.0.0
raw patch · 15 files changed
+58/−938 lines, 15 filesdep +phonetic-languages-basisdep +phonetic-languages-simplified-properties-array-commondep ~phonetic-languages-simplified-basePVP ok
version bump matches the API change (PVP)
Dependencies added: phonetic-languages-basis, phonetic-languages-simplified-properties-array-common
Dependency ranges changed: phonetic-languages-simplified-base
API changes (from Hackage documentation)
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procB2FG :: Ord c => ([Double] -> Double) -> (Double -> c) -> ([[[Sound8]]] -> [[Double]]) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procB2InvFG :: Ord c => ([Double] -> Double) -> (Double -> c) -> ([[[Sound8]]] -> [[Double]]) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procBoth2F :: Ord c => (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procBoth2FF :: Ord c => Double -> (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procBoth2InvF :: Ord c => (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procBoth2InvFF :: Ord c => Double -> (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procBoth3F :: Ord c => (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procBoth3FF :: Ord c => Double -> (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procBoth3InvF :: Ord c => (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procBoth3InvFF :: Ord c => Double -> (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procBoth4F :: Ord c => (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procBoth4FF :: Ord c => Double -> (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procBoth4InvF :: Ord c => (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procBoth4InvFF :: Ord c => Double -> (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procBothF :: Ord c => (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procBothFF :: Ord c => Double -> (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procBothInvF :: Ord c => (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procBothInvFF :: Ord c => Double -> (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procDiverse2F :: Ord c => (Double -> c) -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procDiverse2I :: Ord c => (Int16 -> c) -> FuncRep2 String Int16 c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procRhythmicity23F :: Ord c => Double -> (Double -> c) -> String -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2: procRhythmicity23FH :: Ord c => Double -> (Double -> c) -> [[[[Sound8]]] -> [[Double]]] -> String -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG21: procBothF :: Ord c => (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG21: procBothFF :: Ord c => Double -> (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG21: procBothInvF :: Ord c => (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG21: procBothInvFF :: Ord c => Double -> (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG22: procBoth2F :: Ord c => (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG22: procBoth2FF :: Ord c => Double -> (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG22: procBoth2InvF :: Ord c => (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG22: procBoth2InvFF :: Ord c => Double -> (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG23: procBoth3F :: Ord c => (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG23: procBoth3FF :: Ord c => Double -> (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG23: procBoth3InvF :: Ord c => (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG23: procBoth3InvFF :: Ord c => Double -> (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG24: procBoth4F :: Ord c => (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG24: procBoth4FF :: Ord c => Double -> (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG24: procBoth4InvF :: Ord c => (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG24: procBoth4InvFF :: Ord c => Double -> (Double -> c) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common: eval23Coeffs :: Coeffs2 -> [Double] -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common: eval23CoeffsF :: Double -> Coeffs2 -> [Double] -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common: procB2F :: Ord c => (Double -> c) -> ([[[Sound8]]] -> [[Double]]) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common: procB2FF :: Ord c => Double -> (Double -> c) -> ([[[Sound8]]] -> [[Double]]) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common: procB2FG :: Ord c => ([Double] -> Double) -> (Double -> c) -> ([[[Sound8]]] -> [[Double]]) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common: procB2InvF :: Ord c => (Double -> c) -> ([[[Sound8]]] -> [[Double]]) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common: procB2InvFF :: Ord c => Double -> (Double -> c) -> ([[[Sound8]]] -> [[Double]]) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common: procB2InvFG :: Ord c => ([Double] -> Double) -> (Double -> c) -> ([[[Sound8]]] -> [[Double]]) -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common: words1 :: (Ord a, Num a) => [a] -> [[a]]
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Diverse: procDiverse2F :: Ord c => (Double -> c) -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Diverse: procDiverse2I :: Ord c => (Int16 -> c) -> FuncRep2 String Int16 c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Rhythmicity: procRhythmicity23F :: Ord c => Double -> (Double -> c) -> String -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Rhythmicity: procRhythmicity23FH :: Ord c => Double -> (Double -> c) -> [[[[Sound8]]] -> [[Double]]] -> String -> Coeffs2 -> FuncRep2 String Double c
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: CF0 :: CoeffTwo a
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: CF2 :: Maybe a -> Maybe a -> CoeffTwo a
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: data CoeffTwo a
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: fstCF :: CoeffTwo a -> Maybe a
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: isEmpty :: CoeffTwo a -> Bool
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: isPair :: CoeffTwo a -> Bool
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: readCF :: String -> Coeffs2
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicity :: Double -> String -> Coeffs2 -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicity0 :: String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicity02 :: String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicity02F :: Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicity03 :: String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicity03F :: Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicity04 :: String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicity04F :: Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicity0F :: Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicity0FH :: ([[[Sound8]]] -> [[Double]]) -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicity0H :: ([[[Sound8]]] -> [[Double]]) -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicityG :: ([[[Sound8]]] -> [[Double]]) -> String -> [Double]
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicityGH :: ([[[Sound8]]] -> [[Double]]) -> ([[Double]] -> Double) -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicityH :: Double -> String -> [[[[Sound8]]] -> [[Double]]] -> Coeffs2 -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicityH' :: Double -> String -> [[[[Sound8]]] -> [[Double]]] -> Coeffs2 -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicityK :: Double -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicityK2 :: Double -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicityK3 :: Double -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicityK4 :: Double -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicityKF :: Double -> Double -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicityKF2 :: Double -> Double -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicityKF3 :: Double -> Double -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicityKF4 :: Double -> Double -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicityKFH :: ([[[Sound8]]] -> [[Double]]) -> Double -> Double -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: rhythmicityKH :: ([[[Sound8]]] -> [[Double]]) -> Double -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: sndCF :: CoeffTwo a -> Maybe a
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2: type Coeffs2 = CoeffTwo Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201: rhythmicity0 :: String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201: rhythmicity02 :: String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201: rhythmicity02F :: Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201: rhythmicity03 :: String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201: rhythmicity03F :: Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201: rhythmicity04 :: String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201: rhythmicity04F :: Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201: rhythmicity0F :: Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201: rhythmicity0FH :: ([[[Sound8]]] -> [[Double]]) -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201: rhythmicity0H :: ([[[Sound8]]] -> [[Double]]) -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201: rhythmicityG :: ([[[Sound8]]] -> [[Double]]) -> String -> [Double]
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201: rhythmicityK :: Double -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201: rhythmicityK2 :: Double -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201: rhythmicityK3 :: Double -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201: rhythmicityK4 :: Double -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201: rhythmicityKF :: Double -> Double -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201: rhythmicityKF2 :: Double -> Double -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201: rhythmicityKF3 :: Double -> Double -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201: rhythmicityKF4 :: Double -> Double -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201: rhythmicityKFH :: ([[[Sound8]]] -> [[Double]]) -> Double -> Double -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201: rhythmicityKH :: ([[[Sound8]]] -> [[Double]]) -> Double -> Double -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common: CF0 :: CoeffTwo a
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common: CF2 :: Maybe a -> Maybe a -> CoeffTwo a
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common: data CoeffTwo a
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common: eval23 :: [[Double]] -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common: eval23F :: (RealFrac c, Floating c) => c -> [[c]] -> c
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common: eval23K :: (RealFrac c, Floating c) => c -> c -> [[c]] -> c
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common: eval23KF :: (RealFrac c, Floating c) => c -> c -> c -> [[c]] -> c
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common: fstCF :: CoeffTwo a -> Maybe a
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common: instance GHC.Classes.Eq a => GHC.Classes.Eq (Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common.CoeffTwo a)
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common: isEmpty :: CoeffTwo a -> Bool
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common: isPair :: CoeffTwo a -> Bool
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common: readCF :: String -> Coeffs2
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common: rhythmicityGH :: ([[[Sound8]]] -> [[Double]]) -> ([[Double]] -> Double) -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common: sndCF :: CoeffTwo a -> Maybe a
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common: type Coeffs2 = CoeffTwo Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2H: rhythmicity :: Double -> String -> Coeffs2 -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Hprime: rhythmicityH :: Double -> String -> [[[[Sound8]]] -> [[Double]]] -> Coeffs2 -> String -> Double
- Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Hprime: rhythmicityH' :: Double -> String -> [[[[Sound8]]] -> [[Double]]] -> Coeffs2 -> String -> Double
Files
- CHANGELOG.md +7/−0
- Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2.hs +3/−32
- Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG21.hs +5/−41
- Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG22.hs +5/−41
- Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG23.hs +5/−41
- Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG24.hs +5/−41
- Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2Common.hs +7/−79
- Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2Diverse.hs +3/−20
- Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2Rhythmicity.hs +5/−38
- Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2.hs +1/−46
- Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG201.hs +2/−132
- Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2Common.hs +0/−52
- Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2H.hs +5/−170
- Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2Hprime.hs +3/−203
- phonetic-languages-simplified-properties-array.cabal +2/−2
CHANGELOG.md view
@@ -103,3 +103,10 @@ ## 0.13.1.0 -- 2022-03-24 * Thirteenth version revised A. Updated the dependencies boundaries to support the latest GHC and Cabal.++## 0.14.0.0 -- 2022-05-31++* Fourteenth version. Changed the dependencies so that the development is simplified. Moved the+versions of functions without extended usage of the optimization tuples to the other new +package phonetic-languages-simplified-properties-old.+
Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2.hs view
@@ -14,40 +14,9 @@ {-# LANGUAGE CPP, BangPatterns #-} module Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2 (- -- * Basic functions- -- ** Functions with 'Int16'- procDiverse2I- -- ** Functions with 'Double'- -- *** More general- , procB2FG- , procB2InvFG- -- *** Usual ones- , procDiverse2F- , procBothF- , procBothFF- , procBothInvF- , procBothInvFF- -- *** Working with generated by r-glpk-phonetic-languages-ukrainian-durations syllable durations- , procBoth2F- , procBoth2FF- , procBoth2InvF- , procBoth2InvFF- -- *** NEW Working with generated by r-glpk-phonetic-languages-ukrainian-durations syllable durations- , procBoth3F- , procBoth3FF- , procBoth3InvF- , procBoth3InvFF- , procBoth4F- , procBoth4FF- , procBoth4InvF- , procBoth4InvFF- -- ** Working with rhythmicity- , procRhythmicity23F- -- *** Working with rhythmicity that can be defined by the user (using 'rhythmicityH')- , procRhythmicity23FH -- * Extended functions -- ** Functions with 'Int16'- , procDiverse2ITup+ procDiverse2ITup -- ** Functions with 'Double' -- *** More general , procB2FGTup@@ -79,6 +48,8 @@ ) where import Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common+import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common+import Phonetic.Languages.Array.Ukrainian.Common import Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Diverse import Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Rhythmicity import Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG21
Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG21.hs view
@@ -12,57 +12,21 @@ -- from the @dobutokO-poetry@ package. Instead of vectors, uses arrays. module Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG21 (- -- ** Usual ones- procBothF- , procBothFF- , procBothInvF- , procBothInvFF- -- ** With tuples- , procBothFTup+ -- * With tuples+ procBothFTup , procBothFFTup , procBothInvFTup , procBothInvFFTup ) where -import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common+import Phonetic.Languages.Array.Ukrainian.Common+--import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common import Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common-import Phonetic.Languages.Simplified.DataG.Base+import Phonetic.Languages.Basis import qualified Languages.Phonetic.Ukrainian.Syllable.Double.ArrInt8 as SD import Melodics.Ukrainian.ArrInt8 import GHC.Arr (Array) import GHC.Int (Int8)--procBothF- :: (Ord c) => (Double -> c)- -> Coeffs2- -> FuncRep2 String Double c-procBothF g coeffs = procB2F g SD.syllableDurationsD coeffs-{-# INLINE procBothF #-}--procBothFF- :: (Ord c) => Double- -> (Double -> c)- -> Coeffs2- -> FuncRep2 String Double c-procBothFF k g coeffs = procB2FF k g SD.syllableDurationsD coeffs-{-# INLINE procBothFF #-}--procBothInvF- :: (Ord c) => (Double -> c)- -> Coeffs2- -> FuncRep2 String Double c-procBothInvF g coeffs = procB2InvF g SD.syllableDurationsD coeffs-{-# INLINE procBothInvF #-}--procBothInvFF- :: (Ord c) => Double- -> (Double -> c)- -> Coeffs2- -> FuncRep2 String Double c-procBothInvFF k g coeffs = procB2InvFF k g SD.syllableDurationsD coeffs-{-# INLINE procBothInvFF #-}------------------------------------------------- procBothFTup :: (Ord c) => Array Int (Int8, Bool)
Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG22.hs view
@@ -2,7 +2,7 @@ -- | -- Module : Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG22--- Copyright : (c) OleksandrZhabenko 2020-2021+-- Copyright : (c) OleksandrZhabenko 2020-2022 -- License : MIT -- Stability : Experimental -- Maintainer : olexandr543@yahoo.com@@ -13,57 +13,21 @@ module Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG22 ( -- * Functions with 'Double'- -- ** Working with generated by r-glpk-phonetic-languages-ukrainian-durations syllable durations- procBoth2F- , procBoth2FF- , procBoth2InvF- , procBoth2InvFF -- ** With tuples- , procBoth2FTup+ procBoth2FTup , procBoth2FFTup , procBoth2InvFTup , procBoth2InvFFTup ) where -import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common+import Phonetic.Languages.Array.Ukrainian.Common+--import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common import Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common-import Phonetic.Languages.Simplified.DataG.Base+import Phonetic.Languages.Basis import qualified Languages.Phonetic.Ukrainian.Syllable.Double.ArrInt8 as SD import Melodics.Ukrainian.ArrInt8 import GHC.Arr (Array) import GHC.Int (Int8)--procBoth2F- :: (Ord c) => (Double -> c)- -> Coeffs2- -> FuncRep2 String Double c-procBoth2F g coeffs = procB2F g SD.syllableDurationsD2 coeffs-{-# INLINE procBoth2F #-}--procBoth2InvF- :: (Ord c) => (Double -> c)- -> Coeffs2- -> FuncRep2 String Double c-procBoth2InvF g coeffs = procB2InvF g SD.syllableDurationsD2 coeffs-{-# INLINE procBoth2InvF #-}--procBoth2FF- :: (Ord c) => Double- -> (Double -> c)- -> Coeffs2- -> FuncRep2 String Double c-procBoth2FF k g coeffs = procB2FF k g SD.syllableDurationsD2 coeffs-{-# INLINE procBoth2FF #-}--procBoth2InvFF- :: (Ord c) => Double- -> (Double -> c)- -> Coeffs2- -> FuncRep2 String Double c-procBoth2InvFF k g coeffs = procB2InvFF k g SD.syllableDurationsD2 coeffs-{-# INLINE procBoth2InvFF #-}------------------------------------------------- procBoth2FTup :: (Ord c) => Array Int (Int8, Bool)
Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG23.hs view
@@ -2,7 +2,7 @@ -- | -- Module : Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG23--- Copyright : (c) OleksandrZhabenko 2020-2021+-- Copyright : (c) OleksandrZhabenko 2020-2022 -- License : MIT -- Stability : Experimental -- Maintainer : olexandr543@yahoo.com@@ -13,57 +13,21 @@ module Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG23 ( -- * Functions with 'Double'- -- ** NEW Working with generated by r-glpk-phonetic-languages-ukrainian-durations syllable durations- procBoth3F- , procBoth3FF- , procBoth3InvF- , procBoth3InvFF -- ** With tuples- , procBoth3FTup+ procBoth3FTup , procBoth3FFTup , procBoth3InvFTup , procBoth3InvFFTup ) where -import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common+import Phonetic.Languages.Array.Ukrainian.Common+--import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common import Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common-import Phonetic.Languages.Simplified.DataG.Base+import Phonetic.Languages.Basis import qualified Languages.Phonetic.Ukrainian.Syllable.Double.ArrInt8 as SD import Melodics.Ukrainian.ArrInt8 import GHC.Arr (Array) import GHC.Int (Int8)--procBoth3F- :: (Ord c) => (Double -> c)- -> Coeffs2- -> FuncRep2 String Double c-procBoth3F g coeffs = procB2F g SD.syllableDurationsD3 coeffs-{-# INLINE procBoth3F #-}--procBoth3InvF- :: (Ord c) => (Double -> c)- -> Coeffs2- -> FuncRep2 String Double c-procBoth3InvF g coeffs = procB2InvF g SD.syllableDurationsD3 coeffs-{-# INLINE procBoth3InvF #-}--procBoth3FF- :: (Ord c) => Double- -> (Double -> c)- -> Coeffs2- -> FuncRep2 String Double c-procBoth3FF k g coeffs = procB2FF k g SD.syllableDurationsD3 coeffs-{-# INLINE procBoth3FF #-}--procBoth3InvFF- :: (Ord c) => Double- -> (Double -> c)- -> Coeffs2- -> FuncRep2 String Double c-procBoth3InvFF k g coeffs = procB2InvFF k g SD.syllableDurationsD3 coeffs-{-# INLINE procBoth3InvFF #-}------------------------------------------------- procBoth3FTup :: (Ord c) => Array Int (Int8, Bool)
Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG24.hs view
@@ -2,7 +2,7 @@ -- | -- Module : Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG24--- Copyright : (c) OleksandrZhabenko 2020-2021+-- Copyright : (c) OleksandrZhabenko 2020-2022 -- License : MIT -- Stability : Experimental -- Maintainer : olexandr543@yahoo.com@@ -13,57 +13,21 @@ module Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG24 ( -- * Functions with 'Double'- -- ** NEW Working with generated by r-glpk-phonetic-languages-ukrainian-durations syllable durations- procBoth4F- , procBoth4FF- , procBoth4InvF- , procBoth4InvFF -- ** With tuples- , procBoth4FTup+ procBoth4FTup , procBoth4FFTup , procBoth4InvFTup , procBoth4InvFFTup ) where -import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common+import Phonetic.Languages.Array.Ukrainian.Common+--import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common import Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common-import Phonetic.Languages.Simplified.DataG.Base+import Phonetic.Languages.Basis import qualified Languages.Phonetic.Ukrainian.Syllable.Double.ArrInt8 as SD import Melodics.Ukrainian.ArrInt8 import GHC.Arr (Array) import GHC.Int (Int8)--procBoth4F- :: (Ord c) => (Double -> c)- -> Coeffs2- -> FuncRep2 String Double c-procBoth4F g coeffs = procB2F g SD.syllableDurationsD4 coeffs-{-# INLINE procBoth4F #-}--procBoth4InvF- :: (Ord c) => (Double -> c)- -> Coeffs2- -> FuncRep2 String Double c-procBoth4InvF g coeffs = procB2InvF g SD.syllableDurationsD4 coeffs-{-# INLINE procBoth4InvF #-}--procBoth4FF- :: (Ord c) => Double- -> (Double -> c)- -> Coeffs2- -> FuncRep2 String Double c-procBoth4FF k g coeffs = procB2FF k g SD.syllableDurationsD4 coeffs-{-# INLINE procBoth4FF #-}--procBoth4InvFF- :: (Ord c) => Double- -> (Double -> c)- -> Coeffs2- -> FuncRep2 String Double c-procBoth4InvFF k g coeffs = procB2InvFF k g SD.syllableDurationsD4 coeffs-{-# INLINE procBoth4InvFF #-}------------------------------------------------- procBoth4FTup :: (Ord c) => Array Int (Int8, Bool)
Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2Common.hs view
@@ -22,15 +22,16 @@ #endif #endif -import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common-import Phonetic.Languages.Simplified.Lists.UniquenessPeriodsG.Base-import Languages.Rhythmicity-import Languages.Rhythmicity.Factor-import Phonetic.Languages.Simplified.DataG.Base+import Phonetic.Languages.Array.Ukrainian.Common+--import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common+import Phonetic.Languages.UniquenessPeriodsG+--import Languages.Rhythmicity+--import Languages.Rhythmicity.Factor+import Phonetic.Languages.Basis import GHC.Float (int2Double) import qualified Languages.Phonetic.Ukrainian.Syllable.ArrInt8 as S import Melodics.Ukrainian.ArrInt8-import Data.Maybe (fromMaybe)+--import Data.Maybe (fromMaybe) import GHC.Arr (Array) import GHC.Int (Int8) @@ -40,79 +41,6 @@ mconcat = concat #endif #endif--eval23Coeffs :: Coeffs2 -> [Double] -> Double-eval23Coeffs (CF2 x y) = evalRhythmicity23K (fromMaybe 1.0 x) (fromMaybe 1.0 y)-eval23Coeffs CF0 = evalRhythmicity23-{-# INLINE eval23Coeffs #-}--eval23CoeffsF :: Double -> Coeffs2 -> [Double] -> Double-eval23CoeffsF k (CF2 x y) = evalRhythmicity23KF k (fromMaybe 1.0 x) (fromMaybe 1.0 y)-eval23CoeffsF k CF0 = evalRhythmicity23F k-{-# INLINE eval23CoeffsF #-}--procB2FG- :: (Ord c) => ([Double] -> Double)- -> (Double -> c)- -> ([[[Sound8]]] -> [[Double]])- -> Coeffs2- -> FuncRep2 String Double c-procB2FG h1 h g coeffs = D (\xs -> let ys = convertToProperUkrainianI8 . map (\x -> if x == '-' then ' ' else x) $ xs in ((int2Double . fromEnum . diverse2GLInt8 [-1,0] $ ys)*(h1 . mconcat . g . map (S.divVwls . S.reSyllableCntnts . S.groupSnds) . words1 $ ys))) h-{-# INLINE procB2FG #-}--procB2InvFG- :: (Ord c) => ([Double] -> Double)- -> (Double -> c)- -> ([[[Sound8]]] -> [[Double]])- -> Coeffs2- -> FuncRep2 String Double c-procB2InvFG h1 h g coeffs = D (\xs ->- let !ys = convertToProperUkrainianI8 . map (\x -> if x == '-' then ' ' else x) $ xs- !z = diverse2GLInt8 [-1,0] ys in if z == 0 then (h1 . mconcat . g . map (S.divVwls . S.reSyllableCntnts . S.groupSnds) .- words1 $ ys) ** 2.0- else ((h1 . mconcat . g . map (S.divVwls . S.reSyllableCntnts . S.groupSnds) . words1 $ ys) / (int2Double . fromEnum $ z))) h-{-# INLINE procB2InvFG #-}--words1 xs = if null ts then [] else w : words1 s'' -- Practically this is an optimized version for this case 'words' function from Prelude.- where ts = dropWhile (< 1) xs- (w, s'') = span (> 0) ts-{-# NOINLINE words1 #-}--procB2F- :: (Ord c) => (Double -> c)- -> ([[[Sound8]]] -> [[Double]])- -> Coeffs2- -> FuncRep2 String Double c-procB2F h g coeffs = procB2FG (eval23Coeffs coeffs) h g coeffs-{-# INLINE procB2F #-}--procB2FF- :: (Ord c) => Double- -> (Double -> c)- -> ([[[Sound8]]] -> [[Double]])- -> Coeffs2- -> FuncRep2 String Double c-procB2FF k h g coeffs = procB2FG (eval23CoeffsF k coeffs) h g coeffs-{-# INLINE procB2FF #-}--procB2InvF- :: (Ord c) => (Double -> c)- -> ([[[Sound8]]] -> [[Double]])- -> Coeffs2- -> FuncRep2 String Double c-procB2InvF h g coeffs = procB2InvFG (eval23Coeffs coeffs) h g coeffs-{-# INLINE procB2InvF #-}--procB2InvFF- :: (Ord c) => Double- -> (Double -> c)- -> ([[[Sound8]]] -> [[Double]])- -> Coeffs2- -> FuncRep2 String Double c-procB2InvFF k h g coeffs = procB2InvFG (eval23CoeffsF k coeffs) h g coeffs-{-# INLINE procB2InvFF #-}------------------------------------ procB2FGTup :: (Ord c) => Array Int (Int8, Bool)
Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2Diverse.hs view
@@ -13,34 +13,17 @@ module Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Diverse ( -- * Functions with 'Int16'- procDiverse2I- , procDiverse2ITup+ procDiverse2ITup -- ** Usual ones- , procDiverse2F , procDiverse2FTup ) where import GHC.Int import GHC.Arr (Array)-import Phonetic.Languages.Simplified.Lists.UniquenessPeriodsG.Base-import Phonetic.Languages.Simplified.DataG.Base+import Phonetic.Languages.UniquenessPeriodsG+import Phonetic.Languages.Basis import GHC.Float (int2Double) import Melodics.Ukrainian.ArrInt8--procDiverse2I- :: (Ord c) => (Int16 -> c)- -> FuncRep2 String Int16 c-procDiverse2I g = D (diverse2GLInt8 [-1,0] . convertToProperUkrainianI8) g-{-# INLINE procDiverse2I #-}--procDiverse2F- :: (Ord c) => (Double -> c)- -> FuncRep2 String Double c-procDiverse2F g = D (int2Double . fromEnum . diverse2GLInt8 [-1,0] . convertToProperUkrainianI8) g-{-# INLINE procDiverse2F #-}--------------------------------------------------- procDiverse2ITup :: (Ord c) => Array Int (Int8, Bool)
Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2Rhythmicity.hs view
@@ -12,55 +12,22 @@ -- from the @dobutokO-poetry@ package. Instead of vectors, uses arrays. module Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Rhythmicity (- -- * Basic- -- ** Working with rhythmicity- procRhythmicity23F- -- *** Working with rhythmicity that can be defined by the user (using 'rhythmicityH')- , procRhythmicity23FH -- * Extended -- ** Working with rhythmicity- , procRhythmicity23FTup+ procRhythmicity23FTup -- *** Working with rhythmicity that can be defined by the user (using 'rhythmicityH') , procRhythmicity23FHTup ) where -import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common++import Phonetic.Languages.Array.Ukrainian.Common+--import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2H import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Hprime-import Phonetic.Languages.Simplified.DataG.Base+import Phonetic.Languages.Basis import Melodics.Ukrainian.ArrInt8 import GHC.Arr (Array) import GHC.Int (Int8)--procRhythm23F- :: (Ord c) => (Double -> c)- -> String- -> (String -> Coeffs2 -> String -> Double)- -> Coeffs2- -> FuncRep2 String Double c-procRhythm23F h choice g coeffs = D (g choice coeffs) h-{-# INLINE procRhythm23F #-}--procRhythmicity23F- :: (Ord c) => Double- -> (Double -> c)- -> String- -> Coeffs2- -> FuncRep2 String Double c-procRhythmicity23F k g choice coeffs = procRhythm23F g choice (rhythmicity k) coeffs-{-# INLINE procRhythmicity23F #-}--procRhythmicity23FH- :: (Ord c) => Double- -> (Double -> c)- -> [[[[Sound8]]] -> [[Double]]]- -> String- -> Coeffs2- -> FuncRep2 String Double c-procRhythmicity23FH k g syllableDurationsDs choice coeffs = D (rhythmicityH k choice syllableDurationsDs coeffs) g-{-# INLINE procRhythmicity23FH #-}--------------------------------------------------------- procRhythmicity23FTup :: (Ord c) => Array Int (Int8, Bool)
Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2.hs view
@@ -13,55 +13,10 @@ -- Instead of the vector-related, uses just arrays. module Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2 (- -- * Newtype to work with- CoeffTwo(..)- , Coeffs2- , isEmpty- , isPair- , fstCF- , sndCF- , readCF- -- * Rhythmicity properties- -- ** Rhythmicity properties (semi-empirical)- -- *** General ones- , rhythmicity0H- , rhythmicity0FH- , rhythmicityKH- , rhythmicityKFH- -- *** Simple one- , rhythmicity0- , rhythmicity0F- -- *** With weight coefficients- , rhythmicityK- , rhythmicityKF- -- ** Rhythmicity properties from generated with r-glpk-phonetic-languages-ukrainian-durations package (since 0.2.0.0 version)- -- *** Simple one- , rhythmicity02- , rhythmicity02F- -- *** With weight coefficients- , rhythmicityK2- , rhythmicityKF2- -- ** NEW Rhythmicity properties from generated with r-glpk-phonetic-languages-ukrainian-durations package- -- *** Simple ones- , rhythmicity03- , rhythmicity03F- , rhythmicity04- , rhythmicity04F- -- *** With weight coefficients- , rhythmicityK3- , rhythmicityKF3- , rhythmicityK4- , rhythmicityKF4- -- ** General- , rhythmicityG- , rhythmicityGH- , rhythmicity- , rhythmicityH- , rhythmicityH' -- * Rhythmicity properties extended -- ** Rhythmicity properties (semi-empirical) -- *** General ones- , rhythmicity0HTup+ rhythmicity0HTup , rhythmicity0FHTup , rhythmicityKHTup , rhythmicityKFHTup
Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG201.hs view
@@ -15,43 +15,10 @@ {-# LANGUAGE CPP, BangPatterns, MultiWayIf #-} module Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201 (- -- * Rhythmicity properties- -- ** Rhythmicity properties (semi-empirical)- -- *** General ones- rhythmicity0H- , rhythmicity0FH- , rhythmicityKH- , rhythmicityKFH- -- *** Simple one- , rhythmicity0- , rhythmicity0F- -- *** With weight coefficients- , rhythmicityK- , rhythmicityKF- -- ** Rhythmicity properties from generated with r-glpk-phonetic-languages-ukrainian-durations package (since 0.2.0.0 version)- -- *** Simple one- , rhythmicity02- , rhythmicity02F- -- *** With weight coefficients- , rhythmicityK2- , rhythmicityKF2- -- ** NEW Rhythmicity properties from generated with r-glpk-phonetic-languages-ukrainian-durations package- -- *** Simple ones- , rhythmicity03- , rhythmicity03F- , rhythmicity04- , rhythmicity04F- -- *** With weight coefficients- , rhythmicityK3- , rhythmicityKF3- , rhythmicityK4- , rhythmicityKF4- -- ** General- , rhythmicityG -- * Extended rhythmicity properties -- ** Rhythmicity properties (semi-empirical) -- *** General ones- , rhythmicity0HTup+ rhythmicity0HTup , rhythmicity0FHTup , rhythmicityKHTup , rhythmicityKFHTup@@ -90,6 +57,7 @@ #endif #endif +import Phonetic.Languages.Array.Ukrainian.Common import Languages.Phonetic.Ukrainian.Syllable.Double.ArrInt8 import Melodics.Ukrainian.ArrInt8 (Sound8,FlowSound) import Languages.Phonetic.Ukrainian.Syllable.ArrInt8@@ -103,104 +71,6 @@ mconcat = concat #endif #endif--rhythmicity0H :: ([[[Sound8]]] -> [[Double]]) -> String -> Double-rhythmicity0H f = rhythmicityGH f eval23-{-# INLINE rhythmicity0H #-}--rhythmicity0 :: String -> Double-rhythmicity0 = rhythmicity0H syllableDurationsD-{-# INLINE rhythmicity0 #-}--rhythmicity02 :: String -> Double-rhythmicity02 = rhythmicity0H syllableDurationsD2-{-# INLINE rhythmicity02 #-}--rhythmicity03 :: String -> Double-rhythmicity03 = rhythmicity0H syllableDurationsD3-{-# INLINE rhythmicity03 #-}--rhythmicity04 :: String -> Double-rhythmicity04 = rhythmicity0H syllableDurationsD4-{-# INLINE rhythmicity04 #-}-----------------------------------------------------------rhythmicityKH :: ([[[Sound8]]] -> [[Double]]) -> Double -> Double -> String -> Double-rhythmicityKH f k2 k3 = rhythmicityGH f (eval23K k2 k3)-{-# INLINE rhythmicityKH #-}--rhythmicityK :: Double -> Double -> String -> Double-rhythmicityK k2 k3 = rhythmicityKH syllableDurationsD k2 k3-{-# INLINE rhythmicityK #-}--rhythmicityK2 :: Double -> Double -> String -> Double-rhythmicityK2 k2 k3 = rhythmicityKH syllableDurationsD2 k2 k3-{-# INLINE rhythmicityK2 #-}--rhythmicityK3 :: Double -> Double -> String -> Double-rhythmicityK3 k2 k3 = rhythmicityKH syllableDurationsD3 k2 k3-{-# INLINE rhythmicityK3 #-}--rhythmicityK4 :: Double -> Double -> String -> Double-rhythmicityK4 k2 k3 = rhythmicityKH syllableDurationsD4 k2 k3-{-# INLINE rhythmicityK4 #-}------------------------------------------------------------rhythmicity0FH :: ([[[Sound8]]] -> [[Double]]) -> Double -> String -> Double-rhythmicity0FH f k = rhythmicityGH f (eval23F k)-{-# INLINE rhythmicity0FH #-}--rhythmicity0F :: Double -> String -> Double-rhythmicity0F k = rhythmicity0FH syllableDurationsD k-{-# INLINE rhythmicity0F #-}--rhythmicity02F :: Double -> String -> Double-rhythmicity02F k = rhythmicity0FH syllableDurationsD2 k-{-# INLINE rhythmicity02F #-}--rhythmicity03F :: Double -> String -> Double-rhythmicity03F k = rhythmicity0FH syllableDurationsD3 k-{-# INLINE rhythmicity03F #-}--rhythmicity04F :: Double -> String -> Double-rhythmicity04F k = rhythmicity0FH syllableDurationsD4 k-{-# INLINE rhythmicity04F #-}------------------------------------------------------------rhythmicityKFH :: ([[[Sound8]]] -> [[Double]]) -> Double -> Double -> Double -> String -> Double-rhythmicityKFH f k k2 k3 = rhythmicityGH f (eval23KF k k2 k3)-{-# INLINE rhythmicityKFH #-}--rhythmicityKF :: Double -> Double -> Double -> String -> Double-rhythmicityKF k k2 k3 = rhythmicityKFH syllableDurationsD k k2 k3-{-# INLINE rhythmicityKF #-}--rhythmicityKF2 :: Double -> Double -> Double -> String -> Double-rhythmicityKF2 k k2 k3 = rhythmicityKFH syllableDurationsD2 k k2 k3-{-# INLINE rhythmicityKF2 #-}--rhythmicityKF3 :: Double -> Double -> Double -> String -> Double-rhythmicityKF3 k k2 k3 = rhythmicityKFH syllableDurationsD3 k k2 k3-{-# INLINE rhythmicityKF3 #-}--rhythmicityKF4 :: Double -> Double -> Double -> String -> Double-rhythmicityKF4 k k2 k3 = rhythmicityKFH syllableDurationsD4 k k2 k3-{-# INLINE rhythmicityKF4 #-}---------------------------------------------rhythmicityG- :: ([[[Sound8]]] -> [[Double]])-- ^ A function that specifies the syllables durations, analogue of (or one of) the- -- syllableDurationsD functions from the @ukrainian-phonetics-basics-array@ package.- -> String- -> [Double]-rhythmicityG f xs- | null xs = []- | otherwise = mconcat . f . createSyllablesUkrS $ xs-{-# INLINE rhythmicityG #-} rhythmicityGTup :: Array Int (Int8, Bool)
Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2Common.hs view
@@ -23,12 +23,8 @@ #endif #endif -import Languages.Rhythmicity-import Languages.Rhythmicity.Factor import Melodics.Ukrainian.ArrInt8 (Sound8,FlowSound) import Languages.Phonetic.Ukrainian.Syllable.ArrInt8-import Data.Maybe (isNothing)-import Text.Read (readMaybe) import GHC.Arr import GHC.Int @@ -38,54 +34,6 @@ mconcat = concat #endif #endif--data CoeffTwo a = CF0 | CF2 (Maybe a) (Maybe a) deriving (Eq)--isEmpty :: CoeffTwo a -> Bool-isEmpty CF0 = True-isEmpty _ = False--isPair :: CoeffTwo a -> Bool-isPair CF0 = False-isPair _ = True--fstCF :: CoeffTwo a -> Maybe a-fstCF (CF2 x _) = x-fstCF _ = Nothing--sndCF :: CoeffTwo a -> Maybe a-sndCF (CF2 _ y) = y-sndCF _ = Nothing--readCF :: String -> Coeffs2-readCF xs- | any (== '_') xs = let (!ys,!zs) = (\(ks,ts) -> (readMaybe ks::Maybe Double,readMaybe (drop 1 ts)::Maybe Double)) . break (== '_') $ xs in- if (isNothing ys && isNothing zs) then CF0 else CF2 ys zs- | otherwise = CF0--type Coeffs2 = CoeffTwo Double------------------------------------------------------------------------------------------------eval23 = evalRhythmicity23 . mconcat-{-# INLINE eval23 #-}--eval23K k2 k3 = evalRhythmicity23K k2 k3 . mconcat-{-# INLINE eval23K #-}--eval23F k = evalRhythmicity23F k . mconcat-{-# INLINE eval23F #-}--eval23KF k k2 k3 = evalRhythmicity23KF k k2 k3 . mconcat-{-# INLINE eval23KF #-}--rhythmicityGH :: ([[[Sound8]]] -> [[Double]]) -> ([[Double]] -> Double) -> String -> Double-rhythmicityGH f g xs- | null xs = 0.0- | otherwise = g . f . createSyllablesUkrS $ xs-{-# INLINE rhythmicityGH #-}--------------------------------------------------------- rhythmicityGHTup :: Array Int (Int8, Bool)
Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2H.hs view
@@ -2,7 +2,7 @@ -- | -- Module : Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2H--- Copyright : (c) OleksandrZhabenko 2020-2021+-- Copyright : (c) OleksandrZhabenko 2020-2022 -- License : MIT -- Stability : Experimental -- Maintainer : olexandr543@yahoo.com@@ -16,8 +16,7 @@ module Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2H ( -- * General- rhythmicity- , parseChRhEndMaybe+ parseChRhEndMaybe -- * Extended general , rhythmicityTup ) where@@ -29,6 +28,7 @@ #endif #endif +import Phonetic.Languages.Array.Ukrainian.Common import Languages.Phonetic.Ukrainian.Syllable.Double.ArrInt8 import Melodics.Ukrainian.ArrInt8 (Sound8,FlowSound) import Languages.Phonetic.Ukrainian.Syllable.ArrInt8@@ -36,7 +36,7 @@ import Text.Read (readMaybe) import Rhythmicity.TwoFourth import Rhythmicity.PolyRhythm-import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common+--import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201 import GHC.Arr (Array) import GHC.Int (Int8)@@ -48,166 +48,6 @@ #endif #endif -rhythmicity :: Double -> String -> Coeffs2 -> String -> Double-rhythmicity k choice CF0 = if- | take 1 choice `elem` ["c","M","N"] || (take 1 choice >= "A" && take 1 choice <= "F") -> let just_probe = readRhythmicity choice in- case just_probe of- Just (P1 ch rh n) -> rhythmicityABC 1.0 2.0 0.125 ch rh . mconcat . (helperF4 n) . createSyllablesUkrS- Just (P2 ch rh r n) -> case take 1 choice of- "A" -> rhythmicityPolyWeightedLEF2 1.0 r ch rh . mconcat . (helperF4 n) . createSyllablesUkrS- "D" -> rhythmicityPolyWeightedLF2 1.0 r ch rh . mconcat . (helperF4 n) . createSyllablesUkrS- "E" -> rhythmicityPolyWeightedLEF3 1.0 r ch rh . mconcat . (helperF4 n) . createSyllablesUkrS- "F" -> rhythmicityPolyWeightedLF3 1.0 r ch rh . mconcat . (helperF4 n) . createSyllablesUkrS- "B" -> rhythmicityPolyWeightedEF2 1.0 r ch rh . mconcat . (helperF4 n) . createSyllablesUkrS- "C" -> rhythmicityPolyWeightedF2 1.0 r ch rh . mconcat . (helperF4 n) . createSyllablesUkrS- "M" -> rhythmicityPolyWeightedEF3 1.0 r ch rh . mconcat . (helperF4 n) . createSyllablesUkrS- "N" -> rhythmicityPolyWeightedF3 1.0 r ch rh . mconcat . (helperF4 n) . createSyllablesUkrS- "c" -> rhythmicityPoly 1.0 r ch rh . mconcat . (helperF4 n) . createSyllablesUkrS- _ -> rhythmicity04- | choice == "0y" -> rhythmicity0- | choice == "02y" -> rhythmicity02- | choice == "03y" -> rhythmicity03- | choice == "0z" -> rhythmicity0F k- | choice == "02z" -> rhythmicity02F k- | choice == "03z" -> rhythmicity03F k- | choice == "04z" -> rhythmicity04F k- | take 1 choice == "0" -> rhythmicity04- | take 1 choice == "w" -> if- | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->- case take 2 choice of- "w0" -> wwF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)- "w1" -> wwF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)- "w2" -> wwF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)- "w3" -> wwF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)- _ -> rhythmicity04- | otherwise -> rhythmicity04- | take 1 choice == "x" -> if- | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->- case take 2 choice of- "x0" -> xxF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)- "x1" -> xxF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)- "x2" -> xxF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)- "x3" -> xxF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)- _ -> rhythmicity04- | otherwise -> rhythmicity04- | otherwise -> if- | (take 1 choice == "b" || ((take 1 choice >= "d" && take 1 choice <= "v") || (take 1 choice >= "I" && take 1 choice <= "Z"))) && (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->- case take 1 choice of- "b" -> g rhythmicityPolyWeightedLEF3 5 1- "d" -> g rhythmicityPolyWeightedLEF30 5 1- "e" -> g rhythmicityPolyWeightedLEF3 6 2- "f" -> g rhythmicityPolyWeightedLEF30 6 2- "g" -> g rhythmicityPolyWeightedLEF2 5 1- "h" -> g rhythmicityPolyWeightedLEF20 5 1- "i" -> g rhythmicityPolyWeightedLEF2 6 2- "j" -> g rhythmicityPolyWeightedLEF20 6 2- "k" -> g rhythmicityPolyWeightedLF3 5 1- "l" -> g rhythmicityPolyWeightedLF30 5 1- "m" -> g rhythmicityPolyWeightedLF3 6 2- "n" -> g rhythmicityPolyWeightedLF30 6 2- "o" -> g rhythmicityPolyWeightedLF2 5 1- "p" -> g rhythmicityPolyWeightedLF20 5 1- "q" -> g rhythmicityPolyWeightedLF2 6 2- "r" -> g rhythmicityPolyWeightedLF20 6 2- "I" -> g rhythmicityPolyWeightedEF3 5 1- "J" -> g rhythmicityPolyWeightedEF30 5 1- "K" -> g rhythmicityPolyWeightedEF3 6 2- "L" -> g rhythmicityPolyWeightedEF30 6 2- "O" -> g rhythmicityPolyWeightedEF2 5 1- "P" -> g rhythmicityPolyWeightedEF20 5 1- "Q" -> g rhythmicityPolyWeightedEF2 6 2- "R" -> g rhythmicityPolyWeightedEF20 6 2- "W" -> g rhythmicityPolyWeightedF3 5 1- "X" -> g rhythmicityPolyWeightedF30 5 1- "Y" -> g rhythmicityPolyWeightedF3 6 2- "Z" -> g rhythmicityPolyWeightedF30 6 2- "U" -> g rhythmicityPolyWeightedF2 5 1- "V" -> g rhythmicityPolyWeightedF20 5 1- "S" -> g rhythmicityPolyWeightedF2 6 2- "T" -> g rhythmicityPolyWeightedF20 6 2- "u" -> g rhythmicityPoly 5 1- "v" -> g rhythmicityPoly0 5 1- "s" -> g rhythmicityPoly 6 2- "t" -> g rhythmicityPoly0 6 2- | otherwise -> rhythmicity04- where h1 f ts xs m n = f 1.0 4 (PolyCh xs m) (PolyRhythm [1,2,1,n]) . mconcat . (case readMaybe ts::Maybe Int of { Just 1 -> syllableDurationsD ; Just 2 -> syllableDurationsD2 ; Just 3 -> syllableDurationsD3 ; Just 4 -> syllableDurationsD4 }) . createSyllablesUkrS- h2 f ts xs m n = f 1.0 4 (PolyCh xs m) (PolyRhythm [2,1,1,n]) . mconcat . (case readMaybe ts::Maybe Int of { Just 1 -> syllableDurationsD ; Just 2 -> syllableDurationsD2 ; Just 3 -> syllableDurationsD3 ; Just 4 -> syllableDurationsD4 }) . createSyllablesUkrS- g f m n- | drop 1 choice `elem` ["01","02","03","04"] = h1 f (drop 2 . take 3 $ choice) [True,True,True] m n- | drop 1 choice `elem` ["11","12","13","14"] = h1 f (drop 2 . take 3 $ choice) [True,True,False] m n- | drop 1 choice `elem` ["21","22","23","24"] = h1 f (drop 2 . take 3 $ choice) [True,False,True] m n- | drop 1 choice `elem` ["31","32","33","34"] = h1 f (drop 2 . take 3 $ choice) [True,False,False] m n- | drop 1 choice `elem` ["41","42","43","44"] = h2 f (drop 2 . take 3 $ choice) [True,True,True] m n- | drop 1 choice `elem` ["51","52","53","54"] = h2 f (drop 2 . take 3 $ choice) [True,True,False] m n- | drop 1 choice `elem` ["61","62","63","64"] = h2 f (drop 2 . take 3 $ choice) [True,False,True] m n- | drop 1 choice `elem` ["71","72","73","74"] = h2 f (drop 2 . take 3 $ choice) [True,False,False] m n- | otherwise = rhythmicity04- w1F f ch rh = rhythmicityABC 1.0 2.0 0.125 ch rh . mconcat . f . createSyllablesUkrS- wwF2 g2 xs = let (Just n) = readMaybe xs::Maybe Int in- case n `rem` 4 of- 1 -> g2 syllableDurationsD- 2 -> g2 syllableDurationsD2- 3 -> g2 syllableDurationsD3- _ -> g2 syllableDurationsD4- x1F f ch rh = rhythmicityABC0 1.0 2.0 0.125 ch rh . mconcat . f . createSyllablesUkrS- xxF = wwF2 x1F- wwF = wwF2 w1F- {-# INLINE w1F #-}- {-# INLINE wwF2 #-}- {-# INLINE x1F #-}- {-# INLINE xxF #-}- {-# INLINE wwF #-}-rhythmicity k choice (CF2 x y) =- case take 1 choice of- "0" -> case choice of- "0y" -> rhythmicityK (fromMaybe 1.0 x) (fromMaybe 1.0 y)- "02y" -> rhythmicityK2 (fromMaybe 1.0 x) (fromMaybe 1.0 y)- "03y" -> rhythmicityK3 (fromMaybe 1.0 x) (fromMaybe 1.0 y)- "0z" -> rhythmicityKF k (fromMaybe 1.0 x) (fromMaybe 1.0 y)- "02z" -> rhythmicityKF2 k (fromMaybe 1.0 x) (fromMaybe 1.0 y)- "03z" -> rhythmicityKF3 k (fromMaybe 1.0 x) (fromMaybe 1.0 y)- "04z" -> rhythmicityKF4 k (fromMaybe 1.0 x) (fromMaybe 1.0 y)- _ -> rhythmicityK4 (fromMaybe 1.0 x) (fromMaybe 1.0 y)- "w" -> if- | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->- case take 2 choice of- "w0" -> wwF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)- "w1" -> wwF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)- "w2" -> wwF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)- "w3" -> wwF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)- _ -> rhythmicity04- | otherwise -> rhythmicity04- where w1F f ch rh = rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) ch rh . mconcat . f . createSyllablesUkrS- wwF xs = let (Just n) = readMaybe xs::Maybe Int in- case n `rem` 4 of- 1 -> w1F syllableDurationsD- 2 -> w1F syllableDurationsD2- 3 -> w1F syllableDurationsD3- _ -> w1F syllableDurationsD4- {-# INLINE w1F #-}- {-# INLINE wwF #-}- "x" -> if- | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->- case take 2 choice of- "x0" -> xxF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)- "x1" -> xxF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)- "x2" -> xxF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)- "x3" -> xxF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)- _ -> rhythmicity04- | otherwise -> rhythmicity04- where x1F f ch rh = rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) ch rh . mconcat . f . createSyllablesUkrS- xxF xs = let (Just n) = readMaybe xs::Maybe Int in- case n `rem` 4 of- 1 -> x1F syllableDurationsD- 2 -> x1F syllableDurationsD2- 3 -> x1F syllableDurationsD3- _ -> x1F syllableDurationsD4- {-# INLINE x1F #-}- {-# INLINE xxF #-}- _ -> if- | ((take 1 choice >= "b" && take 1 choice <= "v") || (take 1 choice >= "A" && take 1 choice <= "Z" && take 1 choice `notElem` ["G","H"])) -> rhythmicity k choice CF0- | otherwise -> rhythmicityK4 (fromMaybe 1.0 x) (fromMaybe 1.0 y)- helperF4 :: Int -> [[[Sound8]]] -> [[Double]] helperF4 n | n == 1 = syllableDurationsD@@ -215,11 +55,6 @@ | n == 3 = syllableDurationsD3 | otherwise = syllableDurationsD4 -parseChRhEndMaybe :: ParseChRh -> Maybe Int-parseChRhEndMaybe (P0 _) = Nothing-parseChRhEndMaybe (P1 _ _ n) = Just n-parseChRhEndMaybe (P2 _ _ _ n) = Just n- ---------------------------------------------------------------- rhythmicityTup@@ -337,7 +172,7 @@ | drop 1 choice `elem` ["51","52","53","54"] = h2 f (drop 2 . take 3 $ choice) [True,True,False] m n | drop 1 choice `elem` ["61","62","63","64"] = h2 f (drop 2 . take 3 $ choice) [True,False,True] m n | drop 1 choice `elem` ["71","72","73","74"] = h2 f (drop 2 . take 3 $ choice) [True,False,False] m n- | otherwise = rhythmicity04+ | otherwise = rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 w1F f ch rh = rhythmicityABC 1.0 2.0 0.125 ch rh . mconcat . f . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 wwF2 g2 xs = let (Just n) = readMaybe xs::Maybe Int in case n `rem` 4 of
Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2Hprime.hs view
@@ -15,11 +15,8 @@ {-# LANGUAGE CPP, BangPatterns, MultiWayIf #-} module Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Hprime (- -- * General- rhythmicityH- , rhythmicityH' -- * Extended- , rhythmicityHTup+ rhythmicityHTup , rhythmicityH'Tup ) where @@ -30,6 +27,7 @@ #endif #endif +import Phonetic.Languages.Array.Ukrainian.Common import Languages.Phonetic.Ukrainian.Syllable.Double.ArrInt8 import Melodics.Ukrainian.ArrInt8 (Sound8, FlowSound) import Languages.Phonetic.Ukrainian.Syllable.ArrInt8@@ -37,7 +35,7 @@ import Text.Read (readMaybe) import Rhythmicity.TwoFourth import Rhythmicity.PolyRhythm-import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common+--import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201 import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2H import GHC.Arr (Array)@@ -49,204 +47,6 @@ mconcat = concat #endif #endif--{-| Allows to use the user-defined custom 'Sound8' durations. This is used when the first character in the second argument is-\'H\'.--}-rhythmicityH- :: Double- -> String- -> [[[[Sound8]]] -> [[Double]]]- -> Coeffs2- -> String- -> Double-rhythmicityH k choice syllableDurationsDs coeffs- | take 1 choice == "H" = rhythmicityH' k (drop 1 choice) syllableDurationsDs coeffs- | otherwise = rhythmicity k choice coeffs--rhythmicityH'- :: Double- -> String- -> [[[[Sound8]]] -> [[Double]]]- -> Coeffs2- -> String- -> Double-rhythmicityH' k choice syllableDurationsDs CF0 = if- | take 1 choice `elem` ["c","M","N"] || (take 1 choice >= "A" && take 1 choice <= "F") -> let just_probe = readRhythmicity choice in- case just_probe of- Just (P1 ch rh n) -> rhythmicityABC 1.0 2.0 0.125 ch rh . rhythmicityG (helperHF4 n syllableDurationsDs)- Just (P2 ch rh r n) -> case take 1 choice of- "A" -> rhythmicityPolyWeightedLEF2 1.0 r ch rh . rhythmicityG (helperHF4 n syllableDurationsDs)- "D" -> rhythmicityPolyWeightedLF2 1.0 r ch rh . rhythmicityG (helperHF4 n syllableDurationsDs)- "E" -> rhythmicityPolyWeightedLEF3 1.0 r ch rh . rhythmicityG (helperHF4 n syllableDurationsDs)- "F" -> rhythmicityPolyWeightedLF3 1.0 r ch rh . rhythmicityG (helperHF4 n syllableDurationsDs)- "B" -> rhythmicityPolyWeightedEF2 1.0 r ch rh . rhythmicityG (helperHF4 n syllableDurationsDs)- "C" -> rhythmicityPolyWeightedF2 1.0 r ch rh . rhythmicityG (helperHF4 n syllableDurationsDs)- "M" -> rhythmicityPolyWeightedEF3 1.0 r ch rh . rhythmicityG (helperHF4 n syllableDurationsDs)- "N" -> rhythmicityPolyWeightedF3 1.0 r ch rh . rhythmicityG (helperHF4 n syllableDurationsDs)- "c" -> rhythmicityPoly 1.0 r ch rh . rhythmicityG (helperHF4 n syllableDurationsDs)- _ -> rhythmicity0H (helperHF4 1 syllableDurationsDs)- | choice == "0y" -> rhythmicity0H (helperHF4 1 syllableDurationsDs)- | take 1 choice == "0" && drop 2 (take 3 choice) == "y" ->- let n2 = readMaybe (drop 1 . take 2 $ choice)::Maybe Int in- case n2 of- Just n3 -> rhythmicity0H (helperHF4 n3 syllableDurationsDs)- Nothing -> rhythmicity0H (helperHF4 1 syllableDurationsDs)- | choice == "0z" -> rhythmicity0FH (helperHF4 1 syllableDurationsDs) k- | take 1 choice == "0" && drop 2 (take 3 choice) == "z" ->- let n2 = readMaybe (drop 1 . take 2 $ choice)::Maybe Int in- case n2 of- Just n3 -> rhythmicity0FH (helperHF4 n3 syllableDurationsDs) k- Nothing -> rhythmicity0FH (helperHF4 1 syllableDurationsDs) k- | take 1 choice == "0" -> rhythmicity0H (helperHF4 1 syllableDurationsDs)- | take 1 choice == "w" -> if- | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->- case take 2 choice of- "w0" -> wwF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)- "w1" -> wwF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)- "w2" -> wwF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)- "w3" -> wwF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)- _ -> rhythmicity0H (helperHF4 1 syllableDurationsDs)- | otherwise -> rhythmicity0H (helperHF4 1 syllableDurationsDs)- | take 1 choice == "x" -> if- | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->- case take 2 choice of- "x0" -> xxF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)- "x1" -> xxF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)- "x2" -> xxF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)- "x3" -> xxF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)- _ -> rhythmicity0H (helperHF4 1 syllableDurationsDs)- | otherwise -> rhythmicity0H (helperHF4 1 syllableDurationsDs)- | otherwise -> if- | (take 1 choice == "b" || ((take 1 choice >= "d" && take 1 choice <= "v") || (take 1 choice >= "I" && take 1 choice <= "Z"))) && (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "9" ->- case take 1 choice of- "b" -> g rhythmicityPolyWeightedLEF3 5 1- "d" -> g rhythmicityPolyWeightedLEF30 5 1- "e" -> g rhythmicityPolyWeightedLEF3 6 2- "f" -> g rhythmicityPolyWeightedLEF30 6 2- "g" -> g rhythmicityPolyWeightedLEF2 5 1- "h" -> g rhythmicityPolyWeightedLEF20 5 1- "i" -> g rhythmicityPolyWeightedLEF2 6 2- "j" -> g rhythmicityPolyWeightedLEF20 6 2- "k" -> g rhythmicityPolyWeightedLF3 5 1- "l" -> g rhythmicityPolyWeightedLF30 5 1- "m" -> g rhythmicityPolyWeightedLF3 6 2- "n" -> g rhythmicityPolyWeightedLF30 6 2- "o" -> g rhythmicityPolyWeightedLF2 5 1- "p" -> g rhythmicityPolyWeightedLF20 5 1- "q" -> g rhythmicityPolyWeightedLF2 6 2- "r" -> g rhythmicityPolyWeightedLF20 6 2- "I" -> g rhythmicityPolyWeightedEF3 5 1- "J" -> g rhythmicityPolyWeightedEF30 5 1- "K" -> g rhythmicityPolyWeightedEF3 6 2- "L" -> g rhythmicityPolyWeightedEF30 6 2- "O" -> g rhythmicityPolyWeightedEF2 5 1- "P" -> g rhythmicityPolyWeightedEF20 5 1- "Q" -> g rhythmicityPolyWeightedEF2 6 2- "R" -> g rhythmicityPolyWeightedEF20 6 2- "W" -> g rhythmicityPolyWeightedF3 5 1- "X" -> g rhythmicityPolyWeightedF30 5 1- "Y" -> g rhythmicityPolyWeightedF3 6 2- "Z" -> g rhythmicityPolyWeightedF30 6 2- "U" -> g rhythmicityPolyWeightedF2 5 1- "V" -> g rhythmicityPolyWeightedF20 5 1- "S" -> g rhythmicityPolyWeightedF2 6 2- "T" -> g rhythmicityPolyWeightedF20 6 2- "u" -> g rhythmicityPoly 5 1- "v" -> g rhythmicityPoly0 5 1- "s" -> g rhythmicityPoly 6 2- "t" -> g rhythmicityPoly0 6 2- | otherwise -> rhythmicity0H- (let ts = drop 2 . take 3 $ choice in- case ts of { [] -> syllableDurationsD4 ; ks ->- let q = readMaybe ks::Maybe Int in- case q of {Just q' -> helperHF4 q' syllableDurationsDs; ~Nothing -> syllableDurationsD4 }})- where h1 f ts xs m n = f 1.0 4 (PolyCh xs m) (PolyRhythm [1,2,1,n]) . mconcat .- (case ts of { [] -> syllableDurationsD4 ; ks -> let q = readMaybe ks::Maybe Int in- case q of {Just q' -> helperHF4 q' syllableDurationsDs; ~Nothing -> syllableDurationsD4 }}) .- createSyllablesUkrS- h2 f ts xs m n = f 1.0 4 (PolyCh xs m) (PolyRhythm [2,1,1,n]) . mconcat .- (case ts of { [] -> syllableDurationsD4 ; ks -> let q = readMaybe ks::Maybe Int in- case q of {Just q' -> helperHF4 q' syllableDurationsDs; ~Nothing -> syllableDurationsD4 }}) .- createSyllablesUkrS- g f m n- | drop 1 (take 2 choice) == "0" = h1 f (drop 2 . take 3 $ choice) [True,True,True] m n- | drop 1 (take 2 choice) == "1" = h1 f (drop 2 . take 3 $ choice) [True,True,False] m n- | drop 1 (take 2 choice) == "2" = h1 f (drop 2 . take 3 $ choice) [True,False,True] m n- | drop 1 (take 2 choice) == "3" = h1 f (drop 2 . take 3 $ choice) [True,False,False] m n- | drop 1 (take 2 choice) == "4" = h2 f (drop 2 . take 3 $ choice) [True,True,True] m n- | drop 1 (take 2 choice) == "5" = h2 f (drop 2 . take 3 $ choice) [True,True,False] m n- | drop 1 (take 2 choice) == "6" = h2 f (drop 2 . take 3 $ choice) [True,False,True] m n- | drop 1 (take 2 choice) == "7" = h2 f (drop 2 . take 3 $ choice) [True,False,False] m n- | otherwise = rhythmicity0H (helperHF4 n syllableDurationsDs)- w1F f ch rh = rhythmicityABC 1.0 2.0 0.125 ch rh . mconcat . f . createSyllablesUkrS- wwF2 g2 xs =- let n1 = readMaybe xs::Maybe Int in- case n1 of- Just n2 -> g2 (helperHF4 n2 syllableDurationsDs)- Nothing -> g2 syllableDurationsD4- x1F f ch rh = rhythmicityABC0 1.0 2.0 0.125 ch rh . mconcat . f . createSyllablesUkrS- xxF = wwF2 x1F- wwF = wwF2 w1F- {-# INLINE w1F #-}- {-# INLINE wwF2 #-}- {-# INLINE x1F #-}- {-# INLINE xxF #-}- {-# INLINE wwF #-}-rhythmicityH' k choice syllableDurationsDs (CF2 x y) =- case take 1 choice of- "0" -> case choice of- "0y" -> rhythmicityKH (helperHF4 1 syllableDurationsDs) (fromMaybe 1.0 x) (fromMaybe 1.0 y)- "02y" -> rhythmicityKH (helperHF4 2 syllableDurationsDs) (fromMaybe 1.0 x) (fromMaybe 1.0 y)- "03y" -> rhythmicityKH (helperHF4 3 syllableDurationsDs) (fromMaybe 1.0 x) (fromMaybe 1.0 y)- "0z" -> rhythmicityKFH (helperHF4 1 syllableDurationsDs) k (fromMaybe 1.0 x) (fromMaybe 1.0 y)- "02z" -> rhythmicityKFH (helperHF4 2 syllableDurationsDs) k (fromMaybe 1.0 x) (fromMaybe 1.0 y)- "03z" -> rhythmicityKFH (helperHF4 3 syllableDurationsDs) k (fromMaybe 1.0 x) (fromMaybe 1.0 y)- "04z" -> rhythmicityKFH (helperHF4 4 syllableDurationsDs) k (fromMaybe 1.0 x) (fromMaybe 1.0 y)- _ -> rhythmicityKH (helperHF4 1 syllableDurationsDs) (fromMaybe 1.0 x) (fromMaybe 1.0 y)- "w" -> if- | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->- case take 2 choice of- "w0" -> wwF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)- "w1" -> wwF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)- "w2" -> wwF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)- "w3" -> wwF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)- _ -> rhythmicity0H (helperHF4 1 syllableDurationsDs)- | otherwise -> rhythmicity0H (helperHF4 1 syllableDurationsDs)- where w1F f ch rh = rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) ch rh . mconcat . f . createSyllablesUkrS- wwF xs =- let n1 = readMaybe xs::Maybe Int in- case n1 of- Just n2 -> w1F (helperHF4 n2 syllableDurationsDs)- Nothing -> w1F syllableDurationsD4- {-# INLINE w1F #-}- {-# INLINE wwF #-}- "x" -> if- | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->- case take 2 choice of- "x0" -> xxF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)- "x1" -> xxF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)- "x2" -> xxF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)- "x3" -> xxF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)- _ -> rhythmicity0H (helperHF4 1 syllableDurationsDs)- | otherwise -> rhythmicity0H (helperHF4 1 syllableDurationsDs)- where x1F f ch rh = rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) ch rh . mconcat . f . createSyllablesUkrS- xxF xs =- let n1 = readMaybe xs::Maybe Int in- case n1 of- Just n2 -> x1F (helperHF4 n2 syllableDurationsDs)- Nothing -> x1F syllableDurationsD4- {-# INLINE x1F #-}- {-# INLINE xxF #-}- _ -> if- | ((take 1 choice >= "b" && take 1 choice <= "v") || (take 1 choice >= "A" && take 1 choice <= "Z" && take 1 choice `notElem` ["G","H"])) -> rhythmicityH' k choice syllableDurationsDs CF0- | otherwise -> rhythmicityKH- (let ts = drop 2 . take 3 $ choice in- case ts of { [] -> syllableDurationsD4 ; ks ->- let q = readMaybe ks::Maybe Int in- case q of {Just q' -> helperHF4 q' syllableDurationsDs; ~Nothing -> syllableDurationsD4 }})- (fromMaybe 1.0 x) (fromMaybe 1.0 y)- helperHF4 :: Int -> [[[[Sound8]]] -> [[Double]]] -> [[[Sound8]]] -> [[Double]] helperHF4 n xs
phonetic-languages-simplified-properties-array.cabal view
@@ -2,7 +2,7 @@ -- For further documentation, see http://haskell.org/cabal/users-guide/ name: phonetic-languages-simplified-properties-array-version: 0.13.1.0+version: 0.14.0.0 synopsis: Some properties of the data related to rhythmicity. description: A generalization of the uniqueness-periods-vector-properties package. Is a simplified version of the functionality of the former one. Uses lists and arrays as main processment data types. Uses Double whenever applicable. homepage: https://hackage.haskell.org/package/phonetic-languages-simplified-properties-array@@ -20,6 +20,6 @@ exposed-modules: Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2, Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2, Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common, Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201, Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2H, Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Hprime, Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common, Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Rhythmicity, Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Diverse, Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG21, Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG22, Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG23, Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG24 -- other-modules: other-extensions: BangPatterns, CPP, MultiWayIf- build-depends: base >=4.8 && <5, phonetic-languages-rhythmicity ==0.9.2.0, phonetic-languages-simplified-base ==0.4.6.0, ukrainian-phonetics-basic-array ==0.5.3.0+ build-depends: base >=4.8 && <5, phonetic-languages-rhythmicity ==0.9.2.0, phonetic-languages-simplified-base ==0.5.0.0, ukrainian-phonetics-basic-array ==0.5.3.0, phonetic-languages-basis ==0.1.0.0, phonetic-languages-simplified-properties-array-common ==0.1.0.0 -- hs-source-dirs: default-language: Haskell2010