public static void MultiplicationFull2x3Test() { TrafoTesting.GenericTest(rnd => { var m = TrafoTesting.GetRandom2x3(rnd); var r = TrafoTesting.GetRandomRot2(rnd); var mr = m * r; var rm = r * m; var mr_ref = m * (M33d)r; var rm_ref = (M23d)r * (M33d)m; { var p = rnd.UniformV2d() * rnd.UniformInt(1000); var res_mr = mr.TransformPos(p); var res_mr_ref = mr_ref.TransformPos(p); var res_rm = rm.TransformPos(p); var res_rm_ref = rm_ref.TransformPos(p); TrafoTesting.AreEqual(res_mr, res_mr_ref); TrafoTesting.AreEqual(res_rm, res_rm_ref); } }); }