| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Music.Theory.Duration.RQ.Division
Description
RQ sub-divisions.
- type RQ_Div = (Rational, Integer, [Integer], Tied_Right)
- type RQ1_Div = (Integer, [Integer], Tied_Right)
- rq1_div_to_rq_div :: RQ1_Div -> RQ_Div
- rq_div_verify :: RQ_Div -> Bool
- rq_div_mm_verify :: Int -> [RQ_Div] -> [(Integer, [RQ])]
- rq_div_to_rq_set_t :: RQ_Div -> ([RQ], Tied_Right)
- rq_set_t_to_rqt :: ([RQ], Tied_Right) -> [RQ_T]
- rq_div_seq_rq :: [RQ_Div] -> [RQ]
- partitions_sum :: Integral i => i -> [[i]]
- partitions_sum_p :: Integral i => i -> [[i]]
- rq1_div_univ :: Integer -> [RQ1_Div]
Documentation
type RQ_Div = (Rational, Integer, [Integer], Tied_Right) Source #
Divisions of n RQ into i equal parts grouped as j.
A quarter and eighth note triplet is written (1,1,[2,1],False).
rq_div_verify :: RQ_Div -> Bool Source #
Verify that grouping j sums to the divisor i.
rq_div_to_rq_set_t :: RQ_Div -> ([RQ], Tied_Right) Source #
rq_set_t_to_rqt :: ([RQ], Tied_Right) -> [RQ_T] Source #
Translate from result of rq_div_to_rq_set_t to seqeunce of RQ_T.
rq_set_t_to_rqt ([1/5,3/5,1/5],True) == [(1/5,_f),(3/5,_f),(1/5,_t)]
rq_div_seq_rq :: [RQ_Div] -> [RQ] Source #
partitions_sum :: Integral i => i -> [[i]] Source #
Partitions of an Integral that sum to n. This includes the
two 'trivial paritions, into a set n 1, and a set of 1 n.
partitions_sum 4 == [[1,1,1,1],[2,1,1],[2,2],[3,1],[4]]
map (length . partitions_sum) [9..15] == [30,42,56,77,101,135,176]
partitions_sum_p :: Integral i => i -> [[i]] Source #
The multiset_permutations of partitions_sum.
map (length . partitions_sum_p) [9..12] == [256,512,1024,2048]
rq1_div_univ :: Integer -> [RQ1_Div] Source #
The set of all RQ1_Div that sum to n, a variant on
partitions_sum_p.
map (length . rq1_div_univ) [3..5] == [8,16,32] map (length . rq1_div_univ) [9..12] == [512,1024,2048,4096]