3 instantiations of Vertex
System.Data.Entity (3)
System\Data\Common\Utils\Boolean\Solver.cs (1)
127Vertex result = new Vertex(variable, children);
System\Data\Common\Utils\Boolean\Vertex.cs (2)
65internal static readonly Vertex One = new Vertex(); 70internal static readonly Vertex Zero = new Vertex();
119 references to Vertex
System.Data.Entity (119)
System\Data\Common\Utils\Boolean\ConversionContext.cs (19)
33internal abstract Vertex TranslateTermToVertex(TermExpr<T_Identifier> term); 39internal abstract IEnumerable<LiteralVertexPair<T_Identifier>> GetSuccessors(Vertex vertex); 47internal readonly Vertex Vertex; 50internal LiteralVertexPair(Vertex vertex, Literal<T_Identifier> literal) 65internal override Vertex TranslateTermToVertex(TermExpr<T_Identifier> term) 76internal override IEnumerable<LiteralVertexPair<T_Identifier>> GetSuccessors(Vertex vertex) 81Vertex then = vertex.Children[0]; 82Vertex @else = vertex.Children[1]; 122internal override Vertex TranslateTermToVertex(TermExpr<DomainConstraint<T_Variable, T_Element>> term) 131return Vertex.Zero; 137return Vertex.One; 141Vertex[] children = domain.Select(element => range.Contains(element) ? Vertex.One : Vertex.Zero).ToArray(); 155internal override IEnumerable<LiteralVertexPair<DomainConstraint<T_Variable, T_Element>>> GetSuccessors(Vertex vertex) 164Dictionary<Vertex, Set<T_Element>> vertexToRange = new Dictionary<Vertex, Set<T_Element>>(); 168Vertex successorVertex = vertex.Children[i]; 180var successorVertex = vertexRange.Key;
System\Data\Common\Utils\Boolean\Converter.cs (3)
26private readonly Vertex _vertex; 37internal Vertex Vertex 133private void FindAllPaths(Vertex vertex, Set<CnfClause<T_Identifier>> cnfClauses, Set<DnfClause<T_Identifier>> dnfClauses,
System\Data\Common\Utils\Boolean\KnowledgeBase.cs (3)
38private Vertex _knowledge; 47_knowledge = Vertex.One; // we know '1', but nothing else at present 71Vertex factVertex = converter.Vertex;
System\Data\Common\Utils\Boolean\Solver.cs (55)
16using IfThenElseKey = Triple<Vertex, Vertex, Vertex>; 34readonly Dictionary<IfThenElseKey, Vertex> _computedIfThenElseValues = 35new Dictionary<IfThenElseKey, Vertex>(); 36readonly Dictionary<Vertex, Vertex> _knownVertices = 37new Dictionary<Vertex, Vertex>(VertexValueComparer.Instance); 40internal readonly static Vertex[] BooleanVariableChildren = new Vertex[] { Vertex.One, Vertex.Zero }; 49internal Vertex Not(Vertex vertex) 52return IfThenElse(vertex, Vertex.Zero, Vertex.One); 55internal Vertex And(IEnumerable<Vertex> children) 72.Aggregate(Vertex.One, (left, right) => IfThenElse(left, right, Vertex.Zero)); 75internal Vertex And(Vertex left, Vertex right) 78return IfThenElse(left, right, Vertex.Zero); 81internal Vertex Or(IEnumerable<Vertex> children) 98.Aggregate(Vertex.Zero, (left, right) => IfThenElse(left, Vertex.One, right)); 104internal Vertex CreateLeafVertex(int variable, Vertex[] children) 123private Vertex GetUniqueVertex(int variable, Vertex[] children) 127Vertex result = new Vertex(variable, children); 130Vertex canonicalResult; 145private Vertex IfThenElse(Vertex condition, Vertex then, Vertex @else) 173Vertex result; 190Vertex[] resultCases = new Vertex[topVariableDomainCount]; 226private static int DetermineTopVariable(Vertex condition, Vertex then, Vertex @else, out int topVariableDomainCount) 251private static Vertex EvaluateFor(Vertex vertex, int variable, int variableAssigment) 274private void AssertVerticesValid(IEnumerable<Vertex> vertices) 277foreach (Vertex vertex in vertices) 288private void AssertVertexValid(Vertex vertex) 296Vertex comparisonVertex; 308private class VertexValueComparer : IEqualityComparer<Vertex> 314public bool Equals(Vertex x, Vertex y) 339public int GetHashCode(Vertex vertex)
System\Data\Common\Utils\Boolean\Vertex.cs (11)
28sealed class Vertex : IEquatable<Vertex> 36this.Children = new Vertex[] { }; 39internal Vertex(int variable, Vertex[] children) 51private static void AssertConstructorArgumentsValid(int variable, Vertex[] children) 56foreach (Vertex child in children) 65internal static readonly Vertex One = new Vertex(); 70internal static readonly Vertex Zero = new Vertex(); 85internal readonly Vertex[] Children; 92return object.ReferenceEquals(Vertex.One, this); 100return object.ReferenceEquals(Vertex.Zero, this); 111public bool Equals(Vertex other)
System\Data\Common\Utils\Boolean\Visitor.cs (10)
243internal class ToDecisionDiagramConverter<T_Identifier> : Visitor<T_Identifier, Vertex> 253internal static Vertex TranslateToRobdd(BoolExpr<T_Identifier> expr, ConversionContext<T_Identifier> context) 261internal override Vertex VisitTrue(TrueExpr<T_Identifier> expression) 263return Vertex.One; 266internal override Vertex VisitFalse(FalseExpr<T_Identifier> expression) 268return Vertex.Zero; 271internal override Vertex VisitTerm(TermExpr<T_Identifier> expression) 276internal override Vertex VisitNot(NotExpr<T_Identifier> expression) 281internal override Vertex VisitAnd(AndExpr<T_Identifier> expression) 286internal override Vertex VisitOr(OrExpr<T_Identifier> expression)
System\Data\Mapping\FunctionImportMapping.cs (18)
284Vertex[] mappingConditions = ConvertMappingConditionsToVertices(converter, variables); 330private Vertex[] ConvertMappingConditionsToVertices( 334Vertex[] conditions = new Vertex[this.NormalizedEntityTypeMappings.Count]; 340Vertex condition = Vertex.One; 353Vertex isNullVertex = converter.TranslateTermToVertex(isNull); 372private Set<EntityType> FindReachableTypes(DomainConstraintConversionContext<string, ValueCondition> converter, Vertex[] mappingConditions) 377Vertex[] candidateFunctions = new Vertex[this.MappedEntityTypes.Count]; 381Vertex candidateFunction = Vertex.One; 405Vertex isExactlyThisTypeCondition = converter.Solver.And( 423private Set<EntityType> FindUnambiguouslyReachableTypes(DomainConstraintConversionContext<string, ValueCondition> converter, Vertex[] mappingConditions) 427Vertex[] candidateFunctions = new Vertex[this.MappedEntityTypes.Count]; 431Vertex candidateFunction = Vertex.One;