From 8708a172ebe59d3189b8b9d756abd9da8dc509a3 Mon Sep 17 00:00:00 2001 From: Dennis Kobert Date: Sun, 12 Jan 2020 09:51:22 +0100 Subject: Allow to use teh iterator for results --- src/solvers/gpu/mod.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/solvers/gpu/mod.rs') diff --git a/src/solvers/gpu/mod.rs b/src/solvers/gpu/mod.rs index 2c7f69d..e89f033 100644 --- a/src/solvers/gpu/mod.rs +++ b/src/solvers/gpu/mod.rs @@ -7,14 +7,19 @@ pub use manager::*; type MaskMessage = (u64, u32, Vec); type RowMessage = (u64, Vec>); +#[derive(Debug)] pub enum Message { CheckRequest(CheckRequest), HostMessage(MaskMessage), OutputMessage(RowMessage), ResultMessage(ResultMessage), + RowResult(RowResult), Terminate, + CpuDone, + GpuDone, } +#[derive(Debug)] pub struct ResultMessage { data: Vec, offset: usize, @@ -48,6 +53,7 @@ impl ResultMessage { } } +#[derive(Debug)] pub struct CheckRequest { rows: Vec, bitmask: u64, @@ -63,3 +69,19 @@ impl CheckRequest { } } } + +#[derive(Clone, PartialEq, Eq, Hash, Debug)] +pub struct RowResult { + rows: Vec, +} + +impl RowResult { + fn new(mut rows: Vec) -> Self { + rows.push(0); + rows.sort(); + Self { rows } + } + fn output(&self) { + println!("{:?}", self.rows); + } +} -- cgit v1.2.3-54-g00ecf