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