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)

    round(k/i[]) (k- or i-arrays )

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 860. 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