Skip to content

pow

Computes one argument to the power of another argument and scales the result.

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

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 of the pow opcode.
<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

See also

Mathematical Functions

Opcode Equivalents of Functions

Credits

Author: Paris Smaragdis
MIT, Cambridge
1995