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");
            }
        }
        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");
            }
        }