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

Example 1092. 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

New in Csound version 3.48

Corrected on May 2002, thanks to Istvan Varga.

Available as a function in version 6.00