UniformCausalGraph

Type Alias UniformCausalGraph 

Source
pub type UniformCausalGraph = CausaloidGraph<Causaloid<bool, bool, (), Arc<RwLock<UniformContext>>>>;
Expand description

A type alias for a CausaloidGraph composed of UniformCausaloid instances.

This alias provides a convenient shorthand for defining a causal graph where each node (causaloid) adheres to a “uniform” configuration. This means it utilizes abstract “kind” enums for its spatial, temporal, and symbolic contexts, offering flexibility while maintaining a consistent type signature.

Specifically, UniformCausalGraph is a CausaloidGraph parameterized by a Causaloid that uses the following types for its generic parameters:

  • Data<NumberType>: Represents the data component associated with each causaloid. NumberType is a generic numeric type, typically an alias for a floating-point or integer, allowing for flexible data representation.
  • SpaceKind: Defines the spatial context using an abstract SpaceKind enum. This allows the causaloids within the graph to operate with various spatial representations (e.g., EuclideanSpace, EcefSpace, NedSpace, GeoSpace) without changing the graph’s type signature, providing uniformity across different spatial contexts.
  • TimeKind: Specifies the temporal context using an abstract TimeKind enum. This enables the causaloids to handle different temporal representations (e.g., EuclideanTime, DiscreteTime, EntropicTime, LorentzianTime) flexibly, offering a uniform temporal interface.
  • SpaceTimeKind: Combines the spatial and temporal contexts into a unified spacetime representation using an abstract SpaceTimeKind enum, allowing for various spacetime geometries (e.g., EuclideanSpacetime, LorentzianSpacetime, MinkowskiSpacetime) in a uniform manner.
  • SymbolKind: Provides a basic symbolic representation for the causaloids using an abstract SymbolKind enum, useful for labeling, identification, or abstract reasoning across different symbolic types.
  • FloatType (x2): Two FloatType parameters, typically used for internal calculations, scalar values, or other generic numerical requirements within the Causaloid structure, such as probabilities, weights, or magnitudes. FloatType is generally an alias for a standard floating-point type.

This UniformCausalGraph is designed for general-purpose use cases where a flexible yet consistent graph structure is required. It promotes code reusability and simplifies type declarations when the exact concrete type of a context component is not fixed but rather belongs to a set of predefined “kinds”.

Aliased Type§

pub struct UniformCausalGraph { /* private fields */ }