{-# OPTIONS_HADDOCK show-extensions #-} -- | -- Module : Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Diverse -- 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.PropertiesFuncRepG2Diverse ( -- * Functions with 'Int16' procDiverse2I , 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 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) -> 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) -> (Int16 -> c) -> FuncRep2 String Int16 c procDiverse2ITup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 g = D (diverse2GLInt8 [-1,0] . convertToProperUkrainianI8WithTuples tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16) g {-# INLINE procDiverse2ITup #-} procDiverse2FTup :: (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) -> (Double -> c) -> FuncRep2 String Double c procDiverse2FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 g = D (int2Double . fromEnum . diverse2GLInt8 [-1,0] . convertToProperUkrainianI8WithTuples tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16) g {-# INLINE procDiverse2FTup #-}