Skip to content

taninv2

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 of the taninv2 opcode.
<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
; Audio out   Audio in
-n   ; no sound
; For Non-realtime ouput leave only the line below:
; -o system.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments> 

;  by Kevin Conder

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

instr 1

i1 taninv2 1, 2     ; Returns the arctangent for 1/2.
print i1

endin

</CsInstruments>
<CsScore>
i 1 0 0
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.

Advanced example of the taninv2 opcode.
<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

Opcode Equivalents of Functions

Trigonometric Functions

Credits

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

New in Csound version 3.48

Corrected on May 2002, thanks to Istvan Varga.

Available as a function in version 6.00