Skip to content

Commit

Permalink
Add mass and findBestNOccurrences functions
Browse files Browse the repository at this point in the history
  • Loading branch information
Jesus Recuerda committed Jun 10, 2019
1 parent 391fdc0 commit 493e3c7
Showing 1 changed file with 25 additions and 4 deletions.
29 changes: 25 additions & 4 deletions test/MatrixTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -359,21 +359,42 @@ public void TestMassMultiple()

[Test]
public void TestFindBestNOccurrences()
{
float[] q = {10, 11, 12};
float[,] tss = { {10, 10, 11, 11, 12, 11, 10, 10, 11, 12, 11, 10, 10, 11},
{10, 10, 11, 11, 12, 11, 10, 10, 11, 12, 11, 10, 10, 11} };
using (KhivaArray qArr = KhivaArray.Create(q), tssArr = KhivaArray.Create(tss))
{
var (distancesArr, indexesArr) = Matrix.FindBestNOccurrences(qArr, tssArr, 1);
using (distancesArr)
using (indexesArr)
{
var distances = distancesArr.GetData3D<float>();
var indexes = indexesArr.GetData3D<uint>();

Assert.AreEqual(0.00, distances[0, 0, 0], 1e-2);
Assert.AreEqual(7, indexes[0, 0, 0]);
}
}
}

[Test]
public void TestFindBestNOccurrencesMultiple()
{
float[,] q = { { 11, 11, 10, 11 }, { 10, 11, 11, 12 } };
float[,] tss = { {10, 10, 11, 11, 10, 11, 10, 10, 11, 11, 10, 11, 10, 10},
{11, 10, 10, 11, 10, 11, 11, 10, 11, 11, 14, 10, 11, 10} };
using (KhivaArray qArr = KhivaArray.Create(q), tssArr = KhivaArray.Create(tss))
{
var (distancesArr, indexesArr) = Matrix.FindBestNOccurrences(qArr, tssArr, 1);
var (distancesArr, indexesArr) = Matrix.FindBestNOccurrences(qArr, tssArr, 4);
using (distancesArr)
using (indexesArr)
{
var distances = distancesArr.GetData3D<float>();
var indexes = indexesArr.GetData3D<float>();
var indexes = indexesArr.GetData3D<uint>();

Assert.AreEqual(0.0, distances[0, 0, 0], 1e-4);
Assert.AreEqual(7, distances[0, 0, 0]);
Assert.AreEqual(1.83880329, distances[1, 0, 2], 1e-2);
Assert.AreEqual(2, indexes[0, 1, 3]);
}
}
}
Expand Down

0 comments on commit 493e3c7

Please sign in to comment.