[Pdmtl] Louis B - programmeur Pd - question sur Pd mtl
Mathieu Bouchard
matju at artengine.ca
Thu Jan 29 14:37:00 EST 2009
On Thu, 29 Jan 2009, patrick wrote:
> je ne sais pas à quoi correspond 8e+06 et si c'est possible de mettre
> une valeur plus élévée, mais ici c'est assez pour loader un wav 44100 de
> 3m41s. bien entendu, ça consomme beaucoup de mémoire.
1e+00 = 1
1e+01 = 10
1e+02 = 100
1e+03 = 1000
1e+06 = 1000000
8e+06 = 8000000
donc ça veut dire combien de fois on multiplie par 10.
le nombre le plus gros possible est aux alentours de 1e+37, mais je ne le
recommande pas, ça va déborder (overflow) une fois rendu dans [tabread].
Le nombre 32-bit le plus gros est 2147483647 mais pour raison
d'arrondissement je ne le conseille pas non plus. 2e+09 est assez proche
de la limite possible de ta RAM mais de toute façon pd est pas vraiment
capable de gérer un tableau de plus de 16777216 éléments avec [tabread] et
encore moins avec [tabread4]. Pour changer cette limite il faut soit
hacker pd pour qu'il utilise float64, ou encore se faire un nouvel externe
tabread à deux inputs pour augmenter la précision parce que le format
float32 (utilisé dans tous les messages et signaux de pd) a ses limites.
Ce qui se passe c'est qu'après 16777216 il n'y a plus de nombres impairs
dans le format float32. à chaque fois qu'on double de valeur, il y a deux
fois plus d'espace entre des nombres consécutifs. Ça veut aussi dire qu'à
partir de 8388608 il n'y a plus de différence entre [tabread] et
[tabread4] à part de bouffer plus de CPU, et que la qualité du contrôle
sur [tabread4] diminue graduellement et donc paraît bien avant d'arriver à
ce nombre.
_ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec
More information about the Pdmtl
mailing list