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 :
- download an external library (and get other extra objects)
- or build it's own abstraction which make patch less "standardized" (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