pow

pow — Computes one argument to the power of another argument.

Description

Computes xarg to the power of kpow (or ipow) and scales the result by inorm.

Syntax

ares pow aarg, kpow [, inorm]
ires pow iarg, ipow [, inorm]
kres pow karg, kpow [, inorm]
ires[] pow iarg[], ipow[] 
kres[] pow karg[], kpow[]
ires[] pow iarg[], ipow 
kres[] pow karg[], kpow 

Initialization

inorm (optional, default=1) -- The number to divide the result (default to 1). This is especially useful if you are doing powers of a- or k- signals where samples out of range are extremely common!

Performance

aarg, iarg, karg -- the base.

ipow, kpow -- the exponent.

[Note] Note

Use ^ with caution in arithmetical statements, as the precedence may not be correct. New in Csound version 3.493.

Examples

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

Example 778. Example of the pow 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 RT audio input is needed too
; For Non-realtime ouput leave only the line below:
;-o pow.wav        ; output to audio file
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1
    
instr 1	; Lo-Fi sound

kpow	  = 10						;exponent
kbase	  line 1, p3, 1.4				;vary the base
kQuantize pow kbase, kpow
kQuantize = kQuantize*0.5				;half the number of steps for each side of a bipolar signal
printk2	  kQuantize
asig	  diskin2 "fox.wav", 1, 0, 1			;loop the fox
asig	  = round(asig * kQuantize) / kQuantize		;quantize and scale audio signal
    	  outs asig, asig  

endin
</CsInstruments>
<CsScore>

i1 0 19.2

e
</CsScore>
</CsoundSynthesizer>


Its output should include lines like these:

 i1     0.50000
 i1     0.50007
 i1     0.50014
.......
 i1    14.45986
 i1    14.46130

Credits

Author: Paris Smaragdis
MIT, Cambridge
1995