{-# OPTIONS_HADDOCK show-extensions #-} -- | -- Module : Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG21 -- Copyright : (c) OleksandrZhabenko 2020-2022 -- License : MIT -- Stability : Experimental -- Maintainer : olexandr543@yahoo.com -- -- Generalization of the functionality of the DobutokO.Poetry.Norms -- and DobutokO.Poetry.Norms.Extended modules -- 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 , procBothFFTup , procBothInvFTup , procBothInvFFTup ) where import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common import Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common import Phonetic.Languages.Simplified.DataG.Base 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) -> 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) -> (Double -> c) -> Coeffs2 -> FuncRep2 String Double c procBothFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs = procB2FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g SD.syllableDurationsD coeffs {-# INLINE procBothFTup #-} procBothFFTup :: (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) -> Double -> (Double -> c) -> Coeffs2 -> FuncRep2 String Double c procBothFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g coeffs = procB2FFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g SD.syllableDurationsD coeffs {-# INLINE procBothFFTup #-} procBothInvFTup :: (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) -> (Double -> c) -> Coeffs2 -> FuncRep2 String Double c procBothInvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs = procB2InvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g SD.syllableDurationsD coeffs {-# INLINE procBothInvFTup #-} procBothInvFFTup :: (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) -> Double -> (Double -> c) -> Coeffs2 -> FuncRep2 String Double c procBothInvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g coeffs = procB2InvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g SD.syllableDurationsD coeffs {-# INLINE procBothInvFFTup #-}