diff options
author | natrixaeria <upezu@student.kit.edu> | 2020-01-05 21:47:19 +0100 |
---|---|---|
committer | natrixaeria <upezu@student.kit.edu> | 2020-01-05 21:47:19 +0100 |
commit | 85627bc39db56d1ca3dca747535afcf6fd9cdcdd (patch) | |
tree | 80dcd562180573d0a81456ca6cc49ec6faa09d88 /src/solver.rs | |
parent | 920a6729577d14ba9190abcb3a2c4087652228a4 (diff) |
Create GpuSolver
Diffstat (limited to 'src/solver.rs')
-rwxr-xr-x | src/solver.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/solver.rs b/src/solver.rs index 809ddb4..db4e732 100755 --- a/src/solver.rs +++ b/src/solver.rs @@ -8,10 +8,16 @@ pub fn wall_stats(n: u32) -> (u32, u32) { pub trait Solver { fn new(n: u32) -> Self; - fn solve(&mut self) -> StoneWall; fn n(&self) -> u32; - fn h(&self) -> u32; - fn w(&self) -> u32; } + +pub trait FirstSolver { + fn solve(self) -> StoneWall; +} + +pub trait IteratorSolver: Solver { + type IntoIter: Iterator<Item=StoneWall>; + fn solve(self) -> Self::IntoIter; +} |