TYPE: CHOP
TITLE: Function CHOP

This CHOP provides more complicated math functions than found in the Math CHOP:
trigonometic functions, logarithmic functions and exponential functions. Since
many of these functions can produce math errors, an error handling page is 
provided for error handling and recovery.

Most of the functions require only one parameter, and they are applied as a 
unary operator to each input channel. Some functions take two parameters,
and these require the use of the second input. The first parameter, X, is 
always a value from a channel in the first input. The second parameter, Y, is
a value from a corresponding channel in the second input. Channels from each 
input are paired by name or index.

Errors can be handled by replacing the bad sample with a pre-defined value or
by using the value of the previous sample. Alternatively, cooking can be 
aborted upon error for debugging networks.

There are no local variables.

Parameters
Function
    Function        - Which math function to apply to the channels.
		      All of the functions are unary functions except
		      for the binary functions 'Arctan (Input1/Input2)' 
		      and 'Input1 ^ Input2'.
    Base Value      - The value of the base for 'Log base N' and      /baseval
		      'Base ^ Input1'.
    Exponent Value  - The value of the exponent for                   /expval
		      'Input1 ^ Exponent'. 
    Angle Units     - For trigonometric functions, the angles can
		      be measured in Degrees, Radians, or Cycles (0 to 1).
    Match By        - How to pair channels together from the two 
		      inputs for the binary functions, by name or
		      by channel index.

Error
    Error Handling  - How to correct samples with math errors.
	Abort With Error Message      - Cooking aborts.
	Replace With Specified Values - Values specified below.
	Use The Previous Value        - Uses the last good result.
    Plus Infinity Value - Value to use when an infinity error          /pinfval
		       occurs. Caused by sinh(), cosh() and tan().
    Minus Infinity Value - Value to use when a negative infinity        /ninfval
		       error occurs. Caused by sinh() and tan().
    Domain Error Value  - Value to use when the input is out of the     /domval
                       legal range of the function.
		       Caused by asin(), acos(), log10(),
		       logN(), ln() and sqrt().
    Divide Error Value  - Value to use when a divide by zero error      /divval
                       occurs. Caused by pow(x,y).

See also: Math
