diff --git a/src/NativeWrappers/Common/lapack_common.h b/src/NativeWrappers/Common/lapack_common.h new file mode 100644 index 00000000..f26298a8 --- /dev/null +++ b/src/NativeWrappers/Common/lapack_common.h @@ -0,0 +1,37 @@ +#ifndef LAPACK_COMMON_H +#define LAPACK_COMMON_H + +void shift_ipiv_down(int m, int ipiv[]); +inline void shift_ipiv_down(int m, int ipiv[]){ + for(int i = 0; i < m; ++i ){ + ipiv[i] -= 1; + } +} + +void shift_ipiv_up(int m, int ipiv[]); +inline void shift_ipiv_up(int m, int ipiv[]){ + for(int i = 0; i < m; ++i ){ + ipiv[i] += 1; + } +} + +template +inline T* Clone(const int m, const int n, const T* a) +{ + T* clone = new T[m*n]; + std::memcpy(clone, a, m*n*sizeof(T)); + return clone; +} + +template +void copyBtoX (int m, int n, int bn, T b[], T x[]){ + for (int i = 0; i < n; ++i) + { + for (int j = 0; j < bn; ++j) + { + x[j * n + i] = b[j * m + i]; + } + } +} + +#endif \ No newline at end of file diff --git a/src/NativeWrappers/Common/resource.rc b/src/NativeWrappers/Common/resource.rc index 3a698afc..9b549a6c 100644 --- a/src/NativeWrappers/Common/resource.rc +++ b/src/NativeWrappers/Common/resource.rc @@ -51,8 +51,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,1,0,0 - PRODUCTVERSION 1,1,0,0 + FILEVERSION 1,2,0,0 + PRODUCTVERSION 1,2,0,0 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L @@ -67,15 +67,15 @@ BEGIN BEGIN BLOCK "040904b0" BEGIN - VALUE "Comments", "http://http://mathnetnumerics.codeplex.com/" + VALUE "Comments", "http://numerics.mathdotnet.com/" VALUE "CompanyName", "Math.NET" VALUE "FileDescription", "MathNET Numerics Native Wrapper" - VALUE "FileVersion", "1.1.0.0" + VALUE "FileVersion", "1.2.0.0" VALUE "InternalName", "Math.NET" - VALUE "LegalCopyright", "Copyright (C) Math.NET 2009-2011" + VALUE "LegalCopyright", "Copyright (C) Math.NET 2009-2013" VALUE "OriginalFilename", "MathNET.Numerics" VALUE "ProductName", "Math.NET Numerics" - VALUE "ProductVersion", "1.1.0.0" + VALUE "ProductVersion", "1.2.0.0" END END BLOCK "VarFileInfo" diff --git a/src/NativeWrappers/Windows/MKL/MKLWrapper.vcxproj b/src/NativeWrappers/Windows/MKL/MKLWrapper.vcxproj index 16bf9ff2..12de51fe 100644 --- a/src/NativeWrappers/Windows/MKL/MKLWrapper.vcxproj +++ b/src/NativeWrappers/Windows/MKL/MKLWrapper.vcxproj @@ -97,14 +97,15 @@ Default - mkl_intel_c.lib;mkl_intel_thread.lib;mkl_core.lib;libiomp5md.lib;%(AdditionalDependencies) + libiomp5md.lib;mkl_intel_c.lib;mkl_intel_thread.lib;mkl_core.lib;%(AdditionalDependencies) $(OutDir)MathNET.Numerics.MKL.dll - C:\Program Files (x86)\Intel\Compiler\11.1\046\lib\ia32;C:\Program Files (x86)\Intel\Compiler\11.1\046\mkl\ia32\lib;%(AdditionalLibraryDirectories) + $(OmpLibDir)\;$(MKLLibDir)\;%(AdditionalLibraryDirectories) true MachineX86 - copy "$(INTEL_DEV_REDIST)\redist\$(IntelPlatform)\compiler\libiomp5md.dll" $(OutDir) + + @@ -123,14 +124,15 @@ Default - mkl_intel_lp64.lib;mkl_intel_thread.lib;mkl_core.lib;libiomp5md.lib;%(AdditionalDependencies) + libiomp5md.lib;mkl_intel_lp64.lib;mkl_intel_thread.lib;mkl_core.lib;%(AdditionalDependencies) $(OutDir)MathNET.Numerics.MKL.dll - C:\Program Files (x86)\Intel\Compiler\11.1\046\lib\intel64;C:\Program Files (x86)\Intel\Compiler\11.1\046\mkl\em64t\lib;%(AdditionalLibraryDirectories) + $(OmpLibDir)\;$(MKLLibDir)\;%(AdditionalLibraryDirectories) true MachineX64 - copy "$(INTEL_DEV_REDIST)\redist\$(IntelPlatform)\compiler\libiomp5md.dll" $(OutDir) + + @@ -146,16 +148,17 @@ Default - mkl_intel_c.lib;mkl_intel_thread.lib;mkl_core.lib;libiomp5md.lib;%(AdditionalDependencies) + libiomp5md.lib;mkl_intel_c.lib;mkl_intel_thread.lib;mkl_core.lib;%(AdditionalDependencies) $(OutDir)MathNET.Numerics.MKL.dll - C:\Program Files (x86)\Intel\Compiler\11.1\060\lib\ia32;C:\Program Files (x86)\Intel\Compiler\11.1\060\mkl\ia32\lib;%(AdditionalLibraryDirectories) + $(OmpLibDir)\;$(MKLLibDir)\;%(AdditionalLibraryDirectories) true true true MachineX86 - copy "$(INTEL_DEV_REDIST)\redist\$(IntelPlatform)\compiler\libiomp5md.dll" $(OutDir) + + @@ -174,16 +177,17 @@ Default - mkl_intel_lp64.lib;mkl_intel_thread.lib;mkl_core.lib;libiomp5md.lib;%(AdditionalDependencies) + libiomp5md.lib;mkl_intel_lp64.lib;mkl_intel_thread.lib;mkl_core.lib;%(AdditionalDependencies) $(OutDir)MathNET.Numerics.MKL.dll - C:\Program Files (x86)\Intel\Compiler\11.1\060\lib\intel64;C:\Program Files (x86)\Intel\Compiler\11.1\060\mkl\em64t\lib;%(AdditionalLibraryDirectories) + $(OmpLibDir)\;$(MKLLibDir)\;%(AdditionalLibraryDirectories) true true true MachineX64 - copy "$(INTEL_DEV_REDIST)\redist\$(IntelPlatform)\compiler\libiomp5md.dll" $(OutDir) + + diff --git a/src/NativeWrappers/Windows/MKLWrapperTests/MKLWrapperTests.csproj b/src/NativeWrappers/Windows/MKLWrapperTests/MKLWrapperTests.csproj index 91a06cb8..43f854c9 100644 --- a/src/NativeWrappers/Windows/MKLWrapperTests/MKLWrapperTests.csproj +++ b/src/NativeWrappers/Windows/MKLWrapperTests/MKLWrapperTests.csproj @@ -41,7 +41,7 @@ DEBUG;TRACE prompt 4 - x86 + AnyCPU AllRules.ruleset @@ -548,10 +548,6 @@ - - libiomp5md.dll - Always - MathNET.Numerics.MKL.dll Always diff --git a/src/UnitTests/LinearAlgebraProviderTests/Double/LinearAlgebraProviderTests.cs b/src/UnitTests/LinearAlgebraProviderTests/Double/LinearAlgebraProviderTests.cs index 36f8bad7..77ee4b27 100644 --- a/src/UnitTests/LinearAlgebraProviderTests/Double/LinearAlgebraProviderTests.cs +++ b/src/UnitTests/LinearAlgebraProviderTests/Double/LinearAlgebraProviderTests.cs @@ -64,7 +64,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double { "Wide2x3", new DenseMatrix(new[,] { { -1.1, -2.2, -3.3 }, { 0.0, 1.1, 2.2 } }) } }; - /* /// + /// /// Can add a vector to scaled vector /// [Test] @@ -1682,7 +1682,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double AssertHelpers.AlmostEqual(test[1, 0], x[1], 14); AssertHelpers.AlmostEqual(test[0, 1], x[2], 14); AssertHelpers.AlmostEqual(test[1, 1], x[3], 14); - }*/ + } /// /// Checks to see if a matrix and array contain the same values.