7 instantiations of BitVector
System.Text.RegularExpressions (7)
System\Text\RegularExpressions\Symbolic\BitVector.cs (7)
49public static BitVector CreateFalse(int length) => new BitVector(length); 54var bv = new BitVector(length); 63var bv = new BitVector(length); 100return new BitVector(x.Length, blocks); 117return new BitVector(x.Length, blocks); 137return new BitVector(firstOther.Length, blocks); 151var bv = new BitVector(x.Length, blocks);
67 references to BitVector
System.Text.RegularExpressions (67)
System\Text\RegularExpressions\Symbolic\BitVector.cs (32)
16internal struct BitVector : IComparable<BitVector>, IEquatable<BitVector> 29/// <summary>Initializes the <see cref="BitVector"/> to be of the specified length and contain all false bits.</summary> 38/// <summary>Initializes the <see cref="BitVector"/> with the specified length and blocks.</summary> 48/// <summary>Creates a <see cref="BitVector"/> of the specified length containing all bits not set.</summary> 49public static BitVector CreateFalse(int length) => new BitVector(length); 51/// <summary>Creates a <see cref="BitVector"/> of the specified length containing all bits set.</summary> 52public static BitVector CreateTrue(int length) 54var bv = new BitVector(length); 60/// <summary>Creates a <see cref="BitVector"/> of the specified length containing all bits not set except for the specified bit, which is set.</summary> 61public static BitVector CreateSingleBit(int length, int i) 63var bv = new BitVector(length); 86/// <summary>Create a new <see cref="BitVector"/> that is the bitwise-and of the two input vectors.</summary> 87public static BitVector And(BitVector x, BitVector y) 103/// <summary>Create a new <see cref="BitVector"/> that is the bitwise-or of the two input vectors.</summary> 104public static BitVector Or(BitVector x, BitVector y) 120/// <summary>Create a new <see cref="BitVector"/> that is the bitwise-or of the input vectors.</summary> 121public static BitVector Or(ReadOnlySpan<BitVector> bitVectors) 125BitVector firstOther = bitVectors[0]; 128foreach (BitVector other in bitVectors) 140/// <summary>Create a new <see cref="BitVector"/> that is the bitwise-not of the input vector.</summary> 141public static BitVector Not(BitVector x) 151var bv = new BitVector(x.Length, blocks); 187obj is BitVector other && Equals(other); 189public bool Equals(BitVector other) => 193public int CompareTo(BitVector other) =>
System\Text\RegularExpressions\Symbolic\BitVectorSolver.cs (30)
7internal sealed class BitVectorSolver : ISolver<BitVector> 11private readonly BitVector[] _mintermVectors; 19var singleBitVectors = new BitVector[minterms.Length]; 22singleBitVectors[i] = BitVector.CreateSingleBit(minterms.Length, i); 26Empty = BitVector.CreateFalse(minterms.Length); 27Full = BitVector.CreateTrue(minterms.Length); 30public BitVector Empty { get; } 31public BitVector Full { get; } 33public bool IsFull(BitVector set) => set.Equals(Full); 35public bool IsEmpty(BitVector set) => set.Equals(Empty); 37public BitVector And(BitVector set1, BitVector set2) => BitVector.And(set1, set2); 39public BitVector Not(BitVector set) => BitVector.Not(set); 41public BitVector Or(ReadOnlySpan<BitVector> sets) => BitVector.Or(sets); 43public BitVector Or(BitVector set1, BitVector set2) => BitVector.Or(set1, set2); 49public BitVector ConvertFromBDD(BDD set, CharSetSolver solver) 53BitVector result = Empty; 58result = BitVector.Or(result, _mintermVectors[i]); 65public BitVector[] GetMinterms() => _mintermVectors; 69public string PrettyPrint(BitVector bv, CharSetSolver solver) => solver.PrettyPrint(ConvertToBDD(bv, solver)); 71public BDD ConvertToBDD(BitVector set, CharSetSolver solver)
System\Text\RegularExpressions\Symbolic\MintermGenerator.cs (1)
11/// <typeparam name="TSet">The type of set of elements (typically <see cref="BDD"/>, <see cref="BitVector"/> for more than 64 elements, or <see cref="ulong"/> for 64 or fewer elements).</typeparam>
System\Text\RegularExpressions\Symbolic\SymbolicRegexRunnerFactory.cs (4)
11/// <summary>A SymbolicRegexMatcher of either ulong or <see cref="BitVector"/> depending on the number of minterms.</summary> 43SymbolicRegexMatcher<BitVector>.Create(regexTree.CaptureCount, regexTree.FindOptimizations, bddBuilder, rootNode, new BitVectorSolver(minterms), matchTimeout) : 50new Runner<BitVector>((SymbolicRegexMatcher<BitVector>)_matcher);