Blob Blame Raw
diff -ur digikam-2.1.1/core/cmake/modules/FindCLAPACK.cmake digikam-2.1.1-clapack-atlas/core/cmake/modules/FindCLAPACK.cmake
--- digikam-2.1.1/core/cmake/modules/FindCLAPACK.cmake	2011-09-14 08:22:02.000000000 +0200
+++ digikam-2.1.1-clapack-atlas/core/cmake/modules/FindCLAPACK.cmake	2011-09-23 07:09:37.000000000 +0200
@@ -27,7 +27,7 @@
      endif(CLAPACK_INCLUDE_DIR)
   endif(CLAPACK_INCLUDE_DIR)
 
-  find_library(CLAPACK_LIBRARY clapack)
+  find_library(CLAPACK_LIBRARY clapack PATH_SUFFIXES atlas)
   if(CLAPACK_LIBRARY)
       message(STATUS "Found clapack library: ${CLAPACK_LIBRARY}")
   endif(CLAPACK_LIBRARY)
diff -ur digikam-2.1.1/core/libs/dimg/filters/sharp/matrix.cpp digikam-2.1.1-clapack-atlas/core/libs/dimg/filters/sharp/matrix.cpp
--- digikam-2.1.1/core/libs/dimg/filters/sharp/matrix.cpp	2011-09-14 08:22:03.000000000 +0200
+++ digikam-2.1.1-clapack-atlas/core/libs/dimg/filters/sharp/matrix.cpp	2011-09-23 10:19:09.000000000 +0200
@@ -36,7 +36,6 @@
 
 extern "C"
 {
-#include "f2c.h"
 #include "clapack.h"
 }
 
@@ -653,15 +652,13 @@
 
 int RefocusMatrix::dgesv (const int N, const int NRHS, double* A, const int lda, double* B, const int ldb)
 {
-    int result = 0;
-    integer i_N = N, i_NHRS = NRHS, i_lda = lda, i_ldb = ldb, info;
-    integer* ipiv = new integer[N];
+    int result;
+    int* ipiv = new int[N];
 
     // Clapack call.
-    dgesv_ (&i_N, &i_NHRS, A, &i_lda, ipiv, B, &i_ldb, &info);
+    result = clapack_dgesv (CblasColMajor, N, NRHS, A, lda, ipiv, B, ldb);
 
     delete [] ipiv;
-    result = info;
     return (result);
 }