Instruction y (ou instruction graine)

a — Fixe la "graine" pour les nombres aléatoires.

Description

Fixe la "graine" pour les nombres aléatoires, soit la valeur de p1, soit la valeur de l'horloge système si p1 est omis.

Syntaxe

y [p1]

Initialisation

p1 -- Un entier compris entre 0 et 232 utilisé comme nouvelle graine pour les nombres aléatoires. S'il est omis, la valeur de l'horloge système est utilisée.

Exécution

On peut utiliser le symbole tilde ˜ dans une expression chaque fois qu'un nombre est permis. Chaque ˜ sera remplacé par un nombre aléatoire compris entre zéro (0) et un (1). S'il n'y a pas d'instruction y dans la partition, le générateur de nombres pseudo-aléatoires fournira les mêmes nombres à chaque exécution. Si une graine fixe est donnée, une suite prévisible de nombres pseudo-aléatoires sera générée à partir de cette graine. S'il y a une instruction y sans p1, l'horloge système sera utilisée comme graine, fournissant une suite de nombres pseudo-aléatoires différente à chaque exécution.

Exemples

Voici un exemple de l'instruction y. Il utilise le fichier y_statement.csd.

Exemple 1270. Exemple de l'instruction y.

<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
; Audio out   Audio in    No messages
-odac           -iadc     -d     ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o 0dbfs.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

; Initialize the global variables.
sr = 44100
ksmps = 10
nchnls = 2
0dbfs = 1

instr 1
  print p4
endin
</CsInstruments>
<CsScore>

y

i 1 0 1 [~ * 10 + 1]
i 1 + 1 [~ * 10 + 1]
i 1 + 1 [~ * 10 + 1]
i 1 + 1 [~ * 10 + 1]
e

</CsScore>
</CsoundSynthesizer>


A chaque exécution de cette exemple, différentes valeurs comprises entre 1 et 10 seront affichées. La graine utilisée est également affichée.

Crédits

Auteur : John ffitch, 2014

Nouveau dans la version 6.03