public override int GetHashCode() { unchecked { var hashCode = RoomsCanTouch.GetHashCode(); hashCode = (hashCode * 397) ^ EarlyStopIfIterationsExceeded.GetHashCode(); hashCode = (hashCode * 397) ^ EarlyStopIfTimeExceeded.GetHashCode(); hashCode = (hashCode * 397) ^ RepeatModeOverride.GetHashCode(); hashCode = (hashCode * 397) ^ ThrowIfRepeatModeNotSatisfied.GetHashCode(); hashCode = (hashCode * 397) ^ (ChainDecompositionConfiguration != null ? ChainDecompositionConfiguration.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (SimulatedAnnealingConfiguration != null ? SimulatedAnnealingConfiguration.GetHashCode() : 0); hashCode = (hashCode * 397) ^ SimulatedAnnealingMaxBranching; return(hashCode); } }
public static RepeatMode?GetRepeatMode(RepeatModeOverride repeatModeOverride) { switch (repeatModeOverride) { case RepeatModeOverride.NoOverride: return(null); case RepeatModeOverride.AllowRepeat: return(RepeatMode.AllowRepeat); case RepeatModeOverride.NoImmediate: return(RepeatMode.NoImmediate); case RepeatModeOverride.NoRepeat: return(RepeatMode.NoRepeat); default: throw new ArgumentOutOfRangeException(); } }