##// END OF EJS Templates
Added ResetState to RunnableComponent to reset in case of failure...
Added ResetState to RunnableComponent to reset in case of failure Added StateChanged event to IRunnable Renamed Promise.SUCCESS -> Promise.Success Added Promise.FromException Renamed Bundle -> PromiseAll in PromiseExtensions

File last commit:

r205:8200ab154c8a v2
r205:8200ab154c8a v2
Show More
AutomatonTransition.cs
41 lines | 1.1 KiB | text/x-csharp | CSharpLexer
using System;
namespace Implab.Automaton {
public struct AutomatonTransition : IEquatable<AutomatonTransition> {
public readonly int s1;
public readonly int s2;
public readonly int edge;
public AutomatonTransition(int s1, int s2, int edge) {
this.s1 = s1;
this.s2 = s2;
this.edge = edge;
}
#region IEquatable implementation
public bool Equals(AutomatonTransition other) {
return other.s1 == s1 && other.s2 == s2 && other.edge == edge ;
}
#endregion
public override bool Equals(object obj) {
if (obj is AutomatonTransition)
return Equals((AutomatonTransition)obj);
return base.Equals(obj);
}
public override int GetHashCode() {
return s1 + s2 + edge;
}
public static bool operator == (AutomatonTransition rv, AutomatonTransition lv) {
return rv.Equals(lv);
}
public static bool operator !=(AutomatonTransition rv, AutomatonTransition lv) {
return rv.Equals(lv);
}
}
}