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 + -
显示快捷键?