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

        Final Project                                 MMU 1996

        ######################################################
        #                                                    #
        #               A Logical Neural Network             #   
        #                                                    #
        #               A Ram Discriminator Class            #
        #                                                    #
        ######################################################

        Albrecht Schmidt                              17.09.96

        FILE: CDiscrim.h                           Version 1.0

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

#ifndef _CDiscrim_h
#define _CDiscrim_h
 
#include <stdio.h>

#include "CSupport.h"
#include "CRam.h"

class CDiscrim : CSupport
{
   private:
	long rand_seed;
	int no_inputs_per_ram;
	int no_rams;
	int no_inputs;
	int no_user_inputs;
	
	double *user_inputV;
	double *extented_inputV;
	double *mixed_inputV;

	CRam *ram[MAX_RAMS];	

   public: 
	CDiscrim::CDiscrim(int no_i, int no_inp_ram, int seed);
	CDiscrim::CDiscrim(FILE *fd);
	CDiscrim::~CDiscrim(); 

	void  CDiscrim::Learn(TVector inpV);
	float CDiscrim::Recall(TVector inpV);
	void CDiscrim::Save(FILE *fd);
};

#endif
