
332
Chapter 18
void KohNet::in_norm (
double *input,
double *normfac ,
double *synth
)
{
double length, d ;
length = veclen ( nin , input ) ; // Squared length
if (normalization == 0) { // Multiplicative
*normfac = 1.0 / sqrt ( length ) ;
*synth = 0.0 ;
}
else if (normalization == 1) { // Z
*normfac =1.0/ sqrt ( nin ) ;
d = (double) nin - length ;
if (d > 0.0)
*synth = sqrt ( d ) * *normfac ;
else // If the inputs are all -1 to 1
*synth = 0.0 ; // this error never occurs
}
}
The variable nin is a KohNet class variable which is the number of
inputs (n in the above equations). Similarly, normalization is a class
variable that specifies which