6 implementations of IValueSet
Microsoft.CodeAnalysis.CSharp (6)
Utilities\ValueSetFactory.BoolValueSet.cs (1)
13
private sealed class BoolValueSet :
IValueSet
<bool>
Utilities\ValueSetFactory.EnumeratedValueSet.cs (1)
21
private sealed class EnumeratedValueSet<T> :
IValueSet
<T>
Utilities\ValueSetFactory.FloatingValueSet.cs (1)
20
private sealed class FloatingValueSet<TFloating> :
IValueSet
<TFloating>
Utilities\ValueSetFactory.NintValueSet.cs (1)
15
private sealed class NintValueSet :
IValueSet
<int>, IValueSet
Utilities\ValueSetFactory.NuintValueSet.cs (1)
15
private sealed class NuintValueSet :
IValueSet
<uint>, IValueSet
Utilities\ValueSetFactory.NumericValueSet.cs (1)
22
private sealed class NumericValueSet<T> :
IValueSet
<T>
74 references to IValueSet
Microsoft.CodeAnalysis.CSharp (73)
Binder\DecisionDagBuilder.cs (3)
1486
var
lengthValues = (
IValueSet
<int>)state.RemainingValues[s1LengthTemp];
2255
var
possibleValues = fac.Related(BinaryOperatorKind.LessThanOrEqual, int.MaxValue - offset);
Binder\PatternExplainer.cs (2)
404
var
lengthValues = (
IValueSet
<int>)computeRemainingValues(ValueSetFactory.ForLength, getArray(constraintMap, lengthTemp));
Utilities\IValueSet.cs (5)
70
IValueSet
<T> Intersect(
IValueSet
<T> other);
75
IValueSet
<T> Union(
IValueSet
<T> other);
80
new
IValueSet
<T> Complement();
Utilities\IValueSetFactory.cs (1)
55
IValueSet
<T> Related(BinaryOperatorKind relation, T value);
Utilities\ValueSetFactory.BoolValueSet.cs (7)
73
public
IValueSet
<bool> Complement() => Create(!_hasFalse, !_hasTrue);
77
public
IValueSet
<bool> Intersect(
IValueSet
<bool> other)
85
public IValueSet Intersect(IValueSet other) => this.Intersect((
IValueSet
<bool>)other);
87
public
IValueSet
<bool> Union(
IValueSet
<bool> other)
95
IValueSet IValueSet.Union(IValueSet other) => this.Union((
IValueSet
<bool>)other);
Utilities\ValueSetFactory.BoolValueSetFactory.cs (1)
28
public
IValueSet
<bool> Related(BinaryOperatorKind relation, bool value)
Utilities\ValueSetFactory.DecimalValueSetFactory.cs (1)
21
public
IValueSet
<decimal> Related(BinaryOperatorKind relation, decimal value) => _underlying.Related(relation, DecimalTC.Normalize(value));
Utilities\ValueSetFactory.EnumeratedValueSet.cs (7)
113
public
IValueSet
<T> Complement() => new EnumeratedValueSet<T>(!_included, _membersIncludedOrExcluded, _tc);
117
public
IValueSet
<T> Intersect(
IValueSet
<T> o)
138
IValueSet IValueSet.Intersect(IValueSet other) => Intersect((
IValueSet
<T>)other);
140
public
IValueSet
<T> Union(
IValueSet
<T> o)
161
IValueSet IValueSet.Union(IValueSet other) => Union((
IValueSet
<T>)other);
Utilities\ValueSetFactory.EnumeratedValueSetFactory.cs (2)
27
public
IValueSet
<T> Related(BinaryOperatorKind relation, T value)
50
IValueSet
<T> result = EnumeratedValueSet<T>.NoValues(_tc);
Utilities\ValueSetFactory.FloatingValueSet.cs (14)
22
private readonly
IValueSet
<TFloating> _numbers;
26
private FloatingValueSet(
IValueSet
<TFloating> numbers, bool hasNaN, FloatingTC<TFloating> tc)
32
internal static
IValueSet
<TFloating> AllValues(FloatingTC<TFloating> tc) => new FloatingValueSet<TFloating>(
35
internal static
IValueSet
<TFloating> NoValues(FloatingTC<TFloating> tc) => new FloatingValueSet<TFloating>(
38
internal static
IValueSet
<TFloating> Random(int expectedSize, Random random, FloatingTC<TFloating> tc)
46
numbers: (
IValueSet
<TFloating>)new NumericValueSetFactory<TFloating>(tc).Random(expectedSize, random), hasNaN: hasNan, tc);
70
public static
IValueSet
<TFloating> Related(BinaryOperatorKind relation, TFloating value, FloatingTC<TFloating> tc)
98
public
IValueSet
<TFloating> Intersect(
IValueSet
<TFloating> o)
111
IValueSet IValueSet.Intersect(IValueSet other) => this.Intersect((
IValueSet
<TFloating>)other);
113
public
IValueSet
<TFloating> Union(
IValueSet
<TFloating> o)
126
IValueSet IValueSet.Union(IValueSet other) => this.Union((
IValueSet
<TFloating>)other);
128
public
IValueSet
<TFloating> Complement()
Utilities\ValueSetFactory.FloatingValueSetFactory.cs (1)
24
public
IValueSet
<TFloating> Related(BinaryOperatorKind relation, TFloating value) =>
Utilities\ValueSetFactory.NintValueSet.cs (7)
21
private readonly
IValueSet
<int> _values;
39
internal NintValueSet(bool hasSmall,
IValueSet
<int> values, bool hasLarge)
87
public
IValueSet
<int> Complement()
98
public
IValueSet
<int> Intersect(
IValueSet
<int> o)
110
public
IValueSet
<int> Union(
IValueSet
<int> o)
Utilities\ValueSetFactory.NintValueSetFactory.cs (2)
23
public
IValueSet
<int> Related(BinaryOperatorKind relation, int value)
36
values: (
IValueSet
<int>)new NumericValueSetFactory<int>(IntTC.DefaultInstance).Random(expectedSize, random),
Utilities\ValueSetFactory.NonNegativeIntValueSetFactory.cs (1)
25
public
IValueSet
<int> Related(BinaryOperatorKind relation, int value)
Utilities\ValueSetFactory.NuintValueSet.cs (7)
21
private readonly
IValueSet
<uint> _values;
31
internal NuintValueSet(
IValueSet
<uint> values, bool hasLarge)
74
public
IValueSet
<uint> Complement()
84
public
IValueSet
<uint> Intersect(
IValueSet
<uint> o)
95
public
IValueSet
<uint> Union(
IValueSet
<uint> o)
Utilities\ValueSetFactory.NuintValueSetFactory.cs (2)
23
public
IValueSet
<uint> Related(BinaryOperatorKind relation, uint value)
34
values: (
IValueSet
<uint>)new NumericValueSetFactory<uint>(UIntTC.Instance).Random(expectedSize, random),
Utilities\ValueSetFactory.NumericValueSet.cs (9)
64
var
gz = new NumericValueSetFactory<T>(_tc).Related(BinaryOperatorKind.GreaterThanOrEqual, _tc.Zero);
131
public
IValueSet
<T> Complement()
162
public
IValueSet
<T> Intersect(
IValueSet
<T> o)
237
IValueSet IValueSet.Intersect(IValueSet other) => this.Intersect((
IValueSet
<T>)other);
239
public
IValueSet
<T> Union(
IValueSet
<T> o)
288
IValueSet IValueSet.Union(IValueSet other) => this.Union((
IValueSet
<T>)other);
293
internal static
IValueSet
<T> Random(int expectedSize, Random random, INumericTC<T> tc)
Utilities\ValueSetFactory.NumericValueSetFactory.cs (1)
29
public
IValueSet
<T> Related(BinaryOperatorKind relation, T value)
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (1)
Utilities\ValueSetTests.cs (1)
307
var
letters = gea1.Intersect(lez1).Union(gea2.Intersect(lez2));