|
|
|
@ -37,6 +37,8 @@ namespace MathNet.Numerics.Providers.Common.Mkl |
|
|
|
public static class MklProvider |
|
|
|
{ |
|
|
|
const int _designTimeRevision = 12; |
|
|
|
const int _minimumCompatibleRevision = 4; |
|
|
|
|
|
|
|
static int _nativeRevision; |
|
|
|
static Version _mklVersion; |
|
|
|
static bool _nativeX86; |
|
|
|
@ -44,6 +46,11 @@ namespace MathNet.Numerics.Providers.Common.Mkl |
|
|
|
static bool _nativeIA64; |
|
|
|
static bool _loaded; |
|
|
|
|
|
|
|
public static bool IsAvailable(string hintPath = null) |
|
|
|
{ |
|
|
|
return IsAvailable(_minimumCompatibleRevision, hintPath); |
|
|
|
} |
|
|
|
|
|
|
|
internal static bool IsAvailable(int minRevision, string hintPath) |
|
|
|
{ |
|
|
|
if (_loaded && _nativeRevision >= minRevision) |
|
|
|
@ -69,6 +76,11 @@ namespace MathNet.Numerics.Providers.Common.Mkl |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public static void Load(string hintPath = null) |
|
|
|
{ |
|
|
|
Load(_minimumCompatibleRevision, hintPath); |
|
|
|
} |
|
|
|
|
|
|
|
internal static void Load(int minRevision, string hintPath) |
|
|
|
{ |
|
|
|
if (_loaded && _nativeRevision >= minRevision) |
|
|
|
|