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

## <=

<= — Détermine si une valeur est inférieure ou égale à l'autre.

## Description

Détermine si une valeur est inférieure ou égale à l'autre.

## 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 inférieur ou égal à b), alors l'expression conditionnelle prend la valeur de v1 ; si la relation est fausse, l'expression prend la valeur de v2.

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 lessequal.csd.

Example 25. 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 <=.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

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

    instr 1

    kval    randomh 0, 1.2, 20		;choose between 0 and 1.2

    if kval >0 && kval<=.5 then		;3 possible outcomes
    	kvl = 1
    elseif kval >.5 && kval<=1 then
    	kvl =2
    elseif kval >1 then
    	kvl =3
    endif

    printks "random number = %f, result = %f\n", .1, kval, kvl
    asig    poscil .7, 440*kvl, 1
            outs asig, asig

    endin
    </CsInstruments>
    <CsScore>
    f1 0 16384 10 1

    i 1 0 5
    e
    </CsScore>
    </CsoundSynthesizer>

Sa sortie contiendra des lignes comme celles-ci :

    random number = 1.035781, result = 3.000000
    random number = 0.134037, result = 1.000000
    random number = 0.130742, result = 1.000000
    random number = 1.002550, result = 3.000000
    random number = 0.370565, result = 1.000000
    random number = 0.655759, result = 2.000000
    random number = 0.676154, result = 2.000000
    ......

## Voir aussi

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

Prev | Up | Next
< | Home | *