**QUICK-REF** - **CsoundManual**
- **Top of this section** - Previous
- Contents - Index
- Next

## GEN03

` `**f** # time size 3 xval1 xval2 c0 c1 c2 . . . cn

__DESCRIPTION__

This subroutine generates a stored function table by evaluating a polynomial
in x over a fixed inter- val and with specified coefficients.

__INITIALIZATION__

*size *- number of points in the table. Must be a power of 2 or
a power-of-2 plus 1 ( see f statement).

*xval1, xval2 *- left and right values of the x interval over which
the polynomial is defined (*xval1* < *xval2*). These will
produce the 1st stored value and the (power-of-2 plus l)th stored value
respectively in the generated function table.

*c0, c1, c2, ... cn* - coefficients of the nth-order polynomial

*c0 + c1x + c2x2 + . . . + cnxn*

Coefficients may be positive or negative real numbers; a zero denotes
a missing term in the polynomial. The coefficient list begins in p7, providing
a current upper limit of 144 terms.

Note:

The defined segment [fn(*xval1*),fn(*xval2*)] is evenly distributed.
Thus a 512-point table over the interval [-1,1] will have its origin at
location 257 (at the start of the 2nd half). Provided the extended guard
point is requested, both fn(-1) and fn(1) will exist in the table.

**GEN03** is useful in conjunction with **table
or tablei** for audio waveshaping (sound modification by non-linear
distortion). Coefficients to produce a particular formant from a sinusoidal
lookup index of known amplitude can be determined at preprocessing time
using algorithms such as Chebyshev formulae. See also
GEN13.

__EXAMPLE:__

f 1 0 1025 3 -1 1 5 4 3 2 2 1

This calls **GEN03** to fill a table with a 4th order polynomial
function over the x-interval -1 to 1. The origin will be at the offset
position 512. The function is post-normalized.

**QUICK-REF** - **CsoundManual**
- **Top of this section** - Previous
- Contents - Index
- Next

*HTML Csound Manual - ©
Jean Piché & Peter J. Nix, 1994-97*