powoftwo() function returns 2 ^ x and allows positive and negatives numbers as argument. The range of values admitted in powoftwo() is -5 to +5 allowing a precision more fine than one cent in a range of ten octaves. If a greater range of values is required, use the slower opcode pow.
These functions are fast, because they read values stored in tables. Also they are very useful when working with tuning ratios. They work at i- and k-rate.
Here is an example of the powoftwo opcode. It uses the files powoftwo.orc and powoftwo.sco.
Example 15-1. Example of the powoftwo opcode.
/* powoftwo.orc */
; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1
; Instrument #1.
instr 1
i1 = powoftwo(12)
print i1
endin
/* powoftwo.orc */
/* powoftwo.sco */
; Play Instrument #1 for one second.
i 1 0 1
e
/* powoftwo.sco */
instr 1: i1 = 4096.000