/* *************************************************************

        Final Project                                 MMU 1996

        ######################################################
        #                                                    #
        #               A Modular Neural Network             #   
        #                                                    #
        #             The global definitions                 #   
        #                                                    #
        ######################################################

        Albrecht Schmidt                              17.09.96

        FILE: global.h                           Version 1.0

   ************************************************************* */
#ifndef _global_h
#define _global_h

// #define PC 1
// #define UNIX 1
#define SOLARIS 1


#define WARN_MSG        "\n>>> Warning: "
#define ERR_MSG         "\n>>> ERROR: "
#define LOG_FILE        "logfile"
#define NO_LOG          "NoLog"

#define MAX_TRAIN       400
#define MAX_WEIGHT      1e8
#define RND_MAPPING 	3
#define MAX_STRING_LEN  200
#define MAX_SEP_LEN     80
#define MAX_PAIR	1000       

// RamNet !
#define MAX_RAMS 	10000
#define MAX_INV_LEN 	20000
#define MAX_DISCIMINATORS 1000

#define TRUE            1
#define FALSE           0
#define ON              1
#define OFF             0

#define NO_RAND         15000       // number of differnt random
                                    // values (< MAX_INT of the system)
#define MIN_RND         (-1)
#define MAX_RND         1
#define MAX_NEURONS     500
#define MAX_LAYER       6
#define DEFAULT_ALPHA   0
#define MAX_STR_LEN     100
 
// enumeration of the function which may be
// used to compute the output
enum    TFunction {bi_pol, uni_pol};

typedef double   TNum;           // Type for weight and input values
typedef TNum*   TVector;        // Type for weight and input vector


typedef struct TinV_outV            // Type for trainings data sets
        {
                TVector inputV;
                TVector targetV;
        };

 
// for the User inteface classes
enum    TAction {new_net, load, store, train, train_inp, train_dec,
                 test, reset, work, help, quit};
 

#endif
