/*----------------------------------------------------------------------*/ /* functions.c: Sigmoidal functions */ /*----------------------------------------------------------------------*/ #include #include "function_exp.h" float Tanh(number) { return tanh(number); } float DTanh(number) float number; { return (1. - number * number); } float Expon(number) float number; { return (1. / (1. + exp(-number))); } float DExpon(number) float number; { return (number * (1. - number)); } float Sin(number) float number; { float n2; if (number < -1.570796) n2 = -1.; else if (number > 1.570796) n2 = 1.; else n2 = sin(number); return n2; } float DSin(number) float number; { return sqrt(1. - (number)*(number)); } float Signum(number) float number; { return ((number) > 0 ? 1. : -1.); } float Binary(number) float number; { return (fabs(number) > .5 ? 1. : 0.); }