mce_qcmdpc: decrease decoding failure rate
The `online' modification of unsatisfied eqn counts caused increased rate of decoding failures (verified experimentally). Use the variant that doesn't modify the counts until next round.
This commit is contained in:
		
							parent
							
								
									035fef4882
								
							
						
					
					
						commit
						d8f358e8ed
					
				|  | @ -240,7 +240,7 @@ int privkey::decrypt (const bvector & in_orig, bvector & out, bvector & errors) | |||
| 	 * FFT would be a cool candidate. | ||||
| 	 */ | ||||
| 
 | ||||
| 	vector<unsigned> unsat; | ||||
| 	vector<unsigned> unsat, round_unsat; | ||||
| 	unsat.resize (cs, 0); | ||||
| 
 | ||||
| 	for (uint blk = 0; blk < blocks; ++blk) | ||||
|  | @ -263,8 +263,10 @@ int privkey::decrypt (const bvector & in_orig, bvector & out, bvector & errors) | |||
| 		uint threshold = 0; | ||||
| 		if (max_unsat > delta) threshold = max_unsat - delta; | ||||
| 
 | ||||
| 		round_unsat = unsat; | ||||
| 
 | ||||
| 		for (uint bit = 0; bit < cs; ++bit) { | ||||
| 			if (unsat[bit] <= threshold) continue; | ||||
| 			if (round_unsat[bit] <= threshold) continue; | ||||
| 
 | ||||
| 			/*
 | ||||
| 			 * heavy trickery starts here, we carefully | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue