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

## GEN06

` f # time size 6 a n1 b n2 c n3 d . . . `

__DESCRIPTION__

This subroutine will generate a function comprised of segments of cubic
polynomials, spanning specified points just three at a time.

__INITIALIZATION__

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

*a, c, e, ...* - local maxima or minima of successive segments,
depending on the relation of these points to adjacent inflexions. May be
either positive or negative.

*b, d, f, ...* - ordinate values of points of inflexion at the
ends of successive curved segments. May be positive or negative.

*n1, n2, n3...* - number of stored values between specified points.
Cannot be negative, but a zero is meaningful for specifying discontinuities.
The sum n1 + n2 + ... will normally equal size for fully specified functions.
(for details, see **GEN05**).

Note:

**GEN06** constructs a stored function from segments of cubic polynomial
functions. Segments link ordinate values in groups of 3: point of inflexion,
maximum/minimum, point of inflexion. The first complete segment encompasses
b,c,d and has length n2 + n3, the next encompasses d,e,f and has length
n4 + n5, etc. The first segment (a,b with length n1) is partial with only
one inflexion; the last segment may be partial too. Although the inflexion
points b,d,f ... each figure in two segments (to the left and right), the
slope of the two segments remains independent at that common point (i.e.
the 1st derivative will likely be discontinuous). When a,c,e... are alternately
maximum and minimum, the inflexion joins will be relatively smooth; for
successive maxima or successive minima the inflexions will be comb-like.

__EXAMPLE:__

` f 1 0 65 6 0 16 .5 16 1 16 0 16 -1 `

This creates a curve running 0 to 1 to -1, with a minimum, maximum and
minimum at these values respectively. Inflexions are at .5 and 0, and are
relatively smooth.

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

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