www.pudn.com > slow.zip > coder.h


/********************************************************* 
********************************************************** 
	coder.h 
********************************************************** 
**********************************************************/ 
/* segments of training sequence */ 
#define SEG_1	    0 
#define SEG_2	    48 
#define SEG_3	    (SEG_2 + 128) 
#define SEG_4	    (SEG_3 + 384) 
 
struct traininggen 
  { traininggen() { reset();	} 
    void reset()  { reg = 0x2a; } 
    complex get(int); 
 
private: 
    uchar reg; 
  }; 
 
struct encoder 
  { encoder()	 { reset();   } 
    void reset() { state = 0; } 
    complex encode(int); 
 
private: 
    int state; 
  }; 
 
struct decoder 
  { decoder()	 { reset();   } 
    void reset() { state = 0; } 
    int decode(complex); 
    complex getez(); 
 
private: 
    int state; 
  };