Struct StateMachineOptimizationParams<TState>
- Namespace
- LfrlAnvil.Computable.Automata
- Assembly
- LfrlAnvil.Computable.Automata.dll
Represents parameters of state machine optimization.
public readonly struct StateMachineOptimizationParams<TState>
Type Parameters
TState
State type.
- Inherited Members
Properties
Level
Chosen StateMachineOptimization level.
public StateMachineOptimization Level { get; }
Property Value
StateMerger
Optional state merger used in Minimize level that creates a single state out of two merged states.
public Func<TState, TState, TState>? StateMerger { get; }
Property Value
- Func<TState, TState, TState>
Methods
Minimize(Func<TState, TState, TState>)
Creates a new StateMachineOptimizationParams<TState> instance with Minimize level.
[Pure]
public static StateMachineOptimizationParams<TState> Minimize(Func<TState, TState, TState> stateMerger)
Parameters
stateMerger
Func<TState, TState, TState>State merger that creates a single state out of two merged states.
Returns
- StateMachineOptimizationParams<TState>
New StateMachineOptimizationParams<TState> instance.
None()
Creates a new StateMachineOptimizationParams<TState> instance with None level.
[Pure]
public static StateMachineOptimizationParams<TState> None()
Returns
- StateMachineOptimizationParams<TState>
New StateMachineOptimizationParams<TState> instance.
RemoveUnreachableStates()
Creates a new StateMachineOptimizationParams<TState> instance with RemoveUnreachableStates level.
[Pure]
public static StateMachineOptimizationParams<TState> RemoveUnreachableStates()
Returns
- StateMachineOptimizationParams<TState>
New StateMachineOptimizationParams<TState> instance.
ToString()
Returns a string representation of this StateMachineOptimizationParams<TState> instance.
[Pure]
public override string ToString()
Returns
- string
String representation.