public static void inverse_safety() { var a = new Matrix2(_priorInvert); var b = a.GetInverse(); a.Should().Be(_priorInvert, "Source matrix should not be mutated."); b.Should().Be(_postInvert); }
public static void inverted_examples() { _priorInvert.GetInverse().Should().Be(_postInvert); _postInvert.GetInverse().Should().Be(_priorInvert); _identity.GetInverse().Should().Be(_identity); _incremented.GetInverse().Should().Be(new Matrix2(-3 / 2.0, 0.5, 1, 0)); _trans.GetInverse().Should().Be(new Matrix2(-3 / 2.0, 1, 0.5, 0)); Equal(new Matrix2(-0.5, -0.25, 5 / 2.0, 0.75), _a.GetInverse(), 10); Equal(new Matrix2(5 / 22.0, -3 / 22.0, 2 / 11.0, 1 / 11.0), _b.GetInverse(), 10); Equal(new Matrix2(-5 / 11.0, -7 / 44.0, 3 / 22.0, 1 / 44.0), _product.GetInverse(), 10); Equal(new Matrix2(3 / 71.0, -4 / 71.0, 14 / 71.0, 5 / 71.0), _sum.GetInverse(), 10); Equal(new Matrix2(-1 / 17.0, 4 / 17.0, -5 / 34.0, 3 / 34.0), _determinant34.GetInverse(), 10); }
public static void inverse_safety() { var a = new Matrix2(_priorInvert); var b = a.GetInverse(); a.Should().Be(_priorInvert, "Source matrix should not be mutated."); b.Should().Be(_postInvert); }