Lines Matching refs:rs

820 		$rs = $this->init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el);
831 $ecc = $this->encode_rs_char($rs, $this->rsblocks[$blockNo]['data'], $ecc);
843 $rs = $this->init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el);
844 if ($rs == NULL) {
854 $ecc = $this->encode_rs_char($rs, $this->rsblocks[$blockNo]['data'], $ecc);
2662 foreach ($this->rsitems as $rs) {
2663 if (($rs['pad'] != $pad) OR ($rs['nroots'] != $nroots) OR ($rs['mm'] != $symsize)
2664 OR ($rs['gfpoly'] != $gfpoly) OR ($rs['fcr'] != $fcr) OR ($rs['prim'] != $prim)) {
2667 return $rs;
2669 $rs = $this->init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad);
2670 array_unshift($this->rsitems, $rs);
2671 return $rs;
2684 protected function modnn($rs, $x) { argument
2685 while ($x >= $rs['nn']) {
2686 $x -= $rs['nn'];
2687 $x = ($x >> $rs['mm']) + ($x & $rs['nn']);
2704 $rs = null;
2707 return $rs;
2710 return $rs;
2713 return $rs;
2716 return $rs;
2719 return $rs;
2721 $rs = array();
2722 $rs['mm'] = $symsize;
2723 $rs['nn'] = (1 << $symsize) - 1;
2724 $rs['pad'] = $pad;
2725 $rs['alpha_to'] = array_fill(0, ($rs['nn'] + 1), 0);
2726 $rs['index_of'] = array_fill(0, ($rs['nn'] + 1), 0);
2728 $NN =& $rs['nn'];
2731 $rs['index_of'][0] = $A0; // log(zero) = -inf
2732 $rs['alpha_to'][$A0] = 0; // alpha**-inf = 0
2734 for ($i=0; $i<$rs['nn']; ++$i) {
2735 $rs['index_of'][$sr] = $i;
2736 $rs['alpha_to'][$i] = $sr;
2741 $sr &= $rs['nn'];
2748 $rs['genpoly'] = array_fill(0, ($nroots + 1), 0);
2749 $rs['fcr'] = $fcr;
2750 $rs['prim'] = $prim;
2751 $rs['nroots'] = $nroots;
2752 $rs['gfpoly'] = $gfpoly;
2754 for ($iprim=1; ($iprim % $prim) != 0; $iprim += $rs['nn']) {
2757 $rs['iprim'] = (int)($iprim / $prim);
2758 $rs['genpoly'][0] = 1;
2760 $rs['genpoly'][$i+1] = 1;
2763 if ($rs['genpoly'][$j] != 0) {
2764 …$rs['genpoly'][$j] = $rs['genpoly'][$j-1] ^ $rs['alpha_to'][$this->modnn($rs, $rs['index_of'][$rs[…
2766 $rs['genpoly'][$j] = $rs['genpoly'][$j-1];
2770 …$rs['genpoly'][0] = $rs['alpha_to'][$this->modnn($rs, $rs['index_of'][$rs['genpoly'][0]] + $root)];
2774 $rs['genpoly'][$i] = $rs['index_of'][$rs['genpoly'][$i]];
2776 return $rs;
2786 protected function encode_rs_char($rs, $data, $parity) { argument
2787 $MM =& $rs['mm']; // bits per symbol
2788 $NN =& $rs['nn']; // the total number of symbols in a RS block
2789 …$ALPHA_TO =& $rs['alpha_to']; // the address of an array of NN elements to convert Galois field el…
2790 …$INDEX_OF =& $rs['index_of']; // the address of an array of NN elements to convert Galois field el…
2791 …$GENPOLY =& $rs['genpoly']; // an array of NROOTS+1 elements containing the generator polynomial …
2792 …$NROOTS =& $rs['nroots']; // the number of roots in the RS code generator polynomial, which is t…
2793 $FCR =& $rs['fcr']; // first consecutive root, index form
2794 $PRIM =& $rs['prim']; // primitive element, index form
2795 $IPRIM =& $rs['iprim']; // prim-th root of 1, index form
2796 $PAD =& $rs['pad']; // the number of pad symbols in a block
2805 $feedback = $this->modnn($rs, $NN - $GENPOLY[$NROOTS] + $feedback);
2807 $parity[$j] ^= $ALPHA_TO[$this->modnn($rs, $feedback + $GENPOLY[($NROOTS - $j)])];
2813 array_push($parity, $ALPHA_TO[$this->modnn($rs, $feedback + $GENPOLY[0])]);