Skip to content
Snippets Groups Projects
Commit 52ddac69 authored by Christoph Grüninger's avatar Christoph Grüninger
Browse files

Fix support for SuperLU 5

* Use correct macro
* adjust changes for other types then double, too
parent 1dd8ae1d
No related branches found
No related tags found
1 merge request!41Feature/superlu5
......@@ -50,7 +50,7 @@ find_path(SUPERLU_INCLUDE_DIR
# look for library, only at positions given by the user
find_library(SUPERLU_LIBRARY
NAMES "superlu_4.3" "superlu_4.2" "superlu_4.1" "superlu_4.0" "superlu"
NAMES "superlu_5.2" "superlu_5.1.1" "superlu_5.1" "superlu_5.0" "superlu_4.3" "superlu_4.2" "superlu_4.1" "superlu_4.0" "superlu"
PATHS ${SUPERLU_PREFIX} ${SUPERLU_ROOT}
PATH_SUFFIXES "lib" "lib32" "lib64"
NO_DEFAULT_PATH
......@@ -58,7 +58,7 @@ find_library(SUPERLU_LIBRARY
# look for library files, including default paths
find_library(SUPERLU_LIBRARY
NAMES "superlu_4.3" "superlu_4.2" "superlu_4.1" "superlu_4.0" "superlu"
NAMES "superlu_5.2" "superlu_5.1.1" "superlu_5.1" "superlu_5.0" "superlu_4.3" "superlu_4.2" "superlu_4.1" "superlu_4.0" "superlu"
PATH_SUFFIXES "lib" "lib32" "lib64"
)
......
......@@ -105,9 +105,16 @@ namespace Dune
float *rpg, float *rcond, float *ferr, float *berr,
mem_usage_t *memusage, SuperLUStat_t *stat, int *info)
{
#if SUPERLU_MIN_VERSION_5
GlobalLU_t gLU;
sgssvx(options, mat, perm_c, perm_r, etree, equed, R, C,
L, U, work, lwork, B, X, rpg, rcond, ferr, berr,
&gLU, memusage, stat, info);
#else
sgssvx(options, mat, perm_c, perm_r, etree, equed, R, C,
L, U, work, lwork, B, X, rpg, rcond, ferr, berr,
memusage, stat, info);
#endif
}
};
......@@ -146,7 +153,7 @@ namespace Dune
double *rpg, double *rcond, double *ferr, double *berr,
mem_usage_t *memusage, SuperLUStat_t *stat, int *info)
{
#if SUPERLU_MIN_VER_5
#if SUPERLU_MIN_VERSION_5
GlobalLU_t gLU;
dgssvx(options, mat, perm_c, perm_r, etree, equed, R, C,
L, U, work, lwork, B, X, rpg, rcond, ferr, berr,
......@@ -193,9 +200,16 @@ namespace Dune
double *rpg, double *rcond, double *ferr, double *berr,
mem_usage_t *memusage, SuperLUStat_t *stat, int *info)
{
#if SUPERLU_MIN_VERSION_5
GlobalLU_t gLU;
zgssvx(options, mat, perm_c, perm_r, etree, equed, R, C,
L, U, work, lwork, B, X, rpg, rcond, ferr, berr,
&gLU, memusage, stat, info);
#else
zgssvx(options, mat, perm_c, perm_r, etree, equed, R, C,
L, U, work, lwork, B, X, rpg, rcond, ferr, berr,
memusage, stat, info);
#endif
}
};
......@@ -233,9 +247,16 @@ namespace Dune
float *rpg, float *rcond, float *ferr, float *berr,
mem_usage_t *memusage, SuperLUStat_t *stat, int *info)
{
#if SUPERLU_MIN_VERSION_5
GlobalLU_t gLU;
cgssvx(options, mat, perm_c, perm_r, etree, equed, R, C,
L, U, work, lwork, B, X, rpg, rcond, ferr, berr,
&gLU, memusage, stat, info);
#else
cgssvx(options, mat, perm_c, perm_r, etree, equed, R, C,
L, U, work, lwork, B, X, rpg, rcond, ferr, berr,
memusage, stat, info);
#endif
}
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment