yeah, my patch only works for rational numbers.
will have a look at the article / method you posted, claude.
On 16/12/11 06:51, i go bananas wrote:I don't think that method will give happy results for most simple fractions. Plus it's useful to get approximations that are simpler or more accurate, like 3 or 22/7 or 355/113 for pi..
by the way, here is the method i used:
first, convert the decimal part to a fraction in the form of n/100000
next, find the highest common factor of n and 100000
(using the 'division method' like this:
http://easycalculation.com/what-is-hcf.php )
then just divide n and 100000 by that factor.
Your patch doesn't work very well for me:
input: 1/7
fraction: 2857/20000
input: 8/9
fraction: 11111/12500
input: 7/11
fraction: 15909/25000
input: 11/17
fraction: 4313.67/6666.67
(input is "$1 $2"--[/], so as accurate as floating point is...)There's a way to get a "simple" fraction like 1/7 instead of 143/1000 or whatever, could be possible to implement in Pd? (I've not tried.)
actually, that means it's accurate to 6 decimal places, i guess.
[0] http://hackage.haskell.org/packages/archive/base/latest/doc/html/src/Data-Ratio.html#approxRational
[1] http://en.wikipedia.org/wiki/Continued_fraction#Best_rational_approximations
well...whatever :D
Claude
_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list