8 implementations of Related
Microsoft.CodeAnalysis.CSharp (8)
Utilities\ValueSetFactory.BoolValueSetFactory.cs (1)
28public IValueSet<bool> Related(BinaryOperatorKind relation, bool value)
Utilities\ValueSetFactory.DecimalValueSetFactory.cs (1)
21public IValueSet<decimal> Related(BinaryOperatorKind relation, decimal value) => _underlying.Related(relation, DecimalTC.Normalize(value));
Utilities\ValueSetFactory.EnumeratedValueSetFactory.cs (1)
27public IValueSet<T> Related(BinaryOperatorKind relation, T value)
Utilities\ValueSetFactory.FloatingValueSetFactory.cs (1)
24public IValueSet<TFloating> Related(BinaryOperatorKind relation, TFloating value) =>
Utilities\ValueSetFactory.NintValueSetFactory.cs (1)
23public IValueSet<int> Related(BinaryOperatorKind relation, int value)
Utilities\ValueSetFactory.NonNegativeIntValueSetFactory.cs (1)
25public IValueSet<int> Related(BinaryOperatorKind relation, int value)
Utilities\ValueSetFactory.NuintValueSetFactory.cs (1)
23public IValueSet<uint> Related(BinaryOperatorKind relation, uint value)
Utilities\ValueSetFactory.NumericValueSetFactory.cs (1)
29public IValueSet<T> Related(BinaryOperatorKind relation, T value)
111 references to Related
Microsoft.CodeAnalysis.CSharp (2)
Binder\DecisionDagBuilder.cs (1)
2255var possibleValues = fac.Related(BinaryOperatorKind.LessThanOrEqual, int.MaxValue - offset);
Utilities\ValueSetFactory.DecimalValueSetFactory.cs (1)
21public IValueSet<decimal> Related(BinaryOperatorKind relation, decimal value) => _underlying.Related(relation, DecimalTC.Normalize(value));
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (109)
Utilities\ValueSetTests.cs (109)
36IValueSet<int> values = ForInt.Related(GreaterThanOrEqual, i1); 46IValueSet<int> values = ForInt.Related(GreaterThanOrEqual, i1); 65IValueSet<int> values = ForInt.Related(GreaterThan, i1); 75IValueSet<int> values = ForInt.Related(GreaterThan, i1); 94IValueSet<int> values = ForInt.Related(LessThanOrEqual, i1); 104IValueSet<int> values = ForInt.Related(LessThanOrEqual, i1); 123IValueSet<int> values = ForInt.Related(LessThan, i1); 133IValueSet<int> values = ForInt.Related(LessThan, i1); 152IValueSet<int> values = ForInt.Related(Equal, i1); 162IValueSet<int> values = ForInt.Related(Equal, i1); 175IValueSet<int> values1 = ForInt.Related(GreaterThanOrEqual, i1).Intersect(ForInt.Related(LessThanOrEqual, i2)); 177IValueSet<int> values2 = ForInt.Related(LessThanOrEqual, i2).Intersect(ForInt.Related(GreaterThanOrEqual, i1)); 191IValueSet<int> values1 = ForInt.Related(GreaterThanOrEqual, i1).Intersect(ForInt.Related(LessThanOrEqual, i2)); 193IValueSet<int> values2 = ForInt.Related(LessThanOrEqual, i2).Intersect(ForInt.Related(GreaterThanOrEqual, i1)); 207IValueSet<int> values1 = ForInt.Related(LessThanOrEqual, i1).Union(ForInt.Related(GreaterThanOrEqual, i2)); 209IValueSet<int> values2 = ForInt.Related(GreaterThanOrEqual, i2).Union(ForInt.Related(LessThanOrEqual, i1)); 222IValueSet<int> values1 = ForInt.Related(LessThanOrEqual, i1).Union(ForInt.Related(GreaterThanOrEqual, i2)); 224IValueSet<int> values2 = ForInt.Related(GreaterThanOrEqual, i2).Union(ForInt.Related(LessThanOrEqual, i1)); 238IValueSet<int> values1 = ForInt.Related(LessThanOrEqual, i1).Union(ForInt.Related(GreaterThanOrEqual, i2)); 254IValueSet<int> values = ForInt.Related(GreaterThanOrEqual, i1).Intersect(ForInt.Related(LessThanOrEqual, i2)); 282IValueSet<int> values = ForInt.Related(GreaterThanOrEqual, i1).Intersect(ForInt.Related(LessThanOrEqual, i2)); 295IValueSet<double> values = ForDouble.Related(GreaterThanOrEqual, d1).Intersect(ForDouble.Related(LessThanOrEqual, d2)); 303IValueSet<char> gea1 = ForChar.Related(GreaterThanOrEqual, 'a'); 304IValueSet<char> lez1 = ForChar.Related(LessThanOrEqual, 'z'); 305IValueSet<char> gea2 = ForChar.Related(GreaterThanOrEqual, 'A'); 306IValueSet<char> lez2 = ForChar.Related(LessThanOrEqual, 'Z'); 314Assert.Equal("[-Inf..-Inf]", ForDouble.Related(LessThan, double.MinValue).ToString()); 315var lt = ForDouble.Related(LessThan, 0.0); 317var gt = ForDouble.Related(GreaterThan, 0.0); 319var eq = ForDouble.Related(Equal, 0.0); 329Assert.Equal("[-Inf..-Inf]", ForFloat.Related(LessThan, float.MinValue).ToString()); 330var lt = ForFloat.Related(LessThan, 0.0f); 332var gt = ForFloat.Related(GreaterThan, 0.0f); 334var eq = ForFloat.Related(Equal, 0.0f); 344Assert.Equal("NaN", ForDouble.Related(Equal, double.NaN).ToString()); 345Assert.Equal("NaN", ForFloat.Related(Equal, float.NaN).ToString()); 346Assert.True(ForDouble.Related(Equal, double.NaN).Any(Equal, double.NaN)); 347Assert.True(ForFloat.Related(Equal, float.NaN).Any(Equal, float.NaN)); 348Assert.Equal("[Inf..Inf]", ForDouble.Related(Equal, double.PositiveInfinity).ToString()); 349Assert.Equal("[Inf..Inf]", ForFloat.Related(Equal, float.PositiveInfinity).ToString()); 350Assert.Equal("[-Inf..-Inf]", ForDouble.Related(Equal, double.NegativeInfinity).ToString()); 351Assert.Equal("[-Inf..-Inf]", ForFloat.Related(Equal, float.NegativeInfinity).ToString()); 357var neg = ForDouble.Related(LessThan, 0.0); 361var mi = ForDouble.Related(Equal, double.NegativeInfinity); 371var i = ForDouble.Related(Equal, double.PositiveInfinity); 385var notaset = ForString.Related(Equal, "a").Complement(); 386var bset = ForString.Related(Equal, "b"); 394var t = ForBool.Related(Equal, true); 395var f = ForBool.Related(Equal, false); 408var s = ForByte.Related(GreaterThan, 10).Intersect(ForByte.Related(LessThan, 100)); 415var s1 = ForString.Related(Equal, "a"); 416var s2 = ForString.Related(Equal, "b"); 429var s1 = ForDouble.Related(LessThan, 3.14d); 433var s2 = ForDouble.Related(GreaterThan, 31.4d); 443var s1 = ForLong.Related(LessThan, 2); 462var s2 = ForLong.Related(GreaterThan, -5).Intersect(s1); 479Assert.Equal("[10..100]", ForSByte.Related(GreaterThanOrEqual, 10).Intersect(ForSByte.Related(LessThanOrEqual, 100)).ToString()); 480Assert.Equal("[10..100]", ForShort.Related(GreaterThanOrEqual, 10).Intersect(ForShort.Related(LessThanOrEqual, 100)).ToString()); 481Assert.Equal("[10..100]", ForUInt.Related(GreaterThanOrEqual, 10).Intersect(ForUInt.Related(LessThanOrEqual, 100)).ToString()); 482Assert.Equal("[10..100]", ForULong.Related(GreaterThanOrEqual, 10).Intersect(ForULong.Related(LessThanOrEqual, 100)).ToString()); 483Assert.Equal("[10..100]", ForUShort.Related(GreaterThanOrEqual, 10).Intersect(ForUShort.Related(LessThanOrEqual, 100)).ToString()); 484Assert.Equal("[10..100]", ForFloat.Related(GreaterThanOrEqual, 10).Intersect(ForFloat.Related(LessThanOrEqual, 100)).ToString()); 485Assert.Equal("[-100..-10]", ForFloat.Related(GreaterThanOrEqual, -100).Intersect(ForFloat.Related(LessThanOrEqual, -10)).ToString()); 486Assert.Equal("[-10..10]", ForFloat.Related(GreaterThanOrEqual, -10).Intersect(ForFloat.Related(LessThanOrEqual, 10)).ToString()); 514Assert.Equal("[-79228162514264337593543950335..-0.0000000000000000000000000001]", ForDecimal.Related(LessThan, 0.0m).ToString()); 515Assert.Equal("[-79228162514264337593543950335..0.0000000000000000000000000000]", ForDecimal.Related(LessThanOrEqual, 0.0m).ToString()); 516Assert.Equal("[0.0000000000000000000000000001..79228162514264337593543950335]", ForDecimal.Related(GreaterThan, 0.0m).ToString()); 517Assert.Equal("[0.0000000000000000000000000000..79228162514264337593543950335]", ForDecimal.Related(GreaterThanOrEqual, 0.0m).ToString()); 523Assert.Equal("Small,[-2147483648..9]", ForNint.Related(LessThan, 10).ToString()); 524Assert.Equal("Small,[-2147483648..10]", ForNint.Related(LessThanOrEqual, 10).ToString()); 525Assert.Equal("[11..2147483647],Large", ForNint.Related(GreaterThan, 10).ToString()); 526Assert.Equal("[10..2147483647],Large", ForNint.Related(GreaterThanOrEqual, 10).ToString()); 532Assert.Equal("[0..9]", ForNuint.Related(LessThan, 10).ToString()); 533Assert.Equal("[0..10]", ForNuint.Related(LessThanOrEqual, 10).ToString()); 534Assert.Equal("[11..4294967295],Large", ForNuint.Related(GreaterThan, 10).ToString()); 535Assert.Equal("[10..4294967295],Large", ForNuint.Related(GreaterThanOrEqual, 10).ToString()); 582Assert.False(ForDecimal.Related(LessThan, d).Any(Equal, d)); 583Assert.True(ForDecimal.Related(LessThanOrEqual, d).Any(Equal, d)); 584Assert.False(ForDecimal.Related(GreaterThan, d).Any(Equal, d)); 585Assert.True(ForDecimal.Related(GreaterThanOrEqual, d).Any(Equal, d)); 721var s1 = ForInt.Related(BinaryOperatorKind.Equal, i); 743var s1 = ForInt.Related(BinaryOperatorKind.Equal, j); 764var s1 = ForInt.Related(BinaryOperatorKind.LessThan, i); 772s1 = ForInt.Related(BinaryOperatorKind.GreaterThan, i); 789var s1 = ForInt.Related(BinaryOperatorKind.LessThan, j); 797s1 = ForInt.Related(BinaryOperatorKind.GreaterThan, j); 813var s1 = ForInt.Related(BinaryOperatorKind.Equal, i); 835var s1 = ForInt.Related(BinaryOperatorKind.Equal, j);