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