{-# OPTIONS_HADDOCK show-extensions #-}

-- |
-- Module      :  Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG23
-- 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.PropertiesFuncRepG23 (
  -- * Functions with 'Double'
  -- ** With tuples
  procBoth3FTup
  , procBoth3FFTup
  , procBoth3InvFTup
  , procBoth3InvFFTup
) where

import Phonetic.Languages.Array.Ukrainian.Common
import Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common
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)
import Phonetic.Languages.Emphasis
import Phonetic.Languages.Coeffs

procBoth3FTup
  :: (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
  -> FlowSound
  -> FuncRep2 ReadyForConstructionUkr Double c
procBoth3FTup :: forall c.
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, [Int8] -> Int8)
-> 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
-> [Int8]
-> FuncRep2 ReadyForConstructionUkr Double c
procBoth3FTup Array Int (Int8, Bool)
tup1 Array Int (Int8, Bool)
tup2 Array Int (Int8, Bool)
tup3 Array Int (Int8, Bool)
tup4 Array Int ([Int8], Bool)
tup5 Array Int ([Int8], Int8)
tup6 Array Int (Int8, [Int8] -> Int8)
tup7 Array Int (Int8, Bool)
tup8 Array Int ([Int8], Bool)
tup9 Array Int ([Int8], Bool)
tup10 Array Int ([Int8], Bool)
tup11 Array Int (Int8, [Int8])
tup12 Array Int (Char, Int8)
tup13 Array Int (Int8, [Int8])
tup14 Array Int (Char, Bool)
tup15 Array Int (Char, Bool)
tup16 Array Int (Int8, Bool)
tup17 Double -> c
g Coeffs2
coeffs [Int8]
sels
 = forall c.
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, [Int8] -> Int8)
-> 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)
-> ([[[Int8]]] -> [[Double]])
-> Coeffs2
-> [Int8]
-> FuncRep2 ReadyForConstructionUkr Double c
procB2FTup Array Int (Int8, Bool)
tup1 Array Int (Int8, Bool)
tup2 Array Int (Int8, Bool)
tup3 Array Int (Int8, Bool)
tup4 Array Int ([Int8], Bool)
tup5 Array Int ([Int8], Int8)
tup6 Array Int (Int8, [Int8] -> Int8)
tup7 Array Int (Int8, Bool)
tup8 Array Int ([Int8], Bool)
tup9 Array Int ([Int8], Bool)
tup10 Array Int ([Int8], Bool)
tup11 Array Int (Int8, [Int8])
tup12 Array Int (Char, Int8)
tup13 Array Int (Int8, [Int8])
tup14 Array Int (Char, Bool)
tup15 Array Int (Char, Bool)
tup16 Array Int (Int8, Bool)
tup17 Double -> c
g [[[Int8]]] -> [[Double]]
SD.syllableDurationsD3 Coeffs2
coeffs [Int8]
sels
{-# INLINE procBoth3FTup #-}

procBoth3FFTup
  :: (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
  -> FlowSound
  -> FuncRep2 ReadyForConstructionUkr Double c
procBoth3FFTup :: forall c.
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, [Int8] -> Int8)
-> 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
-> [Int8]
-> FuncRep2 ReadyForConstructionUkr Double c
procBoth3FFTup Array Int (Int8, Bool)
tup1 Array Int (Int8, Bool)
tup2 Array Int (Int8, Bool)
tup3 Array Int (Int8, Bool)
tup4 Array Int ([Int8], Bool)
tup5 Array Int ([Int8], Int8)
tup6 Array Int (Int8, [Int8] -> Int8)
tup7 Array Int (Int8, Bool)
tup8 Array Int ([Int8], Bool)
tup9 Array Int ([Int8], Bool)
tup10 Array Int ([Int8], Bool)
tup11 Array Int (Int8, [Int8])
tup12 Array Int (Char, Int8)
tup13 Array Int (Int8, [Int8])
tup14 Array Int (Char, Bool)
tup15 Array Int (Char, Bool)
tup16 Array Int (Int8, Bool)
tup17 Double
k Double -> c
g Coeffs2
coeffs [Int8]
sels
 = forall c.
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, [Int8] -> Int8)
-> 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)
-> ([[[Int8]]] -> [[Double]])
-> Coeffs2
-> [Int8]
-> FuncRep2 ReadyForConstructionUkr Double c
procB2FFTup Array Int (Int8, Bool)
tup1 Array Int (Int8, Bool)
tup2 Array Int (Int8, Bool)
tup3 Array Int (Int8, Bool)
tup4 Array Int ([Int8], Bool)
tup5 Array Int ([Int8], Int8)
tup6 Array Int (Int8, [Int8] -> Int8)
tup7 Array Int (Int8, Bool)
tup8 Array Int ([Int8], Bool)
tup9 Array Int ([Int8], Bool)
tup10 Array Int ([Int8], Bool)
tup11 Array Int (Int8, [Int8])
tup12 Array Int (Char, Int8)
tup13 Array Int (Int8, [Int8])
tup14 Array Int (Char, Bool)
tup15 Array Int (Char, Bool)
tup16 Array Int (Int8, Bool)
tup17 Double
k Double -> c
g [[[Int8]]] -> [[Double]]
SD.syllableDurationsD3 Coeffs2
coeffs [Int8]
sels
{-# INLINE procBoth3FFTup #-}

procBoth3InvFTup
  :: (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
  -> FlowSound
  -> FuncRep2 ReadyForConstructionUkr Double c
procBoth3InvFTup :: forall c.
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, [Int8] -> Int8)
-> 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
-> [Int8]
-> FuncRep2 ReadyForConstructionUkr Double c
procBoth3InvFTup Array Int (Int8, Bool)
tup1 Array Int (Int8, Bool)
tup2 Array Int (Int8, Bool)
tup3 Array Int (Int8, Bool)
tup4 Array Int ([Int8], Bool)
tup5 Array Int ([Int8], Int8)
tup6 Array Int (Int8, [Int8] -> Int8)
tup7 Array Int (Int8, Bool)
tup8 Array Int ([Int8], Bool)
tup9 Array Int ([Int8], Bool)
tup10 Array Int ([Int8], Bool)
tup11 Array Int (Int8, [Int8])
tup12 Array Int (Char, Int8)
tup13 Array Int (Int8, [Int8])
tup14 Array Int (Char, Bool)
tup15 Array Int (Char, Bool)
tup16 Array Int (Int8, Bool)
tup17 Double -> c
g Coeffs2
coeffs [Int8]
sels
 = forall c.
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, [Int8] -> Int8)
-> 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)
-> ([[[Int8]]] -> [[Double]])
-> Coeffs2
-> [Int8]
-> FuncRep2 ReadyForConstructionUkr Double c
procB2InvFTup Array Int (Int8, Bool)
tup1 Array Int (Int8, Bool)
tup2 Array Int (Int8, Bool)
tup3 Array Int (Int8, Bool)
tup4 Array Int ([Int8], Bool)
tup5 Array Int ([Int8], Int8)
tup6 Array Int (Int8, [Int8] -> Int8)
tup7 Array Int (Int8, Bool)
tup8 Array Int ([Int8], Bool)
tup9 Array Int ([Int8], Bool)
tup10 Array Int ([Int8], Bool)
tup11 Array Int (Int8, [Int8])
tup12 Array Int (Char, Int8)
tup13 Array Int (Int8, [Int8])
tup14 Array Int (Char, Bool)
tup15 Array Int (Char, Bool)
tup16 Array Int (Int8, Bool)
tup17 Double -> c
g [[[Int8]]] -> [[Double]]
SD.syllableDurationsD3 Coeffs2
coeffs [Int8]
sels
{-# INLINE procBoth3InvFTup #-}

procBoth3InvFFTup
  :: (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
  -> FlowSound
  -> FuncRep2 ReadyForConstructionUkr Double c
procBoth3InvFFTup :: forall c.
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, [Int8] -> Int8)
-> 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
-> [Int8]
-> FuncRep2 ReadyForConstructionUkr Double c
procBoth3InvFFTup Array Int (Int8, Bool)
tup1 Array Int (Int8, Bool)
tup2 Array Int (Int8, Bool)
tup3 Array Int (Int8, Bool)
tup4 Array Int ([Int8], Bool)
tup5 Array Int ([Int8], Int8)
tup6 Array Int (Int8, [Int8] -> Int8)
tup7 Array Int (Int8, Bool)
tup8 Array Int ([Int8], Bool)
tup9 Array Int ([Int8], Bool)
tup10 Array Int ([Int8], Bool)
tup11 Array Int (Int8, [Int8])
tup12 Array Int (Char, Int8)
tup13 Array Int (Int8, [Int8])
tup14 Array Int (Char, Bool)
tup15 Array Int (Char, Bool)
tup16 Array Int (Int8, Bool)
tup17 Double
k Double -> c
g Coeffs2
coeffs [Int8]
sels
 = forall c.
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, [Int8] -> Int8)
-> 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)
-> ([[[Int8]]] -> [[Double]])
-> Coeffs2
-> [Int8]
-> FuncRep2 ReadyForConstructionUkr Double c
procB2InvFFTup Array Int (Int8, Bool)
tup1 Array Int (Int8, Bool)
tup2 Array Int (Int8, Bool)
tup3 Array Int (Int8, Bool)
tup4 Array Int ([Int8], Bool)
tup5 Array Int ([Int8], Int8)
tup6 Array Int (Int8, [Int8] -> Int8)
tup7 Array Int (Int8, Bool)
tup8 Array Int ([Int8], Bool)
tup9 Array Int ([Int8], Bool)
tup10 Array Int ([Int8], Bool)
tup11 Array Int (Int8, [Int8])
tup12 Array Int (Char, Int8)
tup13 Array Int (Int8, [Int8])
tup14 Array Int (Char, Bool)
tup15 Array Int (Char, Bool)
tup16 Array Int (Int8, Bool)
tup17 Double
k Double -> c
g [[[Int8]]] -> [[Double]]
SD.syllableDurationsD3 Coeffs2
coeffs [Int8]
sels
{-# INLINE procBoth3InvFFTup #-}