diff options
Diffstat (limited to 'src/solvers/gpusolver.rs')
-rw-r--r-- | src/solvers/gpusolver.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/solvers/gpusolver.rs b/src/solvers/gpusolver.rs index 0ddc4a6..dc54bda 100644 --- a/src/solvers/gpusolver.rs +++ b/src/solvers/gpusolver.rs @@ -81,7 +81,11 @@ impl GpuSolver { }); } else { for j in 0..self.chunk { - new_num[index] = i * self.chunk + j; + let n_i = i * self.chunk + j; + if curr_mask & (1 << (self.permutations[n_i as usize][0] + 1)) > 0 { + continue; + } + new_num[index] = n_i; self.permute( index + 1, curr_mask | self.masks[new_num[index] as usize], |