{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE Strict #-}
{-# LANGUAGE TypeSynonymInstances #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_HADDOCK show-extensions #-}
module Aftovolio.Ukrainian.SyllableWord8 where
import Aftovolio.Ukrainian.Melodics (Sound8)
import CaseBi.Arr
import Data.Foldable (foldl')
import GHC.Base
import GHC.Int
import GHC.Num ((+))
import GHC.Word
s0DuratD1 :: Sound8 -> Word8
s0DuratD1 :: Sound8 -> Word8
s0DuratD1 =
Word8 -> [(Sound8, Word8)] -> Sound8 -> Word8
forall a b. Ord a => b -> [(a, b)] -> a -> b
getBFstLSorted'
Word8
5
[ (Sound8
1, Word8
15)
, (Sound8
2, Word8
10)
, (Sound8
3, Word8
13)
, (Sound8
4, Word8
12)
, (Sound8
5, Word8
11)
, (Sound8
6, Word8
10)
, (Sound8
7, Word8
1)
, (Sound8
8, Word8
6)
, (Sound8
9, Word8
6)
, (Sound8
10, Word8
7)
, (Sound8
11, Word8
7)
, (Sound8
15, Word8
6)
, (Sound8
16, Word8
6)
, (Sound8
17, Word8
8)
, (Sound8
18, Word8
8)
, (Sound8
19, Word8
7)
, (Sound8
20, Word8
7)
, (Sound8
21, Word8
8)
, (Sound8
22, Word8
8)
, (Sound8
23, Word8
5)
, (Sound8
24, Word8
5)
, (Sound8
25, Word8
6)
, (Sound8
26, Word8
6)
, (Sound8
27, Word8
6)
, (Sound8
28, Word8
7)
, (Sound8
29, Word8
7)
, (Sound8
30, Word8
8)
, (Sound8
31, Word8
8)
, (Sound8
32, Word8
8)
, (Sound8
33, Word8
8)
, (Sound8
34, Word8
5)
, (Sound8
35, Word8
5)
, (Sound8
36, Word8
9)
, (Sound8
37, Word8
9)
, (Sound8
38, Word8
5)
, (Sound8
39, Word8
6)
, (Sound8
40, Word8
6)
, (Sound8
41, Word8
7)
, (Sound8
42, Word8
7)
, (Sound8
43, Word8
6)
, (Sound8
44, Word8
6)
, (Sound8
45, Word8
4)
, (Sound8
46, Word8
4)
, (Sound8
47, Word8
15)
, (Sound8
48, Word8
15)
, (Sound8
49, Word8
8)
, (Sound8
50, Word8
12)
, (Sound8
51, Word8
12)
, (Sound8
52, Word8
8)
, (Sound8
53, Word8
8)
, (Sound8
54, Word8
8)
, (Sound8
66, Word8
10)
]
{-# INLINE s0DuratD1 #-}
s0DuratD2 :: Sound8 -> Word8
s0DuratD2 :: Sound8 -> Word8
s0DuratD2 =
Word8 -> [(Sound8, Word8)] -> Sound8 -> Word8
forall a b. Ord a => b -> [(a, b)] -> a -> b
getBFstLSorted'
Word8
5
[ (Sound8
1, Word8
15)
, (Sound8
2, Word8
15)
, (Sound8
3, Word8
15)
, (Sound8
4, Word8
14)
, (Sound8
5, Word8
11)
, (Sound8
6, Word8
11)
, (Sound8
7, Word8
1)
, (Sound8
8, Word8
4)
, (Sound8
9, Word8
4)
, (Sound8
10, Word8
5)
, (Sound8
11, Word8
5)
, (Sound8
15, Word8
6)
, (Sound8
16, Word8
6)
, (Sound8
17, Word8
4)
, (Sound8
18, Word8
4)
, (Sound8
19, Word8
4)
, (Sound8
20, Word8
4)
, (Sound8
21, Word8
3)
, (Sound8
22, Word8
3)
, (Sound8
23, Word8
5)
, (Sound8
24, Word8
5)
, (Sound8
25, Word8
4)
, (Sound8
26, Word8
4)
, (Sound8
27, Word8
5)
, (Sound8
28, Word8
6)
, (Sound8
29, Word8
6)
, (Sound8
30, Word8
8)
, (Sound8
31, Word8
8)
, (Sound8
32, Word8
3)
, (Sound8
33, Word8
3)
, (Sound8
34, Word8
4)
, (Sound8
35, Word8
4)
, (Sound8
36, Word8
5)
, (Sound8
37, Word8
5)
, (Sound8
38, Word8
3)
, (Sound8
39, Word8
7)
, (Sound8
40, Word8
7)
, (Sound8
41, Word8
7)
, (Sound8
42, Word8
7)
, (Sound8
43, Word8
9)
, (Sound8
44, Word8
9)
, (Sound8
45, Word8
3)
, (Sound8
46, Word8
3)
, (Sound8
47, Word8
5)
, (Sound8
48, Word8
5)
, (Sound8
49, Word8
3)
, (Sound8
50, Word8
3)
, (Sound8
51, Word8
3)
, (Sound8
52, Word8
5)
, (Sound8
53, Word8
5)
, (Sound8
54, Word8
4)
, (Sound8
66, Word8
4)
]
{-# INLINE s0DuratD2 #-}
s0DuratD3 :: Sound8 -> Word8
s0DuratD3 :: Sound8 -> Word8
s0DuratD3 =
Word8 -> [(Sound8, Word8)] -> Sound8 -> Word8
forall a b. Ord a => b -> [(a, b)] -> a -> b
getBFstLSorted'
Word8
5
[ (Sound8
1, Word8
15)
, (Sound8
2, Word8
14)
, (Sound8
3, Word8
15)
, (Sound8
4, Word8
12)
, (Sound8
5, Word8
12)
, (Sound8
6, Word8
12)
, (Sound8
7, Word8
1)
, (Sound8
8, Word8
5)
, (Sound8
9, Word8
5)
, (Sound8
10, Word8
6)
, (Sound8
11, Word8
6)
, (Sound8
15, Word8
8)
, (Sound8
16, Word8
8)
, (Sound8
17, Word8
5)
, (Sound8
18, Word8
5)
, (Sound8
19, Word8
5)
, (Sound8
20, Word8
5)
, (Sound8
21, Word8
6)
, (Sound8
22, Word8
6)
, (Sound8
23, Word8
6)
, (Sound8
24, Word8
6)
, (Sound8
25, Word8
4)
, (Sound8
26, Word8
4)
, (Sound8
27, Word8
7)
, (Sound8
28, Word8
7)
, (Sound8
29, Word8
7)
, (Sound8
30, Word8
9)
, (Sound8
31, Word8
9)
, (Sound8
32, Word8
4)
, (Sound8
33, Word8
4)
, (Sound8
34, Word8
4)
, (Sound8
35, Word8
4)
, (Sound8
36, Word8
5)
, (Sound8
37, Word8
5)
, (Sound8
38, Word8
4)
, (Sound8
39, Word8
7)
, (Sound8
40, Word8
7)
, (Sound8
41, Word8
9)
, (Sound8
42, Word8
9)
, (Sound8
43, Word8
10)
, (Sound8
44, Word8
10)
, (Sound8
45, Word8
4)
, (Sound8
46, Word8
4)
, (Sound8
47, Word8
7)
, (Sound8
48, Word8
7)
, (Sound8
49, Word8
4)
, (Sound8
50, Word8
4)
, (Sound8
51, Word8
4)
, (Sound8
52, Word8
8)
, (Sound8
53, Word8
8)
, (Sound8
54, Word8
5)
, (Sound8
66, Word8
5)
]
{-# INLINE s0DuratD3 #-}
s0DuratD4 :: Sound8 -> Word8
s0DuratD4 :: Sound8 -> Word8
s0DuratD4 =
Word8 -> [(Sound8, Word8)] -> Sound8 -> Word8
forall a b. Ord a => b -> [(a, b)] -> a -> b
getBFstLSorted'
Word8
5
[ (Sound8
1, Word8
12)
, (Sound8
2, Word8
12)
, (Sound8
3, Word8
12)
, (Sound8
4, Word8
12)
, (Sound8
5, Word8
12)
, (Sound8
6, Word8
12)
, (Sound8
7, Word8
1)
, (Sound8
8, Word8
5)
, (Sound8
9, Word8
5)
, (Sound8
10, Word8
10)
, (Sound8
11, Word8
10)
, (Sound8
15, Word8
5)
, (Sound8
16, Word8
5)
, (Sound8
17, Word8
8)
, (Sound8
18, Word8
8)
, (Sound8
19, Word8
8)
, (Sound8
20, Word8
8)
, (Sound8
21, Word8
13)
, (Sound8
22, Word8
13)
, (Sound8
23, Word8
10)
, (Sound8
24, Word8
10)
, (Sound8
25, Word8
5)
, (Sound8
26, Word8
5)
, (Sound8
27, Word8
4)
, (Sound8
28, Word8
10)
, (Sound8
29, Word8
10)
, (Sound8
30, Word8
15)
, (Sound8
31, Word8
15)
, (Sound8
32, Word8
8)
, (Sound8
33, Word8
8)
, (Sound8
34, Word8
4)
, (Sound8
35, Word8
4)
, (Sound8
36, Word8
6)
, (Sound8
37, Word8
6)
, (Sound8
38, Word8
4)
, (Sound8
39, Word8
12)
, (Sound8
40, Word8
12)
, (Sound8
41, Word8
14)
, (Sound8
42, Word8
14)
, (Sound8
43, Word8
11)
, (Sound8
44, Word8
11)
, (Sound8
45, Word8
6)
, (Sound8
46, Word8
6)
, (Sound8
47, Word8
4)
, (Sound8
48, Word8
4)
, (Sound8
49, Word8
6)
, (Sound8
50, Word8
11)
, (Sound8
51, Word8
11)
, (Sound8
52, Word8
15)
, (Sound8
53, Word8
15)
, (Sound8
54, Word8
7)
, (Sound8
66, Word8
5)
]
{-# INLINE s0DuratD4 #-}
class (Eq a) => SyllableDurations4 a where
sDuratsD :: a -> Word8
sDuratsD2 :: a -> Word8
sDuratsD3 :: a -> Word8
sDuratsD4 :: a -> Word8
syllableDurationsGDc :: (a -> Word8) -> [[[a]]] -> [[Word8]]
syllableDurationsGDc a -> Word8
g = ([[a]] -> [Word8]) -> [[[a]]] -> [[Word8]]
forall a b. (a -> b) -> [a] -> [b]
map (([a] -> Word8) -> [[a]] -> [Word8]
forall a b. (a -> b) -> [a] -> [b]
map ((a -> Word8) -> [a] -> Word8
forall {t :: * -> *} {b} {t}.
(Foldable t, Num b) =>
(t -> b) -> t t -> b
k a -> Word8
g))
where
k :: (t -> b) -> t t -> b
k t -> b
f = (b -> t -> b) -> b -> t t -> b
forall b a. (b -> a -> b) -> b -> t a -> b
forall (t :: * -> *) b a.
Foldable t =>
(b -> a -> b) -> b -> t a -> b
foldl' (\b
y t
x -> t -> b
f t
x b -> b -> b
forall a. Num a => a -> a -> a
+ b
y) b
0
{-# INLINE syllableDurationsGDc #-}
instance SyllableDurations4 Sound8 where
sDuratsD :: Sound8 -> Word8
sDuratsD = Sound8 -> Word8
s0DuratD1
sDuratsD2 :: Sound8 -> Word8
sDuratsD2 = Sound8 -> Word8
s0DuratD2
sDuratsD3 :: Sound8 -> Word8
sDuratsD3 = Sound8 -> Word8
s0DuratD3
sDuratsD4 :: Sound8 -> Word8
sDuratsD4 = Sound8 -> Word8
s0DuratD4
syllableDurationsGD :: (Sound8 -> Word8) -> [[[Sound8]]] -> [[Word8]]
syllableDurationsGD :: (Sound8 -> Word8) -> [[[Sound8]]] -> [[Word8]]
syllableDurationsGD Sound8 -> Word8
g = (Sound8 -> Word8) -> [[[Sound8]]] -> [[Word8]]
forall a.
SyllableDurations4 a =>
(a -> Word8) -> [[[a]]] -> [[Word8]]
syllableDurationsGDc Sound8 -> Word8
g
{-# INLINE syllableDurationsGD #-}
syllableDurationsD :: [[[Sound8]]] -> [[Word8]]
syllableDurationsD :: [[[Sound8]]] -> [[Word8]]
syllableDurationsD = (Sound8 -> Word8) -> [[[Sound8]]] -> [[Word8]]
forall a.
SyllableDurations4 a =>
(a -> Word8) -> [[[a]]] -> [[Word8]]
syllableDurationsGDc Sound8 -> Word8
s0DuratD1
{-# INLINE syllableDurationsD #-}
syllableDurationsD2 :: [[[Sound8]]] -> [[Word8]]
syllableDurationsD2 :: [[[Sound8]]] -> [[Word8]]
syllableDurationsD2 = (Sound8 -> Word8) -> [[[Sound8]]] -> [[Word8]]
forall a.
SyllableDurations4 a =>
(a -> Word8) -> [[[a]]] -> [[Word8]]
syllableDurationsGDc Sound8 -> Word8
s0DuratD2
{-# INLINE syllableDurationsD2 #-}
syllableDurationsD3 :: [[[Sound8]]] -> [[Word8]]
syllableDurationsD3 :: [[[Sound8]]] -> [[Word8]]
syllableDurationsD3 = (Sound8 -> Word8) -> [[[Sound8]]] -> [[Word8]]
forall a.
SyllableDurations4 a =>
(a -> Word8) -> [[[a]]] -> [[Word8]]
syllableDurationsGDc Sound8 -> Word8
s0DuratD3
{-# INLINE syllableDurationsD3 #-}
syllableDurationsD4 :: [[[Sound8]]] -> [[Word8]]
syllableDurationsD4 :: [[[Sound8]]] -> [[Word8]]
syllableDurationsD4 = (Sound8 -> Word8) -> [[[Sound8]]] -> [[Word8]]
forall a.
SyllableDurations4 a =>
(a -> Word8) -> [[[a]]] -> [[Word8]]
syllableDurationsGDc Sound8 -> Word8
s0DuratD4
{-# INLINE syllableDurationsD4 #-}