The group of transfer functions can be exented arbitrarily by the user. In order to make them available inside SNNS the following steps have to be performed:
"Act_MyFunction",ACT_FUNC, 0, 0, (FunctionPtr) MyFancyFunction,
Notice that the second entry defines the type (activation, initialization, etc.) of the new function!
If the new function is an activation function, the corresponding
derivation function has also to be inserted in the function table.
E.g.:
"Act_MyFunction",ACT_DERIV_FUNC, 0, 0, (FunctionPtr)ACT_DERIV_MFF,
This entry has to be given, even if no such derivation function exists in the mathematical sense. In that case ``ACT_DERIV_Dummy'' has to be specified as name of the derivation function.
If the function exists, it has to be declared and implemented just as the activation function.
Please note, that activation and derivation function have to have the same name suffix (here: ``MyFunction'')!
activation functions in `` .../SNNSv3.3/kernel/trans_f.c''
output functions in `` .../SNNSv3.3/kernel/trans_f.c''
site functions in `` .../SNNSv3.3/kernel/trans_f.c''
initialization functions in `` .../SNNSv3.3/kernel/init_f.c''
learning functions in `` .../SNNSv3.3/kernel/learn_f.c''
update functions in `` .../SNNSv3.3/kernel/update_f.c''
The name of the implemented function has to match the name specified in the function table!
The new function should be available now in the user interface together with all predefined functions.