diff --git a/docs/src/libhypre.md b/docs/src/libhypre.md index 2f4a816..802547d 100644 --- a/docs/src/libhypre.md +++ b/docs/src/libhypre.md @@ -1,13 +1,21 @@ -# LibHYPRE +# LibHYPRE C API -The submodule `HYPRE.LibHYPRE` contains auto-generated[^1] bindings to the HYPRE library. -The module exports all `HYPRE_*` symbols. Function names and arguments are identical to the -C-library -- refer to the [HYPRE manual](https://hypre.readthedocs.io/) for details. +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](https://hypre.readthedocs.io/) for details. -Functions from the `LibHYPRE` submodule can be used together with the "Julian" interface. -This is useful when you need some functionality from the library which can't be accessed -through the Julia interface. Many functions require passing a reference to a matrix/vector -or a solver. These can be obtained as follows: +The example program +[`examples/ex5.jl`](https://github.com/fredrikekre/HYPRE.jl/blob/master/examples/ex5.jl) is +an (almost) line-to-line translation of the corresponding example program +[`examples/ex5.c`](https://github.com/hypre-space/hypre/blob/ac9d7d0d7b43cd3d0c7f24ec5d64b58fbf900097/src/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. These can be obtained as follows: | C type signature | Argument to pass | |:---------------------|:-------------------------------------| diff --git a/examples/ex5.jl b/examples/ex5.jl index 53a8f84..561842b 100644 --- a/examples/ex5.jl +++ b/examples/ex5.jl @@ -1,5 +1,9 @@ # Example translated from C to Julia based on this original source (MIT license): # https://github.com/hypre-space/hypre/blob/ac9d7d0d7b43cd3d0c7f24ec5d64b58fbf900097/src/examples/ex5.c +# +# Note that this is more or less a line-by-line translation (Julia and C are surprisingly +# similar!), and therefore the code here is not very "Julian" in the style. Nevertheless, it +# showcases how HYPRE.jl can be used to interact with the C API directly. # Example 5 #