55 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			55 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | #ifndef BIGGIRTH | ||
|  | #define BIGGIRTH 1 | ||
|  | 
 | ||
|  | #include <cstdlib> | ||
|  | #include <iostream> // C++ I/O library header | ||
|  | #include "Random.h" | ||
|  | 
 | ||
|  | class NodesInGraph{ | ||
|  |  public: | ||
|  |   int numOfConnectionParityBit; | ||
|  |   int *connectionParityBit; | ||
|  |   int numOfConnectionSymbolBit; | ||
|  |   int *connectionSymbolBit; | ||
|  |   int maxDegParity; | ||
|  | 
 | ||
|  |   NodesInGraph(void); | ||
|  |   ~NodesInGraph(void); | ||
|  |   void setNumOfConnectionSymbolBit(int deg); | ||
|  |   void initConnectionParityBit(void); | ||
|  |   void initConnectionParityBit(int deg); | ||
|  | }; | ||
|  | 
 | ||
|  | class BigGirth { | ||
|  |  public: | ||
|  |   int M, N; | ||
|  |   int K; | ||
|  |   int EXPAND_DEPTH; | ||
|  |   const char *filename; | ||
|  |   int *(*H); | ||
|  | 
 | ||
|  |   int *localGirth; | ||
|  |    | ||
|  |   NodesInGraph *nodesInGraph; | ||
|  |   Random *myrandom; | ||
|  | 
 | ||
|  |   BigGirth(int m, int n, int *symbolDegSequence, const char *filename, int sglConcent, int tgtGirth, bool verbose_ = true); | ||
|  |   BigGirth(void); | ||
|  | 
 | ||
|  |   void writeToFile_Hcompressed(void); | ||
|  |   void writeToFile_Hmatrix(void); | ||
|  |   void writeToFile(void); | ||
|  | 
 | ||
|  |   void loadH(void); | ||
|  | 
 | ||
|  |   ~BigGirth(void); | ||
|  | 
 | ||
|  |  private: | ||
|  |   int selectParityConnect(int kthSymbol, int mthConnection, int & cycle); | ||
|  |   void updateConnection(int kthSymbol); | ||
|  |   bool verbose; | ||
|  | 
 | ||
|  | }; | ||
|  | 
 | ||
|  | #endif |