1 write to Zero
System.Text.RegularExpressions (1)
System\Text\RegularExpressions\Symbolic\BDD.cs (1)
71Zero = zero;
22 references to Zero
System.Text.RegularExpressions (22)
System\Text\RegularExpressions\Symbolic\BDD.cs (12)
85[MemberNotNullWhen(false, nameof(Zero))] 90Debug.Assert((One is null) == (Zero is null)); 123if (set.Zero.IsEmpty) //the bit must be set to 1 133set = set.Zero; 149(this == bdd || (Ordinal == bdd.Ordinal && One == bdd.One && Zero == bdd.Zero)); 223long v = (((long)node.Ordinal) << ordinal_shift) | (idmap[node.One] << one_node_shift) | (idmap[node.Zero] << zero_node_shift); 273if (visited.Add(node.Zero)) 274toVisit.Push(node.Zero); 428bdd = (input & (1 << bdd.Ordinal)) == 0 ? bdd.Zero : bdd.One; 494if (visited.Add(node.Zero)) 495toVisit.Push(node.Zero);
System\Text\RegularExpressions\Symbolic\BDDRangeConverter.cs (4)
105if (set.Zero.IsEmpty) 123else if (set.Zero.IsFull) 158(uint, uint)[] rangesL = LiftRanges(b, b - set.Zero.Ordinal - 1, ToRangesFromOrdinal(set.Zero));
System\Text\RegularExpressions\Symbolic\CharSetSolver.cs (6)
211_operationCache[key] = result = GetOrCreateBDD(set.Ordinal, Not(set.One), Not(set.Zero)); 266two = ApplyBinaryOp(op, set1, set2.Zero); 272two = ApplyBinaryOp(op, set1.Zero, set2); 278two = ApplyBinaryOp(op, set1.Zero, set2.Zero); 380BDD zero = ReplaceTrueImpl(bdd.Zero, leaf, cache);