round
Prev | Orchestra Opcodes and Operators | Next

## round

round — Returns the integer value nearest to x ; if the fractional part of x is exactly 0.5, the direction of rounding is undefined.

## Description

The integer value nearest to x ; if the fractional part of x is exactly 0.5, the direction of rounding is undefined.

## Syntax

    round(x) (init-, control-, or audio-rate arg allowed)

where the argument within the parentheses may be an expression. Value converters perform arithmetic translation from units of one kind to units of another. The result can then be a term in a further expression.

## Examples

Here is an example of the round opcode. It uses the file round.csd.

Example 702. Example of the round opcode.

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

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

    instr 1

    idiv init 1

    loop:
    inumber = 9
    i1  = inumber / idiv
    iro =  round(i1)
    print inumber, idiv, iro ;print number / idiv = result using round
    idiv = idiv + 1
    if (idiv <= 10) igoto loop

    endin
    </CsInstruments>
    <CsScore>

    i 1 0 0
    e

    </CsScore>
    </CsoundSynthesizer>

Its output should include a line like these:

    instr 1:  inumber = 9.000  idiv = 1.000  ifl = 9.000
    instr 1:  inumber = 9.000  idiv = 2.000  ifl = 5.000
    instr 1:  inumber = 9.000  idiv = 3.000  ifl = 3.000
    instr 1:  inumber = 9.000  idiv = 4.000  ifl = 2.000
    instr 1:  inumber = 9.000  idiv = 5.000  ifl = 2.000
    instr 1:  inumber = 9.000  idiv = 6.000  ifl = 2.000
    instr 1:  inumber = 9.000  idiv = 7.000  ifl = 1.000
    instr 1:  inumber = 9.000  idiv = 8.000  ifl = 1.000
    instr 1:  inumber = 9.000  idiv = 9.000  ifl = 1.000
    instr 1:  inumber = 9.000  idiv = 10.000  ifl = 1.000

## See Also

abs, exp, int, log, log10, i, sqrt

## Credits

Author: Istvan Varga
New in Csound 5
2005

Prev | Up | Next
rnd31 | Home | rspline