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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mod2dense.c

?? ldpc的11個(gè)程序 encode decode extract make-gen make-ldpc make-pchk print-gen print-pchk rand-src transm
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
/* ADD TWO DENSE MOD2 MATRICES. */void mod2dense_add( mod2dense *m1,	/* Left operand of add */ mod2dense *m2,/* Right operand of add */ mod2dense *r	/* Place to store result of add */){  int j, k;  if (mod2dense_rows(m1)!=mod2dense_rows(r)    || mod2dense_cols(m1)!=mod2dense_cols(r)    || mod2dense_rows(m2)!=mod2dense_rows(r)   || mod2dense_cols(m2)!=mod2dense_cols(r))  { fprintf(stderr,"mod2dense_add: Matrices have different dimensions\n");    exit(1);  }  for (j = 0; j<mod2dense_cols(r); j++)  { 
	for (k = 0; k<r->n_words; k++)    {
		r->col[j][k] = m1->col[j][k] ^ m2->col[j][k];    }  }}/* MULTIPLY TWO DENSE MOD2 MATRICES.    The algorithm used runs faster if the second matrix (right operand of the   multiply) is sparse, but it is also appropriate for dense matrices.  This   procedure could be speeded up a bit by replacing the call of mod2dense_get   with in-line code that avoids division, but this doesn't seem worthwhile   at the moment. */void mod2dense_multiply ( mod2dense *m1, 	/* Left operand of multiply */  mod2dense *m2,	/* Right operand of multiply */  mod2dense *r		/* Place to store result of multiply */){  int i, j, k;  if (mod2dense_cols(m1)!=mod2dense_rows(m2)    || mod2dense_rows(m1)!=mod2dense_rows(r)    || mod2dense_cols(m2)!=mod2dense_cols(r))  { fprintf(stderr,     "mod2dense_multiply: Matrices have incompatible dimensions\n");    exit(1);  }  if (r==m1 || r==m2)  { fprintf(stderr,      "mod2dense_multiply: Result matrix is the same as one of the operands\n");    exit(1);  }  mod2dense_clear(r);  for (j = 0; j<mod2dense_cols(r); j++)  { for (i = 0; i<mod2dense_rows(m2); i++)    { if (mod2dense_get(m2,i,j))      { for (k = 0; k<r->n_words; k++)        { r->col[j][k] ^= m1->col[i][k];        }      }    }  }}/* SEE WHETHER TWO DENSE MOD2 MATRICES ARE EQUAL. */int mod2dense_equal( mod2dense *m1,  mod2dense *m2){  int k, j, w;  mod2word m;  if (mod2dense_rows(m1)!=mod2dense_rows(m2)    || mod2dense_cols(m1)!=mod2dense_cols(m2))  { fprintf(stderr,"mod2dense_equal: Matrices have different dimensions\n");    exit(1);  }  w = m1->n_words;  /* Form a mask that has 1s in the lower bit positions corresponding to     bits that contain information in the last word of a matrix column. */  m = (1 << (mod2_wordsize - (w*mod2_wordsize-m1->n_rows))) - 1;    for (j = 0; j<mod2dense_cols(m1); j++)  {    for (k = 0; k<w-1; k++)    { if (m1->col[j][k] != m2->col[j][k]) return 0;    }    if ((m1->col[j][k]&m) != (m2->col[j][k]&m)) return 0;  }  return 1;}/* INVERT A DENSE MOD2 MATRIX. */int mod2dense_invert ( mod2dense *m,		/* The matrix to find the inverse of (destroyed) */  mod2dense *r		/* Place to store the inverse */){  mod2word *s, *t;  int i, j, k, n, w, k0, b0;  if (mod2dense_rows(m)!=mod2dense_cols(m))  { fprintf(stderr,"mod2dense_invert: Matrix to invert is not square\n");    exit(1);  }  if (r==m)  { fprintf(stderr,       "mod2dense_invert: Result matrix is the same as the operand\n");    exit(1);  }  n = mod2dense_rows(m);  w = m->n_words;  if (mod2dense_rows(r)!=n || mod2dense_cols(r)!=n)  { fprintf(stderr,     "mod2dense_invert: Matrix to receive inverse has wrong dimensions\n");    exit(1);  }  mod2dense_clear(r);  for (i = 0; i<n; i++)   { mod2dense_set(r,i,i,1);  }  for (i = 0; i<n; i++)  {     k0 = i >> mod2_wordsize_shift;    b0 = i & mod2_wordsize_mask;    for (j = i; j<n; j++)     { if (mod2_getbit(m->col[j][k0],b0)) break;    }    if (j==n) return 0;    if (j!=i)    {      t = m->col[i];      m->col[i] = m->col[j];      m->col[j] = t;      t = r->col[i];      r->col[i] = r->col[j];      r->col[j] = t;    }    for (j = 0; j<n; j++)    { if (j!=i && mod2_getbit(m->col[j][k0],b0))      { s = m->col[j];        t = m->col[i];        for (k = k0; k<w; k++) s[k] ^= t[k];        s = r->col[j];        t = r->col[i];        for (k = 0; k<w; k++) s[k] ^= t[k];      }    }  }  return 1;}/* INVERT A DENSE MOD2 MATRIX WITH ROWS & COLUMNS SELECTED FROM BIGGER MATRIX.*/int mod2dense_invert_selected( mod2dense *m,		/* Matrix from which to pick a submatrix to invert */  mod2dense *r,		/* Place to store the inverse */  int *rows,		/* Set to indexes of rows used and not used */  int *cols		/* Set to indexes of columns used and not used */){  mod2word *s, *t;  int i, j, k, n, n2, w, k0, b0, c, R;  if (r==m)  { fprintf(stderr,       "mod2dense_invert_selected2: Result matrix is the same as the operand\n");    exit(1);  }  n = mod2dense_rows(m);  w = m->n_words;  n2 = mod2dense_cols(m);  if (mod2dense_rows(r)!=n || mod2dense_cols(r)!=n2)  { fprintf(stderr,"mod2dense_invert_selected2: Matrix to receive inverse has wrong dimensions\n");    exit(1);  }  mod2dense_clear(r);  for (i = 0; i<n; i++)  { rows[i] = i;  }  for (j = 0; j<n2; j++)  { cols[j] = j;  }  R = 0;  i = 0;  for (;;)  {     while (i<n-R)    {      k0 = rows[i] >> mod2_wordsize_shift;      b0 = rows[i] & mod2_wordsize_mask;      for (j = i; j<n2; j++)       { if (mod2_getbit(m->col[cols[j]][k0],b0)) break;      }      if (j<n2) break;      R += 1;      c = rows[i];      rows[i] = rows[n-R];      rows[n-R] = c;    }    if (i==n-R) break;    c = cols[j];    cols[j] = cols[i];    cols[i] = c;    mod2dense_set(r,rows[i],c,1);    for (j = 0; j<n2; j++)    { if (j!=c && mod2_getbit(m->col[j][k0],b0))      { s = m->col[j];        t = m->col[c];        for (k = 0; k<w; k++) s[k] ^= t[k];        s = r->col[j];        t = r->col[c];        for (k = 0; k<w; k++) s[k] ^= t[k];      }    }    i += 1;  }  for (j = n-R; j<n; j++)  { s = r->col[cols[j]];    for (k = 0; k<w; k++) s[k] = 0;  }  return R;}/* FORCIBLY INVERT A DENSE MOD2 MATRIX. */int mod2dense_forcibly_invert ( mod2dense *m, 	/* The matrix to find the inverse of (destroyed) */  mod2dense *r,		/* Place to store the inverse */  int *a_row,		/* Place to store row indexes of altered elements */  int *a_col		/* Place to store column indexes of altered elements */){  mod2word *s, *t;  int i, j, k, n, w, k0, b0;  int u, c;  if (mod2dense_rows(m)!=mod2dense_cols(m))  { fprintf(stderr,      "mod2dense_forcibly_invert: Matrix to invert is not square\n");    exit(1);  }  if (r==m)  { fprintf(stderr,       "mod2dense_forcibly_invert: Result matrix is the same as the operand\n");    exit(1);  }  n = mod2dense_rows(m);  w = m->n_words;  if (mod2dense_rows(r)!=n || mod2dense_cols(r)!=n)  { fprintf(stderr, "mod2dense_forcibly_invert: Matrix to receive inverse has wrong dimensions\n");    exit(1);  }  mod2dense_clear(r);  for (i = 0; i<n; i++)   { mod2dense_set(r,i,i,1);  }  for (i = 0; i<n; i++)  { a_row[i] = -1;    a_col[i] = i;  }  for (i = 0; i<n; i++)  {     k0 = i >> mod2_wordsize_shift;    b0 = i & mod2_wordsize_mask;    for (j = i; j<n; j++)     { if (mod2_getbit(m->col[j][k0],b0)) break;    }    if (j==n)    { j = i;      mod2dense_set(m,i,j,1);      a_row[i] = i;    }    if (j!=i)    {       t = m->col[i];      m->col[i] = m->col[j];      m->col[j] = t;      t = r->col[i];      r->col[i] = r->col[j];      r->col[j] = t;      u = a_col[i];      a_col[i] = a_col[j];      a_col[j] = u;    }    for (j = 0; j<n; j++)    { if (j!=i && mod2_getbit(m->col[j][k0],b0))      { s = m->col[j];        t = m->col[i];        for (k = k0; k<w; k++) s[k] ^= t[k];        s = r->col[j];        t = r->col[i];        for (k = 0; k<w; k++) s[k] ^= t[k];      }    }  }  c = 0;  for (i = 0; i<n; i++)  { if (a_row[i]!=-1)    { a_row[c] = a_row[i];      a_col[c] = a_col[i];      c += 1;    }  }  return c;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人爱爱电影网址| 欧美日韩一区国产| 久久精品人人做| 狠狠狠色丁香婷婷综合激情 | 日韩成人午夜精品| 欧美精品视频www在线观看| 午夜电影网亚洲视频| 日韩午夜小视频| 国产河南妇女毛片精品久久久| 日本一区二区三区四区| 99精品视频在线播放观看| 一区二区三区中文在线| 91精品国产综合久久福利| 久久精品国产99国产| 国产日韩欧美制服另类| 91蜜桃网址入口| 日韩主播视频在线| 久久久亚洲国产美女国产盗摄 | 久久精品亚洲精品国产欧美 | 精品系列免费在线观看| 国产精品天干天干在线综合| 一本一道波多野结衣一区二区| 亚洲综合久久久| 精品国产亚洲一区二区三区在线观看| 国产成人av自拍| 午夜精品福利视频网站| 国产婷婷一区二区| 欧美亚洲国产一区二区三区va| 免费三级欧美电影| 亚洲欧洲性图库| 欧美一级理论片| 成+人+亚洲+综合天堂| 午夜电影一区二区三区| 久久精品视频免费| 欧美午夜片在线看| 国产成人亚洲精品青草天美| 婷婷开心激情综合| 中文字幕亚洲电影| 欧美一区二区视频在线观看 | 成人免费毛片嘿嘿连载视频| 亚洲va中文字幕| 综合欧美亚洲日本| 久久综合久久综合久久综合| 欧美色综合久久| 北条麻妃一区二区三区| 毛片不卡一区二区| 一区二区三区中文在线观看| 久久久国产午夜精品| 91麻豆精品国产91久久久使用方法 | 日本三级亚洲精品| 亚洲精品视频一区二区| 久久午夜老司机| 欧美一级二级三级乱码| 欧美亚洲国产怡红院影院| 不卡av在线免费观看| 久久se精品一区二区| 亚洲午夜电影在线观看| 国产精品久久久一本精品 | 91免费视频网址| 欧美三级午夜理伦三级中视频| 久久99国内精品| 天天影视网天天综合色在线播放| 亚洲特黄一级片| 国产视频一区在线观看| 欧美xxxx老人做受| 欧美电影一区二区| 欧美日本国产视频| 欧洲国产伦久久久久久久| 色综合久久综合网欧美综合网| 国产91露脸合集magnet| 国产在线一区观看| 久久电影网站中文字幕| 看电影不卡的网站| 韩国欧美国产1区| 美腿丝袜亚洲色图| 黄色精品一二区| 美女视频黄频大全不卡视频在线播放| 首页国产欧美久久| 免费在线观看视频一区| 久草中文综合在线| 九九九久久久精品| 国产精品一区二区久激情瑜伽| 国产原创一区二区三区| 国产精品一区久久久久| 国产精品一级片在线观看| 粉嫩av一区二区三区| 99久久国产综合精品女不卡| aaa欧美大片| 在线观看亚洲专区| 91精品国产免费久久综合| 精品免费一区二区三区| 国产日韩精品视频一区| 国产精品国产三级国产专播品爱网 | 亚洲美女视频在线观看| 一区二区三区鲁丝不卡| 日本不卡视频在线| 国产精品影音先锋| 91美女片黄在线观看91美女| 欧洲日韩一区二区三区| 日韩一级视频免费观看在线| 久久只精品国产| 亚洲国产精品成人综合色在线婷婷 | 极品美女销魂一区二区三区免费| 顶级嫩模精品视频在线看| 成人av资源网站| 欧美体内she精高潮| 欧美一二三四在线| 国产精品传媒视频| 五月婷婷欧美视频| 国产一区二区三区在线观看免费视频| 成人白浆超碰人人人人| 717成人午夜免费福利电影| 久久综合给合久久狠狠狠97色69| 亚洲欧洲日产国码二区| 日韩福利电影在线| 国产成人午夜精品影院观看视频 | www..com久久爱| 欧美久久久久免费| 中文字幕不卡在线| 日本中文字幕一区二区有限公司| 丰满少妇在线播放bd日韩电影| 欧美另类z0zxhd电影| 国产精品萝li| 精品在线播放免费| 色妹子一区二区| 精品国产污污免费网站入口| 一区二区三区波多野结衣在线观看| 久久精品国产一区二区| 色婷婷综合久色| 中文字幕免费在线观看视频一区| 天天色综合天天| 97久久精品人人澡人人爽| 精品国产亚洲在线| 日韩精品欧美精品| 一本到不卡精品视频在线观看| 欧美精品一区二区高清在线观看| 亚洲一区在线观看免费| 成人免费高清在线| 2017欧美狠狠色| 奇米色777欧美一区二区| 91丨porny丨中文| 日本一区二区视频在线观看| 天堂va蜜桃一区二区三区漫画版| 97se亚洲国产综合在线| 中文久久乱码一区二区| 黑人精品欧美一区二区蜜桃| 69堂国产成人免费视频| 亚洲最快最全在线视频| 99视频有精品| 成人欧美一区二区三区| 成人精品gif动图一区| 2024国产精品| 久久av资源网| 欧美第一区第二区| 日本大胆欧美人术艺术动态| 欧美亚洲综合色| 亚洲国产成人精品视频| 在线免费观看一区| 亚洲欧美色图小说| 97精品国产97久久久久久久久久久久| 国产人妖乱国产精品人妖| 国产精品一区二区久久精品爱涩 | 国产精品大尺度| av中文字幕在线不卡| 国产精品三级视频| 成人在线综合网站| 欧美高清在线一区| 91日韩一区二区三区| 樱花草国产18久久久久| 在线区一区二视频| 婷婷国产在线综合| 日韩一区二区三区三四区视频在线观看| 天天做天天摸天天爽国产一区| 欧美久久久久久蜜桃| 麻豆精品一区二区| 国产亚洲一区二区三区在线观看| 国产精品88888| 国产精品剧情在线亚洲| 99精品久久只有精品| 亚洲精品第1页| 欧美日韩黄色影视| 免费看日韩精品| 久久久久久久久久美女| 成人av免费在线| 一级做a爱片久久| 欧美日韩在线不卡| 久久se这里有精品| 亚洲欧洲精品一区二区三区 | 久久中文娱乐网| 成人免费看黄yyy456| 亚洲一二三区在线观看| 日韩一区二区免费高清| 国产99久久久精品| 亚洲国产成人精品视频| 精品国产91洋老外米糕| 94色蜜桃网一区二区三区| 日韩二区三区在线观看| 欧美激情一区不卡| 欧美日本视频在线| 成人网在线播放|