⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 encodehelpers.c

📁 This a framework to test new ideas in transmission technology. Actual development is a LDPC-coder in
💻 C
字号:
#include "encodehelpers.h"#define DBG_LVL 4/*************************** multiply a vector with  ** a specified part of H   ** using the sparseness of ** the graph               ***************************/void graphmultiply(graphs *graph, int rowstart, int rowend,                   int colstart, int colend,                   int *in, int *out) {  int node, socket;  for (node=rowstart; node<rowend; node++) {    for (socket=0; socket<cnodedegree; socket++) {      if ((cnodeedge.dest>=colstart) && (cnodeedge.dest<colend))        out[node-rowstart]^=in[cnodeedge.dest-colstart];    }  }}/********************************* perform a multiplication      ** with T^-1 without explicitly  ** computing T^-1 using the fact ** that T is lower triangular    ** and sparse                    *********************************/void multiplybytminusone(graphs *graph, int gap, int *in, int *out) {  int node, socket;  int vnodenum, cnodenum;  int temp;  vnodenum=(*graph).vnodenum;  cnodenum=(*graph).cnodenum;  for (node=0; node<(cnodenum-gap); node++) {    temp=0;    for (socket=0; socket<cnodedegree; socket++) {      if ((cnodeedge.dest-vnodenum+cnodenum-gap)>=0)        temp^=out[cnodeedge.dest-vnodenum+cnodenum-gap];    }    out[node]=(temp^in[node]);  }}/*******************  clear an array *******************/void cleararray (int *array, int length) {  int i;  for (i=0; i<length; i++)    array[i]=0;}/*******************  print a matrix *******************/void printmatrix (int *matrix, int gap, int vnodenum) {  int row, col;  for (row=0; row<gap; row++) {    for (col=0; col<vnodenum; col++)      PR_DBG_CL( 4,"%1d", *(matrix+row*vnodenum+col));    PR_DBG_CL( 4,"\n");  }  PR_DBG_CL( 4,"\n");}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -