diff --git a/src/Numerics/Providers/Common/Cuda/CudaProvider.cs b/src/Numerics/Providers/Common/Cuda/CudaProvider.cs index 53d2ded5..14c21127 100644 --- a/src/Numerics/Providers/Common/Cuda/CudaProvider.cs +++ b/src/Numerics/Providers/Common/Cuda/CudaProvider.cs @@ -27,6 +27,8 @@ // OTHER DEALINGS IN THE SOFTWARE. // +#if NATIVE + using System; using System.Collections.Generic; @@ -105,3 +107,5 @@ namespace MathNet.Numerics.Providers.Common.Cuda } } } + +#endif diff --git a/src/Numerics/Providers/Common/Cuda/CudaProviderCapabilities.cs b/src/Numerics/Providers/Common/Cuda/CudaProviderCapabilities.cs index 90002973..6856ab49 100644 --- a/src/Numerics/Providers/Common/Cuda/CudaProviderCapabilities.cs +++ b/src/Numerics/Providers/Common/Cuda/CudaProviderCapabilities.cs @@ -27,6 +27,8 @@ // OTHER DEALINGS IN THE SOFTWARE. // +#if NATIVE + namespace MathNet.Numerics.Providers.Common.Cuda { internal enum ProviderPlatform : int @@ -47,3 +49,5 @@ namespace MathNet.Numerics.Providers.Common.Cuda LinearAlgebraMinor = 129, } } + +#endif diff --git a/src/Numerics/Providers/Common/Mkl/MklProvider.cs b/src/Numerics/Providers/Common/Mkl/MklProvider.cs index f9879b83..b2007a8d 100644 --- a/src/Numerics/Providers/Common/Mkl/MklProvider.cs +++ b/src/Numerics/Providers/Common/Mkl/MklProvider.cs @@ -27,6 +27,8 @@ // OTHER DEALINGS IN THE SOFTWARE. // +#if NATIVE + using System; using System.Collections.Generic; @@ -256,3 +258,5 @@ namespace MathNet.Numerics.Providers.Common.Mkl } } } + +#endif diff --git a/src/Numerics/Providers/Common/Mkl/MklProviderCapabilities.cs b/src/Numerics/Providers/Common/Mkl/MklProviderCapabilities.cs index af0f971d..4e692bab 100644 --- a/src/Numerics/Providers/Common/Mkl/MklProviderCapabilities.cs +++ b/src/Numerics/Providers/Common/Mkl/MklProviderCapabilities.cs @@ -27,6 +27,8 @@ // OTHER DEALINGS IN THE SOFTWARE. // +#if NATIVE + namespace MathNet.Numerics.Providers.Common.Mkl { internal enum ProviderPlatform : int @@ -55,3 +57,5 @@ namespace MathNet.Numerics.Providers.Common.Mkl FourierTransformMinor = 385 } } + +#endif diff --git a/src/Numerics/Providers/Common/NativeProviderLoader.cs b/src/Numerics/Providers/Common/NativeProviderLoader.cs index 0b4f19e4..51c446bf 100644 --- a/src/Numerics/Providers/Common/NativeProviderLoader.cs +++ b/src/Numerics/Providers/Common/NativeProviderLoader.cs @@ -27,6 +27,8 @@ // OTHER DEALINGS IN THE SOFTWARE. // +#if NATIVE + using System; using System.Collections.Generic; using System.IO; @@ -35,8 +37,6 @@ using System.Runtime.InteropServices; using System.Security; using System.Threading; -#if NATIVE - namespace MathNet.Numerics.Providers.Common { /// @@ -243,4 +243,4 @@ namespace MathNet.Numerics.Providers.Common } } -#endif \ No newline at end of file +#endif diff --git a/src/Numerics/Providers/Common/OpenBlas/OpenBlasProvider.cs b/src/Numerics/Providers/Common/OpenBlas/OpenBlasProvider.cs index 473ee263..0261ee1b 100644 --- a/src/Numerics/Providers/Common/OpenBlas/OpenBlasProvider.cs +++ b/src/Numerics/Providers/Common/OpenBlas/OpenBlasProvider.cs @@ -27,6 +27,8 @@ // OTHER DEALINGS IN THE SOFTWARE. // +#if NATIVE + using System; using System.Collections.Generic; @@ -119,3 +121,5 @@ namespace MathNet.Numerics.Providers.Common.OpenBlas } } } + +#endif diff --git a/src/Numerics/Providers/Common/OpenBlas/OpenBlasProviderCapabilities.cs b/src/Numerics/Providers/Common/OpenBlas/OpenBlasProviderCapabilities.cs index 858c710e..fdabbf03 100644 --- a/src/Numerics/Providers/Common/OpenBlas/OpenBlasProviderCapabilities.cs +++ b/src/Numerics/Providers/Common/OpenBlas/OpenBlasProviderCapabilities.cs @@ -27,6 +27,8 @@ // OTHER DEALINGS IN THE SOFTWARE. // +#if NATIVE + namespace MathNet.Numerics.Providers.Common.OpenBlas { internal enum ProviderPlatform : int @@ -49,3 +51,5 @@ namespace MathNet.Numerics.Providers.Common.OpenBlas LinearAlgebraMinor = 129 } } + +#endif diff --git a/src/Numerics/Providers/FourierTransform/FourierTransformControl.cs b/src/Numerics/Providers/FourierTransform/FourierTransformControl.cs index d989432a..d553cd27 100644 --- a/src/Numerics/Providers/FourierTransform/FourierTransformControl.cs +++ b/src/Numerics/Providers/FourierTransform/FourierTransformControl.cs @@ -80,18 +80,22 @@ namespace MathNet.Numerics.Providers.FourierTransform public static void UseDefault() { +#if NATIVE var value = Environment.GetEnvironmentVariable(EnvVarFFTProvider); switch (value != null ? value.ToUpperInvariant() : string.Empty) { -#if NATIVE + case "MKL": UseNativeMKL(); break; -#endif + default: UseBest(); break; } +#else + UseManaged(); +#endif } } } diff --git a/src/Numerics/Providers/LinearAlgebra/Cuda/CudaLinearAlgebraProvider.cs b/src/Numerics/Providers/LinearAlgebra/Cuda/CudaLinearAlgebraProvider.cs index 6ae60291..bfd0cd99 100644 --- a/src/Numerics/Providers/LinearAlgebra/Cuda/CudaLinearAlgebraProvider.cs +++ b/src/Numerics/Providers/LinearAlgebra/Cuda/CudaLinearAlgebraProvider.cs @@ -27,11 +27,11 @@ // OTHER DEALINGS IN THE SOFTWARE. // +#if NATIVE + using System; using MathNet.Numerics.Providers.Common.Cuda; -#if NATIVE - namespace MathNet.Numerics.Providers.LinearAlgebra.Cuda { /// diff --git a/src/Numerics/Providers/LinearAlgebra/LinearAlgebraControl.cs b/src/Numerics/Providers/LinearAlgebra/LinearAlgebraControl.cs index a4cf8882..e3712c46 100644 --- a/src/Numerics/Providers/LinearAlgebra/LinearAlgebraControl.cs +++ b/src/Numerics/Providers/LinearAlgebra/LinearAlgebraControl.cs @@ -95,10 +95,10 @@ namespace MathNet.Numerics.Providers.LinearAlgebra public static void UseDefault() { +#if NATIVE var value = Environment.GetEnvironmentVariable(EnvVarLAProvider); switch (value != null ? value.ToUpperInvariant() : string.Empty) { -#if NATIVE case "MKL": UseNativeMKL(); break; @@ -110,11 +110,13 @@ namespace MathNet.Numerics.Providers.LinearAlgebra case "OPENBLAS": UseNativeOpenBLAS(); break; -#endif default: UseBest(); break; } +#else + UseManaged(); +#endif } } } diff --git a/src/Numerics/Providers/LinearAlgebra/Mkl/MklLinearAlgebraProvider.cs b/src/Numerics/Providers/LinearAlgebra/Mkl/MklLinearAlgebraProvider.cs index 1de85759..46a48110 100644 --- a/src/Numerics/Providers/LinearAlgebra/Mkl/MklLinearAlgebraProvider.cs +++ b/src/Numerics/Providers/LinearAlgebra/Mkl/MklLinearAlgebraProvider.cs @@ -27,11 +27,11 @@ // OTHER DEALINGS IN THE SOFTWARE. // +#if NATIVE + using System; using MathNet.Numerics.Providers.Common.Mkl; -#if NATIVE - namespace MathNet.Numerics.Providers.LinearAlgebra.Mkl { ///