taninv2
Prev | Orchestra Opcodes and Operators | Next

## taninv2

taninv2 — Returns an arctangent.

## Description

Returns the arctangent of iy/ix, ky/kx, or ay/ax.

## Syntax

    ares taninv2 ay, ax

    ires taninv2 iy, ix

    kres taninv2 ky, kx

    ...taninv2(ky, kx)... (no rate restriction)

Returns the arctangent of iy/ix, ky/kx, or ay/ax. If y is zero, taninv2 returns zero regardless of the value of x. If x is zero, the return value is:

- π/2, if y is positive.

- -π/2, if y is negative.

- 0, if y is 0.

## Initialization

iy, ix -- values to be converted

## Performance

ky, kx -- control rate signals to be converted

ay, ax -- audio rate signals to be converted

## Examples

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

Example 1080. Example of the taninv2 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
    ; Audio out   Audio in
    -odac           -iadc    ;;;RT audio I/O
    ; For Non-realtime ouput leave only the line below:
    ; -o taninv2.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

    ; Initialize the global variables.
    sr = 44100
    kr = 4410
    ksmps = 10
    nchnls = 1

    ; Instrument #1.
    instr 1
      ; Returns the arctangent for 1/2.
      i1 taninv2 1, 2

      print i1
    endin

    </CsInstruments>
    <CsScore>

    ; Play Instrument #1 for one second.
    i 1 0 1
    e

    </CsScore>
    </CsoundSynthesizer>

Its output should include a line like this:

    instr 1:  i1 = 0.464

Here is another example of the taninv2 opcode. It uses the file taninv2-advanced.csd.

Example 1081. Advanced example of the taninv2 opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

    <CsoundSynthesizer>
    <CsOptions>
    -odac -d
    ; By Stefano Cucchi 2020

    </CsOptions>
    <CsInstruments>

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

    instr 1

    a1 oscili 0.1, p4
    a2 oscili 0.1, p5
    ashape taninv2 a1, a2
    kdeclick linseg 0, 0.3, 0.2, p3-0.6, 0.2, 0.3, 0
    outs ashape*kdeclick, ashape*kdeclick
    endin

    instr 2

    a1 diskin  p4, 1
    a2 = a1
    ashape taninv2 a1, a2
    kdeclick linseg 0, 0.3, 0.2, p3-0.6, 0.2, 0.3, 0
    outs ashape*kdeclick*.5, ashape*kdeclick*.5
    endin

    </CsInstruments>
    <CsScore>

    i 1 0 3 440 300
    i 1 3 3 200 210
    i 1 6 3 50 40
    i 1 9 3 50 3000
    i 2 12 3 "fox.wav"

    </CsScore>
    </CsoundSynthesizer>

## See Also

taninv

## Credits

Author: John ffitch
University of Bath/Codemist Ltd.
Bath, UK
April 1998

Example written by Kevin Conder.

New in Csound version 3.48

Corrected on May 2002, thanks to Istvan Varga.

Available as a function in version 6.00

Prev | Up | Next
taninv | Home | tbvcf