||

|| — Opérateur OU logique.

Description

Les opérateurs arithmétiques réalisent les opérations de changement de signe (négation), de signe inchangé, ET logique, OU logique, addition, soustraction, multiplication et division. Notez qu'une valeur ou une expression peut être placée entre deux de ces opérateurs, lesquels peuvent la prendre comme opérande de gauche ou de droite, comme dans

a + b * c.

Trois règles s'appliquent dans de tels cas :

1. * et / s'appliquent à leurs voisins plus fortement que + et −. Ainsi l'expression ci-dessus s'interprète comme

a + (b * c)

avec * prenant b et c puis + prenant a et b * c.

2. + et sont prioritaires sur &&, qui devance lui-même || :

a && b - c || d

est interprété comme

(a && (b - c)) || d

3. Quand deux opérateurs sont d'égale importance, les opérations ont lieu de gauche à droite :

a - b - c

est interprété comme

(a - b) - c

On peut utiliser des parenthèses pour forcer un groupement particulier.

Syntaxe

a || b  (OU logique ; pas de taux audio)

où les arguments a et b peuvent être des expressions.

Exemples

Voici un exemple de l'opérateur |. Il utilise le fichier logicOR.csd.

Exemple 31. Exemple de l'opérateur |.

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
-odac -+rtmidi=virtual -M0   ;;;realtime audio out and virtual midi keyboard
;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
</CsOptions>
<CsInstruments>
;after a UDO from Rory Walsh
sr = 44100
ksmps = 32
nchnls = 2

instr 1	;displays notes, midi channel and control number information

kstatus, kchan, kdata1, kdata2 midiin
k1 changed kstatus
k2 changed kchan
k3 changed kdata1
k4 changed kdata2
if((k1==1)||(k2==1)||(k3==1)||(k4==1)) then
printks "Value:%d ChanNo:%d CtrlNo:%d\n" , 0, kdata2, kchan, kdata1  
endif 

endin
</CsInstruments>
<CsScore>

i1  0  60	;print values for 60 seconds

e
</CsScore>
</CsoundSynthesizer>


Sa sortie contiendra des lignes comme celles-ci :

Value:127 ChanNo:11 CtrlNo:62
Value:127 ChanNo:11 CtrlNo:60
Value:127 ChanNo:11 CtrlNo:60
Value:127 ChanNo:11 CtrlNo:60
Value:127 ChanNo:11 CtrlNo:60
....
Value:0 ChanNo:11 CtrlNo:62
Value:0 ChanNo:11 CtrlNo:62
Value:0 ChanNo:11 CtrlNo:62
Value:0 ChanNo:11 CtrlNo:62
....
Value:77 ChanNo:11 CtrlNo:23
Value:77 ChanNo:11 CtrlNo:23
Value:76 ChanNo:11 CtrlNo:23
Value:76 ChanNo:11 CtrlNo:23
....

Voir aussi

-, +, &&, *, /, ^, %