/// <summary>
        /// AKA multimeb
        /// </summary>
        /// <param name="bit"></param>
        /// <param name="args"></param>
        /// <returns></returns>
        public static ExtendedBitvector MultiMeb(int bit, params int[] args)
        {
            var bits = new ExtendedBitvector();

            bits.ClearBits();

            if (bit < 0)
            {
                return(bits);
            }

            bits.SetBit(bit);

            foreach (var arg in args)
            {
                bits.SetBit(arg);
            }

            return(bits);
        }
        /// <summary>
        /// AKA meb
        /// </summary>
        /// <param name="bit"></param>
        public static ExtendedBitvector Meb(int bit)
        {
            var bits = new ExtendedBitvector();

            bits.ClearBits();

            if (bit >= 0)
            {
                bits.SetBit(bit);
            }

            return(bits);
        }
Beispiel #3
0
        /// <summary>
        /// Converts the given string to a bitvector
        /// </summary>
        /// <param name="argument"></param>
        /// <returns></returns>
        public static ExtendedBitvector ToBitvector(this string argument)
        {
            ExtendedBitvector bit = new ExtendedBitvector();
            int x = 0;

            List <string> untrimmed = argument.TrimEnd('~').Split('&').ToList();

            List <string> numbers = new List <string>();

            untrimmed.ForEach(s => numbers.Add(s.Trim()));

            foreach (string number in numbers)
            {
                if (!int.TryParse(number, out int num))
                {
                    continue;
                }

                bit.SetBit(num);
                ++x;
            }

            return(bit);
        }