diff --git a/VectoCore/Utils/SI.cs b/VectoCore/Utils/SI.cs index 82a168b371c360553dd1345147f699c56ad7568d..712e15f89b706dcd686037378724473eb81096ee 100644 --- a/VectoCore/Utils/SI.cs +++ b/VectoCore/Utils/SI.cs @@ -122,6 +122,12 @@ namespace TUGraz.VectoCore.Utils return si + d; } + + public static T operator -(SIBase<T> si1) + { + return 0 - si1; + } + public static T operator -(SIBase<T> si1, SIBase<T> si2) { return (si1 as SI) - si2; @@ -129,7 +135,7 @@ namespace TUGraz.VectoCore.Utils public static T operator -(SIBase<T> si1, SI si2) { - return -si2 + si1; + return si1 - si2; } public static T operator -(SI si1, SIBase<T> si2) @@ -622,11 +628,6 @@ namespace TUGraz.VectoCore.Utils return new SI(d - si1.Val, si1); } - public static SI operator -(SI si1) - { - return 0 - si1; - } - public static SI operator *(SI si1, double d) { return new SI(si1.Val * d, si1); diff --git a/VectoCoreTest/Utils/VectoMathTest.cs b/VectoCoreTest/Utils/VectoMathTest.cs index 2c163c8e67055adf5aba109fb75ee29ec58e5c41..f3ee4a3c4b2b59ef0857b29bcd1c1300d14f3f07 100644 --- a/VectoCoreTest/Utils/VectoMathTest.cs +++ b/VectoCoreTest/Utils/VectoMathTest.cs @@ -11,7 +11,7 @@ namespace TUGraz.VectoCore.Tests.Utils { var smaller = 0.SI(); var bigger = 5.SI(); - var negative = -10.SI(); + var negative = -1 * 10.SI(); var positive = 10.SI(); Assert.AreEqual(smaller, VectoMath.Min(smaller, bigger));