Skip to content

Commit 3f74876

Browse files
committed
Refactor names a bit
1 parent 2be9d0e commit 3f74876

28 files changed

+123
-123
lines changed

Src/FastData.Benchmarks/Benchmarks/GPerfAnalyzerBenchmarks.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public GPerfAnalyzerBenchmarks()
1818
Random rng = new Random(42);
1919
_data = Enumerable.Range(1, 100).Select(_ => TestHelper.GenerateRandomString(rng, 50)).ToArray();
2020

21-
StringProperties props = KeyAnalyzer.GetStringProperties(_data, false);
21+
StringKeyProperties props = KeyAnalyzer.GetStringProperties(_data, false);
2222
_analyzer = new GPerfAnalyzer(_data.Length, props, new GPerfAnalyzerConfig(), new Simulator(_data.Length, GeneratorEncoding.UTF16), NullLogger<GPerfAnalyzer>.Instance);
2323
}
2424

Src/FastData.Benchmarks/Benchmarks/SegmentGeneratorsBenchmarks.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class SegmentGeneratorsBenchmarks
1414
private readonly OffsetGenerator _ofGen = new OffsetGenerator();
1515

1616
//We start at 8 and go up to 100 to cover as many cases as possible
17-
private readonly StringProperties _props = KeyAnalyzer.GetStringProperties(Enumerable.Range(8, 100).Select(x => TestHelper.GenerateRandomString(Random.Shared, x)).ToArray(), false);
17+
private readonly StringKeyProperties _props = KeyAnalyzer.GetStringProperties(Enumerable.Range(8, 100).Select(x => TestHelper.GenerateRandomString(Random.Shared, x)).ToArray(), false);
1818

1919
[Benchmark]
2020
public object BruteForceGenerator() => _bfGen.Generate(_props).ToArray();

Src/FastData.InternalShared/Helpers/TestHelper.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ private static GeneratorSpec GenerateInternal<TKey, TValue>(Func<string, ICodeGe
199199
{
200200
ReadOnlyMemory<string> stringMemory = CastMemory<TKey, string>(keyMemory);
201201
ReadOnlySpan<string> stringSpan = stringMemory.Span;
202-
StringProperties strProps = KeyAnalyzer.GetStringProperties(stringSpan, true); // Enable trimming
202+
StringKeyProperties strProps = KeyAnalyzer.GetStringProperties(stringSpan, true); // Enable trimming
203203

204204
if (strProps.DeltaData.LeftZeroCount > 0 || strProps.DeltaData.RightZeroCount > 0)
205205
{
@@ -217,7 +217,7 @@ private static GeneratorSpec GenerateInternal<TKey, TValue>(Func<string, ICodeGe
217217
props = strProps;
218218
}
219219
else
220-
props = KeyAnalyzer.GetProperties(keyMemory);
220+
props = KeyAnalyzer.GetNumericProperties(keyMemory);
221221

222222
ICodeGenerator generator = func(vector.Identifier);
223223
GeneratorEncoding encoding = generator.Encoding;
@@ -235,11 +235,11 @@ private static GeneratorSpec GenerateInternal<TKey, TValue>(Func<string, ICodeGe
235235
if (vector.Type == typeof(HashTablePerfectStructure<,>))
236236
return Generate(generator, vector, props, keyType, StructureType.HashTable, new HashTablePerfectStructure<TKey, TValue>(GetHashData(keySpan, keyType, encoding), keyType), keyMemory, values, trimPrefix, trimSuffix);
237237
if (vector.Type == typeof(KeyLengthStructure<,>))
238-
return Generate(generator, vector, props, keyType, StructureType.Auto, new KeyLengthStructure<TKey, TValue>((StringProperties)props), keyMemory, values, trimPrefix, trimSuffix);
238+
return Generate(generator, vector, props, keyType, StructureType.Auto, new KeyLengthStructure<TKey, TValue>((StringKeyProperties)props), keyMemory, values, trimPrefix, trimSuffix);
239239
if (vector.Type == typeof(RangeStructure<,>))
240-
return Generate(generator, vector, props, keyType, StructureType.Auto, new RangeStructure<TKey, TValue>((KeyProperties<TKey>)props), keyMemory, values, trimPrefix, trimSuffix);
240+
return Generate(generator, vector, props, keyType, StructureType.Auto, new RangeStructure<TKey, TValue>((NumericKeyProperties<TKey>)props), keyMemory, values, trimPrefix, trimSuffix);
241241
if (vector.Type == typeof(BitSetStructure<,>))
242-
return Generate(generator, vector, props, keyType, StructureType.Auto, new BitSetStructure<TKey, TValue>((KeyProperties<TKey>)props, keyType), keyMemory, values, trimPrefix, trimSuffix);
242+
return Generate(generator, vector, props, keyType, StructureType.Auto, new BitSetStructure<TKey, TValue>((NumericKeyProperties<TKey>)props, keyType), keyMemory, values, trimPrefix, trimSuffix);
243243
if (vector.Type == typeof(HashTableCompactStructure<,>))
244244
return Generate(generator, vector, props, keyType, StructureType.Auto, new HashTableCompactStructure<TKey, TValue>(GetHashData(keySpan, keyType, encoding), keyType), keyMemory, values, trimPrefix, trimSuffix);
245245

@@ -278,14 +278,14 @@ private static GeneratorSpec Generate<TKey, TValue, TContext>(ICodeGenerator gen
278278

279279
GeneratorFlags flags = GeneratorFlags.None;
280280

281-
if (props is StringProperties stringProps)
281+
if (props is StringKeyProperties stringProps)
282282
{
283283
if (stringProps.CharacterData.AllAscii)
284284
flags = GeneratorFlags.AllAreASCII;
285285

286286
genCfg = new GeneratorConfig<TKey>(structureType, keyType, (uint)keys.Length, stringProps, StringComparison.Ordinal, hashDetails, generator.Encoding, flags, trimPrefix, trimSuffix);
287287
}
288-
else if (props is KeyProperties<TKey> valueProps)
288+
else if (props is NumericKeyProperties<TKey> valueProps)
289289
{
290290
hashDetails.HasZeroOrNaN = valueProps.HasZeroOrNaN;
291291
genCfg = new GeneratorConfig<TKey>(structureType, keyType, (uint)keys.Length, valueProps, hashDetails, flags);

Src/FastData.Testbed/Tests/AnalysisTest.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ internal static class AnalysisTest
3737

3838
public static void TestBest()
3939
{
40-
StringProperties props = KeyAnalyzer.GetStringProperties(Data, false);
40+
StringKeyProperties props = KeyAnalyzer.GetStringProperties(Data, false);
4141

4242
StringAnalyzerConfig cfg = new StringAnalyzerConfig();
4343
cfg.BruteForceAnalyzerConfig = null;
@@ -105,7 +105,7 @@ private static void RunBruteForce(string[] data, [CallerArgumentExpression(nameo
105105
{
106106
Print(data, source);
107107

108-
StringProperties props = KeyAnalyzer.GetStringProperties(data, false);
108+
StringKeyProperties props = KeyAnalyzer.GetStringProperties(data, false);
109109
using SerilogLoggerFactory loggerFactory = new SerilogLoggerFactory(_logConf);
110110
BruteForceAnalyzer analyzer = new BruteForceAnalyzer(props, new BruteForceAnalyzerConfig(), new Simulator(data.Length, GeneratorEncoding.UTF16), loggerFactory.CreateLogger<BruteForceAnalyzer>());
111111
PrintCandidate(analyzer.GetCandidates(data).OrderByDescending(x => x.Fitness).FirstOrDefault());
@@ -115,7 +115,7 @@ private static void RunGeneticAnalysis(string[] data, [CallerArgumentExpression(
115115
{
116116
Print(data, source);
117117

118-
StringProperties props = KeyAnalyzer.GetStringProperties(data, false);
118+
StringKeyProperties props = KeyAnalyzer.GetStringProperties(data, false);
119119
using SerilogLoggerFactory loggerFactory = new SerilogLoggerFactory(_logConf);
120120
GeneticAnalyzer analyzer = new GeneticAnalyzer(props, new GeneticAnalyzerConfig(), new Simulator(data.Length, GeneratorEncoding.UTF16), loggerFactory.CreateLogger<GeneticAnalyzer>());
121121
PrintCandidate(analyzer.GetCandidates(data).OrderByDescending(x => x.Fitness).FirstOrDefault());
@@ -125,7 +125,7 @@ private static void RunGPerfAnalysis(string[] data, [CallerArgumentExpression(na
125125
{
126126
Print(data, source);
127127

128-
StringProperties props = KeyAnalyzer.GetStringProperties(data, false);
128+
StringKeyProperties props = KeyAnalyzer.GetStringProperties(data, false);
129129
using SerilogLoggerFactory loggerFactory = new SerilogLoggerFactory(_logConf);
130130
GPerfAnalyzer analyzer = new GPerfAnalyzer(data.Length, props, new GPerfAnalyzerConfig(), new Simulator(data.Length, GeneratorEncoding.UTF16), loggerFactory.CreateLogger<GPerfAnalyzer>());
131131
PrintCandidate(analyzer.GetCandidates(data).OrderByDescending(x => x.Fitness).FirstOrDefault());

Src/FastData.Testbed/Tests/GPerfTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public static void ProduceOutputs(string path)
4242
using SerilogLoggerFactory factory = new SerilogLoggerFactory(serilog);
4343

4444
string[] data = File.ReadAllLines(file);
45-
StringProperties props = KeyAnalyzer.GetStringProperties(data, false);
45+
StringKeyProperties props = KeyAnalyzer.GetStringProperties(data, false);
4646

4747
GPerfAnalyzer analyzer = new GPerfAnalyzer(data.Length, props, new GPerfAnalyzerConfig(), new Simulator(data.Length, GeneratorEncoding.UTF16), factory.CreateLogger<GPerfAnalyzer>());
4848
Candidate cand = analyzer.GetCandidates(data).First();

Src/FastData.Testbed/Tests/GeneratorTest.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ internal static class GeneratorTest
1212
public static void TestGenerators()
1313
{
1414
string[] data = ["cake", "fish", "horse", "internet", "word", "what"];
15-
StringProperties props = KeyAnalyzer.GetStringProperties(data, false);
15+
StringKeyProperties props = KeyAnalyzer.GetStringProperties(data, false);
1616

1717
TestGenerators(data, props, new BruteForceGenerator(8));
1818
TestGenerators(data, props, new EdgeGramGenerator(8));
1919
TestGenerators(data, props, new OffsetGenerator());
2020
TestGenerators(data, props, new DeltaGenerator());
2121
}
2222

23-
private static void TestGenerators(string[] data, StringProperties props, ISegmentGenerator generator)
23+
private static void TestGenerators(string[] data, StringKeyProperties props, ISegmentGenerator generator)
2424
{
2525
Console.WriteLine($"### {generator.GetType().Name}. Appropriate: {generator.IsAppropriate(props)}");
2626
ArraySegment[] segments = generator.Generate(props).ToArray();

Src/FastData.Tests/KeyAnalyzerTests.cs

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -9,38 +9,38 @@ public class KeyAnalyzerTests
99
[Fact]
1010
public void GetProperties_IsConsecutive_Test()
1111
{
12-
Assert.True(GetProperties<char>(new[] { 'a', 'b', 'c' }).IsConsecutive);
13-
Assert.False(GetProperties<char>(new[] { 'a', 'c' }).IsConsecutive);
12+
Assert.True(GetNumericProperties<char>(new[] { 'a', 'b', 'c' }).IsConsecutive);
13+
Assert.False(GetNumericProperties<char>(new[] { 'a', 'c' }).IsConsecutive);
1414

15-
Assert.True(GetProperties<sbyte>(new sbyte[] { -1, 0, 1 }).IsConsecutive);
16-
Assert.False(GetProperties<sbyte>(new sbyte[] { -1, 1, 2 }).IsConsecutive);
15+
Assert.True(GetNumericProperties<sbyte>(new sbyte[] { -1, 0, 1 }).IsConsecutive);
16+
Assert.False(GetNumericProperties<sbyte>(new sbyte[] { -1, 1, 2 }).IsConsecutive);
1717

18-
Assert.True(GetProperties<byte>(new byte[] { 1, 2, 3 }).IsConsecutive);
19-
Assert.False(GetProperties<byte>(new byte[] { 1, 3, 4 }).IsConsecutive);
18+
Assert.True(GetNumericProperties<byte>(new byte[] { 1, 2, 3 }).IsConsecutive);
19+
Assert.False(GetNumericProperties<byte>(new byte[] { 1, 3, 4 }).IsConsecutive);
2020

21-
Assert.True(GetProperties<short>(new short[] { 10, 11, 12 }).IsConsecutive);
22-
Assert.False(GetProperties<short>(new short[] { 10, 11, 13 }).IsConsecutive);
21+
Assert.True(GetNumericProperties<short>(new short[] { 10, 11, 12 }).IsConsecutive);
22+
Assert.False(GetNumericProperties<short>(new short[] { 10, 11, 13 }).IsConsecutive);
2323

24-
Assert.True(GetProperties<ushort>(new ushort[] { 10, 11, 12 }).IsConsecutive);
25-
Assert.False(GetProperties<ushort>(new ushort[] { 10, 11, 13 }).IsConsecutive);
24+
Assert.True(GetNumericProperties<ushort>(new ushort[] { 10, 11, 12 }).IsConsecutive);
25+
Assert.False(GetNumericProperties<ushort>(new ushort[] { 10, 11, 13 }).IsConsecutive);
2626

27-
Assert.True(GetProperties<int>(new[] { 100, 101 }).IsConsecutive);
28-
Assert.False(GetProperties<int>(new[] { 100, 102 }).IsConsecutive);
27+
Assert.True(GetNumericProperties<int>(new[] { 100, 101 }).IsConsecutive);
28+
Assert.False(GetNumericProperties<int>(new[] { 100, 102 }).IsConsecutive);
2929

30-
Assert.True(GetProperties<uint>(new[] { 100u, 101u }).IsConsecutive);
31-
Assert.False(GetProperties<uint>(new[] { 100u, 102u }).IsConsecutive);
30+
Assert.True(GetNumericProperties<uint>(new[] { 100u, 101u }).IsConsecutive);
31+
Assert.False(GetNumericProperties<uint>(new[] { 100u, 102u }).IsConsecutive);
3232

33-
Assert.True(GetProperties<long>(new[] { long.MaxValue - 2, long.MaxValue - 1, long.MaxValue }).IsConsecutive);
34-
Assert.False(GetProperties<long>(new[] { 1L, 3L, 4L }).IsConsecutive);
33+
Assert.True(GetNumericProperties<long>(new[] { long.MaxValue - 2, long.MaxValue - 1, long.MaxValue }).IsConsecutive);
34+
Assert.False(GetNumericProperties<long>(new[] { 1L, 3L, 4L }).IsConsecutive);
3535

36-
Assert.True(GetProperties<ulong>(new[] { 1ul, 2ul, 3ul }).IsConsecutive);
37-
Assert.False(GetProperties<ulong>(new[] { 1ul, 2ul, 4ul }).IsConsecutive);
36+
Assert.True(GetNumericProperties<ulong>(new[] { 1ul, 2ul, 3ul }).IsConsecutive);
37+
Assert.False(GetNumericProperties<ulong>(new[] { 1ul, 2ul, 4ul }).IsConsecutive);
3838

39-
Assert.True(GetProperties<float>(new[] { 0.5f, 1.5f, 2.5f }).IsConsecutive);
40-
Assert.False(GetProperties<float>(new[] { 0f, 0.9f, 2f }).IsConsecutive);
39+
Assert.True(GetNumericProperties<float>(new[] { 0.5f, 1.5f, 2.5f }).IsConsecutive);
40+
Assert.False(GetNumericProperties<float>(new[] { 0f, 0.9f, 2f }).IsConsecutive);
4141

42-
Assert.True(GetProperties<double>(new[] { 0.5d, 1.5d, 2.5d }).IsConsecutive);
43-
Assert.False(GetProperties<double>(new[] { 0d, 0.9d, 2d }).IsConsecutive);
42+
Assert.True(GetNumericProperties<double>(new[] { 0.5d, 1.5d, 2.5d }).IsConsecutive);
43+
Assert.False(GetNumericProperties<double>(new[] { 0d, 0.9d, 2d }).IsConsecutive);
4444
}
4545

4646
[Theory]
@@ -51,7 +51,7 @@ public void GetProperties_IsConsecutive_Test()
5151
[InlineData((object)new[] { "a", "a", "aaa", "aaa" })] //Test duplicates
5252
public void GetStringProperties_LengthMap_Test(string[] data)
5353
{
54-
StringProperties res = GetStringProperties(data, false);
54+
StringKeyProperties res = GetStringProperties(data, false);
5555
LengthBitArray map = res.LengthData.LengthMap;
5656
Assert.Equal(data.Distinct().Count(), map.BitCount);
5757

@@ -72,7 +72,7 @@ public void GetStringProperties_LengthMap_Test(string[] data)
7272
[InlineData(new[] { "hello world" }, 0, 0)] // One key should result in no prefix/suffix calculation
7373
public void GetStringProperties_DeltaData_Test(string[] data, int leftZero, int rightZero)
7474
{
75-
StringProperties res = GetStringProperties(data, true);
75+
StringKeyProperties res = GetStringProperties(data, true);
7676
Assert.Equal(leftZero, res.DeltaData.LeftZeroCount);
7777
Assert.Equal(rightZero, res.DeltaData.RightZeroCount);
7878
}

Src/FastData.Tests/SegmentGeneratorTests.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ internal void CoverageTest(ISegmentGenerator generator, int maxLen)
2222
for (int len = 1; len < maxLen; len++)
2323
{
2424
string[] data = GenerateStrings(rng, len, 1);
25-
StringProperties props = KeyAnalyzer.GetStringProperties(data, false);
25+
StringKeyProperties props = KeyAnalyzer.GetStringProperties(data, false);
2626
int[] coverage = new int[len]; // Track how many times each index is covered
2727

2828
foreach (ArraySegment segment in generator.Generate(props))
@@ -54,7 +54,7 @@ public void BruteForceGeneratorTest()
5454
{
5555
string[] data = GenerateStrings(rng, i, 1);
5656

57-
StringProperties props = KeyAnalyzer.GetStringProperties(data, false);
57+
StringKeyProperties props = KeyAnalyzer.GetStringProperties(data, false);
5858
Assert.True(gen.IsAppropriate(props));
5959
Assert.Equal(counts[i - 1], gen.Generate(props).Count());
6060
}
@@ -71,7 +71,7 @@ public void EdgeGramGeneratorTest()
7171
{
7272
string[] data = GenerateStrings(rng, i, 1);
7373

74-
StringProperties props = KeyAnalyzer.GetStringProperties(data, false);
74+
StringKeyProperties props = KeyAnalyzer.GetStringProperties(data, false);
7575
Assert.True(gen.IsAppropriate(props));
7676

7777
int max = Math.Min(i * 2, 16);
@@ -90,7 +90,7 @@ public void DeltaGeneratorTest()
9090
{
9191
string[] data = GenerateStrings(rng, i, 2);
9292

93-
StringProperties props = KeyAnalyzer.GetStringProperties(data, true);
93+
StringKeyProperties props = KeyAnalyzer.GetStringProperties(data, true);
9494
Assert.True(gen.IsAppropriate(props));
9595
Assert.NotEmpty(gen.Generate(props));
9696
}
@@ -104,7 +104,7 @@ public void DeltaGeneratorTest()
104104
[InlineData(new[] { "aaxbb", "aanbb" }, 2, 1)] //Test single char difference
105105
public void DeltaGeneratorPatternTest(string[] input, uint offset, int length)
106106
{
107-
StringProperties props = KeyAnalyzer.GetStringProperties(input, true);
107+
StringKeyProperties props = KeyAnalyzer.GetStringProperties(input, true);
108108

109109
DeltaGenerator gen = new DeltaGenerator();
110110
Assert.True(gen.IsAppropriate(props)); //We allow delta always
@@ -124,7 +124,7 @@ public void DeltaGeneratorPatternTest(string[] input, uint offset, int length)
124124
[InlineData((object)new[] { "aa", "aaaaaaaaaaaaaa" })] //We don't support inputs where characters don't differ
125125
public void DeltaGeneratorFailureTest(string[] input)
126126
{
127-
StringProperties props = KeyAnalyzer.GetStringProperties(input, false);
127+
StringKeyProperties props = KeyAnalyzer.GetStringProperties(input, false);
128128

129129
DeltaGenerator gen = new DeltaGenerator();
130130
Assert.Empty(gen.Generate(props));

0 commit comments

Comments
 (0)