LibHYPRE C API
The submodule HYPRE.LibHYPRE
contains auto-generated bindings to the HYPRE library and give access to the HYPRE C API directly[1]. The module exports all HYPRE_*
symbols. Function names and arguments are identical to the C-library – refer to the HYPRE manual for details.
The example program examples/ex5.jl
is an (almost) line-to-line translation of the corresponding example program examples/ex5.c
written in C, and showcases how HYPRE.jl can be used to interact with the HYPRE library directly.
Functions from the LibHYPRE
submodule can be used together with the high level interface. This is useful when you need some functionality from the library which isn't exposed in the high level interface. Many functions require passing a reference to a matrix/vector or a solver. HYPRE.jl defines the appropriate conversion methods used by ccall
such that
A::HYPREMatrix
can be passed toHYPRE_*
functions withHYPRE_IJMatrix
orHYPRE_ParCSRMatrix
in the signatureb::HYPREVector
can be passed toHYPRE_*
functions withHYPRE_IJVector
orHYPRE_ParVector
in the signatures::HYPRESolver
can be passed toHYPRE_*
functions withHYPRE_Solver
in the signature
- 1Bindings are generated using Clang.jl, see gen/generator.jl.