>= — Determines if one value is greater than or equal to another.
In the above conditional, a and b are first compared. If the indicated relation is true (a greater than or equal to b), then the conditional expression has the value of v1; if the relation is false, the expression has the value of v2.
NB.: If v1 or v2 are expressions, these will be evaluated before the conditional is determined.
In terms of binding strength, all conditional operators (i.e. the relational operators (<, etc.), and ?, and : ) are weaker than the arithmetic and logical operators (+, -, *, /, && and ||).
These are operators not opcodes. Therefore, they can be used within orchestra statements, but do not form complete statements themselves.
Here is an example of the >= operator. Play greaterequal.csd
Example 20. Example of the >= operator.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform ; Audio out Audio in -odac -iadc ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o greaterequal.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 kr = 44100 ksmps = 1 nchnls = 1 ; Instrument #1. instr 1 ; Get the 4th p-field from the score. k1 = p4 ; Is it greater than or equal to 3? (1 = true, 0 = false) k2 = (p4 >= 3 ? 1 : 0) ; Print the values of k1 and k2. printks "k1 = %f, k2 = %f\\n", 1, k1, k2 endin </CsInstruments> <CsScore> ; Call Instrument #1 with a p4 = 2. i 1 0 0.5 2 ; Call Instrument #1 with a p4 = 3. i 1 1 0.5 3 ; Call Instrument #1 with a p4 = 4. i 1 2 0.5 4 e </CsScore> </CsoundSynthesizer>
Its output should include lines like this:
k1 = 2.000000, k2 = 0.000000 k1 = 3.000000, k2 = 1.000000 k1 = 4.000000, k2 = 1.000000