-
Notifications
You must be signed in to change notification settings - Fork 2
/
TAGS
719 lines (671 loc) · 28.1 KB
/
TAGS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
src/PrecodeLayout.h,893
#define PRECODELAYOUT_H2,24
class PrecodeLayout 4,49
PrecodeLayout(PrecodeLayout::PrecodeLayout6,80
int dataPacketNum,PrecodeLayout::dataPacketNum9,298
int dataPacketNum, ldpcNum,PrecodeLayout::ldpcNum9,298
int dataPacketNum, ldpcNum, hdpcNum;PrecodeLayout::hdpcNum9,298
int additionalPerminactNum;PrecodeLayout::additionalPerminactNum10,368
int GetDataPacketNum(PrecodeLayout::GetDataPacketNum14,419
int GetldpcNum(PrecodeLayout::GetldpcNum15,476
int GethdpcNum(PrecodeLayout::GethdpcNum16,521
int GetAdditionalPerminactNum(PrecodeLayout::GetAdditionalPerminactNum17,566
inline int SparseToActual(PrecodeLayout::SparseToActual20,674
inline int PerminactToActual(PrecodeLayout::PerminactToActual27,874
inline int ActualToInterlaced(PrecodeLayout::ActualToInterlaced34,1146
inline bool inPerminactPart(PrecodeLayout::inPerminactPart44,1477
src/types.h,295
#define __TYPE__H__2,20
typedef unsigned char uint8_t;12,109
typedef unsigned short uint16_t;13,140
typedef unsigned int uint32_t;14,173
typedef unsigned long long uint64_t;15,204
typedef unsigned char symbol_t;18,249
typedef int status_t;19,281
typedef unsigned short batch_id_t;21,304
src/VariableNode.h,921
#define VARIABLENODE_H2,23
class VariableNode{VariableNode7,90
static SymbolType** inactCoef_ActualBuffer;VariableNode::inactCoef_ActualBuffer9,119
static int totalNum;VariableNode::totalNum10,164
int id;VariableNode::id12,194
int degree;VariableNode::degree13,206
int inactSeq;VariableNode::inactSeq14,222
BEdge *edgeHead;VariableNode::edgeHead15,240
bool decoded;VariableNode::decoded17,266
SymbolType* packet;VariableNode::packet18,284
SymbolType* inactCoef;VariableNode::inactCoef19,308
static void SetBuffer(VariableNode::SetBuffer22,387
static void FreeBuffer(VariableNode::FreeBuffer26,564
VariableNode(VariableNode::VariableNode31,679
VariableNode(VariableNode::VariableNode35,893
~VariableNode(VariableNode::~VariableNode40,1092
inline void addEdge(VariableNode::addEdge49,1228
inline bool active(VariableNode::active55,1356
src/vand.h,136
#define __VAND__H__2,20
struct vandermond_matrix 5,42
int *data;data6,69
int rows;7,81
int columns;8,92
int (*get)get10,107
src/CheckNode.h,1214
#define CHECKNODE_H2,20
namespace vtype18,283
class CheckNode 25,378
SymbolType** packet;CheckNode::packet28,465
SymbolType** codingVec;CheckNode::codingVec30,525
SymbolType** inactCoef;CheckNode::inactCoef32,581
int codingRank;CheckNode::codingRank35,653
int numRec;CheckNode::numRec37,707
int id;CheckNode::id40,757
Partition<BEdge*> edges;CheckNode::edges42,774
int batchSize;CheckNode::batchSize45,821
bool inQueue;CheckNode::inQueue47,845
bool decoded;CheckNode::decoded48,863
bool missingRank;CheckNode::missingRank50,882
CheckNode(CheckNode::CheckNode52,966
~CheckNode(CheckNode::~CheckNode66,1418
inline BEdge* addEdge(CheckNode::addEdge81,1825
inline void addInact(CheckNode::addInact102,2385
inline bool codingVecIndepend(CheckNode::codingVecIndepend110,2607
inline void subsInPacket(CheckNode::subsInPacket126,3046
inline void subsDecodedVar(CheckNode::subsDecodedVar131,3288
void receivePacket(CheckNode::receivePacket143,3803
void receivePacket_AfterBatchSolved(CheckNode::receivePacket_AfterBatchSolved179,5217
void SaveGlobalConstraint(CheckNode::SaveGlobalConstraint218,6762
src/RawPacket.h,958
#define RAWPACKET_H_2,21
class RawPacket 8,156
RawPacket(RawPacket::RawPacket10,183
~RawPacket(RawPacket::~RawPacket14,477
void SetForRead(RawPacket::SetForRead18,527
void SetForWriteWOKey(RawPacket::SetForWriteWOKey38,1260
void SetHeader(RawPacket::SetHeader42,1382
const SymbolType* GetCodingVector(RawPacket::GetCodingVector49,1576
SymbolType* GetPayload(RawPacket::GetPayload50,1664
KeyType GetID(RawPacket::GetID51,1711
SymbolType* rawpacketPtr;RawPacket::rawpacketPtr53,1779
SymbolType* codingVector;RawPacket::codingVector54,1832
SymbolType* payload;RawPacket::payload55,1860
KeyType id;RawPacket::id56,1883
int nSymInHead;RawPacket::nSymInHead58,1900
int nFFInSym;RawPacket::nFFInSym59,1918
int fieldOrder;RawPacket::fieldOrder60,1934
SymbolType maskDec,RawPacket::maskDec62,1955
SymbolType maskDec, maskEnc;RawPacket::maskEnc62,1955
int batchSize;RawPacket::batchSize64,1989
src/DelayEnc.h,329
#define DELAYENC_H_2,20
using namespace std;14,227
class DelayEncoder 17,250
double codeRate;DelayEncoder::codeRate19,300
int windowSize;DelayEncoder::windowSize20,339
double currentPos;DelayEncoder::currentPos21,359
int mode;DelayEncoder::mode22,382
~DelayEncoder(DelayEncoder::~DelayEncoder26,501
src/PacketBuffer.h,690
#define PACKETBUFFER_H2,23
class PacketBuffer 7,90
PacketBuffer(PacketBuffer::PacketBuffer9,120
~PacketBuffer(PacketBuffer::~PacketBuffer14,374
void SetBuffer(PacketBuffer::SetBuffer21,510
inline SymbolType* GetPacket(PacketBuffer::GetPacket35,877
int GetPacketSize(PacketBuffer::GetPacketSize40,1013
SymbolType** GetCheckPackets(PacketBuffer::GetCheckPackets41,1058
int packetNum,PacketBuffer::packetNum44,1141
int packetNum, checkNum,PacketBuffer::checkNum44,1141
int packetNum, checkNum, packetSize;PacketBuffer::packetSize44,1141
SymbolType** packets;PacketBuffer::packets46,1191
SymbolType** checkPackets;PacketBuffer::checkPackets47,1215
src/util/Utilities.h,1637
#define UTILITIES_H_2,21
using namespace std;18,282
#define SYMBOLSIZE 21,305
#define MAX_DEGREE 22,326
typedef unsigned char SymbolType;24,351
typedef unsigned short KeyType;25,385
typedef unsigned long uint32;26,417
typedef unsigned short uint16;27,447
inline void saveIDInPacket(46,930
inline KeyType getIDFromPacket(54,1171
class DistSampler 64,1435
double* accu;DistSampler::accu65,1455
int n;DistSampler::n66,1473
DistSampler(DistSampler::DistSampler68,1492
inline int sample(DistSampler::sample81,1771
~DistSampler(DistSampler::~DistSampler93,1976
int getMaxDegree(DistSampler::getMaxDegree98,2053
inline T** mallocMat(141,3006
inline void freeMat(151,3241
inline T** newIdentityMat(160,3401
inline void setIdentityMatrix(170,3617
class ArrayQueue 179,3769
T* data;ArrayQueue::data181,3797
int head;ArrayQueue::head182,3810
int tail;ArrayQueue::tail183,3824
int bufsize;ArrayQueue::bufsize184,3838
ArrayQueue(ArrayQueue::ArrayQueue187,3864
~ArrayQueue(ArrayQueue::~ArrayQueue192,3971
inline int size(ArrayQueue::size196,4021
inline void empty(ArrayQueue::empty199,4079
inline bool isNonEmpty(ArrayQueue::isNonEmpty204,4147
inline void push(ArrayQueue::push208,4212
inline T pop(ArrayQueue::pop212,4282
class WrongDegree{WrongDegree241,4995
WrongDegree(WrongDegree::WrongDegree243,5022
WrongDegree(WrongDegree::WrongDegree244,5042
int getDegree(WrongDegree::getDegree245,5094
int degree;WrongDegree::degree247,5146
void printMat(259,5386
inline vector<double>* ReadFileDouble(296,6335
src/util/MersenneTwister.h,1644
#define MERSENNETWISTER_H59,2898
class MTRand 70,3122
typedef unsigned long uint32;MTRand::uint3273,3153
enum { N MTRand::N75,3230
enum { SAVE MTRand::SAVE76,3281
enum { SAVE = N MTRand::N76,3281
enum { M MTRand::M79,3348
uint32 state[MTRand::state81,3390
uint32 *pNext;MTRand::pNext82,3428
int left;MTRand::left83,3480
uint32 hiBit(MTRand::hiBit128,5454
uint32 loBit(MTRand::loBit129,5521
uint32 loBits(MTRand::loBits130,5588
uint32 mixBits(MTRand::mixBits131,5656
uint32 magic(MTRand::magic133,5747
uint32 twist(MTRand::twist135,5831
inline MTRand::uint32 MTRand::hash(142,6064
inline void MTRand::initialize(167,6660
inline void MTRand::reload(184,7175
inline void MTRand::seed(200,7623
inline void MTRand::seed(207,7754
inline void MTRand::seed(242,8894
inline MTRand::MTRand(265,9522
inline MTRand::MTRand(268,9589
inline MTRand::MTRand(271,9693
inline MTRand::MTRand(274,9731
inline MTRand::uint32 MTRand::randInt(284,9935
inline MTRand::uint32 MTRand::randInt(300,10301
inline double MTRand::rand(319,10729
inline double MTRand::rand(322,10811
inline double MTRand::randExc(325,10881
inline double MTRand::randExc(328,10966
inline double MTRand::randDblExc(331,11042
inline double MTRand::randDblExc(334,11140
inline double MTRand::rand53(337,11222
inline double MTRand::randNorm(343,11383
inline double MTRand::operator()(MTRand::operator()359,11813
inline void MTRand::save(364,11869
inline void MTRand::load(373,12060
inline std::ostream& operator<<(383,12270
inline std::istream& operator>>(391,12491
inline MTRand& MTRand::operator=(MTRand::operator=401,12750
src/util/CircularBuf.h,307
#define CIRCULARBUF_H_2,23
struct ThreadedCircularBuf19,275
int len;21,304
int N;22,343
SymbolType* content;24,404
volatile int start;26,427
volatile int end;27,487
volatile int empty;28,506
pthread_cond_t c;32,618
pthread_mutex_t m;33,637
pthread_t thread_id;34,657
char* name;35,679
src/util/ff.h,96
#define __FINITE_FIELD__2,25
static inline int ff_add(16,189
static inline int ff_sub(21,250
src/util/FiniteField.h,1654
#define FINITEFIELD_H_9,104
using namespace std;16,228
class FiniteField 22,293
int order;FiniteField::order25,356
int size;FiniteField::size26,371
static const int prim_poly[FiniteField::prim_poly31,457
static const int nw[FiniteField::nw32,492
static const int nwm1[FiniteField::nwm133,520
int *divTable;FiniteField::divTable35,551
int *mulTable;FiniteField::mulTable36,570
int *logTable;FiniteField::logTable37,589
int *expTable;FiniteField::expTable38,608
int *mulTable2;FiniteField::mulTable240,628
FiniteField(FiniteField::FiniteField46,700
FiniteField(FiniteField::FiniteField52,790
void setOrder(FiniteField::setOrder58,870
~FiniteField(FiniteField::~FiniteField65,982
inline int add(FiniteField::add71,1056
inline int sub(FiniteField::sub76,1145
inline int mul(FiniteField::mul81,1234
inline int div(FiniteField::div86,1344
inline int mulCMP(FiniteField::mulCMP91,1454
inline void incr(FiniteField::incr114,2045
inline void mulvc(FiniteField::mulvc118,2124
inline void mulvc(FiniteField::mulvc127,2321
inline void mulvcCMP(FiniteField::mulvcCMP136,2527
inline void mulvcCMP(FiniteField::mulvcCMP145,2721
inline void addvv(FiniteField::addvv164,3237
inline void addvvc(FiniteField::addvvc175,3520
inline void addvvcCMP(FiniteField::addvvcCMP186,3839
inline int innerprod(FiniteField::innerprod205,4480
inline void mulmcvCMP(FiniteField::mulmcvCMP216,4754
inline void addvmcvCMP(FiniteField::addvmcvCMP223,4995
inline void mulmcv(FiniteField::mulmcv229,5201
src/NIODecoder.h,275
#define NIODECODER_H_2,22
struct ThreadArg15,230
int M,17,249
int M, K,17,249
int M, K, T,17,249
int M, K, T, F;17,249
struct ThreadedCircularBuf* buf;18,266
SymbolType* out;19,300
int* numDec;20,318
int* numReceived;21,395
int (*callback)callback22,488
src/DelayDec.h,1743
#define DELAYDEC_H_2,20
using namespace std;25,386
class DelayDecoder 28,409
KeyType batchID;DelayDecoder::batchID32,482
int nloss1,DelayDecoder::nloss135,538
int nloss1,nloss2,DelayDecoder::nloss235,538
int nloss1,nloss2,nloss3;DelayDecoder::nloss335,538
int nRecPkg;DelayDecoder::nRecPkg36,568
int nSavedPkg;DelayDecoder::nSavedPkg38,590
int nDecoded;DelayDecoder::nDecoded42,691
int nDecodedPkg;DelayDecoder::nDecodedPkg45,756
int complete_flag;DelayDecoder::complete_flag47,778
int nRecBatch;DelayDecoder::nRecBatch51,845
CheckNode* batchSet[DelayDecoder::batchSet52,864
vector<VariableNode> var;DelayDecoder::var54,939
ArrayQueue<CheckNode*> *decQueue;DelayDecoder::decQueue56,970
int receiRedun;DelayDecoder::receiRedun59,1072
int step_for_packets;DelayDecoder::step_for_packets60,1130
int accumulate_packets;DelayDecoder::accumulate_packets61,1156
int num_inact;DelayDecoder::num_inact62,1184
int maxInact;DelayDecoder::maxInact64,1204
SymbolType** GH;DelayDecoder::GH67,1299
SymbolType** invMat;DelayDecoder::invMat68,1320
InactDecoder* inactDecoder;DelayDecoder::inactDecoder71,1387
DecPacketBuilder* packBuilder;DelayDecoder::packBuilder73,1448
DelayDecoder(DelayDecoder::DelayDecoder76,1493
~DelayDecoder(DelayDecoder::~DelayDecoder179,5205
void setOutputPacket(DelayDecoder::setOutputPacket194,5512
inline int complete(DelayDecoder::complete198,5591
int numInact(DelayDecoder::numInact206,5827
bool inactDecoding(DelayDecoder::inactDecoding211,5922
bool readyForInact(DelayDecoder::readyForInact225,6326
int getDecodedPkg(DelayDecoder::getDecodedPkg243,6744
src/Precode.h,571
#define PRECODE_H2,18
using namespace std;11,134
class Precode 15,178
Precode(Precode::Precode17,203
~Precode(Precode::~Precode28,680
const PrecodeLayout& layout;Precode::layout35,903
int dataPacketNum,Precode::dataPacketNum37,979
int dataPacketNum, ldpcNum,Precode::ldpcNum37,979
int dataPacketNum, ldpcNum, hdpcNum;Precode::hdpcNum37,979
int additionalPerminactNum;Precode::additionalPerminactNum38,1018
int keyHDPC;Precode::keyHDPC40,1051
MTRand* psrand;Precode::psrand41,1066
int ldpcVarDegree;Precode::ldpcVarDegree43,1087
src/BatchDec.h,1757
#define BATCHDEC_H_2,20
using namespace std;25,404
class BatsDecoder 28,427
KeyType batchID;BatsDecoder::batchID32,499
int nloss1,BatsDecoder::nloss135,555
int nloss1,nloss2,BatsDecoder::nloss235,555
int nloss1,nloss2,nloss3;BatsDecoder::nloss335,555
int nRecPkg;BatsDecoder::nRecPkg36,585
int nSavedPkg;BatsDecoder::nSavedPkg38,607
int nDecoded;BatsDecoder::nDecoded42,708
int nDecodedPkg;BatsDecoder::nDecodedPkg45,773
int complete_flag;BatsDecoder::complete_flag47,795
int nRecBatch;BatsDecoder::nRecBatch51,862
CheckNode* batchSet[BatsDecoder::batchSet52,881
vector<VariableNode> var;BatsDecoder::var54,956
ArrayQueue<CheckNode*> *decQueue;BatsDecoder::decQueue56,987
int receiRedun;BatsDecoder::receiRedun59,1089
int step_for_packets;BatsDecoder::step_for_packets60,1147
int accumulate_packets;BatsDecoder::accumulate_packets61,1173
int num_inact;BatsDecoder::num_inact62,1201
int maxInact;BatsDecoder::maxInact64,1221
SymbolType** GH;BatsDecoder::GH67,1316
SymbolType** invMat;BatsDecoder::invMat68,1337
InactDecoder* inactDecoder;BatsDecoder::inactDecoder71,1404
DecPacketBuilder* packBuilder;BatsDecoder::packBuilder73,1465
BatsDecoder(BatsDecoder::BatsDecoder76,1510
~BatsDecoder(BatsDecoder::~BatsDecoder179,5253
void setOutputPacket(BatsDecoder::setOutputPacket194,5559
inline int complete(BatsDecoder::complete198,5638
int numInact(BatsDecoder::numInact206,5874
bool inactDecoding(BatsDecoder::inactDecoding211,5969
bool readyForInact(BatsDecoder::readyForInact225,6373
int getDecodedPkg(BatsDecoder::getDecodedPkg243,6791
typedef struct BatsDecoder BatsDecoder;261,7142
src/bats.h,27
#define __BATS_INIT__2,22
src/BatchEnc.h,714
#define BATCHENC_H_2,20
using namespace std;15,247
class BatsEncoder 18,270
KeyType batchID;BatsEncoder::batchID22,342
int genPktCounter;BatsEncoder::genPktCounter23,363
SymbolType **batch;BatsEncoder::batch25,387
SymbolType **batchWithoutId;BatsEncoder::batchWithoutId26,411
SymbolType** payload;BatsEncoder::payload29,505
KeyType id;BatsEncoder::id32,567
EncPacketBuilder* packBuilder;BatsEncoder::packBuilder35,617
BatsEncoder(BatsEncoder::BatsEncoder38,660
~BatsEncoder(BatsEncoder::~BatsEncoder61,1486
SymbolType *genPacket(BatsEncoder::genPacket73,1759
KeyType genBatch(BatsEncoder::genBatch88,2122
typedef struct BatsEncoder BatsEncoder;144,3763
src/platform.h,252
#define __PLATFORM_H__2,23
static inline uint64_t read_tsc(12,146
static inline uint64_t cycles_elapsed(21,273
static inline void d_printf(27,390
static inline void d_error(39,556
static inline void d_log(49,719
static inline void x_swap(60,901
src/NCCoder.h,243
#define NCCODER_H8,106
class NCCoder 12,145
int L;NCCoder::L14,169
int Q;NCCoder::Q15,211
MTRand *psrand;NCCoder::psrand18,305
NCCoder(NCCoder::NCCoder22,335
~NCCoder(NCCoder::~NCCoder30,644
NCCoder;40,840
src/BEdge.h,408
#define BEDGE_H2,16
class BEdge{BEdge11,178
VariableNode* vnode;BEdge::vnode14,220
CheckNode *cnode;BEdge::cnode16,263
int seqInCheck;BEdge::seqInCheck17,285
SymbolType* g;BEdge::g20,419
SymbolType* gh;BEdge::gh24,654
BEdge *nextInVar;BEdge::nextInVar26,680
BEdge(BEdge::BEdge28,707
~BEdge(BEdge::~BEdge33,882
inline void addCoef(BEdge::addCoef39,980
src/DecPacketBuilder.h,479
#define DECPACKETBUILDER_H2,27
using namespace std;9,126
class DecPacketBuilder 11,148
DecPacketBuilder(DecPacketBuilder::DecPacketBuilder13,206
void BuildPacket(DecPacketBuilder::BuildPacket14,336
void setCheckNode(DecPacketBuilder::setCheckNode31,861
CheckNode* node;DecPacketBuilder::node34,958
vector<VariableNode>& var;DecPacketBuilder::var35,977
MTRand& psrand;DecPacketBuilder::psrand36,1006
int batchSize;DecPacketBuilder::batchSize38,1039
src/EncPacketBuilder.h,393
#define ENCPACKETBUILDER_H2,27
class EncPacketBuilder 11,160
EncPacketBuilder(EncPacketBuilder::EncPacketBuilder13,218
void BuildPacket(EncPacketBuilder::BuildPacket15,386
PacketBuffer& buf;EncPacketBuilder::buf32,882
MTRand& psrand;EncPacketBuilder::psrand33,932
SymbolType** payload;EncPacketBuilder::payload34,950
int packetSize;EncPacketBuilder::packetSize36,989
src/BatsBasic.h,1328
#define BATSBASIC_H9,118
#define BATSDECODER_MAXBATCH 28,430
class BatsBasic 32,489
double precodeRate;BatsBasic::precodeRate34,518
int batchSize;BatsBasic::batchSize36,575
int packetNum;BatsBasic::packetNum37,608
int packetSize;BatsBasic::packetSize38,675
int checkNum;BatsBasic::checkNum39,721
int totalNum;BatsBasic::totalNum40,766
int ldpcNum;BatsBasic::ldpcNum43,835
int hdpcNum;BatsBasic::hdpcNum44,878
int additionalPerminactNum;BatsBasic::additionalPerminactNum45,921
int ldpcVarDegree;BatsBasic::ldpcVarDegree47,955
int piDegree;BatsBasic::piDegree48,1005
int fieldSizeMinOne;BatsBasic::fieldSizeMinOne51,1083
int fieldOrder;BatsBasic::fieldOrder52,1108
struct vandermond_matrix *vand_matrix;BatsBasic::vand_matrix55,1151
RawPacket *curPacket;BatsBasic::curPacket59,1231
PrecodeLayout *layout;BatsBasic::layout61,1283
Precode *precode;BatsBasic::precode63,1336
PacketBuffer *buf;BatsBasic::buf65,1384
BatchBuilder *builder;BatsBasic::builder67,1433
BatsBasic(BatsBasic::BatsBasic72,1605
~BatsBasic(BatsBasic::~BatsBasic135,3824
void selectDegree(BatsBasic::selectDegree144,3939
void setDegreeDist(BatsBasic::setDegreeDist150,4094
inline int getSmallestBid(BatsBasic::getSmallestBid154,4204
src/PacketSampler.h,787
#define PACKETSAMPLER_H2,24
class PacketSampler 7,100
PacketSampler(PacketSampler::PacketSampler9,131
~PacketSampler(PacketSampler::~PacketSampler18,474
void Sample(PacketSampler::Sample22,525
void SampleSparsePart(PacketSampler::SampleSparsePart63,1873
void SamplePerminactPart(PacketSampler::SamplePerminactPart66,2022
int* sampledID;PacketSampler::sampledID70,2163
const PrecodeLayout& layout;PacketSampler::layout72,2206
int dataPacketNum,PacketSampler::dataPacketNum75,2337
int dataPacketNum, ldpcNum,PacketSampler::ldpcNum75,2337
int dataPacketNum, ldpcNum, hdpcNum;PacketSampler::hdpcNum75,2337
int additionalPerminactNum;PacketSampler::additionalPerminactNum76,2407
void RandomCombination(PacketSampler::RandomCombination80,2497
src/IPacketBuilder.h,121
#define IPACKETBUILDER_H2,25
class IPacketBuilder 5,78
virtual ~IPacketBuilder(IPacketBuilder::~IPacketBuilder8,197
src/BatchBuilder.h,685
#define BATCHBUILDER_H2,23
using namespace std;13,203
class BatchBuilder 15,225
BatchBuilder(BatchBuilder::BatchBuilder17,255
void Build(21,541
~BatchBuilder(40,1311
void SetPacketBuilder(44,1354
IPacketBuilder* GetPacketBuilder(45,1430
double *ComputeCdf(ComputeCdf48,1536
int ComputeWindowSize(79,2527
void SetDegreeDist(86,2726
void SetDegreeDist(91,2830
void SetDegreeDist(96,2969
MTRand& GetRand(111,3419
IPacketBuilder* packBuilder;113,3468
PacketSampler sampler;114,3499
MTRand psrand;115,3524
DistSampler* dist;116,3541
int maxSparseDegree,118,3577
int maxSparseDegree, perminactDegree;118,3577
int batchSize;119,3617
src/InactDecoder.h,1164
#define INACTDECODER_H2,23
using namespace std;10,130
class InactDecoder 12,152
InactDecoder(InactDecoder::InactDecoder14,182
~InactDecoder(InactDecoder::~InactDecoder21,612
SymbolType* GetYNewSlot(InactDecoder::GetYNewSlot28,759
SymbolType* GetCNewSlot(InactDecoder::GetCNewSlot29,834
int GetNumInactVar(InactDecoder::GetNumInactVar31,912
int GetNumConstraint(InactDecoder::GetNumConstraint32,994
void ResetNewSlot(InactDecoder::ResetNewSlot35,1060
void RegisterGlobalConstraint(InactDecoder::RegisterGlobalConstraint36,1163
void AddInactCount(InactDecoder::AddInactCount37,1218
bool Saturated(InactDecoder::Saturated41,1328
int numConstraint,InactDecoder::numConstraint47,1536
int numConstraint, numInactVar,InactDecoder::numInactVar47,1536
int numConstraint, numInactVar, maxInactVar;InactDecoder::maxInactVar47,1536
int hdpcNum,InactDecoder::hdpcNum50,1623
int hdpcNum, packetSize;InactDecoder::packetSize50,1623
SymbolType** Y;InactDecoder::Y53,1670
SymbolType** C;InactDecoder::C54,1710
SymbolType** Cspan;InactDecoder::Cspan56,1819
Precode& precode;InactDecoder::precode58,1844
src/Partition.h,2432
#define PARTITION_H2,20
using namespace std;8,99
class Partition 14,239
Partition(Partition::Partition17,281
void insert(Partition::insert19,373
void changeClass(Partition::changeClass26,560
int getClass(Partition::getClass49,1258
int size(Partition::size50,1316
int sizeCls(Partition::sizeCls51,1347
TypeT get(Partition::get53,1407
ClassIterator<TypeT> beginCls(Partition::beginCls55,1460
ClassIterator<TypeT> endCls(Partition::endCls58,1548
RangeIterator<TypeT> begin(Partition::begin61,1659
RangeIterator<TypeT> end(Partition::end64,1769
int m_Size;Partition::m_Size70,1958
const int m_nClass;Partition::m_nClass71,1971
vector<TypeT> actualBuf;Partition::actualBuf72,2023
vector<Partition::vector73,2049
vector<pair<int,int> > classIDandLoc;Partition::classIDandLoc73,2049
vector<vector<int> > classMember;Partition::classMember74,2173
class RangeIterator 78,2328
RangeIterator(RangeIterator::RangeIterator81,2420
RangeIterator(RangeIterator::RangeIterator83,2555
RangeIterator<TypeT>& operator=(RangeIterator::operator=86,2715
bool operator==(RangeIterator::operator==95,2917
bool operator!=(RangeIterator::operator!=98,3115
TypeT& operator*(RangeIterator::operator*103,3222
TypeT* operator->(RangeIterator::operator->106,3283
RangeIterator<TypeT>& operator++(RangeIterator::operator++111,3363
RangeIterator<TypeT> operator++(RangeIterator::operator++115,3442
Partition<TypeT>& m_part;RangeIterator::m_part121,3570
const int m_start,RangeIterator::m_start122,3597
const int m_start, m_end;RangeIterator::m_end122,3597
int m_index;RangeIterator::m_index123,3624
class ClassIterator 127,3667
ClassIterator(ClassIterator::ClassIterator130,3759
ClassIterator(ClassIterator::ClassIterator131,3851
ClassIterator(ClassIterator::ClassIterator133,3963
ClassIterator<TypeT>& operator=(ClassIterator::operator=136,4108
bool operator==(ClassIterator::operator==144,4292
bool operator!=(ClassIterator::operator!=147,4469
TypeT& operator*(ClassIterator::operator*152,4576
TypeT* operator->(ClassIterator::operator->156,4695
ClassIterator<TypeT>& operator++(ClassIterator::operator++162,4833
ClassIterator<TypeT> operator++(ClassIterator::operator++166,4912
Partition<TypeT>& m_part;ClassIterator::m_part172,5040
const int m_classID;ClassIterator::m_classID173,5067
int m_index;ClassIterator::m_index174,5089
src/InactDecoder.cpp,99
bool InactDecoder::NewGlobalConstraintIndependent(9,147
bool InactDecoder::TryInactDecode(24,602
src/NCCoder.cpp,88
NCCoder* NCCoder_new(6,65
void NCCoder_genPacket(7,164
void NCCoder::genPacket(9,316
src/util/FiniteField.cpp,439
const int FiniteField::prim_poly[FiniteField::prim_poly3,26
const int FiniteField::nw[FiniteField::nw12,196
const int FiniteField::nwm1[FiniteField::nwm113,314
void FiniteField::init(17,469
void FiniteField::finalize(28,696
int FiniteField::createLogTables(51,1113
int FiniteField::createMulintables(99,2080
int FiniteField::rankM(221,5209
int FiniteField::GaussianSolve(326,7966
int FiniteField::GaussianElimination(349,8575
src/util/CircularBuf.cpp,123
void bufInit(12,196
void bufWrite(55,1217
int bufRead(87,2005
void bufFree(117,2703
double bufGetFilledRatio(141,3300
src/vand.cpp,260
static struct vandermond_matrix matrix;5,55
static int get(10,169
void init_vandermond_matrix(21,407
void destroy_vandermond_matrix(51,987
struct vandermond_matrix *get_vandermond_matrix(get_vandermond_matrix58,1066
void print_vandermond_matrix(66,1210
src/DelayEnc.cpp,237
DelayEncoder::DelayEncoder(5,49
void DelayEncoder::genBatchWithKey(14,321
SymbolType *DelayEncoder::genPacket(DelayEncoder::genPacket32,839
SymbolType *DelayEncoder::saveDelayInfoInPacket(DelayEncoder::saveDelayInfoInPacket47,1249
src/BatchDec.cpp,723
BatsDecoder* BatsDecoder_new(6,70
int BatsDecoder_complete(8,187
int BatsDecoder_getDecoded(9,291
void BatsDecoder_rankDist(10,377
void BatsDecoder_receivePacket(11,464
void BatsDecoder_setDegreeDist(13,653
void BatsDecoder_selectDegree(14,786
int BatsDecoder_readyForInact(16,869
int BatsDecoder_inactDecoding(21,966
void BatsDecoder_logRankDist(26,1062
int BatsDecoder_numInact(30,1153
void BatsDecoder::tryPushDecQueue(40,1281
void BatsDecoder::receivePacket(50,1679
CheckNode* BatsDecoder::initNewBatch(121,3753
void BatsDecoder::decodeBatch(138,4333
bool BatsDecoder::inactDec(218,6959
bool BatsDecoder::addInact(253,8937
void BatsDecoder::rankDist(344,11915
void BatsDecoder::logRankDist(368,12475
src/testPartition.cpp,68
const int numCls 7,84
int main(11,151
void PrintContainer(45,708
src/VariableNode.cpp,181
SymbolType** VariableNode::inactCoef_ActualBuffer;9,161
int VariableNode::totalNum;10,212
void VariableNode::saveDecoded(12,241
void VariableNode::substituteInactivePart(22,568
src/BatchEnc.cpp,313
BatsEncoder* BatsEncoder_new(5,49
SymbolType* BatsEncoder_genPacket(7,161
void BatsEncoder_setDegreeDist(9,334
void BatsEncoder_selectDegree(10,467
int BatsEncoder_getSmallestBid(12,550
void BatsEncoder::genCheckPkg(17,650
void BatsEncoder::setInputPackets(21,728
void BatsEncoder::genBatchWithKey(26,837
src/Precode.cpp,123
void Precode::MultiplyQ(8,142
void Precode::GenerateCheckPackets(60,1478
void Precode::GenerateHDPCConstraints(157,5110
src/platform.cpp,0
src/NIODecoder.cpp,139
void* NonBlockingDecoder_Threadfunc(3,25
struct ThreadedCircularBuf* NonBlockingDecoder_new(45,958
void NonBlockingDecoder_wait(69,1755
src/DelayDec.cpp,329
void DelayDecoder::tryPushDecQueue(11,113
void DelayDecoder::receivePacket(21,512
CheckNode* DelayDecoder::initNewBatch(92,2587
void DelayDecoder::decodeBatch(109,3168
bool DelayDecoder::inactDec(189,5795
bool DelayDecoder::addInact(224,7774
void DelayDecoder::rankDist(315,10753
void DelayDecoder::logRankDist(339,11314
test/test_bats.cpp,127
float LOSS_RATE 18,259
int run_packet_mode(20,283
int run_batch_mode(84,1679
void setup_degree(149,3145
int main(177,3589
test/test_dist.cpp,15
int main(6,84
test/perf_dec.cpp,127
float LOSS_RATE 19,277
int run_packet_mode(21,301
int run_batch_mode(85,1701
void setup_degree(150,3171
int main(178,3615
test/test_delay.cpp,127
float LOSS_RATE 18,259
int run_packet_mode(20,283
int run_batch_mode(84,1681
void setup_degree(149,3149
int main(155,3214