|
|
|
@ -66,7 +66,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Theory, Pairwise, Timeout(100)] |
|
|
|
[Theory, Timeout(100)] |
|
|
|
public void CanAddTwoVectorsUsingOperator(Vector<double> a, Vector<double> b) |
|
|
|
{ |
|
|
|
Assume.That(a.Count, Is.EqualTo(b.Count)); |
|
|
|
@ -87,7 +87,29 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Theory, Pairwise, Timeout(100)] |
|
|
|
[Theory, Timeout(100)] |
|
|
|
public void CanAddTwoVectorsInplace(Vector<double> a, Vector<double> b) |
|
|
|
{ |
|
|
|
Assume.That(a.Count, Is.EqualTo(b.Count)); |
|
|
|
|
|
|
|
var hasha = a.GetHashCode(); |
|
|
|
var hashb = b.GetHashCode(); |
|
|
|
|
|
|
|
var result = a.Clone(); |
|
|
|
result.Add(b, result); |
|
|
|
|
|
|
|
Assert.That(a.GetHashCode(), Is.EqualTo(hasha)); |
|
|
|
Assert.That(b.GetHashCode(), Is.EqualTo(hashb)); |
|
|
|
Assert.That(result, Is.Not.SameAs(a)); |
|
|
|
Assert.That(result, Is.Not.SameAs(b)); |
|
|
|
|
|
|
|
for (var i = 0; i < Math.Min(a.Count, 20); i++) |
|
|
|
{ |
|
|
|
Assert.That(result[i], Is.EqualTo(a[i] + b[i])); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Theory, Timeout(100)] |
|
|
|
public void CanSubtractTwoVectorsUsingOperator(Vector<double> a, Vector<double> b) |
|
|
|
{ |
|
|
|
Assume.That(a.Count, Is.EqualTo(b.Count)); |
|
|
|
@ -107,5 +129,27 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double |
|
|
|
Assert.That(result[i], Is.EqualTo(a[i] - b[i])); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Theory, Timeout(100)] |
|
|
|
public void CanSubtractTwoVectorsInplace(Vector<double> a, Vector<double> b) |
|
|
|
{ |
|
|
|
Assume.That(a.Count, Is.EqualTo(b.Count)); |
|
|
|
|
|
|
|
var hasha = a.GetHashCode(); |
|
|
|
var hashb = b.GetHashCode(); |
|
|
|
|
|
|
|
var result = a.Clone(); |
|
|
|
result.Subtract(b, result); |
|
|
|
|
|
|
|
Assert.That(a.GetHashCode(), Is.EqualTo(hasha)); |
|
|
|
Assert.That(b.GetHashCode(), Is.EqualTo(hashb)); |
|
|
|
Assert.That(result, Is.Not.SameAs(a)); |
|
|
|
Assert.That(result, Is.Not.SameAs(b)); |
|
|
|
|
|
|
|
for (var i = 0; i < Math.Min(a.Count, 20); i++) |
|
|
|
{ |
|
|
|
Assert.That(result[i], Is.EqualTo(a[i] - b[i])); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|