diff options
author | Dennis Kobert <dennis@kobert.dev> | 2020-01-05 22:31:38 +0100 |
---|---|---|
committer | Dennis Kobert <dennis@kobert.dev> | 2020-01-05 22:31:38 +0100 |
commit | c583ee4faa552962594f7d5bf9b57bf62b6db5c0 (patch) | |
tree | df4061553ee2ebb6807084d92856606359500952 /src/solvers/mod.rs | |
parent | 920a6729577d14ba9190abcb3a2c4087652228a4 (diff) |
Expand GPU impemetation
Diffstat (limited to 'src/solvers/mod.rs')
-rwxr-xr-x | src/solvers/mod.rs | 25 |
1 files changed, 1 insertions, 24 deletions
diff --git a/src/solvers/mod.rs b/src/solvers/mod.rs index 0615eab..6eb2ec4 100755 --- a/src/solvers/mod.rs +++ b/src/solvers/mod.rs @@ -1,27 +1,4 @@ //pub mod incremental_block; pub mod intuitive; -#[cfg(feature = "gpu")] +//#[cfg(feature = "gpu")] pub mod opencl; - -lazy_static! { - pub static ref PERMUTATIONS: (Vec<Vec<u32>>, Vec<u64>) = { - let n = crate::N; - let mut heap = (1..=n).collect::<Vec<u32>>(); - let heap = permutohedron::Heap::new(&mut heap); - let n_f = permutohedron::factorial(n as usize); - let mut permutations = Vec::with_capacity(n_f); - - let mut masks: Vec<u64> = vec![0; n_f]; - println!("Generating permutations"); - for (j, data) in heap.enumerate() { - let mut sum = 0; - permutations.push(data.clone()); - for stone in data.iter().take(n as usize - 1) { - sum += stone; - masks[j] |= 1 << sum; - } - } - (permutations, masks) - }; -} - |