==
Prev | Opcodes et opérateurs de l'orchestre | Next

## ==

== — Teste l'égalité de deux valeurs.

## Description

Teste l'égalité de deux valeurs.

## Syntaxe

    (a == b ? v1 : v2)

où a, b, v1 et v2 peuvent être des expressions, mais a, b pas de taux audio.

## Exécution

Dans l'expression conditionnelle ci-dessus, a et b sont d'abord comparés. Si la relation indiquée est vraie (a égal à b), alors l'expression conditionnelle prend la valeur de v1 ; si la relation est fausse, l'expression prend la valeur de v2. (Par commodité, un seul "=" fonctionnera comme "= =".)

Nota Bene : Si v1 ou v2 sont des expressions, elles seront évaluées avant que l'expression conditionnelle ne soit déterminée.

En termes de précédence, tous les opérateurs conditionnels (c-à-d. les opérateurs relationnels (<, etc.), et ?, et : ) sont plus faibles que les opérateurs arithmétiques et logiques (+, -, *, /, && et ||).

Ce sont des opérateurs pas des opcodes. C'est pourquoi on peut les utiliser dans les instructions de l'orchestre, mais ils ne forment pas des instructions complètes par eux-mêmes.

## Exemples

Voici un exemple de l'opérateur ==. Il utilise le fichier equals.csd.

Example 32. 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   ;;;realtime audio out
    ;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
    ; For Non-realtime ouput leave only the line below:
    ; -o equals.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

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

    instr 1

    ienv = p4				;choose envelope in score

    if (ienv == 0) kthen
      kenv adsr 0.05, 0.05, 0.95, 0.05	;sustained envelope
    elseif (ienv == 1) kthen
      kenv adsr 0.5, 1, 0.5, 0.5		;triangular envelope
    elseif (ienv == 2) kthen
      kenv adsr 1, 1, 1, 0			;ramp up
    endif

    aout   vco2 .1, 110, 10
    aout   = aout * kenv
           outs aout, aout

    endin

    </CsInstruments>
    <CsScore>

    i1 0 2  0
    i1 3 2  1
    i1 6 2  2

    e
    </CsScore>
    </CsoundSynthesizer>

## Voir aussi

>=, >, <=, <, !=

Prev | Up | Next
+= | Home | ^