{-# OPTIONS_HADDOCK show-extensions #-}

-- |
-- Module      :  Phladiprelio.Ukrainian.PropertiesSyllablesG2Common
-- Copyright   :  (c) Oleksandr Zhabenko 2020-2023
-- License     :  MIT
-- Stability   :  Experimental
-- Maintainer  :  oleksandr.zhabenko@yahoo.com
--
-- Generalization and extension of the functionality of the DobutokO.Poetry.Norms
-- and DobutokO.Poetry.Norms.Extended modules
-- from the @dobutokO-poetry@ package. Uses syllables information.
-- Instead of the vector-related, uses just arrays.

{-# LANGUAGE NoImplicitPrelude, BangPatterns #-}

module Phladiprelio.Ukrainian.PropertiesSyllablesG2Common where

import GHC.Base
import Phladiprelio.Ukrainian.Melodics (Sound8,FlowSound)
import Phladiprelio.Ukrainian.Syllable
import GHC.Arr
import GHC.Int
import Phladiprelio.Ukrainian.Emphasis

rhythmicityGHTup
 :: ([[[Sound8]]] -> [[Double]])
 -> ([[Double]] -> Double)
 -> 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)
 -> ReadyForConstructionUkr
 -> Double
rhythmicityGHTup :: ([[[Sound8]]] -> [[Double]])
-> ([[Double]] -> Double)
-> Array Int (Sound8, Bool)
-> Array Int (Sound8, Bool)
-> Array Int (Sound8, Bool)
-> Array Int (Sound8, Bool)
-> Array Int ([Sound8], Bool)
-> Array Int ([Sound8], Sound8)
-> Array Int (Sound8, [Sound8] -> Sound8)
-> Array Int (Sound8, Bool)
-> Array Int ([Sound8], Bool)
-> Array Int ([Sound8], Bool)
-> Array Int ([Sound8], Bool)
-> Array Int (Sound8, [Sound8])
-> Array Int (Char, Sound8)
-> Array Int (Sound8, [Sound8])
-> Array Int (Char, Bool)
-> Array Int (Char, Bool)
-> Array Int (Sound8, Bool)
-> ReadyForConstructionUkr
-> Double
rhythmicityGHTup [[[Sound8]]] -> [[Double]]
f [[Double]] -> Double
g Array Int (Sound8, Bool)
tup1 Array Int (Sound8, Bool)
tup2 Array Int (Sound8, Bool)
tup3 Array Int (Sound8, Bool)
tup4 Array Int ([Sound8], Bool)
tup5 Array Int ([Sound8], Sound8)
tup6 Array Int (Sound8, [Sound8] -> Sound8)
tup7 Array Int (Sound8, Bool)
tup8 Array Int ([Sound8], Bool)
tup9 Array Int ([Sound8], Bool)
tup10 Array Int ([Sound8], Bool)
tup11 Array Int (Sound8, [Sound8])
tup12 Array Int (Char, Sound8)
tup13 Array Int (Sound8, [Sound8])
tup14 Array Int (Char, Bool)
tup15 Array Int (Char, Bool)
tup16 Array Int (Sound8, Bool)
tup17 (Str xs :: String
xs@(Char
_:String
_))
 = [[Double]] -> Double
g forall b c a. (b -> c) -> (a -> b) -> a -> c
. [[[Sound8]]] -> [[Double]]
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Array Int (Sound8, Bool)
-> Array Int (Sound8, Bool)
-> Array Int (Sound8, Bool)
-> Array Int (Sound8, Bool)
-> Array Int ([Sound8], Bool)
-> Array Int ([Sound8], Sound8)
-> Array Int (Sound8, [Sound8] -> Sound8)
-> Array Int (Sound8, Bool)
-> Array Int ([Sound8], Bool)
-> Array Int ([Sound8], Bool)
-> Array Int ([Sound8], Bool)
-> Array Int (Sound8, [Sound8])
-> Array Int (Char, Sound8)
-> Array Int (Sound8, [Sound8])
-> Array Int (Char, Bool)
-> Array Int (Char, Bool)
-> Array Int (Sound8, Bool)
-> String
-> [[[Sound8]]]
createSyllablesUkrSTup Array Int (Sound8, Bool)
tup1 Array Int (Sound8, Bool)
tup2 Array Int (Sound8, Bool)
tup3 Array Int (Sound8, Bool)
tup4 Array Int ([Sound8], Bool)
tup5 Array Int ([Sound8], Sound8)
tup6 Array Int (Sound8, [Sound8] -> Sound8)
tup7 Array Int (Sound8, Bool)
tup8 Array Int ([Sound8], Bool)
tup9 Array Int ([Sound8], Bool)
tup10 Array Int ([Sound8], Bool)
tup11 Array Int (Sound8, [Sound8])
tup12 Array Int (Char, Sound8)
tup13 Array Int (Sound8, [Sound8])
tup14 Array Int (Char, Bool)
tup15 Array Int (Char, Bool)
tup16 Array Int (Sound8, Bool)
tup17 forall a b. (a -> b) -> a -> b
$ String
xs
rhythmicityGHTup [[[Sound8]]] -> [[Double]]
f [[Double]] -> Double
g Array Int (Sound8, Bool)
_ Array Int (Sound8, Bool)
_ Array Int (Sound8, Bool)
_ Array Int (Sound8, Bool)
_ Array Int ([Sound8], Bool)
_ Array Int ([Sound8], Sound8)
_ Array Int (Sound8, [Sound8] -> Sound8)
_ Array Int (Sound8, Bool)
_ Array Int ([Sound8], Bool)
_ Array Int ([Sound8], Bool)
_ Array Int ([Sound8], Bool)
_ Array Int (Sound8, [Sound8])
_ Array Int (Char, Sound8)
_ Array Int (Sound8, [Sound8])
_ Array Int (Char, Bool)
_ Array Int (Char, Bool)
_ Array Int (Sound8, Bool)
_ (FSL xsss :: [[[Sound8]]]
xsss@([[Sound8]]
_:[[[Sound8]]]
_)) = [[Double]] -> Double
g forall b c a. (b -> c) -> (a -> b) -> a -> c
. [[[Sound8]]] -> [[Double]]
f forall a b. (a -> b) -> a -> b
$ [[[Sound8]]]
xsss 
rhythmicityGHTup [[[Sound8]]] -> [[Double]]
_ [[Double]] -> Double
_ Array Int (Sound8, Bool)
_ Array Int (Sound8, Bool)
_ Array Int (Sound8, Bool)
_ Array Int (Sound8, Bool)
_ Array Int ([Sound8], Bool)
_ Array Int ([Sound8], Sound8)
_ Array Int (Sound8, [Sound8] -> Sound8)
_ Array Int (Sound8, Bool)
_ Array Int ([Sound8], Bool)
_ Array Int ([Sound8], Bool)
_ Array Int ([Sound8], Bool)
_ Array Int (Sound8, [Sound8])
_ Array Int (Char, Sound8)
_ Array Int (Sound8, [Sound8])
_ Array Int (Char, Bool)
_ Array Int (Char, Bool)
_ Array Int (Sound8, Bool)
_ ReadyForConstructionUkr
_ = Double
0.0
{-# INLINE rhythmicityGHTup #-}