From 7f2463a49d44b9023806909ffbce4472da23d05d Mon Sep 17 00:00:00 2001 From: RussellBentley Date: Sat, 28 Dec 2024 21:50:44 -0500 Subject: [PATCH] Require DomainView to be Sync --- src/domain/bc/periodic.rs | 7 ++----- src/domain/view/mod.rs | 2 +- src/par_stencil.rs | 2 +- src/solver/direct.rs | 2 +- src/solver/periodic_direct.rs | 2 +- src/solver/trapezoid.rs | 2 +- 6 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/domain/bc/periodic.rs b/src/domain/bc/periodic.rs index a7cfdf9..750c382 100644 --- a/src/domain/bc/periodic.rs +++ b/src/domain/bc/periodic.rs @@ -20,11 +20,8 @@ impl< } } -impl< - const GRID_DIMENSION: usize, - DomainType: DomainView + Sync, - > BCCheck - for PeriodicCheck<'_, GRID_DIMENSION, DomainType> +impl> + BCCheck for PeriodicCheck<'_, GRID_DIMENSION, DomainType> { fn check(&self, world_coord: &Coord) -> Option { let p_coord = &self.domain.aabb().periodic_coord(world_coord); diff --git a/src/domain/view/mod.rs b/src/domain/view/mod.rs index dff08fe..ef71444 100644 --- a/src/domain/view/mod.rs +++ b/src/domain/view/mod.rs @@ -9,7 +9,7 @@ pub use slice::*; use crate::util::*; use rayon::prelude::*; -pub trait DomainView { +pub trait DomainView: Sync { fn aabb(&self) -> &AABB; fn set_aabb(&mut self, aabb: AABB); diff --git a/src/par_stencil.rs b/src/par_stencil.rs index ddd660f..29ae3a4 100644 --- a/src/par_stencil.rs +++ b/src/par_stencil.rs @@ -8,7 +8,7 @@ pub fn apply< Operation, const GRID_DIMENSION: usize, const NEIGHBORHOOD_SIZE: usize, - DomainType: DomainView + Sync, + DomainType: DomainView, >( bc: &BC, stencil: &StencilF64, diff --git a/src/solver/direct.rs b/src/solver/direct.rs index 0c14b4e..c6e4ccc 100644 --- a/src/solver/direct.rs +++ b/src/solver/direct.rs @@ -7,7 +7,7 @@ pub fn box_apply< Operation, const GRID_DIMENSION: usize, const NEIGHBORHOOD_SIZE: usize, - DomainType: DomainView + Sync, + DomainType: DomainView, >( bc: &BC, stencil: &StencilF64, diff --git a/src/solver/periodic_direct.rs b/src/solver/periodic_direct.rs index 5d5b5b4..f75bb80 100644 --- a/src/solver/periodic_direct.rs +++ b/src/solver/periodic_direct.rs @@ -6,7 +6,7 @@ pub fn direct_periodic_apply< Operation, const GRID_DIMENSION: usize, const NEIGHBORHOOD_SIZE: usize, - DomainType: DomainView + Sync, + DomainType: DomainView, >( stencil: &StencilF64, input: &mut DomainType, diff --git a/src/solver/trapezoid.rs b/src/solver/trapezoid.rs index 0da3603..7be309c 100644 --- a/src/solver/trapezoid.rs +++ b/src/solver/trapezoid.rs @@ -22,7 +22,7 @@ pub fn trapezoid_apply< Operation, const GRID_DIMENSION: usize, const NEIGHBORHOOD_SIZE: usize, - DomainType: DomainView + Sync, + DomainType: DomainView, >( bc: &BC, stencil: &StencilF64,