Skip to content
Snippets Groups Projects
  • Markus Blatt's avatar
    d1dcb220
    Support various numeric types for SuperLU at once. · d1dcb220
    Markus Blatt authored and Christoph Grüninger's avatar Christoph Grüninger committed
    Previously, we only supported one numeric type (float, double, complex<float>,
    or complex<double>) that the user could select via a cryptic preprocessor
    define. This was done this way because when including SuperLU headers we
    would otherwise have multiply defined structs in SuperLU. At least in 4.3
    GlobalLU_t is defined in slu_sdefs.h, slu_ddefs.h, slu_cdefs.h, and
    slu_zdefs.h
    
    With this commit we do not include the problematic SuperLU headers anymore.
    Instead why define the functions called by us with extern C within DUNE.
    In addition we now provide all the numeric types for which SuperLU drivers are
    found at the same time.
    
    Hopefully this will also fix problems with multiply defined BLAS routines experienced
    with arpack and SuperLU.
    d1dcb220
    History
    Support various numeric types for SuperLU at once.
    Markus Blatt authored and Christoph Grüninger's avatar Christoph Grüninger committed
    Previously, we only supported one numeric type (float, double, complex<float>,
    or complex<double>) that the user could select via a cryptic preprocessor
    define. This was done this way because when including SuperLU headers we
    would otherwise have multiply defined structs in SuperLU. At least in 4.3
    GlobalLU_t is defined in slu_sdefs.h, slu_ddefs.h, slu_cdefs.h, and
    slu_zdefs.h
    
    With this commit we do not include the problematic SuperLU headers anymore.
    Instead why define the functions called by us with extern C within DUNE.
    In addition we now provide all the numeric types for which SuperLU drivers are
    found at the same time.
    
    Hopefully this will also fix problems with multiply defined BLAS routines experienced
    with arpack and SuperLU.