123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package fsm
- // IsComplete verifies that every pair or states has a defined transition.
- //
- // Complexity: O(V) if the Matrix is the default map implementation.
- func IsComplete[SK, EK comparable, EV any](Matrix[SK, EK, EV]) bool {
- panic("not implemented")
- }
- // InCompleteWithoutSelfLoops verifies that every pair of different states has a defined transition,
- // but no same-state transition exists.
- func InCompleteWithoutSelfLoops[SK, EK comparable, EV any]() bool {
- panic("not implemented")
- }
- // IsReachable verifies that s2 is reachable from s1.
- func IsReachable[SK, EK comparable, EV any](s1, s2 State[SK, EK, EV]) bool {
- panic("not implemented")
- }
- // IsAccessible verifies that every state except initial is reachable from the initial state.
- func IsAccessible[SK, EK comparable, EV any]() bool {
- panic("not implemented")
- }
- // IsCoAccessible verifies that final state is reachable from any state except final.
- func IsCoAccessible[SK, EK comparable, EV any]() bool {
- panic("not implemented")
- }
- // IsTrimmed verifies that the matrix verifies both IsAccessible and IsCoAccessible.
- func IsTrimmed[SK, EK comparable, EV any]() bool {
- panic("not implemented")
- }
- // IsStronglyConnected verifies that every state is reachable from every other.
- //
- // Minimal Complexity O(V+E) using DFS (Tarjan or Kosaraju)
- func IsStronglyConnected[SK, EK comparable, EV any]() bool {
- panic("not implemented")
- }
- // IsFSMContextCancellable verifies that the context on a FSM is set to a context
- // that includes a cancelCtx.
- //
- // WARNING: this assumes that all context stacked above it implement the context.stringer interface
- // and respect the unofficial context package naming convention for implementations of that interface.
- // All types in stdlib context do, but customer context implementations might not.
- func IsFSMContextCancellable[SK, EK comparable, EV any](FSM[SK, EK, EV]) bool {
- panic("not implemented")
- }
|