亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? make-ldpc.c

?? 關于LDPC編/譯碼的方針平臺。能隨機產生信源和模擬高斯信道。
?? C
字號:
/* MAKE-LDPC.C - Make a Low Density Parity Check code's parity check matrix. *//* Copyright (c) 2000, 2001 by Radford M. Neal  * * Permission is granted for anyone to copy, use, or modify this program  * for purposes of research or education, provided this copyright notice  * is retained, and note is made of any changes that have been made.  * * This program is distributed without any warranty, express or implied. * As this program was written for research purposes only, it has not been * tested to the degree that would be advisable in any important application. * All use of this program is entirely at the user's own risk. */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include "rand.h"#include "alloc.h"#include "intio.h"#include "open.h"#include "mod2sparse.h"#include "mod2dense.h"#include "mod2convert.h"#include "rcode.h"/* METHODS FOR CONSTRUCTING CODES. */typedef enum { Evencol, 	/* Uniform number of bits per column, with number specified */  Evenboth 	/* Uniform (as possible) over both columns and rows */} make_method; void make_ldpc(int,make_method,int,int);void usage(void);/* MAIN PROGRAM. */int main( int argc,  char **argv){  make_method method;  char *file, **meth;  int seed, no4cycle;  char junk;  FILE *f;  int cb;  /* Look at initial arguments. */  if (!(file = argv[1])   || !argv[2] || sscanf(argv[2],"%d%c",&M,&junk)!=1 || M<=0   || !argv[3] || sscanf(argv[3],"%d%c",&N,&junk)!=1 || N<=0   || !argv[4] || sscanf(argv[4],"%d%c",&seed,&junk)!=1)  { usage();  }  /* Look at the arguments specifying the method for producing the code. */  meth = argv+5;  if (!meth[0]) usage();  no4cycle = 0;  if (strcmp(meth[0],"evencol")==0 || strcmp(meth[0],"evenboth")==0)  { method = strcmp(meth[0],"evencol")==0 ? Evencol : Evenboth;    if (!meth[1] || sscanf(meth[1],"%d%c",&cb,&junk)!=1 || cb<=0)    { usage();    }    if (meth[2])    { if (strcmp(meth[2],"no4cycle")==0)      { no4cycle = 1;        if (meth[3])        { usage();        }      }      else      { usage();      }    }  }  else  { usage();  }  /* Check for some problems. */      if (cb>M)  { fprintf(stderr,      "Number of checks per bit (%d) is greater than total checks (%d)\n",      cb, M);    exit(1);  }    if (cb==M && N>1 && no4cycle)  { fprintf(stderr,     "Can't eliminate cycles of length four with this many checks per bit\n");    exit(1);  }  /* Make the parity check matrix. */  make_ldpc(seed,method,cb,no4cycle);  /* Write out the parity check matrix. */  f = open_file_std(file,"wb");  if (f==NULL)   { fprintf(stderr,"Can't create parity check file: %s\n",file);    exit(1);  }  intio_write(f,('P'<<8)+0x80);    if (ferror(f) || !mod2sparse_write(f,H) || fclose(f)!=0)  { fprintf(stderr,"Error writing to parity check file %s\n",file);    exit(1);  }  return 0;}/* PRINT USAGE MESSAGE AND EXIT. */void usage(void){ fprintf(stderr,"Usage:  make-ldpc pchk-file n-checks n-bits seed method\n");  fprintf(stderr,"Method: evencol  checks-per-col [ \"no4cycle\" ]\n");  fprintf(stderr,"    or: evenboth checks-per-col [ \"no4cycle\" ]\n");  exit(1);}/* CREATE A SPARSE PARITY-CHECK MATRIX.  Of size M by N, stored in H. */void make_ldpc( int seed,		/* Random number seed */  make_method method,	/* How to make it */  int cb,		/* Checks per bit */  int no4cycle		/* Eliminate cycles of length four? */){  mod2entry *e, *f, *g, *h;  int added, uneven, elim4;  int i, j, k, t;  int *u;  rand_seed(10*seed+1);  H = mod2sparse_allocate(M,N);  /* Create the initial version of the parity check matrix. */  switch (method)  {     case Evencol:    {       for (j = 0; j<N; j++)      { for (k = 0; k<cb; k++)        { do          { i = rand_int(M);          } while (mod2sparse_find(H,i,j));          mod2sparse_insert(H,i,j);        }      }      break;    }    case Evenboth:    {      u = chk_alloc (cb*N, sizeof *u);      for (k = cb*N-1; k>=0; k--)      { u[k] = k%M;      }      uneven = 0;      t = 0;      for (j = 0; j<N; j++)      { for (k = 0; k<cb; k++)        {           for (i = t; i<cb*N && mod2sparse_find(H,u[i],j); i++) ;          if (i==cb*N)          { uneven += 1;            do            { i = rand_int(M);            } while (mod2sparse_find(H,i,j));            mod2sparse_insert(H,i,j);          }          else          { do            { i = t + rand_int(cb*N-t);            } while (mod2sparse_find(H,u[i],j));            mod2sparse_insert(H,u[i],j);            u[i] = u[t];            t += 1;          }        }      }      if (uneven>0)      { fprintf(stderr,"Had to place %d checks in rows unevenly\n",uneven);      }      break;    }    default: abort();  }  /* Add extra bits to avoid rows with less than two checks. */  added = 0;  for (i = 0; i<M; i++)  { e = mod2sparse_first_in_row(H,i);    if (mod2sparse_at_end(e))    { j = rand_int(N);      e = mod2sparse_insert(H,i,j);      added += 1;    }    e = mod2sparse_first_in_row(H,i);    if (mod2sparse_at_end(mod2sparse_next_in_row(e)) && N>1)    { do       { j = rand_int(N);       } while (j==mod2sparse_col(e));      mod2sparse_insert(H,i,j);      added += 1;    }  }  if (added>0)  { fprintf(stderr,           "Added %d extra bit-checks to make row counts at least two\n",           added);  }  /* Add extra bits to try to avoid problems with even column counts. */  if (cb%2==0 && cb<M && N>1 && added<2)  { int a;    for (a = 0; added+a<2; a++)    { do      { i = rand_int(M);        j = rand_int(N);      } while (mod2sparse_find(H,i,j));      mod2sparse_insert(H,i,j);    }    fprintf(stderr, "Added %d extra bit-checks to try to avoid problems from even column counts\n",      a);  }  /* Eliminate cycles of length four, if asked, and if possible. */  if (no4cycle)  {     elim4 = 0;    for (t = 0; t<10; t++)     { k = 0;      for (j = 0; j<N; j++)      { for (e = mod2sparse_first_in_col(H,j);             !mod2sparse_at_end(e);             e = mod2sparse_next_in_col(e))        { for (f = mod2sparse_first_in_row(H,mod2sparse_row(e));               !mod2sparse_at_end(f);               f = mod2sparse_next_in_row(f))          { if (f==e) continue;            for (g = mod2sparse_first_in_col(H,mod2sparse_col(f));                 !mod2sparse_at_end(g);                 g = mod2sparse_next_in_col(g))            { if (g==f) continue;              for (h = mod2sparse_first_in_row(H,mod2sparse_row(g));                   !mod2sparse_at_end(h);                   h = mod2sparse_next_in_row(h))              { if (mod2sparse_col(h)==j)                { do                  { i = rand_int(M);                  } while (mod2sparse_find(H,i,j));                  mod2sparse_delete(H,e);                  mod2sparse_insert(H,i,j);                  elim4 += 1;                  k += 1;                  goto nextj;                }              }            }          }        }      nextj: ;      }      if (k==0) break;    }    if (elim4>0)    { fprintf(stderr,        "Eliminated %d cycles of length four by moving checks within column\n",         elim4);    }    if (t==10)     { fprintf(stderr,        "Couldn't eliminate all cycles of length four in 10 passes\n");    }  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲女同女同女同女同女同69| 1024成人网色www| 国产色91在线| 亚洲成人7777| 成人小视频免费观看| 欧美色区777第一页| 久久久久久久国产精品影院| 亚洲伊人色欲综合网| 国产精品香蕉一区二区三区| 欧美日韩国产天堂| 成人欧美一区二区三区视频网页| 日产国产欧美视频一区精品| 午夜精品成人在线视频| 国产欧美视频在线观看| 91精品国产全国免费观看| 欧美亚洲国产一区二区三区| 久久精品国产精品亚洲红杏 | 天堂蜜桃91精品| 在线电影一区二区三区| 成人av网站免费观看| 夜夜嗨av一区二区三区| 久久先锋影音av鲁色资源网| 欧美日韩精品三区| 亚洲精品国产无天堂网2021| 国产a精品视频| 国产农村妇女毛片精品久久麻豆| 日韩成人一级片| 717成人午夜免费福利电影| 亚洲小少妇裸体bbw| 日本高清视频一区二区| 亚洲视频网在线直播| 高清日韩电视剧大全免费| 国产亚洲精品7777| 国产成人综合亚洲网站| 国产亚洲精久久久久久| 国产精品88av| 亚洲国产成人一区二区三区| 成人黄色小视频在线观看| 欧美国产成人精品| 99久久精品情趣| 亚洲精品欧美激情| 欧美日韩精品免费观看视频| 手机精品视频在线观看| 777午夜精品免费视频| 蜜桃视频一区二区三区在线观看| 欧美成人一区二区三区片免费 | 大胆亚洲人体视频| 国产日韩av一区二区| 国产成人精品1024| 亚洲视频香蕉人妖| 欧美高清一级片在线| 精彩视频一区二区| 国产精品网站在线观看| 在线精品视频免费观看| 日本在线不卡一区| 久久久高清一区二区三区| 99久久99久久久精品齐齐| 一区二区三区四区不卡在线| 国产露脸91国语对白| 91色九色蝌蚪| 亚洲欧洲国产日韩| 午夜精品免费在线| 国产成人综合在线观看| 欧美日韩中文国产| 国产精品久久久一本精品| 欧美国产日韩亚洲一区| 亚洲视频一区二区免费在线观看| 日韩激情视频网站| 日本丶国产丶欧美色综合| 97久久超碰国产精品电影| 欧美精品色综合| 国产成人亚洲综合a∨婷婷| 亚洲综合在线视频| 日韩美女视频在线| 日本电影欧美片| 国产夫妻精品视频| 亚洲大片在线观看| 国产区在线观看成人精品| 欧美精品aⅴ在线视频| 豆国产96在线|亚洲| 日韩电影免费在线看| 日韩一区在线播放| 国产午夜精品一区二区三区视频| 欧美日韩国产高清一区二区三区| 成人av综合在线| 人人爽香蕉精品| 一区二区三区精品视频| 26uuu色噜噜精品一区二区| 欧美偷拍一区二区| 成人丝袜高跟foot| 久久99蜜桃精品| 天堂一区二区在线| 亚洲免费色视频| 国产欧美精品国产国产专区 | 精品久久久久久久人人人人传媒| 色综合欧美在线视频区| 成人av在线一区二区三区| 美国十次了思思久久精品导航| 亚洲午夜久久久久久久久久久 | 91精品国产一区二区三区香蕉| 成人av在线播放网址| 久久69国产一区二区蜜臀| 日韩国产欧美在线视频| 亚洲大片一区二区三区| 亚洲乱码一区二区三区在线观看| 国产亚洲综合性久久久影院| 欧美一卡二卡在线| 3751色影院一区二区三区| 欧美日韩午夜在线视频| 在线区一区二视频| 在线免费观看日韩欧美| 色国产精品一区在线观看| 91网站视频在线观看| 99久久婷婷国产综合精品| 成人免费毛片嘿嘿连载视频| 国产丶欧美丶日本不卡视频| 国产精品亚洲第一区在线暖暖韩国| 久久99精品久久只有精品| 精品一区二区三区免费| 国产精品一区二区在线看| 国产剧情av麻豆香蕉精品| 在线免费观看成人短视频| 亚洲一区免费视频| 亚洲va中文字幕| 亚洲一区精品在线| 一区二区激情视频| 亚洲天堂精品在线观看| 国产精品毛片高清在线完整版 | 伦理电影国产精品| 亚洲在线视频网站| 日韩毛片视频在线看| 亚洲国产va精品久久久不卡综合 | 国产亚洲精品精华液| 久久免费电影网| 国产蜜臀av在线一区二区三区| 久久久不卡网国产精品一区| 国产精品色哟哟| 亚洲三级电影网站| 日本不卡高清视频| 国产白丝网站精品污在线入口| gogo大胆日本视频一区| 欧美综合天天夜夜久久| 欧美精选一区二区| 国产女人水真多18毛片18精品视频| 久久久99精品免费观看不卡| 国产精品另类一区| 亚洲一区在线观看网站| 天堂蜜桃一区二区三区| 国产麻豆精品视频| 在线免费观看日本欧美| 26uuu欧美日本| 亚洲免费看黄网站| 精品无人码麻豆乱码1区2区| 一本大道av一区二区在线播放| 56国语精品自产拍在线观看| 久久综合999| 亚洲一区在线电影| 国产麻豆91精品| 欧美日韩久久一区二区| 久久精品免费在线观看| 亚洲成人自拍偷拍| 成人一级视频在线观看| 欧美日韩国产首页| 国产精品情趣视频| 免费成人av资源网| 色婷婷综合久色| 久久久五月婷婷| 性做久久久久久| 成人免费视频一区二区| 正在播放一区二区| 亚洲同性同志一二三专区| 久久国产精品99久久人人澡| 在线视频亚洲一区| 国产精品欧美精品| 精品中文字幕一区二区小辣椒 | 成人黄页在线观看| 日韩视频免费观看高清完整版在线观看 | 成人h版在线观看| 欧美区一区二区三区| 精品国产亚洲一区二区三区在线观看| 亚洲精品国产一区二区精华液 | 国产亚洲精品中文字幕| 色哟哟一区二区在线观看| 色婷婷激情一区二区三区| 精品国内片67194| 婷婷综合另类小说色区| 91免费观看在线| 国产精品久久久久一区| 国产在线看一区| 日韩一区二区在线看| 亚洲国产精品久久久男人的天堂| gogo大胆日本视频一区| 国产午夜一区二区三区| 午夜视频在线观看一区二区三区 | 日日摸夜夜添夜夜添精品视频| 99久久久国产精品| 亚洲女与黑人做爰| 色婷婷久久一区二区三区麻豆| 中文字幕视频一区| 91麻豆免费视频|