The following additional data types are used. The structure TNetDef is used to describe a single module. It is similar to the theoretical definition made in section 5.2 with some additional information. More complex data types are realized as classes.
enum TFunction {bi_pol, uni_pol}; // for the activation function
typedef double* TVector; // for weights, input & output vectors
typedef struct TNetDef // to describe a BP module
{
int no_inputs; // # of inputs
int no_layers; // # of layers (without the input layer)
double lambda; // lambda value for activation function
TFunction fct; // transfer function (bi_pol or uni_pol)
int neuronL[MAX_LAYER]; // # of neurons in each layer
};
enum TAction {new_net, load, store, train, train_inp, // for the input
train_dec, test, reset, work, help, quit}; // choice