/// <summary> /// Constructor. Generate an interval from the given values. /// </summary> /// <param name="value">First value.</param> /// <param name="values">Optionnal values.</param> public Interval(T value, params T[] values) { Options = IncludingOptions.INCLUDE_BOTH; var mi = Utilities.Min(values); var ma = Utilities.Max(values); Minimum = Utilities.Min(value, mi); Maximum = Utilities.Max(value, ma); }
/// <summary> /// Constructor. Generate an interval from the given values and the given including option. /// </summary> /// <param name="options">How the borders are managed.</param> /// <param name="value">First value.</param> /// <param name="values">Optionnal values.</param> public Interval(IncludingOptions options, T value, params T[] values) { Options = options; var mi = Utilities.Min(values); var ma = Utilities.Max(values); Minimum = Utilities.Min(value, mi); Maximum = Utilities.Max(value, ma); }
public Interval(SerializationInfo info, StreamingContext context) { Minimum = (T)info.GetValue("Minimum", typeof(T)); Maximum = (T)info.GetValue("Maximum", typeof(T)); Options = (IncludingOptions)info.GetValue("Options", typeof(IncludingOptions)); }
/// <summary> /// Copy constructor. /// </summary> /// <param name="copy">Interval to copy.</param> public Interval(Interval <T> copy) { Options = copy.Options; Maximum = copy.Maximum; Minimum = copy.Minimum; }