The Complete SPRLIB & ANNLIB

UNIT

- unit datatype

SYNOPSIS

typedef struct unit

{

long UnitId; Unit identification number.

long LayerId; Layer identification number.

long UnitFlag; Unit flags - see UNIT-flags.

long InOutIndex; Input or output terminal number. If the unit is not an input or output unit, set to 0.

char UnitName[80]; Unit name string.

struct weight Theta; Bias (threshold) value, containing a pointer to the history - see WEIGHT.

struct unit_value Value; Current unit state, containing a pointer to the history - see UNIT_VALUE.

double (*ActFunc)(); Pointer to function to calculate activation.

double (*TransFunc)(); Pointer to function to calculate output.

double (*DerTransFunc)(); Pointer to the derivative of the output function.

double (*DerDerTransFunc)(); Pointer to the second derivative of the output function.

double TransFuncPar1; Optional parameter of the transfer function.

double TransFuncPar2; Optional parameter of the transfer function.

double TransFuncPar3; Optional parameter of the transfer function.

long NumInLinks; Number of incoming links.

long NumOutLinks; Number of outgoing links.

struct link *InLinks; Linked list of incoming links - see LINK.

struct link *OutLinks; Linked list of outgoing links - see LINK.

union system_data SystemData; Union of data used by algorithms.

union system_data UserData; Union of data for library user.

struct unit *Next; Pointer to next unit description.

struct unit *Prev; Pointer to previous unit description.

} UNIT;

DESCRIPTION

This type is used to represent a unit. The fields speak for themselves.

NOTE

All units are stored in a double linked list. The UNIT structure is usually filled by a network creation function (create_ff_net , create_sharednet , create_mlnet , create_koh_net). The TransFuncParX fields are currently only used by the TransParTanH transfer function.

SEE ALSO

LINK, WEIGHT, UNIT_VALUE, system_data

This document was generated using api2html on Thu Mar 5 09:00:00 MET DST 1998