diff --git a/dotnet/WhiteRabbit.UnmanagedBridge/WhiteRabbit.UnmanagedBridge.cpp b/dotnet/WhiteRabbit.UnmanagedBridge/WhiteRabbit.UnmanagedBridge.cpp
index a35acb6..c7cac52 100644
--- a/dotnet/WhiteRabbit.UnmanagedBridge/WhiteRabbit.UnmanagedBridge.cpp
+++ b/dotnet/WhiteRabbit.UnmanagedBridge/WhiteRabbit.UnmanagedBridge.cpp
@@ -7,5 +7,12 @@
void WhiteRabbitUnmanagedBridge::MD5Unmanaged::ComputeMD5(unsigned int * input, unsigned int* output)
{
- md5(input, output);
+ md5(input + 0 * 8, output + 0 * 4);
+ md5(input + 1 * 8, output + 1 * 4);
+ md5(input + 2 * 8, output + 2 * 4);
+ md5(input + 3 * 8, output + 3 * 4);
+ md5(input + 4 * 8, output + 4 * 4);
+ md5(input + 5 * 8, output + 5 * 4);
+ md5(input + 6 * 8, output + 6 * 4);
+ md5(input + 7 * 8, output + 7 * 4);
}
diff --git a/dotnet/WhiteRabbit/Constants.cs b/dotnet/WhiteRabbit/Constants.cs
index 4328b55..6ba9d03 100644
--- a/dotnet/WhiteRabbit/Constants.cs
+++ b/dotnet/WhiteRabbit/Constants.cs
@@ -2,6 +2,6 @@
{
internal class Constants
{
- public const int PhrasesPerSet = 1;
+ public const int PhrasesPerSet = 8;
}
}
diff --git a/dotnet/WhiteRabbit/PhraseSet.cs b/dotnet/WhiteRabbit/PhraseSet.cs
index ed57af3..d8c58b3 100644
--- a/dotnet/WhiteRabbit/PhraseSet.cs
+++ b/dotnet/WhiteRabbit/PhraseSet.cs
@@ -15,7 +15,7 @@
{
var permutation = permutations[offset + i];
var startPointer = bufferPointer + i * 8;
- byte[] currentWord = words[permutations[offset][0]];
+ byte[] currentWord = words[permutation[0]];
var j = 0;
var wordIndex = 0;
var currentPointer = (byte*)startPointer;
diff --git a/dotnet/WhiteRabbit/StringsProcessor.cs b/dotnet/WhiteRabbit/StringsProcessor.cs
index db4d7f4..5af2d39 100644
--- a/dotnet/WhiteRabbit/StringsProcessor.cs
+++ b/dotnet/WhiteRabbit/StringsProcessor.cs
@@ -89,7 +89,7 @@
{
var permutations = PrecomputedPermutationsGenerator.HamiltonianPermutations(words.Length);
var permutationsLength = permutations.Length;
- for (var i = 0; i < permutationsLength; i++)
+ for (var i = 0; i < permutationsLength; i += Constants.PhrasesPerSet)
{
yield return new PhraseSet(words, permutations, i, this.NumberOfCharacters);
}
diff --git a/dotnet/WhiteRabbit/WhiteRabbit.csproj b/dotnet/WhiteRabbit/WhiteRabbit.csproj
index 7392e3e..e7e21c3 100644
--- a/dotnet/WhiteRabbit/WhiteRabbit.csproj
+++ b/dotnet/WhiteRabbit/WhiteRabbit.csproj
@@ -15,7 +15,7 @@
true
- AnyCPU
+ x64
true
full
false