Ok thanks for pointing out the actual decimal precision limit, I get it, according to my understanding of 32-bit floats type.
I was also wondering why this kind of common function isn't implemented in vanilla, in the form of an objet, or even as standardized abstraction (like the list-abs ?) ? Because, it's like everyone has to :
(different names, in/outlets) and subject to errors in conception (like here, not using maximum range).
I know this might be a delicate debate, but I feel like this kind of function (like "floating-point random" but one could find other examples) could be provided as abstractions, since it's already useable but anyone who wants to learn can check the inner patch ?
Don't want to start a messy troll, but at least IMHO this feature really misses in vanilla,
++
Raphaël
2016-05-31 17:12 GMT+02:00 Matt Barber brbrofsvl@gmail.com:
Your maximum [random] resolution is 2^24. You can send [1 (—[<< 24] to the right inlet of [random] and the right inlet of [/ ] and you'll have the max float resolution (assuming uniform distribution) between 0 and 1.
On Tue, May 31, 2016 at 10:44 AM, Raphaël Ilias phae.ilias@gmail.com wrote:
Hello list,
I want to do a simple task : pick a random float in a defined range (let's say between 0.0 and 1.0). I know there are this kind of objects in external libraries (something like [randomF] if remember), but since the collapse of Pd-Extended, I generally prefer to make vanilla abstractions.
The two solutions i foresee are :
solution #1 :
[random 1e+06] | [/ 1e+06]
but this way, it doesn't use the full floating-point resolution ?... and going over that range (like 1e_07) will result in errors (outputs 0) I guess because of floating-point complexity.
# solution #2 :
[noise~] | [snapshot~]
but this won't work if DSP/audio is turned off.
so I wondered if there are other vanilla and efficient solutions? ...or if I just have to get the external from deken... ? :)
thanks,
Raphaël
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list