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

        Final Project                                 MMU 1996

        ######################################################
        #                                                    #
        #               A Modular Neural Network             #   
        #                                                    #
        #              A Class for Recoding Data             #   
        #                                                    #
        ######################################################

        Albrecht Schmidt                              17.09.96

        FILE: CEncode.h                            Version 1.0

   ************************************************************* */
#ifndef _CEncode_h
#define _CEncode_h
class CEncode
{
        // the data variables
	char bin2[2][2];
	char bin4[4][4];
	char bin8[8][6];
	char bin16[16][8];

	char bit2[2][4];
	char bit4[4][8];
	char bit5[5][10];
	char bit8[8][16];
	char bit12[12][24];
        // private function for casting double to int
	int CEncode::Round(double value);

public:
    // constructor
    CEncode::CEncode();
    // removes the space in a string
    char * CEncode::RmSpace(char * inp);
    // the coding functions

    // binary
    char * CEncode::BinEncode2( double value, double min , double max);
    char * CEncode::BinEncode4( double value, double min , double max);
    char * CEncode::BinEncode8( double value, double min , double max);
    char * CEncode::BinEncode16(double value, double min , double max);

    // bit vector
    char * CEncode::BitEncode2( double value, double min , double max);
    char * CEncode::BitEncode4( double value, double min , double max);
    char * CEncode::BitEncode5( double value, double min , double max); 
    char * CEncode::BitEncode8( double value, double min , double max);
    char * CEncode::BitEncode12(double value, double min , double max);

    // discrete digit
    double CEncode::Discret10(double value, double min, double max);
};
#endif
