divz

divz — Division protégée de deux nombres.

Syntaxe

ares divz xa, xb, ksubst
ires divz ia, ib, isubst
kres divz ka, kb, ksubst
...divz(ka, kb, ksubst)... (pas de restriction de taux)

Description

Division protégée de deux nombres.

Initialisation

Lorsque b est différent de zéro, le résultat reçoit la valeur de a / b ; si b est égal à zéro, le résultat prend la valeur de subst.

Exemples

Voici un exemple de l'opcode divz. Il utilise le fichier divz.csd.

Exemple 243. Exemple de l'opcode divz.

Voir les sections Audio en Temps Réel et Options de la Ligne de Commande pour plus d'information sur l'utilisation des options de la ligne de commande.

<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
; Audio out   Audio in
-n   ; no sound
; For Non-realtime ouput leave only the line below:
; -o divz.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

instr 1
  
ka init 200                                         ; Define the numbers to be divided.
kb line 0, p3, 200                                  ; Linearly change the value of kb from 200 to 0.
ksubst init -1                                      ; If a "divide by zero" error occurs, substitute -1.
kresults divz ka, kb, ksubst                        ; Safely divide the numbers.
printks "%f / %f = %f\\n", 0.1, ka, kb, kresults    ; Print out the results.

endin

</CsInstruments>
<CsScore>
i 1 0 .3
e
</CsScore>
</CsoundSynthesizer>


Sa sortie contiendra des lignes comme :

200.000000 / 0.000000 = -1.000000
200.000000 / 66.757370 = 2.995924
200.000000 / 133.514739 = 1.497962

Voir aussi

=, init, tival

Crédits

Auteur : John ffitch d'après une idée de Barry L. Vercoe

Exemple écrit par Kevin Conder.

Forme fonctionnelle disponible dans la version 6.00.