packages feed

phonetic-languages-simplified-examples-array-0.6.0.0: Phonetic/Languages/Simplified/Array/Ukrainian/FuncRep2RelatedG2.hs

-- |
-- Module      :  Phonetic.Languages.Simplified.Array.Ukrainian.FuncRep2RelatedG2
-- Copyright   :  (c) OleksandrZhabenko 2020-2021
-- License     :  MIT
-- Stability   :  Experimental
-- Maintainer  :  olexandr543@yahoo.com
--
-- Functions to choose from the 'FuncRep2' variants.

{-# LANGUAGE BangPatterns #-}

module Phonetic.Languages.Simplified.Array.Ukrainian.FuncRep2RelatedG2 where

import CaseBi.Arr (getBFstL')
import Phonetic.Languages.Simplified.DataG.Base
import Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2
import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2

-- | Allows to choose the variant of the computations in case of usual processment.
chooseMax :: (Ord c) => (Double -> c) -> Coeffs2 -> String -> FuncRep2 String Double c
chooseMax g coeffs choice
 | take 1 choice == "c" = procRhythmicity23F 1.3 g choice coeffs
 | otherwise = getBFstL' (procBoth4InvF g coeffs) [("02y",procRhythmicity23F 1.3 g "02y" coeffs),
   ("02z",procRhythmicity23F 1.3 g "02z" coeffs), ("03y",procRhythmicity23F 1.3 g "03y" coeffs),
    ("03z",procRhythmicity23F 1.3 g "03z" coeffs), ("04y",procRhythmicity23F 1.3 g "04y" coeffs),
     ("04z",procRhythmicity23F 1.3 g "04z" coeffs), ("0y",procRhythmicity23F 1.3 g "0y" coeffs),
      ("0z",procRhythmicity23F 1.3 g "0z" coeffs), ("s01",procRhythmicity23F 1.3 g "s01" coeffs),
      ("s02",procRhythmicity23F 1.3 g "s02" coeffs),("s03",procRhythmicity23F 1.3 g "s03" coeffs),
      ("s04",procRhythmicity23F 1.3 g "s04" coeffs),("s11",procRhythmicity23F 1.3 g "s11" coeffs),
      ("s12",procRhythmicity23F 1.3 g "s12" coeffs),("s13",procRhythmicity23F 1.3 g "s13" coeffs),
      ("s14",procRhythmicity23F 1.3 g "s14" coeffs),("s21",procRhythmicity23F 1.3 g "s21" coeffs),
      ("s22",procRhythmicity23F 1.3 g "s22" coeffs),("s23",procRhythmicity23F 1.3 g "s23" coeffs),
      ("s24",procRhythmicity23F 1.3 g "s24" coeffs),("s31",procRhythmicity23F 1.3 g "s31" coeffs),
      ("s32",procRhythmicity23F 1.3 g "s32" coeffs),("s33",procRhythmicity23F 1.3 g "s33" coeffs),
      ("s34",procRhythmicity23F 1.3 g "s34" coeffs),("s41",procRhythmicity23F 1.3 g "s41" coeffs),
      ("s42",procRhythmicity23F 1.3 g "s42" coeffs),("s43",procRhythmicity23F 1.3 g "s43" coeffs),
      ("s44",procRhythmicity23F 1.3 g "s44" coeffs),("s51",procRhythmicity23F 1.3 g "s51" coeffs),
      ("s52",procRhythmicity23F 1.3 g "s52" coeffs),("s53",procRhythmicity23F 1.3 g "s53" coeffs),
      ("s54",procRhythmicity23F 1.3 g "s54" coeffs),("s61",procRhythmicity23F 1.3 g "s61" coeffs),
      ("s62",procRhythmicity23F 1.3 g "s62" coeffs),("s63",procRhythmicity23F 1.3 g "s63" coeffs),
      ("s64",procRhythmicity23F 1.3 g "s64" coeffs),("s71",procRhythmicity23F 1.3 g "s71" coeffs),
      ("s72",procRhythmicity23F 1.3 g "s73" coeffs),("s74",procRhythmicity23F 1.3 g "s74" coeffs),
      ("t01",procRhythmicity23F 1.3 g "t01" coeffs),
      ("t02",procRhythmicity23F 1.3 g "t02" coeffs),("t03",procRhythmicity23F 1.3 g "t03" coeffs),
      ("t04",procRhythmicity23F 1.3 g "t04" coeffs),("t11",procRhythmicity23F 1.3 g "t11" coeffs),
      ("t12",procRhythmicity23F 1.3 g "t12" coeffs),("t13",procRhythmicity23F 1.3 g "t13" coeffs),
      ("t14",procRhythmicity23F 1.3 g "t14" coeffs),("t21",procRhythmicity23F 1.3 g "t21" coeffs),
      ("t22",procRhythmicity23F 1.3 g "t22" coeffs),("t23",procRhythmicity23F 1.3 g "t23" coeffs),
      ("t24",procRhythmicity23F 1.3 g "t24" coeffs),("t31",procRhythmicity23F 1.3 g "t31" coeffs),
      ("t32",procRhythmicity23F 1.3 g "t32" coeffs),("t33",procRhythmicity23F 1.3 g "t33" coeffs),
      ("t34",procRhythmicity23F 1.3 g "t34" coeffs),("t41",procRhythmicity23F 1.3 g "t41" coeffs),
      ("t42",procRhythmicity23F 1.3 g "t42" coeffs),("t43",procRhythmicity23F 1.3 g "t43" coeffs),
      ("t44",procRhythmicity23F 1.3 g "t44" coeffs),("t51",procRhythmicity23F 1.3 g "t51" coeffs),
      ("t52",procRhythmicity23F 1.3 g "t52" coeffs),("t53",procRhythmicity23F 1.3 g "t53" coeffs),
      ("t54",procRhythmicity23F 1.3 g "t54" coeffs),("t61",procRhythmicity23F 1.3 g "t61" coeffs),
      ("t62",procRhythmicity23F 1.3 g "t62" coeffs),("t63",procRhythmicity23F 1.3 g "t63" coeffs),
      ("t64",procRhythmicity23F 1.3 g "t64" coeffs),("t71",procRhythmicity23F 1.3 g "t71" coeffs),
      ("t72",procRhythmicity23F 1.3 g "t73" coeffs),("t74",procRhythmicity23F 1.3 g "t74" coeffs),
      ("u01",procRhythmicity23F 1.3 g "u01" coeffs),
      ("u02",procRhythmicity23F 1.3 g "u02" coeffs),("u03",procRhythmicity23F 1.3 g "u03" coeffs),
      ("u04",procRhythmicity23F 1.3 g "u04" coeffs),("u11",procRhythmicity23F 1.3 g "u11" coeffs),
      ("u12",procRhythmicity23F 1.3 g "u12" coeffs),("u13",procRhythmicity23F 1.3 g "u13" coeffs),
      ("u14",procRhythmicity23F 1.3 g "u14" coeffs),("u21",procRhythmicity23F 1.3 g "u21" coeffs),
      ("u22",procRhythmicity23F 1.3 g "u22" coeffs),("u23",procRhythmicity23F 1.3 g "u23" coeffs),
      ("u24",procRhythmicity23F 1.3 g "u24" coeffs),("u31",procRhythmicity23F 1.3 g "u31" coeffs),
      ("u32",procRhythmicity23F 1.3 g "u32" coeffs),("u33",procRhythmicity23F 1.3 g "u33" coeffs),
      ("u34",procRhythmicity23F 1.3 g "u34" coeffs),("u41",procRhythmicity23F 1.3 g "u41" coeffs),
      ("u42",procRhythmicity23F 1.3 g "u42" coeffs),("u43",procRhythmicity23F 1.3 g "u43" coeffs),
      ("u44",procRhythmicity23F 1.3 g "u44" coeffs),("u51",procRhythmicity23F 1.3 g "u51" coeffs),
      ("u52",procRhythmicity23F 1.3 g "u52" coeffs),("u53",procRhythmicity23F 1.3 g "u53" coeffs),
      ("u54",procRhythmicity23F 1.3 g "u54" coeffs),("u61",procRhythmicity23F 1.3 g "u61" coeffs),
      ("u62",procRhythmicity23F 1.3 g "u62" coeffs),("u63",procRhythmicity23F 1.3 g "u63" coeffs),
      ("u64",procRhythmicity23F 1.3 g "u64" coeffs),("u71",procRhythmicity23F 1.3 g "u71" coeffs),
      ("u72",procRhythmicity23F 1.3 g "u73" coeffs),("u74",procRhythmicity23F 1.3 g "u74" coeffs),
      ("v01",procRhythmicity23F 1.3 g "v01" coeffs),
      ("v02",procRhythmicity23F 1.3 g "v02" coeffs),("v03",procRhythmicity23F 1.3 g "v03" coeffs),
      ("v04",procRhythmicity23F 1.3 g "v04" coeffs),("v11",procRhythmicity23F 1.3 g "v11" coeffs),
      ("v12",procRhythmicity23F 1.3 g "v12" coeffs),("v13",procRhythmicity23F 1.3 g "v13" coeffs),
      ("v14",procRhythmicity23F 1.3 g "v14" coeffs),("v21",procRhythmicity23F 1.3 g "v21" coeffs),
      ("v22",procRhythmicity23F 1.3 g "v22" coeffs),("v23",procRhythmicity23F 1.3 g "v23" coeffs),
      ("v24",procRhythmicity23F 1.3 g "v24" coeffs),("v31",procRhythmicity23F 1.3 g "v31" coeffs),
      ("v32",procRhythmicity23F 1.3 g "v32" coeffs),("v33",procRhythmicity23F 1.3 g "v33" coeffs),
      ("v34",procRhythmicity23F 1.3 g "v34" coeffs),("v41",procRhythmicity23F 1.3 g "v41" coeffs),
      ("v42",procRhythmicity23F 1.3 g "v42" coeffs),("v43",procRhythmicity23F 1.3 g "v43" coeffs),
      ("v44",procRhythmicity23F 1.3 g "v44" coeffs),("v51",procRhythmicity23F 1.3 g "v51" coeffs),
      ("v52",procRhythmicity23F 1.3 g "v52" coeffs),("v53",procRhythmicity23F 1.3 g "v53" coeffs),
      ("v54",procRhythmicity23F 1.3 g "v54" coeffs),("v61",procRhythmicity23F 1.3 g "v61" coeffs),
      ("v62",procRhythmicity23F 1.3 g "v62" coeffs),("v63",procRhythmicity23F 1.3 g "v63" coeffs),
      ("v64",procRhythmicity23F 1.3 g "v64" coeffs),("v71",procRhythmicity23F 1.3 g "v71" coeffs),
      ("v72",procRhythmicity23F 1.3 g "v73" coeffs),("v74",procRhythmicity23F 1.3 g "v74" coeffs),
       ("w01",procRhythmicity23F 1.3 g "w01" coeffs),
       ("w02",procRhythmicity23F 1.3 g "w02" coeffs), ("w03",procRhythmicity23F 1.3 g "w03" coeffs),
        ("w04",procRhythmicity23F 1.3 g "w04" coeffs), ("w11",procRhythmicity23F 1.3 g "w11" coeffs),
         ("w12",procRhythmicity23F 1.3 g "w12" coeffs), ("w13",procRhythmicity23F 1.3 g "w13" coeffs),
          ("w14",procRhythmicity23F 1.3 g "w14" coeffs), ("w21",procRhythmicity23F 1.3 g "w21" coeffs),
           ("w22",procRhythmicity23F 1.3 g "w22" coeffs), ("w23",procRhythmicity23F 1.3 g "w23" coeffs),
            ("w24",procRhythmicity23F 1.3 g "w24" coeffs), ("w31",procRhythmicity23F 1.3 g "w31" coeffs),
             ("w32",procRhythmicity23F 1.3 g "w32" coeffs), ("w33",procRhythmicity23F 1.3 g "w33" coeffs),
              ("w34",procRhythmicity23F 1.3 g "w34" coeffs), ("x01",procRhythmicity23F 1.3 g "x01" coeffs),
              ("x02",procRhythmicity23F 1.3 g "x02" coeffs), ("x03",procRhythmicity23F 1.3 g "x03" coeffs),
               ("x04",procRhythmicity23F 1.3 g "x04" coeffs), ("x11",procRhythmicity23F 1.3 g "x11" coeffs),
                ("x12",procRhythmicity23F 1.3 g "x12" coeffs), ("x13",procRhythmicity23F 1.3 g "x13" coeffs),
                 ("x14",procRhythmicity23F 1.3 g "x14" coeffs), ("x21",procRhythmicity23F 1.3 g "x21" coeffs),
                  ("x22",procRhythmicity23F 1.3 g "x22" coeffs), ("x23",procRhythmicity23F 1.3 g "x23" coeffs),
                   ("x24",procRhythmicity23F 1.3 g "x24" coeffs), ("x31",procRhythmicity23F 1.3 g "x31" coeffs),
                    ("x32",procRhythmicity23F 1.3 g "x32" coeffs), ("x33",procRhythmicity23F 1.3 g "x33" coeffs),
                     ("x34",procRhythmicity23F 1.3 g "x34" coeffs), ("y",procBothF g coeffs),("y0",procDiverse2F g),
                      ("y2",procBoth2F g coeffs),("y3",procBoth3F g coeffs), ("y4",procBoth4F g coeffs),
                       ("yy",procBothInvF g coeffs),("yy2",procBoth2InvF g coeffs),("yy3",procBoth3InvF g coeffs),
                        ("z",procBothFF 1.3 g coeffs),("z2",procBoth2FF 1.3 g coeffs),
                         ("z3",procBoth3FF 1.3 g coeffs), ("z4",procBoth4FF 1.3 g coeffs),
                          ("zz",procBothInvFF 1.3 g coeffs),("zz2",procBoth2InvFF 1.3 g coeffs),
                           ("zz3",procBoth3InvFF 1.3 g coeffs),("zz4", procBoth4InvFF 1.3 g coeffs)] choice
 
-- | Allows to choose precision in the Numeric.showFDouble function being given a choice parameter.
precChoice :: String -> Maybe Int
precChoice = getBFstL' (Just 4) [("02y",Just 0),("02z",Just 0),("03y",Just 0),("03z",Just 0),("04y",Just 0),
  ("04z",Just 0),("0y",Just 0),("0z",Just 0),("y",Just 0),("y0",Just 0),("y2",Just 0),("y3",Just 0), ("y4",Just 0),
    ("z",Just 0),("z0",Just 0),("z2",Just 0),("z3",Just 0), ("z4",Just 0)]