public static void Verify(int size) { var x = new DenseMatrixProduct(size, 1); var managedResult = x.ManagedProvider(); var mklResult = x.MklProvider(); var safeResult = x.SafeProvider(); var unsafeResult = x.UnsafeProvider(); var experimentalResult = x.ExperimentalProvider(); Console.WriteLine(managedResult.ToString()); //Console.WriteLine(mklResult.ToString()); //Console.WriteLine(safeResult.ToString()); //Console.WriteLine(unsafeResult.ToString()); //Console.WriteLine(experimentalResult.ToString()); if (!managedResult.AlmostEqual(mklResult, 1e-12)) { throw new Exception("MklProvider"); } if (!managedResult.AlmostEqual(safeResult, 1e-12)) { throw new Exception("SafeProvider"); } if (!managedResult.AlmostEqual(unsafeResult, 1e-12)) { throw new Exception("UnsafeProvider"); } if (!managedResult.AlmostEqual(experimentalResult, 1e-12)) { throw new Exception("ExperimentalProvider"); } }