matrix.c

来自「Reed-Solomoon 纠错算法C语言的实现」· C语言 代码 · 共 607 行 · 第 1/2 页

C
607
字号
  mul[0] = gmult3(*(Syndrome+1), *(Syndrome+5), *(Syndrome+6));  mul[1] = gmult3(*(Syndrome+4), *(Syndrome+4), *(Syndrome+4));  mul[2] = gmult3(*(Syndrome+2), *(Syndrome+3), *(Syndrome+7));  mul[3] = gmult3(*(Syndrome+1), *(Syndrome+4), *(Syndrome+7));  mul[4] = gmult3(*(Syndrome+2), *(Syndrome+4), *(Syndrome+6));  mul[5] = gmult3(*(Syndrome+3), *(Syndrome+4), *(Syndrome+5));  return(gadd6(mul[0], mul[1], mul[2], mul[3], mul[4], mul[5]));}unsigned int DetMB312(unsigned int *Syndrome){  unsigned int mul[4];  mul[0] = gmult3(*(Syndrome+1), *(Syndrome+3), *(Syndrome+7));  mul[1] = gmult3(*(Syndrome+1), *(Syndrome+5), *(Syndrome+5));  mul[2] = gmult3(*(Syndrome+2), *(Syndrome+2), *(Syndrome+7));  mul[3] = gmult3(*(Syndrome+3), *(Syndrome+4), *(Syndrome+4));  return(gadd4(mul[0], mul[1], mul[2], mul[3]));}unsigned int DetMA32(unsigned int *Syndrome){  unsigned int mul[6];  mul[0] = gmult3(*(Syndrome+1), *(Syndrome+4), *(Syndrome+6));  mul[1] = gmult3(*(Syndrome+2), *(Syndrome+4), *(Syndrome+5));  mul[2] = gmult3(*(Syndrome+3), *(Syndrome+3), *(Syndrome+5));  mul[3] = gmult3(*(Syndrome+1), *(Syndrome+5), *(Syndrome+5));  mul[4] = gmult3(*(Syndrome+2), *(Syndrome+3), *(Syndrome+6));  mul[5] = gmult3(*(Syndrome+3), *(Syndrome+4), *(Syndrome+4));  return(gadd6(mul[0], mul[1], mul[2], mul[3], mul[4], mul[5]));}unsigned int DetMB320(unsigned int *Syndrome){  unsigned int mul[6];  mul[0] = gmult3(*(Syndrome+4), *(Syndrome+4), *(Syndrome+6));  mul[1] = gmult3(*(Syndrome+2), *(Syndrome+5), *(Syndrome+7));  mul[2] = gmult3(*(Syndrome+3), *(Syndrome+5), *(Syndrome+6));  mul[3] = gmult3(*(Syndrome+2), *(Syndrome+6), *(Syndrome+6));  mul[4] = gmult3(*(Syndrome+4), *(Syndrome+5), *(Syndrome+5));  mul[5] = gmult3(*(Syndrome+3), *(Syndrome+4), *(Syndrome+7));  return(gadd6(mul[0], mul[1], mul[2], mul[3], mul[4], mul[5]));}unsigned int DetMB321(unsigned int *Syndrome){  unsigned int mul[3];  mul[0] = gmult3(*(Syndrome+1), *(Syndrome+6), *(Syndrome+6));  mul[1] = gmult3(*(Syndrome+4), *(Syndrome+4), *(Syndrome+5));  mul[2] = gmult3(*(Syndrome+3), *(Syndrome+3), *(Syndrome+7));  mul[3] = gmult3(*(Syndrome+1), *(Syndrome+5), *(Syndrome+7));  return(gadd4(mul[0], mul[1], mul[2], mul[3]));}unsigned int DetMB322(unsigned int *Syndrome){  unsigned int mul[6];  mul[0] = gmult3(*(Syndrome+1), *(Syndrome+4), *(Syndrome+7));  mul[1] = gmult3(*(Syndrome+2), *(Syndrome+4), *(Syndrome+6));  mul[2] = gmult3(*(Syndrome+3), *(Syndrome+4), *(Syndrome+5));  mul[3] = gmult3(*(Syndrome+1), *(Syndrome+5), *(Syndrome+6));  mul[4] = gmult3(*(Syndrome+2), *(Syndrome+3), *(Syndrome+7));  mul[5] = gmult3(*(Syndrome+4), *(Syndrome+4), *(Syndrome+4));  return(gadd6(mul[0], mul[1], mul[2], mul[3], mul[4], mul[5]));}unsigned int DetMA33(unsigned int *Syndrome){  unsigned int mul[4];  mul[0] = gmult3(*(Syndrome+2), *(Syndrome+4), *(Syndrome+6));  mul[1] = gmult3(*(Syndrome+2), *(Syndrome+5), *(Syndrome+5));  mul[2] = gmult3(*(Syndrome+3), *(Syndrome+3), *(Syndrome+6));  mul[3] = gmult3(*(Syndrome+4), *(Syndrome+4), *(Syndrome+4));  return(gadd4(mul[0], mul[1], mul[2], mul[3]));}unsigned int DetMB330(unsigned int *Syndrome){  unsigned int mul[3];  mul[0] = gmult3(*(Syndrome+3), *(Syndrome+5), *(Syndrome+7));  mul[1] = gmult3(*(Syndrome+5), *(Syndrome+5), *(Syndrome+5));  mul[2] = gmult3(*(Syndrome+3), *(Syndrome+6), *(Syndrome+6));  mul[3] = gmult3(*(Syndrome+4), *(Syndrome+4), *(Syndrome+7));  return(gadd4(mul[0], mul[1], mul[2], mul[3]));}unsigned int DetMB331(unsigned int *Syndrome){  unsigned int mul[6];  mul[0] = gmult3(*(Syndrome+2), *(Syndrome+6), *(Syndrome+6));  mul[1] = gmult3(*(Syndrome+4), *(Syndrome+5), *(Syndrome+5));  mul[2] = gmult3(*(Syndrome+3), *(Syndrome+4), *(Syndrome+7));  mul[3] = gmult3(*(Syndrome+2), *(Syndrome+5), *(Syndrome+7));  mul[4] = gmult3(*(Syndrome+3), *(Syndrome+5), *(Syndrome+6));  mul[5] = gmult3(*(Syndrome+4), *(Syndrome+4), *(Syndrome+6));  return(gadd6(mul[0], mul[1], mul[2], mul[3], mul[4], mul[5]));}unsigned int DetMB332(unsigned int *Syndrome){  unsigned int mul[6];  mul[0] = gmult3(*(Syndrome+2), *(Syndrome+4), *(Syndrome+7));  mul[1] = gmult3(*(Syndrome+3), *(Syndrome+4), *(Syndrome+6));  mul[2] = gmult3(*(Syndrome+3), *(Syndrome+5), *(Syndrome+5));  mul[3] = gmult3(*(Syndrome+2), *(Syndrome+5), *(Syndrome+6));  mul[4] = gmult3(*(Syndrome+3), *(Syndrome+3), *(Syndrome+7));  mul[5] = gmult3(*(Syndrome+4), *(Syndrome+4), *(Syndrome+5));  return(gadd6(mul[0], mul[1], mul[2], mul[3], mul[4], mul[5]));}unsigned int DetMA20(unsigned int *Syndrome){  unsigned int mul[2];  mul[0] = gmult(*(Syndrome+2), *(Syndrome+4));  mul[1] = gmult(*(Syndrome+3), *(Syndrome+3));  return(gadd(mul[0], mul[1]));}unsigned int DetMB200(unsigned int *Syndrome){  unsigned int mul[2];  mul[0] = gmult(*(Syndrome+4), *(Syndrome+4));  mul[1] = gmult(*(Syndrome+3), *(Syndrome+5));  return(gadd(mul[0], mul[1]));}unsigned int DetMB201(unsigned int *Syndrome){  unsigned int mul[2];  mul[0] = gmult(*(Syndrome+2), *(Syndrome+5));  mul[1] = gmult(*(Syndrome+3), *(Syndrome+4));  return(gadd(mul[0], mul[1]));}unsigned int DetMA21(unsigned int *Syndrome){  unsigned int mul[2];  mul[0] = gmult(*(Syndrome+2), *(Syndrome+5));  mul[1] = gmult(*(Syndrome+3), *(Syndrome+4));  return(gadd(mul[0], mul[1]));}unsigned int DetMB210(unsigned int *Syndrome){  unsigned int mul[2];  mul[0] = gmult(*(Syndrome+4), *(Syndrome+5));  mul[1] = gmult(*(Syndrome+3), *(Syndrome+6));  return(gadd(mul[0], mul[1]));}unsigned int DetMB211(unsigned int *Syndrome){  unsigned int mul[2];  mul[0] = gmult(*(Syndrome+2), *(Syndrome+6));  mul[1] = gmult(*(Syndrome+4), *(Syndrome+4));  return(gadd(mul[0], mul[1]));}unsigned int DetMA22(unsigned int *Syndrome){  unsigned int mul[2];  mul[0] = gmult(*(Syndrome+2), *(Syndrome+6));  mul[1] = gmult(*(Syndrome+5), *(Syndrome+3));  return(gadd(mul[0], mul[1]));}unsigned int DetMB220(unsigned int *Syndrome){  unsigned int mul[2];  mul[0] = gmult(*(Syndrome+4), *(Syndrome+6));  mul[1] = gmult(*(Syndrome+3), *(Syndrome+7));  return(gadd(mul[0], mul[1]));}unsigned int DetMB221(unsigned int *Syndrome){  unsigned int mul[2];  mul[0] = gmult(*(Syndrome+2), *(Syndrome+7));  mul[1] = gmult(*(Syndrome+4), *(Syndrome+5));  return(gadd(mul[0], mul[1]));}unsigned int DetMA23(unsigned int *Syndrome){  unsigned int mul[2];  mul[0] = gmult(*(Syndrome+3), *(Syndrome+5));  mul[1] = gmult(*(Syndrome+4), *(Syndrome+4));  return(gadd(mul[0], mul[1]));}unsigned int DetMB230(unsigned int *Syndrome){  unsigned int mul[2];  mul[0] = gmult(*(Syndrome+5), *(Syndrome+5));  mul[1] = gmult(*(Syndrome+4), *(Syndrome+6));  return(gadd(mul[0], mul[1]));}unsigned int DetMB231(unsigned int *Syndrome){  unsigned int mul[2];  mul[0] = gmult(*(Syndrome+3), *(Syndrome+6));  mul[1] = gmult(*(Syndrome+4), *(Syndrome+5));  return(gadd(mul[0], mul[1]));}unsigned int DetMA24(unsigned int *Syndrome){  unsigned int mul[2];  mul[0] = gmult(*(Syndrome+3), *(Syndrome+6));  mul[1] = gmult(*(Syndrome+4), *(Syndrome+5));  return(gadd(mul[0], mul[1]));}unsigned int DetMB240(unsigned int *Syndrome){  unsigned int mul[2];  mul[0] = gmult(*(Syndrome+5), *(Syndrome+6));  mul[1] = gmult(*(Syndrome+4), *(Syndrome+7));  return(gadd(mul[0], mul[1]));}unsigned int DetMB241(unsigned int *Syndrome){  unsigned int mul[2];  mul[0] = gmult(*(Syndrome+3), *(Syndrome+7));  mul[1] = gmult(*(Syndrome+5), *(Syndrome+5));  return(gadd(mul[0], mul[1]));}unsigned int DetMA25(unsigned int *Syndrome){  unsigned int mul[2];  mul[0] = gmult(*(Syndrome+4), *(Syndrome+6));  mul[1] = gmult(*(Syndrome+5), *(Syndrome+5));  return(gadd(mul[0], mul[1]));}unsigned int DetMB250(unsigned int *Syndrome){  unsigned int mul[2];  mul[0] = gmult(*(Syndrome+6), *(Syndrome+6));  mul[1] = gmult(*(Syndrome+5), *(Syndrome+7));  return(gadd(mul[0], mul[1]));}unsigned int DetMB251(unsigned int *Syndrome){  unsigned int mul[2];  mul[0] = gmult(*(Syndrome+4), *(Syndrome+7));  mul[1] = gmult(*(Syndrome+5), *(Syndrome+6));  return(gadd(mul[0], mul[1]));}

⌨️ 快捷键说明

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