User:Ganaram inukshuk/TAMNAMS Extension: Difference between revisions
Line 73: | Line 73: | ||
#Let ''z'' and ''w'' be the number of large and small steps of the parent mos to be found. Assign to ''z'' and ''w'' the values ''x'' and ''y'' respectively. | #Let ''z'' and ''w'' be the number of large and small steps of the parent mos to be found. Assign to ''z'' and ''w'' the values ''x'' and ''y'' respectively. | ||
#Let '' | #Let ''m<sub>1</sub>'' be assigned the value of max(''z'', ''w'') and ''m<sub>2</sub>'' the value of min(''z'', ''w''). | ||
#Assign to ''z'' the value '' | #Assign to ''z'' the value ''m<sub>2</sub>'' and ''w'' the value ''m<sub>1</sub>''-''m<sub>2</sub>''. | ||
#If ''z''+''w'' is less than or equal to ''n'', then the ancestor mos is ''z''L ''w''s. If not, repeat the process starting at step 2. | #If ''z''+''w'' is less than or equal to ''n'', then the ancestor mos is ''z''L ''w''s. If not, repeat the process starting at step 2. | ||
Line 80: | Line 80: | ||
For a mos xL ys, perform the following algorithm to find the step ratio for a descendant mos zL ws with target note count n or less: | For a mos xL ys, perform the following algorithm to find the step ratio for a descendant mos zL ws with target note count n or less: | ||
#Let ''z'' and ''w'' be the number of large and small steps of the parent mos to be found. Let ''U'' and ''V'' be two chunks, | #Let ''z'' and ''w'' be the number of large and small steps of the parent mos to be found. Let ''U'' and ''V'' be two chunks, vectors containing the amounts of L's and s's from xL ys that make up the ancestor mos's large and small steps. | ||
##Assign to ''z'' and ''w'' the values ''x'' and ''y'' respectively. | ##Assign to ''z'' and ''w'' the values ''x'' and ''y'' respectively. | ||
##Assign to U the vector { | ##Assign to ''U'' the vector { ''u<sub>L</sub>'', ''u<sub>s</sub>'' } = { 1, 0 } and V to the vector { ''v<sub>L</sub>'', ''v<sub>s</sub>'' } = { 0, 1 }. | ||
#Let '' | #Let ''m<sub>1</sub>'' be assigned the value of max(''z'', ''w'') and ''m<sub>2</sub>'' the value of min(''z'', ''w''). | ||
##If w > z, then add V to U. Otherwise, assign to a temporary vector | ##If w > z, then add ''V'' to ''U''. Otherwise, assign to a temporary vector ''U<sub>temp</sub>'' the value of ''U'', add ''V'' to ''U'', and assign to ''V'' the value of ''U<sub>temp</sub>''. | ||
#Assign to ''z'' the value '' | #Assign to ''z'' the value ''m<sub>2</sub>'' and ''w'' the value ''m<sub>1</sub>''-''m<sub>2</sub>''. | ||
#If ''z''+''w'' is less than or equal to ''n'', then the ancestor mos is ''z''L ''w''s. The step ratio range for the | #If ''z''+''w'' is less than or equal to ''n'', then the ancestor mos is ''z''L ''w''s. The step ratio range for the ''z''L ''w''s is (''u<sub>L</sub>''+ ''u<sub>s</sub>''):(''v<sub>L</sub>''+ ''v<sub>Ls</sub>'') to ''u<sub>L</sub>'':''v<sub>s</sub>''. If ''z''+''w'' is not less than or equal to ''n'', repeat the process starting at step 2. | ||
== Names for mosses with more than 10 notes == | == Names for mosses with more than 10 notes == |