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

📄 initi.cpp

📁 程序中给出了一个和积算法的LDPC程序
💻 CPP
字号:


/*********《程序可读取H矩阵文件格式》***********
/  H矩阵的文件以行稀疏的形式存储。格式如下:   /
/每行以行号开头,后面跟元素为1的列号,数字     /
/之间用逗号分开。当一行完后,用换行符跳到下    /
/一行直到写完整个矩阵。                        /
***********************************************/
#include "LR_en_de_CODE.h"
using namespace  std;

void initi();
extern struct Anode_inf
{
	bool flag;
	int col_num;
	double q_dmeg;
	double r_meg0; 
	double r_meg1;
};
extern struct Bnode_inf
{
	bool flag;
	int Acol_num;
    int Arow_num;
};
extern Anode_inf Anode_inf_mat[H_row][Hmax_rowdeg];
extern Bnode_inf Bnode_inf_mat[H_col][Hmax_coldeg];
unsigned char H_check[H_row][H_col];
void initi()
{
	int temp_int,i,j;
	char temp_char;
	for(i=0;i<H_col;i++)
	{
		for(int j=0;j<Hmax_coldeg;j++)
		{
			Bnode_inf_mat[i][j].flag=false;
		}
    }
	for(i=0;i<H_row;i++)
	{
		for(j=0;j<H_col;j++)
		{
		  H_check[i][j]=0;
		}
	}
	ifstream check_mat("mat.txt",ios_base::in); 
    if(check_mat.is_open()==0)
	{
		cout<<endl<<"!!!文件mat.txt未找到,无法读入校验矩阵!!!"<<endl;
	    exit(0);
	}
	for(i=0;i<H_row;i++)
	{
		check_mat>>temp_int;
		//cout<<temp_int;
		j=0;
		while(check_mat.peek()==',')
		{
			check_mat>>temp_char;
			check_mat>>temp_int;
			if(temp_int!=0)
			{
				H_check[i][temp_int-1]=1;
				Anode_inf_mat[i][j].flag=true;
				Anode_inf_mat[i][j].col_num=temp_int-1;
				for(int k=0;k<Hmax_coldeg;k++)
				{
					if(Bnode_inf_mat[temp_int-1][k].flag==false)
					{Bnode_inf_mat[temp_int-1][k].Arow_num=i;
					Bnode_inf_mat[temp_int-1][k].Acol_num=j;
					Bnode_inf_mat[temp_int-1][k].flag=true;
					break;}
				}
			}
			else
			{
				Anode_inf_mat[i][j].flag=false;
			}
			//cout<<temp_char<<" "<<temp_int;
			j++;
		}
		//cout<<endl;
	}
	check_mat.close();
}

⌨️ 快捷键说明

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