pub struct EntropicTime { /* private fields */ }Expand description
A time model based on entropy-driven progression, suitable for emergent systems, self-organization, and irreversible state evolution.
Unlike clock-based time models (e.g., LorentzianTime), EntropicTime
defines time by the monotonic increase in system entropy, or more generally,
by the irreversible advancement of causal structure.
This makes it ideal for:
- Causal emergence
- Thermodynamic processes
- Symbolic systems with irreversible updates
- Planning systems where time is induced from transition irreversibility
§Fields
id: Unique identifierentropy_tick: Monotonically increasing entropy count (not physical time)
§Examples
use deep_causality::{EntropicTime, Temporal, TimeScale};
let t1 = EntropicTime::new(1, 0); // system start
let t2 = EntropicTime::new(2, 1); // one entropy event later
assert!(t1.time_unit() < t2.time_unit());Implementations§
Trait Implementations§
Source§impl Adjustable<u64> for EntropicTime
impl Adjustable<u64> for EntropicTime
Source§fn update<const W: usize, const H: usize, const D: usize, const C: usize>(
&mut self,
array_grid: &ArrayGrid<u64, W, H, D, C>,
) -> Result<(), UpdateError>
fn update<const W: usize, const H: usize, const D: usize, const C: usize>( &mut self, array_grid: &ArrayGrid<u64, W, H, D, C>, ) -> Result<(), UpdateError>
The default implementation does nothing to keep update optional.
Override this method to implement a node update when needed.
For a sample implementation, see src/types/context_types/node_types_adjustable
Source§fn adjust<const W: usize, const H: usize, const D: usize, const C: usize>(
&mut self,
array_grid: &ArrayGrid<u64, W, H, D, C>,
) -> Result<(), AdjustmentError>
fn adjust<const W: usize, const H: usize, const D: usize, const C: usize>( &mut self, array_grid: &ArrayGrid<u64, W, H, D, C>, ) -> Result<(), AdjustmentError>
The default implementation does nothing to keep adjustment optional.
Override this method to implement a node adjustment when needed.
Depending on the type of node adjustment, select a 1, 2,3, or 4 dimensional array grid
that contains the transformation data to apply to the node.
For a sample implementation, see src/types/context_types/node_types_adjustable
Source§impl Clone for EntropicTime
impl Clone for EntropicTime
Source§fn clone(&self) -> EntropicTime
fn clone(&self) -> EntropicTime
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EntropicTime
impl Debug for EntropicTime
Source§impl Display for EntropicTime
impl Display for EntropicTime
Source§impl From<EntropicTime> for TimeKind
impl From<EntropicTime> for TimeKind
Source§fn from(t: EntropicTime) -> Self
fn from(t: EntropicTime) -> Self
Converts to this type from the input type.
Source§impl Hash for EntropicTime
impl Hash for EntropicTime
Source§impl Identifiable for EntropicTime
impl Identifiable for EntropicTime
Source§impl PartialEq for EntropicTime
impl PartialEq for EntropicTime
Source§impl ScalarProjector for EntropicTime
impl ScalarProjector for EntropicTime
Source§impl Temporal<u64> for EntropicTime
impl Temporal<u64> for EntropicTime
impl Copy for EntropicTime
impl Eq for EntropicTime
impl StructuralPartialEq for EntropicTime
Auto Trait Implementations§
impl Freeze for EntropicTime
impl RefUnwindSafe for EntropicTime
impl Send for EntropicTime
impl Sync for EntropicTime
impl Unpin for EntropicTime
impl UnwindSafe for EntropicTime
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more