Beispiel #1
0
        /// <summary>
        /// Returns a random integer number between min and max.
        /// </summary>
        public static int Range(int min, int max, EInclusion mode)
        {
            if (!mode.Minor())
            {
                min++;
            }

            if (!mode.Major())
            {
                max--;
            }

            return(Int(min, max));
        }
Beispiel #2
0
        /// <summary>
        /// Returns values between min and max.
        /// </summary>
        public static K Outside <T, K>(IRange <T> range, ICollection <T> values, EInclusion mode = EInclusion.Inclusive)
            where T : IComparable, IComparable <T>
            where K : ICollection <T>, new()
        {
            K inside = new K();

            foreach (T value in values)
            {
                if (!Between(range.Min, range.Max, value))
                {
                    inside.Add(value);
                }
            }

            return(inside);
        }
Beispiel #3
0
        /// <summary>
        ///
        /// </summary>
        public static bool Major <T>(this EInclusion inclusion, T max, T value) where T : IComparable, IComparable <T>
        {
            int comparison = max.CompareTo(value);

            if (comparison < 0)
            {
                return(false);
            }

            if (comparison > 0)
            {
                return(true);
            }

            return(inclusion.Major());
        }
Beispiel #4
0
 /// <summary>
 /// Returns if a value is between a range.
 /// </summary>
 public static bool Between <T>(IRange <T> range, T value, EInclusion mode = EInclusion.Inclusive)
     where T : IComparable, IComparable <T>
 {
     return(mode.Minor(range.Min, value) && mode.Major(range.Max, value));
 }
Beispiel #5
0
 /// <summary>
 /// Returns if a value is between min and max.
 /// </summary>
 public static bool Between <T>(T min, T max, T value, EInclusion mode = EInclusion.Inclusive)
     where T : IComparable, IComparable <T>
 {
     return(mode.Minor(min, value) && mode.Major(max, value));
 }
Beispiel #6
0
 /// <summary>
 ///
 /// </summary>
 public static bool Major(this EInclusion inclusion)
 {
     //return inclusion == EInclusion.Inclusive || inclusion == EInclusion.Exclusive_Inclusive;
     return(((int)inclusion | 2) == 3);
 }
Beispiel #7
0
 /// <summary>
 ///
 /// </summary>
 public static bool Minor(this EInclusion inclusion)
 {
     //return inclusion == EInclusion.Inclusive || inclusion == EInclusion.Inclusive_Exclusive;
     return(((int)inclusion | 1) == 3);
 }