/// <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); }
/// <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); }