Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Max Meyer. "The musician's arithmetic: drill problems for an introduction to the scientific study of musical composition." The University of Missouri, 1929. p.22
Synopsis
- odd_to :: (Num t, Enum t) => t -> [t]
- row :: Integral i => i -> [Ratio i]
- column :: Integral i => i -> [Ratio i]
- in_oct_mul :: Integral i => Ratio i -> Ratio i -> Ratio i
- inner :: Integral i => ([Ratio i], [Ratio i]) -> (i, i) -> Ratio i
- meyer_table_rck :: Integral i => i -> ([Ratio i], [Ratio i], i)
- meyer_table_indices :: Integral i => i -> [(i, i, Ratio i)]
- meyer_table_rows :: Integral a => a -> [[Ratio a]]
- t3_3 :: (t1, t2, t3) -> t3
- elements :: Integral i => i -> [Ratio i]
- degree :: Integral i => i -> i
- farey_sequence :: Integral a => a -> [Ratio a]
Documentation
column :: Integral i => i -> [Ratio i] Source #
Generate initial column for n.
column 7 == [1,8/5,4/3,8/7]
inner :: Integral i => ([Ratio i], [Ratio i]) -> (i, i) -> Ratio i Source #
Given row and column generate matrix value at (i,j).
inner (row 7,column 7) (1,2) == 6/5
meyer_table_indices :: Integral i => i -> [(i, i, Ratio i)] Source #
Meyer table in form (r,c,n).
meyer_table_indices 7 == [(0,0,1/1),(0,1,5/4),(0,2,3/2),(0,3,7/4) ,(1,0,8/5),(1,1,1/1),(1,2,6/5),(1,3,7/5) ,(2,0,4/3),(2,1,5/3),(2,2,1/1),(2,3,7/6) ,(3,0,8/7),(3,1,10/7),(3,2,12/7),(3,3,1/1)]
meyer_table_rows :: Integral a => a -> [[Ratio a]] Source #
Meyer table as set of rows.
meyer_table_rows 7 == [[1/1, 5/4, 3/2,7/4] ,[8/5, 1/1, 6/5,7/5] ,[4/3, 5/3, 1/1,7/6] ,[8/7,10/7,12/7,1/1]]
let r = [[ 1/1, 9/8, 5/4, 11/8, 3/2, 13/8, 7/4, 15/8] ,[16/9, 1/1, 10/9, 11/9, 4/3, 13/9, 14/9, 5/3] ,[ 8/5, 9/5, 1/1, 11/10, 6/5, 13/10, 7/5, 3/2] ,[16/11, 18/11, 20/11, 1/1, 12/11, 13/11, 14/11, 15/11] ,[ 4/3, 3/2, 5/3, 11/6, 1/1, 13/12, 7/6, 5/4] ,[16/13, 18/13, 20/13, 22/13, 24/13, 1/1, 14/13, 15/13] ,[ 8/7, 9/7, 10/7, 11/7, 12/7, 13/7, 1/1, 15/14] ,[16/15, 6/5, 4/3, 22/15, 8/5, 26/15, 28/15, 1/1]] in meyer_table_rows 15 == r
elements :: Integral i => i -> [Ratio i] Source #
Set of unique ratios in n table.
elements 7 == [1,8/7,7/6,6/5,5/4,4/3,7/5,10/7,3/2,8/5,5/3,12/7,7/4]
elements 9 == [1,10/9,9/8,8/7,7/6,6/5,5/4,9/7,4/3,7/5,10/7 ,3/2,14/9,8/5,5/3,12/7,7/4,16/9,9/5]
degree :: Integral i => i -> i Source #
Number of unique elements at n table.
map degree [7,9,11,13,15] == [13,19,29,41,49]
farey_sequence :: Integral a => a -> [Ratio a] Source #
http://en.wikipedia.org/wiki/Farey_sequence
r = [[0 ] ,[0 ,1] ,[0 ,1/2 ,1] ,[0 ,1/3 ,1/2 ,2/3 ,1] ,[0 ,1/4,1/3 ,1/2 ,2/3,3/4 ,1] ,[0 ,1/5,1/4,1/3,2/5,1/2,3/5,2/3,3/4,4/5 ,1] ,[0,1/6,1/5,1/4,1/3,2/5,1/2,3/5,2/3,3/4,4/5,5/6,1]]
map farey_sequence [0..6]