use crate::errors::{AdjustmentError, UpdateError};
use deep_causality_data_structures::ArrayGrid;
pub trait Adjustable<T>
where
T: Copy + Default,
{
fn update<const WIDTH: usize, const HEIGHT: usize, const DEPTH: usize, const TIME: usize>(
&mut self,
_array_grid: &ArrayGrid<T, WIDTH, HEIGHT, DEPTH, TIME>,
) -> Result<(), UpdateError> {
Ok(())
}
fn adjust<const WIDTH: usize, const HEIGHT: usize, const DEPTH: usize, const TIME: usize>(
&mut self,
_array_grid: &ArrayGrid<T, WIDTH, HEIGHT, DEPTH, TIME>,
) -> Result<(), AdjustmentError> {
Ok(())
}
}
pub trait UncertainAdjustable {
type Data;
fn update(&mut self, _uncertain: Self::Data) -> Result<(), AdjustmentError> {
Ok(())
}
fn adjust(&mut self, _uncertain: Self::Data) -> Result<(), AdjustmentError> {
Ok(())
}
}