js8call/.svn/pristine/ed/ed4e82f9ed711f0fc13e828daf32415d6dfe4c20.svn-base
2018-02-08 21:28:33 -05:00

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