Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix compatibility with newer versions of UMFPACK. #499

Merged
merged 1 commit into from
Jul 19, 2024

Conversation

mmuetzel
Copy link
Contributor

In old versions of UMFPACK (like the one that is bundled with ElmerFEM), the *l_* versions of its functions used long for indices in their interface.

That was later changed to use SuiteSparse_long. SuiteSparse_long was long long on Windows and long on any other platform.

For the latest versions of UMFPACK, SuiteSparse_long is int64_t (on all platforms).

This change fixes compilation errors on Windows (where long is 32-bit wide also on 64-bit, LLP64) and macOS (where int64_t is long long which has the same size as long but is still technically a different type than long).
The change still maintains compatibility with old versions of UMFPACK (like the one that is bundled with ElmerFEM).

See also #471 (comment) for the issue with long vs. long long with newer versions of UMFPACK on macOS.

In old versions of UMFPACK (like the one that is bundled with ElmerFEM),
the `*l_*` versions of its functions used `long` for indices in their
interface.

That was later changed to use `SuiteSparse_long`. `SuiteSparse_long` was
`long long` on Windows and `long` on any other platform.

For the latest versions of UMFPACK, `SuiteSparse_long` is `int64_t` (on
all platforms).

This change fixes compilation errors on Windows (where `long` is 32-bit
wide also on 64-bit, LLP64) and macOS (where `int64_t` is `long long`
which has the same size as `long` but is still technically a different
type than `long`).
The change still maintains compatibility with old versions of UMFPACK
(like the one that is bundled with ElmerFEM).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants