From ac47794a59e9063977b7a3e5d3193dbad773b4dc Mon Sep 17 00:00:00 2001 From: Christoph Ruegg Date: Sun, 9 Mar 2014 14:57:01 +0100 Subject: [PATCH] Test: slightly relax evd test (mkl), Control.UseNativeMKL(with params) --- src/Numerics/Control.cs | 8 ++++++++ .../LinearAlgebraTests/Double/Factorization/EvdTests.cs | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Numerics/Control.cs b/src/Numerics/Control.cs index 119b14ad..d3ff2413 100644 --- a/src/Numerics/Control.cs +++ b/src/Numerics/Control.cs @@ -107,6 +107,14 @@ namespace MathNet.Numerics { LinearAlgebraProvider = new Providers.LinearAlgebra.Mkl.MklLinearAlgebraProvider(); } + + public static void UseNativeMKL( + Providers.LinearAlgebra.Mkl.MklConsistency consistency = Providers.LinearAlgebra.Mkl.MklConsistency.Auto, + Providers.LinearAlgebra.Mkl.MklPrecision precision = Providers.LinearAlgebra.Mkl.MklPrecision.Double, + Providers.LinearAlgebra.Mkl.MklAccuracy accuracy = Providers.LinearAlgebra.Mkl.MklAccuracy.High) + { + LinearAlgebraProvider = new Providers.LinearAlgebra.Mkl.MklLinearAlgebraProvider(consistency, precision, accuracy); + } #endif /// diff --git a/src/UnitTests/LinearAlgebraTests/Double/Factorization/EvdTests.cs b/src/UnitTests/LinearAlgebraTests/Double/Factorization/EvdTests.cs index 711d6af0..2d1ecc08 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Factorization/EvdTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Factorization/EvdTests.cs @@ -195,7 +195,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization var BReconstruct = A * X; // Check the reconstruction. - AssertHelpers.AlmostEqual(B, BReconstruct, 9); + AssertHelpers.AlmostEqual(B, BReconstruct, 8); // Make sure A/B didn't change. AssertHelpers.AlmostEqual(ACopy, A, 14); @@ -257,7 +257,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization var BReconstruct = A * X; // Check the reconstruction. - AssertHelpers.AlmostEqual(B, BReconstruct, 9); + AssertHelpers.AlmostEqual(B, BReconstruct, 8); // Make sure A/B didn't change. AssertHelpers.AlmostEqual(ACopy, A, 14);