From bfe8ae4f750e9477d9e85b2eda628ea9bd556437 Mon Sep 17 00:00:00 2001 From: Dennis Ogiermann Date: Wed, 5 Oct 2022 08:57:28 +0200 Subject: [PATCH] Update MPI.jl compat to allow 0.20 (#2) This patch updates the MPI.jl compat to allow 0.20. In addition, the Clang.jl generator is updated to filter out all unnecessary bindings (e.g. MPI related) and instead bring in constants from MPI.jl. This should make sure that those are synced, since everything now uses MPIPreferences. Co-authored-by: Dennis Ogiermann Co-authored-by: Fredrik Ekre --- Project.toml | 2 +- gen/Manifest.toml | 58 +- gen/Project.toml | 3 + gen/generator.jl | 2 +- gen/generator.toml | 16 +- gen/prologue.jl | 6 + lib/LibHYPRE.jl | 14164 ++++++------------------------------------- 7 files changed, 1961 insertions(+), 12290 deletions(-) create mode 100644 gen/prologue.jl diff --git a/Project.toml b/Project.toml index 1702dca..abbe0a0 100644 --- a/Project.toml +++ b/Project.toml @@ -13,7 +13,7 @@ SparseMatricesCSR = "a0a7dd2c-ebf4-11e9-1f05-cf50bc540ca1" [compat] CEnum = "0.4" -MPI = "0.19" +MPI = "0.19, 0.20" PartitionedArrays = "0.2" SparseMatricesCSR = "0.6" julia = "1.6" diff --git a/gen/Manifest.toml b/gen/Manifest.toml index 779a79c..cc66f94 100644 --- a/gen/Manifest.toml +++ b/gen/Manifest.toml @@ -1,11 +1,12 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.7.2" +julia_version = "1.8.2" manifest_format = "2.0" project_hash = "cc39013dba1e9068883c1b156d3b25864ebc62f8" [[deps.ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" +version = "1.1.1" [[deps.Artifacts]] uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" @@ -20,33 +21,38 @@ version = "0.4.2" [[deps.Clang]] deps = ["CEnum", "Clang_jll", "Downloads", "Pkg", "TOML"] -git-tree-sha1 = "b6998b85ea2abbc8a02ca1ccca9438338ed5f8e5" +git-tree-sha1 = "b7e356adf44b1d4eb7aa2b0961ec130730fa208f" uuid = "40e3b903-d033-50b4-a0cc-940c62c95e31" -version = "0.15.8" +version = "0.16.3" [[deps.Clang_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll", "libLLVM_jll"] -git-tree-sha1 = "8cf7e67e264dedc5d321ec87e78525e958aea057" +git-tree-sha1 = "0dfffba1b32bb3e30cb0372bfe666a5ddffe37fb" uuid = "0ee61d77-7f21-5576-8119-9fcc46b10100" -version = "12.0.1+3" +version = "13.0.1+3" [[deps.CompilerSupportLibraries_jll]] deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" +version = "0.5.2+0" [[deps.Dates]] deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" [[deps.Downloads]] -deps = ["ArgTools", "LibCURL", "NetworkOptions"] +deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" +version = "1.6.0" + +[[deps.FileWatching]] +uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" [[deps.HYPRE_jll]] deps = ["Artifacts", "JLLWrappers", "LAPACK_jll", "LazyArtifacts", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenBLAS_jll", "OpenMPI_jll", "Pkg", "TOML"] -git-tree-sha1 = "ed07e4165a837e4606bc5dfbb6536ab0ec798ab8" +git-tree-sha1 = "b77d3eca75f8442e034ccf415c87405a49e77985" uuid = "0a602bbd-b08b-5d75-8d32-0de6eef44785" -version = "2.23.0+1" +version = "2.23.1+1" [[deps.InteractiveUtils]] deps = ["Markdown"] @@ -60,9 +66,9 @@ version = "1.4.1" [[deps.LAPACK_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg", "libblastrampoline_jll"] -git-tree-sha1 = "b1cccaf9742bb82f2b3de81c510688e491d6e922" +git-tree-sha1 = "a539affa8228208f5a3396037165b04bff9a2ba6" uuid = "51474c39-65e3-53ba-86ba-03b1b862ec14" -version = "3.9.0+0" +version = "3.10.0+1" [[deps.LazyArtifacts]] deps = ["Artifacts", "Pkg"] @@ -71,10 +77,12 @@ uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" [[deps.LibCURL]] deps = ["LibCURL_jll", "MozillaCACerts_jll"] uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" +version = "0.6.3" [[deps.LibCURL_jll]] deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" +version = "7.84.0+0" [[deps.LibGit2]] deps = ["Base64", "NetworkOptions", "Printf", "SHA"] @@ -83,6 +91,7 @@ uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" [[deps.LibSSH2_jll]] deps = ["Artifacts", "Libdl", "MbedTLS_jll"] uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" +version = "1.10.2+0" [[deps.Libdl]] uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" @@ -92,21 +101,21 @@ uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" [[deps.MPICH_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "Pkg", "TOML"] -git-tree-sha1 = "089ec72dbf7d7a853626f438d140d0a642ddbda4" +git-tree-sha1 = "6d4fa43afab4611d090b11617ecea1a144b21d35" uuid = "7cb0a576-ebde-5e09-9194-50597f1243b4" -version = "4.0.2+4" +version = "4.0.2+5" [[deps.MPIPreferences]] deps = ["Libdl", "Preferences"] -git-tree-sha1 = "49f10d34284610c125421c7a4e6f913e4bc00897" +git-tree-sha1 = "9959c42b41220206eeda9004f695d913e2245658" uuid = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267" -version = "0.1.3" +version = "0.1.5" [[deps.MPItrampoline_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "Pkg", "TOML"] -git-tree-sha1 = "0c87d3420a787a2be96942d4d1298487271c51d0" +git-tree-sha1 = "b3f9e42685b4ad614eca0b44bd863cd41b1c86ea" uuid = "f1f71cc9-e9ae-5b93-9b94-4fe0e1ad3748" -version = "4.1.2+0" +version = "5.0.2+1" [[deps.Markdown]] deps = ["Base64"] @@ -115,6 +124,7 @@ uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" [[deps.MbedTLS_jll]] deps = ["Artifacts", "Libdl"] uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" +version = "2.28.0+0" [[deps.MicrosoftMPI_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -124,23 +134,27 @@ version = "10.1.3+2" [[deps.MozillaCACerts_jll]] uuid = "14a3606d-f60d-562e-9121-12d972cd8159" +version = "2022.2.1" [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" +version = "1.2.0" [[deps.OpenBLAS_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" +version = "0.3.20+0" [[deps.OpenMPI_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "Pkg", "TOML"] -git-tree-sha1 = "6198c6dc3b5c3dc01854879197a5f382a60f947d" +git-tree-sha1 = "346d6b357a480300ed7854dbc70e746ac52e10fd" uuid = "fe0851c0-eecd-5654-98d4-656369965a5c" -version = "4.1.3+1" +version = "4.1.3+3" [[deps.Pkg]] deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +version = "1.8.0" [[deps.Preferences]] deps = ["TOML"] @@ -162,6 +176,7 @@ uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" +version = "0.7.0" [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" @@ -172,10 +187,12 @@ uuid = "6462fe0b-24de-5631-8697-dd941f90decc" [[deps.TOML]] deps = ["Dates"] uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" +version = "1.0.0" [[deps.Tar]] deps = ["ArgTools", "SHA"] uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" +version = "1.10.1" [[deps.UUIDs]] deps = ["Random", "SHA"] @@ -187,19 +204,24 @@ uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" [[deps.Zlib_jll]] deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a" +version = "1.2.12+3" [[deps.libLLVM_jll]] deps = ["Artifacts", "Libdl"] uuid = "8f36deef-c2a5-5394-99ed-8e07531fb29a" +version = "13.0.1+3" [[deps.libblastrampoline_jll]] deps = ["Artifacts", "Libdl", "OpenBLAS_jll"] uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" +version = "5.1.1+0" [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" +version = "1.48.0+0" [[deps.p7zip_jll]] deps = ["Artifacts", "Libdl"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" +version = "17.4.0+0" diff --git a/gen/Project.toml b/gen/Project.toml index 8300767..7520436 100644 --- a/gen/Project.toml +++ b/gen/Project.toml @@ -3,3 +3,6 @@ CEnum = "fa961155-64e5-5f13-b03f-caf6b980ea82" Clang = "40e3b903-d033-50b4-a0cc-940c62c95e31" HYPRE_jll = "0a602bbd-b08b-5d75-8d32-0de6eef44785" MPICH_jll = "7cb0a576-ebde-5e09-9194-50597f1243b4" + +[extras] +MPIPreferences = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267" diff --git a/gen/generator.jl b/gen/generator.jl index d6880cb..09d4f59 100644 --- a/gen/generator.jl +++ b/gen/generator.jl @@ -10,7 +10,7 @@ options = load_options(joinpath(@__DIR__, "generator.toml")) args = get_default_args() push!(args, "-I$(hypre_include_dir)") -push!(args, "-I$(mpi_include_dir)") +push!(args, "-isystem$(mpi_include_dir)") # Compiler flags from Yggdrasil (??) # https://github.com/JuliaPackaging/Yggdrasil/blob/9d131ba0e4aa393b00f4d71ef5a3f909419a70a7/H/HYPRE/build_tarballs.jl diff --git a/gen/generator.toml b/gen/generator.toml index dc44922..195d0da 100644 --- a/gen/generator.toml +++ b/gen/generator.toml @@ -3,20 +3,8 @@ library_name = "libHYPRE" output_file_path = "../lib/LibHYPRE.jl" jll_pkg_name = "HYPRE_jll" export_symbol_prefixes = [] +prologue_file_path = "./prologue.jl" output_ignorelist = [ - # Overflows Int32 - "MPI_FLOAT_INT", - "MPI_DOUBLE_INT", - "MPI_LONG_INT", - "MPI_SHORT_INT", - "MPI_LONG_DOUBLE_INT", - # Uses NULL - "MPI_T_ENUM_NULL", - "MPI_T_CVAR_HANDLE_NULL", - "MPI_T_PVAR_HANDLE_NULL", - "MPI_T_PVAR_SESSION_NULL", - # Bogus expression: const MPI_ARGV_NULL = (Cchar * (*))(0) - "MPI_ARGV_NULL", # Undefined values DBL_MAX, DBL_MIN, DBL_EPSILON, DBL_MIN_EXP "HYPRE_REAL_MAX", "HYPRE_REAL_MIN", @@ -24,4 +12,6 @@ output_ignorelist = [ "HYPRE_REAL_MIN_EXP", # Bogus expression: const HYPRE_VERSION = ((("HYPRE_RELEASE_NAME Date Compiled: ")(__DATE__))(" "))(__TIME__) "HYPRE_VERSION", + # Filter out MPI stuff + "^[PQ]?MPI" ] diff --git a/gen/prologue.jl b/gen/prologue.jl new file mode 100644 index 0000000..423837c --- /dev/null +++ b/gen/prologue.jl @@ -0,0 +1,6 @@ +using MPI: MPI, MPI_Comm +if isdefined(MPI, :API) # MPI >= 0.20.0 + using MPI.API: MPI_INT, MPI_DOUBLE +else # MPI < 0.20.0 + using MPI: MPI_INT, MPI_DOUBLE +end diff --git a/lib/LibHYPRE.jl b/lib/LibHYPRE.jl index 522d5af..9fe4ee8 100644 --- a/lib/LibHYPRE.jl +++ b/lib/LibHYPRE.jl @@ -3,14081 +3,3731 @@ export HYPRE_jll using CEnum -const MPI_Comm = Cint - -const MPI_Op = Cint - -const MPI_Group = Cint - -const MPI_Datatype = Cint - -const MPI_Request = Cint - -const MPI_Errhandler = Cint - -const MPI_Message = Cint - -const MPI_Win = Cint - -const MPI_Session = Cint - -mutable struct ADIOI_FileD end - -const MPI_File = Ptr{ADIOI_FileD} - -# typedef int ( MPI_Copy_function ) ( MPI_Comm , int , void * , void * , void * , int * ) -const MPI_Copy_function = Cvoid - -# typedef int ( MPI_Delete_function ) ( MPI_Comm , int , void * , void * ) -const MPI_Delete_function = Cvoid - -function MPIR_Dup_fn(oldcomm, keyval, extra_state, attribute_val_in, attribute_val_out, flag) - ccall((:MPIR_Dup_fn, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}), oldcomm, keyval, extra_state, attribute_val_in, attribute_val_out, flag) +using MPI: MPI, MPI_Comm +if isdefined(MPI, :API) # MPI >= 0.20.0 + using MPI.API: MPI_INT, MPI_DOUBLE +else # MPI < 0.20.0 + using MPI: MPI_INT, MPI_DOUBLE end -# typedef int ( MPI_Comm_copy_attr_function ) ( MPI_Comm , int , void * , void * , void * , int * ) -const MPI_Comm_copy_attr_function = Cvoid - -# typedef int ( MPI_Comm_delete_attr_function ) ( MPI_Comm , int , void * , void * ) -const MPI_Comm_delete_attr_function = Cvoid - -# typedef int ( MPI_Win_copy_attr_function ) ( MPI_Win , int , void * , void * , void * , int * ) -const MPI_Win_copy_attr_function = Cvoid - -# typedef int ( MPI_Win_delete_attr_function ) ( MPI_Win , int , void * , void * ) -const MPI_Win_delete_attr_function = Cvoid -# typedef int ( MPI_Type_copy_attr_function ) ( MPI_Datatype , int , void * , void * , void * , int * ) -const MPI_Type_copy_attr_function = Cvoid - -# typedef int ( MPI_Type_delete_attr_function ) ( MPI_Datatype , int , void * , void * ) -const MPI_Type_delete_attr_function = Cvoid - -const MPI_Info = Cint - -mutable struct MPIR_T_enum_s end - -const MPI_T_enum = Ptr{MPIR_T_enum_s} - -mutable struct MPIR_T_cvar_handle_s end - -const MPI_T_cvar_handle = Ptr{MPIR_T_cvar_handle_s} - -mutable struct MPIR_T_pvar_handle_s end - -const MPI_T_pvar_handle = Ptr{MPIR_T_pvar_handle_s} +const HYPRE_BigInt = Cint -mutable struct MPIR_T_pvar_session_s end +const HYPRE_Int = Cint -const MPI_T_pvar_session = Ptr{MPIR_T_pvar_session_s} +const HYPRE_Real = Cdouble -const MPI_Fint = Cint +const HYPRE_Complex = HYPRE_Real -struct MPI_Status - count_lo::Cint - count_hi_and_cancelled::Cint - MPI_SOURCE::Cint - MPI_TAG::Cint - MPI_ERROR::Cint +# no prototype is found for this function at HYPRE_utilities.h:116:11, please use with caution +function HYPRE_Init() + ccall((:HYPRE_Init, libHYPRE), HYPRE_Int, ()) end -# typedef int ( MPI_Datarep_conversion_function ) ( void * , MPI_Datatype , int , void * , MPI_Offset , void * ) -const MPI_Datarep_conversion_function = Cvoid - -# typedef int ( MPI_Datarep_conversion_function_c ) ( void * , MPI_Datatype , MPI_Count , void * , MPI_Offset , void * ) -const MPI_Datarep_conversion_function_c = Cvoid - -function MPI_Wait(request, status) - ccall((:MPI_Wait, libHYPRE), Cint, (Ptr{MPI_Request}, Ptr{MPI_Status}), request, status) +# no prototype is found for this function at HYPRE_utilities.h:117:11, please use with caution +function HYPRE_Finalize() + ccall((:HYPRE_Finalize, libHYPRE), HYPRE_Int, ()) end -function MPI_Test(request, flag, status) - ccall((:MPI_Test, libHYPRE), Cint, (Ptr{MPI_Request}, Ptr{Cint}, Ptr{MPI_Status}), request, flag, status) +# no prototype is found for this function at HYPRE_utilities.h:124:11, please use with caution +function HYPRE_GetError() + ccall((:HYPRE_GetError, libHYPRE), HYPRE_Int, ()) end -function PMPI_Wait(request, status) - ccall((:PMPI_Wait, libHYPRE), Cint, (Ptr{MPI_Request}, Ptr{MPI_Status}), request, status) +function HYPRE_CheckError(hypre_ierr, hypre_error_code) + ccall((:HYPRE_CheckError, libHYPRE), HYPRE_Int, (HYPRE_Int, HYPRE_Int), hypre_ierr, hypre_error_code) end -function PMPI_Test(request, flag, status) - ccall((:PMPI_Test, libHYPRE), Cint, (Ptr{MPI_Request}, Ptr{Cint}, Ptr{MPI_Status}), request, flag, status) +# no prototype is found for this function at HYPRE_utilities.h:131:11, please use with caution +function HYPRE_GetErrorArg() + ccall((:HYPRE_GetErrorArg, libHYPRE), HYPRE_Int, ()) end -@cenum MPIR_Win_flavor::UInt32 begin - MPI_WIN_FLAVOR_CREATE = 1 - MPI_WIN_FLAVOR_ALLOCATE = 2 - MPI_WIN_FLAVOR_DYNAMIC = 3 - MPI_WIN_FLAVOR_SHARED = 4 +function HYPRE_DescribeError(hypre_ierr, descr) + ccall((:HYPRE_DescribeError, libHYPRE), Cvoid, (HYPRE_Int, Ptr{Cchar}), hypre_ierr, descr) end -const MPIR_Win_flavor_t = MPIR_Win_flavor - -@cenum MPIR_Win_model::UInt32 begin - MPI_WIN_SEPARATE = 1 - MPI_WIN_UNIFIED = 2 +# no prototype is found for this function at HYPRE_utilities.h:137:11, please use with caution +function HYPRE_ClearAllErrors() + ccall((:HYPRE_ClearAllErrors, libHYPRE), HYPRE_Int, ()) end -const MPIR_Win_model_t = MPIR_Win_model - -@cenum MPIR_Topo_type::UInt32 begin - MPI_GRAPH = 1 - MPI_CART = 2 - MPI_DIST_GRAPH = 3 +function HYPRE_ClearError(hypre_error_code) + ccall((:HYPRE_ClearError, libHYPRE), HYPRE_Int, (HYPRE_Int,), hypre_error_code) end -# typedef void ( MPI_Handler_function ) ( MPI_Comm * , int * , ... ) -const MPI_Handler_function = Cvoid - -# typedef void ( MPI_Comm_errhandler_function ) ( MPI_Comm * , int * , ... ) -const MPI_Comm_errhandler_function = Cvoid - -# typedef void ( MPI_File_errhandler_function ) ( MPI_File * , int * , ... ) -const MPI_File_errhandler_function = Cvoid - -# typedef void ( MPI_Win_errhandler_function ) ( MPI_Win * , int * , ... ) -const MPI_Win_errhandler_function = Cvoid - -# typedef void ( MPI_Session_errhandler_function ) ( MPI_Session * , int * , ... ) -const MPI_Session_errhandler_function = Cvoid - -# typedef MPI_Comm_errhandler_function MPI_Comm_errhandler_fn -const MPI_Comm_errhandler_fn = MPI_Comm_errhandler_function - -# typedef MPI_File_errhandler_function MPI_File_errhandler_fn -const MPI_File_errhandler_fn = MPI_File_errhandler_function - -# typedef MPI_Win_errhandler_function MPI_Win_errhandler_fn -const MPI_Win_errhandler_fn = MPI_Win_errhandler_function - -# typedef MPI_Session_errhandler_function MPI_Session_errhandler_fn -const MPI_Session_errhandler_fn = MPI_Session_errhandler_function - -const MPIX_Grequest_class = Cint - -@cenum MPIR_Combiner_enum::UInt32 begin - MPI_COMBINER_NAMED = 1 - MPI_COMBINER_DUP = 2 - MPI_COMBINER_CONTIGUOUS = 3 - MPI_COMBINER_VECTOR = 4 - MPI_COMBINER_HVECTOR_INTEGER = 5 - MPI_COMBINER_HVECTOR = 6 - MPI_COMBINER_INDEXED = 7 - MPI_COMBINER_HINDEXED_INTEGER = 8 - MPI_COMBINER_HINDEXED = 9 - MPI_COMBINER_INDEXED_BLOCK = 10 - MPI_COMBINER_STRUCT_INTEGER = 11 - MPI_COMBINER_STRUCT = 12 - MPI_COMBINER_SUBARRAY = 13 - MPI_COMBINER_DARRAY = 14 - MPI_COMBINER_F90_REAL = 15 - MPI_COMBINER_F90_COMPLEX = 16 - MPI_COMBINER_F90_INTEGER = 17 - MPI_COMBINER_RESIZED = 18 - MPI_COMBINER_HINDEXED_BLOCK = 19 +# no prototype is found for this function at HYPRE_utilities.h:143:11, please use with caution +function HYPRE_PrintDeviceInfo() + ccall((:HYPRE_PrintDeviceInfo, libHYPRE), HYPRE_Int, ()) end -const MPI_Aint = Clong - -const MPI_Count = Clong - -const MPI_Offset = Clong - -# typedef void ( MPI_User_function ) ( void * , void * , int * , MPI_Datatype * ) -const MPI_User_function = Cvoid - -# typedef void ( MPI_User_function_c ) ( void * , void * , MPI_Count * , MPI_Datatype * ) -const MPI_User_function_c = Cvoid - -mutable struct MPIR_T_event_registration_s end - -mutable struct MPIR_T_event_instance_s end - -const MPI_T_event_registration = Ptr{MPIR_T_event_registration_s} - -const MPI_T_event_instance = Ptr{MPIR_T_event_instance_s} - -@cenum MPIR_T_verbosity_t::UInt32 begin - MPI_T_VERBOSITY_INVALID = 0 - MPI_T_VERBOSITY_USER_BASIC = 221 - MPI_T_VERBOSITY_USER_DETAIL = 222 - MPI_T_VERBOSITY_USER_ALL = 223 - MPI_T_VERBOSITY_TUNER_BASIC = 224 - MPI_T_VERBOSITY_TUNER_DETAIL = 225 - MPI_T_VERBOSITY_TUNER_ALL = 226 - MPI_T_VERBOSITY_MPIDEV_BASIC = 227 - MPI_T_VERBOSITY_MPIDEV_DETAIL = 228 - MPI_T_VERBOSITY_MPIDEV_ALL = 229 +function HYPRE_Version(version_ptr) + ccall((:HYPRE_Version, libHYPRE), HYPRE_Int, (Ptr{Ptr{Cchar}},), version_ptr) end -@cenum MPIR_T_bind_t::UInt32 begin - MPI_T_BIND_INVALID = 0 - MPI_T_BIND_NO_OBJECT = 9700 - MPI_T_BIND_MPI_COMM = 9701 - MPI_T_BIND_MPI_DATATYPE = 9702 - MPI_T_BIND_MPI_ERRHANDLER = 9703 - MPI_T_BIND_MPI_FILE = 9704 - MPI_T_BIND_MPI_GROUP = 9705 - MPI_T_BIND_MPI_OP = 9706 - MPI_T_BIND_MPI_REQUEST = 9707 - MPI_T_BIND_MPI_WIN = 9708 - MPI_T_BIND_MPI_MESSAGE = 9709 - MPI_T_BIND_MPI_INFO = 9710 +function HYPRE_VersionNumber(major_ptr, minor_ptr, patch_ptr, single_ptr) + ccall((:HYPRE_VersionNumber, libHYPRE), HYPRE_Int, (Ptr{HYPRE_Int}, Ptr{HYPRE_Int}, Ptr{HYPRE_Int}, Ptr{HYPRE_Int}), major_ptr, minor_ptr, patch_ptr, single_ptr) end -@cenum MPIR_T_scope_t::UInt32 begin - MPI_T_SCOPE_INVALID = 0 - MPI_T_SCOPE_CONSTANT = 60438 - MPI_T_SCOPE_READONLY = 60439 - MPI_T_SCOPE_LOCAL = 60440 - MPI_T_SCOPE_GROUP = 60441 - MPI_T_SCOPE_GROUP_EQ = 60442 - MPI_T_SCOPE_ALL = 60443 - MPI_T_SCOPE_ALL_EQ = 60444 +# no prototype is found for this function at HYPRE_utilities.h:174:11, please use with caution +function HYPRE_AssumedPartitionCheck() + ccall((:HYPRE_AssumedPartitionCheck, libHYPRE), HYPRE_Int, ()) end -@cenum MPIR_T_pvar_class_t::UInt32 begin - MPI_T_PVAR_CLASS_INVALID = 0 - MPIR_T_PVAR_CLASS_FIRST = 240 - MPI_T_PVAR_CLASS_STATE = 240 - MPI_T_PVAR_CLASS_LEVEL = 241 - MPI_T_PVAR_CLASS_SIZE = 242 - MPI_T_PVAR_CLASS_PERCENTAGE = 243 - MPI_T_PVAR_CLASS_HIGHWATERMARK = 244 - MPI_T_PVAR_CLASS_LOWWATERMARK = 245 - MPI_T_PVAR_CLASS_COUNTER = 246 - MPI_T_PVAR_CLASS_AGGREGATE = 247 - MPI_T_PVAR_CLASS_TIMER = 248 - MPI_T_PVAR_CLASS_GENERIC = 249 - MPIR_T_PVAR_CLASS_LAST = 250 - MPIR_T_PVAR_CLASS_NUMBER = 10 +@cenum _HYPRE_MemoryLocation::Int32 begin + HYPRE_MEMORY_UNDEFINED = -1 + HYPRE_MEMORY_HOST = 0 + HYPRE_MEMORY_DEVICE = 1 end -@cenum MPI_T_cb_safety::UInt32 begin - MPI_T_CB_REQUIRE_NONE = 0 - MPI_T_CB_REQUIRE_MPI_RESTRICTED = 1 - MPI_T_CB_REQUIRE_THREAD_SAFE = 2 - MPI_T_CB_REQUIRE_ASYNC_SIGNAL_SAFE = 3 -end +const HYPRE_MemoryLocation = _HYPRE_MemoryLocation -@cenum MPI_T_source_order::UInt32 begin - MPI_T_SOURCE_ORDERED = 0 - MPI_T_SOURCE_UNORDERED = 1 +function HYPRE_SetMemoryLocation(memory_location) + ccall((:HYPRE_SetMemoryLocation, libHYPRE), HYPRE_Int, (HYPRE_MemoryLocation,), memory_location) end -# typedef void ( MPI_T_event_cb_function ) ( MPI_T_event_instance event_instance , MPI_T_event_registration event_registration , MPI_T_cb_safety cb_safety , void * user_data ) -const MPI_T_event_cb_function = Cvoid - -# typedef void ( MPI_T_event_free_cb_function ) ( MPI_T_event_registration event_registration , MPI_T_cb_safety cb_safety , void * user_data ) -const MPI_T_event_free_cb_function = Cvoid - -# typedef void ( MPI_T_event_dropped_cb_function ) ( MPI_Count count , MPI_T_event_registration event_registration , int source_index , MPI_T_cb_safety cb_safety , void * user_data ) -const MPI_T_event_dropped_cb_function = Cvoid - -struct MPI_F08_status - count_lo::MPI_Fint - count_hi_and_cancelled::MPI_Fint - MPI_SOURCE::MPI_Fint - MPI_TAG::MPI_Fint - MPI_ERROR::MPI_Fint +function HYPRE_GetMemoryLocation(memory_location) + ccall((:HYPRE_GetMemoryLocation, libHYPRE), HYPRE_Int, (Ptr{HYPRE_MemoryLocation},), memory_location) end -# typedef int ( MPI_Grequest_cancel_function ) ( void * , int ) -const MPI_Grequest_cancel_function = Cvoid - -# typedef int ( MPI_Grequest_free_function ) ( void * ) -const MPI_Grequest_free_function = Cvoid - -# typedef int ( MPI_Grequest_query_function ) ( void * , MPI_Status * ) -const MPI_Grequest_query_function = Cvoid - -# typedef int ( MPIX_Grequest_poll_function ) ( void * , MPI_Status * ) -const MPIX_Grequest_poll_function = Cvoid - -# typedef int ( MPIX_Grequest_wait_function ) ( int , void * * , double , MPI_Status * ) -const MPIX_Grequest_wait_function = Cvoid +@cenum _HYPRE_ExecutionPolicy::Int32 begin + HYPRE_EXEC_UNDEFINED = -1 + HYPRE_EXEC_HOST = 0 + HYPRE_EXEC_DEVICE = 1 +end -# typedef int ( MPI_Datarep_extent_function ) ( MPI_Datatype datatype , MPI_Aint * , void * ) -const MPI_Datarep_extent_function = Cvoid +const HYPRE_ExecutionPolicy = _HYPRE_ExecutionPolicy -struct QMPI_Context - storage_stack::Ptr{Ptr{Cvoid}} +function HYPRE_SetExecutionPolicy(exec_policy) + ccall((:HYPRE_SetExecutionPolicy, libHYPRE), HYPRE_Int, (HYPRE_ExecutionPolicy,), exec_policy) end -function MPI_Status_c2f(c_status, f_status) - ccall((:MPI_Status_c2f, libHYPRE), Cint, (Ptr{MPI_Status}, Ptr{MPI_Fint}), c_status, f_status) +function HYPRE_GetExecutionPolicy(exec_policy) + ccall((:HYPRE_GetExecutionPolicy, libHYPRE), HYPRE_Int, (Ptr{HYPRE_ExecutionPolicy},), exec_policy) end -function MPI_Status_f2c(f_status, c_status) - ccall((:MPI_Status_f2c, libHYPRE), Cint, (Ptr{MPI_Fint}, Ptr{MPI_Status}), f_status, c_status) +function HYPRE_SetStructExecutionPolicy(exec_policy) + ccall((:HYPRE_SetStructExecutionPolicy, libHYPRE), HYPRE_Int, (HYPRE_ExecutionPolicy,), exec_policy) end -function MPI_Status_f082c(f08_status, c_status) - ccall((:MPI_Status_f082c, libHYPRE), Cint, (Ptr{MPI_F08_status}, Ptr{MPI_Status}), f08_status, c_status) +function HYPRE_GetStructExecutionPolicy(exec_policy) + ccall((:HYPRE_GetStructExecutionPolicy, libHYPRE), HYPRE_Int, (Ptr{HYPRE_ExecutionPolicy},), exec_policy) end -function MPI_Status_c2f08(c_status, f08_status) - ccall((:MPI_Status_c2f08, libHYPRE), Cint, (Ptr{MPI_Status}, Ptr{MPI_F08_status}), c_status, f08_status) +function HYPRE_SetUmpireDevicePoolSize(nbytes) + ccall((:HYPRE_SetUmpireDevicePoolSize, libHYPRE), HYPRE_Int, (Csize_t,), nbytes) end -function MPI_Status_f082f(f08_status, f_status) - ccall((:MPI_Status_f082f, libHYPRE), Cint, (Ptr{MPI_F08_status}, Ptr{MPI_Fint}), f08_status, f_status) +function HYPRE_SetUmpireUMPoolSize(nbytes) + ccall((:HYPRE_SetUmpireUMPoolSize, libHYPRE), HYPRE_Int, (Csize_t,), nbytes) end -function MPI_Status_f2f08(f_status, f08_status) - ccall((:MPI_Status_f2f08, libHYPRE), Cint, (Ptr{MPI_Fint}, Ptr{MPI_F08_status}), f_status, f08_status) +function HYPRE_SetUmpireHostPoolSize(nbytes) + ccall((:HYPRE_SetUmpireHostPoolSize, libHYPRE), HYPRE_Int, (Csize_t,), nbytes) end -function MPI_Type_create_f90_integer(r, newtype) - ccall((:MPI_Type_create_f90_integer, libHYPRE), Cint, (Cint, Ptr{MPI_Datatype}), r, newtype) +function HYPRE_SetUmpirePinnedPoolSize(nbytes) + ccall((:HYPRE_SetUmpirePinnedPoolSize, libHYPRE), HYPRE_Int, (Csize_t,), nbytes) end -function MPI_Type_create_f90_real(p, r, newtype) - ccall((:MPI_Type_create_f90_real, libHYPRE), Cint, (Cint, Cint, Ptr{MPI_Datatype}), p, r, newtype) +function HYPRE_SetUmpireDevicePoolName(pool_name) + ccall((:HYPRE_SetUmpireDevicePoolName, libHYPRE), HYPRE_Int, (Ptr{Cchar},), pool_name) end -function MPI_Type_create_f90_complex(p, r, newtype) - ccall((:MPI_Type_create_f90_complex, libHYPRE), Cint, (Cint, Cint, Ptr{MPI_Datatype}), p, r, newtype) +function HYPRE_SetUmpireUMPoolName(pool_name) + ccall((:HYPRE_SetUmpireUMPoolName, libHYPRE), HYPRE_Int, (Ptr{Cchar},), pool_name) end -function MPI_Attr_delete(comm, keyval) - ccall((:MPI_Attr_delete, libHYPRE), Cint, (MPI_Comm, Cint), comm, keyval) +function HYPRE_SetUmpireHostPoolName(pool_name) + ccall((:HYPRE_SetUmpireHostPoolName, libHYPRE), HYPRE_Int, (Ptr{Cchar},), pool_name) end -function MPI_Attr_get(comm, keyval, attribute_val, flag) - ccall((:MPI_Attr_get, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cvoid}, Ptr{Cint}), comm, keyval, attribute_val, flag) +function HYPRE_SetUmpirePinnedPoolName(pool_name) + ccall((:HYPRE_SetUmpirePinnedPoolName, libHYPRE), HYPRE_Int, (Ptr{Cchar},), pool_name) end -function MPI_Attr_put(comm, keyval, attribute_val) - ccall((:MPI_Attr_put, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cvoid}), comm, keyval, attribute_val) +function HYPRE_SetGPUMemoryPoolSize(bin_growth, min_bin, max_bin, max_cached_bytes) + ccall((:HYPRE_SetGPUMemoryPoolSize, libHYPRE), HYPRE_Int, (HYPRE_Int, HYPRE_Int, HYPRE_Int, Csize_t), bin_growth, min_bin, max_bin, max_cached_bytes) end -function MPI_Comm_create_keyval(comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval, extra_state) - ccall((:MPI_Comm_create_keyval, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cvoid}), comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval, extra_state) +function HYPRE_SetSpGemmUseCusparse(use_cusparse) + ccall((:HYPRE_SetSpGemmUseCusparse, libHYPRE), HYPRE_Int, (HYPRE_Int,), use_cusparse) end -function MPI_Comm_delete_attr(comm, comm_keyval) - ccall((:MPI_Comm_delete_attr, libHYPRE), Cint, (MPI_Comm, Cint), comm, comm_keyval) +function HYPRE_SetUseGpuRand(use_curand) + ccall((:HYPRE_SetUseGpuRand, libHYPRE), HYPRE_Int, (HYPRE_Int,), use_curand) end -function MPI_Comm_free_keyval(comm_keyval) - ccall((:MPI_Comm_free_keyval, libHYPRE), Cint, (Ptr{Cint},), comm_keyval) -end +mutable struct hypre_IJMatrix_struct end -function MPI_Comm_get_attr(comm, comm_keyval, attribute_val, flag) - ccall((:MPI_Comm_get_attr, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cvoid}, Ptr{Cint}), comm, comm_keyval, attribute_val, flag) -end +const HYPRE_IJMatrix = Ptr{hypre_IJMatrix_struct} -function MPI_Comm_set_attr(comm, comm_keyval, attribute_val) - ccall((:MPI_Comm_set_attr, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cvoid}), comm, comm_keyval, attribute_val) +function HYPRE_IJMatrixCreate(comm, ilower, iupper, jlower, jupper, matrix) + ccall((:HYPRE_IJMatrixCreate, libHYPRE), HYPRE_Int, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, Ptr{HYPRE_IJMatrix}), comm, ilower, iupper, jlower, jupper, matrix) end -function MPI_Keyval_create(copy_fn, delete_fn, keyval, extra_state) - ccall((:MPI_Keyval_create, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cvoid}), copy_fn, delete_fn, keyval, extra_state) +function HYPRE_IJMatrixDestroy(matrix) + ccall((:HYPRE_IJMatrixDestroy, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix,), matrix) end -function MPI_Keyval_free(keyval) - ccall((:MPI_Keyval_free, libHYPRE), Cint, (Ptr{Cint},), keyval) +function HYPRE_IJMatrixInitialize(matrix) + ccall((:HYPRE_IJMatrixInitialize, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix,), matrix) end -function MPI_Type_create_keyval(type_copy_attr_fn, type_delete_attr_fn, type_keyval, extra_state) - ccall((:MPI_Type_create_keyval, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cvoid}), type_copy_attr_fn, type_delete_attr_fn, type_keyval, extra_state) +function HYPRE_IJMatrixInitialize_v2(matrix, memory_location) + ccall((:HYPRE_IJMatrixInitialize_v2, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_MemoryLocation), matrix, memory_location) end -function MPI_Type_delete_attr(datatype, type_keyval) - ccall((:MPI_Type_delete_attr, libHYPRE), Cint, (MPI_Datatype, Cint), datatype, type_keyval) +function HYPRE_IJMatrixSetValues(matrix, nrows, ncols, rows, cols, values) + ccall((:HYPRE_IJMatrixSetValues, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Int, Ptr{HYPRE_Int}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Complex}), matrix, nrows, ncols, rows, cols, values) end -function MPI_Type_free_keyval(type_keyval) - ccall((:MPI_Type_free_keyval, libHYPRE), Cint, (Ptr{Cint},), type_keyval) +function HYPRE_IJMatrixSetConstantValues(matrix, value) + ccall((:HYPRE_IJMatrixSetConstantValues, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Complex), matrix, value) end -function MPI_Type_get_attr(datatype, type_keyval, attribute_val, flag) - ccall((:MPI_Type_get_attr, libHYPRE), Cint, (MPI_Datatype, Cint, Ptr{Cvoid}, Ptr{Cint}), datatype, type_keyval, attribute_val, flag) +function HYPRE_IJMatrixAddToValues(matrix, nrows, ncols, rows, cols, values) + ccall((:HYPRE_IJMatrixAddToValues, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Int, Ptr{HYPRE_Int}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Complex}), matrix, nrows, ncols, rows, cols, values) end -function MPI_Type_set_attr(datatype, type_keyval, attribute_val) - ccall((:MPI_Type_set_attr, libHYPRE), Cint, (MPI_Datatype, Cint, Ptr{Cvoid}), datatype, type_keyval, attribute_val) +function HYPRE_IJMatrixSetValues2(matrix, nrows, ncols, rows, row_indexes, cols, values) + ccall((:HYPRE_IJMatrixSetValues2, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Int, Ptr{HYPRE_Int}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Int}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Complex}), matrix, nrows, ncols, rows, row_indexes, cols, values) end -function MPI_Win_create_keyval(win_copy_attr_fn, win_delete_attr_fn, win_keyval, extra_state) - ccall((:MPI_Win_create_keyval, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cvoid}), win_copy_attr_fn, win_delete_attr_fn, win_keyval, extra_state) +function HYPRE_IJMatrixAddToValues2(matrix, nrows, ncols, rows, row_indexes, cols, values) + ccall((:HYPRE_IJMatrixAddToValues2, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Int, Ptr{HYPRE_Int}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Int}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Complex}), matrix, nrows, ncols, rows, row_indexes, cols, values) end -function MPI_Win_delete_attr(win, win_keyval) - ccall((:MPI_Win_delete_attr, libHYPRE), Cint, (MPI_Win, Cint), win, win_keyval) +function HYPRE_IJMatrixAssemble(matrix) + ccall((:HYPRE_IJMatrixAssemble, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix,), matrix) end -function MPI_Win_free_keyval(win_keyval) - ccall((:MPI_Win_free_keyval, libHYPRE), Cint, (Ptr{Cint},), win_keyval) +function HYPRE_IJMatrixGetRowCounts(matrix, nrows, rows, ncols) + ccall((:HYPRE_IJMatrixGetRowCounts, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Int, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Int}), matrix, nrows, rows, ncols) end -function MPI_Win_get_attr(win, win_keyval, attribute_val, flag) - ccall((:MPI_Win_get_attr, libHYPRE), Cint, (MPI_Win, Cint, Ptr{Cvoid}, Ptr{Cint}), win, win_keyval, attribute_val, flag) +function HYPRE_IJMatrixGetValues(matrix, nrows, ncols, rows, cols, values) + ccall((:HYPRE_IJMatrixGetValues, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Int, Ptr{HYPRE_Int}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Complex}), matrix, nrows, ncols, rows, cols, values) end -function MPI_Win_set_attr(win, win_keyval, attribute_val) - ccall((:MPI_Win_set_attr, libHYPRE), Cint, (MPI_Win, Cint, Ptr{Cvoid}), win, win_keyval, attribute_val) +function HYPRE_IJMatrixSetObjectType(matrix, type) + ccall((:HYPRE_IJMatrixSetObjectType, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Int), matrix, type) end -function MPI_Allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:MPI_Allgather, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) +function HYPRE_IJMatrixGetObjectType(matrix, type) + ccall((:HYPRE_IJMatrixGetObjectType, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, Ptr{HYPRE_Int}), matrix, type) end -function MPI_Allgather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:MPI_Allgather_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) +function HYPRE_IJMatrixGetLocalRange(matrix, ilower, iupper, jlower, jupper) + ccall((:HYPRE_IJMatrixGetLocalRange, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}), matrix, ilower, iupper, jlower, jupper) end -function MPI_Allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) - ccall((:MPI_Allgatherv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) +function HYPRE_IJMatrixGetObject(matrix, object) + ccall((:HYPRE_IJMatrixGetObject, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, Ptr{Ptr{Cvoid}}), matrix, object) end -function MPI_Allgatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) - ccall((:MPI_Allgatherv_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) +function HYPRE_IJMatrixSetRowSizes(matrix, sizes) + ccall((:HYPRE_IJMatrixSetRowSizes, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, Ptr{HYPRE_Int}), matrix, sizes) end -function MPI_Allreduce(sendbuf, recvbuf, count, datatype, op, comm) - ccall((:MPI_Allreduce, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm), sendbuf, recvbuf, count, datatype, op, comm) +function HYPRE_IJMatrixSetDiagOffdSizes(matrix, diag_sizes, offdiag_sizes) + ccall((:HYPRE_IJMatrixSetDiagOffdSizes, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, Ptr{HYPRE_Int}, Ptr{HYPRE_Int}), matrix, diag_sizes, offdiag_sizes) end -function MPI_Allreduce_init(sendbuf, recvbuf, count, datatype, op, comm, info, request) - ccall((:MPI_Allreduce_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, info, request) +function HYPRE_IJMatrixSetMaxOffProcElmts(matrix, max_off_proc_elmts) + ccall((:HYPRE_IJMatrixSetMaxOffProcElmts, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Int), matrix, max_off_proc_elmts) end -function MPI_Alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:MPI_Alltoall, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) +function HYPRE_IJMatrixSetPrintLevel(matrix, print_level) + ccall((:HYPRE_IJMatrixSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Int), matrix, print_level) end -function MPI_Alltoall_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:MPI_Alltoall_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) +function HYPRE_IJMatrixSetOMPFlag(matrix, omp_flag) + ccall((:HYPRE_IJMatrixSetOMPFlag, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Int), matrix, omp_flag) end -function MPI_Alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) - ccall((:MPI_Alltoallv, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) +function HYPRE_IJMatrixRead(filename, comm, type, matrix) + ccall((:HYPRE_IJMatrixRead, libHYPRE), HYPRE_Int, (Ptr{Cchar}, MPI_Comm, HYPRE_Int, Ptr{HYPRE_IJMatrix}), filename, comm, type, matrix) end -function MPI_Alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) - ccall((:MPI_Alltoallv_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) +function HYPRE_IJMatrixPrint(matrix, filename) + ccall((:HYPRE_IJMatrixPrint, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, Ptr{Cchar}), matrix, filename) end -function MPI_Alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) - ccall((:MPI_Alltoallw, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, MPI_Comm), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) -end +mutable struct hypre_IJVector_struct end -function MPI_Alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) - ccall((:MPI_Alltoallw_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) -end +const HYPRE_IJVector = Ptr{hypre_IJVector_struct} -function MPI_Barrier(comm) - ccall((:MPI_Barrier, libHYPRE), Cint, (MPI_Comm,), comm) +function HYPRE_IJVectorCreate(comm, jlower, jupper, vector) + ccall((:HYPRE_IJVectorCreate, libHYPRE), HYPRE_Int, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, Ptr{HYPRE_IJVector}), comm, jlower, jupper, vector) end -function MPI_Barrier_init(comm, info, request) - ccall((:MPI_Barrier_init, libHYPRE), Cint, (MPI_Comm, MPI_Info, Ptr{MPI_Request}), comm, info, request) +function HYPRE_IJVectorDestroy(vector) + ccall((:HYPRE_IJVectorDestroy, libHYPRE), HYPRE_Int, (HYPRE_IJVector,), vector) end -function MPI_Bcast(buffer, count, datatype, root, comm) - ccall((:MPI_Bcast, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm), buffer, count, datatype, root, comm) +function HYPRE_IJVectorInitialize(vector) + ccall((:HYPRE_IJVectorInitialize, libHYPRE), HYPRE_Int, (HYPRE_IJVector,), vector) end -function MPI_Bcast_init(buffer, count, datatype, root, comm, info, request) - ccall((:MPI_Bcast_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), buffer, count, datatype, root, comm, info, request) +function HYPRE_IJVectorInitialize_v2(vector, memory_location) + ccall((:HYPRE_IJVectorInitialize_v2, libHYPRE), HYPRE_Int, (HYPRE_IJVector, HYPRE_MemoryLocation), vector, memory_location) end -function MPI_Exscan(sendbuf, recvbuf, count, datatype, op, comm) - ccall((:MPI_Exscan, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm), sendbuf, recvbuf, count, datatype, op, comm) +function HYPRE_IJVectorSetMaxOffProcElmts(vector, max_off_proc_elmts) + ccall((:HYPRE_IJVectorSetMaxOffProcElmts, libHYPRE), HYPRE_Int, (HYPRE_IJVector, HYPRE_Int), vector, max_off_proc_elmts) end -function MPI_Exscan_init(sendbuf, recvbuf, count, datatype, op, comm, info, request) - ccall((:MPI_Exscan_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, info, request) +function HYPRE_IJVectorSetValues(vector, nvalues, indices, values) + ccall((:HYPRE_IJVectorSetValues, libHYPRE), HYPRE_Int, (HYPRE_IJVector, HYPRE_Int, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Complex}), vector, nvalues, indices, values) end -function MPI_Gather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) - ccall((:MPI_Gather, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) +function HYPRE_IJVectorAddToValues(vector, nvalues, indices, values) + ccall((:HYPRE_IJVectorAddToValues, libHYPRE), HYPRE_Int, (HYPRE_IJVector, HYPRE_Int, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Complex}), vector, nvalues, indices, values) end -function MPI_Gather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) - ccall((:MPI_Gather_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) +function HYPRE_IJVectorAssemble(vector) + ccall((:HYPRE_IJVectorAssemble, libHYPRE), HYPRE_Int, (HYPRE_IJVector,), vector) end -function MPI_Gatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm) - ccall((:MPI_Gatherv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Cint, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm) +function HYPRE_IJVectorGetValues(vector, nvalues, indices, values) + ccall((:HYPRE_IJVectorGetValues, libHYPRE), HYPRE_Int, (HYPRE_IJVector, HYPRE_Int, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Complex}), vector, nvalues, indices, values) end -function MPI_Gatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request) - ccall((:MPI_Gatherv_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request) +function HYPRE_IJVectorSetObjectType(vector, type) + ccall((:HYPRE_IJVectorSetObjectType, libHYPRE), HYPRE_Int, (HYPRE_IJVector, HYPRE_Int), vector, type) end -function MPI_Iallgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:MPI_Iallgather, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) +function HYPRE_IJVectorGetObjectType(vector, type) + ccall((:HYPRE_IJVectorGetObjectType, libHYPRE), HYPRE_Int, (HYPRE_IJVector, Ptr{HYPRE_Int}), vector, type) end -function MPI_Iallgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) - ccall((:MPI_Iallgatherv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) +function HYPRE_IJVectorGetLocalRange(vector, jlower, jupper) + ccall((:HYPRE_IJVectorGetLocalRange, libHYPRE), HYPRE_Int, (HYPRE_IJVector, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}), vector, jlower, jupper) end -function MPI_Iallreduce(sendbuf, recvbuf, count, datatype, op, comm, request) - ccall((:MPI_Iallreduce, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, request) +function HYPRE_IJVectorGetObject(vector, object) + ccall((:HYPRE_IJVectorGetObject, libHYPRE), HYPRE_Int, (HYPRE_IJVector, Ptr{Ptr{Cvoid}}), vector, object) end -function MPI_Ialltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:MPI_Ialltoall, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) +function HYPRE_IJVectorSetPrintLevel(vector, print_level) + ccall((:HYPRE_IJVectorSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_IJVector, HYPRE_Int), vector, print_level) end -function MPI_Ialltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) - ccall((:MPI_Ialltoallv, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) +function HYPRE_IJVectorRead(filename, comm, type, vector) + ccall((:HYPRE_IJVectorRead, libHYPRE), HYPRE_Int, (Ptr{Cchar}, MPI_Comm, HYPRE_Int, Ptr{HYPRE_IJVector}), filename, comm, type, vector) end -function MPI_Ialltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) - ccall((:MPI_Ialltoallw, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) +function HYPRE_IJVectorPrint(vector, filename) + ccall((:HYPRE_IJVectorPrint, libHYPRE), HYPRE_Int, (HYPRE_IJVector, Ptr{Cchar}), vector, filename) end -function MPI_Ibarrier(comm, request) - ccall((:MPI_Ibarrier, libHYPRE), Cint, (MPI_Comm, Ptr{MPI_Request}), comm, request) -end +mutable struct hypre_CSRMatrix_struct end -function MPI_Ibcast(buffer, count, datatype, root, comm, request) - ccall((:MPI_Ibcast, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), buffer, count, datatype, root, comm, request) -end +const HYPRE_CSRMatrix = Ptr{hypre_CSRMatrix_struct} -function MPI_Iexscan(sendbuf, recvbuf, count, datatype, op, comm, request) - ccall((:MPI_Iexscan, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, request) -end +mutable struct hypre_MappedMatrix_struct end -function MPI_Igather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) - ccall((:MPI_Igather, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) -end +const HYPRE_MappedMatrix = Ptr{hypre_MappedMatrix_struct} -function MPI_Igatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request) - ccall((:MPI_Igatherv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request) -end +mutable struct hypre_MultiblockMatrix_struct end -function MPI_Ineighbor_allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:MPI_Ineighbor_allgather, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) -end +const HYPRE_MultiblockMatrix = Ptr{hypre_MultiblockMatrix_struct} -function MPI_Ineighbor_allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) - ccall((:MPI_Ineighbor_allgatherv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) -end +mutable struct hypre_Vector_struct end -function MPI_Ineighbor_alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:MPI_Ineighbor_alltoall, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) -end +const HYPRE_Vector = Ptr{hypre_Vector_struct} -function MPI_Ineighbor_alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) - ccall((:MPI_Ineighbor_alltoallv, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) +function HYPRE_CSRMatrixCreate(num_rows, num_cols, row_sizes) + ccall((:HYPRE_CSRMatrixCreate, libHYPRE), HYPRE_CSRMatrix, (HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Int}), num_rows, num_cols, row_sizes) end -function MPI_Ineighbor_alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) - ccall((:MPI_Ineighbor_alltoallw, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) +function HYPRE_CSRMatrixDestroy(matrix) + ccall((:HYPRE_CSRMatrixDestroy, libHYPRE), HYPRE_Int, (HYPRE_CSRMatrix,), matrix) end -function MPI_Ireduce(sendbuf, recvbuf, count, datatype, op, root, comm, request) - ccall((:MPI_Ireduce, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, root, comm, request) +function HYPRE_CSRMatrixInitialize(matrix) + ccall((:HYPRE_CSRMatrixInitialize, libHYPRE), HYPRE_Int, (HYPRE_CSRMatrix,), matrix) end -function MPI_Ireduce_scatter(sendbuf, recvbuf, recvcounts, datatype, op, comm, request) - ccall((:MPI_Ireduce_scatter, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, recvcounts, datatype, op, comm, request) +function HYPRE_CSRMatrixRead(file_name) + ccall((:HYPRE_CSRMatrixRead, libHYPRE), HYPRE_CSRMatrix, (Ptr{Cchar},), file_name) end -function MPI_Ireduce_scatter_block(sendbuf, recvbuf, recvcount, datatype, op, comm, request) - ccall((:MPI_Ireduce_scatter_block, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, recvcount, datatype, op, comm, request) +function HYPRE_CSRMatrixPrint(matrix, file_name) + ccall((:HYPRE_CSRMatrixPrint, libHYPRE), Cvoid, (HYPRE_CSRMatrix, Ptr{Cchar}), matrix, file_name) end -function MPI_Iscan(sendbuf, recvbuf, count, datatype, op, comm, request) - ccall((:MPI_Iscan, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, request) +function HYPRE_CSRMatrixGetNumRows(matrix, num_rows) + ccall((:HYPRE_CSRMatrixGetNumRows, libHYPRE), HYPRE_Int, (HYPRE_CSRMatrix, Ptr{HYPRE_Int}), matrix, num_rows) end -function MPI_Iscatter(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) - ccall((:MPI_Iscatter, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) +function HYPRE_MappedMatrixCreate() + ccall((:HYPRE_MappedMatrixCreate, libHYPRE), HYPRE_MappedMatrix, ()) end -function MPI_Iscatterv(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request) - ccall((:MPI_Iscatterv, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request) +function HYPRE_MappedMatrixDestroy(matrix) + ccall((:HYPRE_MappedMatrixDestroy, libHYPRE), HYPRE_Int, (HYPRE_MappedMatrix,), matrix) end -function MPI_Neighbor_allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:MPI_Neighbor_allgather, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) +function HYPRE_MappedMatrixLimitedDestroy(matrix) + ccall((:HYPRE_MappedMatrixLimitedDestroy, libHYPRE), HYPRE_Int, (HYPRE_MappedMatrix,), matrix) end -function MPI_Neighbor_allgather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:MPI_Neighbor_allgather_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) -end - -function MPI_Neighbor_allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) - ccall((:MPI_Neighbor_allgatherv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) +function HYPRE_MappedMatrixInitialize(matrix) + ccall((:HYPRE_MappedMatrixInitialize, libHYPRE), HYPRE_Int, (HYPRE_MappedMatrix,), matrix) end -function MPI_Neighbor_allgatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) - ccall((:MPI_Neighbor_allgatherv_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) +function HYPRE_MappedMatrixAssemble(matrix) + ccall((:HYPRE_MappedMatrixAssemble, libHYPRE), HYPRE_Int, (HYPRE_MappedMatrix,), matrix) end -function MPI_Neighbor_alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:MPI_Neighbor_alltoall, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) +function HYPRE_MappedMatrixPrint(matrix) + ccall((:HYPRE_MappedMatrixPrint, libHYPRE), Cvoid, (HYPRE_MappedMatrix,), matrix) end -function MPI_Neighbor_alltoall_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:MPI_Neighbor_alltoall_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) +function HYPRE_MappedMatrixGetColIndex(matrix, j) + ccall((:HYPRE_MappedMatrixGetColIndex, libHYPRE), HYPRE_Int, (HYPRE_MappedMatrix, HYPRE_Int), matrix, j) end -function MPI_Neighbor_alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) - ccall((:MPI_Neighbor_alltoallv, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) +function HYPRE_MappedMatrixGetMatrix(matrix) + ccall((:HYPRE_MappedMatrixGetMatrix, libHYPRE), Ptr{Cvoid}, (HYPRE_MappedMatrix,), matrix) end -function MPI_Neighbor_alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) - ccall((:MPI_Neighbor_alltoallv_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) +function HYPRE_MappedMatrixSetMatrix(matrix, matrix_data) + ccall((:HYPRE_MappedMatrixSetMatrix, libHYPRE), HYPRE_Int, (HYPRE_MappedMatrix, Ptr{Cvoid}), matrix, matrix_data) end -function MPI_Neighbor_alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) - ccall((:MPI_Neighbor_alltoallw, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) +function HYPRE_MappedMatrixSetColMap(matrix, ColMap) + ccall((:HYPRE_MappedMatrixSetColMap, libHYPRE), HYPRE_Int, (HYPRE_MappedMatrix, Ptr{Cvoid}), matrix, ColMap) end -function MPI_Neighbor_alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) - ccall((:MPI_Neighbor_alltoallw_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) +function HYPRE_MappedMatrixSetMapData(matrix, MapData) + ccall((:HYPRE_MappedMatrixSetMapData, libHYPRE), HYPRE_Int, (HYPRE_MappedMatrix, Ptr{Cvoid}), matrix, MapData) end -function MPI_Reduce(sendbuf, recvbuf, count, datatype, op, root, comm) - ccall((:MPI_Reduce, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, Cint, MPI_Comm), sendbuf, recvbuf, count, datatype, op, root, comm) +function HYPRE_MultiblockMatrixCreate() + ccall((:HYPRE_MultiblockMatrixCreate, libHYPRE), HYPRE_MultiblockMatrix, ()) end -function MPI_Reduce_init(sendbuf, recvbuf, count, datatype, op, root, comm, info, request) - ccall((:MPI_Reduce_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, root, comm, info, request) +function HYPRE_MultiblockMatrixDestroy(matrix) + ccall((:HYPRE_MultiblockMatrixDestroy, libHYPRE), HYPRE_Int, (HYPRE_MultiblockMatrix,), matrix) end -function MPI_Reduce_local(inbuf, inoutbuf, count, datatype, op) - ccall((:MPI_Reduce_local, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op), inbuf, inoutbuf, count, datatype, op) +function HYPRE_MultiblockMatrixLimitedDestroy(matrix) + ccall((:HYPRE_MultiblockMatrixLimitedDestroy, libHYPRE), HYPRE_Int, (HYPRE_MultiblockMatrix,), matrix) end -function MPI_Reduce_scatter(sendbuf, recvbuf, recvcounts, datatype, op, comm) - ccall((:MPI_Reduce_scatter, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, MPI_Datatype, MPI_Op, MPI_Comm), sendbuf, recvbuf, recvcounts, datatype, op, comm) +function HYPRE_MultiblockMatrixInitialize(matrix) + ccall((:HYPRE_MultiblockMatrixInitialize, libHYPRE), HYPRE_Int, (HYPRE_MultiblockMatrix,), matrix) end -function MPI_Reduce_scatter_block(sendbuf, recvbuf, recvcount, datatype, op, comm) - ccall((:MPI_Reduce_scatter_block, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm), sendbuf, recvbuf, recvcount, datatype, op, comm) +function HYPRE_MultiblockMatrixAssemble(matrix) + ccall((:HYPRE_MultiblockMatrixAssemble, libHYPRE), HYPRE_Int, (HYPRE_MultiblockMatrix,), matrix) end -function MPI_Reduce_scatter_block_init(sendbuf, recvbuf, recvcount, datatype, op, comm, info, request) - ccall((:MPI_Reduce_scatter_block_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, recvcount, datatype, op, comm, info, request) +function HYPRE_MultiblockMatrixPrint(matrix) + ccall((:HYPRE_MultiblockMatrixPrint, libHYPRE), Cvoid, (HYPRE_MultiblockMatrix,), matrix) end -function MPI_Reduce_scatter_init(sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request) - ccall((:MPI_Reduce_scatter_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request) +function HYPRE_MultiblockMatrixSetNumSubmatrices(matrix, n) + ccall((:HYPRE_MultiblockMatrixSetNumSubmatrices, libHYPRE), HYPRE_Int, (HYPRE_MultiblockMatrix, HYPRE_Int), matrix, n) end -function MPI_Scan(sendbuf, recvbuf, count, datatype, op, comm) - ccall((:MPI_Scan, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm), sendbuf, recvbuf, count, datatype, op, comm) +function HYPRE_MultiblockMatrixSetSubmatrixType(matrix, j, type) + ccall((:HYPRE_MultiblockMatrixSetSubmatrixType, libHYPRE), HYPRE_Int, (HYPRE_MultiblockMatrix, HYPRE_Int, HYPRE_Int), matrix, j, type) end -function MPI_Scan_init(sendbuf, recvbuf, count, datatype, op, comm, info, request) - ccall((:MPI_Scan_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, info, request) +function HYPRE_VectorCreate(size) + ccall((:HYPRE_VectorCreate, libHYPRE), HYPRE_Vector, (HYPRE_Int,), size) end -function MPI_Scatter(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) - ccall((:MPI_Scatter, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) +function HYPRE_VectorDestroy(vector) + ccall((:HYPRE_VectorDestroy, libHYPRE), HYPRE_Int, (HYPRE_Vector,), vector) end -function MPI_Scatter_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) - ccall((:MPI_Scatter_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) +function HYPRE_VectorInitialize(vector) + ccall((:HYPRE_VectorInitialize, libHYPRE), HYPRE_Int, (HYPRE_Vector,), vector) end -function MPI_Scatterv(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm) - ccall((:MPI_Scatterv, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm), sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm) +function HYPRE_VectorPrint(vector, file_name) + ccall((:HYPRE_VectorPrint, libHYPRE), HYPRE_Int, (HYPRE_Vector, Ptr{Cchar}), vector, file_name) end -function MPI_Scatterv_init(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) - ccall((:MPI_Scatterv_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) +function HYPRE_VectorRead(file_name) + ccall((:HYPRE_VectorRead, libHYPRE), HYPRE_Vector, (Ptr{Cchar},), file_name) end -function MPI_Comm_compare(comm1, comm2, result) - ccall((:MPI_Comm_compare, libHYPRE), Cint, (MPI_Comm, MPI_Comm, Ptr{Cint}), comm1, comm2, result) +@cenum HYPRE_TimerID::UInt32 begin + HYPRE_TIMER_ID_MATVEC = 0 + HYPRE_TIMER_ID_BLAS1 = 1 + HYPRE_TIMER_ID_RELAX = 2 + HYPRE_TIMER_ID_GS_ELIM_SOLVE = 3 + HYPRE_TIMER_ID_PACK_UNPACK = 4 + HYPRE_TIMER_ID_HALO_EXCHANGE = 5 + HYPRE_TIMER_ID_ALL_REDUCE = 6 + HYPRE_TIMER_ID_CREATES = 7 + HYPRE_TIMER_ID_CREATE_2NDS = 8 + HYPRE_TIMER_ID_PMIS = 9 + HYPRE_TIMER_ID_EXTENDED_I_INTERP = 10 + HYPRE_TIMER_ID_PARTIAL_INTERP = 11 + HYPRE_TIMER_ID_MULTIPASS_INTERP = 12 + HYPRE_TIMER_ID_INTERP_TRUNC = 13 + HYPRE_TIMER_ID_MATMUL = 14 + HYPRE_TIMER_ID_COARSE_PARAMS = 15 + HYPRE_TIMER_ID_RAP = 16 + HYPRE_TIMER_ID_RENUMBER_COLIDX = 17 + HYPRE_TIMER_ID_EXCHANGE_INTERP_DATA = 18 + HYPRE_TIMER_ID_GS_ELIM_SETUP = 19 + HYPRE_TIMER_ID_BEXT_A = 20 + HYPRE_TIMER_ID_BEXT_S = 21 + HYPRE_TIMER_ID_RENUMBER_COLIDX_RAP = 22 + HYPRE_TIMER_ID_MERGE = 23 + HYPRE_TIMER_ID_SPMM_ROWNNZ = 24 + HYPRE_TIMER_ID_SPMM_ATTEMPT1 = 25 + HYPRE_TIMER_ID_SPMM_ATTEMPT2 = 26 + HYPRE_TIMER_ID_SPMM_SYMBOLIC = 27 + HYPRE_TIMER_ID_SPMM_NUMERIC = 28 + HYPRE_TIMER_ID_SPMM = 29 + HYPRE_TIMER_ID_SPADD = 30 + HYPRE_TIMER_ID_SPTRANS = 31 + HYPRE_TIMER_ID_COUNT = 32 end -function MPI_Comm_create(comm, group, newcomm) - ccall((:MPI_Comm_create, libHYPRE), Cint, (MPI_Comm, MPI_Group, Ptr{MPI_Comm}), comm, group, newcomm) -end +mutable struct hypre_ParCSRMatrix_struct end -function MPI_Comm_create_group(comm, group, tag, newcomm) - ccall((:MPI_Comm_create_group, libHYPRE), Cint, (MPI_Comm, MPI_Group, Cint, Ptr{MPI_Comm}), comm, group, tag, newcomm) -end +const HYPRE_ParCSRMatrix = Ptr{hypre_ParCSRMatrix_struct} -function MPI_Comm_dup(comm, newcomm) - ccall((:MPI_Comm_dup, libHYPRE), Cint, (MPI_Comm, Ptr{MPI_Comm}), comm, newcomm) -end +mutable struct hypre_ParVector_struct end -function MPI_Comm_dup_with_info(comm, info, newcomm) - ccall((:MPI_Comm_dup_with_info, libHYPRE), Cint, (MPI_Comm, MPI_Info, Ptr{MPI_Comm}), comm, info, newcomm) -end +const HYPRE_ParVector = Ptr{hypre_ParVector_struct} -function MPI_Comm_free(comm) - ccall((:MPI_Comm_free, libHYPRE), Cint, (Ptr{MPI_Comm},), comm) +function HYPRE_ParCSRMatrixCreate(comm, global_num_rows, global_num_cols, row_starts, col_starts, num_cols_offd, num_nonzeros_diag, num_nonzeros_offd, matrix) + ccall((:HYPRE_ParCSRMatrixCreate, libHYPRE), HYPRE_Int, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_ParCSRMatrix}), comm, global_num_rows, global_num_cols, row_starts, col_starts, num_cols_offd, num_nonzeros_diag, num_nonzeros_offd, matrix) end -function MPI_Comm_get_info(comm, info_used) - ccall((:MPI_Comm_get_info, libHYPRE), Cint, (MPI_Comm, Ptr{MPI_Info}), comm, info_used) +function HYPRE_ParCSRMatrixDestroy(matrix) + ccall((:HYPRE_ParCSRMatrixDestroy, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix,), matrix) end -function MPI_Comm_get_name(comm, comm_name, resultlen) - ccall((:MPI_Comm_get_name, libHYPRE), Cint, (MPI_Comm, Ptr{Cchar}, Ptr{Cint}), comm, comm_name, resultlen) +function HYPRE_ParCSRMatrixInitialize(matrix) + ccall((:HYPRE_ParCSRMatrixInitialize, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix,), matrix) end -function MPI_Comm_group(comm, group) - ccall((:MPI_Comm_group, libHYPRE), Cint, (MPI_Comm, Ptr{MPI_Group}), comm, group) +function HYPRE_ParCSRMatrixRead(comm, file_name, matrix) + ccall((:HYPRE_ParCSRMatrixRead, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{Cchar}, Ptr{HYPRE_ParCSRMatrix}), comm, file_name, matrix) end -function MPI_Comm_idup(comm, newcomm, request) - ccall((:MPI_Comm_idup, libHYPRE), Cint, (MPI_Comm, Ptr{MPI_Comm}, Ptr{MPI_Request}), comm, newcomm, request) +function HYPRE_ParCSRMatrixPrint(matrix, file_name) + ccall((:HYPRE_ParCSRMatrixPrint, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix, Ptr{Cchar}), matrix, file_name) end -function MPI_Comm_idup_with_info(comm, info, newcomm, request) - ccall((:MPI_Comm_idup_with_info, libHYPRE), Cint, (MPI_Comm, MPI_Info, Ptr{MPI_Comm}, Ptr{MPI_Request}), comm, info, newcomm, request) +function HYPRE_ParCSRMatrixGetComm(matrix, comm) + ccall((:HYPRE_ParCSRMatrixGetComm, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix, Ptr{MPI_Comm}), matrix, comm) end -function MPI_Comm_rank(comm, rank) - ccall((:MPI_Comm_rank, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}), comm, rank) +function HYPRE_ParCSRMatrixGetDims(matrix, M, N) + ccall((:HYPRE_ParCSRMatrixGetDims, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}), matrix, M, N) end -function MPI_Comm_remote_group(comm, group) - ccall((:MPI_Comm_remote_group, libHYPRE), Cint, (MPI_Comm, Ptr{MPI_Group}), comm, group) +function HYPRE_ParCSRMatrixGetRowPartitioning(matrix, row_partitioning_ptr) + ccall((:HYPRE_ParCSRMatrixGetRowPartitioning, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix, Ptr{Ptr{HYPRE_BigInt}}), matrix, row_partitioning_ptr) end -function MPI_Comm_remote_size(comm, size) - ccall((:MPI_Comm_remote_size, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}), comm, size) +function HYPRE_ParCSRMatrixGetColPartitioning(matrix, col_partitioning_ptr) + ccall((:HYPRE_ParCSRMatrixGetColPartitioning, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix, Ptr{Ptr{HYPRE_BigInt}}), matrix, col_partitioning_ptr) end -function MPI_Comm_set_info(comm, info) - ccall((:MPI_Comm_set_info, libHYPRE), Cint, (MPI_Comm, MPI_Info), comm, info) +function HYPRE_ParCSRMatrixGetLocalRange(matrix, row_start, row_end, col_start, col_end) + ccall((:HYPRE_ParCSRMatrixGetLocalRange, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}), matrix, row_start, row_end, col_start, col_end) end -function MPI_Comm_set_name(comm, comm_name) - ccall((:MPI_Comm_set_name, libHYPRE), Cint, (MPI_Comm, Ptr{Cchar}), comm, comm_name) +function HYPRE_ParCSRMatrixGetRow(matrix, row, size, col_ind, values) + ccall((:HYPRE_ParCSRMatrixGetRow, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix, HYPRE_BigInt, Ptr{HYPRE_Int}, Ptr{Ptr{HYPRE_BigInt}}, Ptr{Ptr{HYPRE_Complex}}), matrix, row, size, col_ind, values) end -function MPI_Comm_size(comm, size) - ccall((:MPI_Comm_size, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}), comm, size) +function HYPRE_ParCSRMatrixRestoreRow(matrix, row, size, col_ind, values) + ccall((:HYPRE_ParCSRMatrixRestoreRow, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix, HYPRE_BigInt, Ptr{HYPRE_Int}, Ptr{Ptr{HYPRE_BigInt}}, Ptr{Ptr{HYPRE_Complex}}), matrix, row, size, col_ind, values) end -function MPI_Comm_split(comm, color, key, newcomm) - ccall((:MPI_Comm_split, libHYPRE), Cint, (MPI_Comm, Cint, Cint, Ptr{MPI_Comm}), comm, color, key, newcomm) +function HYPRE_CSRMatrixToParCSRMatrix(comm, A_CSR, row_partitioning, col_partitioning, matrix) + ccall((:HYPRE_CSRMatrixToParCSRMatrix, libHYPRE), HYPRE_Int, (MPI_Comm, HYPRE_CSRMatrix, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_ParCSRMatrix}), comm, A_CSR, row_partitioning, col_partitioning, matrix) end -function MPI_Comm_split_type(comm, split_type, key, info, newcomm) - ccall((:MPI_Comm_split_type, libHYPRE), Cint, (MPI_Comm, Cint, Cint, MPI_Info, Ptr{MPI_Comm}), comm, split_type, key, info, newcomm) +function HYPRE_ParCSRMatrixMatvec(alpha, A, x, beta, y) + ccall((:HYPRE_ParCSRMatrixMatvec, libHYPRE), HYPRE_Int, (HYPRE_Complex, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_Complex, HYPRE_ParVector), alpha, A, x, beta, y) end -function MPI_Comm_test_inter(comm, flag) - ccall((:MPI_Comm_test_inter, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}), comm, flag) +function HYPRE_ParCSRMatrixMatvecT(alpha, A, x, beta, y) + ccall((:HYPRE_ParCSRMatrixMatvecT, libHYPRE), HYPRE_Int, (HYPRE_Complex, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_Complex, HYPRE_ParVector), alpha, A, x, beta, y) end -function MPI_Intercomm_create(local_comm, local_leader, peer_comm, remote_leader, tag, newintercomm) - ccall((:MPI_Intercomm_create, libHYPRE), Cint, (MPI_Comm, Cint, MPI_Comm, Cint, Cint, Ptr{MPI_Comm}), local_comm, local_leader, peer_comm, remote_leader, tag, newintercomm) +function HYPRE_ParVectorCreate(comm, global_size, partitioning, vector) + ccall((:HYPRE_ParVectorCreate, libHYPRE), HYPRE_Int, (MPI_Comm, HYPRE_BigInt, Ptr{HYPRE_BigInt}, Ptr{HYPRE_ParVector}), comm, global_size, partitioning, vector) end -function MPI_Intercomm_create_from_groups(local_group, local_leader, remote_group, remote_leader, stringtag, info, errhandler, newintercomm) - ccall((:MPI_Intercomm_create_from_groups, libHYPRE), Cint, (MPI_Group, Cint, MPI_Group, Cint, Ptr{Cchar}, MPI_Info, MPI_Errhandler, Ptr{MPI_Comm}), local_group, local_leader, remote_group, remote_leader, stringtag, info, errhandler, newintercomm) +function HYPRE_ParVectorDestroy(vector) + ccall((:HYPRE_ParVectorDestroy, libHYPRE), HYPRE_Int, (HYPRE_ParVector,), vector) end -function MPI_Intercomm_merge(intercomm, high, newintracomm) - ccall((:MPI_Intercomm_merge, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{MPI_Comm}), intercomm, high, newintracomm) +function HYPRE_ParVectorInitialize(vector) + ccall((:HYPRE_ParVectorInitialize, libHYPRE), HYPRE_Int, (HYPRE_ParVector,), vector) end -function MPIX_Comm_revoke(comm) - ccall((:MPIX_Comm_revoke, libHYPRE), Cint, (MPI_Comm,), comm) +function HYPRE_ParVectorRead(comm, file_name, vector) + ccall((:HYPRE_ParVectorRead, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{Cchar}, Ptr{HYPRE_ParVector}), comm, file_name, vector) end -function MPIX_Comm_shrink(comm, newcomm) - ccall((:MPIX_Comm_shrink, libHYPRE), Cint, (MPI_Comm, Ptr{MPI_Comm}), comm, newcomm) +function HYPRE_ParVectorPrint(vector, file_name) + ccall((:HYPRE_ParVectorPrint, libHYPRE), HYPRE_Int, (HYPRE_ParVector, Ptr{Cchar}), vector, file_name) end -function MPIX_Comm_failure_ack(comm) - ccall((:MPIX_Comm_failure_ack, libHYPRE), Cint, (MPI_Comm,), comm) +function HYPRE_ParVectorSetConstantValues(vector, value) + ccall((:HYPRE_ParVectorSetConstantValues, libHYPRE), HYPRE_Int, (HYPRE_ParVector, HYPRE_Complex), vector, value) end -function MPIX_Comm_failure_get_acked(comm, failedgrp) - ccall((:MPIX_Comm_failure_get_acked, libHYPRE), Cint, (MPI_Comm, Ptr{MPI_Group}), comm, failedgrp) +function HYPRE_ParVectorSetRandomValues(vector, seed) + ccall((:HYPRE_ParVectorSetRandomValues, libHYPRE), HYPRE_Int, (HYPRE_ParVector, HYPRE_Int), vector, seed) end -function MPIX_Comm_agree(comm, flag) - ccall((:MPIX_Comm_agree, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}), comm, flag) +function HYPRE_ParVectorCopy(x, y) + ccall((:HYPRE_ParVectorCopy, libHYPRE), HYPRE_Int, (HYPRE_ParVector, HYPRE_ParVector), x, y) end -function MPI_Get_address(location, address) - ccall((:MPI_Get_address, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Aint}), location, address) +function HYPRE_ParVectorScale(value, x) + ccall((:HYPRE_ParVectorScale, libHYPRE), HYPRE_Int, (HYPRE_Complex, HYPRE_ParVector), value, x) end -function MPI_Get_count(status, datatype, count) - ccall((:MPI_Get_count, libHYPRE), Cint, (Ptr{MPI_Status}, MPI_Datatype, Ptr{Cint}), status, datatype, count) +function HYPRE_ParVectorInnerProd(x, y, prod) + ccall((:HYPRE_ParVectorInnerProd, libHYPRE), HYPRE_Int, (HYPRE_ParVector, HYPRE_ParVector, Ptr{HYPRE_Real}), x, y, prod) end -function MPI_Get_elements(status, datatype, count) - ccall((:MPI_Get_elements, libHYPRE), Cint, (Ptr{MPI_Status}, MPI_Datatype, Ptr{Cint}), status, datatype, count) +function HYPRE_VectorToParVector(comm, b, partitioning, vector) + ccall((:HYPRE_VectorToParVector, libHYPRE), HYPRE_Int, (MPI_Comm, HYPRE_Vector, Ptr{HYPRE_BigInt}, Ptr{HYPRE_ParVector}), comm, b, partitioning, vector) end -function MPI_Get_elements_x(status, datatype, count) - ccall((:MPI_Get_elements_x, libHYPRE), Cint, (Ptr{MPI_Status}, MPI_Datatype, Ptr{MPI_Count}), status, datatype, count) +function HYPRE_ParVectorGetValues(vector, num_values, indices, values) + ccall((:HYPRE_ParVectorGetValues, libHYPRE), HYPRE_Int, (HYPRE_ParVector, HYPRE_Int, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Complex}), vector, num_values, indices, values) end -function MPI_Pack(inbuf, incount, datatype, outbuf, outsize, position, comm) - ccall((:MPI_Pack, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, Ptr{Cint}, MPI_Comm), inbuf, incount, datatype, outbuf, outsize, position, comm) -end +mutable struct hypre_Solver_struct end -function MPI_Pack_external(datarep, inbuf, incount, datatype, outbuf, outsize, position) - ccall((:MPI_Pack_external, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, MPI_Aint, Ptr{MPI_Aint}), datarep, inbuf, incount, datatype, outbuf, outsize, position) -end +const HYPRE_Solver = Ptr{hypre_Solver_struct} -function MPI_Pack_external_size(datarep, incount, datatype, size) - ccall((:MPI_Pack_external_size, libHYPRE), Cint, (Ptr{Cchar}, Cint, MPI_Datatype, Ptr{MPI_Aint}), datarep, incount, datatype, size) -end +mutable struct hypre_Matrix_struct end -function MPI_Pack_size(incount, datatype, comm, size) - ccall((:MPI_Pack_size, libHYPRE), Cint, (Cint, MPI_Datatype, MPI_Comm, Ptr{Cint}), incount, datatype, comm, size) -end +const HYPRE_Matrix = Ptr{hypre_Matrix_struct} -function MPI_Status_set_elements(status, datatype, count) - ccall((:MPI_Status_set_elements, libHYPRE), Cint, (Ptr{MPI_Status}, MPI_Datatype, Cint), status, datatype, count) -end +# typedef HYPRE_Int ( * HYPRE_PtrToSolverFcn ) ( HYPRE_Solver , HYPRE_Matrix , HYPRE_Vector , HYPRE_Vector ) +const HYPRE_PtrToSolverFcn = Ptr{Cvoid} -function MPI_Status_set_elements_x(status, datatype, count) - ccall((:MPI_Status_set_elements_x, libHYPRE), Cint, (Ptr{MPI_Status}, MPI_Datatype, MPI_Count), status, datatype, count) -end +# typedef HYPRE_Int ( * HYPRE_PtrToModifyPCFcn ) ( HYPRE_Solver , HYPRE_Int , HYPRE_Real ) +const HYPRE_PtrToModifyPCFcn = Ptr{Cvoid} -function MPI_Type_commit(datatype) - ccall((:MPI_Type_commit, libHYPRE), Cint, (Ptr{MPI_Datatype},), datatype) +function HYPRE_PCGSetup(solver, A, b, x) + ccall((:HYPRE_PCGSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) end -function MPI_Type_contiguous(count, oldtype, newtype) - ccall((:MPI_Type_contiguous, libHYPRE), Cint, (Cint, MPI_Datatype, Ptr{MPI_Datatype}), count, oldtype, newtype) +function HYPRE_PCGSolve(solver, A, b, x) + ccall((:HYPRE_PCGSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) end -function MPI_Type_create_darray(size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype) - ccall((:MPI_Type_create_darray, libHYPRE), Cint, (Cint, Cint, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Cint, MPI_Datatype, Ptr{MPI_Datatype}), size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype) +function HYPRE_PCGSetTol(solver, tol) + ccall((:HYPRE_PCGSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function MPI_Type_create_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype) - ccall((:MPI_Type_create_hindexed, libHYPRE), Cint, (Cint, Ptr{Cint}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{MPI_Datatype}), count, array_of_blocklengths, array_of_displacements, oldtype, newtype) +function HYPRE_PCGSetAbsoluteTol(solver, a_tol) + ccall((:HYPRE_PCGSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) end -function MPI_Type_create_hindexed_block(count, blocklength, array_of_displacements, oldtype, newtype) - ccall((:MPI_Type_create_hindexed_block, libHYPRE), Cint, (Cint, Cint, Ptr{MPI_Aint}, MPI_Datatype, Ptr{MPI_Datatype}), count, blocklength, array_of_displacements, oldtype, newtype) +function HYPRE_PCGSetResidualTol(solver, rtol) + ccall((:HYPRE_PCGSetResidualTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, rtol) end -function MPI_Type_create_hvector(count, blocklength, stride, oldtype, newtype) - ccall((:MPI_Type_create_hvector, libHYPRE), Cint, (Cint, Cint, MPI_Aint, MPI_Datatype, Ptr{MPI_Datatype}), count, blocklength, stride, oldtype, newtype) +function HYPRE_PCGSetAbsoluteTolFactor(solver, abstolf) + ccall((:HYPRE_PCGSetAbsoluteTolFactor, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, abstolf) end -function MPI_Type_create_indexed_block(count, blocklength, array_of_displacements, oldtype, newtype) - ccall((:MPI_Type_create_indexed_block, libHYPRE), Cint, (Cint, Cint, Ptr{Cint}, MPI_Datatype, Ptr{MPI_Datatype}), count, blocklength, array_of_displacements, oldtype, newtype) +function HYPRE_PCGSetConvergenceFactorTol(solver, cf_tol) + ccall((:HYPRE_PCGSetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, cf_tol) end -function MPI_Type_create_resized(oldtype, lb, extent, newtype) - ccall((:MPI_Type_create_resized, libHYPRE), Cint, (MPI_Datatype, MPI_Aint, MPI_Aint, Ptr{MPI_Datatype}), oldtype, lb, extent, newtype) +function HYPRE_PCGSetStopCrit(solver, stop_crit) + ccall((:HYPRE_PCGSetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, stop_crit) end -function MPI_Type_create_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype) - ccall((:MPI_Type_create_struct, libHYPRE), Cint, (Cint, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{MPI_Datatype}), count, array_of_blocklengths, array_of_displacements, array_of_types, newtype) +function HYPRE_PCGSetMaxIter(solver, max_iter) + ccall((:HYPRE_PCGSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) end -function MPI_Type_create_subarray(ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype) - ccall((:MPI_Type_create_subarray, libHYPRE), Cint, (Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Cint, MPI_Datatype, Ptr{MPI_Datatype}), ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype) +function HYPRE_PCGSetTwoNorm(solver, two_norm) + ccall((:HYPRE_PCGSetTwoNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, two_norm) end -function MPI_Type_dup(oldtype, newtype) - ccall((:MPI_Type_dup, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Datatype}), oldtype, newtype) +function HYPRE_PCGSetRelChange(solver, rel_change) + ccall((:HYPRE_PCGSetRelChange, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, rel_change) end -function MPI_Type_free(datatype) - ccall((:MPI_Type_free, libHYPRE), Cint, (Ptr{MPI_Datatype},), datatype) +function HYPRE_PCGSetRecomputeResidual(solver, recompute_residual) + ccall((:HYPRE_PCGSetRecomputeResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, recompute_residual) end -function MPI_Type_get_contents(datatype, max_integers, max_addresses, max_datatypes, array_of_integers, array_of_addresses, array_of_datatypes) - ccall((:MPI_Type_get_contents, libHYPRE), Cint, (MPI_Datatype, Cint, Cint, Cint, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}), datatype, max_integers, max_addresses, max_datatypes, array_of_integers, array_of_addresses, array_of_datatypes) +function HYPRE_PCGSetRecomputeResidualP(solver, recompute_residual_p) + ccall((:HYPRE_PCGSetRecomputeResidualP, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, recompute_residual_p) end -function MPI_Type_get_envelope(datatype, num_integers, num_addresses, num_datatypes, combiner) - ccall((:MPI_Type_get_envelope, libHYPRE), Cint, (MPI_Datatype, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), datatype, num_integers, num_addresses, num_datatypes, combiner) +function HYPRE_PCGSetPrecond(solver, precond, precond_setup, precond_solver) + ccall((:HYPRE_PCGSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToSolverFcn, HYPRE_PtrToSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) end -function MPI_Type_get_extent(datatype, lb, extent) - ccall((:MPI_Type_get_extent, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Aint}, Ptr{MPI_Aint}), datatype, lb, extent) +function HYPRE_PCGSetLogging(solver, logging) + ccall((:HYPRE_PCGSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) end -function MPI_Type_get_extent_x(datatype, lb, extent) - ccall((:MPI_Type_get_extent_x, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Count}, Ptr{MPI_Count}), datatype, lb, extent) +function HYPRE_PCGSetPrintLevel(solver, level) + ccall((:HYPRE_PCGSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, level) end -function MPI_Type_get_name(datatype, type_name, resultlen) - ccall((:MPI_Type_get_name, libHYPRE), Cint, (MPI_Datatype, Ptr{Cchar}, Ptr{Cint}), datatype, type_name, resultlen) +function HYPRE_PCGGetNumIterations(solver, num_iterations) + ccall((:HYPRE_PCGGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) end -function MPI_Type_get_true_extent(datatype, true_lb, true_extent) - ccall((:MPI_Type_get_true_extent, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Aint}, Ptr{MPI_Aint}), datatype, true_lb, true_extent) +function HYPRE_PCGGetFinalRelativeResidualNorm(solver, norm) + ccall((:HYPRE_PCGGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) end -function MPI_Type_get_true_extent_x(datatype, true_lb, true_extent) - ccall((:MPI_Type_get_true_extent_x, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Count}, Ptr{MPI_Count}), datatype, true_lb, true_extent) +function HYPRE_PCGGetResidual(solver, residual) + ccall((:HYPRE_PCGGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cvoid}), solver, residual) end -function MPI_Type_indexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype) - ccall((:MPI_Type_indexed, libHYPRE), Cint, (Cint, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{MPI_Datatype}), count, array_of_blocklengths, array_of_displacements, oldtype, newtype) +function HYPRE_PCGGetTol(solver, tol) + ccall((:HYPRE_PCGGetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, tol) end -function MPI_Type_match_size(typeclass, size, datatype) - ccall((:MPI_Type_match_size, libHYPRE), Cint, (Cint, Cint, Ptr{MPI_Datatype}), typeclass, size, datatype) +function HYPRE_PCGGetResidualTol(solver, rtol) + ccall((:HYPRE_PCGGetResidualTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, rtol) end -function MPI_Type_set_name(datatype, type_name) - ccall((:MPI_Type_set_name, libHYPRE), Cint, (MPI_Datatype, Ptr{Cchar}), datatype, type_name) +function HYPRE_PCGGetAbsoluteTolFactor(solver, abstolf) + ccall((:HYPRE_PCGGetAbsoluteTolFactor, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, abstolf) end -function MPI_Type_size(datatype, size) - ccall((:MPI_Type_size, libHYPRE), Cint, (MPI_Datatype, Ptr{Cint}), datatype, size) +function HYPRE_PCGGetConvergenceFactorTol(solver, cf_tol) + ccall((:HYPRE_PCGGetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, cf_tol) end -function MPI_Type_size_x(datatype, size) - ccall((:MPI_Type_size_x, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Count}), datatype, size) +function HYPRE_PCGGetStopCrit(solver, stop_crit) + ccall((:HYPRE_PCGGetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, stop_crit) end -function MPI_Type_vector(count, blocklength, stride, oldtype, newtype) - ccall((:MPI_Type_vector, libHYPRE), Cint, (Cint, Cint, Cint, MPI_Datatype, Ptr{MPI_Datatype}), count, blocklength, stride, oldtype, newtype) +function HYPRE_PCGGetMaxIter(solver, max_iter) + ccall((:HYPRE_PCGGetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, max_iter) end -function MPI_Unpack(inbuf, insize, position, outbuf, outcount, datatype, comm) - ccall((:MPI_Unpack, libHYPRE), Cint, (Ptr{Cvoid}, Cint, Ptr{Cint}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm), inbuf, insize, position, outbuf, outcount, datatype, comm) +function HYPRE_PCGGetTwoNorm(solver, two_norm) + ccall((:HYPRE_PCGGetTwoNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, two_norm) end -function MPI_Unpack_external(datarep, inbuf, insize, position, outbuf, outcount, datatype) - ccall((:MPI_Unpack_external, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cvoid}, MPI_Aint, Ptr{MPI_Aint}, Ptr{Cvoid}, Cint, MPI_Datatype), datarep, inbuf, insize, position, outbuf, outcount, datatype) +function HYPRE_PCGGetRelChange(solver, rel_change) + ccall((:HYPRE_PCGGetRelChange, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, rel_change) end -function MPI_Address(location, address) - ccall((:MPI_Address, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Aint}), location, address) +function HYPRE_GMRESGetSkipRealResidualCheck(solver, skip_real_r_check) + ccall((:HYPRE_GMRESGetSkipRealResidualCheck, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, skip_real_r_check) end -function MPI_Type_extent(datatype, extent) - ccall((:MPI_Type_extent, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Aint}), datatype, extent) +function HYPRE_PCGGetPrecond(solver, precond_data_ptr) + ccall((:HYPRE_PCGGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data_ptr) end -function MPI_Type_lb(datatype, displacement) - ccall((:MPI_Type_lb, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Aint}), datatype, displacement) +function HYPRE_PCGGetLogging(solver, level) + ccall((:HYPRE_PCGGetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, level) end -function MPI_Type_ub(datatype, displacement) - ccall((:MPI_Type_ub, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Aint}), datatype, displacement) +function HYPRE_PCGGetPrintLevel(solver, level) + ccall((:HYPRE_PCGGetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, level) end -function MPI_Type_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype) - ccall((:MPI_Type_hindexed, libHYPRE), Cint, (Cint, Ptr{Cint}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{MPI_Datatype}), count, array_of_blocklengths, array_of_displacements, oldtype, newtype) +function HYPRE_PCGGetConverged(solver, converged) + ccall((:HYPRE_PCGGetConverged, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, converged) end -function MPI_Type_hvector(count, blocklength, stride, oldtype, newtype) - ccall((:MPI_Type_hvector, libHYPRE), Cint, (Cint, Cint, MPI_Aint, MPI_Datatype, Ptr{MPI_Datatype}), count, blocklength, stride, oldtype, newtype) +function HYPRE_GMRESSetup(solver, A, b, x) + ccall((:HYPRE_GMRESSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) end -function MPI_Type_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype) - ccall((:MPI_Type_struct, libHYPRE), Cint, (Cint, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{MPI_Datatype}), count, array_of_blocklengths, array_of_displacements, array_of_types, newtype) +function HYPRE_GMRESSolve(solver, A, b, x) + ccall((:HYPRE_GMRESSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) end -function MPI_Add_error_class(errorclass) - ccall((:MPI_Add_error_class, libHYPRE), Cint, (Ptr{Cint},), errorclass) +function HYPRE_GMRESSetTol(solver, tol) + ccall((:HYPRE_GMRESSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function MPI_Add_error_code(errorclass, errorcode) - ccall((:MPI_Add_error_code, libHYPRE), Cint, (Cint, Ptr{Cint}), errorclass, errorcode) +function HYPRE_GMRESSetAbsoluteTol(solver, a_tol) + ccall((:HYPRE_GMRESSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) end -function MPI_Add_error_string(errorcode, string) - ccall((:MPI_Add_error_string, libHYPRE), Cint, (Cint, Ptr{Cchar}), errorcode, string) +function HYPRE_GMRESSetConvergenceFactorTol(solver, cf_tol) + ccall((:HYPRE_GMRESSetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, cf_tol) end -function MPI_Comm_call_errhandler(comm, errorcode) - ccall((:MPI_Comm_call_errhandler, libHYPRE), Cint, (MPI_Comm, Cint), comm, errorcode) +function HYPRE_GMRESSetStopCrit(solver, stop_crit) + ccall((:HYPRE_GMRESSetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, stop_crit) end -function MPI_Comm_create_errhandler(comm_errhandler_fn, errhandler) - ccall((:MPI_Comm_create_errhandler, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Errhandler}), comm_errhandler_fn, errhandler) +function HYPRE_GMRESSetMinIter(solver, min_iter) + ccall((:HYPRE_GMRESSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) end -function MPI_Comm_get_errhandler(comm, errhandler) - ccall((:MPI_Comm_get_errhandler, libHYPRE), Cint, (MPI_Comm, Ptr{MPI_Errhandler}), comm, errhandler) +function HYPRE_GMRESSetMaxIter(solver, max_iter) + ccall((:HYPRE_GMRESSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) end -function MPI_Comm_set_errhandler(comm, errhandler) - ccall((:MPI_Comm_set_errhandler, libHYPRE), Cint, (MPI_Comm, MPI_Errhandler), comm, errhandler) +function HYPRE_GMRESSetKDim(solver, k_dim) + ccall((:HYPRE_GMRESSetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, k_dim) end -function MPI_Errhandler_free(errhandler) - ccall((:MPI_Errhandler_free, libHYPRE), Cint, (Ptr{MPI_Errhandler},), errhandler) +function HYPRE_GMRESSetRelChange(solver, rel_change) + ccall((:HYPRE_GMRESSetRelChange, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, rel_change) end -function MPI_Error_class(errorcode, errorclass) - ccall((:MPI_Error_class, libHYPRE), Cint, (Cint, Ptr{Cint}), errorcode, errorclass) +function HYPRE_GMRESSetSkipRealResidualCheck(solver, skip_real_r_check) + ccall((:HYPRE_GMRESSetSkipRealResidualCheck, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, skip_real_r_check) end -function MPI_Error_string(errorcode, string, resultlen) - ccall((:MPI_Error_string, libHYPRE), Cint, (Cint, Ptr{Cchar}, Ptr{Cint}), errorcode, string, resultlen) +function HYPRE_GMRESSetPrecond(solver, precond, precond_setup, precond_solver) + ccall((:HYPRE_GMRESSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToSolverFcn, HYPRE_PtrToSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) end -function MPI_File_call_errhandler(fh, errorcode) - ccall((:MPI_File_call_errhandler, libHYPRE), Cint, (MPI_File, Cint), fh, errorcode) +function HYPRE_GMRESSetLogging(solver, logging) + ccall((:HYPRE_GMRESSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) end -function MPI_File_create_errhandler(file_errhandler_fn, errhandler) - ccall((:MPI_File_create_errhandler, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Errhandler}), file_errhandler_fn, errhandler) +function HYPRE_GMRESSetPrintLevel(solver, level) + ccall((:HYPRE_GMRESSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, level) end -function MPI_File_get_errhandler(file, errhandler) - ccall((:MPI_File_get_errhandler, libHYPRE), Cint, (MPI_File, Ptr{MPI_Errhandler}), file, errhandler) +function HYPRE_GMRESGetNumIterations(solver, num_iterations) + ccall((:HYPRE_GMRESGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) end -function MPI_File_set_errhandler(file, errhandler) - ccall((:MPI_File_set_errhandler, libHYPRE), Cint, (MPI_File, MPI_Errhandler), file, errhandler) +function HYPRE_GMRESGetFinalRelativeResidualNorm(solver, norm) + ccall((:HYPRE_GMRESGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) end -function MPI_Session_call_errhandler(session, errorcode) - ccall((:MPI_Session_call_errhandler, libHYPRE), Cint, (MPI_Session, Cint), session, errorcode) +function HYPRE_GMRESGetResidual(solver, residual) + ccall((:HYPRE_GMRESGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cvoid}), solver, residual) end -function MPI_Session_create_errhandler(session_errhandler_fn, errhandler) - ccall((:MPI_Session_create_errhandler, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Errhandler}), session_errhandler_fn, errhandler) +function HYPRE_GMRESGetTol(solver, tol) + ccall((:HYPRE_GMRESGetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, tol) end -function MPI_Session_get_errhandler(session, errhandler) - ccall((:MPI_Session_get_errhandler, libHYPRE), Cint, (MPI_Session, Ptr{MPI_Errhandler}), session, errhandler) +function HYPRE_GMRESGetAbsoluteTol(solver, tol) + ccall((:HYPRE_GMRESGetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, tol) end -function MPI_Session_set_errhandler(session, errhandler) - ccall((:MPI_Session_set_errhandler, libHYPRE), Cint, (MPI_Session, MPI_Errhandler), session, errhandler) -end - -function MPI_Win_call_errhandler(win, errorcode) - ccall((:MPI_Win_call_errhandler, libHYPRE), Cint, (MPI_Win, Cint), win, errorcode) +function HYPRE_GMRESGetConvergenceFactorTol(solver, cf_tol) + ccall((:HYPRE_GMRESGetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, cf_tol) end -function MPI_Win_create_errhandler(win_errhandler_fn, errhandler) - ccall((:MPI_Win_create_errhandler, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Errhandler}), win_errhandler_fn, errhandler) +function HYPRE_GMRESGetStopCrit(solver, stop_crit) + ccall((:HYPRE_GMRESGetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, stop_crit) end -function MPI_Win_get_errhandler(win, errhandler) - ccall((:MPI_Win_get_errhandler, libHYPRE), Cint, (MPI_Win, Ptr{MPI_Errhandler}), win, errhandler) +function HYPRE_GMRESGetMinIter(solver, min_iter) + ccall((:HYPRE_GMRESGetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, min_iter) end -function MPI_Win_set_errhandler(win, errhandler) - ccall((:MPI_Win_set_errhandler, libHYPRE), Cint, (MPI_Win, MPI_Errhandler), win, errhandler) +function HYPRE_GMRESGetMaxIter(solver, max_iter) + ccall((:HYPRE_GMRESGetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, max_iter) end -function MPIX_Delete_error_class(errorclass) - ccall((:MPIX_Delete_error_class, libHYPRE), Cint, (Cint,), errorclass) +function HYPRE_GMRESGetKDim(solver, k_dim) + ccall((:HYPRE_GMRESGetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, k_dim) end -function MPIX_Delete_error_code(errorcode) - ccall((:MPIX_Delete_error_code, libHYPRE), Cint, (Cint,), errorcode) +function HYPRE_GMRESGetRelChange(solver, rel_change) + ccall((:HYPRE_GMRESGetRelChange, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, rel_change) end -function MPIX_Delete_error_string(errorcode) - ccall((:MPIX_Delete_error_string, libHYPRE), Cint, (Cint,), errorcode) +function HYPRE_GMRESGetPrecond(solver, precond_data_ptr) + ccall((:HYPRE_GMRESGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data_ptr) end -function MPI_Errhandler_create(comm_errhandler_fn, errhandler) - ccall((:MPI_Errhandler_create, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Errhandler}), comm_errhandler_fn, errhandler) +function HYPRE_GMRESGetLogging(solver, level) + ccall((:HYPRE_GMRESGetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, level) end -function MPI_Errhandler_get(comm, errhandler) - ccall((:MPI_Errhandler_get, libHYPRE), Cint, (MPI_Comm, Ptr{MPI_Errhandler}), comm, errhandler) +function HYPRE_GMRESGetPrintLevel(solver, level) + ccall((:HYPRE_GMRESGetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, level) end -function MPI_Errhandler_set(comm, errhandler) - ccall((:MPI_Errhandler_set, libHYPRE), Cint, (MPI_Comm, MPI_Errhandler), comm, errhandler) +function HYPRE_GMRESGetConverged(solver, converged) + ccall((:HYPRE_GMRESGetConverged, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, converged) end -function MPI_Group_compare(group1, group2, result) - ccall((:MPI_Group_compare, libHYPRE), Cint, (MPI_Group, MPI_Group, Ptr{Cint}), group1, group2, result) +function HYPRE_FlexGMRESSetup(solver, A, b, x) + ccall((:HYPRE_FlexGMRESSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) end -function MPI_Group_difference(group1, group2, newgroup) - ccall((:MPI_Group_difference, libHYPRE), Cint, (MPI_Group, MPI_Group, Ptr{MPI_Group}), group1, group2, newgroup) +function HYPRE_FlexGMRESSolve(solver, A, b, x) + ccall((:HYPRE_FlexGMRESSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) end -function MPI_Group_excl(group, n, ranks, newgroup) - ccall((:MPI_Group_excl, libHYPRE), Cint, (MPI_Group, Cint, Ptr{Cint}, Ptr{MPI_Group}), group, n, ranks, newgroup) +function HYPRE_FlexGMRESSetTol(solver, tol) + ccall((:HYPRE_FlexGMRESSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function MPI_Group_free(group) - ccall((:MPI_Group_free, libHYPRE), Cint, (Ptr{MPI_Group},), group) +function HYPRE_FlexGMRESSetAbsoluteTol(solver, a_tol) + ccall((:HYPRE_FlexGMRESSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) end -function MPI_Group_incl(group, n, ranks, newgroup) - ccall((:MPI_Group_incl, libHYPRE), Cint, (MPI_Group, Cint, Ptr{Cint}, Ptr{MPI_Group}), group, n, ranks, newgroup) +function HYPRE_FlexGMRESSetConvergenceFactorTol(solver, cf_tol) + ccall((:HYPRE_FlexGMRESSetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, cf_tol) end -function MPI_Group_intersection(group1, group2, newgroup) - ccall((:MPI_Group_intersection, libHYPRE), Cint, (MPI_Group, MPI_Group, Ptr{MPI_Group}), group1, group2, newgroup) +function HYPRE_FlexGMRESSetMinIter(solver, min_iter) + ccall((:HYPRE_FlexGMRESSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) end -function MPI_Group_range_excl(group, n, ranges, newgroup) - ccall((:MPI_Group_range_excl, libHYPRE), Cint, (MPI_Group, Cint, Ptr{NTuple{3, Cint}}, Ptr{MPI_Group}), group, n, ranges, newgroup) +function HYPRE_FlexGMRESSetMaxIter(solver, max_iter) + ccall((:HYPRE_FlexGMRESSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) end -function MPI_Group_range_incl(group, n, ranges, newgroup) - ccall((:MPI_Group_range_incl, libHYPRE), Cint, (MPI_Group, Cint, Ptr{NTuple{3, Cint}}, Ptr{MPI_Group}), group, n, ranges, newgroup) +function HYPRE_FlexGMRESSetKDim(solver, k_dim) + ccall((:HYPRE_FlexGMRESSetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, k_dim) end -function MPI_Group_rank(group, rank) - ccall((:MPI_Group_rank, libHYPRE), Cint, (MPI_Group, Ptr{Cint}), group, rank) +function HYPRE_FlexGMRESSetPrecond(solver, precond, precond_setup, precond_solver) + ccall((:HYPRE_FlexGMRESSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToSolverFcn, HYPRE_PtrToSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) end -function MPI_Group_size(group, size) - ccall((:MPI_Group_size, libHYPRE), Cint, (MPI_Group, Ptr{Cint}), group, size) +function HYPRE_FlexGMRESSetLogging(solver, logging) + ccall((:HYPRE_FlexGMRESSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) end -function MPI_Group_translate_ranks(group1, n, ranks1, group2, ranks2) - ccall((:MPI_Group_translate_ranks, libHYPRE), Cint, (MPI_Group, Cint, Ptr{Cint}, MPI_Group, Ptr{Cint}), group1, n, ranks1, group2, ranks2) +function HYPRE_FlexGMRESSetPrintLevel(solver, level) + ccall((:HYPRE_FlexGMRESSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, level) end -function MPI_Group_union(group1, group2, newgroup) - ccall((:MPI_Group_union, libHYPRE), Cint, (MPI_Group, MPI_Group, Ptr{MPI_Group}), group1, group2, newgroup) +function HYPRE_FlexGMRESGetNumIterations(solver, num_iterations) + ccall((:HYPRE_FlexGMRESGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) end -function MPI_Info_create(info) - ccall((:MPI_Info_create, libHYPRE), Cint, (Ptr{MPI_Info},), info) +function HYPRE_FlexGMRESGetFinalRelativeResidualNorm(solver, norm) + ccall((:HYPRE_FlexGMRESGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) end -function MPI_Info_create_env(argc, argv, info) - ccall((:MPI_Info_create_env, libHYPRE), Cint, (Cint, Ptr{Ptr{Cchar}}, Ptr{MPI_Info}), argc, argv, info) +function HYPRE_FlexGMRESGetResidual(solver, residual) + ccall((:HYPRE_FlexGMRESGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cvoid}), solver, residual) end -function MPI_Info_delete(info, key) - ccall((:MPI_Info_delete, libHYPRE), Cint, (MPI_Info, Ptr{Cchar}), info, key) +function HYPRE_FlexGMRESGetTol(solver, tol) + ccall((:HYPRE_FlexGMRESGetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, tol) end -function MPI_Info_dup(info, newinfo) - ccall((:MPI_Info_dup, libHYPRE), Cint, (MPI_Info, Ptr{MPI_Info}), info, newinfo) +function HYPRE_FlexGMRESGetConvergenceFactorTol(solver, cf_tol) + ccall((:HYPRE_FlexGMRESGetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, cf_tol) end -function MPI_Info_free(info) - ccall((:MPI_Info_free, libHYPRE), Cint, (Ptr{MPI_Info},), info) +function HYPRE_FlexGMRESGetStopCrit(solver, stop_crit) + ccall((:HYPRE_FlexGMRESGetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, stop_crit) end -function MPI_Info_get(info, key, valuelen, value, flag) - ccall((:MPI_Info_get, libHYPRE), Cint, (MPI_Info, Ptr{Cchar}, Cint, Ptr{Cchar}, Ptr{Cint}), info, key, valuelen, value, flag) +function HYPRE_FlexGMRESGetMinIter(solver, min_iter) + ccall((:HYPRE_FlexGMRESGetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, min_iter) end -function MPI_Info_get_nkeys(info, nkeys) - ccall((:MPI_Info_get_nkeys, libHYPRE), Cint, (MPI_Info, Ptr{Cint}), info, nkeys) +function HYPRE_FlexGMRESGetMaxIter(solver, max_iter) + ccall((:HYPRE_FlexGMRESGetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, max_iter) end -function MPI_Info_get_nthkey(info, n, key) - ccall((:MPI_Info_get_nthkey, libHYPRE), Cint, (MPI_Info, Cint, Ptr{Cchar}), info, n, key) +function HYPRE_FlexGMRESGetKDim(solver, k_dim) + ccall((:HYPRE_FlexGMRESGetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, k_dim) end -function MPI_Info_get_string(info, key, buflen, value, flag) - ccall((:MPI_Info_get_string, libHYPRE), Cint, (MPI_Info, Ptr{Cchar}, Ptr{Cint}, Ptr{Cchar}, Ptr{Cint}), info, key, buflen, value, flag) +function HYPRE_FlexGMRESGetPrecond(solver, precond_data_ptr) + ccall((:HYPRE_FlexGMRESGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data_ptr) end -function MPI_Info_get_valuelen(info, key, valuelen, flag) - ccall((:MPI_Info_get_valuelen, libHYPRE), Cint, (MPI_Info, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}), info, key, valuelen, flag) +function HYPRE_FlexGMRESGetLogging(solver, level) + ccall((:HYPRE_FlexGMRESGetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, level) end -function MPI_Info_set(info, key, value) - ccall((:MPI_Info_set, libHYPRE), Cint, (MPI_Info, Ptr{Cchar}, Ptr{Cchar}), info, key, value) +function HYPRE_FlexGMRESGetPrintLevel(solver, level) + ccall((:HYPRE_FlexGMRESGetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, level) end -function MPI_Abort(comm, errorcode) - ccall((:MPI_Abort, libHYPRE), Cint, (MPI_Comm, Cint), comm, errorcode) +function HYPRE_FlexGMRESGetConverged(solver, converged) + ccall((:HYPRE_FlexGMRESGetConverged, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, converged) end -function MPI_Comm_create_from_group(group, stringtag, info, errhandler, newcomm) - ccall((:MPI_Comm_create_from_group, libHYPRE), Cint, (MPI_Group, Ptr{Cchar}, MPI_Info, MPI_Errhandler, Ptr{MPI_Comm}), group, stringtag, info, errhandler, newcomm) +function HYPRE_FlexGMRESSetModifyPC(solver, modify_pc) + ccall((:HYPRE_FlexGMRESSetModifyPC, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToModifyPCFcn), solver, modify_pc) end -function MPI_Finalize() - ccall((:MPI_Finalize, libHYPRE), Cint, ()) +function HYPRE_LGMRESSetup(solver, A, b, x) + ccall((:HYPRE_LGMRESSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) end -function MPI_Finalized(flag) - ccall((:MPI_Finalized, libHYPRE), Cint, (Ptr{Cint},), flag) +function HYPRE_LGMRESSolve(solver, A, b, x) + ccall((:HYPRE_LGMRESSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) end -function MPI_Group_from_session_pset(session, pset_name, newgroup) - ccall((:MPI_Group_from_session_pset, libHYPRE), Cint, (MPI_Session, Ptr{Cchar}, Ptr{MPI_Group}), session, pset_name, newgroup) +function HYPRE_LGMRESSetTol(solver, tol) + ccall((:HYPRE_LGMRESSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function MPI_Init(argc, argv) - ccall((:MPI_Init, libHYPRE), Cint, (Ptr{Cint}, Ptr{Ptr{Ptr{Cchar}}}), argc, argv) +function HYPRE_LGMRESSetAbsoluteTol(solver, a_tol) + ccall((:HYPRE_LGMRESSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) end -function MPI_Init_thread(argc, argv, required, provided) - ccall((:MPI_Init_thread, libHYPRE), Cint, (Ptr{Cint}, Ptr{Ptr{Ptr{Cchar}}}, Cint, Ptr{Cint}), argc, argv, required, provided) +function HYPRE_LGMRESSetConvergenceFactorTol(solver, cf_tol) + ccall((:HYPRE_LGMRESSetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, cf_tol) end -function MPI_Initialized(flag) - ccall((:MPI_Initialized, libHYPRE), Cint, (Ptr{Cint},), flag) +function HYPRE_LGMRESSetMinIter(solver, min_iter) + ccall((:HYPRE_LGMRESSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) end -function MPI_Is_thread_main(flag) - ccall((:MPI_Is_thread_main, libHYPRE), Cint, (Ptr{Cint},), flag) +function HYPRE_LGMRESSetMaxIter(solver, max_iter) + ccall((:HYPRE_LGMRESSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) end -function MPI_Query_thread(provided) - ccall((:MPI_Query_thread, libHYPRE), Cint, (Ptr{Cint},), provided) +function HYPRE_LGMRESSetKDim(solver, k_dim) + ccall((:HYPRE_LGMRESSetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, k_dim) end -function MPI_Session_finalize(session) - ccall((:MPI_Session_finalize, libHYPRE), Cint, (Ptr{MPI_Session},), session) +function HYPRE_LGMRESSetAugDim(solver, aug_dim) + ccall((:HYPRE_LGMRESSetAugDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, aug_dim) end -function MPI_Session_get_info(session, info_used) - ccall((:MPI_Session_get_info, libHYPRE), Cint, (MPI_Session, Ptr{MPI_Info}), session, info_used) +function HYPRE_LGMRESSetPrecond(solver, precond, precond_setup, precond_solver) + ccall((:HYPRE_LGMRESSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToSolverFcn, HYPRE_PtrToSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) end -function MPI_Session_get_nth_pset(session, info, n, pset_len, pset_name) - ccall((:MPI_Session_get_nth_pset, libHYPRE), Cint, (MPI_Session, MPI_Info, Cint, Ptr{Cint}, Ptr{Cchar}), session, info, n, pset_len, pset_name) +function HYPRE_LGMRESSetLogging(solver, logging) + ccall((:HYPRE_LGMRESSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) end -function MPI_Session_get_num_psets(session, info, npset_names) - ccall((:MPI_Session_get_num_psets, libHYPRE), Cint, (MPI_Session, MPI_Info, Ptr{Cint}), session, info, npset_names) +function HYPRE_LGMRESSetPrintLevel(solver, level) + ccall((:HYPRE_LGMRESSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, level) end -function MPI_Session_get_pset_info(session, pset_name, info) - ccall((:MPI_Session_get_pset_info, libHYPRE), Cint, (MPI_Session, Ptr{Cchar}, Ptr{MPI_Info}), session, pset_name, info) +function HYPRE_LGMRESGetNumIterations(solver, num_iterations) + ccall((:HYPRE_LGMRESGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) end -function MPI_Session_init(info, errhandler, session) - ccall((:MPI_Session_init, libHYPRE), Cint, (MPI_Info, MPI_Errhandler, Ptr{MPI_Session}), info, errhandler, session) +function HYPRE_LGMRESGetFinalRelativeResidualNorm(solver, norm) + ccall((:HYPRE_LGMRESGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) end -function MPI_Aint_add(base, disp) - ccall((:MPI_Aint_add, libHYPRE), MPI_Aint, (MPI_Aint, MPI_Aint), base, disp) +function HYPRE_LGMRESGetResidual(solver, residual) + ccall((:HYPRE_LGMRESGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cvoid}), solver, residual) end -function MPI_Aint_diff(addr1, addr2) - ccall((:MPI_Aint_diff, libHYPRE), MPI_Aint, (MPI_Aint, MPI_Aint), addr1, addr2) +function HYPRE_LGMRESGetTol(solver, tol) + ccall((:HYPRE_LGMRESGetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, tol) end -function MPI_Get_library_version(version, resultlen) - ccall((:MPI_Get_library_version, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cint}), version, resultlen) +function HYPRE_LGMRESGetConvergenceFactorTol(solver, cf_tol) + ccall((:HYPRE_LGMRESGetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, cf_tol) end -function MPI_Get_processor_name(name, resultlen) - ccall((:MPI_Get_processor_name, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cint}), name, resultlen) +function HYPRE_LGMRESGetStopCrit(solver, stop_crit) + ccall((:HYPRE_LGMRESGetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, stop_crit) end -function MPI_Get_version(version, subversion) - ccall((:MPI_Get_version, libHYPRE), Cint, (Ptr{Cint}, Ptr{Cint}), version, subversion) +function HYPRE_LGMRESGetMinIter(solver, min_iter) + ccall((:HYPRE_LGMRESGetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, min_iter) end -function MPIX_GPU_query_support(gpu_type, is_supported) - ccall((:MPIX_GPU_query_support, libHYPRE), Cint, (Cint, Ptr{Cint}), gpu_type, is_supported) +function HYPRE_LGMRESGetMaxIter(solver, max_iter) + ccall((:HYPRE_LGMRESGetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, max_iter) end -function MPIX_Query_cuda_support() - ccall((:MPIX_Query_cuda_support, libHYPRE), Cint, ()) +function HYPRE_LGMRESGetKDim(solver, k_dim) + ccall((:HYPRE_LGMRESGetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, k_dim) end -function MPIX_Query_ze_support() - ccall((:MPIX_Query_ze_support, libHYPRE), Cint, ()) +function HYPRE_LGMRESGetAugDim(solver, k_dim) + ccall((:HYPRE_LGMRESGetAugDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, k_dim) end -function MPIX_Query_hip_support() - ccall((:MPIX_Query_hip_support, libHYPRE), Cint, ()) +function HYPRE_LGMRESGetPrecond(solver, precond_data_ptr) + ccall((:HYPRE_LGMRESGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data_ptr) end -function MPI_Op_commutative(op, commute) - ccall((:MPI_Op_commutative, libHYPRE), Cint, (MPI_Op, Ptr{Cint}), op, commute) +function HYPRE_LGMRESGetLogging(solver, level) + ccall((:HYPRE_LGMRESGetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, level) end -function MPI_Op_create(user_fn, commute, op) - ccall((:MPI_Op_create, libHYPRE), Cint, (Ptr{Cvoid}, Cint, Ptr{MPI_Op}), user_fn, commute, op) +function HYPRE_LGMRESGetPrintLevel(solver, level) + ccall((:HYPRE_LGMRESGetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, level) end -function MPI_Op_free(op) - ccall((:MPI_Op_free, libHYPRE), Cint, (Ptr{MPI_Op},), op) +function HYPRE_LGMRESGetConverged(solver, converged) + ccall((:HYPRE_LGMRESGetConverged, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, converged) end -function MPI_Parrived(request, partition, flag) - ccall((:MPI_Parrived, libHYPRE), Cint, (MPI_Request, Cint, Ptr{Cint}), request, partition, flag) +function HYPRE_COGMRESSetup(solver, A, b, x) + ccall((:HYPRE_COGMRESSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) end -function MPI_Pready(partition, request) - ccall((:MPI_Pready, libHYPRE), Cint, (Cint, MPI_Request), partition, request) +function HYPRE_COGMRESSolve(solver, A, b, x) + ccall((:HYPRE_COGMRESSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) end -function MPI_Pready_list(length, array_of_partitions, request) - ccall((:MPI_Pready_list, libHYPRE), Cint, (Cint, Ptr{Cint}, MPI_Request), length, array_of_partitions, request) +function HYPRE_COGMRESSetTol(solver, tol) + ccall((:HYPRE_COGMRESSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function MPI_Pready_range(partition_low, partition_high, request) - ccall((:MPI_Pready_range, libHYPRE), Cint, (Cint, Cint, MPI_Request), partition_low, partition_high, request) +function HYPRE_COGMRESSetAbsoluteTol(solver, a_tol) + ccall((:HYPRE_COGMRESSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) end -function MPI_Precv_init(buf, partitions, count, datatype, dest, tag, comm, info, request) - ccall((:MPI_Precv_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), buf, partitions, count, datatype, dest, tag, comm, info, request) +function HYPRE_COGMRESSetConvergenceFactorTol(solver, cf_tol) + ccall((:HYPRE_COGMRESSetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, cf_tol) end -function MPI_Psend_init(buf, partitions, count, datatype, dest, tag, comm, info, request) - ccall((:MPI_Psend_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), buf, partitions, count, datatype, dest, tag, comm, info, request) +function HYPRE_COGMRESSetMinIter(solver, min_iter) + ccall((:HYPRE_COGMRESSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) end -function MPI_Bsend(buf, count, datatype, dest, tag, comm) - ccall((:MPI_Bsend, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm), buf, count, datatype, dest, tag, comm) +function HYPRE_COGMRESSetMaxIter(solver, max_iter) + ccall((:HYPRE_COGMRESSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) end -function MPI_Bsend_init(buf, count, datatype, dest, tag, comm, request) - ccall((:MPI_Bsend_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) +function HYPRE_COGMRESSetKDim(solver, k_dim) + ccall((:HYPRE_COGMRESSetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, k_dim) end -function MPI_Buffer_attach(buffer, size) - ccall((:MPI_Buffer_attach, libHYPRE), Cint, (Ptr{Cvoid}, Cint), buffer, size) +function HYPRE_COGMRESSetUnroll(solver, unroll) + ccall((:HYPRE_COGMRESSetUnroll, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, unroll) end -function MPI_Buffer_detach(buffer_addr, size) - ccall((:MPI_Buffer_detach, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}), buffer_addr, size) +function HYPRE_COGMRESSetCGS(solver, cgs) + ccall((:HYPRE_COGMRESSetCGS, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, cgs) end -function MPI_Ibsend(buf, count, datatype, dest, tag, comm, request) - ccall((:MPI_Ibsend, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) +function HYPRE_COGMRESSetPrecond(solver, precond, precond_setup, precond_solver) + ccall((:HYPRE_COGMRESSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToSolverFcn, HYPRE_PtrToSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) end -function MPI_Improbe(source, tag, comm, flag, message, status) - ccall((:MPI_Improbe, libHYPRE), Cint, (Cint, Cint, MPI_Comm, Ptr{Cint}, Ptr{MPI_Message}, Ptr{MPI_Status}), source, tag, comm, flag, message, status) +function HYPRE_COGMRESSetLogging(solver, logging) + ccall((:HYPRE_COGMRESSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) end -function MPI_Imrecv(buf, count, datatype, message, request) - ccall((:MPI_Imrecv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Message}, Ptr{MPI_Request}), buf, count, datatype, message, request) +function HYPRE_COGMRESSetPrintLevel(solver, level) + ccall((:HYPRE_COGMRESSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, level) end -function MPI_Iprobe(source, tag, comm, flag, status) - ccall((:MPI_Iprobe, libHYPRE), Cint, (Cint, Cint, MPI_Comm, Ptr{Cint}, Ptr{MPI_Status}), source, tag, comm, flag, status) +function HYPRE_COGMRESGetNumIterations(solver, num_iterations) + ccall((:HYPRE_COGMRESGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) end -function MPI_Irecv(buf, count, datatype, source, tag, comm, request) - ccall((:MPI_Irecv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, source, tag, comm, request) +function HYPRE_COGMRESGetFinalRelativeResidualNorm(solver, norm) + ccall((:HYPRE_COGMRESGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) end -function MPI_Irsend(buf, count, datatype, dest, tag, comm, request) - ccall((:MPI_Irsend, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) +function HYPRE_COGMRESGetResidual(solver, residual) + ccall((:HYPRE_COGMRESGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cvoid}), solver, residual) end -function MPI_Isend(buf, count, datatype, dest, tag, comm, request) - ccall((:MPI_Isend, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) +function HYPRE_COGMRESGetTol(solver, tol) + ccall((:HYPRE_COGMRESGetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, tol) end -function MPI_Isendrecv(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request) - ccall((:MPI_Isendrecv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request) +function HYPRE_COGMRESGetConvergenceFactorTol(solver, cf_tol) + ccall((:HYPRE_COGMRESGetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, cf_tol) end -function MPI_Isendrecv_replace(buf, count, datatype, dest, sendtag, source, recvtag, comm, request) - ccall((:MPI_Isendrecv_replace, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, sendtag, source, recvtag, comm, request) +function HYPRE_COGMRESGetMinIter(solver, min_iter) + ccall((:HYPRE_COGMRESGetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, min_iter) end -function MPI_Issend(buf, count, datatype, dest, tag, comm, request) - ccall((:MPI_Issend, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) +function HYPRE_COGMRESGetMaxIter(solver, max_iter) + ccall((:HYPRE_COGMRESGetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, max_iter) end -function MPI_Mprobe(source, tag, comm, message, status) - ccall((:MPI_Mprobe, libHYPRE), Cint, (Cint, Cint, MPI_Comm, Ptr{MPI_Message}, Ptr{MPI_Status}), source, tag, comm, message, status) +function HYPRE_COGMRESGetKDim(solver, k_dim) + ccall((:HYPRE_COGMRESGetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, k_dim) end -function MPI_Mrecv(buf, count, datatype, message, status) - ccall((:MPI_Mrecv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Message}, Ptr{MPI_Status}), buf, count, datatype, message, status) +function HYPRE_COGMRESGetUnroll(solver, unroll) + ccall((:HYPRE_COGMRESGetUnroll, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, unroll) end -function MPI_Probe(source, tag, comm, status) - ccall((:MPI_Probe, libHYPRE), Cint, (Cint, Cint, MPI_Comm, Ptr{MPI_Status}), source, tag, comm, status) +function HYPRE_COGMRESGetCGS(solver, cgs) + ccall((:HYPRE_COGMRESGetCGS, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, cgs) end -function MPI_Recv(buf, count, datatype, source, tag, comm, status) - ccall((:MPI_Recv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Status}), buf, count, datatype, source, tag, comm, status) +function HYPRE_COGMRESGetPrecond(solver, precond_data_ptr) + ccall((:HYPRE_COGMRESGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data_ptr) end -function MPI_Recv_init(buf, count, datatype, source, tag, comm, request) - ccall((:MPI_Recv_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, source, tag, comm, request) +function HYPRE_COGMRESGetLogging(solver, level) + ccall((:HYPRE_COGMRESGetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, level) end -function MPI_Rsend(buf, count, datatype, dest, tag, comm) - ccall((:MPI_Rsend, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm), buf, count, datatype, dest, tag, comm) +function HYPRE_COGMRESGetPrintLevel(solver, level) + ccall((:HYPRE_COGMRESGetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, level) end -function MPI_Rsend_init(buf, count, datatype, dest, tag, comm, request) - ccall((:MPI_Rsend_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) +function HYPRE_COGMRESGetConverged(solver, converged) + ccall((:HYPRE_COGMRESGetConverged, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, converged) end -function MPI_Send(buf, count, datatype, dest, tag, comm) - ccall((:MPI_Send, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm), buf, count, datatype, dest, tag, comm) +function HYPRE_COGMRESSetModifyPC(solver, modify_pc) + ccall((:HYPRE_COGMRESSetModifyPC, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToModifyPCFcn), solver, modify_pc) end -function MPI_Send_init(buf, count, datatype, dest, tag, comm, request) - ccall((:MPI_Send_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) +function HYPRE_BiCGSTABDestroy(solver) + ccall((:HYPRE_BiCGSTABDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function MPI_Sendrecv(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status) - ccall((:MPI_Sendrecv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Status}), sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status) +function HYPRE_BiCGSTABSetup(solver, A, b, x) + ccall((:HYPRE_BiCGSTABSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) end -function MPI_Sendrecv_replace(buf, count, datatype, dest, sendtag, source, recvtag, comm, status) - ccall((:MPI_Sendrecv_replace, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, Cint, Cint, MPI_Comm, Ptr{MPI_Status}), buf, count, datatype, dest, sendtag, source, recvtag, comm, status) +function HYPRE_BiCGSTABSolve(solver, A, b, x) + ccall((:HYPRE_BiCGSTABSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) end -function MPI_Ssend(buf, count, datatype, dest, tag, comm) - ccall((:MPI_Ssend, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm), buf, count, datatype, dest, tag, comm) +function HYPRE_BiCGSTABSetTol(solver, tol) + ccall((:HYPRE_BiCGSTABSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function MPI_Ssend_init(buf, count, datatype, dest, tag, comm, request) - ccall((:MPI_Ssend_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) +function HYPRE_BiCGSTABSetAbsoluteTol(solver, a_tol) + ccall((:HYPRE_BiCGSTABSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) end -function MPI_Cancel(request) - ccall((:MPI_Cancel, libHYPRE), Cint, (Ptr{MPI_Request},), request) +function HYPRE_BiCGSTABSetConvergenceFactorTol(solver, cf_tol) + ccall((:HYPRE_BiCGSTABSetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, cf_tol) end -function MPI_Grequest_complete(request) - ccall((:MPI_Grequest_complete, libHYPRE), Cint, (MPI_Request,), request) +function HYPRE_BiCGSTABSetStopCrit(solver, stop_crit) + ccall((:HYPRE_BiCGSTABSetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, stop_crit) end -function MPI_Grequest_start(query_fn, free_fn, cancel_fn, extra_state, request) - ccall((:MPI_Grequest_start, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{MPI_Request}), query_fn, free_fn, cancel_fn, extra_state, request) +function HYPRE_BiCGSTABSetMinIter(solver, min_iter) + ccall((:HYPRE_BiCGSTABSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) end -function MPI_Request_free(request) - ccall((:MPI_Request_free, libHYPRE), Cint, (Ptr{MPI_Request},), request) +function HYPRE_BiCGSTABSetMaxIter(solver, max_iter) + ccall((:HYPRE_BiCGSTABSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) end -function MPI_Request_get_status(request, flag, status) - ccall((:MPI_Request_get_status, libHYPRE), Cint, (MPI_Request, Ptr{Cint}, Ptr{MPI_Status}), request, flag, status) +function HYPRE_BiCGSTABSetPrecond(solver, precond, precond_setup, precond_solver) + ccall((:HYPRE_BiCGSTABSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToSolverFcn, HYPRE_PtrToSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) end -function MPI_Start(request) - ccall((:MPI_Start, libHYPRE), Cint, (Ptr{MPI_Request},), request) +function HYPRE_BiCGSTABSetLogging(solver, logging) + ccall((:HYPRE_BiCGSTABSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) end -function MPI_Startall(count, array_of_requests) - ccall((:MPI_Startall, libHYPRE), Cint, (Cint, Ptr{MPI_Request}), count, array_of_requests) +function HYPRE_BiCGSTABSetPrintLevel(solver, level) + ccall((:HYPRE_BiCGSTABSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, level) end -function MPI_Status_set_cancelled(status, flag) - ccall((:MPI_Status_set_cancelled, libHYPRE), Cint, (Ptr{MPI_Status}, Cint), status, flag) +function HYPRE_BiCGSTABGetNumIterations(solver, num_iterations) + ccall((:HYPRE_BiCGSTABGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) end -function MPI_Test_cancelled(status, flag) - ccall((:MPI_Test_cancelled, libHYPRE), Cint, (Ptr{MPI_Status}, Ptr{Cint}), status, flag) +function HYPRE_BiCGSTABGetFinalRelativeResidualNorm(solver, norm) + ccall((:HYPRE_BiCGSTABGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) end -function MPI_Testall(count, array_of_requests, flag, array_of_statuses) - ccall((:MPI_Testall, libHYPRE), Cint, (Cint, Ptr{MPI_Request}, Ptr{Cint}, Ptr{MPI_Status}), count, array_of_requests, flag, array_of_statuses) +function HYPRE_BiCGSTABGetResidual(solver, residual) + ccall((:HYPRE_BiCGSTABGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cvoid}), solver, residual) end -function MPI_Testany(count, array_of_requests, indx, flag, status) - ccall((:MPI_Testany, libHYPRE), Cint, (Cint, Ptr{MPI_Request}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Status}), count, array_of_requests, indx, flag, status) +function HYPRE_BiCGSTABGetPrecond(solver, precond_data_ptr) + ccall((:HYPRE_BiCGSTABGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data_ptr) end -function MPI_Testsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses) - ccall((:MPI_Testsome, libHYPRE), Cint, (Cint, Ptr{MPI_Request}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Status}), incount, array_of_requests, outcount, array_of_indices, array_of_statuses) +function HYPRE_CGNRDestroy(solver) + ccall((:HYPRE_CGNRDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function MPI_Waitall(count, array_of_requests, array_of_statuses) - ccall((:MPI_Waitall, libHYPRE), Cint, (Cint, Ptr{MPI_Request}, Ptr{MPI_Status}), count, array_of_requests, array_of_statuses) +function HYPRE_CGNRSetup(solver, A, b, x) + ccall((:HYPRE_CGNRSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) end -function MPI_Waitany(count, array_of_requests, indx, status) - ccall((:MPI_Waitany, libHYPRE), Cint, (Cint, Ptr{MPI_Request}, Ptr{Cint}, Ptr{MPI_Status}), count, array_of_requests, indx, status) +function HYPRE_CGNRSolve(solver, A, b, x) + ccall((:HYPRE_CGNRSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) end -function MPI_Waitsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses) - ccall((:MPI_Waitsome, libHYPRE), Cint, (Cint, Ptr{MPI_Request}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Status}), incount, array_of_requests, outcount, array_of_indices, array_of_statuses) +function HYPRE_CGNRSetTol(solver, tol) + ccall((:HYPRE_CGNRSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function MPI_Accumulate(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win) - ccall((:MPI_Accumulate, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Op, MPI_Win), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win) +function HYPRE_CGNRSetStopCrit(solver, stop_crit) + ccall((:HYPRE_CGNRSetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, stop_crit) end -function MPI_Alloc_mem(size, info, baseptr) - ccall((:MPI_Alloc_mem, libHYPRE), Cint, (MPI_Aint, MPI_Info, Ptr{Cvoid}), size, info, baseptr) +function HYPRE_CGNRSetMinIter(solver, min_iter) + ccall((:HYPRE_CGNRSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) end -function MPI_Compare_and_swap(origin_addr, compare_addr, result_addr, datatype, target_rank, target_disp, win) - ccall((:MPI_Compare_and_swap, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, MPI_Datatype, Cint, MPI_Aint, MPI_Win), origin_addr, compare_addr, result_addr, datatype, target_rank, target_disp, win) +function HYPRE_CGNRSetMaxIter(solver, max_iter) + ccall((:HYPRE_CGNRSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) end -function MPI_Fetch_and_op(origin_addr, result_addr, datatype, target_rank, target_disp, op, win) - ccall((:MPI_Fetch_and_op, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Datatype, Cint, MPI_Aint, MPI_Op, MPI_Win), origin_addr, result_addr, datatype, target_rank, target_disp, op, win) +function HYPRE_CGNRSetPrecond(solver, precond, precondT, precond_setup, precond_solver) + ccall((:HYPRE_CGNRSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToSolverFcn, HYPRE_PtrToSolverFcn, HYPRE_PtrToSolverFcn, HYPRE_Solver), solver, precond, precondT, precond_setup, precond_solver) end -function MPI_Free_mem(base) - ccall((:MPI_Free_mem, libHYPRE), Cint, (Ptr{Cvoid},), base) +function HYPRE_CGNRSetLogging(solver, logging) + ccall((:HYPRE_CGNRSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) end -function MPI_Get(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) - ccall((:MPI_Get, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Win), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) +function HYPRE_CGNRGetNumIterations(solver, num_iterations) + ccall((:HYPRE_CGNRGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) end -function MPI_Get_accumulate(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win) - ccall((:MPI_Get_accumulate, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Op, MPI_Win), origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win) +function HYPRE_CGNRGetFinalRelativeResidualNorm(solver, norm) + ccall((:HYPRE_CGNRGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) end -function MPI_Put(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) - ccall((:MPI_Put, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Win), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) +function HYPRE_CGNRGetPrecond(solver, precond_data_ptr) + ccall((:HYPRE_CGNRGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data_ptr) end -function MPI_Raccumulate(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) - ccall((:MPI_Raccumulate, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Op, MPI_Win, Ptr{MPI_Request}), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) +struct utilities_FortranMatrix + globalHeight::HYPRE_BigInt + height::HYPRE_BigInt + width::HYPRE_BigInt + value::Ptr{HYPRE_Real} + ownsValues::HYPRE_Int end -function MPI_Rget(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) - ccall((:MPI_Rget, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Win, Ptr{MPI_Request}), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) +function utilities_FortranMatrixCreate() + ccall((:utilities_FortranMatrixCreate, libHYPRE), Ptr{utilities_FortranMatrix}, ()) end -function MPI_Rget_accumulate(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) - ccall((:MPI_Rget_accumulate, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Op, MPI_Win, Ptr{MPI_Request}), origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) +function utilities_FortranMatrixAllocateData(h, w, mtx) + ccall((:utilities_FortranMatrixAllocateData, libHYPRE), Cvoid, (HYPRE_BigInt, HYPRE_BigInt, Ptr{utilities_FortranMatrix}), h, w, mtx) end -function MPI_Rput(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) - ccall((:MPI_Rput, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Win, Ptr{MPI_Request}), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) +function utilities_FortranMatrixWrap(arg1, gh, h, w, mtx) + ccall((:utilities_FortranMatrixWrap, libHYPRE), Cvoid, (Ptr{HYPRE_Real}, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, Ptr{utilities_FortranMatrix}), arg1, gh, h, w, mtx) end -function MPI_Win_allocate(size, disp_unit, info, comm, baseptr, win) - ccall((:MPI_Win_allocate, libHYPRE), Cint, (MPI_Aint, Cint, MPI_Info, MPI_Comm, Ptr{Cvoid}, Ptr{MPI_Win}), size, disp_unit, info, comm, baseptr, win) +function utilities_FortranMatrixDestroy(mtx) + ccall((:utilities_FortranMatrixDestroy, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix},), mtx) end -function MPI_Win_allocate_shared(size, disp_unit, info, comm, baseptr, win) - ccall((:MPI_Win_allocate_shared, libHYPRE), Cint, (MPI_Aint, Cint, MPI_Info, MPI_Comm, Ptr{Cvoid}, Ptr{MPI_Win}), size, disp_unit, info, comm, baseptr, win) +function utilities_FortranMatrixGlobalHeight(mtx) + ccall((:utilities_FortranMatrixGlobalHeight, libHYPRE), HYPRE_BigInt, (Ptr{utilities_FortranMatrix},), mtx) end -function MPI_Win_attach(win, base, size) - ccall((:MPI_Win_attach, libHYPRE), Cint, (MPI_Win, Ptr{Cvoid}, MPI_Aint), win, base, size) +function utilities_FortranMatrixHeight(mtx) + ccall((:utilities_FortranMatrixHeight, libHYPRE), HYPRE_BigInt, (Ptr{utilities_FortranMatrix},), mtx) end -function MPI_Win_complete(win) - ccall((:MPI_Win_complete, libHYPRE), Cint, (MPI_Win,), win) +function utilities_FortranMatrixWidth(mtx) + ccall((:utilities_FortranMatrixWidth, libHYPRE), HYPRE_BigInt, (Ptr{utilities_FortranMatrix},), mtx) end -function MPI_Win_create(base, size, disp_unit, info, comm, win) - ccall((:MPI_Win_create, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Aint, Cint, MPI_Info, MPI_Comm, Ptr{MPI_Win}), base, size, disp_unit, info, comm, win) -end - -function MPI_Win_create_dynamic(info, comm, win) - ccall((:MPI_Win_create_dynamic, libHYPRE), Cint, (MPI_Info, MPI_Comm, Ptr{MPI_Win}), info, comm, win) +function utilities_FortranMatrixValues(mtx) + ccall((:utilities_FortranMatrixValues, libHYPRE), Ptr{HYPRE_Real}, (Ptr{utilities_FortranMatrix},), mtx) end -function MPI_Win_detach(win, base) - ccall((:MPI_Win_detach, libHYPRE), Cint, (MPI_Win, Ptr{Cvoid}), win, base) +function utilities_FortranMatrixClear(mtx) + ccall((:utilities_FortranMatrixClear, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix},), mtx) end -function MPI_Win_fence(assert, win) - ccall((:MPI_Win_fence, libHYPRE), Cint, (Cint, MPI_Win), assert, win) +function utilities_FortranMatrixClearL(mtx) + ccall((:utilities_FortranMatrixClearL, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix},), mtx) end -function MPI_Win_flush(rank, win) - ccall((:MPI_Win_flush, libHYPRE), Cint, (Cint, MPI_Win), rank, win) +function utilities_FortranMatrixSetToIdentity(mtx) + ccall((:utilities_FortranMatrixSetToIdentity, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix},), mtx) end -function MPI_Win_flush_all(win) - ccall((:MPI_Win_flush_all, libHYPRE), Cint, (MPI_Win,), win) +function utilities_FortranMatrixTransposeSquare(mtx) + ccall((:utilities_FortranMatrixTransposeSquare, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix},), mtx) end -function MPI_Win_flush_local(rank, win) - ccall((:MPI_Win_flush_local, libHYPRE), Cint, (Cint, MPI_Win), rank, win) +function utilities_FortranMatrixSymmetrize(mtx) + ccall((:utilities_FortranMatrixSymmetrize, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix},), mtx) end -function MPI_Win_flush_local_all(win) - ccall((:MPI_Win_flush_local_all, libHYPRE), Cint, (MPI_Win,), win) +function utilities_FortranMatrixCopy(src, t, dest) + ccall((:utilities_FortranMatrixCopy, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix}, HYPRE_Int, Ptr{utilities_FortranMatrix}), src, t, dest) end -function MPI_Win_free(win) - ccall((:MPI_Win_free, libHYPRE), Cint, (Ptr{MPI_Win},), win) +function utilities_FortranMatrixIndexCopy(index, src, t, dest) + ccall((:utilities_FortranMatrixIndexCopy, libHYPRE), Cvoid, (Ptr{HYPRE_Int}, Ptr{utilities_FortranMatrix}, HYPRE_Int, Ptr{utilities_FortranMatrix}), index, src, t, dest) end -function MPI_Win_get_group(win, group) - ccall((:MPI_Win_get_group, libHYPRE), Cint, (MPI_Win, Ptr{MPI_Group}), win, group) +function utilities_FortranMatrixSetDiagonal(mtx, d) + ccall((:utilities_FortranMatrixSetDiagonal, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix}, Ptr{utilities_FortranMatrix}), mtx, d) end -function MPI_Win_get_info(win, info_used) - ccall((:MPI_Win_get_info, libHYPRE), Cint, (MPI_Win, Ptr{MPI_Info}), win, info_used) +function utilities_FortranMatrixGetDiagonal(mtx, d) + ccall((:utilities_FortranMatrixGetDiagonal, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix}, Ptr{utilities_FortranMatrix}), mtx, d) end -function MPI_Win_get_name(win, win_name, resultlen) - ccall((:MPI_Win_get_name, libHYPRE), Cint, (MPI_Win, Ptr{Cchar}, Ptr{Cint}), win, win_name, resultlen) +function utilities_FortranMatrixAdd(a, mtxA, mtxB, mtxC) + ccall((:utilities_FortranMatrixAdd, libHYPRE), Cvoid, (HYPRE_Real, Ptr{utilities_FortranMatrix}, Ptr{utilities_FortranMatrix}, Ptr{utilities_FortranMatrix}), a, mtxA, mtxB, mtxC) end -function MPI_Win_lock(lock_type, rank, assert, win) - ccall((:MPI_Win_lock, libHYPRE), Cint, (Cint, Cint, Cint, MPI_Win), lock_type, rank, assert, win) +function utilities_FortranMatrixDMultiply(d, mtx) + ccall((:utilities_FortranMatrixDMultiply, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix}, Ptr{utilities_FortranMatrix}), d, mtx) end -function MPI_Win_lock_all(assert, win) - ccall((:MPI_Win_lock_all, libHYPRE), Cint, (Cint, MPI_Win), assert, win) +function utilities_FortranMatrixMultiplyD(mtx, d) + ccall((:utilities_FortranMatrixMultiplyD, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix}, Ptr{utilities_FortranMatrix}), mtx, d) end -function MPI_Win_post(group, assert, win) - ccall((:MPI_Win_post, libHYPRE), Cint, (MPI_Group, Cint, MPI_Win), group, assert, win) +function utilities_FortranMatrixMultiply(mtxA, tA, mtxB, tB, mtxC) + ccall((:utilities_FortranMatrixMultiply, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix}, HYPRE_Int, Ptr{utilities_FortranMatrix}, HYPRE_Int, Ptr{utilities_FortranMatrix}), mtxA, tA, mtxB, tB, mtxC) end -function MPI_Win_set_info(win, info) - ccall((:MPI_Win_set_info, libHYPRE), Cint, (MPI_Win, MPI_Info), win, info) +function utilities_FortranMatrixFNorm(mtx) + ccall((:utilities_FortranMatrixFNorm, libHYPRE), HYPRE_Real, (Ptr{utilities_FortranMatrix},), mtx) end -function MPI_Win_set_name(win, win_name) - ccall((:MPI_Win_set_name, libHYPRE), Cint, (MPI_Win, Ptr{Cchar}), win, win_name) +function utilities_FortranMatrixValue(mtx, i, j) + ccall((:utilities_FortranMatrixValue, libHYPRE), HYPRE_Real, (Ptr{utilities_FortranMatrix}, HYPRE_BigInt, HYPRE_BigInt), mtx, i, j) end -function MPI_Win_shared_query(win, rank, size, disp_unit, baseptr) - ccall((:MPI_Win_shared_query, libHYPRE), Cint, (MPI_Win, Cint, Ptr{MPI_Aint}, Ptr{Cint}, Ptr{Cvoid}), win, rank, size, disp_unit, baseptr) +function utilities_FortranMatrixValuePtr(mtx, i, j) + ccall((:utilities_FortranMatrixValuePtr, libHYPRE), Ptr{HYPRE_Real}, (Ptr{utilities_FortranMatrix}, HYPRE_BigInt, HYPRE_BigInt), mtx, i, j) end -function MPI_Win_start(group, assert, win) - ccall((:MPI_Win_start, libHYPRE), Cint, (MPI_Group, Cint, MPI_Win), group, assert, win) +function utilities_FortranMatrixMaxValue(mtx) + ccall((:utilities_FortranMatrixMaxValue, libHYPRE), HYPRE_Real, (Ptr{utilities_FortranMatrix},), mtx) end -function MPI_Win_sync(win) - ccall((:MPI_Win_sync, libHYPRE), Cint, (MPI_Win,), win) +function utilities_FortranMatrixSelectBlock(mtx, iFrom, iTo, jFrom, jTo, block) + ccall((:utilities_FortranMatrixSelectBlock, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix}, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, Ptr{utilities_FortranMatrix}), mtx, iFrom, iTo, jFrom, jTo, block) end -function MPI_Win_test(win, flag) - ccall((:MPI_Win_test, libHYPRE), Cint, (MPI_Win, Ptr{Cint}), win, flag) +function utilities_FortranMatrixUpperInv(u) + ccall((:utilities_FortranMatrixUpperInv, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix},), u) end -function MPI_Win_unlock(rank, win) - ccall((:MPI_Win_unlock, libHYPRE), Cint, (Cint, MPI_Win), rank, win) +function utilities_FortranMatrixPrint(mtx, fileName) + ccall((:utilities_FortranMatrixPrint, libHYPRE), HYPRE_Int, (Ptr{utilities_FortranMatrix}, Ptr{Cchar}), mtx, fileName) end -function MPI_Win_unlock_all(win) - ccall((:MPI_Win_unlock_all, libHYPRE), Cint, (MPI_Win,), win) +struct mv_InterfaceInterpreter + CreateVector::Ptr{Cvoid} + DestroyVector::Ptr{Cvoid} + InnerProd::Ptr{Cvoid} + CopyVector::Ptr{Cvoid} + ClearVector::Ptr{Cvoid} + SetRandomValues::Ptr{Cvoid} + ScaleVector::Ptr{Cvoid} + Axpy::Ptr{Cvoid} + VectorSize::Ptr{Cvoid} + CreateMultiVector::Ptr{Cvoid} + CopyCreateMultiVector::Ptr{Cvoid} + DestroyMultiVector::Ptr{Cvoid} + Width::Ptr{Cvoid} + Height::Ptr{Cvoid} + SetMask::Ptr{Cvoid} + CopyMultiVector::Ptr{Cvoid} + ClearMultiVector::Ptr{Cvoid} + SetRandomVectors::Ptr{Cvoid} + MultiInnerProd::Ptr{Cvoid} + MultiInnerProdDiag::Ptr{Cvoid} + MultiVecMat::Ptr{Cvoid} + MultiVecMatDiag::Ptr{Cvoid} + MultiAxpy::Ptr{Cvoid} + MultiXapy::Ptr{Cvoid} + Eval::Ptr{Cvoid} end -function MPI_Win_wait(win) - ccall((:MPI_Win_wait, libHYPRE), Cint, (MPI_Win,), win) -end +mutable struct mv_MultiVector end -function MPI_Close_port(port_name) - ccall((:MPI_Close_port, libHYPRE), Cint, (Ptr{Cchar},), port_name) -end +const mv_MultiVectorPtr = Ptr{mv_MultiVector} -function MPI_Comm_accept(port_name, info, root, comm, newcomm) - ccall((:MPI_Comm_accept, libHYPRE), Cint, (Ptr{Cchar}, MPI_Info, Cint, MPI_Comm, Ptr{MPI_Comm}), port_name, info, root, comm, newcomm) +function mv_MultiVectorGetData(x) + ccall((:mv_MultiVectorGetData, libHYPRE), Ptr{Cvoid}, (mv_MultiVectorPtr,), x) end -function MPI_Comm_connect(port_name, info, root, comm, newcomm) - ccall((:MPI_Comm_connect, libHYPRE), Cint, (Ptr{Cchar}, MPI_Info, Cint, MPI_Comm, Ptr{MPI_Comm}), port_name, info, root, comm, newcomm) +function mv_MultiVectorWrap(ii, data, ownsData) + ccall((:mv_MultiVectorWrap, libHYPRE), mv_MultiVectorPtr, (Ptr{mv_InterfaceInterpreter}, Ptr{Cvoid}, HYPRE_Int), ii, data, ownsData) end -function MPI_Comm_disconnect(comm) - ccall((:MPI_Comm_disconnect, libHYPRE), Cint, (Ptr{MPI_Comm},), comm) +function mv_MultiVectorCreateFromSampleVector(arg1, n, sample) + ccall((:mv_MultiVectorCreateFromSampleVector, libHYPRE), mv_MultiVectorPtr, (Ptr{Cvoid}, HYPRE_Int, Ptr{Cvoid}), arg1, n, sample) end -function MPI_Comm_get_parent(parent) - ccall((:MPI_Comm_get_parent, libHYPRE), Cint, (Ptr{MPI_Comm},), parent) +function mv_MultiVectorCreateCopy(x, copyValues) + ccall((:mv_MultiVectorCreateCopy, libHYPRE), mv_MultiVectorPtr, (mv_MultiVectorPtr, HYPRE_Int), x, copyValues) end -function MPI_Comm_join(fd, intercomm) - ccall((:MPI_Comm_join, libHYPRE), Cint, (Cint, Ptr{MPI_Comm}), fd, intercomm) +function mv_MultiVectorDestroy(arg1) + ccall((:mv_MultiVectorDestroy, libHYPRE), Cvoid, (mv_MultiVectorPtr,), arg1) end -function MPI_Comm_spawn(command, argv, maxprocs, info, root, comm, intercomm, array_of_errcodes) - ccall((:MPI_Comm_spawn, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Ptr{Cchar}}, Cint, MPI_Info, Cint, MPI_Comm, Ptr{MPI_Comm}, Ptr{Cint}), command, argv, maxprocs, info, root, comm, intercomm, array_of_errcodes) +function mv_MultiVectorWidth(v) + ccall((:mv_MultiVectorWidth, libHYPRE), HYPRE_Int, (mv_MultiVectorPtr,), v) end -function MPI_Comm_spawn_multiple(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, root, comm, intercomm, array_of_errcodes) - ccall((:MPI_Comm_spawn_multiple, libHYPRE), Cint, (Cint, Ptr{Ptr{Cchar}}, Ptr{Ptr{Ptr{Cchar}}}, Ptr{Cint}, Ptr{MPI_Info}, Cint, MPI_Comm, Ptr{MPI_Comm}, Ptr{Cint}), count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, root, comm, intercomm, array_of_errcodes) +function mv_MultiVectorHeight(v) + ccall((:mv_MultiVectorHeight, libHYPRE), HYPRE_Int, (mv_MultiVectorPtr,), v) end -function MPI_Lookup_name(service_name, info, port_name) - ccall((:MPI_Lookup_name, libHYPRE), Cint, (Ptr{Cchar}, MPI_Info, Ptr{Cchar}), service_name, info, port_name) +function mv_MultiVectorSetMask(v, mask) + ccall((:mv_MultiVectorSetMask, libHYPRE), Cvoid, (mv_MultiVectorPtr, Ptr{HYPRE_Int}), v, mask) end -function MPI_Open_port(info, port_name) - ccall((:MPI_Open_port, libHYPRE), Cint, (MPI_Info, Ptr{Cchar}), info, port_name) +function mv_MultiVectorClear(arg1) + ccall((:mv_MultiVectorClear, libHYPRE), Cvoid, (mv_MultiVectorPtr,), arg1) end -function MPI_Publish_name(service_name, info, port_name) - ccall((:MPI_Publish_name, libHYPRE), Cint, (Ptr{Cchar}, MPI_Info, Ptr{Cchar}), service_name, info, port_name) +function mv_MultiVectorSetRandom(v, seed) + ccall((:mv_MultiVectorSetRandom, libHYPRE), Cvoid, (mv_MultiVectorPtr, HYPRE_Int), v, seed) end -function MPI_Unpublish_name(service_name, info, port_name) - ccall((:MPI_Unpublish_name, libHYPRE), Cint, (Ptr{Cchar}, MPI_Info, Ptr{Cchar}), service_name, info, port_name) +function mv_MultiVectorCopy(src, dest) + ccall((:mv_MultiVectorCopy, libHYPRE), Cvoid, (mv_MultiVectorPtr, mv_MultiVectorPtr), src, dest) end -function MPI_Wtick() - ccall((:MPI_Wtick, libHYPRE), Cdouble, ()) +function mv_MultiVectorAxpy(a, x, y) + ccall((:mv_MultiVectorAxpy, libHYPRE), Cvoid, (HYPRE_Complex, mv_MultiVectorPtr, mv_MultiVectorPtr), a, x, y) end -function MPI_Wtime() - ccall((:MPI_Wtime, libHYPRE), Cdouble, ()) +function mv_MultiVectorByMultiVector(x, y, gh, h, w, v) + ccall((:mv_MultiVectorByMultiVector, libHYPRE), Cvoid, (mv_MultiVectorPtr, mv_MultiVectorPtr, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Real}), x, y, gh, h, w, v) end -function MPI_Cart_coords(comm, rank, maxdims, coords) - ccall((:MPI_Cart_coords, libHYPRE), Cint, (MPI_Comm, Cint, Cint, Ptr{Cint}), comm, rank, maxdims, coords) +function mv_MultiVectorByMultiVectorDiag(arg1, arg2, mask, n, diag) + ccall((:mv_MultiVectorByMultiVectorDiag, libHYPRE), Cvoid, (mv_MultiVectorPtr, mv_MultiVectorPtr, Ptr{HYPRE_Int}, HYPRE_Int, Ptr{HYPRE_Real}), arg1, arg2, mask, n, diag) end -function MPI_Cart_create(comm_old, ndims, dims, periods, reorder, comm_cart) - ccall((:MPI_Cart_create, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Cint, Ptr{MPI_Comm}), comm_old, ndims, dims, periods, reorder, comm_cart) +function mv_MultiVectorByMatrix(x, gh, h, w, v, y) + ccall((:mv_MultiVectorByMatrix, libHYPRE), Cvoid, (mv_MultiVectorPtr, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Complex}, mv_MultiVectorPtr), x, gh, h, w, v, y) end -function MPI_Cart_get(comm, maxdims, dims, periods, coords) - ccall((:MPI_Cart_get, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), comm, maxdims, dims, periods, coords) +function mv_MultiVectorXapy(x, gh, h, w, v, y) + ccall((:mv_MultiVectorXapy, libHYPRE), Cvoid, (mv_MultiVectorPtr, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Complex}, mv_MultiVectorPtr), x, gh, h, w, v, y) end -function MPI_Cart_map(comm, ndims, dims, periods, newrank) - ccall((:MPI_Cart_map, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), comm, ndims, dims, periods, newrank) +function mv_MultiVectorByDiagonal(x, mask, n, diag, y) + ccall((:mv_MultiVectorByDiagonal, libHYPRE), Cvoid, (mv_MultiVectorPtr, Ptr{HYPRE_Int}, HYPRE_Int, Ptr{HYPRE_Complex}, mv_MultiVectorPtr), x, mask, n, diag, y) end -function MPI_Cart_rank(comm, coords, rank) - ccall((:MPI_Cart_rank, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}, Ptr{Cint}), comm, coords, rank) +function mv_MultiVectorEval(f, par, x, y) + ccall((:mv_MultiVectorEval, libHYPRE), Cvoid, (Ptr{Cvoid}, Ptr{Cvoid}, mv_MultiVectorPtr, mv_MultiVectorPtr), f, par, x, y) end -function MPI_Cart_shift(comm, direction, disp, rank_source, rank_dest) - ccall((:MPI_Cart_shift, libHYPRE), Cint, (MPI_Comm, Cint, Cint, Ptr{Cint}, Ptr{Cint}), comm, direction, disp, rank_source, rank_dest) +struct mv_TempMultiVector + numVectors::HYPRE_Int + mask::Ptr{HYPRE_Int} + vector::Ptr{Ptr{Cvoid}} + ownsVectors::HYPRE_Int + ownsMask::HYPRE_Int + interpreter::Ptr{mv_InterfaceInterpreter} end -function MPI_Cart_sub(comm, remain_dims, newcomm) - ccall((:MPI_Cart_sub, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}, Ptr{MPI_Comm}), comm, remain_dims, newcomm) -end +const mv_TempMultiVectorPtr = Ptr{mv_TempMultiVector} -function MPI_Cartdim_get(comm, ndims) - ccall((:MPI_Cartdim_get, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}), comm, ndims) +function mv_TempMultiVectorCreateFromSampleVector(arg1, n, sample) + ccall((:mv_TempMultiVectorCreateFromSampleVector, libHYPRE), Ptr{Cvoid}, (Ptr{Cvoid}, HYPRE_Int, Ptr{Cvoid}), arg1, n, sample) end -function MPI_Dims_create(nnodes, ndims, dims) - ccall((:MPI_Dims_create, libHYPRE), Cint, (Cint, Cint, Ptr{Cint}), nnodes, ndims, dims) +function mv_TempMultiVectorCreateCopy(arg1, copyValues) + ccall((:mv_TempMultiVectorCreateCopy, libHYPRE), Ptr{Cvoid}, (Ptr{Cvoid}, HYPRE_Int), arg1, copyValues) end -function MPI_Dist_graph_create(comm_old, n, sources, degrees, destinations, weights, info, reorder, comm_dist_graph) - ccall((:MPI_Dist_graph_create, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, MPI_Info, Cint, Ptr{MPI_Comm}), comm_old, n, sources, degrees, destinations, weights, info, reorder, comm_dist_graph) +function mv_TempMultiVectorDestroy(arg1) + ccall((:mv_TempMultiVectorDestroy, libHYPRE), Cvoid, (Ptr{Cvoid},), arg1) end -function MPI_Dist_graph_create_adjacent(comm_old, indegree, sources, sourceweights, outdegree, destinations, destweights, info, reorder, comm_dist_graph) - ccall((:MPI_Dist_graph_create_adjacent, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Cint, Ptr{Cint}, Ptr{Cint}, MPI_Info, Cint, Ptr{MPI_Comm}), comm_old, indegree, sources, sourceweights, outdegree, destinations, destweights, info, reorder, comm_dist_graph) +function mv_TempMultiVectorWidth(v) + ccall((:mv_TempMultiVectorWidth, libHYPRE), HYPRE_Int, (Ptr{Cvoid},), v) end -function MPI_Dist_graph_neighbors(comm, maxindegree, sources, sourceweights, maxoutdegree, destinations, destweights) - ccall((:MPI_Dist_graph_neighbors, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Cint, Ptr{Cint}, Ptr{Cint}), comm, maxindegree, sources, sourceweights, maxoutdegree, destinations, destweights) +function mv_TempMultiVectorHeight(v) + ccall((:mv_TempMultiVectorHeight, libHYPRE), HYPRE_Int, (Ptr{Cvoid},), v) end -function MPI_Dist_graph_neighbors_count(comm, indegree, outdegree, weighted) - ccall((:MPI_Dist_graph_neighbors_count, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), comm, indegree, outdegree, weighted) +function mv_TempMultiVectorSetMask(v, mask) + ccall((:mv_TempMultiVectorSetMask, libHYPRE), Cvoid, (Ptr{Cvoid}, Ptr{HYPRE_Int}), v, mask) end -function MPI_Graph_create(comm_old, nnodes, indx, edges, reorder, comm_graph) - ccall((:MPI_Graph_create, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Cint, Ptr{MPI_Comm}), comm_old, nnodes, indx, edges, reorder, comm_graph) +function mv_TempMultiVectorClear(arg1) + ccall((:mv_TempMultiVectorClear, libHYPRE), Cvoid, (Ptr{Cvoid},), arg1) end -function MPI_Graph_get(comm, maxindex, maxedges, indx, edges) - ccall((:MPI_Graph_get, libHYPRE), Cint, (MPI_Comm, Cint, Cint, Ptr{Cint}, Ptr{Cint}), comm, maxindex, maxedges, indx, edges) +function mv_TempMultiVectorSetRandom(v, seed) + ccall((:mv_TempMultiVectorSetRandom, libHYPRE), Cvoid, (Ptr{Cvoid}, HYPRE_Int), v, seed) end -function MPI_Graph_map(comm, nnodes, indx, edges, newrank) - ccall((:MPI_Graph_map, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), comm, nnodes, indx, edges, newrank) +function mv_TempMultiVectorCopy(src, dest) + ccall((:mv_TempMultiVectorCopy, libHYPRE), Cvoid, (Ptr{Cvoid}, Ptr{Cvoid}), src, dest) end -function MPI_Graph_neighbors(comm, rank, maxneighbors, neighbors) - ccall((:MPI_Graph_neighbors, libHYPRE), Cint, (MPI_Comm, Cint, Cint, Ptr{Cint}), comm, rank, maxneighbors, neighbors) +function mv_TempMultiVectorAxpy(arg1, arg2, arg3) + ccall((:mv_TempMultiVectorAxpy, libHYPRE), Cvoid, (HYPRE_Complex, Ptr{Cvoid}, Ptr{Cvoid}), arg1, arg2, arg3) end -function MPI_Graph_neighbors_count(comm, rank, nneighbors) - ccall((:MPI_Graph_neighbors_count, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cint}), comm, rank, nneighbors) +function mv_TempMultiVectorByMultiVector(arg1, arg2, gh, h, w, v) + ccall((:mv_TempMultiVectorByMultiVector, libHYPRE), Cvoid, (Ptr{Cvoid}, Ptr{Cvoid}, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Complex}), arg1, arg2, gh, h, w, v) end -function MPI_Graphdims_get(comm, nnodes, nedges) - ccall((:MPI_Graphdims_get, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}, Ptr{Cint}), comm, nnodes, nedges) +function mv_TempMultiVectorByMultiVectorDiag(x, y, mask, n, diag) + ccall((:mv_TempMultiVectorByMultiVectorDiag, libHYPRE), Cvoid, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{HYPRE_Int}, HYPRE_Int, Ptr{HYPRE_Complex}), x, y, mask, n, diag) end -function MPI_Topo_test(comm, status) - ccall((:MPI_Topo_test, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}), comm, status) +function mv_TempMultiVectorByMatrix(arg1, gh, h, w, v, arg6) + ccall((:mv_TempMultiVectorByMatrix, libHYPRE), Cvoid, (Ptr{Cvoid}, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Complex}, Ptr{Cvoid}), arg1, gh, h, w, v, arg6) end -function MPI_T_category_changed(update_number) - ccall((:MPI_T_category_changed, libHYPRE), Cint, (Ptr{Cint},), update_number) +function mv_TempMultiVectorXapy(x, gh, h, w, v, y) + ccall((:mv_TempMultiVectorXapy, libHYPRE), Cvoid, (Ptr{Cvoid}, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Complex}, Ptr{Cvoid}), x, gh, h, w, v, y) end -function MPI_T_category_get_categories(cat_index, len, indices) - ccall((:MPI_T_category_get_categories, libHYPRE), Cint, (Cint, Cint, Ptr{Cint}), cat_index, len, indices) +function mv_TempMultiVectorByDiagonal(x, mask, n, diag, y) + ccall((:mv_TempMultiVectorByDiagonal, libHYPRE), Cvoid, (Ptr{Cvoid}, Ptr{HYPRE_Int}, HYPRE_Int, Ptr{HYPRE_Complex}, Ptr{Cvoid}), x, mask, n, diag, y) end -function MPI_T_category_get_cvars(cat_index, len, indices) - ccall((:MPI_T_category_get_cvars, libHYPRE), Cint, (Cint, Cint, Ptr{Cint}), cat_index, len, indices) +function mv_TempMultiVectorEval(f, par, x, y) + ccall((:mv_TempMultiVectorEval, libHYPRE), Cvoid, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}), f, par, x, y) end -function MPI_T_category_get_events(cat_index, len, indices) - ccall((:MPI_T_category_get_events, libHYPRE), Cint, (Cint, Cint, Ptr{Cint}), cat_index, len, indices) +struct HYPRE_MatvecFunctions + MatvecCreate::Ptr{Cvoid} + Matvec::Ptr{Cvoid} + MatvecDestroy::Ptr{Cvoid} + MatMultiVecCreate::Ptr{Cvoid} + MatMultiVec::Ptr{Cvoid} + MatMultiVecDestroy::Ptr{Cvoid} end -function MPI_T_category_get_index(name, cat_index) - ccall((:MPI_T_category_get_index, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cint}), name, cat_index) +function HYPRE_LOBPCGCreate(interpreter, mvfunctions, solver) + ccall((:HYPRE_LOBPCGCreate, libHYPRE), HYPRE_Int, (Ptr{mv_InterfaceInterpreter}, Ptr{HYPRE_MatvecFunctions}, Ptr{HYPRE_Solver}), interpreter, mvfunctions, solver) end -function MPI_T_category_get_info(cat_index, name, name_len, desc, desc_len, num_cvars, num_pvars, num_categories) - ccall((:MPI_T_category_get_info, libHYPRE), Cint, (Cint, Ptr{Cchar}, Ptr{Cint}, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), cat_index, name, name_len, desc, desc_len, num_cvars, num_pvars, num_categories) +function HYPRE_LOBPCGDestroy(solver) + ccall((:HYPRE_LOBPCGDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function MPI_T_category_get_num(num_cat) - ccall((:MPI_T_category_get_num, libHYPRE), Cint, (Ptr{Cint},), num_cat) +function HYPRE_LOBPCGSetPrecond(solver, precond, precond_setup, precond_solver) + ccall((:HYPRE_LOBPCGSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToSolverFcn, HYPRE_PtrToSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) end -function MPI_T_category_get_num_events(cat_index, num_events) - ccall((:MPI_T_category_get_num_events, libHYPRE), Cint, (Cint, Ptr{Cint}), cat_index, num_events) +function HYPRE_LOBPCGGetPrecond(solver, precond_data_ptr) + ccall((:HYPRE_LOBPCGGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data_ptr) end -function MPI_T_category_get_pvars(cat_index, len, indices) - ccall((:MPI_T_category_get_pvars, libHYPRE), Cint, (Cint, Cint, Ptr{Cint}), cat_index, len, indices) +function HYPRE_LOBPCGSetup(solver, A, b, x) + ccall((:HYPRE_LOBPCGSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) end -function MPI_T_cvar_get_index(name, cvar_index) - ccall((:MPI_T_cvar_get_index, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cint}), name, cvar_index) +function HYPRE_LOBPCGSetupB(solver, B, x) + ccall((:HYPRE_LOBPCGSetupB, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector), solver, B, x) end -function MPI_T_cvar_get_info(cvar_index, name, name_len, verbosity, datatype, enumtype, desc, desc_len, bind, scope) - ccall((:MPI_T_cvar_get_info, libHYPRE), Cint, (Cint, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, Ptr{MPI_T_enum}, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), cvar_index, name, name_len, verbosity, datatype, enumtype, desc, desc_len, bind, scope) +function HYPRE_LOBPCGSetupT(solver, T, x) + ccall((:HYPRE_LOBPCGSetupT, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector), solver, T, x) end -function MPI_T_cvar_get_num(num_cvar) - ccall((:MPI_T_cvar_get_num, libHYPRE), Cint, (Ptr{Cint},), num_cvar) +function HYPRE_LOBPCGSolve(solver, y, x, lambda) + ccall((:HYPRE_LOBPCGSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, mv_MultiVectorPtr, mv_MultiVectorPtr, Ptr{HYPRE_Real}), solver, y, x, lambda) end -function MPI_T_cvar_handle_alloc(cvar_index, obj_handle, handle, count) - ccall((:MPI_T_cvar_handle_alloc, libHYPRE), Cint, (Cint, Ptr{Cvoid}, Ptr{MPI_T_cvar_handle}, Ptr{Cint}), cvar_index, obj_handle, handle, count) +function HYPRE_LOBPCGSetTol(solver, tol) + ccall((:HYPRE_LOBPCGSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function MPI_T_cvar_handle_free(handle) - ccall((:MPI_T_cvar_handle_free, libHYPRE), Cint, (Ptr{MPI_T_cvar_handle},), handle) +function HYPRE_LOBPCGSetRTol(solver, tol) + ccall((:HYPRE_LOBPCGSetRTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function MPI_T_cvar_read(handle, buf) - ccall((:MPI_T_cvar_read, libHYPRE), Cint, (MPI_T_cvar_handle, Ptr{Cvoid}), handle, buf) +function HYPRE_LOBPCGSetMaxIter(solver, max_iter) + ccall((:HYPRE_LOBPCGSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) end -function MPI_T_cvar_write(handle, buf) - ccall((:MPI_T_cvar_write, libHYPRE), Cint, (MPI_T_cvar_handle, Ptr{Cvoid}), handle, buf) +function HYPRE_LOBPCGSetPrecondUsageMode(solver, mode) + ccall((:HYPRE_LOBPCGSetPrecondUsageMode, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, mode) end -function MPI_T_enum_get_info(enumtype, num, name, name_len) - ccall((:MPI_T_enum_get_info, libHYPRE), Cint, (MPI_T_enum, Ptr{Cint}, Ptr{Cchar}, Ptr{Cint}), enumtype, num, name, name_len) +function HYPRE_LOBPCGSetPrintLevel(solver, level) + ccall((:HYPRE_LOBPCGSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, level) end -function MPI_T_enum_get_item(enumtype, indx, value, name, name_len) - ccall((:MPI_T_enum_get_item, libHYPRE), Cint, (MPI_T_enum, Cint, Ptr{Cint}, Ptr{Cchar}, Ptr{Cint}), enumtype, indx, value, name, name_len) +function HYPRE_LOBPCGResidualNorms(solver) + ccall((:HYPRE_LOBPCGResidualNorms, libHYPRE), Ptr{utilities_FortranMatrix}, (HYPRE_Solver,), solver) end -function MPI_T_event_callback_get_info(event_registration, cb_safety, info_used) - ccall((:MPI_T_event_callback_get_info, libHYPRE), Cint, (MPI_T_event_registration, MPI_T_cb_safety, Ptr{MPI_Info}), event_registration, cb_safety, info_used) +function HYPRE_LOBPCGResidualNormsHistory(solver) + ccall((:HYPRE_LOBPCGResidualNormsHistory, libHYPRE), Ptr{utilities_FortranMatrix}, (HYPRE_Solver,), solver) end -function MPI_T_event_callback_set_info(event_registration, cb_safety, info) - ccall((:MPI_T_event_callback_set_info, libHYPRE), Cint, (MPI_T_event_registration, MPI_T_cb_safety, MPI_Info), event_registration, cb_safety, info) +function HYPRE_LOBPCGEigenvaluesHistory(solver) + ccall((:HYPRE_LOBPCGEigenvaluesHistory, libHYPRE), Ptr{utilities_FortranMatrix}, (HYPRE_Solver,), solver) end -function MPI_T_event_copy(event_instance, buffer) - ccall((:MPI_T_event_copy, libHYPRE), Cint, (MPI_T_event_instance, Ptr{Cvoid}), event_instance, buffer) +function HYPRE_LOBPCGIterations(solver) + ccall((:HYPRE_LOBPCGIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function MPI_T_event_get_index(name, event_index) - ccall((:MPI_T_event_get_index, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cint}), name, event_index) +function hypre_LOBPCGMultiOperatorB(data, x, y) + ccall((:hypre_LOBPCGMultiOperatorB, libHYPRE), Cvoid, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}), data, x, y) end -function MPI_T_event_get_info(event_index, name, name_len, verbosity, array_of_datatypes, array_of_displacements, num_elements, enumtype, info, desc, desc_len, bind) - ccall((:MPI_T_event_get_info, libHYPRE), Cint, (Cint, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, Ptr{MPI_Aint}, Ptr{Cint}, Ptr{MPI_T_enum}, Ptr{MPI_Info}, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}), event_index, name, name_len, verbosity, array_of_datatypes, array_of_displacements, num_elements, enumtype, info, desc, desc_len, bind) +function lobpcg_MultiVectorByMultiVector(x, y, xy) + ccall((:lobpcg_MultiVectorByMultiVector, libHYPRE), Cvoid, (mv_MultiVectorPtr, mv_MultiVectorPtr, Ptr{utilities_FortranMatrix}), x, y, xy) end -function MPI_T_event_get_num(num_events) - ccall((:MPI_T_event_get_num, libHYPRE), Cint, (Ptr{Cint},), num_events) -end +# typedef HYPRE_Int ( * HYPRE_PtrToParSolverFcn ) ( HYPRE_Solver , HYPRE_ParCSRMatrix , HYPRE_ParVector , HYPRE_ParVector ) +const HYPRE_PtrToParSolverFcn = Ptr{Cvoid} -function MPI_T_event_get_source(event_instance, source_index) - ccall((:MPI_T_event_get_source, libHYPRE), Cint, (MPI_T_event_instance, Ptr{Cint}), event_instance, source_index) +function HYPRE_BoomerAMGCreate(solver) + ccall((:HYPRE_BoomerAMGCreate, libHYPRE), HYPRE_Int, (Ptr{HYPRE_Solver},), solver) end -function MPI_T_event_get_timestamp(event_instance, event_timestamp) - ccall((:MPI_T_event_get_timestamp, libHYPRE), Cint, (MPI_T_event_instance, Ptr{MPI_Count}), event_instance, event_timestamp) +function HYPRE_BoomerAMGDestroy(solver) + ccall((:HYPRE_BoomerAMGDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function MPI_T_event_handle_alloc(event_index, obj_handle, info, event_registration) - ccall((:MPI_T_event_handle_alloc, libHYPRE), Cint, (Cint, Ptr{Cvoid}, MPI_Info, Ptr{MPI_T_event_registration}), event_index, obj_handle, info, event_registration) +function HYPRE_BoomerAMGSetup(solver, A, b, x) + ccall((:HYPRE_BoomerAMGSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function MPI_T_event_handle_free(event_registration, user_data, free_cb_function) - ccall((:MPI_T_event_handle_free, libHYPRE), Cint, (MPI_T_event_registration, Ptr{Cvoid}, MPI_T_event_free_cb_function), event_registration, user_data, free_cb_function) +function HYPRE_BoomerAMGSolve(solver, A, b, x) + ccall((:HYPRE_BoomerAMGSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function MPI_T_event_handle_get_info(event_registration, info_used) - ccall((:MPI_T_event_handle_get_info, libHYPRE), Cint, (MPI_T_event_registration, Ptr{MPI_Info}), event_registration, info_used) +function HYPRE_BoomerAMGSolveT(solver, A, b, x) + ccall((:HYPRE_BoomerAMGSolveT, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function MPI_T_event_handle_set_info(event_registration, info) - ccall((:MPI_T_event_handle_set_info, libHYPRE), Cint, (MPI_T_event_registration, MPI_Info), event_registration, info) +function HYPRE_BoomerAMGSetOldDefault(solver) + ccall((:HYPRE_BoomerAMGSetOldDefault, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function MPI_T_event_read(event_instance, element_index, buffer) - ccall((:MPI_T_event_read, libHYPRE), Cint, (MPI_T_event_instance, Cint, Ptr{Cvoid}), event_instance, element_index, buffer) +function HYPRE_BoomerAMGGetResidual(solver, residual) + ccall((:HYPRE_BoomerAMGGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_ParVector}), solver, residual) end -function MPI_T_event_register_callback(event_registration, cb_safety, info, user_data, event_cb_function) - ccall((:MPI_T_event_register_callback, libHYPRE), Cint, (MPI_T_event_registration, MPI_T_cb_safety, MPI_Info, Ptr{Cvoid}, MPI_T_event_cb_function), event_registration, cb_safety, info, user_data, event_cb_function) +function HYPRE_BoomerAMGGetNumIterations(solver, num_iterations) + ccall((:HYPRE_BoomerAMGGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) end -function MPI_T_event_set_dropped_handler(event_registration, dropped_cb_function) - ccall((:MPI_T_event_set_dropped_handler, libHYPRE), Cint, (MPI_T_event_registration, MPI_T_event_dropped_cb_function), event_registration, dropped_cb_function) +function HYPRE_BoomerAMGGetFinalRelativeResidualNorm(solver, rel_resid_norm) + ccall((:HYPRE_BoomerAMGGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, rel_resid_norm) end -function MPI_T_finalize() - ccall((:MPI_T_finalize, libHYPRE), Cint, ()) +function HYPRE_BoomerAMGSetNumFunctions(solver, num_functions) + ccall((:HYPRE_BoomerAMGSetNumFunctions, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, num_functions) end -function MPI_T_init_thread(required, provided) - ccall((:MPI_T_init_thread, libHYPRE), Cint, (Cint, Ptr{Cint}), required, provided) +function HYPRE_BoomerAMGSetDofFunc(solver, dof_func) + ccall((:HYPRE_BoomerAMGSetDofFunc, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, dof_func) end -function MPI_T_pvar_get_index(name, var_class, pvar_index) - ccall((:MPI_T_pvar_get_index, libHYPRE), Cint, (Ptr{Cchar}, Cint, Ptr{Cint}), name, var_class, pvar_index) +function HYPRE_BoomerAMGSetConvergeType(solver, type) + ccall((:HYPRE_BoomerAMGSetConvergeType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, type) end -function MPI_T_pvar_get_info(pvar_index, name, name_len, verbosity, var_class, datatype, enumtype, desc, desc_len, bind, readonly, continuous, atomic) - ccall((:MPI_T_pvar_get_info, libHYPRE), Cint, (Cint, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, Ptr{MPI_T_enum}, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), pvar_index, name, name_len, verbosity, var_class, datatype, enumtype, desc, desc_len, bind, readonly, continuous, atomic) +function HYPRE_BoomerAMGSetTol(solver, tol) + ccall((:HYPRE_BoomerAMGSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function MPI_T_pvar_get_num(num_pvar) - ccall((:MPI_T_pvar_get_num, libHYPRE), Cint, (Ptr{Cint},), num_pvar) +function HYPRE_BoomerAMGSetMaxIter(solver, max_iter) + ccall((:HYPRE_BoomerAMGSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) end -function MPI_T_pvar_handle_alloc(session, pvar_index, obj_handle, handle, count) - ccall((:MPI_T_pvar_handle_alloc, libHYPRE), Cint, (MPI_T_pvar_session, Cint, Ptr{Cvoid}, Ptr{MPI_T_pvar_handle}, Ptr{Cint}), session, pvar_index, obj_handle, handle, count) +function HYPRE_BoomerAMGSetMinIter(solver, min_iter) + ccall((:HYPRE_BoomerAMGSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) end -function MPI_T_pvar_handle_free(session, handle) - ccall((:MPI_T_pvar_handle_free, libHYPRE), Cint, (MPI_T_pvar_session, Ptr{MPI_T_pvar_handle}), session, handle) +function HYPRE_BoomerAMGSetMaxCoarseSize(solver, max_coarse_size) + ccall((:HYPRE_BoomerAMGSetMaxCoarseSize, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_coarse_size) end -function MPI_T_pvar_read(session, handle, buf) - ccall((:MPI_T_pvar_read, libHYPRE), Cint, (MPI_T_pvar_session, MPI_T_pvar_handle, Ptr{Cvoid}), session, handle, buf) +function HYPRE_BoomerAMGSetMinCoarseSize(solver, min_coarse_size) + ccall((:HYPRE_BoomerAMGSetMinCoarseSize, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_coarse_size) end -function MPI_T_pvar_readreset(session, handle, buf) - ccall((:MPI_T_pvar_readreset, libHYPRE), Cint, (MPI_T_pvar_session, MPI_T_pvar_handle, Ptr{Cvoid}), session, handle, buf) +function HYPRE_BoomerAMGSetMaxLevels(solver, max_levels) + ccall((:HYPRE_BoomerAMGSetMaxLevels, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_levels) end -function MPI_T_pvar_reset(session, handle) - ccall((:MPI_T_pvar_reset, libHYPRE), Cint, (MPI_T_pvar_session, MPI_T_pvar_handle), session, handle) +function HYPRE_BoomerAMGSetCoarsenCutFactor(solver, coarsen_cut_factor) + ccall((:HYPRE_BoomerAMGSetCoarsenCutFactor, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, coarsen_cut_factor) end -function MPI_T_pvar_session_create(session) - ccall((:MPI_T_pvar_session_create, libHYPRE), Cint, (Ptr{MPI_T_pvar_session},), session) +function HYPRE_BoomerAMGSetStrongThreshold(solver, strong_threshold) + ccall((:HYPRE_BoomerAMGSetStrongThreshold, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, strong_threshold) end -function MPI_T_pvar_session_free(session) - ccall((:MPI_T_pvar_session_free, libHYPRE), Cint, (Ptr{MPI_T_pvar_session},), session) +function HYPRE_BoomerAMGSetStrongThresholdR(solver, strong_threshold) + ccall((:HYPRE_BoomerAMGSetStrongThresholdR, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, strong_threshold) end -function MPI_T_pvar_start(session, handle) - ccall((:MPI_T_pvar_start, libHYPRE), Cint, (MPI_T_pvar_session, MPI_T_pvar_handle), session, handle) +function HYPRE_BoomerAMGSetFilterThresholdR(solver, filter_threshold) + ccall((:HYPRE_BoomerAMGSetFilterThresholdR, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, filter_threshold) end -function MPI_T_pvar_stop(session, handle) - ccall((:MPI_T_pvar_stop, libHYPRE), Cint, (MPI_T_pvar_session, MPI_T_pvar_handle), session, handle) +function HYPRE_BoomerAMGSetSCommPkgSwitch(solver, S_commpkg_switch) + ccall((:HYPRE_BoomerAMGSetSCommPkgSwitch, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, S_commpkg_switch) end -function MPI_T_pvar_write(session, handle, buf) - ccall((:MPI_T_pvar_write, libHYPRE), Cint, (MPI_T_pvar_session, MPI_T_pvar_handle, Ptr{Cvoid}), session, handle, buf) +function HYPRE_BoomerAMGSetMaxRowSum(solver, max_row_sum) + ccall((:HYPRE_BoomerAMGSetMaxRowSum, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, max_row_sum) end -function MPI_T_source_get_info(source_index, name, name_len, desc, desc_len, ordering, ticks_per_second, max_ticks, info) - ccall((:MPI_T_source_get_info, libHYPRE), Cint, (Cint, Ptr{Cchar}, Ptr{Cint}, Ptr{Cchar}, Ptr{Cint}, Ptr{MPI_T_source_order}, Ptr{MPI_Count}, Ptr{MPI_Count}, Ptr{MPI_Info}), source_index, name, name_len, desc, desc_len, ordering, ticks_per_second, max_ticks, info) +function HYPRE_BoomerAMGSetCoarsenType(solver, coarsen_type) + ccall((:HYPRE_BoomerAMGSetCoarsenType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, coarsen_type) end -function MPI_T_source_get_num(num_sources) - ccall((:MPI_T_source_get_num, libHYPRE), Cint, (Ptr{Cint},), num_sources) +function HYPRE_BoomerAMGSetNonGalerkinTol(solver, nongalerkin_tol) + ccall((:HYPRE_BoomerAMGSetNonGalerkinTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, nongalerkin_tol) end -function MPI_T_source_get_timestamp(source_index, timestamp) - ccall((:MPI_T_source_get_timestamp, libHYPRE), Cint, (Cint, Ptr{MPI_Count}), source_index, timestamp) +function HYPRE_BoomerAMGSetLevelNonGalerkinTol(solver, nongalerkin_tol, level) + ccall((:HYPRE_BoomerAMGSetLevelNonGalerkinTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real, HYPRE_Int), solver, nongalerkin_tol, level) end -function MPIX_Grequest_start(query_fn, free_fn, cancel_fn, poll_fn, wait_fn, extra_state, request) - ccall((:MPIX_Grequest_start, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{MPI_Request}), query_fn, free_fn, cancel_fn, poll_fn, wait_fn, extra_state, request) +function HYPRE_BoomerAMGSetNonGalerkTol(solver, nongalerk_num_tol, nongalerk_tol) + ccall((:HYPRE_BoomerAMGSetNonGalerkTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, Ptr{HYPRE_Real}), solver, nongalerk_num_tol, nongalerk_tol) end -function MPIX_Grequest_class_create(query_fn, free_fn, cancel_fn, poll_fn, wait_fn, greq_class) - ccall((:MPIX_Grequest_class_create, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{MPIX_Grequest_class}), query_fn, free_fn, cancel_fn, poll_fn, wait_fn, greq_class) +function HYPRE_BoomerAMGSetMeasureType(solver, measure_type) + ccall((:HYPRE_BoomerAMGSetMeasureType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, measure_type) end -function MPIX_Grequest_class_allocate(greq_class, extra_state, request) - ccall((:MPIX_Grequest_class_allocate, libHYPRE), Cint, (MPIX_Grequest_class, Ptr{Cvoid}, Ptr{MPI_Request}), greq_class, extra_state, request) +function HYPRE_BoomerAMGSetAggNumLevels(solver, agg_num_levels) + ccall((:HYPRE_BoomerAMGSetAggNumLevels, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, agg_num_levels) end -function MPI_Allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:MPI_Allgather_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) +function HYPRE_BoomerAMGSetNumPaths(solver, num_paths) + ccall((:HYPRE_BoomerAMGSetNumPaths, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, num_paths) end -function MPI_Allgather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:MPI_Allgather_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) +function HYPRE_BoomerAMGSetCGCIts(solver, its) + ccall((:HYPRE_BoomerAMGSetCGCIts, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, its) end -function MPI_Allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) - ccall((:MPI_Allgatherv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) +function HYPRE_BoomerAMGSetNodal(solver, nodal) + ccall((:HYPRE_BoomerAMGSetNodal, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, nodal) end -function MPI_Allgatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) - ccall((:MPI_Allgatherv_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) +function HYPRE_BoomerAMGSetNodalDiag(solver, nodal_diag) + ccall((:HYPRE_BoomerAMGSetNodalDiag, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, nodal_diag) end -function MPI_Allreduce_c(sendbuf, recvbuf, count, datatype, op, comm) - ccall((:MPI_Allreduce_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm), sendbuf, recvbuf, count, datatype, op, comm) +function HYPRE_BoomerAMGSetKeepSameSign(solver, keep_same_sign) + ccall((:HYPRE_BoomerAMGSetKeepSameSign, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, keep_same_sign) end -function MPI_Allreduce_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request) - ccall((:MPI_Allreduce_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, info, request) +function HYPRE_BoomerAMGSetInterpType(solver, interp_type) + ccall((:HYPRE_BoomerAMGSetInterpType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, interp_type) end -function MPI_Alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:MPI_Alltoall_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) +function HYPRE_BoomerAMGSetTruncFactor(solver, trunc_factor) + ccall((:HYPRE_BoomerAMGSetTruncFactor, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, trunc_factor) end -function MPI_Alltoall_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:MPI_Alltoall_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) +function HYPRE_BoomerAMGSetPMaxElmts(solver, P_max_elmts) + ccall((:HYPRE_BoomerAMGSetPMaxElmts, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, P_max_elmts) end -function MPI_Alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) - ccall((:MPI_Alltoallv_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) +function HYPRE_BoomerAMGSetSepWeight(solver, sep_weight) + ccall((:HYPRE_BoomerAMGSetSepWeight, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, sep_weight) end -function MPI_Alltoallv_init_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) - ccall((:MPI_Alltoallv_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) +function HYPRE_BoomerAMGSetAggInterpType(solver, agg_interp_type) + ccall((:HYPRE_BoomerAMGSetAggInterpType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, agg_interp_type) end -function MPI_Alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) - ccall((:MPI_Alltoallw_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) +function HYPRE_BoomerAMGSetAggTruncFactor(solver, agg_trunc_factor) + ccall((:HYPRE_BoomerAMGSetAggTruncFactor, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, agg_trunc_factor) end -function MPI_Alltoallw_init_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) - ccall((:MPI_Alltoallw_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) +function HYPRE_BoomerAMGSetAggP12TruncFactor(solver, agg_P12_trunc_factor) + ccall((:HYPRE_BoomerAMGSetAggP12TruncFactor, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, agg_P12_trunc_factor) end -function MPI_Bcast_c(buffer, count, datatype, root, comm) - ccall((:MPI_Bcast_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm), buffer, count, datatype, root, comm) +function HYPRE_BoomerAMGSetAggPMaxElmts(solver, agg_P_max_elmts) + ccall((:HYPRE_BoomerAMGSetAggPMaxElmts, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, agg_P_max_elmts) end -function MPI_Bcast_init_c(buffer, count, datatype, root, comm, info, request) - ccall((:MPI_Bcast_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), buffer, count, datatype, root, comm, info, request) +function HYPRE_BoomerAMGSetAggP12MaxElmts(solver, agg_P12_max_elmts) + ccall((:HYPRE_BoomerAMGSetAggP12MaxElmts, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, agg_P12_max_elmts) end -function MPI_Exscan_c(sendbuf, recvbuf, count, datatype, op, comm) - ccall((:MPI_Exscan_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm), sendbuf, recvbuf, count, datatype, op, comm) +function HYPRE_BoomerAMGSetInterpVectors(solver, num_vectors, interp_vectors) + ccall((:HYPRE_BoomerAMGSetInterpVectors, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, Ptr{HYPRE_ParVector}), solver, num_vectors, interp_vectors) end -function MPI_Exscan_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request) - ccall((:MPI_Exscan_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, info, request) +function HYPRE_BoomerAMGSetInterpVecVariant(solver, var) + ccall((:HYPRE_BoomerAMGSetInterpVecVariant, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, var) end -function MPI_Gather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) - ccall((:MPI_Gather_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) +function HYPRE_BoomerAMGSetInterpVecQMax(solver, q_max) + ccall((:HYPRE_BoomerAMGSetInterpVecQMax, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, q_max) end -function MPI_Gather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) - ccall((:MPI_Gather_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) +function HYPRE_BoomerAMGSetInterpVecAbsQTrunc(solver, q_trunc) + ccall((:HYPRE_BoomerAMGSetInterpVecAbsQTrunc, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, q_trunc) end -function MPI_Gatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm) - ccall((:MPI_Gatherv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Cint, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm) +function HYPRE_BoomerAMGSetGSMG(solver, gsmg) + ccall((:HYPRE_BoomerAMGSetGSMG, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, gsmg) end -function MPI_Gatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request) - ccall((:MPI_Gatherv_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request) +function HYPRE_BoomerAMGSetNumSamples(solver, num_samples) + ccall((:HYPRE_BoomerAMGSetNumSamples, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, num_samples) end -function MPI_Iallgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:MPI_Iallgather_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) +function HYPRE_BoomerAMGSetCycleType(solver, cycle_type) + ccall((:HYPRE_BoomerAMGSetCycleType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, cycle_type) end -function MPI_Iallgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) - ccall((:MPI_Iallgatherv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) +function HYPRE_BoomerAMGSetFCycle(solver, fcycle) + ccall((:HYPRE_BoomerAMGSetFCycle, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, fcycle) end -function MPI_Iallreduce_c(sendbuf, recvbuf, count, datatype, op, comm, request) - ccall((:MPI_Iallreduce_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, request) +function HYPRE_BoomerAMGSetAdditive(solver, addlvl) + ccall((:HYPRE_BoomerAMGSetAdditive, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, addlvl) end -function MPI_Ialltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:MPI_Ialltoall_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) +function HYPRE_BoomerAMGSetMultAdditive(solver, addlvl) + ccall((:HYPRE_BoomerAMGSetMultAdditive, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, addlvl) end -function MPI_Ialltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) - ccall((:MPI_Ialltoallv_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) +function HYPRE_BoomerAMGSetSimple(solver, addlvl) + ccall((:HYPRE_BoomerAMGSetSimple, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, addlvl) end -function MPI_Ialltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) - ccall((:MPI_Ialltoallw_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) +function HYPRE_BoomerAMGSetAddLastLvl(solver, add_last_lvl) + ccall((:HYPRE_BoomerAMGSetAddLastLvl, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, add_last_lvl) end -function MPI_Ibcast_c(buffer, count, datatype, root, comm, request) - ccall((:MPI_Ibcast_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), buffer, count, datatype, root, comm, request) +function HYPRE_BoomerAMGSetMultAddTruncFactor(solver, add_trunc_factor) + ccall((:HYPRE_BoomerAMGSetMultAddTruncFactor, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, add_trunc_factor) end -function MPI_Iexscan_c(sendbuf, recvbuf, count, datatype, op, comm, request) - ccall((:MPI_Iexscan_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, request) +function HYPRE_BoomerAMGSetMultAddPMaxElmts(solver, add_P_max_elmts) + ccall((:HYPRE_BoomerAMGSetMultAddPMaxElmts, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, add_P_max_elmts) end -function MPI_Igather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) - ccall((:MPI_Igather_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) +function HYPRE_BoomerAMGSetAddRelaxType(solver, add_rlx_type) + ccall((:HYPRE_BoomerAMGSetAddRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, add_rlx_type) end -function MPI_Igatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request) - ccall((:MPI_Igatherv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request) +function HYPRE_BoomerAMGSetAddRelaxWt(solver, add_rlx_wt) + ccall((:HYPRE_BoomerAMGSetAddRelaxWt, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, add_rlx_wt) end -function MPI_Ineighbor_allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:MPI_Ineighbor_allgather_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) +function HYPRE_BoomerAMGSetSeqThreshold(solver, seq_threshold) + ccall((:HYPRE_BoomerAMGSetSeqThreshold, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, seq_threshold) end -function MPI_Ineighbor_allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) - ccall((:MPI_Ineighbor_allgatherv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) +function HYPRE_BoomerAMGSetRedundant(solver, redundant) + ccall((:HYPRE_BoomerAMGSetRedundant, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, redundant) end -function MPI_Ineighbor_alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:MPI_Ineighbor_alltoall_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) +function HYPRE_BoomerAMGSetNumGridSweeps(solver, num_grid_sweeps) + ccall((:HYPRE_BoomerAMGSetNumGridSweeps, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_grid_sweeps) end -function MPI_Ineighbor_alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) - ccall((:MPI_Ineighbor_alltoallv_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) +function HYPRE_BoomerAMGSetNumSweeps(solver, num_sweeps) + ccall((:HYPRE_BoomerAMGSetNumSweeps, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, num_sweeps) end -function MPI_Ineighbor_alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) - ccall((:MPI_Ineighbor_alltoallw_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) +function HYPRE_BoomerAMGSetCycleNumSweeps(solver, num_sweeps, k) + ccall((:HYPRE_BoomerAMGSetCycleNumSweeps, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int), solver, num_sweeps, k) end -function MPI_Ireduce_c(sendbuf, recvbuf, count, datatype, op, root, comm, request) - ccall((:MPI_Ireduce_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, root, comm, request) +function HYPRE_BoomerAMGSetGridRelaxType(solver, grid_relax_type) + ccall((:HYPRE_BoomerAMGSetGridRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, grid_relax_type) end -function MPI_Ireduce_scatter_c(sendbuf, recvbuf, recvcounts, datatype, op, comm, request) - ccall((:MPI_Ireduce_scatter_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{MPI_Count}, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, recvcounts, datatype, op, comm, request) +function HYPRE_BoomerAMGSetRelaxType(solver, relax_type) + ccall((:HYPRE_BoomerAMGSetRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, relax_type) end -function MPI_Ireduce_scatter_block_c(sendbuf, recvbuf, recvcount, datatype, op, comm, request) - ccall((:MPI_Ireduce_scatter_block_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, recvcount, datatype, op, comm, request) +function HYPRE_BoomerAMGSetCycleRelaxType(solver, relax_type, k) + ccall((:HYPRE_BoomerAMGSetCycleRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int), solver, relax_type, k) end -function MPI_Iscan_c(sendbuf, recvbuf, count, datatype, op, comm, request) - ccall((:MPI_Iscan_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, request) +function HYPRE_BoomerAMGSetRelaxOrder(solver, relax_order) + ccall((:HYPRE_BoomerAMGSetRelaxOrder, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, relax_order) end -function MPI_Iscatter_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) - ccall((:MPI_Iscatter_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) +function HYPRE_BoomerAMGSetGridRelaxPoints(solver, grid_relax_points) + ccall((:HYPRE_BoomerAMGSetGridRelaxPoints, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Ptr{HYPRE_Int}}), solver, grid_relax_points) end -function MPI_Iscatterv_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request) - ccall((:MPI_Iscatterv_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request) +function HYPRE_BoomerAMGSetRelaxWeight(solver, relax_weight) + ccall((:HYPRE_BoomerAMGSetRelaxWeight, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, relax_weight) end -function MPI_Neighbor_allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:MPI_Neighbor_allgather_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) +function HYPRE_BoomerAMGSetRelaxWt(solver, relax_weight) + ccall((:HYPRE_BoomerAMGSetRelaxWt, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, relax_weight) end -function MPI_Neighbor_allgather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:MPI_Neighbor_allgather_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) +function HYPRE_BoomerAMGSetLevelRelaxWt(solver, relax_weight, level) + ccall((:HYPRE_BoomerAMGSetLevelRelaxWt, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real, HYPRE_Int), solver, relax_weight, level) end -function MPI_Neighbor_allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) - ccall((:MPI_Neighbor_allgatherv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) +function HYPRE_BoomerAMGSetOmega(solver, omega) + ccall((:HYPRE_BoomerAMGSetOmega, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, omega) end -function MPI_Neighbor_allgatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) - ccall((:MPI_Neighbor_allgatherv_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) +function HYPRE_BoomerAMGSetOuterWt(solver, omega) + ccall((:HYPRE_BoomerAMGSetOuterWt, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, omega) end -function MPI_Neighbor_alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:MPI_Neighbor_alltoall_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) +function HYPRE_BoomerAMGSetLevelOuterWt(solver, omega, level) + ccall((:HYPRE_BoomerAMGSetLevelOuterWt, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real, HYPRE_Int), solver, omega, level) end -function MPI_Neighbor_alltoall_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:MPI_Neighbor_alltoall_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) +function HYPRE_BoomerAMGSetChebyOrder(solver, order) + ccall((:HYPRE_BoomerAMGSetChebyOrder, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, order) end -function MPI_Neighbor_alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) - ccall((:MPI_Neighbor_alltoallv_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) +function HYPRE_BoomerAMGSetChebyFraction(solver, ratio) + ccall((:HYPRE_BoomerAMGSetChebyFraction, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, ratio) end -function MPI_Neighbor_alltoallv_init_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) - ccall((:MPI_Neighbor_alltoallv_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) +function HYPRE_BoomerAMGSetChebyScale(solver, scale) + ccall((:HYPRE_BoomerAMGSetChebyScale, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, scale) end -function MPI_Neighbor_alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) - ccall((:MPI_Neighbor_alltoallw_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) +function HYPRE_BoomerAMGSetChebyVariant(solver, variant) + ccall((:HYPRE_BoomerAMGSetChebyVariant, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, variant) end -function MPI_Neighbor_alltoallw_init_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) - ccall((:MPI_Neighbor_alltoallw_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) +function HYPRE_BoomerAMGSetChebyEigEst(solver, eig_est) + ccall((:HYPRE_BoomerAMGSetChebyEigEst, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, eig_est) end -function MPI_Reduce_c(sendbuf, recvbuf, count, datatype, op, root, comm) - ccall((:MPI_Reduce_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, Cint, MPI_Comm), sendbuf, recvbuf, count, datatype, op, root, comm) +function HYPRE_BoomerAMGSetSmoothType(solver, smooth_type) + ccall((:HYPRE_BoomerAMGSetSmoothType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, smooth_type) end -function MPI_Reduce_init_c(sendbuf, recvbuf, count, datatype, op, root, comm, info, request) - ccall((:MPI_Reduce_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, root, comm, info, request) +function HYPRE_BoomerAMGSetSmoothNumLevels(solver, smooth_num_levels) + ccall((:HYPRE_BoomerAMGSetSmoothNumLevels, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, smooth_num_levels) end -function MPI_Reduce_local_c(inbuf, inoutbuf, count, datatype, op) - ccall((:MPI_Reduce_local_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op), inbuf, inoutbuf, count, datatype, op) +function HYPRE_BoomerAMGSetSmoothNumSweeps(solver, smooth_num_sweeps) + ccall((:HYPRE_BoomerAMGSetSmoothNumSweeps, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, smooth_num_sweeps) end -function MPI_Reduce_scatter_c(sendbuf, recvbuf, recvcounts, datatype, op, comm) - ccall((:MPI_Reduce_scatter_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{MPI_Count}, MPI_Datatype, MPI_Op, MPI_Comm), sendbuf, recvbuf, recvcounts, datatype, op, comm) +function HYPRE_BoomerAMGSetVariant(solver, variant) + ccall((:HYPRE_BoomerAMGSetVariant, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, variant) end -function MPI_Reduce_scatter_block_c(sendbuf, recvbuf, recvcount, datatype, op, comm) - ccall((:MPI_Reduce_scatter_block_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm), sendbuf, recvbuf, recvcount, datatype, op, comm) +function HYPRE_BoomerAMGSetOverlap(solver, overlap) + ccall((:HYPRE_BoomerAMGSetOverlap, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, overlap) end -function MPI_Reduce_scatter_block_init_c(sendbuf, recvbuf, recvcount, datatype, op, comm, info, request) - ccall((:MPI_Reduce_scatter_block_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, recvcount, datatype, op, comm, info, request) +function HYPRE_BoomerAMGSetDomainType(solver, domain_type) + ccall((:HYPRE_BoomerAMGSetDomainType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, domain_type) end -function MPI_Reduce_scatter_init_c(sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request) - ccall((:MPI_Reduce_scatter_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{MPI_Count}, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request) +function HYPRE_BoomerAMGSetSchwarzRlxWeight(solver, schwarz_rlx_weight) + ccall((:HYPRE_BoomerAMGSetSchwarzRlxWeight, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, schwarz_rlx_weight) end -function MPI_Scan_c(sendbuf, recvbuf, count, datatype, op, comm) - ccall((:MPI_Scan_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm), sendbuf, recvbuf, count, datatype, op, comm) +function HYPRE_BoomerAMGSetSchwarzUseNonSymm(solver, use_nonsymm) + ccall((:HYPRE_BoomerAMGSetSchwarzUseNonSymm, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, use_nonsymm) end -function MPI_Scan_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request) - ccall((:MPI_Scan_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, info, request) +function HYPRE_BoomerAMGSetSym(solver, sym) + ccall((:HYPRE_BoomerAMGSetSym, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, sym) end -function MPI_Scatter_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) - ccall((:MPI_Scatter_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) +function HYPRE_BoomerAMGSetLevel(solver, level) + ccall((:HYPRE_BoomerAMGSetLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, level) end -function MPI_Scatter_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) - ccall((:MPI_Scatter_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) +function HYPRE_BoomerAMGSetThreshold(solver, threshold) + ccall((:HYPRE_BoomerAMGSetThreshold, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, threshold) end -function MPI_Scatterv_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm) - ccall((:MPI_Scatterv_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm), sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm) +function HYPRE_BoomerAMGSetFilter(solver, filter) + ccall((:HYPRE_BoomerAMGSetFilter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, filter) end -function MPI_Scatterv_init_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) - ccall((:MPI_Scatterv_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) +function HYPRE_BoomerAMGSetDropTol(solver, drop_tol) + ccall((:HYPRE_BoomerAMGSetDropTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, drop_tol) end -function MPI_Get_count_c(status, datatype, count) - ccall((:MPI_Get_count_c, libHYPRE), Cint, (Ptr{MPI_Status}, MPI_Datatype, Ptr{MPI_Count}), status, datatype, count) +function HYPRE_BoomerAMGSetMaxNzPerRow(solver, max_nz_per_row) + ccall((:HYPRE_BoomerAMGSetMaxNzPerRow, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_nz_per_row) end -function MPI_Get_elements_c(status, datatype, count) - ccall((:MPI_Get_elements_c, libHYPRE), Cint, (Ptr{MPI_Status}, MPI_Datatype, Ptr{MPI_Count}), status, datatype, count) +function HYPRE_BoomerAMGSetEuclidFile(solver, euclidfile) + ccall((:HYPRE_BoomerAMGSetEuclidFile, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cchar}), solver, euclidfile) end -function MPI_Pack_c(inbuf, incount, datatype, outbuf, outsize, position, comm) - ccall((:MPI_Pack_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, Ptr{MPI_Count}, MPI_Comm), inbuf, incount, datatype, outbuf, outsize, position, comm) +function HYPRE_BoomerAMGSetEuLevel(solver, eu_level) + ccall((:HYPRE_BoomerAMGSetEuLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, eu_level) end -function MPI_Pack_external_c(datarep, inbuf, incount, datatype, outbuf, outsize, position) - ccall((:MPI_Pack_external_c, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, Ptr{MPI_Count}), datarep, inbuf, incount, datatype, outbuf, outsize, position) +function HYPRE_BoomerAMGSetEuSparseA(solver, eu_sparse_A) + ccall((:HYPRE_BoomerAMGSetEuSparseA, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, eu_sparse_A) end -function MPI_Pack_external_size_c(datarep, incount, datatype, size) - ccall((:MPI_Pack_external_size_c, libHYPRE), Cint, (Ptr{Cchar}, MPI_Count, MPI_Datatype, Ptr{MPI_Count}), datarep, incount, datatype, size) +function HYPRE_BoomerAMGSetEuBJ(solver, eu_bj) + ccall((:HYPRE_BoomerAMGSetEuBJ, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, eu_bj) end -function MPI_Pack_size_c(incount, datatype, comm, size) - ccall((:MPI_Pack_size_c, libHYPRE), Cint, (MPI_Count, MPI_Datatype, MPI_Comm, Ptr{MPI_Count}), incount, datatype, comm, size) +function HYPRE_BoomerAMGSetILUType(solver, ilu_type) + ccall((:HYPRE_BoomerAMGSetILUType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, ilu_type) end -function MPI_Type_contiguous_c(count, oldtype, newtype) - ccall((:MPI_Type_contiguous_c, libHYPRE), Cint, (MPI_Count, MPI_Datatype, Ptr{MPI_Datatype}), count, oldtype, newtype) +function HYPRE_BoomerAMGSetILULevel(solver, ilu_lfil) + ccall((:HYPRE_BoomerAMGSetILULevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, ilu_lfil) end -function MPI_Type_create_darray_c(size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype) - ccall((:MPI_Type_create_darray_c, libHYPRE), Cint, (Cint, Cint, Cint, Ptr{MPI_Count}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Cint, MPI_Datatype, Ptr{MPI_Datatype}), size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype) +function HYPRE_BoomerAMGSetILUMaxRowNnz(solver, ilu_max_row_nnz) + ccall((:HYPRE_BoomerAMGSetILUMaxRowNnz, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, ilu_max_row_nnz) end -function MPI_Type_create_hindexed_c(count, array_of_blocklengths, array_of_displacements, oldtype, newtype) - ccall((:MPI_Type_create_hindexed_c, libHYPRE), Cint, (MPI_Count, Ptr{MPI_Count}, Ptr{MPI_Count}, MPI_Datatype, Ptr{MPI_Datatype}), count, array_of_blocklengths, array_of_displacements, oldtype, newtype) +function HYPRE_BoomerAMGSetILUMaxIter(solver, ilu_max_iter) + ccall((:HYPRE_BoomerAMGSetILUMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, ilu_max_iter) end -function MPI_Type_create_hindexed_block_c(count, blocklength, array_of_displacements, oldtype, newtype) - ccall((:MPI_Type_create_hindexed_block_c, libHYPRE), Cint, (MPI_Count, MPI_Count, Ptr{MPI_Count}, MPI_Datatype, Ptr{MPI_Datatype}), count, blocklength, array_of_displacements, oldtype, newtype) +function HYPRE_BoomerAMGSetILUDroptol(solver, ilu_droptol) + ccall((:HYPRE_BoomerAMGSetILUDroptol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, ilu_droptol) end -function MPI_Type_create_hvector_c(count, blocklength, stride, oldtype, newtype) - ccall((:MPI_Type_create_hvector_c, libHYPRE), Cint, (MPI_Count, MPI_Count, MPI_Count, MPI_Datatype, Ptr{MPI_Datatype}), count, blocklength, stride, oldtype, newtype) +function HYPRE_BoomerAMGSetRestriction(solver, restr_par) + ccall((:HYPRE_BoomerAMGSetRestriction, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, restr_par) end -function MPI_Type_create_indexed_block_c(count, blocklength, array_of_displacements, oldtype, newtype) - ccall((:MPI_Type_create_indexed_block_c, libHYPRE), Cint, (MPI_Count, MPI_Count, Ptr{MPI_Count}, MPI_Datatype, Ptr{MPI_Datatype}), count, blocklength, array_of_displacements, oldtype, newtype) +function HYPRE_BoomerAMGSetIsTriangular(solver, is_triangular) + ccall((:HYPRE_BoomerAMGSetIsTriangular, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, is_triangular) end -function MPI_Type_create_resized_c(oldtype, lb, extent, newtype) - ccall((:MPI_Type_create_resized_c, libHYPRE), Cint, (MPI_Datatype, MPI_Count, MPI_Count, Ptr{MPI_Datatype}), oldtype, lb, extent, newtype) +function HYPRE_BoomerAMGSetGMRESSwitchR(solver, gmres_switch) + ccall((:HYPRE_BoomerAMGSetGMRESSwitchR, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, gmres_switch) end -function MPI_Type_create_struct_c(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype) - ccall((:MPI_Type_create_struct_c, libHYPRE), Cint, (MPI_Count, Ptr{MPI_Count}, Ptr{MPI_Count}, Ptr{MPI_Datatype}, Ptr{MPI_Datatype}), count, array_of_blocklengths, array_of_displacements, array_of_types, newtype) +function HYPRE_BoomerAMGSetADropTol(solver, A_drop_tol) + ccall((:HYPRE_BoomerAMGSetADropTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, A_drop_tol) end -function MPI_Type_create_subarray_c(ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype) - ccall((:MPI_Type_create_subarray_c, libHYPRE), Cint, (Cint, Ptr{MPI_Count}, Ptr{MPI_Count}, Ptr{MPI_Count}, Cint, MPI_Datatype, Ptr{MPI_Datatype}), ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype) +function HYPRE_BoomerAMGSetADropType(solver, A_drop_type) + ccall((:HYPRE_BoomerAMGSetADropType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, A_drop_type) end -function MPI_Type_get_contents_c(datatype, max_integers, max_addresses, max_large_counts, max_datatypes, array_of_integers, array_of_addresses, array_of_large_counts, array_of_datatypes) - ccall((:MPI_Type_get_contents_c, libHYPRE), Cint, (MPI_Datatype, MPI_Count, MPI_Count, MPI_Count, MPI_Count, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Count}, Ptr{MPI_Datatype}), datatype, max_integers, max_addresses, max_large_counts, max_datatypes, array_of_integers, array_of_addresses, array_of_large_counts, array_of_datatypes) +function HYPRE_BoomerAMGSetPrintFileName(solver, print_file_name) + ccall((:HYPRE_BoomerAMGSetPrintFileName, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cchar}), solver, print_file_name) end -function MPI_Type_get_envelope_c(datatype, num_integers, num_addresses, num_large_counts, num_datatypes, combiner) - ccall((:MPI_Type_get_envelope_c, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Count}, Ptr{MPI_Count}, Ptr{MPI_Count}, Ptr{MPI_Count}, Ptr{Cint}), datatype, num_integers, num_addresses, num_large_counts, num_datatypes, combiner) +function HYPRE_BoomerAMGSetPrintLevel(solver, print_level) + ccall((:HYPRE_BoomerAMGSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) end -function MPI_Type_get_extent_c(datatype, lb, extent) - ccall((:MPI_Type_get_extent_c, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Count}, Ptr{MPI_Count}), datatype, lb, extent) +function HYPRE_BoomerAMGSetLogging(solver, logging) + ccall((:HYPRE_BoomerAMGSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) end -function MPI_Type_get_true_extent_c(datatype, true_lb, true_extent) - ccall((:MPI_Type_get_true_extent_c, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Count}, Ptr{MPI_Count}), datatype, true_lb, true_extent) +function HYPRE_BoomerAMGSetDebugFlag(solver, debug_flag) + ccall((:HYPRE_BoomerAMGSetDebugFlag, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, debug_flag) end -function MPI_Type_indexed_c(count, array_of_blocklengths, array_of_displacements, oldtype, newtype) - ccall((:MPI_Type_indexed_c, libHYPRE), Cint, (MPI_Count, Ptr{MPI_Count}, Ptr{MPI_Count}, MPI_Datatype, Ptr{MPI_Datatype}), count, array_of_blocklengths, array_of_displacements, oldtype, newtype) +function HYPRE_BoomerAMGInitGridRelaxation(num_grid_sweeps_ptr, grid_relax_type_ptr, grid_relax_points_ptr, coarsen_type, relax_weights_ptr, max_levels) + ccall((:HYPRE_BoomerAMGInitGridRelaxation, libHYPRE), HYPRE_Int, (Ptr{Ptr{HYPRE_Int}}, Ptr{Ptr{HYPRE_Int}}, Ptr{Ptr{Ptr{HYPRE_Int}}}, HYPRE_Int, Ptr{Ptr{HYPRE_Real}}, HYPRE_Int), num_grid_sweeps_ptr, grid_relax_type_ptr, grid_relax_points_ptr, coarsen_type, relax_weights_ptr, max_levels) end -function MPI_Type_size_c(datatype, size) - ccall((:MPI_Type_size_c, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Count}), datatype, size) +function HYPRE_BoomerAMGSetRAP2(solver, rap2) + ccall((:HYPRE_BoomerAMGSetRAP2, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, rap2) end -function MPI_Type_vector_c(count, blocklength, stride, oldtype, newtype) - ccall((:MPI_Type_vector_c, libHYPRE), Cint, (MPI_Count, MPI_Count, MPI_Count, MPI_Datatype, Ptr{MPI_Datatype}), count, blocklength, stride, oldtype, newtype) +function HYPRE_BoomerAMGSetModuleRAP2(solver, mod_rap2) + ccall((:HYPRE_BoomerAMGSetModuleRAP2, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, mod_rap2) end -function MPI_Unpack_c(inbuf, insize, position, outbuf, outcount, datatype, comm) - ccall((:MPI_Unpack_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, Ptr{MPI_Count}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm), inbuf, insize, position, outbuf, outcount, datatype, comm) +function HYPRE_BoomerAMGSetKeepTranspose(solver, keepTranspose) + ccall((:HYPRE_BoomerAMGSetKeepTranspose, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, keepTranspose) end -function MPI_Unpack_external_c(datarep, inbuf, insize, position, outbuf, outcount, datatype) - ccall((:MPI_Unpack_external_c, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cvoid}, MPI_Count, Ptr{MPI_Count}, Ptr{Cvoid}, MPI_Count, MPI_Datatype), datarep, inbuf, insize, position, outbuf, outcount, datatype) +function HYPRE_BoomerAMGSetPlotGrids(solver, plotgrids) + ccall((:HYPRE_BoomerAMGSetPlotGrids, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, plotgrids) end -function MPI_Op_create_c(user_fn, commute, op) - ccall((:MPI_Op_create_c, libHYPRE), Cint, (Ptr{Cvoid}, Cint, Ptr{MPI_Op}), user_fn, commute, op) +function HYPRE_BoomerAMGSetPlotFileName(solver, plotfilename) + ccall((:HYPRE_BoomerAMGSetPlotFileName, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cchar}), solver, plotfilename) end -function MPI_Bsend_c(buf, count, datatype, dest, tag, comm) - ccall((:MPI_Bsend_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm), buf, count, datatype, dest, tag, comm) +function HYPRE_BoomerAMGSetCoordDim(solver, coorddim) + ccall((:HYPRE_BoomerAMGSetCoordDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, coorddim) end -function MPI_Bsend_init_c(buf, count, datatype, dest, tag, comm, request) - ccall((:MPI_Bsend_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) +function HYPRE_BoomerAMGSetCoordinates(solver, coordinates) + ccall((:HYPRE_BoomerAMGSetCoordinates, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cfloat}), solver, coordinates) end -function MPI_Buffer_attach_c(buffer, size) - ccall((:MPI_Buffer_attach_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count), buffer, size) +function HYPRE_BoomerAMGGetGridHierarchy(solver, cgrid) + ccall((:HYPRE_BoomerAMGGetGridHierarchy, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, cgrid) end -function MPI_Buffer_detach_c(buffer_addr, size) - ccall((:MPI_Buffer_detach_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}), buffer_addr, size) +function HYPRE_BoomerAMGSetCPoints(solver, cpt_coarse_level, num_cpt_coarse, cpt_coarse_index) + ccall((:HYPRE_BoomerAMGSetCPoints, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_BigInt}), solver, cpt_coarse_level, num_cpt_coarse, cpt_coarse_index) end -function MPI_Ibsend_c(buf, count, datatype, dest, tag, comm, request) - ccall((:MPI_Ibsend_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) +function HYPRE_BoomerAMGSetCpointsToKeep(solver, cpt_coarse_level, num_cpt_coarse, cpt_coarse_index) + ccall((:HYPRE_BoomerAMGSetCpointsToKeep, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_BigInt}), solver, cpt_coarse_level, num_cpt_coarse, cpt_coarse_index) end -function MPI_Imrecv_c(buf, count, datatype, message, request) - ccall((:MPI_Imrecv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Message}, Ptr{MPI_Request}), buf, count, datatype, message, request) +function HYPRE_BoomerAMGSetFPoints(solver, num_fpt, fpt_index) + ccall((:HYPRE_BoomerAMGSetFPoints, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, Ptr{HYPRE_BigInt}), solver, num_fpt, fpt_index) end -function MPI_Irecv_c(buf, count, datatype, source, tag, comm, request) - ccall((:MPI_Irecv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, source, tag, comm, request) +function HYPRE_BoomerAMGSetIsolatedFPoints(solver, num_isolated_fpt, isolated_fpt_index) + ccall((:HYPRE_BoomerAMGSetIsolatedFPoints, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, Ptr{HYPRE_BigInt}), solver, num_isolated_fpt, isolated_fpt_index) end -function MPI_Irsend_c(buf, count, datatype, dest, tag, comm, request) - ccall((:MPI_Irsend_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) +function HYPRE_BoomerAMGSetSabs(solver, Sabs) + ccall((:HYPRE_BoomerAMGSetSabs, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, Sabs) end -function MPI_Isend_c(buf, count, datatype, dest, tag, comm, request) - ccall((:MPI_Isend_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) +function HYPRE_BoomerAMGDDCreate(solver) + ccall((:HYPRE_BoomerAMGDDCreate, libHYPRE), HYPRE_Int, (Ptr{HYPRE_Solver},), solver) end -function MPI_Isendrecv_c(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request) - ccall((:MPI_Isendrecv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request) +function HYPRE_BoomerAMGDDDestroy(solver) + ccall((:HYPRE_BoomerAMGDDDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function MPI_Isendrecv_replace_c(buf, count, datatype, dest, sendtag, source, recvtag, comm, request) - ccall((:MPI_Isendrecv_replace_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, sendtag, source, recvtag, comm, request) +function HYPRE_BoomerAMGDDSetup(solver, A, b, x) + ccall((:HYPRE_BoomerAMGDDSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function MPI_Issend_c(buf, count, datatype, dest, tag, comm, request) - ccall((:MPI_Issend_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) +function HYPRE_BoomerAMGDDSolve(solver, A, b, x) + ccall((:HYPRE_BoomerAMGDDSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function MPI_Mrecv_c(buf, count, datatype, message, status) - ccall((:MPI_Mrecv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Message}, Ptr{MPI_Status}), buf, count, datatype, message, status) +function HYPRE_BoomerAMGDDSetFACNumRelax(solver, amgdd_fac_num_relax) + ccall((:HYPRE_BoomerAMGDDSetFACNumRelax, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, amgdd_fac_num_relax) end -function MPI_Recv_c(buf, count, datatype, source, tag, comm, status) - ccall((:MPI_Recv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Status}), buf, count, datatype, source, tag, comm, status) +function HYPRE_BoomerAMGDDSetFACNumCycles(solver, amgdd_fac_num_cycles) + ccall((:HYPRE_BoomerAMGDDSetFACNumCycles, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, amgdd_fac_num_cycles) end -function MPI_Recv_init_c(buf, count, datatype, source, tag, comm, request) - ccall((:MPI_Recv_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, source, tag, comm, request) +function HYPRE_BoomerAMGDDSetFACCycleType(solver, amgdd_fac_cycle_type) + ccall((:HYPRE_BoomerAMGDDSetFACCycleType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, amgdd_fac_cycle_type) end -function MPI_Rsend_c(buf, count, datatype, dest, tag, comm) - ccall((:MPI_Rsend_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm), buf, count, datatype, dest, tag, comm) +function HYPRE_BoomerAMGDDSetFACRelaxType(solver, amgdd_fac_relax_type) + ccall((:HYPRE_BoomerAMGDDSetFACRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, amgdd_fac_relax_type) end -function MPI_Rsend_init_c(buf, count, datatype, dest, tag, comm, request) - ccall((:MPI_Rsend_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) +function HYPRE_BoomerAMGDDSetFACRelaxWeight(solver, amgdd_fac_relax_weight) + ccall((:HYPRE_BoomerAMGDDSetFACRelaxWeight, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, amgdd_fac_relax_weight) end -function MPI_Send_c(buf, count, datatype, dest, tag, comm) - ccall((:MPI_Send_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm), buf, count, datatype, dest, tag, comm) +function HYPRE_BoomerAMGDDSetStartLevel(solver, start_level) + ccall((:HYPRE_BoomerAMGDDSetStartLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, start_level) end -function MPI_Send_init_c(buf, count, datatype, dest, tag, comm, request) - ccall((:MPI_Send_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) +function HYPRE_BoomerAMGDDSetPadding(solver, padding) + ccall((:HYPRE_BoomerAMGDDSetPadding, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, padding) end -function MPI_Sendrecv_c(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status) - ccall((:MPI_Sendrecv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Status}), sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status) +function HYPRE_BoomerAMGDDSetNumGhostLayers(solver, num_ghost_layers) + ccall((:HYPRE_BoomerAMGDDSetNumGhostLayers, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, num_ghost_layers) end -function MPI_Sendrecv_replace_c(buf, count, datatype, dest, sendtag, source, recvtag, comm, status) - ccall((:MPI_Sendrecv_replace_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, Cint, Cint, MPI_Comm, Ptr{MPI_Status}), buf, count, datatype, dest, sendtag, source, recvtag, comm, status) +function HYPRE_BoomerAMGDDSetUserFACRelaxation(solver, userFACRelaxation) + ccall((:HYPRE_BoomerAMGDDSetUserFACRelaxation, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cvoid}), solver, userFACRelaxation) end -function MPI_Ssend_c(buf, count, datatype, dest, tag, comm) - ccall((:MPI_Ssend_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm), buf, count, datatype, dest, tag, comm) +function HYPRE_BoomerAMGDDGetAMG(solver, amg_solver) + ccall((:HYPRE_BoomerAMGDDGetAMG, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, amg_solver) end -function MPI_Ssend_init_c(buf, count, datatype, dest, tag, comm, request) - ccall((:MPI_Ssend_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) +function HYPRE_BoomerAMGDDGetFinalRelativeResidualNorm(solver, rel_resid_norm) + ccall((:HYPRE_BoomerAMGDDGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, rel_resid_norm) end -function MPI_Accumulate_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win) - ccall((:MPI_Accumulate_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Op, MPI_Win), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win) +function HYPRE_BoomerAMGDDGetNumIterations(solver, num_iterations) + ccall((:HYPRE_BoomerAMGDDGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) end -function MPI_Get_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) - ccall((:MPI_Get_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Win), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) +function HYPRE_ParaSailsCreate(comm, solver) + ccall((:HYPRE_ParaSailsCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) end -function MPI_Get_accumulate_c(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win) - ccall((:MPI_Get_accumulate_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Op, MPI_Win), origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win) +function HYPRE_ParaSailsDestroy(solver) + ccall((:HYPRE_ParaSailsDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function MPI_Put_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) - ccall((:MPI_Put_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Win), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) +function HYPRE_ParaSailsSetup(solver, A, b, x) + ccall((:HYPRE_ParaSailsSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function MPI_Raccumulate_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) - ccall((:MPI_Raccumulate_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Op, MPI_Win, Ptr{MPI_Request}), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) +function HYPRE_ParaSailsSolve(solver, A, b, x) + ccall((:HYPRE_ParaSailsSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function MPI_Rget_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) - ccall((:MPI_Rget_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Win, Ptr{MPI_Request}), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) +function HYPRE_ParaSailsSetParams(solver, thresh, nlevels) + ccall((:HYPRE_ParaSailsSetParams, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real, HYPRE_Int), solver, thresh, nlevels) end -function MPI_Rget_accumulate_c(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) - ccall((:MPI_Rget_accumulate_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Op, MPI_Win, Ptr{MPI_Request}), origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) +function HYPRE_ParaSailsSetFilter(solver, filter) + ccall((:HYPRE_ParaSailsSetFilter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, filter) end -function MPI_Rput_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) - ccall((:MPI_Rput_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Win, Ptr{MPI_Request}), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) +function HYPRE_ParaSailsSetSym(solver, sym) + ccall((:HYPRE_ParaSailsSetSym, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, sym) end -function MPI_Win_allocate_c(size, disp_unit, info, comm, baseptr, win) - ccall((:MPI_Win_allocate_c, libHYPRE), Cint, (MPI_Aint, MPI_Aint, MPI_Info, MPI_Comm, Ptr{Cvoid}, Ptr{MPI_Win}), size, disp_unit, info, comm, baseptr, win) +function HYPRE_ParaSailsSetLoadbal(solver, loadbal) + ccall((:HYPRE_ParaSailsSetLoadbal, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, loadbal) end -function MPI_Win_allocate_shared_c(size, disp_unit, info, comm, baseptr, win) - ccall((:MPI_Win_allocate_shared_c, libHYPRE), Cint, (MPI_Aint, MPI_Aint, MPI_Info, MPI_Comm, Ptr{Cvoid}, Ptr{MPI_Win}), size, disp_unit, info, comm, baseptr, win) +function HYPRE_ParaSailsSetReuse(solver, reuse) + ccall((:HYPRE_ParaSailsSetReuse, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, reuse) end -function MPI_Win_create_c(base, size, disp_unit, info, comm, win) - ccall((:MPI_Win_create_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Aint, MPI_Aint, MPI_Info, MPI_Comm, Ptr{MPI_Win}), base, size, disp_unit, info, comm, win) +function HYPRE_ParaSailsSetLogging(solver, logging) + ccall((:HYPRE_ParaSailsSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) end -function MPI_Win_shared_query_c(win, rank, size, disp_unit, baseptr) - ccall((:MPI_Win_shared_query_c, libHYPRE), Cint, (MPI_Win, Cint, Ptr{MPI_Aint}, Ptr{MPI_Aint}, Ptr{Cvoid}), win, rank, size, disp_unit, baseptr) +function HYPRE_ParaSailsBuildIJMatrix(solver, pij_A) + ccall((:HYPRE_ParaSailsBuildIJMatrix, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_IJMatrix}), solver, pij_A) end -function PMPI_Status_c2f(c_status, f_status) - ccall((:PMPI_Status_c2f, libHYPRE), Cint, (Ptr{MPI_Status}, Ptr{MPI_Fint}), c_status, f_status) +function HYPRE_ParCSRParaSailsCreate(comm, solver) + ccall((:HYPRE_ParCSRParaSailsCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) end -function PMPI_Status_f2c(f_status, c_status) - ccall((:PMPI_Status_f2c, libHYPRE), Cint, (Ptr{MPI_Fint}, Ptr{MPI_Status}), f_status, c_status) +function HYPRE_ParCSRParaSailsDestroy(solver) + ccall((:HYPRE_ParCSRParaSailsDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function PMPI_Status_f082c(f08_status, c_status) - ccall((:PMPI_Status_f082c, libHYPRE), Cint, (Ptr{MPI_F08_status}, Ptr{MPI_Status}), f08_status, c_status) +function HYPRE_ParCSRParaSailsSetup(solver, A, b, x) + ccall((:HYPRE_ParCSRParaSailsSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Status_c2f08(c_status, f08_status) - ccall((:PMPI_Status_c2f08, libHYPRE), Cint, (Ptr{MPI_Status}, Ptr{MPI_F08_status}), c_status, f08_status) +function HYPRE_ParCSRParaSailsSolve(solver, A, b, x) + ccall((:HYPRE_ParCSRParaSailsSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Status_f082f(f08_status, f_status) - ccall((:PMPI_Status_f082f, libHYPRE), Cint, (Ptr{MPI_F08_status}, Ptr{MPI_Fint}), f08_status, f_status) +function HYPRE_ParCSRParaSailsSetParams(solver, thresh, nlevels) + ccall((:HYPRE_ParCSRParaSailsSetParams, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real, HYPRE_Int), solver, thresh, nlevels) end -function PMPI_Status_f2f08(f_status, f08_status) - ccall((:PMPI_Status_f2f08, libHYPRE), Cint, (Ptr{MPI_Fint}, Ptr{MPI_F08_status}), f_status, f08_status) +function HYPRE_ParCSRParaSailsSetFilter(solver, filter) + ccall((:HYPRE_ParCSRParaSailsSetFilter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, filter) end -function PMPI_Type_create_f90_integer(r, newtype) - ccall((:PMPI_Type_create_f90_integer, libHYPRE), Cint, (Cint, Ptr{MPI_Datatype}), r, newtype) +function HYPRE_ParCSRParaSailsSetSym(solver, sym) + ccall((:HYPRE_ParCSRParaSailsSetSym, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, sym) end -function PMPI_Type_create_f90_real(p, r, newtype) - ccall((:PMPI_Type_create_f90_real, libHYPRE), Cint, (Cint, Cint, Ptr{MPI_Datatype}), p, r, newtype) +function HYPRE_ParCSRParaSailsSetLoadbal(solver, loadbal) + ccall((:HYPRE_ParCSRParaSailsSetLoadbal, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, loadbal) end -function PMPI_Type_create_f90_complex(p, r, newtype) - ccall((:PMPI_Type_create_f90_complex, libHYPRE), Cint, (Cint, Cint, Ptr{MPI_Datatype}), p, r, newtype) +function HYPRE_ParCSRParaSailsSetReuse(solver, reuse) + ccall((:HYPRE_ParCSRParaSailsSetReuse, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, reuse) end -function PMPI_Attr_delete(comm, keyval) - ccall((:PMPI_Attr_delete, libHYPRE), Cint, (MPI_Comm, Cint), comm, keyval) +function HYPRE_ParCSRParaSailsSetLogging(solver, logging) + ccall((:HYPRE_ParCSRParaSailsSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) end -function PMPI_Attr_get(comm, keyval, attribute_val, flag) - ccall((:PMPI_Attr_get, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cvoid}, Ptr{Cint}), comm, keyval, attribute_val, flag) +function HYPRE_EuclidCreate(comm, solver) + ccall((:HYPRE_EuclidCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) end -function PMPI_Attr_put(comm, keyval, attribute_val) - ccall((:PMPI_Attr_put, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cvoid}), comm, keyval, attribute_val) +function HYPRE_EuclidDestroy(solver) + ccall((:HYPRE_EuclidDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function PMPI_Comm_create_keyval(comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval, extra_state) - ccall((:PMPI_Comm_create_keyval, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cvoid}), comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval, extra_state) +function HYPRE_EuclidSetup(solver, A, b, x) + ccall((:HYPRE_EuclidSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Comm_delete_attr(comm, comm_keyval) - ccall((:PMPI_Comm_delete_attr, libHYPRE), Cint, (MPI_Comm, Cint), comm, comm_keyval) +function HYPRE_EuclidSolve(solver, A, b, x) + ccall((:HYPRE_EuclidSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Comm_free_keyval(comm_keyval) - ccall((:PMPI_Comm_free_keyval, libHYPRE), Cint, (Ptr{Cint},), comm_keyval) +function HYPRE_EuclidSetParams(solver, argc, argv) + ccall((:HYPRE_EuclidSetParams, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, Ptr{Ptr{Cchar}}), solver, argc, argv) end -function PMPI_Comm_get_attr(comm, comm_keyval, attribute_val, flag) - ccall((:PMPI_Comm_get_attr, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cvoid}, Ptr{Cint}), comm, comm_keyval, attribute_val, flag) +function HYPRE_EuclidSetParamsFromFile(solver, filename) + ccall((:HYPRE_EuclidSetParamsFromFile, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cchar}), solver, filename) end -function PMPI_Comm_set_attr(comm, comm_keyval, attribute_val) - ccall((:PMPI_Comm_set_attr, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cvoid}), comm, comm_keyval, attribute_val) +function HYPRE_EuclidSetLevel(solver, level) + ccall((:HYPRE_EuclidSetLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, level) end -function PMPI_Keyval_create(copy_fn, delete_fn, keyval, extra_state) - ccall((:PMPI_Keyval_create, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cvoid}), copy_fn, delete_fn, keyval, extra_state) +function HYPRE_EuclidSetBJ(solver, bj) + ccall((:HYPRE_EuclidSetBJ, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, bj) end -function PMPI_Keyval_free(keyval) - ccall((:PMPI_Keyval_free, libHYPRE), Cint, (Ptr{Cint},), keyval) +function HYPRE_EuclidSetStats(solver, eu_stats) + ccall((:HYPRE_EuclidSetStats, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, eu_stats) end -function PMPI_Type_create_keyval(type_copy_attr_fn, type_delete_attr_fn, type_keyval, extra_state) - ccall((:PMPI_Type_create_keyval, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cvoid}), type_copy_attr_fn, type_delete_attr_fn, type_keyval, extra_state) +function HYPRE_EuclidSetMem(solver, eu_mem) + ccall((:HYPRE_EuclidSetMem, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, eu_mem) end -function PMPI_Type_delete_attr(datatype, type_keyval) - ccall((:PMPI_Type_delete_attr, libHYPRE), Cint, (MPI_Datatype, Cint), datatype, type_keyval) +function HYPRE_EuclidSetSparseA(solver, sparse_A) + ccall((:HYPRE_EuclidSetSparseA, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, sparse_A) end -function PMPI_Type_free_keyval(type_keyval) - ccall((:PMPI_Type_free_keyval, libHYPRE), Cint, (Ptr{Cint},), type_keyval) +function HYPRE_EuclidSetRowScale(solver, row_scale) + ccall((:HYPRE_EuclidSetRowScale, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, row_scale) end -function PMPI_Type_get_attr(datatype, type_keyval, attribute_val, flag) - ccall((:PMPI_Type_get_attr, libHYPRE), Cint, (MPI_Datatype, Cint, Ptr{Cvoid}, Ptr{Cint}), datatype, type_keyval, attribute_val, flag) +function HYPRE_EuclidSetILUT(solver, drop_tol) + ccall((:HYPRE_EuclidSetILUT, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, drop_tol) end -function PMPI_Type_set_attr(datatype, type_keyval, attribute_val) - ccall((:PMPI_Type_set_attr, libHYPRE), Cint, (MPI_Datatype, Cint, Ptr{Cvoid}), datatype, type_keyval, attribute_val) +function HYPRE_ParCSRPilutCreate(comm, solver) + ccall((:HYPRE_ParCSRPilutCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) end -function PMPI_Win_create_keyval(win_copy_attr_fn, win_delete_attr_fn, win_keyval, extra_state) - ccall((:PMPI_Win_create_keyval, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cvoid}), win_copy_attr_fn, win_delete_attr_fn, win_keyval, extra_state) +function HYPRE_ParCSRPilutDestroy(solver) + ccall((:HYPRE_ParCSRPilutDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function PMPI_Win_delete_attr(win, win_keyval) - ccall((:PMPI_Win_delete_attr, libHYPRE), Cint, (MPI_Win, Cint), win, win_keyval) +function HYPRE_ParCSRPilutSetup(solver, A, b, x) + ccall((:HYPRE_ParCSRPilutSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Win_free_keyval(win_keyval) - ccall((:PMPI_Win_free_keyval, libHYPRE), Cint, (Ptr{Cint},), win_keyval) +function HYPRE_ParCSRPilutSolve(solver, A, b, x) + ccall((:HYPRE_ParCSRPilutSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Win_get_attr(win, win_keyval, attribute_val, flag) - ccall((:PMPI_Win_get_attr, libHYPRE), Cint, (MPI_Win, Cint, Ptr{Cvoid}, Ptr{Cint}), win, win_keyval, attribute_val, flag) +function HYPRE_ParCSRPilutSetMaxIter(solver, max_iter) + ccall((:HYPRE_ParCSRPilutSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) end -function PMPI_Win_set_attr(win, win_keyval, attribute_val) - ccall((:PMPI_Win_set_attr, libHYPRE), Cint, (MPI_Win, Cint, Ptr{Cvoid}), win, win_keyval, attribute_val) +function HYPRE_ParCSRPilutSetDropTolerance(solver, tol) + ccall((:HYPRE_ParCSRPilutSetDropTolerance, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function PMPI_Allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:PMPI_Allgather, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) +function HYPRE_ParCSRPilutSetFactorRowSize(solver, size) + ccall((:HYPRE_ParCSRPilutSetFactorRowSize, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, size) end -function PMPI_Allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:PMPI_Allgather_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) +function HYPRE_ParCSRPilutSetLogging(solver, logging) + ccall((:HYPRE_ParCSRPilutSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) end -function PMPI_Allgather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:PMPI_Allgather_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) +function HYPRE_AMSCreate(solver) + ccall((:HYPRE_AMSCreate, libHYPRE), HYPRE_Int, (Ptr{HYPRE_Solver},), solver) end -function PMPI_Allgather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:PMPI_Allgather_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) +function HYPRE_AMSDestroy(solver) + ccall((:HYPRE_AMSDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function PMPI_Allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) - ccall((:PMPI_Allgatherv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) +function HYPRE_AMSSetup(solver, A, b, x) + ccall((:HYPRE_AMSSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) - ccall((:PMPI_Allgatherv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) +function HYPRE_AMSSolve(solver, A, b, x) + ccall((:HYPRE_AMSSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Allgatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) - ccall((:PMPI_Allgatherv_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) +function HYPRE_AMSSetDimension(solver, dim) + ccall((:HYPRE_AMSSetDimension, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, dim) end -function PMPI_Allgatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) - ccall((:PMPI_Allgatherv_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) +function HYPRE_AMSSetDiscreteGradient(solver, G) + ccall((:HYPRE_AMSSetDiscreteGradient, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix), solver, G) end -function PMPI_Allreduce(sendbuf, recvbuf, count, datatype, op, comm) - ccall((:PMPI_Allreduce, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm), sendbuf, recvbuf, count, datatype, op, comm) +function HYPRE_AMSSetCoordinateVectors(solver, x, y, z) + ccall((:HYPRE_AMSSetCoordinateVectors, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParVector, HYPRE_ParVector, HYPRE_ParVector), solver, x, y, z) end -function PMPI_Allreduce_c(sendbuf, recvbuf, count, datatype, op, comm) - ccall((:PMPI_Allreduce_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm), sendbuf, recvbuf, count, datatype, op, comm) +function HYPRE_AMSSetEdgeConstantVectors(solver, Gx, Gy, Gz) + ccall((:HYPRE_AMSSetEdgeConstantVectors, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParVector, HYPRE_ParVector, HYPRE_ParVector), solver, Gx, Gy, Gz) end -function PMPI_Allreduce_init(sendbuf, recvbuf, count, datatype, op, comm, info, request) - ccall((:PMPI_Allreduce_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, info, request) +function HYPRE_AMSSetInterpolations(solver, Pi, Pix, Piy, Piz) + ccall((:HYPRE_AMSSetInterpolations, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParCSRMatrix, HYPRE_ParCSRMatrix, HYPRE_ParCSRMatrix), solver, Pi, Pix, Piy, Piz) end -function PMPI_Allreduce_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request) - ccall((:PMPI_Allreduce_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, info, request) +function HYPRE_AMSSetAlphaPoissonMatrix(solver, A_alpha) + ccall((:HYPRE_AMSSetAlphaPoissonMatrix, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix), solver, A_alpha) end -function PMPI_Alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:PMPI_Alltoall, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) +function HYPRE_AMSSetBetaPoissonMatrix(solver, A_beta) + ccall((:HYPRE_AMSSetBetaPoissonMatrix, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix), solver, A_beta) end -function PMPI_Alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:PMPI_Alltoall_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) +function HYPRE_AMSSetInteriorNodes(solver, interior_nodes) + ccall((:HYPRE_AMSSetInteriorNodes, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParVector), solver, interior_nodes) end -function PMPI_Alltoall_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:PMPI_Alltoall_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) +function HYPRE_AMSSetProjectionFrequency(solver, projection_frequency) + ccall((:HYPRE_AMSSetProjectionFrequency, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, projection_frequency) end -function PMPI_Alltoall_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:PMPI_Alltoall_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) +function HYPRE_AMSSetMaxIter(solver, maxit) + ccall((:HYPRE_AMSSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, maxit) end -function PMPI_Alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) - ccall((:PMPI_Alltoallv, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) +function HYPRE_AMSSetTol(solver, tol) + ccall((:HYPRE_AMSSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function PMPI_Alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) - ccall((:PMPI_Alltoallv_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) +function HYPRE_AMSSetCycleType(solver, cycle_type) + ccall((:HYPRE_AMSSetCycleType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, cycle_type) end -function PMPI_Alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) - ccall((:PMPI_Alltoallv_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) +function HYPRE_AMSSetPrintLevel(solver, print_level) + ccall((:HYPRE_AMSSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) end -function PMPI_Alltoallv_init_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) - ccall((:PMPI_Alltoallv_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) +function HYPRE_AMSSetSmoothingOptions(solver, relax_type, relax_times, relax_weight, omega) + ccall((:HYPRE_AMSSetSmoothingOptions, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, HYPRE_Real, HYPRE_Real), solver, relax_type, relax_times, relax_weight, omega) end -function PMPI_Alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) - ccall((:PMPI_Alltoallw, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, MPI_Comm), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) +function HYPRE_AMSSetAlphaAMGOptions(solver, alpha_coarsen_type, alpha_agg_levels, alpha_relax_type, alpha_strength_threshold, alpha_interp_type, alpha_Pmax) + ccall((:HYPRE_AMSSetAlphaAMGOptions, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Real, HYPRE_Int, HYPRE_Int), solver, alpha_coarsen_type, alpha_agg_levels, alpha_relax_type, alpha_strength_threshold, alpha_interp_type, alpha_Pmax) end -function PMPI_Alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) - ccall((:PMPI_Alltoallw_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) +function HYPRE_AMSSetAlphaAMGCoarseRelaxType(solver, alpha_coarse_relax_type) + ccall((:HYPRE_AMSSetAlphaAMGCoarseRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, alpha_coarse_relax_type) end -function PMPI_Alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) - ccall((:PMPI_Alltoallw_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) +function HYPRE_AMSSetBetaAMGOptions(solver, beta_coarsen_type, beta_agg_levels, beta_relax_type, beta_strength_threshold, beta_interp_type, beta_Pmax) + ccall((:HYPRE_AMSSetBetaAMGOptions, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Real, HYPRE_Int, HYPRE_Int), solver, beta_coarsen_type, beta_agg_levels, beta_relax_type, beta_strength_threshold, beta_interp_type, beta_Pmax) end -function PMPI_Alltoallw_init_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) - ccall((:PMPI_Alltoallw_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) +function HYPRE_AMSSetBetaAMGCoarseRelaxType(solver, beta_coarse_relax_type) + ccall((:HYPRE_AMSSetBetaAMGCoarseRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, beta_coarse_relax_type) end -function PMPI_Barrier(comm) - ccall((:PMPI_Barrier, libHYPRE), Cint, (MPI_Comm,), comm) +function HYPRE_AMSGetNumIterations(solver, num_iterations) + ccall((:HYPRE_AMSGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) end -function PMPI_Barrier_init(comm, info, request) - ccall((:PMPI_Barrier_init, libHYPRE), Cint, (MPI_Comm, MPI_Info, Ptr{MPI_Request}), comm, info, request) +function HYPRE_AMSGetFinalRelativeResidualNorm(solver, rel_resid_norm) + ccall((:HYPRE_AMSGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, rel_resid_norm) end -function PMPI_Bcast(buffer, count, datatype, root, comm) - ccall((:PMPI_Bcast, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm), buffer, count, datatype, root, comm) +function HYPRE_AMSProjectOutGradients(solver, x) + ccall((:HYPRE_AMSProjectOutGradients, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParVector), solver, x) end -function PMPI_Bcast_c(buffer, count, datatype, root, comm) - ccall((:PMPI_Bcast_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm), buffer, count, datatype, root, comm) +function HYPRE_AMSConstructDiscreteGradient(A, x_coord, edge_vertex, edge_orientation, G) + ccall((:HYPRE_AMSConstructDiscreteGradient, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix, HYPRE_ParVector, Ptr{HYPRE_BigInt}, HYPRE_Int, Ptr{HYPRE_ParCSRMatrix}), A, x_coord, edge_vertex, edge_orientation, G) end -function PMPI_Bcast_init(buffer, count, datatype, root, comm, info, request) - ccall((:PMPI_Bcast_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), buffer, count, datatype, root, comm, info, request) +function HYPRE_ADSCreate(solver) + ccall((:HYPRE_ADSCreate, libHYPRE), HYPRE_Int, (Ptr{HYPRE_Solver},), solver) end -function PMPI_Bcast_init_c(buffer, count, datatype, root, comm, info, request) - ccall((:PMPI_Bcast_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), buffer, count, datatype, root, comm, info, request) +function HYPRE_ADSDestroy(solver) + ccall((:HYPRE_ADSDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function PMPI_Exscan(sendbuf, recvbuf, count, datatype, op, comm) - ccall((:PMPI_Exscan, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm), sendbuf, recvbuf, count, datatype, op, comm) +function HYPRE_ADSSetup(solver, A, b, x) + ccall((:HYPRE_ADSSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Exscan_c(sendbuf, recvbuf, count, datatype, op, comm) - ccall((:PMPI_Exscan_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm), sendbuf, recvbuf, count, datatype, op, comm) +function HYPRE_ADSSolve(solver, A, b, x) + ccall((:HYPRE_ADSSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Exscan_init(sendbuf, recvbuf, count, datatype, op, comm, info, request) - ccall((:PMPI_Exscan_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, info, request) +function HYPRE_ADSSetDiscreteCurl(solver, C) + ccall((:HYPRE_ADSSetDiscreteCurl, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix), solver, C) end -function PMPI_Exscan_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request) - ccall((:PMPI_Exscan_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, info, request) +function HYPRE_ADSSetDiscreteGradient(solver, G) + ccall((:HYPRE_ADSSetDiscreteGradient, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix), solver, G) end -function PMPI_Gather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) - ccall((:PMPI_Gather, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) +function HYPRE_ADSSetCoordinateVectors(solver, x, y, z) + ccall((:HYPRE_ADSSetCoordinateVectors, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParVector, HYPRE_ParVector, HYPRE_ParVector), solver, x, y, z) end -function PMPI_Gather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) - ccall((:PMPI_Gather_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) +function HYPRE_ADSSetInterpolations(solver, RT_Pi, RT_Pix, RT_Piy, RT_Piz, ND_Pi, ND_Pix, ND_Piy, ND_Piz) + ccall((:HYPRE_ADSSetInterpolations, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParCSRMatrix, HYPRE_ParCSRMatrix, HYPRE_ParCSRMatrix, HYPRE_ParCSRMatrix, HYPRE_ParCSRMatrix, HYPRE_ParCSRMatrix, HYPRE_ParCSRMatrix), solver, RT_Pi, RT_Pix, RT_Piy, RT_Piz, ND_Pi, ND_Pix, ND_Piy, ND_Piz) end -function PMPI_Gather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) - ccall((:PMPI_Gather_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) +function HYPRE_ADSSetMaxIter(solver, maxit) + ccall((:HYPRE_ADSSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, maxit) end -function PMPI_Gather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) - ccall((:PMPI_Gather_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) +function HYPRE_ADSSetTol(solver, tol) + ccall((:HYPRE_ADSSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function PMPI_Gatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm) - ccall((:PMPI_Gatherv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Cint, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm) +function HYPRE_ADSSetCycleType(solver, cycle_type) + ccall((:HYPRE_ADSSetCycleType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, cycle_type) end -function PMPI_Gatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm) - ccall((:PMPI_Gatherv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Cint, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm) +function HYPRE_ADSSetPrintLevel(solver, print_level) + ccall((:HYPRE_ADSSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) end -function PMPI_Gatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request) - ccall((:PMPI_Gatherv_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request) +function HYPRE_ADSSetSmoothingOptions(solver, relax_type, relax_times, relax_weight, omega) + ccall((:HYPRE_ADSSetSmoothingOptions, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, HYPRE_Real, HYPRE_Real), solver, relax_type, relax_times, relax_weight, omega) end -function PMPI_Gatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request) - ccall((:PMPI_Gatherv_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request) +function HYPRE_ADSSetChebySmoothingOptions(solver, cheby_order, cheby_fraction) + ccall((:HYPRE_ADSSetChebySmoothingOptions, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int), solver, cheby_order, cheby_fraction) end -function PMPI_Iallgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:PMPI_Iallgather, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) +function HYPRE_ADSSetAMSOptions(solver, cycle_type, coarsen_type, agg_levels, relax_type, strength_threshold, interp_type, Pmax) + ccall((:HYPRE_ADSSetAMSOptions, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Real, HYPRE_Int, HYPRE_Int), solver, cycle_type, coarsen_type, agg_levels, relax_type, strength_threshold, interp_type, Pmax) end -function PMPI_Iallgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:PMPI_Iallgather_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) +function HYPRE_ADSSetAMGOptions(solver, coarsen_type, agg_levels, relax_type, strength_threshold, interp_type, Pmax) + ccall((:HYPRE_ADSSetAMGOptions, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Real, HYPRE_Int, HYPRE_Int), solver, coarsen_type, agg_levels, relax_type, strength_threshold, interp_type, Pmax) end -function PMPI_Iallgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) - ccall((:PMPI_Iallgatherv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) +function HYPRE_ADSGetNumIterations(solver, num_iterations) + ccall((:HYPRE_ADSGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) end -function PMPI_Iallgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) - ccall((:PMPI_Iallgatherv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) +function HYPRE_ADSGetFinalRelativeResidualNorm(solver, rel_resid_norm) + ccall((:HYPRE_ADSGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, rel_resid_norm) end -function PMPI_Iallreduce(sendbuf, recvbuf, count, datatype, op, comm, request) - ccall((:PMPI_Iallreduce, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, request) +function HYPRE_ParCSRPCGCreate(comm, solver) + ccall((:HYPRE_ParCSRPCGCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) end -function PMPI_Iallreduce_c(sendbuf, recvbuf, count, datatype, op, comm, request) - ccall((:PMPI_Iallreduce_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, request) +function HYPRE_ParCSRPCGDestroy(solver) + ccall((:HYPRE_ParCSRPCGDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function PMPI_Ialltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:PMPI_Ialltoall, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) +function HYPRE_ParCSRPCGSetup(solver, A, b, x) + ccall((:HYPRE_ParCSRPCGSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Ialltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:PMPI_Ialltoall_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) +function HYPRE_ParCSRPCGSolve(solver, A, b, x) + ccall((:HYPRE_ParCSRPCGSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Ialltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) - ccall((:PMPI_Ialltoallv, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) +function HYPRE_ParCSRPCGSetTol(solver, tol) + ccall((:HYPRE_ParCSRPCGSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function PMPI_Ialltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) - ccall((:PMPI_Ialltoallv_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) +function HYPRE_ParCSRPCGSetAbsoluteTol(solver, tol) + ccall((:HYPRE_ParCSRPCGSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function PMPI_Ialltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) - ccall((:PMPI_Ialltoallw, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) +function HYPRE_ParCSRPCGSetMaxIter(solver, max_iter) + ccall((:HYPRE_ParCSRPCGSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) end -function PMPI_Ialltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) - ccall((:PMPI_Ialltoallw_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) +function HYPRE_ParCSRPCGSetStopCrit(solver, stop_crit) + ccall((:HYPRE_ParCSRPCGSetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, stop_crit) end -function PMPI_Ibarrier(comm, request) - ccall((:PMPI_Ibarrier, libHYPRE), Cint, (MPI_Comm, Ptr{MPI_Request}), comm, request) +function HYPRE_ParCSRPCGSetTwoNorm(solver, two_norm) + ccall((:HYPRE_ParCSRPCGSetTwoNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, two_norm) end -function PMPI_Ibcast(buffer, count, datatype, root, comm, request) - ccall((:PMPI_Ibcast, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), buffer, count, datatype, root, comm, request) +function HYPRE_ParCSRPCGSetRelChange(solver, rel_change) + ccall((:HYPRE_ParCSRPCGSetRelChange, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, rel_change) end -function PMPI_Ibcast_c(buffer, count, datatype, root, comm, request) - ccall((:PMPI_Ibcast_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), buffer, count, datatype, root, comm, request) +function HYPRE_ParCSRPCGSetPrecond(solver, precond, precond_setup, precond_solver) + ccall((:HYPRE_ParCSRPCGSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) end -function PMPI_Iexscan(sendbuf, recvbuf, count, datatype, op, comm, request) - ccall((:PMPI_Iexscan, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, request) +function HYPRE_ParCSRPCGGetPrecond(solver, precond_data) + ccall((:HYPRE_ParCSRPCGGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data) end -function PMPI_Iexscan_c(sendbuf, recvbuf, count, datatype, op, comm, request) - ccall((:PMPI_Iexscan_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, request) +function HYPRE_ParCSRPCGSetLogging(solver, logging) + ccall((:HYPRE_ParCSRPCGSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) end -function PMPI_Igather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) - ccall((:PMPI_Igather, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) +function HYPRE_ParCSRPCGSetPrintLevel(solver, print_level) + ccall((:HYPRE_ParCSRPCGSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) end -function PMPI_Igather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) - ccall((:PMPI_Igather_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) +function HYPRE_ParCSRPCGGetNumIterations(solver, num_iterations) + ccall((:HYPRE_ParCSRPCGGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) end -function PMPI_Igatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request) - ccall((:PMPI_Igatherv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request) +function HYPRE_ParCSRPCGGetFinalRelativeResidualNorm(solver, norm) + ccall((:HYPRE_ParCSRPCGGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) end -function PMPI_Igatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request) - ccall((:PMPI_Igatherv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request) +function HYPRE_ParCSRPCGGetResidual(solver, residual) + ccall((:HYPRE_ParCSRPCGGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_ParVector}), solver, residual) end -function PMPI_Ineighbor_allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:PMPI_Ineighbor_allgather, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) +function HYPRE_ParCSRDiagScaleSetup(solver, A, y, x) + ccall((:HYPRE_ParCSRDiagScaleSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, y, x) end -function PMPI_Ineighbor_allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:PMPI_Ineighbor_allgather_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) +function HYPRE_ParCSRDiagScale(solver, HA, Hy, Hx) + ccall((:HYPRE_ParCSRDiagScale, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, HA, Hy, Hx) end -function PMPI_Ineighbor_allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) - ccall((:PMPI_Ineighbor_allgatherv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) +function HYPRE_ParCSROnProcTriSetup(solver, HA, Hy, Hx) + ccall((:HYPRE_ParCSROnProcTriSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, HA, Hy, Hx) end -function PMPI_Ineighbor_allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) - ccall((:PMPI_Ineighbor_allgatherv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) +function HYPRE_ParCSROnProcTriSolve(solver, HA, Hy, Hx) + ccall((:HYPRE_ParCSROnProcTriSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, HA, Hy, Hx) end -function PMPI_Ineighbor_alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:PMPI_Ineighbor_alltoall, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) +function HYPRE_ParCSRGMRESCreate(comm, solver) + ccall((:HYPRE_ParCSRGMRESCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) end -function PMPI_Ineighbor_alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:PMPI_Ineighbor_alltoall_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) +function HYPRE_ParCSRGMRESDestroy(solver) + ccall((:HYPRE_ParCSRGMRESDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function PMPI_Ineighbor_alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) - ccall((:PMPI_Ineighbor_alltoallv, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) +function HYPRE_ParCSRGMRESSetup(solver, A, b, x) + ccall((:HYPRE_ParCSRGMRESSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Ineighbor_alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) - ccall((:PMPI_Ineighbor_alltoallv_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) +function HYPRE_ParCSRGMRESSolve(solver, A, b, x) + ccall((:HYPRE_ParCSRGMRESSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Ineighbor_alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) - ccall((:PMPI_Ineighbor_alltoallw, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) +function HYPRE_ParCSRGMRESSetKDim(solver, k_dim) + ccall((:HYPRE_ParCSRGMRESSetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, k_dim) end -function PMPI_Ineighbor_alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) - ccall((:PMPI_Ineighbor_alltoallw_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) +function HYPRE_ParCSRGMRESSetTol(solver, tol) + ccall((:HYPRE_ParCSRGMRESSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function PMPI_Ireduce(sendbuf, recvbuf, count, datatype, op, root, comm, request) - ccall((:PMPI_Ireduce, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, root, comm, request) +function HYPRE_ParCSRGMRESSetAbsoluteTol(solver, a_tol) + ccall((:HYPRE_ParCSRGMRESSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) end -function PMPI_Ireduce_c(sendbuf, recvbuf, count, datatype, op, root, comm, request) - ccall((:PMPI_Ireduce_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, root, comm, request) +function HYPRE_ParCSRGMRESSetMinIter(solver, min_iter) + ccall((:HYPRE_ParCSRGMRESSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) end -function PMPI_Ireduce_scatter(sendbuf, recvbuf, recvcounts, datatype, op, comm, request) - ccall((:PMPI_Ireduce_scatter, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, recvcounts, datatype, op, comm, request) +function HYPRE_ParCSRGMRESSetMaxIter(solver, max_iter) + ccall((:HYPRE_ParCSRGMRESSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) end -function PMPI_Ireduce_scatter_c(sendbuf, recvbuf, recvcounts, datatype, op, comm, request) - ccall((:PMPI_Ireduce_scatter_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{MPI_Count}, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, recvcounts, datatype, op, comm, request) +function HYPRE_ParCSRGMRESSetStopCrit(solver, stop_crit) + ccall((:HYPRE_ParCSRGMRESSetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, stop_crit) end -function PMPI_Ireduce_scatter_block(sendbuf, recvbuf, recvcount, datatype, op, comm, request) - ccall((:PMPI_Ireduce_scatter_block, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, recvcount, datatype, op, comm, request) +function HYPRE_ParCSRGMRESSetPrecond(solver, precond, precond_setup, precond_solver) + ccall((:HYPRE_ParCSRGMRESSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) end -function PMPI_Ireduce_scatter_block_c(sendbuf, recvbuf, recvcount, datatype, op, comm, request) - ccall((:PMPI_Ireduce_scatter_block_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, recvcount, datatype, op, comm, request) +function HYPRE_ParCSRGMRESGetPrecond(solver, precond_data) + ccall((:HYPRE_ParCSRGMRESGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data) end -function PMPI_Iscan(sendbuf, recvbuf, count, datatype, op, comm, request) - ccall((:PMPI_Iscan, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, request) +function HYPRE_ParCSRGMRESSetLogging(solver, logging) + ccall((:HYPRE_ParCSRGMRESSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) end -function PMPI_Iscan_c(sendbuf, recvbuf, count, datatype, op, comm, request) - ccall((:PMPI_Iscan_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, request) +function HYPRE_ParCSRGMRESSetPrintLevel(solver, print_level) + ccall((:HYPRE_ParCSRGMRESSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) end -function PMPI_Iscatter(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) - ccall((:PMPI_Iscatter, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) +function HYPRE_ParCSRGMRESGetNumIterations(solver, num_iterations) + ccall((:HYPRE_ParCSRGMRESGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) end -function PMPI_Iscatter_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) - ccall((:PMPI_Iscatter_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) +function HYPRE_ParCSRGMRESGetFinalRelativeResidualNorm(solver, norm) + ccall((:HYPRE_ParCSRGMRESGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) end -function PMPI_Iscatterv(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request) - ccall((:PMPI_Iscatterv, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request) +function HYPRE_ParCSRGMRESGetResidual(solver, residual) + ccall((:HYPRE_ParCSRGMRESGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_ParVector}), solver, residual) end -function PMPI_Iscatterv_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request) - ccall((:PMPI_Iscatterv_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request) +function HYPRE_ParCSRCOGMRESCreate(comm, solver) + ccall((:HYPRE_ParCSRCOGMRESCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) end -function PMPI_Neighbor_allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:PMPI_Neighbor_allgather, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) +function HYPRE_ParCSRCOGMRESDestroy(solver) + ccall((:HYPRE_ParCSRCOGMRESDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function PMPI_Neighbor_allgather_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:PMPI_Neighbor_allgather_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) +function HYPRE_ParCSRCOGMRESSetup(solver, A, b, x) + ccall((:HYPRE_ParCSRCOGMRESSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Neighbor_allgather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:PMPI_Neighbor_allgather_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) +function HYPRE_ParCSRCOGMRESSolve(solver, A, b, x) + ccall((:HYPRE_ParCSRCOGMRESSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Neighbor_allgather_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:PMPI_Neighbor_allgather_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) +function HYPRE_ParCSRCOGMRESSetKDim(solver, k_dim) + ccall((:HYPRE_ParCSRCOGMRESSetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, k_dim) end -function PMPI_Neighbor_allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) - ccall((:PMPI_Neighbor_allgatherv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) +function HYPRE_ParCSRCOGMRESSetUnroll(solver, unroll) + ccall((:HYPRE_ParCSRCOGMRESSetUnroll, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, unroll) end -function PMPI_Neighbor_allgatherv_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) - ccall((:PMPI_Neighbor_allgatherv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) +function HYPRE_ParCSRCOGMRESSetCGS(solver, cgs) + ccall((:HYPRE_ParCSRCOGMRESSetCGS, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, cgs) end -function PMPI_Neighbor_allgatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) - ccall((:PMPI_Neighbor_allgatherv_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) +function HYPRE_ParCSRCOGMRESSetTol(solver, tol) + ccall((:HYPRE_ParCSRCOGMRESSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function PMPI_Neighbor_allgatherv_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) - ccall((:PMPI_Neighbor_allgatherv_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) +function HYPRE_ParCSRCOGMRESSetAbsoluteTol(solver, a_tol) + ccall((:HYPRE_ParCSRCOGMRESSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) end -function PMPI_Neighbor_alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:PMPI_Neighbor_alltoall, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) +function HYPRE_ParCSRCOGMRESSetMinIter(solver, min_iter) + ccall((:HYPRE_ParCSRCOGMRESSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) end -function PMPI_Neighbor_alltoall_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:PMPI_Neighbor_alltoall_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) +function HYPRE_ParCSRCOGMRESSetMaxIter(solver, max_iter) + ccall((:HYPRE_ParCSRCOGMRESSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) end -function PMPI_Neighbor_alltoall_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:PMPI_Neighbor_alltoall_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) +function HYPRE_ParCSRCOGMRESSetPrecond(solver, precond, precond_setup, precond_solver) + ccall((:HYPRE_ParCSRCOGMRESSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) end -function PMPI_Neighbor_alltoall_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:PMPI_Neighbor_alltoall_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) +function HYPRE_ParCSRCOGMRESGetPrecond(solver, precond_data) + ccall((:HYPRE_ParCSRCOGMRESGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data) end -function PMPI_Neighbor_alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) - ccall((:PMPI_Neighbor_alltoallv, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) +function HYPRE_ParCSRCOGMRESSetLogging(solver, logging) + ccall((:HYPRE_ParCSRCOGMRESSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) end -function PMPI_Neighbor_alltoallv_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) - ccall((:PMPI_Neighbor_alltoallv_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) +function HYPRE_ParCSRCOGMRESSetPrintLevel(solver, print_level) + ccall((:HYPRE_ParCSRCOGMRESSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) end -function PMPI_Neighbor_alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) - ccall((:PMPI_Neighbor_alltoallv_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) +function HYPRE_ParCSRCOGMRESGetNumIterations(solver, num_iterations) + ccall((:HYPRE_ParCSRCOGMRESGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) end -function PMPI_Neighbor_alltoallv_init_c(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) - ccall((:PMPI_Neighbor_alltoallv_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) +function HYPRE_ParCSRCOGMRESGetFinalRelativeResidualNorm(solver, norm) + ccall((:HYPRE_ParCSRCOGMRESGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) end -function PMPI_Neighbor_alltoallw(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) - ccall((:PMPI_Neighbor_alltoallw, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) +function HYPRE_ParCSRCOGMRESGetResidual(solver, residual) + ccall((:HYPRE_ParCSRCOGMRESGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_ParVector}), solver, residual) end -function PMPI_Neighbor_alltoallw_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) - ccall((:PMPI_Neighbor_alltoallw_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) +function HYPRE_ParCSRFlexGMRESCreate(comm, solver) + ccall((:HYPRE_ParCSRFlexGMRESCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) end -function PMPI_Neighbor_alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) - ccall((:PMPI_Neighbor_alltoallw_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) +function HYPRE_ParCSRFlexGMRESDestroy(solver) + ccall((:HYPRE_ParCSRFlexGMRESDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function PMPI_Neighbor_alltoallw_init_c(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) - ccall((:PMPI_Neighbor_alltoallw_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) +function HYPRE_ParCSRFlexGMRESSetup(solver, A, b, x) + ccall((:HYPRE_ParCSRFlexGMRESSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Reduce(sendbuf, recvbuf, count, datatype, op, root, comm) - ccall((:PMPI_Reduce, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, Cint, MPI_Comm), sendbuf, recvbuf, count, datatype, op, root, comm) +function HYPRE_ParCSRFlexGMRESSolve(solver, A, b, x) + ccall((:HYPRE_ParCSRFlexGMRESSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Reduce_c(sendbuf, recvbuf, count, datatype, op, root, comm) - ccall((:PMPI_Reduce_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, Cint, MPI_Comm), sendbuf, recvbuf, count, datatype, op, root, comm) +function HYPRE_ParCSRFlexGMRESSetKDim(solver, k_dim) + ccall((:HYPRE_ParCSRFlexGMRESSetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, k_dim) end -function PMPI_Reduce_init(sendbuf, recvbuf, count, datatype, op, root, comm, info, request) - ccall((:PMPI_Reduce_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, root, comm, info, request) +function HYPRE_ParCSRFlexGMRESSetTol(solver, tol) + ccall((:HYPRE_ParCSRFlexGMRESSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function PMPI_Reduce_init_c(sendbuf, recvbuf, count, datatype, op, root, comm, info, request) - ccall((:PMPI_Reduce_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, root, comm, info, request) +function HYPRE_ParCSRFlexGMRESSetAbsoluteTol(solver, a_tol) + ccall((:HYPRE_ParCSRFlexGMRESSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) end -function PMPI_Reduce_local(inbuf, inoutbuf, count, datatype, op) - ccall((:PMPI_Reduce_local, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op), inbuf, inoutbuf, count, datatype, op) +function HYPRE_ParCSRFlexGMRESSetMinIter(solver, min_iter) + ccall((:HYPRE_ParCSRFlexGMRESSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) end -function PMPI_Reduce_local_c(inbuf, inoutbuf, count, datatype, op) - ccall((:PMPI_Reduce_local_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op), inbuf, inoutbuf, count, datatype, op) +function HYPRE_ParCSRFlexGMRESSetMaxIter(solver, max_iter) + ccall((:HYPRE_ParCSRFlexGMRESSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) end -function PMPI_Reduce_scatter(sendbuf, recvbuf, recvcounts, datatype, op, comm) - ccall((:PMPI_Reduce_scatter, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, MPI_Datatype, MPI_Op, MPI_Comm), sendbuf, recvbuf, recvcounts, datatype, op, comm) +function HYPRE_ParCSRFlexGMRESSetPrecond(solver, precond, precond_setup, precond_solver) + ccall((:HYPRE_ParCSRFlexGMRESSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) end -function PMPI_Reduce_scatter_c(sendbuf, recvbuf, recvcounts, datatype, op, comm) - ccall((:PMPI_Reduce_scatter_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{MPI_Count}, MPI_Datatype, MPI_Op, MPI_Comm), sendbuf, recvbuf, recvcounts, datatype, op, comm) +function HYPRE_ParCSRFlexGMRESGetPrecond(solver, precond_data) + ccall((:HYPRE_ParCSRFlexGMRESGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data) end -function PMPI_Reduce_scatter_block(sendbuf, recvbuf, recvcount, datatype, op, comm) - ccall((:PMPI_Reduce_scatter_block, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm), sendbuf, recvbuf, recvcount, datatype, op, comm) +function HYPRE_ParCSRFlexGMRESSetLogging(solver, logging) + ccall((:HYPRE_ParCSRFlexGMRESSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) end -function PMPI_Reduce_scatter_block_c(sendbuf, recvbuf, recvcount, datatype, op, comm) - ccall((:PMPI_Reduce_scatter_block_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm), sendbuf, recvbuf, recvcount, datatype, op, comm) +function HYPRE_ParCSRFlexGMRESSetPrintLevel(solver, print_level) + ccall((:HYPRE_ParCSRFlexGMRESSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) end -function PMPI_Reduce_scatter_block_init(sendbuf, recvbuf, recvcount, datatype, op, comm, info, request) - ccall((:PMPI_Reduce_scatter_block_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, recvcount, datatype, op, comm, info, request) +function HYPRE_ParCSRFlexGMRESGetNumIterations(solver, num_iterations) + ccall((:HYPRE_ParCSRFlexGMRESGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) end -function PMPI_Reduce_scatter_block_init_c(sendbuf, recvbuf, recvcount, datatype, op, comm, info, request) - ccall((:PMPI_Reduce_scatter_block_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, recvcount, datatype, op, comm, info, request) +function HYPRE_ParCSRFlexGMRESGetFinalRelativeResidualNorm(solver, norm) + ccall((:HYPRE_ParCSRFlexGMRESGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) end -function PMPI_Reduce_scatter_init(sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request) - ccall((:PMPI_Reduce_scatter_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request) +function HYPRE_ParCSRFlexGMRESGetResidual(solver, residual) + ccall((:HYPRE_ParCSRFlexGMRESGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_ParVector}), solver, residual) end -function PMPI_Reduce_scatter_init_c(sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request) - ccall((:PMPI_Reduce_scatter_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{MPI_Count}, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request) +function HYPRE_ParCSRFlexGMRESSetModifyPC(solver, modify_pc) + ccall((:HYPRE_ParCSRFlexGMRESSetModifyPC, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToModifyPCFcn), solver, modify_pc) end -function PMPI_Scan(sendbuf, recvbuf, count, datatype, op, comm) - ccall((:PMPI_Scan, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm), sendbuf, recvbuf, count, datatype, op, comm) +function HYPRE_ParCSRLGMRESCreate(comm, solver) + ccall((:HYPRE_ParCSRLGMRESCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) end -function PMPI_Scan_c(sendbuf, recvbuf, count, datatype, op, comm) - ccall((:PMPI_Scan_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm), sendbuf, recvbuf, count, datatype, op, comm) +function HYPRE_ParCSRLGMRESDestroy(solver) + ccall((:HYPRE_ParCSRLGMRESDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function PMPI_Scan_init(sendbuf, recvbuf, count, datatype, op, comm, info, request) - ccall((:PMPI_Scan_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, info, request) +function HYPRE_ParCSRLGMRESSetup(solver, A, b, x) + ccall((:HYPRE_ParCSRLGMRESSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Scan_init_c(sendbuf, recvbuf, count, datatype, op, comm, info, request) - ccall((:PMPI_Scan_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, recvbuf, count, datatype, op, comm, info, request) +function HYPRE_ParCSRLGMRESSolve(solver, A, b, x) + ccall((:HYPRE_ParCSRLGMRESSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Scatter(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) - ccall((:PMPI_Scatter, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) +function HYPRE_ParCSRLGMRESSetKDim(solver, k_dim) + ccall((:HYPRE_ParCSRLGMRESSetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, k_dim) end -function PMPI_Scatter_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) - ccall((:PMPI_Scatter_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) +function HYPRE_ParCSRLGMRESSetAugDim(solver, aug_dim) + ccall((:HYPRE_ParCSRLGMRESSetAugDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, aug_dim) end -function PMPI_Scatter_init(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) - ccall((:PMPI_Scatter_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) +function HYPRE_ParCSRLGMRESSetTol(solver, tol) + ccall((:HYPRE_ParCSRLGMRESSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function PMPI_Scatter_init_c(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) - ccall((:PMPI_Scatter_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) +function HYPRE_ParCSRLGMRESSetAbsoluteTol(solver, a_tol) + ccall((:HYPRE_ParCSRLGMRESSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) end -function PMPI_Scatterv(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm) - ccall((:PMPI_Scatterv, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm), sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm) +function HYPRE_ParCSRLGMRESSetMinIter(solver, min_iter) + ccall((:HYPRE_ParCSRLGMRESSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) end -function PMPI_Scatterv_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm) - ccall((:PMPI_Scatterv_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm), sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm) +function HYPRE_ParCSRLGMRESSetMaxIter(solver, max_iter) + ccall((:HYPRE_ParCSRLGMRESSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) end -function PMPI_Scatterv_init(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) - ccall((:PMPI_Scatterv_init, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) +function HYPRE_ParCSRLGMRESSetPrecond(solver, precond, precond_setup, precond_solver) + ccall((:HYPRE_ParCSRLGMRESSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) end -function PMPI_Scatterv_init_c(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) - ccall((:PMPI_Scatterv_init_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) +function HYPRE_ParCSRLGMRESGetPrecond(solver, precond_data) + ccall((:HYPRE_ParCSRLGMRESGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data) end -function PMPI_Comm_compare(comm1, comm2, result) - ccall((:PMPI_Comm_compare, libHYPRE), Cint, (MPI_Comm, MPI_Comm, Ptr{Cint}), comm1, comm2, result) +function HYPRE_ParCSRLGMRESSetLogging(solver, logging) + ccall((:HYPRE_ParCSRLGMRESSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) end -function PMPI_Comm_create(comm, group, newcomm) - ccall((:PMPI_Comm_create, libHYPRE), Cint, (MPI_Comm, MPI_Group, Ptr{MPI_Comm}), comm, group, newcomm) +function HYPRE_ParCSRLGMRESSetPrintLevel(solver, print_level) + ccall((:HYPRE_ParCSRLGMRESSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) end -function PMPI_Comm_create_group(comm, group, tag, newcomm) - ccall((:PMPI_Comm_create_group, libHYPRE), Cint, (MPI_Comm, MPI_Group, Cint, Ptr{MPI_Comm}), comm, group, tag, newcomm) +function HYPRE_ParCSRLGMRESGetNumIterations(solver, num_iterations) + ccall((:HYPRE_ParCSRLGMRESGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) end -function PMPI_Comm_dup(comm, newcomm) - ccall((:PMPI_Comm_dup, libHYPRE), Cint, (MPI_Comm, Ptr{MPI_Comm}), comm, newcomm) +function HYPRE_ParCSRLGMRESGetFinalRelativeResidualNorm(solver, norm) + ccall((:HYPRE_ParCSRLGMRESGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) end -function PMPI_Comm_dup_with_info(comm, info, newcomm) - ccall((:PMPI_Comm_dup_with_info, libHYPRE), Cint, (MPI_Comm, MPI_Info, Ptr{MPI_Comm}), comm, info, newcomm) +function HYPRE_ParCSRLGMRESGetResidual(solver, residual) + ccall((:HYPRE_ParCSRLGMRESGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_ParVector}), solver, residual) end -function PMPI_Comm_free(comm) - ccall((:PMPI_Comm_free, libHYPRE), Cint, (Ptr{MPI_Comm},), comm) +function HYPRE_ParCSRBiCGSTABCreate(comm, solver) + ccall((:HYPRE_ParCSRBiCGSTABCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) end -function PMPI_Comm_get_info(comm, info_used) - ccall((:PMPI_Comm_get_info, libHYPRE), Cint, (MPI_Comm, Ptr{MPI_Info}), comm, info_used) +function HYPRE_ParCSRBiCGSTABDestroy(solver) + ccall((:HYPRE_ParCSRBiCGSTABDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function PMPI_Comm_get_name(comm, comm_name, resultlen) - ccall((:PMPI_Comm_get_name, libHYPRE), Cint, (MPI_Comm, Ptr{Cchar}, Ptr{Cint}), comm, comm_name, resultlen) +function HYPRE_ParCSRBiCGSTABSetup(solver, A, b, x) + ccall((:HYPRE_ParCSRBiCGSTABSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Comm_group(comm, group) - ccall((:PMPI_Comm_group, libHYPRE), Cint, (MPI_Comm, Ptr{MPI_Group}), comm, group) +function HYPRE_ParCSRBiCGSTABSolve(solver, A, b, x) + ccall((:HYPRE_ParCSRBiCGSTABSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Comm_idup(comm, newcomm, request) - ccall((:PMPI_Comm_idup, libHYPRE), Cint, (MPI_Comm, Ptr{MPI_Comm}, Ptr{MPI_Request}), comm, newcomm, request) +function HYPRE_ParCSRBiCGSTABSetTol(solver, tol) + ccall((:HYPRE_ParCSRBiCGSTABSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function PMPI_Comm_idup_with_info(comm, info, newcomm, request) - ccall((:PMPI_Comm_idup_with_info, libHYPRE), Cint, (MPI_Comm, MPI_Info, Ptr{MPI_Comm}, Ptr{MPI_Request}), comm, info, newcomm, request) +function HYPRE_ParCSRBiCGSTABSetAbsoluteTol(solver, a_tol) + ccall((:HYPRE_ParCSRBiCGSTABSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) end -function PMPI_Comm_rank(comm, rank) - ccall((:PMPI_Comm_rank, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}), comm, rank) +function HYPRE_ParCSRBiCGSTABSetMinIter(solver, min_iter) + ccall((:HYPRE_ParCSRBiCGSTABSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) end -function PMPI_Comm_remote_group(comm, group) - ccall((:PMPI_Comm_remote_group, libHYPRE), Cint, (MPI_Comm, Ptr{MPI_Group}), comm, group) +function HYPRE_ParCSRBiCGSTABSetMaxIter(solver, max_iter) + ccall((:HYPRE_ParCSRBiCGSTABSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) end -function PMPI_Comm_remote_size(comm, size) - ccall((:PMPI_Comm_remote_size, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}), comm, size) +function HYPRE_ParCSRBiCGSTABSetStopCrit(solver, stop_crit) + ccall((:HYPRE_ParCSRBiCGSTABSetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, stop_crit) end -function PMPI_Comm_set_info(comm, info) - ccall((:PMPI_Comm_set_info, libHYPRE), Cint, (MPI_Comm, MPI_Info), comm, info) +function HYPRE_ParCSRBiCGSTABSetPrecond(solver, precond, precond_setup, precond_solver) + ccall((:HYPRE_ParCSRBiCGSTABSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) end -function PMPI_Comm_set_name(comm, comm_name) - ccall((:PMPI_Comm_set_name, libHYPRE), Cint, (MPI_Comm, Ptr{Cchar}), comm, comm_name) +function HYPRE_ParCSRBiCGSTABGetPrecond(solver, precond_data) + ccall((:HYPRE_ParCSRBiCGSTABGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data) end -function PMPI_Comm_size(comm, size) - ccall((:PMPI_Comm_size, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}), comm, size) +function HYPRE_ParCSRBiCGSTABSetLogging(solver, logging) + ccall((:HYPRE_ParCSRBiCGSTABSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) end -function PMPI_Comm_split(comm, color, key, newcomm) - ccall((:PMPI_Comm_split, libHYPRE), Cint, (MPI_Comm, Cint, Cint, Ptr{MPI_Comm}), comm, color, key, newcomm) +function HYPRE_ParCSRBiCGSTABSetPrintLevel(solver, print_level) + ccall((:HYPRE_ParCSRBiCGSTABSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) end -function PMPI_Comm_split_type(comm, split_type, key, info, newcomm) - ccall((:PMPI_Comm_split_type, libHYPRE), Cint, (MPI_Comm, Cint, Cint, MPI_Info, Ptr{MPI_Comm}), comm, split_type, key, info, newcomm) +function HYPRE_ParCSRBiCGSTABGetNumIterations(solver, num_iterations) + ccall((:HYPRE_ParCSRBiCGSTABGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) end -function PMPI_Comm_test_inter(comm, flag) - ccall((:PMPI_Comm_test_inter, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}), comm, flag) +function HYPRE_ParCSRBiCGSTABGetFinalRelativeResidualNorm(solver, norm) + ccall((:HYPRE_ParCSRBiCGSTABGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) end -function PMPI_Intercomm_create(local_comm, local_leader, peer_comm, remote_leader, tag, newintercomm) - ccall((:PMPI_Intercomm_create, libHYPRE), Cint, (MPI_Comm, Cint, MPI_Comm, Cint, Cint, Ptr{MPI_Comm}), local_comm, local_leader, peer_comm, remote_leader, tag, newintercomm) +function HYPRE_ParCSRBiCGSTABGetResidual(solver, residual) + ccall((:HYPRE_ParCSRBiCGSTABGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_ParVector}), solver, residual) end -function PMPI_Intercomm_create_from_groups(local_group, local_leader, remote_group, remote_leader, stringtag, info, errhandler, newintercomm) - ccall((:PMPI_Intercomm_create_from_groups, libHYPRE), Cint, (MPI_Group, Cint, MPI_Group, Cint, Ptr{Cchar}, MPI_Info, MPI_Errhandler, Ptr{MPI_Comm}), local_group, local_leader, remote_group, remote_leader, stringtag, info, errhandler, newintercomm) +function HYPRE_ParCSRHybridCreate(solver) + ccall((:HYPRE_ParCSRHybridCreate, libHYPRE), HYPRE_Int, (Ptr{HYPRE_Solver},), solver) end -function PMPI_Intercomm_merge(intercomm, high, newintracomm) - ccall((:PMPI_Intercomm_merge, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{MPI_Comm}), intercomm, high, newintracomm) +function HYPRE_ParCSRHybridDestroy(solver) + ccall((:HYPRE_ParCSRHybridDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function PMPIX_Comm_revoke(comm) - ccall((:PMPIX_Comm_revoke, libHYPRE), Cint, (MPI_Comm,), comm) +function HYPRE_ParCSRHybridSetup(solver, A, b, x) + ccall((:HYPRE_ParCSRHybridSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPIX_Comm_shrink(comm, newcomm) - ccall((:PMPIX_Comm_shrink, libHYPRE), Cint, (MPI_Comm, Ptr{MPI_Comm}), comm, newcomm) +function HYPRE_ParCSRHybridSolve(solver, A, b, x) + ccall((:HYPRE_ParCSRHybridSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPIX_Comm_failure_ack(comm) - ccall((:PMPIX_Comm_failure_ack, libHYPRE), Cint, (MPI_Comm,), comm) +function HYPRE_ParCSRHybridSetTol(solver, tol) + ccall((:HYPRE_ParCSRHybridSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function PMPIX_Comm_failure_get_acked(comm, failedgrp) - ccall((:PMPIX_Comm_failure_get_acked, libHYPRE), Cint, (MPI_Comm, Ptr{MPI_Group}), comm, failedgrp) +function HYPRE_ParCSRHybridSetAbsoluteTol(solver, tol) + ccall((:HYPRE_ParCSRHybridSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function PMPIX_Comm_agree(comm, flag) - ccall((:PMPIX_Comm_agree, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}), comm, flag) +function HYPRE_ParCSRHybridSetConvergenceTol(solver, cf_tol) + ccall((:HYPRE_ParCSRHybridSetConvergenceTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, cf_tol) end -function PMPI_Get_address(location, address) - ccall((:PMPI_Get_address, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Aint}), location, address) +function HYPRE_ParCSRHybridSetDSCGMaxIter(solver, dscg_max_its) + ccall((:HYPRE_ParCSRHybridSetDSCGMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, dscg_max_its) end -function PMPI_Get_count(status, datatype, count) - ccall((:PMPI_Get_count, libHYPRE), Cint, (Ptr{MPI_Status}, MPI_Datatype, Ptr{Cint}), status, datatype, count) +function HYPRE_ParCSRHybridSetPCGMaxIter(solver, pcg_max_its) + ccall((:HYPRE_ParCSRHybridSetPCGMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, pcg_max_its) end -function PMPI_Get_count_c(status, datatype, count) - ccall((:PMPI_Get_count_c, libHYPRE), Cint, (Ptr{MPI_Status}, MPI_Datatype, Ptr{MPI_Count}), status, datatype, count) +function HYPRE_ParCSRHybridSetSetupType(solver, setup_type) + ccall((:HYPRE_ParCSRHybridSetSetupType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, setup_type) end -function PMPI_Get_elements(status, datatype, count) - ccall((:PMPI_Get_elements, libHYPRE), Cint, (Ptr{MPI_Status}, MPI_Datatype, Ptr{Cint}), status, datatype, count) +function HYPRE_ParCSRHybridSetSolverType(solver, solver_type) + ccall((:HYPRE_ParCSRHybridSetSolverType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, solver_type) end -function PMPI_Get_elements_c(status, datatype, count) - ccall((:PMPI_Get_elements_c, libHYPRE), Cint, (Ptr{MPI_Status}, MPI_Datatype, Ptr{MPI_Count}), status, datatype, count) +function HYPRE_ParCSRHybridSetRecomputeResidual(solver, recompute_residual) + ccall((:HYPRE_ParCSRHybridSetRecomputeResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, recompute_residual) end -function PMPI_Get_elements_x(status, datatype, count) - ccall((:PMPI_Get_elements_x, libHYPRE), Cint, (Ptr{MPI_Status}, MPI_Datatype, Ptr{MPI_Count}), status, datatype, count) +function HYPRE_ParCSRHybridGetRecomputeResidual(solver, recompute_residual) + ccall((:HYPRE_ParCSRHybridGetRecomputeResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, recompute_residual) end -function PMPI_Pack(inbuf, incount, datatype, outbuf, outsize, position, comm) - ccall((:PMPI_Pack, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, Ptr{Cint}, MPI_Comm), inbuf, incount, datatype, outbuf, outsize, position, comm) +function HYPRE_ParCSRHybridSetRecomputeResidualP(solver, recompute_residual_p) + ccall((:HYPRE_ParCSRHybridSetRecomputeResidualP, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, recompute_residual_p) end -function PMPI_Pack_c(inbuf, incount, datatype, outbuf, outsize, position, comm) - ccall((:PMPI_Pack_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, Ptr{MPI_Count}, MPI_Comm), inbuf, incount, datatype, outbuf, outsize, position, comm) +function HYPRE_ParCSRHybridGetRecomputeResidualP(solver, recompute_residual_p) + ccall((:HYPRE_ParCSRHybridGetRecomputeResidualP, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, recompute_residual_p) end -function PMPI_Pack_external(datarep, inbuf, incount, datatype, outbuf, outsize, position) - ccall((:PMPI_Pack_external, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, MPI_Aint, Ptr{MPI_Aint}), datarep, inbuf, incount, datatype, outbuf, outsize, position) +function HYPRE_ParCSRHybridSetKDim(solver, k_dim) + ccall((:HYPRE_ParCSRHybridSetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, k_dim) end -function PMPI_Pack_external_c(datarep, inbuf, incount, datatype, outbuf, outsize, position) - ccall((:PMPI_Pack_external_c, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, Ptr{MPI_Count}), datarep, inbuf, incount, datatype, outbuf, outsize, position) +function HYPRE_ParCSRHybridSetTwoNorm(solver, two_norm) + ccall((:HYPRE_ParCSRHybridSetTwoNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, two_norm) end -function PMPI_Pack_external_size(datarep, incount, datatype, size) - ccall((:PMPI_Pack_external_size, libHYPRE), Cint, (Ptr{Cchar}, Cint, MPI_Datatype, Ptr{MPI_Aint}), datarep, incount, datatype, size) +function HYPRE_ParCSRHybridSetStopCrit(solver, stop_crit) + ccall((:HYPRE_ParCSRHybridSetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, stop_crit) end -function PMPI_Pack_external_size_c(datarep, incount, datatype, size) - ccall((:PMPI_Pack_external_size_c, libHYPRE), Cint, (Ptr{Cchar}, MPI_Count, MPI_Datatype, Ptr{MPI_Count}), datarep, incount, datatype, size) +function HYPRE_ParCSRHybridSetRelChange(solver, rel_change) + ccall((:HYPRE_ParCSRHybridSetRelChange, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, rel_change) end -function PMPI_Pack_size(incount, datatype, comm, size) - ccall((:PMPI_Pack_size, libHYPRE), Cint, (Cint, MPI_Datatype, MPI_Comm, Ptr{Cint}), incount, datatype, comm, size) +function HYPRE_ParCSRHybridSetPrecond(solver, precond, precond_setup, precond_solver) + ccall((:HYPRE_ParCSRHybridSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) end -function PMPI_Pack_size_c(incount, datatype, comm, size) - ccall((:PMPI_Pack_size_c, libHYPRE), Cint, (MPI_Count, MPI_Datatype, MPI_Comm, Ptr{MPI_Count}), incount, datatype, comm, size) +function HYPRE_ParCSRHybridSetLogging(solver, logging) + ccall((:HYPRE_ParCSRHybridSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) end -function PMPI_Status_set_elements(status, datatype, count) - ccall((:PMPI_Status_set_elements, libHYPRE), Cint, (Ptr{MPI_Status}, MPI_Datatype, Cint), status, datatype, count) +function HYPRE_ParCSRHybridSetPrintLevel(solver, print_level) + ccall((:HYPRE_ParCSRHybridSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) end -function PMPI_Status_set_elements_x(status, datatype, count) - ccall((:PMPI_Status_set_elements_x, libHYPRE), Cint, (Ptr{MPI_Status}, MPI_Datatype, MPI_Count), status, datatype, count) +function HYPRE_ParCSRHybridSetStrongThreshold(solver, strong_threshold) + ccall((:HYPRE_ParCSRHybridSetStrongThreshold, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, strong_threshold) end -function PMPI_Type_commit(datatype) - ccall((:PMPI_Type_commit, libHYPRE), Cint, (Ptr{MPI_Datatype},), datatype) +function HYPRE_ParCSRHybridSetMaxRowSum(solver, max_row_sum) + ccall((:HYPRE_ParCSRHybridSetMaxRowSum, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, max_row_sum) end -function PMPI_Type_contiguous(count, oldtype, newtype) - ccall((:PMPI_Type_contiguous, libHYPRE), Cint, (Cint, MPI_Datatype, Ptr{MPI_Datatype}), count, oldtype, newtype) +function HYPRE_ParCSRHybridSetTruncFactor(solver, trunc_factor) + ccall((:HYPRE_ParCSRHybridSetTruncFactor, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, trunc_factor) end -function PMPI_Type_contiguous_c(count, oldtype, newtype) - ccall((:PMPI_Type_contiguous_c, libHYPRE), Cint, (MPI_Count, MPI_Datatype, Ptr{MPI_Datatype}), count, oldtype, newtype) +function HYPRE_ParCSRHybridSetPMaxElmts(solver, P_max_elmts) + ccall((:HYPRE_ParCSRHybridSetPMaxElmts, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, P_max_elmts) end -function PMPI_Type_create_darray(size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype) - ccall((:PMPI_Type_create_darray, libHYPRE), Cint, (Cint, Cint, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Cint, MPI_Datatype, Ptr{MPI_Datatype}), size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype) +function HYPRE_ParCSRHybridSetMaxLevels(solver, max_levels) + ccall((:HYPRE_ParCSRHybridSetMaxLevels, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_levels) end -function PMPI_Type_create_darray_c(size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype) - ccall((:PMPI_Type_create_darray_c, libHYPRE), Cint, (Cint, Cint, Cint, Ptr{MPI_Count}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Cint, MPI_Datatype, Ptr{MPI_Datatype}), size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype) +function HYPRE_ParCSRHybridSetMeasureType(solver, measure_type) + ccall((:HYPRE_ParCSRHybridSetMeasureType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, measure_type) end -function PMPI_Type_create_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype) - ccall((:PMPI_Type_create_hindexed, libHYPRE), Cint, (Cint, Ptr{Cint}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{MPI_Datatype}), count, array_of_blocklengths, array_of_displacements, oldtype, newtype) +function HYPRE_ParCSRHybridSetCoarsenType(solver, coarsen_type) + ccall((:HYPRE_ParCSRHybridSetCoarsenType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, coarsen_type) end -function PMPI_Type_create_hindexed_c(count, array_of_blocklengths, array_of_displacements, oldtype, newtype) - ccall((:PMPI_Type_create_hindexed_c, libHYPRE), Cint, (MPI_Count, Ptr{MPI_Count}, Ptr{MPI_Count}, MPI_Datatype, Ptr{MPI_Datatype}), count, array_of_blocklengths, array_of_displacements, oldtype, newtype) +function HYPRE_ParCSRHybridSetInterpType(solver, interp_type) + ccall((:HYPRE_ParCSRHybridSetInterpType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, interp_type) end -function PMPI_Type_create_hindexed_block(count, blocklength, array_of_displacements, oldtype, newtype) - ccall((:PMPI_Type_create_hindexed_block, libHYPRE), Cint, (Cint, Cint, Ptr{MPI_Aint}, MPI_Datatype, Ptr{MPI_Datatype}), count, blocklength, array_of_displacements, oldtype, newtype) +function HYPRE_ParCSRHybridSetCycleType(solver, cycle_type) + ccall((:HYPRE_ParCSRHybridSetCycleType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, cycle_type) end -function PMPI_Type_create_hindexed_block_c(count, blocklength, array_of_displacements, oldtype, newtype) - ccall((:PMPI_Type_create_hindexed_block_c, libHYPRE), Cint, (MPI_Count, MPI_Count, Ptr{MPI_Count}, MPI_Datatype, Ptr{MPI_Datatype}), count, blocklength, array_of_displacements, oldtype, newtype) +function HYPRE_ParCSRHybridSetGridRelaxType(solver, grid_relax_type) + ccall((:HYPRE_ParCSRHybridSetGridRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, grid_relax_type) end -function PMPI_Type_create_hvector(count, blocklength, stride, oldtype, newtype) - ccall((:PMPI_Type_create_hvector, libHYPRE), Cint, (Cint, Cint, MPI_Aint, MPI_Datatype, Ptr{MPI_Datatype}), count, blocklength, stride, oldtype, newtype) +function HYPRE_ParCSRHybridSetGridRelaxPoints(solver, grid_relax_points) + ccall((:HYPRE_ParCSRHybridSetGridRelaxPoints, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Ptr{HYPRE_Int}}), solver, grid_relax_points) end -function PMPI_Type_create_hvector_c(count, blocklength, stride, oldtype, newtype) - ccall((:PMPI_Type_create_hvector_c, libHYPRE), Cint, (MPI_Count, MPI_Count, MPI_Count, MPI_Datatype, Ptr{MPI_Datatype}), count, blocklength, stride, oldtype, newtype) +function HYPRE_ParCSRHybridSetNumSweeps(solver, num_sweeps) + ccall((:HYPRE_ParCSRHybridSetNumSweeps, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, num_sweeps) end -function PMPI_Type_create_indexed_block(count, blocklength, array_of_displacements, oldtype, newtype) - ccall((:PMPI_Type_create_indexed_block, libHYPRE), Cint, (Cint, Cint, Ptr{Cint}, MPI_Datatype, Ptr{MPI_Datatype}), count, blocklength, array_of_displacements, oldtype, newtype) +function HYPRE_ParCSRHybridSetCycleNumSweeps(solver, num_sweeps, k) + ccall((:HYPRE_ParCSRHybridSetCycleNumSweeps, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int), solver, num_sweeps, k) end -function PMPI_Type_create_indexed_block_c(count, blocklength, array_of_displacements, oldtype, newtype) - ccall((:PMPI_Type_create_indexed_block_c, libHYPRE), Cint, (MPI_Count, MPI_Count, Ptr{MPI_Count}, MPI_Datatype, Ptr{MPI_Datatype}), count, blocklength, array_of_displacements, oldtype, newtype) +function HYPRE_ParCSRHybridSetRelaxType(solver, relax_type) + ccall((:HYPRE_ParCSRHybridSetRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, relax_type) end -function PMPI_Type_create_resized(oldtype, lb, extent, newtype) - ccall((:PMPI_Type_create_resized, libHYPRE), Cint, (MPI_Datatype, MPI_Aint, MPI_Aint, Ptr{MPI_Datatype}), oldtype, lb, extent, newtype) +function HYPRE_ParCSRHybridSetCycleRelaxType(solver, relax_type, k) + ccall((:HYPRE_ParCSRHybridSetCycleRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int), solver, relax_type, k) end -function PMPI_Type_create_resized_c(oldtype, lb, extent, newtype) - ccall((:PMPI_Type_create_resized_c, libHYPRE), Cint, (MPI_Datatype, MPI_Count, MPI_Count, Ptr{MPI_Datatype}), oldtype, lb, extent, newtype) +function HYPRE_ParCSRHybridSetRelaxOrder(solver, relax_order) + ccall((:HYPRE_ParCSRHybridSetRelaxOrder, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, relax_order) end -function PMPI_Type_create_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype) - ccall((:PMPI_Type_create_struct, libHYPRE), Cint, (Cint, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{MPI_Datatype}), count, array_of_blocklengths, array_of_displacements, array_of_types, newtype) +function HYPRE_ParCSRHybridSetRelaxWt(solver, relax_wt) + ccall((:HYPRE_ParCSRHybridSetRelaxWt, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, relax_wt) end -function PMPI_Type_create_struct_c(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype) - ccall((:PMPI_Type_create_struct_c, libHYPRE), Cint, (MPI_Count, Ptr{MPI_Count}, Ptr{MPI_Count}, Ptr{MPI_Datatype}, Ptr{MPI_Datatype}), count, array_of_blocklengths, array_of_displacements, array_of_types, newtype) +function HYPRE_ParCSRHybridSetLevelRelaxWt(solver, relax_wt, level) + ccall((:HYPRE_ParCSRHybridSetLevelRelaxWt, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real, HYPRE_Int), solver, relax_wt, level) end -function PMPI_Type_create_subarray(ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype) - ccall((:PMPI_Type_create_subarray, libHYPRE), Cint, (Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Cint, MPI_Datatype, Ptr{MPI_Datatype}), ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype) +function HYPRE_ParCSRHybridSetOuterWt(solver, outer_wt) + ccall((:HYPRE_ParCSRHybridSetOuterWt, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, outer_wt) end -function PMPI_Type_create_subarray_c(ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype) - ccall((:PMPI_Type_create_subarray_c, libHYPRE), Cint, (Cint, Ptr{MPI_Count}, Ptr{MPI_Count}, Ptr{MPI_Count}, Cint, MPI_Datatype, Ptr{MPI_Datatype}), ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype) +function HYPRE_ParCSRHybridSetLevelOuterWt(solver, outer_wt, level) + ccall((:HYPRE_ParCSRHybridSetLevelOuterWt, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real, HYPRE_Int), solver, outer_wt, level) end -function PMPI_Type_dup(oldtype, newtype) - ccall((:PMPI_Type_dup, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Datatype}), oldtype, newtype) +function HYPRE_ParCSRHybridSetMaxCoarseSize(solver, max_coarse_size) + ccall((:HYPRE_ParCSRHybridSetMaxCoarseSize, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_coarse_size) end -function PMPI_Type_free(datatype) - ccall((:PMPI_Type_free, libHYPRE), Cint, (Ptr{MPI_Datatype},), datatype) +function HYPRE_ParCSRHybridSetMinCoarseSize(solver, min_coarse_size) + ccall((:HYPRE_ParCSRHybridSetMinCoarseSize, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_coarse_size) end -function PMPI_Type_get_contents(datatype, max_integers, max_addresses, max_datatypes, array_of_integers, array_of_addresses, array_of_datatypes) - ccall((:PMPI_Type_get_contents, libHYPRE), Cint, (MPI_Datatype, Cint, Cint, Cint, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}), datatype, max_integers, max_addresses, max_datatypes, array_of_integers, array_of_addresses, array_of_datatypes) +function HYPRE_ParCSRHybridSetSeqThreshold(solver, seq_threshold) + ccall((:HYPRE_ParCSRHybridSetSeqThreshold, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, seq_threshold) end -function PMPI_Type_get_contents_c(datatype, max_integers, max_addresses, max_large_counts, max_datatypes, array_of_integers, array_of_addresses, array_of_large_counts, array_of_datatypes) - ccall((:PMPI_Type_get_contents_c, libHYPRE), Cint, (MPI_Datatype, MPI_Count, MPI_Count, MPI_Count, MPI_Count, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Count}, Ptr{MPI_Datatype}), datatype, max_integers, max_addresses, max_large_counts, max_datatypes, array_of_integers, array_of_addresses, array_of_large_counts, array_of_datatypes) +function HYPRE_ParCSRHybridSetRelaxWeight(solver, relax_weight) + ccall((:HYPRE_ParCSRHybridSetRelaxWeight, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, relax_weight) end -function PMPI_Type_get_envelope(datatype, num_integers, num_addresses, num_datatypes, combiner) - ccall((:PMPI_Type_get_envelope, libHYPRE), Cint, (MPI_Datatype, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), datatype, num_integers, num_addresses, num_datatypes, combiner) +function HYPRE_ParCSRHybridSetOmega(solver, omega) + ccall((:HYPRE_ParCSRHybridSetOmega, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, omega) end -function PMPI_Type_get_envelope_c(datatype, num_integers, num_addresses, num_large_counts, num_datatypes, combiner) - ccall((:PMPI_Type_get_envelope_c, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Count}, Ptr{MPI_Count}, Ptr{MPI_Count}, Ptr{MPI_Count}, Ptr{Cint}), datatype, num_integers, num_addresses, num_large_counts, num_datatypes, combiner) +function HYPRE_ParCSRHybridSetAggNumLevels(solver, agg_num_levels) + ccall((:HYPRE_ParCSRHybridSetAggNumLevels, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, agg_num_levels) end -function PMPI_Type_get_extent(datatype, lb, extent) - ccall((:PMPI_Type_get_extent, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Aint}, Ptr{MPI_Aint}), datatype, lb, extent) +function HYPRE_ParCSRHybridSetAggInterpType(solver, agg_interp_type) + ccall((:HYPRE_ParCSRHybridSetAggInterpType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, agg_interp_type) end -function PMPI_Type_get_extent_c(datatype, lb, extent) - ccall((:PMPI_Type_get_extent_c, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Count}, Ptr{MPI_Count}), datatype, lb, extent) +function HYPRE_ParCSRHybridSetNumPaths(solver, num_paths) + ccall((:HYPRE_ParCSRHybridSetNumPaths, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, num_paths) end -function PMPI_Type_get_extent_x(datatype, lb, extent) - ccall((:PMPI_Type_get_extent_x, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Count}, Ptr{MPI_Count}), datatype, lb, extent) +function HYPRE_ParCSRHybridSetNumFunctions(solver, num_functions) + ccall((:HYPRE_ParCSRHybridSetNumFunctions, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, num_functions) end -function PMPI_Type_get_name(datatype, type_name, resultlen) - ccall((:PMPI_Type_get_name, libHYPRE), Cint, (MPI_Datatype, Ptr{Cchar}, Ptr{Cint}), datatype, type_name, resultlen) +function HYPRE_ParCSRHybridSetDofFunc(solver, dof_func) + ccall((:HYPRE_ParCSRHybridSetDofFunc, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, dof_func) end -function PMPI_Type_get_true_extent(datatype, true_lb, true_extent) - ccall((:PMPI_Type_get_true_extent, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Aint}, Ptr{MPI_Aint}), datatype, true_lb, true_extent) +function HYPRE_ParCSRHybridSetNodal(solver, nodal) + ccall((:HYPRE_ParCSRHybridSetNodal, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, nodal) end -function PMPI_Type_get_true_extent_c(datatype, true_lb, true_extent) - ccall((:PMPI_Type_get_true_extent_c, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Count}, Ptr{MPI_Count}), datatype, true_lb, true_extent) +function HYPRE_ParCSRHybridSetKeepTranspose(solver, keepT) + ccall((:HYPRE_ParCSRHybridSetKeepTranspose, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, keepT) end -function PMPI_Type_get_true_extent_x(datatype, true_lb, true_extent) - ccall((:PMPI_Type_get_true_extent_x, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Count}, Ptr{MPI_Count}), datatype, true_lb, true_extent) +function HYPRE_ParCSRHybridSetNonGalerkinTol(solver, num_levels, nongalerkin_tol) + ccall((:HYPRE_ParCSRHybridSetNonGalerkinTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, Ptr{HYPRE_Real}), solver, num_levels, nongalerkin_tol) end -function PMPI_Type_indexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype) - ccall((:PMPI_Type_indexed, libHYPRE), Cint, (Cint, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{MPI_Datatype}), count, array_of_blocklengths, array_of_displacements, oldtype, newtype) +function HYPRE_ParCSRHybridGetNumIterations(solver, num_its) + ccall((:HYPRE_ParCSRHybridGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_its) end -function PMPI_Type_indexed_c(count, array_of_blocklengths, array_of_displacements, oldtype, newtype) - ccall((:PMPI_Type_indexed_c, libHYPRE), Cint, (MPI_Count, Ptr{MPI_Count}, Ptr{MPI_Count}, MPI_Datatype, Ptr{MPI_Datatype}), count, array_of_blocklengths, array_of_displacements, oldtype, newtype) +function HYPRE_ParCSRHybridGetDSCGNumIterations(solver, dscg_num_its) + ccall((:HYPRE_ParCSRHybridGetDSCGNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, dscg_num_its) end -function PMPI_Type_match_size(typeclass, size, datatype) - ccall((:PMPI_Type_match_size, libHYPRE), Cint, (Cint, Cint, Ptr{MPI_Datatype}), typeclass, size, datatype) +function HYPRE_ParCSRHybridGetPCGNumIterations(solver, pcg_num_its) + ccall((:HYPRE_ParCSRHybridGetPCGNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, pcg_num_its) end -function PMPI_Type_set_name(datatype, type_name) - ccall((:PMPI_Type_set_name, libHYPRE), Cint, (MPI_Datatype, Ptr{Cchar}), datatype, type_name) +function HYPRE_ParCSRHybridGetFinalRelativeResidualNorm(solver, norm) + ccall((:HYPRE_ParCSRHybridGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) end -function PMPI_Type_size(datatype, size) - ccall((:PMPI_Type_size, libHYPRE), Cint, (MPI_Datatype, Ptr{Cint}), datatype, size) +function HYPRE_ParCSRHybridSetNumGridSweeps(solver, num_grid_sweeps) + ccall((:HYPRE_ParCSRHybridSetNumGridSweeps, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_grid_sweeps) end -function PMPI_Type_size_c(datatype, size) - ccall((:PMPI_Type_size_c, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Count}), datatype, size) +function HYPRE_ParCSRHybridGetSetupSolveTime(solver, time) + ccall((:HYPRE_ParCSRHybridGetSetupSolveTime, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, time) end -function PMPI_Type_size_x(datatype, size) - ccall((:PMPI_Type_size_x, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Count}), datatype, size) +function HYPRE_SchwarzCreate(solver) + ccall((:HYPRE_SchwarzCreate, libHYPRE), HYPRE_Int, (Ptr{HYPRE_Solver},), solver) end -function PMPI_Type_vector(count, blocklength, stride, oldtype, newtype) - ccall((:PMPI_Type_vector, libHYPRE), Cint, (Cint, Cint, Cint, MPI_Datatype, Ptr{MPI_Datatype}), count, blocklength, stride, oldtype, newtype) +function HYPRE_SchwarzDestroy(solver) + ccall((:HYPRE_SchwarzDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function PMPI_Type_vector_c(count, blocklength, stride, oldtype, newtype) - ccall((:PMPI_Type_vector_c, libHYPRE), Cint, (MPI_Count, MPI_Count, MPI_Count, MPI_Datatype, Ptr{MPI_Datatype}), count, blocklength, stride, oldtype, newtype) +function HYPRE_SchwarzSetup(solver, A, b, x) + ccall((:HYPRE_SchwarzSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Unpack(inbuf, insize, position, outbuf, outcount, datatype, comm) - ccall((:PMPI_Unpack, libHYPRE), Cint, (Ptr{Cvoid}, Cint, Ptr{Cint}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm), inbuf, insize, position, outbuf, outcount, datatype, comm) +function HYPRE_SchwarzSolve(solver, A, b, x) + ccall((:HYPRE_SchwarzSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Unpack_c(inbuf, insize, position, outbuf, outcount, datatype, comm) - ccall((:PMPI_Unpack_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, Ptr{MPI_Count}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm), inbuf, insize, position, outbuf, outcount, datatype, comm) +function HYPRE_SchwarzSetVariant(solver, variant) + ccall((:HYPRE_SchwarzSetVariant, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, variant) end -function PMPI_Unpack_external(datarep, inbuf, insize, position, outbuf, outcount, datatype) - ccall((:PMPI_Unpack_external, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cvoid}, MPI_Aint, Ptr{MPI_Aint}, Ptr{Cvoid}, Cint, MPI_Datatype), datarep, inbuf, insize, position, outbuf, outcount, datatype) +function HYPRE_SchwarzSetOverlap(solver, overlap) + ccall((:HYPRE_SchwarzSetOverlap, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, overlap) end -function PMPI_Unpack_external_c(datarep, inbuf, insize, position, outbuf, outcount, datatype) - ccall((:PMPI_Unpack_external_c, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cvoid}, MPI_Count, Ptr{MPI_Count}, Ptr{Cvoid}, MPI_Count, MPI_Datatype), datarep, inbuf, insize, position, outbuf, outcount, datatype) +function HYPRE_SchwarzSetDomainType(solver, domain_type) + ccall((:HYPRE_SchwarzSetDomainType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, domain_type) end -function PMPI_Address(location, address) - ccall((:PMPI_Address, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Aint}), location, address) +function HYPRE_SchwarzSetRelaxWeight(solver, relax_weight) + ccall((:HYPRE_SchwarzSetRelaxWeight, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, relax_weight) end -function PMPI_Type_extent(datatype, extent) - ccall((:PMPI_Type_extent, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Aint}), datatype, extent) +function HYPRE_SchwarzSetDomainStructure(solver, domain_structure) + ccall((:HYPRE_SchwarzSetDomainStructure, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_CSRMatrix), solver, domain_structure) end -function PMPI_Type_lb(datatype, displacement) - ccall((:PMPI_Type_lb, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Aint}), datatype, displacement) +function HYPRE_SchwarzSetNumFunctions(solver, num_functions) + ccall((:HYPRE_SchwarzSetNumFunctions, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, num_functions) end -function PMPI_Type_ub(datatype, displacement) - ccall((:PMPI_Type_ub, libHYPRE), Cint, (MPI_Datatype, Ptr{MPI_Aint}), datatype, displacement) +function HYPRE_SchwarzSetDofFunc(solver, dof_func) + ccall((:HYPRE_SchwarzSetDofFunc, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, dof_func) end -function PMPI_Type_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype) - ccall((:PMPI_Type_hindexed, libHYPRE), Cint, (Cint, Ptr{Cint}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{MPI_Datatype}), count, array_of_blocklengths, array_of_displacements, oldtype, newtype) +function HYPRE_SchwarzSetNonSymm(solver, use_nonsymm) + ccall((:HYPRE_SchwarzSetNonSymm, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, use_nonsymm) end -function PMPI_Type_hvector(count, blocklength, stride, oldtype, newtype) - ccall((:PMPI_Type_hvector, libHYPRE), Cint, (Cint, Cint, MPI_Aint, MPI_Datatype, Ptr{MPI_Datatype}), count, blocklength, stride, oldtype, newtype) +function HYPRE_ParCSRCGNRCreate(comm, solver) + ccall((:HYPRE_ParCSRCGNRCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) end -function PMPI_Type_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype) - ccall((:PMPI_Type_struct, libHYPRE), Cint, (Cint, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{MPI_Datatype}), count, array_of_blocklengths, array_of_displacements, array_of_types, newtype) +function HYPRE_ParCSRCGNRDestroy(solver) + ccall((:HYPRE_ParCSRCGNRDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function PMPI_Add_error_class(errorclass) - ccall((:PMPI_Add_error_class, libHYPRE), Cint, (Ptr{Cint},), errorclass) +function HYPRE_ParCSRCGNRSetup(solver, A, b, x) + ccall((:HYPRE_ParCSRCGNRSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Add_error_code(errorclass, errorcode) - ccall((:PMPI_Add_error_code, libHYPRE), Cint, (Cint, Ptr{Cint}), errorclass, errorcode) +function HYPRE_ParCSRCGNRSolve(solver, A, b, x) + ccall((:HYPRE_ParCSRCGNRSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Add_error_string(errorcode, string) - ccall((:PMPI_Add_error_string, libHYPRE), Cint, (Cint, Ptr{Cchar}), errorcode, string) +function HYPRE_ParCSRCGNRSetTol(solver, tol) + ccall((:HYPRE_ParCSRCGNRSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function PMPI_Comm_call_errhandler(comm, errorcode) - ccall((:PMPI_Comm_call_errhandler, libHYPRE), Cint, (MPI_Comm, Cint), comm, errorcode) -end - -function PMPI_Comm_create_errhandler(comm_errhandler_fn, errhandler) - ccall((:PMPI_Comm_create_errhandler, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Errhandler}), comm_errhandler_fn, errhandler) -end - -function PMPI_Comm_get_errhandler(comm, errhandler) - ccall((:PMPI_Comm_get_errhandler, libHYPRE), Cint, (MPI_Comm, Ptr{MPI_Errhandler}), comm, errhandler) -end - -function PMPI_Comm_set_errhandler(comm, errhandler) - ccall((:PMPI_Comm_set_errhandler, libHYPRE), Cint, (MPI_Comm, MPI_Errhandler), comm, errhandler) -end - -function PMPI_Errhandler_free(errhandler) - ccall((:PMPI_Errhandler_free, libHYPRE), Cint, (Ptr{MPI_Errhandler},), errhandler) -end - -function PMPI_Error_class(errorcode, errorclass) - ccall((:PMPI_Error_class, libHYPRE), Cint, (Cint, Ptr{Cint}), errorcode, errorclass) -end - -function PMPI_Error_string(errorcode, string, resultlen) - ccall((:PMPI_Error_string, libHYPRE), Cint, (Cint, Ptr{Cchar}, Ptr{Cint}), errorcode, string, resultlen) -end - -function PMPI_File_call_errhandler(fh, errorcode) - ccall((:PMPI_File_call_errhandler, libHYPRE), Cint, (MPI_File, Cint), fh, errorcode) -end - -function PMPI_File_create_errhandler(file_errhandler_fn, errhandler) - ccall((:PMPI_File_create_errhandler, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Errhandler}), file_errhandler_fn, errhandler) -end - -function PMPI_File_get_errhandler(file, errhandler) - ccall((:PMPI_File_get_errhandler, libHYPRE), Cint, (MPI_File, Ptr{MPI_Errhandler}), file, errhandler) -end - -function PMPI_File_set_errhandler(file, errhandler) - ccall((:PMPI_File_set_errhandler, libHYPRE), Cint, (MPI_File, MPI_Errhandler), file, errhandler) -end - -function PMPI_Session_call_errhandler(session, errorcode) - ccall((:PMPI_Session_call_errhandler, libHYPRE), Cint, (MPI_Session, Cint), session, errorcode) -end - -function PMPI_Session_create_errhandler(session_errhandler_fn, errhandler) - ccall((:PMPI_Session_create_errhandler, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Errhandler}), session_errhandler_fn, errhandler) -end - -function PMPI_Session_get_errhandler(session, errhandler) - ccall((:PMPI_Session_get_errhandler, libHYPRE), Cint, (MPI_Session, Ptr{MPI_Errhandler}), session, errhandler) -end - -function PMPI_Session_set_errhandler(session, errhandler) - ccall((:PMPI_Session_set_errhandler, libHYPRE), Cint, (MPI_Session, MPI_Errhandler), session, errhandler) -end - -function PMPI_Win_call_errhandler(win, errorcode) - ccall((:PMPI_Win_call_errhandler, libHYPRE), Cint, (MPI_Win, Cint), win, errorcode) -end - -function PMPI_Win_create_errhandler(win_errhandler_fn, errhandler) - ccall((:PMPI_Win_create_errhandler, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Errhandler}), win_errhandler_fn, errhandler) -end - -function PMPI_Win_get_errhandler(win, errhandler) - ccall((:PMPI_Win_get_errhandler, libHYPRE), Cint, (MPI_Win, Ptr{MPI_Errhandler}), win, errhandler) -end - -function PMPI_Win_set_errhandler(win, errhandler) - ccall((:PMPI_Win_set_errhandler, libHYPRE), Cint, (MPI_Win, MPI_Errhandler), win, errhandler) +function HYPRE_ParCSRCGNRSetMinIter(solver, min_iter) + ccall((:HYPRE_ParCSRCGNRSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) end -function PMPIX_Delete_error_class(errorclass) - ccall((:PMPIX_Delete_error_class, libHYPRE), Cint, (Cint,), errorclass) +function HYPRE_ParCSRCGNRSetMaxIter(solver, max_iter) + ccall((:HYPRE_ParCSRCGNRSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) end -function PMPIX_Delete_error_code(errorcode) - ccall((:PMPIX_Delete_error_code, libHYPRE), Cint, (Cint,), errorcode) +function HYPRE_ParCSRCGNRSetStopCrit(solver, stop_crit) + ccall((:HYPRE_ParCSRCGNRSetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, stop_crit) end -function PMPIX_Delete_error_string(errorcode) - ccall((:PMPIX_Delete_error_string, libHYPRE), Cint, (Cint,), errorcode) +function HYPRE_ParCSRCGNRSetPrecond(solver, precond, precondT, precond_setup, precond_solver) + ccall((:HYPRE_ParCSRCGNRSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_Solver), solver, precond, precondT, precond_setup, precond_solver) end -function PMPI_Errhandler_create(comm_errhandler_fn, errhandler) - ccall((:PMPI_Errhandler_create, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Errhandler}), comm_errhandler_fn, errhandler) +function HYPRE_ParCSRCGNRGetPrecond(solver, precond_data) + ccall((:HYPRE_ParCSRCGNRGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data) end -function PMPI_Errhandler_get(comm, errhandler) - ccall((:PMPI_Errhandler_get, libHYPRE), Cint, (MPI_Comm, Ptr{MPI_Errhandler}), comm, errhandler) +function HYPRE_ParCSRCGNRSetLogging(solver, logging) + ccall((:HYPRE_ParCSRCGNRSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) end -function PMPI_Errhandler_set(comm, errhandler) - ccall((:PMPI_Errhandler_set, libHYPRE), Cint, (MPI_Comm, MPI_Errhandler), comm, errhandler) +function HYPRE_ParCSRCGNRGetNumIterations(solver, num_iterations) + ccall((:HYPRE_ParCSRCGNRGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) end -function PMPI_Group_compare(group1, group2, result) - ccall((:PMPI_Group_compare, libHYPRE), Cint, (MPI_Group, MPI_Group, Ptr{Cint}), group1, group2, result) +function HYPRE_ParCSRCGNRGetFinalRelativeResidualNorm(solver, norm) + ccall((:HYPRE_ParCSRCGNRGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) end -function PMPI_Group_difference(group1, group2, newgroup) - ccall((:PMPI_Group_difference, libHYPRE), Cint, (MPI_Group, MPI_Group, Ptr{MPI_Group}), group1, group2, newgroup) +function HYPRE_MGRCreate(solver) + ccall((:HYPRE_MGRCreate, libHYPRE), HYPRE_Int, (Ptr{HYPRE_Solver},), solver) end -function PMPI_Group_excl(group, n, ranks, newgroup) - ccall((:PMPI_Group_excl, libHYPRE), Cint, (MPI_Group, Cint, Ptr{Cint}, Ptr{MPI_Group}), group, n, ranks, newgroup) +function HYPRE_MGRDestroy(solver) + ccall((:HYPRE_MGRDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function PMPI_Group_free(group) - ccall((:PMPI_Group_free, libHYPRE), Cint, (Ptr{MPI_Group},), group) +function HYPRE_MGRSetup(solver, A, b, x) + ccall((:HYPRE_MGRSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Group_incl(group, n, ranks, newgroup) - ccall((:PMPI_Group_incl, libHYPRE), Cint, (MPI_Group, Cint, Ptr{Cint}, Ptr{MPI_Group}), group, n, ranks, newgroup) +function HYPRE_MGRSolve(solver, A, b, x) + ccall((:HYPRE_MGRSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPI_Group_intersection(group1, group2, newgroup) - ccall((:PMPI_Group_intersection, libHYPRE), Cint, (MPI_Group, MPI_Group, Ptr{MPI_Group}), group1, group2, newgroup) +function HYPRE_MGRSetCpointsByContiguousBlock(solver, block_size, max_num_levels, idx_array, num_block_coarse_points, block_coarse_indexes) + ccall((:HYPRE_MGRSetCpointsByContiguousBlock, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Int}, Ptr{Ptr{HYPRE_Int}}), solver, block_size, max_num_levels, idx_array, num_block_coarse_points, block_coarse_indexes) end -function PMPI_Group_range_excl(group, n, ranges, newgroup) - ccall((:PMPI_Group_range_excl, libHYPRE), Cint, (MPI_Group, Cint, Ptr{NTuple{3, Cint}}, Ptr{MPI_Group}), group, n, ranges, newgroup) +function HYPRE_MGRSetCpointsByBlock(solver, block_size, max_num_levels, num_block_coarse_points, block_coarse_indexes) + ccall((:HYPRE_MGRSetCpointsByBlock, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Int}, Ptr{Ptr{HYPRE_Int}}), solver, block_size, max_num_levels, num_block_coarse_points, block_coarse_indexes) end -function PMPI_Group_range_incl(group, n, ranges, newgroup) - ccall((:PMPI_Group_range_incl, libHYPRE), Cint, (MPI_Group, Cint, Ptr{NTuple{3, Cint}}, Ptr{MPI_Group}), group, n, ranges, newgroup) +function HYPRE_MGRSetCpointsByPointMarkerArray(solver, block_size, max_num_levels, num_block_coarse_points, lvl_block_coarse_indexes, point_marker_array) + ccall((:HYPRE_MGRSetCpointsByPointMarkerArray, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Int}, Ptr{Ptr{HYPRE_Int}}, Ptr{HYPRE_Int}), solver, block_size, max_num_levels, num_block_coarse_points, lvl_block_coarse_indexes, point_marker_array) end -function PMPI_Group_rank(group, rank) - ccall((:PMPI_Group_rank, libHYPRE), Cint, (MPI_Group, Ptr{Cint}), group, rank) +function HYPRE_MGRSetNonCpointsToFpoints(solver, nonCptToFptFlag) + ccall((:HYPRE_MGRSetNonCpointsToFpoints, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, nonCptToFptFlag) end -function PMPI_Group_size(group, size) - ccall((:PMPI_Group_size, libHYPRE), Cint, (MPI_Group, Ptr{Cint}), group, size) +function HYPRE_MGRSetMaxCoarseLevels(solver, maxlev) + ccall((:HYPRE_MGRSetMaxCoarseLevels, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, maxlev) end -function PMPI_Group_translate_ranks(group1, n, ranks1, group2, ranks2) - ccall((:PMPI_Group_translate_ranks, libHYPRE), Cint, (MPI_Group, Cint, Ptr{Cint}, MPI_Group, Ptr{Cint}), group1, n, ranks1, group2, ranks2) +function HYPRE_MGRSetBlockSize(solver, bsize) + ccall((:HYPRE_MGRSetBlockSize, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, bsize) end -function PMPI_Group_union(group1, group2, newgroup) - ccall((:PMPI_Group_union, libHYPRE), Cint, (MPI_Group, MPI_Group, Ptr{MPI_Group}), group1, group2, newgroup) +function HYPRE_MGRSetReservedCoarseNodes(solver, reserved_coarse_size, reserved_coarse_nodes) + ccall((:HYPRE_MGRSetReservedCoarseNodes, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, Ptr{HYPRE_BigInt}), solver, reserved_coarse_size, reserved_coarse_nodes) end -function PMPI_Info_create(info) - ccall((:PMPI_Info_create, libHYPRE), Cint, (Ptr{MPI_Info},), info) +function HYPRE_MGRSetReservedCpointsLevelToKeep(solver, level) + ccall((:HYPRE_MGRSetReservedCpointsLevelToKeep, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, level) end -function PMPI_Info_create_env(argc, argv, info) - ccall((:PMPI_Info_create_env, libHYPRE), Cint, (Cint, Ptr{Ptr{Cchar}}, Ptr{MPI_Info}), argc, argv, info) +function HYPRE_MGRSetRelaxType(solver, relax_type) + ccall((:HYPRE_MGRSetRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, relax_type) end -function PMPI_Info_delete(info, key) - ccall((:PMPI_Info_delete, libHYPRE), Cint, (MPI_Info, Ptr{Cchar}), info, key) +function HYPRE_MGRSetFRelaxMethod(solver, relax_method) + ccall((:HYPRE_MGRSetFRelaxMethod, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, relax_method) end -function PMPI_Info_dup(info, newinfo) - ccall((:PMPI_Info_dup, libHYPRE), Cint, (MPI_Info, Ptr{MPI_Info}), info, newinfo) +function HYPRE_MGRSetLevelFRelaxMethod(solver, relax_method) + ccall((:HYPRE_MGRSetLevelFRelaxMethod, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, relax_method) end -function PMPI_Info_free(info) - ccall((:PMPI_Info_free, libHYPRE), Cint, (Ptr{MPI_Info},), info) +function HYPRE_MGRSetCoarseGridMethod(solver, cg_method) + ccall((:HYPRE_MGRSetCoarseGridMethod, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, cg_method) end -function PMPI_Info_get(info, key, valuelen, value, flag) - ccall((:PMPI_Info_get, libHYPRE), Cint, (MPI_Info, Ptr{Cchar}, Cint, Ptr{Cchar}, Ptr{Cint}), info, key, valuelen, value, flag) +function HYPRE_MGRSetLevelFRelaxNumFunctions(solver, num_functions) + ccall((:HYPRE_MGRSetLevelFRelaxNumFunctions, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_functions) end -function PMPI_Info_get_nkeys(info, nkeys) - ccall((:PMPI_Info_get_nkeys, libHYPRE), Cint, (MPI_Info, Ptr{Cint}), info, nkeys) +function HYPRE_MGRSetRestrictType(solver, restrict_type) + ccall((:HYPRE_MGRSetRestrictType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, restrict_type) end -function PMPI_Info_get_nthkey(info, n, key) - ccall((:PMPI_Info_get_nthkey, libHYPRE), Cint, (MPI_Info, Cint, Ptr{Cchar}), info, n, key) +function HYPRE_MGRSetLevelRestrictType(solver, restrict_type) + ccall((:HYPRE_MGRSetLevelRestrictType, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, restrict_type) end -function PMPI_Info_get_string(info, key, buflen, value, flag) - ccall((:PMPI_Info_get_string, libHYPRE), Cint, (MPI_Info, Ptr{Cchar}, Ptr{Cint}, Ptr{Cchar}, Ptr{Cint}), info, key, buflen, value, flag) +function HYPRE_MGRSetNumRestrictSweeps(solver, nsweeps) + ccall((:HYPRE_MGRSetNumRestrictSweeps, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, nsweeps) end -function PMPI_Info_get_valuelen(info, key, valuelen, flag) - ccall((:PMPI_Info_get_valuelen, libHYPRE), Cint, (MPI_Info, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}), info, key, valuelen, flag) +function HYPRE_MGRSetInterpType(solver, interp_type) + ccall((:HYPRE_MGRSetInterpType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, interp_type) end -function PMPI_Info_set(info, key, value) - ccall((:PMPI_Info_set, libHYPRE), Cint, (MPI_Info, Ptr{Cchar}, Ptr{Cchar}), info, key, value) +function HYPRE_MGRSetLevelInterpType(solver, interp_type) + ccall((:HYPRE_MGRSetLevelInterpType, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, interp_type) end -function PMPI_Abort(comm, errorcode) - ccall((:PMPI_Abort, libHYPRE), Cint, (MPI_Comm, Cint), comm, errorcode) +function HYPRE_MGRSetNumRelaxSweeps(solver, nsweeps) + ccall((:HYPRE_MGRSetNumRelaxSweeps, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, nsweeps) end -function PMPI_Comm_create_from_group(group, stringtag, info, errhandler, newcomm) - ccall((:PMPI_Comm_create_from_group, libHYPRE), Cint, (MPI_Group, Ptr{Cchar}, MPI_Info, MPI_Errhandler, Ptr{MPI_Comm}), group, stringtag, info, errhandler, newcomm) +function HYPRE_MGRSetNumInterpSweeps(solver, nsweeps) + ccall((:HYPRE_MGRSetNumInterpSweeps, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, nsweeps) end -function PMPI_Finalize() - ccall((:PMPI_Finalize, libHYPRE), Cint, ()) +function HYPRE_MGRSetFSolver(solver, fine_grid_solver_solve, fine_grid_solver_setup, fsolver) + ccall((:HYPRE_MGRSetFSolver, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_Solver), solver, fine_grid_solver_solve, fine_grid_solver_setup, fsolver) end -function PMPI_Finalized(flag) - ccall((:PMPI_Finalized, libHYPRE), Cint, (Ptr{Cint},), flag) +function HYPRE_MGRBuildAff(A, CF_marker, debug_flag, A_ff) + ccall((:HYPRE_MGRBuildAff, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix, Ptr{HYPRE_Int}, HYPRE_Int, Ptr{HYPRE_ParCSRMatrix}), A, CF_marker, debug_flag, A_ff) end -function PMPI_Group_from_session_pset(session, pset_name, newgroup) - ccall((:PMPI_Group_from_session_pset, libHYPRE), Cint, (MPI_Session, Ptr{Cchar}, Ptr{MPI_Group}), session, pset_name, newgroup) +function HYPRE_MGRSetCoarseSolver(solver, coarse_grid_solver_solve, coarse_grid_solver_setup, coarse_grid_solver) + ccall((:HYPRE_MGRSetCoarseSolver, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_Solver), solver, coarse_grid_solver_solve, coarse_grid_solver_setup, coarse_grid_solver) end -function PMPI_Init(argc, argv) - ccall((:PMPI_Init, libHYPRE), Cint, (Ptr{Cint}, Ptr{Ptr{Ptr{Cchar}}}), argc, argv) +function HYPRE_MGRSetPrintLevel(solver, print_level) + ccall((:HYPRE_MGRSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) end -function PMPI_Init_thread(argc, argv, required, provided) - ccall((:PMPI_Init_thread, libHYPRE), Cint, (Ptr{Cint}, Ptr{Ptr{Ptr{Cchar}}}, Cint, Ptr{Cint}), argc, argv, required, provided) +function HYPRE_MGRSetFrelaxPrintLevel(solver, print_level) + ccall((:HYPRE_MGRSetFrelaxPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) end -function PMPI_Initialized(flag) - ccall((:PMPI_Initialized, libHYPRE), Cint, (Ptr{Cint},), flag) +function HYPRE_MGRSetCoarseGridPrintLevel(solver, print_level) + ccall((:HYPRE_MGRSetCoarseGridPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) end -function PMPI_Is_thread_main(flag) - ccall((:PMPI_Is_thread_main, libHYPRE), Cint, (Ptr{Cint},), flag) +function HYPRE_MGRSetTruncateCoarseGridThreshold(solver, threshold) + ccall((:HYPRE_MGRSetTruncateCoarseGridThreshold, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, threshold) end -function PMPI_Query_thread(provided) - ccall((:PMPI_Query_thread, libHYPRE), Cint, (Ptr{Cint},), provided) +function HYPRE_MGRSetLogging(solver, logging) + ccall((:HYPRE_MGRSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) end -function PMPI_Session_finalize(session) - ccall((:PMPI_Session_finalize, libHYPRE), Cint, (Ptr{MPI_Session},), session) +function HYPRE_MGRSetMaxIter(solver, max_iter) + ccall((:HYPRE_MGRSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) end -function PMPI_Session_get_info(session, info_used) - ccall((:PMPI_Session_get_info, libHYPRE), Cint, (MPI_Session, Ptr{MPI_Info}), session, info_used) +function HYPRE_MGRSetTol(solver, tol) + ccall((:HYPRE_MGRSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function PMPI_Session_get_nth_pset(session, info, n, pset_len, pset_name) - ccall((:PMPI_Session_get_nth_pset, libHYPRE), Cint, (MPI_Session, MPI_Info, Cint, Ptr{Cint}, Ptr{Cchar}), session, info, n, pset_len, pset_name) +function HYPRE_MGRSetMaxGlobalsmoothIters(solver, smooth_iter) + ccall((:HYPRE_MGRSetMaxGlobalsmoothIters, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, smooth_iter) end -function PMPI_Session_get_num_psets(session, info, npset_names) - ccall((:PMPI_Session_get_num_psets, libHYPRE), Cint, (MPI_Session, MPI_Info, Ptr{Cint}), session, info, npset_names) +function HYPRE_MGRSetGlobalsmoothType(solver, smooth_type) + ccall((:HYPRE_MGRSetGlobalsmoothType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, smooth_type) end -function PMPI_Session_get_pset_info(session, pset_name, info) - ccall((:PMPI_Session_get_pset_info, libHYPRE), Cint, (MPI_Session, Ptr{Cchar}, Ptr{MPI_Info}), session, pset_name, info) +function HYPRE_MGRGetNumIterations(solver, num_iterations) + ccall((:HYPRE_MGRGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) end -function PMPI_Session_init(info, errhandler, session) - ccall((:PMPI_Session_init, libHYPRE), Cint, (MPI_Info, MPI_Errhandler, Ptr{MPI_Session}), info, errhandler, session) +function HYPRE_MGRGetCoarseGridConvergenceFactor(solver, conv_factor) + ccall((:HYPRE_MGRGetCoarseGridConvergenceFactor, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, conv_factor) end -function PMPI_Aint_add(base, disp) - ccall((:PMPI_Aint_add, libHYPRE), MPI_Aint, (MPI_Aint, MPI_Aint), base, disp) +function HYPRE_MGRSetPMaxElmts(solver, P_max_elmts) + ccall((:HYPRE_MGRSetPMaxElmts, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, P_max_elmts) end -function PMPI_Aint_diff(addr1, addr2) - ccall((:PMPI_Aint_diff, libHYPRE), MPI_Aint, (MPI_Aint, MPI_Aint), addr1, addr2) +function HYPRE_MGRGetFinalRelativeResidualNorm(solver, res_norm) + ccall((:HYPRE_MGRGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, res_norm) end -function PMPI_Get_library_version(version, resultlen) - ccall((:PMPI_Get_library_version, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cint}), version, resultlen) +function HYPRE_ILUCreate(solver) + ccall((:HYPRE_ILUCreate, libHYPRE), HYPRE_Int, (Ptr{HYPRE_Solver},), solver) end -function PMPI_Get_processor_name(name, resultlen) - ccall((:PMPI_Get_processor_name, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cint}), name, resultlen) +function HYPRE_ILUDestroy(solver) + ccall((:HYPRE_ILUDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) end -function PMPI_Get_version(version, subversion) - ccall((:PMPI_Get_version, libHYPRE), Cint, (Ptr{Cint}, Ptr{Cint}), version, subversion) +function HYPRE_ILUSetup(solver, A, b, x) + ccall((:HYPRE_ILUSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPIX_GPU_query_support(gpu_type, is_supported) - ccall((:PMPIX_GPU_query_support, libHYPRE), Cint, (Cint, Ptr{Cint}), gpu_type, is_supported) +function HYPRE_ILUSolve(solver, A, b, x) + ccall((:HYPRE_ILUSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) end -function PMPIX_Query_cuda_support() - ccall((:PMPIX_Query_cuda_support, libHYPRE), Cint, ()) +function HYPRE_ILUSetMaxIter(solver, max_iter) + ccall((:HYPRE_ILUSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) end -function PMPIX_Query_ze_support() - ccall((:PMPIX_Query_ze_support, libHYPRE), Cint, ()) +function HYPRE_ILUSetTol(solver, tol) + ccall((:HYPRE_ILUSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) end -function PMPIX_Query_hip_support() - ccall((:PMPIX_Query_hip_support, libHYPRE), Cint, ()) +function HYPRE_ILUSetLevelOfFill(solver, lfil) + ccall((:HYPRE_ILUSetLevelOfFill, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, lfil) end -function PMPI_T_category_changed(update_number) - ccall((:PMPI_T_category_changed, libHYPRE), Cint, (Ptr{Cint},), update_number) +function HYPRE_ILUSetMaxNnzPerRow(solver, nzmax) + ccall((:HYPRE_ILUSetMaxNnzPerRow, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, nzmax) end -function PMPI_T_category_get_categories(cat_index, len, indices) - ccall((:PMPI_T_category_get_categories, libHYPRE), Cint, (Cint, Cint, Ptr{Cint}), cat_index, len, indices) +function HYPRE_ILUSetDropThreshold(solver, threshold) + ccall((:HYPRE_ILUSetDropThreshold, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, threshold) end -function PMPI_T_category_get_cvars(cat_index, len, indices) - ccall((:PMPI_T_category_get_cvars, libHYPRE), Cint, (Cint, Cint, Ptr{Cint}), cat_index, len, indices) +function HYPRE_ILUSetDropThresholdArray(solver, threshold) + ccall((:HYPRE_ILUSetDropThresholdArray, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, threshold) end -function PMPI_T_category_get_events(cat_index, len, indices) - ccall((:PMPI_T_category_get_events, libHYPRE), Cint, (Cint, Cint, Ptr{Cint}), cat_index, len, indices) +function HYPRE_ILUSetNSHDropThreshold(solver, threshold) + ccall((:HYPRE_ILUSetNSHDropThreshold, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, threshold) end -function PMPI_T_category_get_index(name, cat_index) - ccall((:PMPI_T_category_get_index, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cint}), name, cat_index) +function HYPRE_ILUSetNSHDropThresholdArray(solver, threshold) + ccall((:HYPRE_ILUSetNSHDropThresholdArray, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, threshold) end -function PMPI_T_category_get_info(cat_index, name, name_len, desc, desc_len, num_cvars, num_pvars, num_categories) - ccall((:PMPI_T_category_get_info, libHYPRE), Cint, (Cint, Ptr{Cchar}, Ptr{Cint}, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), cat_index, name, name_len, desc, desc_len, num_cvars, num_pvars, num_categories) +function HYPRE_ILUSetSchurMaxIter(solver, ss_max_iter) + ccall((:HYPRE_ILUSetSchurMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, ss_max_iter) end -function PMPI_T_category_get_num(num_cat) - ccall((:PMPI_T_category_get_num, libHYPRE), Cint, (Ptr{Cint},), num_cat) +function HYPRE_ILUSetType(solver, ilu_type) + ccall((:HYPRE_ILUSetType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, ilu_type) end -function PMPI_T_category_get_num_events(cat_index, num_events) - ccall((:PMPI_T_category_get_num_events, libHYPRE), Cint, (Cint, Ptr{Cint}), cat_index, num_events) +function HYPRE_ILUSetLocalReordering(solver, reordering_type) + ccall((:HYPRE_ILUSetLocalReordering, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, reordering_type) end -function PMPI_T_category_get_pvars(cat_index, len, indices) - ccall((:PMPI_T_category_get_pvars, libHYPRE), Cint, (Cint, Cint, Ptr{Cint}), cat_index, len, indices) +function HYPRE_ILUSetPrintLevel(solver, print_level) + ccall((:HYPRE_ILUSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) end -function PMPI_T_cvar_get_index(name, cvar_index) - ccall((:PMPI_T_cvar_get_index, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cint}), name, cvar_index) +function HYPRE_ILUSetLogging(solver, logging) + ccall((:HYPRE_ILUSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) end -function PMPI_T_cvar_get_info(cvar_index, name, name_len, verbosity, datatype, enumtype, desc, desc_len, bind, scope) - ccall((:PMPI_T_cvar_get_info, libHYPRE), Cint, (Cint, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, Ptr{MPI_T_enum}, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), cvar_index, name, name_len, verbosity, datatype, enumtype, desc, desc_len, bind, scope) +function HYPRE_ILUGetNumIterations(solver, num_iterations) + ccall((:HYPRE_ILUGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) end -function PMPI_T_cvar_get_num(num_cvar) - ccall((:PMPI_T_cvar_get_num, libHYPRE), Cint, (Ptr{Cint},), num_cvar) +function HYPRE_ILUGetFinalRelativeResidualNorm(solver, res_norm) + ccall((:HYPRE_ILUGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, res_norm) end -function PMPI_T_cvar_handle_alloc(cvar_index, obj_handle, handle, count) - ccall((:PMPI_T_cvar_handle_alloc, libHYPRE), Cint, (Cint, Ptr{Cvoid}, Ptr{MPI_T_cvar_handle}, Ptr{Cint}), cvar_index, obj_handle, handle, count) +function GenerateLaplacian(comm, nx, ny, nz, P, Q, R, p, q, r, value) + ccall((:GenerateLaplacian, libHYPRE), HYPRE_ParCSRMatrix, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Real}), comm, nx, ny, nz, P, Q, R, p, q, r, value) end -function PMPI_T_cvar_handle_free(handle) - ccall((:PMPI_T_cvar_handle_free, libHYPRE), Cint, (Ptr{MPI_T_cvar_handle},), handle) +function GenerateLaplacian27pt(comm, nx, ny, nz, P, Q, R, p, q, r, value) + ccall((:GenerateLaplacian27pt, libHYPRE), HYPRE_ParCSRMatrix, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Real}), comm, nx, ny, nz, P, Q, R, p, q, r, value) end -function PMPI_T_cvar_read(handle, buf) - ccall((:PMPI_T_cvar_read, libHYPRE), Cint, (MPI_T_cvar_handle, Ptr{Cvoid}), handle, buf) +function GenerateLaplacian9pt(comm, nx, ny, P, Q, p, q, value) + ccall((:GenerateLaplacian9pt, libHYPRE), HYPRE_ParCSRMatrix, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Real}), comm, nx, ny, P, Q, p, q, value) end -function PMPI_T_cvar_write(handle, buf) - ccall((:PMPI_T_cvar_write, libHYPRE), Cint, (MPI_T_cvar_handle, Ptr{Cvoid}), handle, buf) +function GenerateDifConv(comm, nx, ny, nz, P, Q, R, p, q, r, value) + ccall((:GenerateDifConv, libHYPRE), HYPRE_ParCSRMatrix, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Real}), comm, nx, ny, nz, P, Q, R, p, q, r, value) end -function PMPI_T_enum_get_info(enumtype, num, name, name_len) - ccall((:PMPI_T_enum_get_info, libHYPRE), Cint, (MPI_T_enum, Ptr{Cint}, Ptr{Cchar}, Ptr{Cint}), enumtype, num, name, name_len) +function GenerateRotate7pt(comm, nx, ny, P, Q, p, q, alpha, eps) + ccall((:GenerateRotate7pt, libHYPRE), HYPRE_ParCSRMatrix, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Real, HYPRE_Real), comm, nx, ny, P, Q, p, q, alpha, eps) end -function PMPI_T_enum_get_item(enumtype, indx, value, name, name_len) - ccall((:PMPI_T_enum_get_item, libHYPRE), Cint, (MPI_T_enum, Cint, Ptr{Cint}, Ptr{Cchar}, Ptr{Cint}), enumtype, indx, value, name, name_len) +function GenerateVarDifConv(comm, nx, ny, nz, P, Q, R, p, q, r, eps, rhs_ptr) + ccall((:GenerateVarDifConv, libHYPRE), HYPRE_ParCSRMatrix, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Real, Ptr{HYPRE_ParVector}), comm, nx, ny, nz, P, Q, R, p, q, r, eps, rhs_ptr) end -function PMPI_T_event_callback_get_info(event_registration, cb_safety, info_used) - ccall((:PMPI_T_event_callback_get_info, libHYPRE), Cint, (MPI_T_event_registration, MPI_T_cb_safety, Ptr{MPI_Info}), event_registration, cb_safety, info_used) +function GenerateRSVarDifConv(comm, nx, ny, nz, P, Q, R, p, q, r, eps, rhs_ptr, type) + ccall((:GenerateRSVarDifConv, libHYPRE), HYPRE_ParCSRMatrix, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Real, Ptr{HYPRE_ParVector}, HYPRE_Int), comm, nx, ny, nz, P, Q, R, p, q, r, eps, rhs_ptr, type) end -function PMPI_T_event_callback_set_info(event_registration, cb_safety, info) - ccall((:PMPI_T_event_callback_set_info, libHYPRE), Cint, (MPI_T_event_registration, MPI_T_cb_safety, MPI_Info), event_registration, cb_safety, info) +function GenerateCoordinates(comm, nx, ny, nz, P, Q, R, p, q, r, coorddim) + ccall((:GenerateCoordinates, libHYPRE), Ptr{Cfloat}, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int), comm, nx, ny, nz, P, Q, R, p, q, r, coorddim) end -function PMPI_T_event_copy(event_instance, buffer) - ccall((:PMPI_T_event_copy, libHYPRE), Cint, (MPI_T_event_instance, Ptr{Cvoid}), event_instance, buffer) +function HYPRE_BoomerAMGSetPostInterpType(solver, post_interp_type) + ccall((:HYPRE_BoomerAMGSetPostInterpType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, post_interp_type) end -function PMPI_T_event_get_index(name, event_index) - ccall((:PMPI_T_event_get_index, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cint}), name, event_index) +function HYPRE_BoomerAMGSetJacobiTruncThreshold(solver, jacobi_trunc_threshold) + ccall((:HYPRE_BoomerAMGSetJacobiTruncThreshold, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, jacobi_trunc_threshold) end -function PMPI_T_event_get_info(event_index, name, name_len, verbosity, array_of_datatypes, array_of_displacements, num_elements, enumtype, info, desc, desc_len, bind) - ccall((:PMPI_T_event_get_info, libHYPRE), Cint, (Cint, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, Ptr{MPI_Aint}, Ptr{Cint}, Ptr{MPI_T_enum}, Ptr{MPI_Info}, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}), event_index, name, name_len, verbosity, array_of_datatypes, array_of_displacements, num_elements, enumtype, info, desc, desc_len, bind) +function HYPRE_BoomerAMGSetNumCRRelaxSteps(solver, num_CR_relax_steps) + ccall((:HYPRE_BoomerAMGSetNumCRRelaxSteps, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, num_CR_relax_steps) end -function PMPI_T_event_get_num(num_events) - ccall((:PMPI_T_event_get_num, libHYPRE), Cint, (Ptr{Cint},), num_events) +function HYPRE_BoomerAMGSetCRRate(solver, CR_rate) + ccall((:HYPRE_BoomerAMGSetCRRate, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, CR_rate) end -function PMPI_T_event_get_source(event_instance, source_index) - ccall((:PMPI_T_event_get_source, libHYPRE), Cint, (MPI_T_event_instance, Ptr{Cint}), event_instance, source_index) +function HYPRE_BoomerAMGSetCRStrongTh(solver, CR_strong_th) + ccall((:HYPRE_BoomerAMGSetCRStrongTh, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, CR_strong_th) end -function PMPI_T_event_get_timestamp(event_instance, event_timestamp) - ccall((:PMPI_T_event_get_timestamp, libHYPRE), Cint, (MPI_T_event_instance, Ptr{MPI_Count}), event_instance, event_timestamp) +function HYPRE_BoomerAMGSetCRUseCG(solver, CR_use_CG) + ccall((:HYPRE_BoomerAMGSetCRUseCG, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, CR_use_CG) end -function PMPI_T_event_handle_alloc(event_index, obj_handle, info, event_registration) - ccall((:PMPI_T_event_handle_alloc, libHYPRE), Cint, (Cint, Ptr{Cvoid}, MPI_Info, Ptr{MPI_T_event_registration}), event_index, obj_handle, info, event_registration) +function HYPRE_BoomerAMGSetISType(solver, IS_type) + ccall((:HYPRE_BoomerAMGSetISType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, IS_type) end -function PMPI_T_event_handle_free(event_registration, user_data, free_cb_function) - ccall((:PMPI_T_event_handle_free, libHYPRE), Cint, (MPI_T_event_registration, Ptr{Cvoid}, MPI_T_event_free_cb_function), event_registration, user_data, free_cb_function) +function HYPRE_ParCSRSetupInterpreter(i) + ccall((:HYPRE_ParCSRSetupInterpreter, libHYPRE), HYPRE_Int, (Ptr{mv_InterfaceInterpreter},), i) end -function PMPI_T_event_handle_get_info(event_registration, info_used) - ccall((:PMPI_T_event_handle_get_info, libHYPRE), Cint, (MPI_T_event_registration, Ptr{MPI_Info}), event_registration, info_used) +function HYPRE_ParCSRSetupMatvec(mv) + ccall((:HYPRE_ParCSRSetupMatvec, libHYPRE), HYPRE_Int, (Ptr{HYPRE_MatvecFunctions},), mv) end -function PMPI_T_event_handle_set_info(event_registration, info) - ccall((:PMPI_T_event_handle_set_info, libHYPRE), Cint, (MPI_T_event_registration, MPI_Info), event_registration, info) +function HYPRE_ParCSRMultiVectorPrint(x_, fileName) + ccall((:HYPRE_ParCSRMultiVectorPrint, libHYPRE), HYPRE_Int, (Ptr{Cvoid}, Ptr{Cchar}), x_, fileName) end -function PMPI_T_event_read(event_instance, element_index, buffer) - ccall((:PMPI_T_event_read, libHYPRE), Cint, (MPI_T_event_instance, Cint, Ptr{Cvoid}), event_instance, element_index, buffer) +function HYPRE_ParCSRMultiVectorRead(comm, ii_, fileName) + ccall((:HYPRE_ParCSRMultiVectorRead, libHYPRE), Ptr{Cvoid}, (MPI_Comm, Ptr{Cvoid}, Ptr{Cchar}), comm, ii_, fileName) end -function PMPI_T_event_register_callback(event_registration, cb_safety, info, user_data, event_cb_function) - ccall((:PMPI_T_event_register_callback, libHYPRE), Cint, (MPI_T_event_registration, MPI_T_cb_safety, MPI_Info, Ptr{Cvoid}, MPI_T_event_cb_function), event_registration, cb_safety, info, user_data, event_cb_function) -end +const HYPRE_UNITIALIZED = -999 -function PMPI_T_event_set_dropped_handler(event_registration, dropped_cb_function) - ccall((:PMPI_T_event_set_dropped_handler, libHYPRE), Cint, (MPI_T_event_registration, MPI_T_event_dropped_cb_function), event_registration, dropped_cb_function) -end +const HYPRE_PETSC_MAT_PARILUT_SOLVER = 222 -function PMPI_T_finalize() - ccall((:PMPI_T_finalize, libHYPRE), Cint, ()) -end +const HYPRE_PARILUT = 333 -function PMPI_T_init_thread(required, provided) - ccall((:PMPI_T_init_thread, libHYPRE), Cint, (Cint, Ptr{Cint}), required, provided) -end +const HYPRE_STRUCT = 1111 -function PMPI_T_pvar_get_index(name, var_class, pvar_index) - ccall((:PMPI_T_pvar_get_index, libHYPRE), Cint, (Ptr{Cchar}, Cint, Ptr{Cint}), name, var_class, pvar_index) -end +const HYPRE_SSTRUCT = 3333 -function PMPI_T_pvar_get_info(pvar_index, name, name_len, verbosity, var_class, datatype, enumtype, desc, desc_len, bind, readonly, continuous, atomic) - ccall((:PMPI_T_pvar_get_info, libHYPRE), Cint, (Cint, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, Ptr{MPI_T_enum}, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), pvar_index, name, name_len, verbosity, var_class, datatype, enumtype, desc, desc_len, bind, readonly, continuous, atomic) -end +const HYPRE_PARCSR = 5555 -function PMPI_T_pvar_get_num(num_pvar) - ccall((:PMPI_T_pvar_get_num, libHYPRE), Cint, (Ptr{Cint},), num_pvar) -end +const HYPRE_ISIS = 9911 -function PMPI_T_pvar_handle_alloc(session, pvar_index, obj_handle, handle, count) - ccall((:PMPI_T_pvar_handle_alloc, libHYPRE), Cint, (MPI_T_pvar_session, Cint, Ptr{Cvoid}, Ptr{MPI_T_pvar_handle}, Ptr{Cint}), session, pvar_index, obj_handle, handle, count) -end +const HYPRE_PETSC = 9933 -function PMPI_T_pvar_handle_free(session, handle) - ccall((:PMPI_T_pvar_handle_free, libHYPRE), Cint, (MPI_T_pvar_session, Ptr{MPI_T_pvar_handle}), session, handle) -end +const HYPRE_PFMG = 10 -function PMPI_T_pvar_read(session, handle, buf) - ccall((:PMPI_T_pvar_read, libHYPRE), Cint, (MPI_T_pvar_session, MPI_T_pvar_handle, Ptr{Cvoid}), session, handle, buf) -end +const HYPRE_SMG = 11 -function PMPI_T_pvar_readreset(session, handle, buf) - ccall((:PMPI_T_pvar_readreset, libHYPRE), Cint, (MPI_T_pvar_session, MPI_T_pvar_handle, Ptr{Cvoid}), session, handle, buf) -end +const HYPRE_Jacobi = 17 -function PMPI_T_pvar_reset(session, handle) - ccall((:PMPI_T_pvar_reset, libHYPRE), Cint, (MPI_T_pvar_session, MPI_T_pvar_handle), session, handle) -end +const HYPRE_RELEASE_NAME = "HYPRE" -function PMPI_T_pvar_session_create(session) - ccall((:PMPI_T_pvar_session_create, libHYPRE), Cint, (Ptr{MPI_T_pvar_session},), session) -end +const HYPRE_RELEASE_VERSION = "2.23.0" -function PMPI_T_pvar_session_free(session) - ccall((:PMPI_T_pvar_session_free, libHYPRE), Cint, (Ptr{MPI_T_pvar_session},), session) -end +const HYPRE_RELEASE_NUMBER = 22300 -function PMPI_T_pvar_start(session, handle) - ccall((:PMPI_T_pvar_start, libHYPRE), Cint, (MPI_T_pvar_session, MPI_T_pvar_handle), session, handle) -end +const HYPRE_RELEASE_DATE = "2021/10/01" -function PMPI_T_pvar_stop(session, handle) - ccall((:PMPI_T_pvar_stop, libHYPRE), Cint, (MPI_T_pvar_session, MPI_T_pvar_handle), session, handle) -end +const HYPRE_RELEASE_TIME = "00:00:00" -function PMPI_T_pvar_write(session, handle, buf) - ccall((:PMPI_T_pvar_write, libHYPRE), Cint, (MPI_T_pvar_session, MPI_T_pvar_handle, Ptr{Cvoid}), session, handle, buf) -end +const HYPRE_RELEASE_BUGS = "https://github.com/hypre-space/hypre/issues" -function PMPI_T_source_get_info(source_index, name, name_len, desc, desc_len, ordering, ticks_per_second, max_ticks, info) - ccall((:PMPI_T_source_get_info, libHYPRE), Cint, (Cint, Ptr{Cchar}, Ptr{Cint}, Ptr{Cchar}, Ptr{Cint}, Ptr{MPI_T_source_order}, Ptr{MPI_Count}, Ptr{MPI_Count}, Ptr{MPI_Info}), source_index, name, name_len, desc, desc_len, ordering, ticks_per_second, max_ticks, info) -end +const HYPRE_MAXDIM = 3 -function PMPI_T_source_get_num(num_sources) - ccall((:PMPI_T_source_get_num, libHYPRE), Cint, (Ptr{Cint},), num_sources) -end +const HYPRE_USING_HYPRE_BLAS = 1 -function PMPI_T_source_get_timestamp(source_index, timestamp) - ccall((:PMPI_T_source_get_timestamp, libHYPRE), Cint, (Cint, Ptr{MPI_Count}), source_index, timestamp) -end +const HYPRE_USING_HYPRE_LAPACK = 1 -function PMPI_Op_commutative(op, commute) - ccall((:PMPI_Op_commutative, libHYPRE), Cint, (MPI_Op, Ptr{Cint}), op, commute) -end +const HYPRE_HAVE_MPI = 1 -function PMPI_Op_create(user_fn, commute, op) - ccall((:PMPI_Op_create, libHYPRE), Cint, (Ptr{Cvoid}, Cint, Ptr{MPI_Op}), user_fn, commute, op) -end +const HYPRE_FMANGLE = 0 -function PMPI_Op_create_c(user_fn, commute, op) - ccall((:PMPI_Op_create_c, libHYPRE), Cint, (Ptr{Cvoid}, Cint, Ptr{MPI_Op}), user_fn, commute, op) -end +const HYPRE_FMANGLE_BLAS = 0 -function PMPI_Op_free(op) - ccall((:PMPI_Op_free, libHYPRE), Cint, (Ptr{MPI_Op},), op) -end +const HYPRE_FMANGLE_LAPACK = 0 -function PMPI_Parrived(request, partition, flag) - ccall((:PMPI_Parrived, libHYPRE), Cint, (MPI_Request, Cint, Ptr{Cint}), request, partition, flag) -end - -function PMPI_Pready(partition, request) - ccall((:PMPI_Pready, libHYPRE), Cint, (Cint, MPI_Request), partition, request) -end - -function PMPI_Pready_list(length, array_of_partitions, request) - ccall((:PMPI_Pready_list, libHYPRE), Cint, (Cint, Ptr{Cint}, MPI_Request), length, array_of_partitions, request) -end - -function PMPI_Pready_range(partition_low, partition_high, request) - ccall((:PMPI_Pready_range, libHYPRE), Cint, (Cint, Cint, MPI_Request), partition_low, partition_high, request) -end - -function PMPI_Precv_init(buf, partitions, count, datatype, dest, tag, comm, info, request) - ccall((:PMPI_Precv_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), buf, partitions, count, datatype, dest, tag, comm, info, request) -end - -function PMPI_Psend_init(buf, partitions, count, datatype, dest, tag, comm, info, request) - ccall((:PMPI_Psend_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), buf, partitions, count, datatype, dest, tag, comm, info, request) -end - -function PMPI_Bsend(buf, count, datatype, dest, tag, comm) - ccall((:PMPI_Bsend, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm), buf, count, datatype, dest, tag, comm) -end - -function PMPI_Bsend_c(buf, count, datatype, dest, tag, comm) - ccall((:PMPI_Bsend_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm), buf, count, datatype, dest, tag, comm) -end - -function PMPI_Bsend_init(buf, count, datatype, dest, tag, comm, request) - ccall((:PMPI_Bsend_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) -end - -function PMPI_Bsend_init_c(buf, count, datatype, dest, tag, comm, request) - ccall((:PMPI_Bsend_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) -end - -function PMPI_Buffer_attach(buffer, size) - ccall((:PMPI_Buffer_attach, libHYPRE), Cint, (Ptr{Cvoid}, Cint), buffer, size) -end - -function PMPI_Buffer_attach_c(buffer, size) - ccall((:PMPI_Buffer_attach_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count), buffer, size) -end - -function PMPI_Buffer_detach(buffer_addr, size) - ccall((:PMPI_Buffer_detach, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cint}), buffer_addr, size) -end - -function PMPI_Buffer_detach_c(buffer_addr, size) - ccall((:PMPI_Buffer_detach_c, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{MPI_Count}), buffer_addr, size) -end - -function PMPI_Ibsend(buf, count, datatype, dest, tag, comm, request) - ccall((:PMPI_Ibsend, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) -end - -function PMPI_Ibsend_c(buf, count, datatype, dest, tag, comm, request) - ccall((:PMPI_Ibsend_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) -end - -function PMPI_Improbe(source, tag, comm, flag, message, status) - ccall((:PMPI_Improbe, libHYPRE), Cint, (Cint, Cint, MPI_Comm, Ptr{Cint}, Ptr{MPI_Message}, Ptr{MPI_Status}), source, tag, comm, flag, message, status) -end - -function PMPI_Imrecv(buf, count, datatype, message, request) - ccall((:PMPI_Imrecv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Message}, Ptr{MPI_Request}), buf, count, datatype, message, request) -end - -function PMPI_Imrecv_c(buf, count, datatype, message, request) - ccall((:PMPI_Imrecv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Message}, Ptr{MPI_Request}), buf, count, datatype, message, request) -end - -function PMPI_Iprobe(source, tag, comm, flag, status) - ccall((:PMPI_Iprobe, libHYPRE), Cint, (Cint, Cint, MPI_Comm, Ptr{Cint}, Ptr{MPI_Status}), source, tag, comm, flag, status) -end - -function PMPI_Irecv(buf, count, datatype, source, tag, comm, request) - ccall((:PMPI_Irecv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, source, tag, comm, request) -end - -function PMPI_Irecv_c(buf, count, datatype, source, tag, comm, request) - ccall((:PMPI_Irecv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, source, tag, comm, request) -end - -function PMPI_Irsend(buf, count, datatype, dest, tag, comm, request) - ccall((:PMPI_Irsend, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) -end - -function PMPI_Irsend_c(buf, count, datatype, dest, tag, comm, request) - ccall((:PMPI_Irsend_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) -end - -function PMPI_Isend(buf, count, datatype, dest, tag, comm, request) - ccall((:PMPI_Isend, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) -end - -function PMPI_Isend_c(buf, count, datatype, dest, tag, comm, request) - ccall((:PMPI_Isend_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) -end - -function PMPI_Isendrecv(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request) - ccall((:PMPI_Isendrecv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request) -end - -function PMPI_Isendrecv_c(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request) - ccall((:PMPI_Isendrecv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request) -end - -function PMPI_Isendrecv_replace(buf, count, datatype, dest, sendtag, source, recvtag, comm, request) - ccall((:PMPI_Isendrecv_replace, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, sendtag, source, recvtag, comm, request) -end - -function PMPI_Isendrecv_replace_c(buf, count, datatype, dest, sendtag, source, recvtag, comm, request) - ccall((:PMPI_Isendrecv_replace_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, sendtag, source, recvtag, comm, request) -end - -function PMPI_Issend(buf, count, datatype, dest, tag, comm, request) - ccall((:PMPI_Issend, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) -end - -function PMPI_Issend_c(buf, count, datatype, dest, tag, comm, request) - ccall((:PMPI_Issend_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) -end - -function PMPI_Mprobe(source, tag, comm, message, status) - ccall((:PMPI_Mprobe, libHYPRE), Cint, (Cint, Cint, MPI_Comm, Ptr{MPI_Message}, Ptr{MPI_Status}), source, tag, comm, message, status) -end - -function PMPI_Mrecv(buf, count, datatype, message, status) - ccall((:PMPI_Mrecv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Message}, Ptr{MPI_Status}), buf, count, datatype, message, status) -end - -function PMPI_Mrecv_c(buf, count, datatype, message, status) - ccall((:PMPI_Mrecv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Message}, Ptr{MPI_Status}), buf, count, datatype, message, status) -end - -function PMPI_Probe(source, tag, comm, status) - ccall((:PMPI_Probe, libHYPRE), Cint, (Cint, Cint, MPI_Comm, Ptr{MPI_Status}), source, tag, comm, status) -end - -function PMPI_Recv(buf, count, datatype, source, tag, comm, status) - ccall((:PMPI_Recv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Status}), buf, count, datatype, source, tag, comm, status) -end - -function PMPI_Recv_c(buf, count, datatype, source, tag, comm, status) - ccall((:PMPI_Recv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Status}), buf, count, datatype, source, tag, comm, status) -end - -function PMPI_Recv_init(buf, count, datatype, source, tag, comm, request) - ccall((:PMPI_Recv_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, source, tag, comm, request) -end - -function PMPI_Recv_init_c(buf, count, datatype, source, tag, comm, request) - ccall((:PMPI_Recv_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, source, tag, comm, request) -end - -function PMPI_Rsend(buf, count, datatype, dest, tag, comm) - ccall((:PMPI_Rsend, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm), buf, count, datatype, dest, tag, comm) -end - -function PMPI_Rsend_c(buf, count, datatype, dest, tag, comm) - ccall((:PMPI_Rsend_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm), buf, count, datatype, dest, tag, comm) -end - -function PMPI_Rsend_init(buf, count, datatype, dest, tag, comm, request) - ccall((:PMPI_Rsend_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) -end - -function PMPI_Rsend_init_c(buf, count, datatype, dest, tag, comm, request) - ccall((:PMPI_Rsend_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) -end - -function PMPI_Send(buf, count, datatype, dest, tag, comm) - ccall((:PMPI_Send, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm), buf, count, datatype, dest, tag, comm) -end - -function PMPI_Send_c(buf, count, datatype, dest, tag, comm) - ccall((:PMPI_Send_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm), buf, count, datatype, dest, tag, comm) -end - -function PMPI_Send_init(buf, count, datatype, dest, tag, comm, request) - ccall((:PMPI_Send_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) -end - -function PMPI_Send_init_c(buf, count, datatype, dest, tag, comm, request) - ccall((:PMPI_Send_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) -end - -function PMPI_Sendrecv(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status) - ccall((:PMPI_Sendrecv, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Status}), sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status) -end - -function PMPI_Sendrecv_c(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status) - ccall((:PMPI_Sendrecv_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Status}), sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status) -end - -function PMPI_Sendrecv_replace(buf, count, datatype, dest, sendtag, source, recvtag, comm, status) - ccall((:PMPI_Sendrecv_replace, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, Cint, Cint, MPI_Comm, Ptr{MPI_Status}), buf, count, datatype, dest, sendtag, source, recvtag, comm, status) -end - -function PMPI_Sendrecv_replace_c(buf, count, datatype, dest, sendtag, source, recvtag, comm, status) - ccall((:PMPI_Sendrecv_replace_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, Cint, Cint, MPI_Comm, Ptr{MPI_Status}), buf, count, datatype, dest, sendtag, source, recvtag, comm, status) -end - -function PMPI_Ssend(buf, count, datatype, dest, tag, comm) - ccall((:PMPI_Ssend, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm), buf, count, datatype, dest, tag, comm) -end - -function PMPI_Ssend_c(buf, count, datatype, dest, tag, comm) - ccall((:PMPI_Ssend_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm), buf, count, datatype, dest, tag, comm) -end - -function PMPI_Ssend_init(buf, count, datatype, dest, tag, comm, request) - ccall((:PMPI_Ssend_init, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) -end - -function PMPI_Ssend_init_c(buf, count, datatype, dest, tag, comm, request) - ccall((:PMPI_Ssend_init_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), buf, count, datatype, dest, tag, comm, request) -end - -function PMPI_Cancel(request) - ccall((:PMPI_Cancel, libHYPRE), Cint, (Ptr{MPI_Request},), request) -end - -function PMPI_Grequest_complete(request) - ccall((:PMPI_Grequest_complete, libHYPRE), Cint, (MPI_Request,), request) -end - -function PMPI_Grequest_start(query_fn, free_fn, cancel_fn, extra_state, request) - ccall((:PMPI_Grequest_start, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{MPI_Request}), query_fn, free_fn, cancel_fn, extra_state, request) -end - -function PMPI_Request_free(request) - ccall((:PMPI_Request_free, libHYPRE), Cint, (Ptr{MPI_Request},), request) -end - -function PMPI_Request_get_status(request, flag, status) - ccall((:PMPI_Request_get_status, libHYPRE), Cint, (MPI_Request, Ptr{Cint}, Ptr{MPI_Status}), request, flag, status) -end - -function PMPI_Start(request) - ccall((:PMPI_Start, libHYPRE), Cint, (Ptr{MPI_Request},), request) -end - -function PMPI_Startall(count, array_of_requests) - ccall((:PMPI_Startall, libHYPRE), Cint, (Cint, Ptr{MPI_Request}), count, array_of_requests) -end - -function PMPI_Status_set_cancelled(status, flag) - ccall((:PMPI_Status_set_cancelled, libHYPRE), Cint, (Ptr{MPI_Status}, Cint), status, flag) -end - -function PMPI_Test_cancelled(status, flag) - ccall((:PMPI_Test_cancelled, libHYPRE), Cint, (Ptr{MPI_Status}, Ptr{Cint}), status, flag) -end - -function PMPI_Testall(count, array_of_requests, flag, array_of_statuses) - ccall((:PMPI_Testall, libHYPRE), Cint, (Cint, Ptr{MPI_Request}, Ptr{Cint}, Ptr{MPI_Status}), count, array_of_requests, flag, array_of_statuses) -end - -function PMPI_Testany(count, array_of_requests, indx, flag, status) - ccall((:PMPI_Testany, libHYPRE), Cint, (Cint, Ptr{MPI_Request}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Status}), count, array_of_requests, indx, flag, status) -end - -function PMPI_Testsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses) - ccall((:PMPI_Testsome, libHYPRE), Cint, (Cint, Ptr{MPI_Request}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Status}), incount, array_of_requests, outcount, array_of_indices, array_of_statuses) -end - -function PMPI_Waitall(count, array_of_requests, array_of_statuses) - ccall((:PMPI_Waitall, libHYPRE), Cint, (Cint, Ptr{MPI_Request}, Ptr{MPI_Status}), count, array_of_requests, array_of_statuses) -end - -function PMPI_Waitany(count, array_of_requests, indx, status) - ccall((:PMPI_Waitany, libHYPRE), Cint, (Cint, Ptr{MPI_Request}, Ptr{Cint}, Ptr{MPI_Status}), count, array_of_requests, indx, status) -end - -function PMPI_Waitsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses) - ccall((:PMPI_Waitsome, libHYPRE), Cint, (Cint, Ptr{MPI_Request}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Status}), incount, array_of_requests, outcount, array_of_indices, array_of_statuses) -end - -function PMPIX_Grequest_start(query_fn, free_fn, cancel_fn, poll_fn, wait_fn, extra_state, request) - ccall((:PMPIX_Grequest_start, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{MPI_Request}), query_fn, free_fn, cancel_fn, poll_fn, wait_fn, extra_state, request) -end - -function PMPIX_Grequest_class_create(query_fn, free_fn, cancel_fn, poll_fn, wait_fn, greq_class) - ccall((:PMPIX_Grequest_class_create, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{MPIX_Grequest_class}), query_fn, free_fn, cancel_fn, poll_fn, wait_fn, greq_class) -end - -function PMPIX_Grequest_class_allocate(greq_class, extra_state, request) - ccall((:PMPIX_Grequest_class_allocate, libHYPRE), Cint, (MPIX_Grequest_class, Ptr{Cvoid}, Ptr{MPI_Request}), greq_class, extra_state, request) -end - -function PMPI_Accumulate(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win) - ccall((:PMPI_Accumulate, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Op, MPI_Win), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win) -end - -function PMPI_Accumulate_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win) - ccall((:PMPI_Accumulate_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Op, MPI_Win), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win) -end - -function PMPI_Alloc_mem(size, info, baseptr) - ccall((:PMPI_Alloc_mem, libHYPRE), Cint, (MPI_Aint, MPI_Info, Ptr{Cvoid}), size, info, baseptr) -end - -function PMPI_Compare_and_swap(origin_addr, compare_addr, result_addr, datatype, target_rank, target_disp, win) - ccall((:PMPI_Compare_and_swap, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, MPI_Datatype, Cint, MPI_Aint, MPI_Win), origin_addr, compare_addr, result_addr, datatype, target_rank, target_disp, win) -end - -function PMPI_Fetch_and_op(origin_addr, result_addr, datatype, target_rank, target_disp, op, win) - ccall((:PMPI_Fetch_and_op, libHYPRE), Cint, (Ptr{Cvoid}, Ptr{Cvoid}, MPI_Datatype, Cint, MPI_Aint, MPI_Op, MPI_Win), origin_addr, result_addr, datatype, target_rank, target_disp, op, win) -end - -function PMPI_Free_mem(base) - ccall((:PMPI_Free_mem, libHYPRE), Cint, (Ptr{Cvoid},), base) -end - -function PMPI_Get(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) - ccall((:PMPI_Get, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Win), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) -end - -function PMPI_Get_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) - ccall((:PMPI_Get_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Win), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) -end - -function PMPI_Get_accumulate(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win) - ccall((:PMPI_Get_accumulate, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Op, MPI_Win), origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win) -end - -function PMPI_Get_accumulate_c(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win) - ccall((:PMPI_Get_accumulate_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Op, MPI_Win), origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win) -end - -function PMPI_Put(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) - ccall((:PMPI_Put, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Win), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) -end - -function PMPI_Put_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) - ccall((:PMPI_Put_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Win), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) -end - -function PMPI_Raccumulate(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) - ccall((:PMPI_Raccumulate, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Op, MPI_Win, Ptr{MPI_Request}), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) -end - -function PMPI_Raccumulate_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) - ccall((:PMPI_Raccumulate_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Op, MPI_Win, Ptr{MPI_Request}), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) -end - -function PMPI_Rget(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) - ccall((:PMPI_Rget, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Win, Ptr{MPI_Request}), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) -end - -function PMPI_Rget_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) - ccall((:PMPI_Rget_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Win, Ptr{MPI_Request}), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) -end - -function PMPI_Rget_accumulate(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) - ccall((:PMPI_Rget_accumulate, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Op, MPI_Win, Ptr{MPI_Request}), origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) -end - -function PMPI_Rget_accumulate_c(origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) - ccall((:PMPI_Rget_accumulate_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Op, MPI_Win, Ptr{MPI_Request}), origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) -end - -function PMPI_Rput(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) - ccall((:PMPI_Rput, libHYPRE), Cint, (Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Win, Ptr{MPI_Request}), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) -end - -function PMPI_Rput_c(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) - ccall((:PMPI_Rput_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Win, Ptr{MPI_Request}), origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) -end - -function PMPI_Win_allocate(size, disp_unit, info, comm, baseptr, win) - ccall((:PMPI_Win_allocate, libHYPRE), Cint, (MPI_Aint, Cint, MPI_Info, MPI_Comm, Ptr{Cvoid}, Ptr{MPI_Win}), size, disp_unit, info, comm, baseptr, win) -end - -function PMPI_Win_allocate_c(size, disp_unit, info, comm, baseptr, win) - ccall((:PMPI_Win_allocate_c, libHYPRE), Cint, (MPI_Aint, MPI_Aint, MPI_Info, MPI_Comm, Ptr{Cvoid}, Ptr{MPI_Win}), size, disp_unit, info, comm, baseptr, win) -end - -function PMPI_Win_allocate_shared(size, disp_unit, info, comm, baseptr, win) - ccall((:PMPI_Win_allocate_shared, libHYPRE), Cint, (MPI_Aint, Cint, MPI_Info, MPI_Comm, Ptr{Cvoid}, Ptr{MPI_Win}), size, disp_unit, info, comm, baseptr, win) -end - -function PMPI_Win_allocate_shared_c(size, disp_unit, info, comm, baseptr, win) - ccall((:PMPI_Win_allocate_shared_c, libHYPRE), Cint, (MPI_Aint, MPI_Aint, MPI_Info, MPI_Comm, Ptr{Cvoid}, Ptr{MPI_Win}), size, disp_unit, info, comm, baseptr, win) -end - -function PMPI_Win_attach(win, base, size) - ccall((:PMPI_Win_attach, libHYPRE), Cint, (MPI_Win, Ptr{Cvoid}, MPI_Aint), win, base, size) -end - -function PMPI_Win_complete(win) - ccall((:PMPI_Win_complete, libHYPRE), Cint, (MPI_Win,), win) -end - -function PMPI_Win_create(base, size, disp_unit, info, comm, win) - ccall((:PMPI_Win_create, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Aint, Cint, MPI_Info, MPI_Comm, Ptr{MPI_Win}), base, size, disp_unit, info, comm, win) -end - -function PMPI_Win_create_c(base, size, disp_unit, info, comm, win) - ccall((:PMPI_Win_create_c, libHYPRE), Cint, (Ptr{Cvoid}, MPI_Aint, MPI_Aint, MPI_Info, MPI_Comm, Ptr{MPI_Win}), base, size, disp_unit, info, comm, win) -end - -function PMPI_Win_create_dynamic(info, comm, win) - ccall((:PMPI_Win_create_dynamic, libHYPRE), Cint, (MPI_Info, MPI_Comm, Ptr{MPI_Win}), info, comm, win) -end - -function PMPI_Win_detach(win, base) - ccall((:PMPI_Win_detach, libHYPRE), Cint, (MPI_Win, Ptr{Cvoid}), win, base) -end - -function PMPI_Win_fence(assert, win) - ccall((:PMPI_Win_fence, libHYPRE), Cint, (Cint, MPI_Win), assert, win) -end - -function PMPI_Win_flush(rank, win) - ccall((:PMPI_Win_flush, libHYPRE), Cint, (Cint, MPI_Win), rank, win) -end - -function PMPI_Win_flush_all(win) - ccall((:PMPI_Win_flush_all, libHYPRE), Cint, (MPI_Win,), win) -end - -function PMPI_Win_flush_local(rank, win) - ccall((:PMPI_Win_flush_local, libHYPRE), Cint, (Cint, MPI_Win), rank, win) -end - -function PMPI_Win_flush_local_all(win) - ccall((:PMPI_Win_flush_local_all, libHYPRE), Cint, (MPI_Win,), win) -end - -function PMPI_Win_free(win) - ccall((:PMPI_Win_free, libHYPRE), Cint, (Ptr{MPI_Win},), win) -end - -function PMPI_Win_get_group(win, group) - ccall((:PMPI_Win_get_group, libHYPRE), Cint, (MPI_Win, Ptr{MPI_Group}), win, group) -end - -function PMPI_Win_get_info(win, info_used) - ccall((:PMPI_Win_get_info, libHYPRE), Cint, (MPI_Win, Ptr{MPI_Info}), win, info_used) -end - -function PMPI_Win_get_name(win, win_name, resultlen) - ccall((:PMPI_Win_get_name, libHYPRE), Cint, (MPI_Win, Ptr{Cchar}, Ptr{Cint}), win, win_name, resultlen) -end - -function PMPI_Win_lock(lock_type, rank, assert, win) - ccall((:PMPI_Win_lock, libHYPRE), Cint, (Cint, Cint, Cint, MPI_Win), lock_type, rank, assert, win) -end - -function PMPI_Win_lock_all(assert, win) - ccall((:PMPI_Win_lock_all, libHYPRE), Cint, (Cint, MPI_Win), assert, win) -end - -function PMPI_Win_post(group, assert, win) - ccall((:PMPI_Win_post, libHYPRE), Cint, (MPI_Group, Cint, MPI_Win), group, assert, win) -end - -function PMPI_Win_set_info(win, info) - ccall((:PMPI_Win_set_info, libHYPRE), Cint, (MPI_Win, MPI_Info), win, info) -end - -function PMPI_Win_set_name(win, win_name) - ccall((:PMPI_Win_set_name, libHYPRE), Cint, (MPI_Win, Ptr{Cchar}), win, win_name) -end - -function PMPI_Win_shared_query(win, rank, size, disp_unit, baseptr) - ccall((:PMPI_Win_shared_query, libHYPRE), Cint, (MPI_Win, Cint, Ptr{MPI_Aint}, Ptr{Cint}, Ptr{Cvoid}), win, rank, size, disp_unit, baseptr) -end - -function PMPI_Win_shared_query_c(win, rank, size, disp_unit, baseptr) - ccall((:PMPI_Win_shared_query_c, libHYPRE), Cint, (MPI_Win, Cint, Ptr{MPI_Aint}, Ptr{MPI_Aint}, Ptr{Cvoid}), win, rank, size, disp_unit, baseptr) -end - -function PMPI_Win_start(group, assert, win) - ccall((:PMPI_Win_start, libHYPRE), Cint, (MPI_Group, Cint, MPI_Win), group, assert, win) -end - -function PMPI_Win_sync(win) - ccall((:PMPI_Win_sync, libHYPRE), Cint, (MPI_Win,), win) -end - -function PMPI_Win_test(win, flag) - ccall((:PMPI_Win_test, libHYPRE), Cint, (MPI_Win, Ptr{Cint}), win, flag) -end - -function PMPI_Win_unlock(rank, win) - ccall((:PMPI_Win_unlock, libHYPRE), Cint, (Cint, MPI_Win), rank, win) -end - -function PMPI_Win_unlock_all(win) - ccall((:PMPI_Win_unlock_all, libHYPRE), Cint, (MPI_Win,), win) -end - -function PMPI_Win_wait(win) - ccall((:PMPI_Win_wait, libHYPRE), Cint, (MPI_Win,), win) -end - -function PMPI_Close_port(port_name) - ccall((:PMPI_Close_port, libHYPRE), Cint, (Ptr{Cchar},), port_name) -end - -function PMPI_Comm_accept(port_name, info, root, comm, newcomm) - ccall((:PMPI_Comm_accept, libHYPRE), Cint, (Ptr{Cchar}, MPI_Info, Cint, MPI_Comm, Ptr{MPI_Comm}), port_name, info, root, comm, newcomm) -end - -function PMPI_Comm_connect(port_name, info, root, comm, newcomm) - ccall((:PMPI_Comm_connect, libHYPRE), Cint, (Ptr{Cchar}, MPI_Info, Cint, MPI_Comm, Ptr{MPI_Comm}), port_name, info, root, comm, newcomm) -end - -function PMPI_Comm_disconnect(comm) - ccall((:PMPI_Comm_disconnect, libHYPRE), Cint, (Ptr{MPI_Comm},), comm) -end - -function PMPI_Comm_get_parent(parent) - ccall((:PMPI_Comm_get_parent, libHYPRE), Cint, (Ptr{MPI_Comm},), parent) -end - -function PMPI_Comm_join(fd, intercomm) - ccall((:PMPI_Comm_join, libHYPRE), Cint, (Cint, Ptr{MPI_Comm}), fd, intercomm) -end - -function PMPI_Comm_spawn(command, argv, maxprocs, info, root, comm, intercomm, array_of_errcodes) - ccall((:PMPI_Comm_spawn, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Ptr{Cchar}}, Cint, MPI_Info, Cint, MPI_Comm, Ptr{MPI_Comm}, Ptr{Cint}), command, argv, maxprocs, info, root, comm, intercomm, array_of_errcodes) -end - -function PMPI_Comm_spawn_multiple(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, root, comm, intercomm, array_of_errcodes) - ccall((:PMPI_Comm_spawn_multiple, libHYPRE), Cint, (Cint, Ptr{Ptr{Cchar}}, Ptr{Ptr{Ptr{Cchar}}}, Ptr{Cint}, Ptr{MPI_Info}, Cint, MPI_Comm, Ptr{MPI_Comm}, Ptr{Cint}), count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, root, comm, intercomm, array_of_errcodes) -end - -function PMPI_Lookup_name(service_name, info, port_name) - ccall((:PMPI_Lookup_name, libHYPRE), Cint, (Ptr{Cchar}, MPI_Info, Ptr{Cchar}), service_name, info, port_name) -end - -function PMPI_Open_port(info, port_name) - ccall((:PMPI_Open_port, libHYPRE), Cint, (MPI_Info, Ptr{Cchar}), info, port_name) -end - -function PMPI_Publish_name(service_name, info, port_name) - ccall((:PMPI_Publish_name, libHYPRE), Cint, (Ptr{Cchar}, MPI_Info, Ptr{Cchar}), service_name, info, port_name) -end - -function PMPI_Unpublish_name(service_name, info, port_name) - ccall((:PMPI_Unpublish_name, libHYPRE), Cint, (Ptr{Cchar}, MPI_Info, Ptr{Cchar}), service_name, info, port_name) -end - -function PMPI_Wtick() - ccall((:PMPI_Wtick, libHYPRE), Cdouble, ()) -end - -function PMPI_Wtime() - ccall((:PMPI_Wtime, libHYPRE), Cdouble, ()) -end - -function PMPI_Cart_coords(comm, rank, maxdims, coords) - ccall((:PMPI_Cart_coords, libHYPRE), Cint, (MPI_Comm, Cint, Cint, Ptr{Cint}), comm, rank, maxdims, coords) -end - -function PMPI_Cart_create(comm_old, ndims, dims, periods, reorder, comm_cart) - ccall((:PMPI_Cart_create, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Cint, Ptr{MPI_Comm}), comm_old, ndims, dims, periods, reorder, comm_cart) -end - -function PMPI_Cart_get(comm, maxdims, dims, periods, coords) - ccall((:PMPI_Cart_get, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), comm, maxdims, dims, periods, coords) -end - -function PMPI_Cart_map(comm, ndims, dims, periods, newrank) - ccall((:PMPI_Cart_map, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), comm, ndims, dims, periods, newrank) -end - -function PMPI_Cart_rank(comm, coords, rank) - ccall((:PMPI_Cart_rank, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}, Ptr{Cint}), comm, coords, rank) -end - -function PMPI_Cart_shift(comm, direction, disp, rank_source, rank_dest) - ccall((:PMPI_Cart_shift, libHYPRE), Cint, (MPI_Comm, Cint, Cint, Ptr{Cint}, Ptr{Cint}), comm, direction, disp, rank_source, rank_dest) -end - -function PMPI_Cart_sub(comm, remain_dims, newcomm) - ccall((:PMPI_Cart_sub, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}, Ptr{MPI_Comm}), comm, remain_dims, newcomm) -end - -function PMPI_Cartdim_get(comm, ndims) - ccall((:PMPI_Cartdim_get, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}), comm, ndims) -end - -function PMPI_Dims_create(nnodes, ndims, dims) - ccall((:PMPI_Dims_create, libHYPRE), Cint, (Cint, Cint, Ptr{Cint}), nnodes, ndims, dims) -end - -function PMPI_Dist_graph_create(comm_old, n, sources, degrees, destinations, weights, info, reorder, comm_dist_graph) - ccall((:PMPI_Dist_graph_create, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, MPI_Info, Cint, Ptr{MPI_Comm}), comm_old, n, sources, degrees, destinations, weights, info, reorder, comm_dist_graph) -end - -function PMPI_Dist_graph_create_adjacent(comm_old, indegree, sources, sourceweights, outdegree, destinations, destweights, info, reorder, comm_dist_graph) - ccall((:PMPI_Dist_graph_create_adjacent, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Cint, Ptr{Cint}, Ptr{Cint}, MPI_Info, Cint, Ptr{MPI_Comm}), comm_old, indegree, sources, sourceweights, outdegree, destinations, destweights, info, reorder, comm_dist_graph) -end - -function PMPI_Dist_graph_neighbors(comm, maxindegree, sources, sourceweights, maxoutdegree, destinations, destweights) - ccall((:PMPI_Dist_graph_neighbors, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Cint, Ptr{Cint}, Ptr{Cint}), comm, maxindegree, sources, sourceweights, maxoutdegree, destinations, destweights) -end - -function PMPI_Dist_graph_neighbors_count(comm, indegree, outdegree, weighted) - ccall((:PMPI_Dist_graph_neighbors_count, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), comm, indegree, outdegree, weighted) -end - -function PMPI_Graph_create(comm_old, nnodes, indx, edges, reorder, comm_graph) - ccall((:PMPI_Graph_create, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Cint, Ptr{MPI_Comm}), comm_old, nnodes, indx, edges, reorder, comm_graph) -end - -function PMPI_Graph_get(comm, maxindex, maxedges, indx, edges) - ccall((:PMPI_Graph_get, libHYPRE), Cint, (MPI_Comm, Cint, Cint, Ptr{Cint}, Ptr{Cint}), comm, maxindex, maxedges, indx, edges) -end - -function PMPI_Graph_map(comm, nnodes, indx, edges, newrank) - ccall((:PMPI_Graph_map, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), comm, nnodes, indx, edges, newrank) -end - -function PMPI_Graph_neighbors(comm, rank, maxneighbors, neighbors) - ccall((:PMPI_Graph_neighbors, libHYPRE), Cint, (MPI_Comm, Cint, Cint, Ptr{Cint}), comm, rank, maxneighbors, neighbors) -end - -function PMPI_Graph_neighbors_count(comm, rank, nneighbors) - ccall((:PMPI_Graph_neighbors_count, libHYPRE), Cint, (MPI_Comm, Cint, Ptr{Cint}), comm, rank, nneighbors) -end - -function PMPI_Graphdims_get(comm, nnodes, nedges) - ccall((:PMPI_Graphdims_get, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}, Ptr{Cint}), comm, nnodes, nedges) -end - -function PMPI_Topo_test(comm, status) - ccall((:PMPI_Topo_test, libHYPRE), Cint, (MPI_Comm, Ptr{Cint}), comm, status) -end - -@cenum QMPI_Functions_enum::UInt32 begin - MPI_ATTR_DELETE_T = 0 - MPI_ATTR_GET_T = 1 - MPI_ATTR_PUT_T = 2 - MPI_COMM_CREATE_KEYVAL_T = 3 - MPI_COMM_DELETE_ATTR_T = 4 - MPI_COMM_FREE_KEYVAL_T = 5 - MPI_COMM_GET_ATTR_T = 6 - MPI_COMM_SET_ATTR_T = 7 - MPI_KEYVAL_CREATE_T = 8 - MPI_KEYVAL_FREE_T = 9 - MPI_TYPE_CREATE_KEYVAL_T = 10 - MPI_TYPE_DELETE_ATTR_T = 11 - MPI_TYPE_FREE_KEYVAL_T = 12 - MPI_TYPE_GET_ATTR_T = 13 - MPI_TYPE_SET_ATTR_T = 14 - MPI_WIN_CREATE_KEYVAL_T = 15 - MPI_WIN_DELETE_ATTR_T = 16 - MPI_WIN_FREE_KEYVAL_T = 17 - MPI_WIN_GET_ATTR_T = 18 - MPI_WIN_SET_ATTR_T = 19 - MPI_ALLGATHER_T = 20 - MPI_ALLGATHER_C_T = 21 - MPI_ALLGATHER_INIT_T = 22 - MPI_ALLGATHER_INIT_C_T = 23 - MPI_ALLGATHERV_T = 24 - MPI_ALLGATHERV_C_T = 25 - MPI_ALLGATHERV_INIT_T = 26 - MPI_ALLGATHERV_INIT_C_T = 27 - MPI_ALLREDUCE_T = 28 - MPI_ALLREDUCE_C_T = 29 - MPI_ALLREDUCE_INIT_T = 30 - MPI_ALLREDUCE_INIT_C_T = 31 - MPI_ALLTOALL_T = 32 - MPI_ALLTOALL_C_T = 33 - MPI_ALLTOALL_INIT_T = 34 - MPI_ALLTOALL_INIT_C_T = 35 - MPI_ALLTOALLV_T = 36 - MPI_ALLTOALLV_C_T = 37 - MPI_ALLTOALLV_INIT_T = 38 - MPI_ALLTOALLV_INIT_C_T = 39 - MPI_ALLTOALLW_T = 40 - MPI_ALLTOALLW_C_T = 41 - MPI_ALLTOALLW_INIT_T = 42 - MPI_ALLTOALLW_INIT_C_T = 43 - MPI_BARRIER_T = 44 - MPI_BARRIER_INIT_T = 45 - MPI_BCAST_T = 46 - MPI_BCAST_C_T = 47 - MPI_BCAST_INIT_T = 48 - MPI_BCAST_INIT_C_T = 49 - MPI_EXSCAN_T = 50 - MPI_EXSCAN_C_T = 51 - MPI_EXSCAN_INIT_T = 52 - MPI_EXSCAN_INIT_C_T = 53 - MPI_GATHER_T = 54 - MPI_GATHER_C_T = 55 - MPI_GATHER_INIT_T = 56 - MPI_GATHER_INIT_C_T = 57 - MPI_GATHERV_T = 58 - MPI_GATHERV_C_T = 59 - MPI_GATHERV_INIT_T = 60 - MPI_GATHERV_INIT_C_T = 61 - MPI_IALLGATHER_T = 62 - MPI_IALLGATHER_C_T = 63 - MPI_IALLGATHERV_T = 64 - MPI_IALLGATHERV_C_T = 65 - MPI_IALLREDUCE_T = 66 - MPI_IALLREDUCE_C_T = 67 - MPI_IALLTOALL_T = 68 - MPI_IALLTOALL_C_T = 69 - MPI_IALLTOALLV_T = 70 - MPI_IALLTOALLV_C_T = 71 - MPI_IALLTOALLW_T = 72 - MPI_IALLTOALLW_C_T = 73 - MPI_IBARRIER_T = 74 - MPI_IBCAST_T = 75 - MPI_IBCAST_C_T = 76 - MPI_IEXSCAN_T = 77 - MPI_IEXSCAN_C_T = 78 - MPI_IGATHER_T = 79 - MPI_IGATHER_C_T = 80 - MPI_IGATHERV_T = 81 - MPI_IGATHERV_C_T = 82 - MPI_INEIGHBOR_ALLGATHER_T = 83 - MPI_INEIGHBOR_ALLGATHER_C_T = 84 - MPI_INEIGHBOR_ALLGATHERV_T = 85 - MPI_INEIGHBOR_ALLGATHERV_C_T = 86 - MPI_INEIGHBOR_ALLTOALL_T = 87 - MPI_INEIGHBOR_ALLTOALL_C_T = 88 - MPI_INEIGHBOR_ALLTOALLV_T = 89 - MPI_INEIGHBOR_ALLTOALLV_C_T = 90 - MPI_INEIGHBOR_ALLTOALLW_T = 91 - MPI_INEIGHBOR_ALLTOALLW_C_T = 92 - MPI_IREDUCE_T = 93 - MPI_IREDUCE_C_T = 94 - MPI_IREDUCE_SCATTER_T = 95 - MPI_IREDUCE_SCATTER_C_T = 96 - MPI_IREDUCE_SCATTER_BLOCK_T = 97 - MPI_IREDUCE_SCATTER_BLOCK_C_T = 98 - MPI_ISCAN_T = 99 - MPI_ISCAN_C_T = 100 - MPI_ISCATTER_T = 101 - MPI_ISCATTER_C_T = 102 - MPI_ISCATTERV_T = 103 - MPI_ISCATTERV_C_T = 104 - MPI_NEIGHBOR_ALLGATHER_T = 105 - MPI_NEIGHBOR_ALLGATHER_C_T = 106 - MPI_NEIGHBOR_ALLGATHER_INIT_T = 107 - MPI_NEIGHBOR_ALLGATHER_INIT_C_T = 108 - MPI_NEIGHBOR_ALLGATHERV_T = 109 - MPI_NEIGHBOR_ALLGATHERV_C_T = 110 - MPI_NEIGHBOR_ALLGATHERV_INIT_T = 111 - MPI_NEIGHBOR_ALLGATHERV_INIT_C_T = 112 - MPI_NEIGHBOR_ALLTOALL_T = 113 - MPI_NEIGHBOR_ALLTOALL_C_T = 114 - MPI_NEIGHBOR_ALLTOALL_INIT_T = 115 - MPI_NEIGHBOR_ALLTOALL_INIT_C_T = 116 - MPI_NEIGHBOR_ALLTOALLV_T = 117 - MPI_NEIGHBOR_ALLTOALLV_C_T = 118 - MPI_NEIGHBOR_ALLTOALLV_INIT_T = 119 - MPI_NEIGHBOR_ALLTOALLV_INIT_C_T = 120 - MPI_NEIGHBOR_ALLTOALLW_T = 121 - MPI_NEIGHBOR_ALLTOALLW_C_T = 122 - MPI_NEIGHBOR_ALLTOALLW_INIT_T = 123 - MPI_NEIGHBOR_ALLTOALLW_INIT_C_T = 124 - MPI_REDUCE_T = 125 - MPI_REDUCE_C_T = 126 - MPI_REDUCE_INIT_T = 127 - MPI_REDUCE_INIT_C_T = 128 - MPI_REDUCE_LOCAL_T = 129 - MPI_REDUCE_LOCAL_C_T = 130 - MPI_REDUCE_SCATTER_T = 131 - MPI_REDUCE_SCATTER_C_T = 132 - MPI_REDUCE_SCATTER_BLOCK_T = 133 - MPI_REDUCE_SCATTER_BLOCK_C_T = 134 - MPI_REDUCE_SCATTER_BLOCK_INIT_T = 135 - MPI_REDUCE_SCATTER_BLOCK_INIT_C_T = 136 - MPI_REDUCE_SCATTER_INIT_T = 137 - MPI_REDUCE_SCATTER_INIT_C_T = 138 - MPI_SCAN_T = 139 - MPI_SCAN_C_T = 140 - MPI_SCAN_INIT_T = 141 - MPI_SCAN_INIT_C_T = 142 - MPI_SCATTER_T = 143 - MPI_SCATTER_C_T = 144 - MPI_SCATTER_INIT_T = 145 - MPI_SCATTER_INIT_C_T = 146 - MPI_SCATTERV_T = 147 - MPI_SCATTERV_C_T = 148 - MPI_SCATTERV_INIT_T = 149 - MPI_SCATTERV_INIT_C_T = 150 - MPI_COMM_COMPARE_T = 151 - MPI_COMM_CREATE_T = 152 - MPI_COMM_CREATE_GROUP_T = 153 - MPI_COMM_DUP_T = 154 - MPI_COMM_DUP_WITH_INFO_T = 155 - MPI_COMM_FREE_T = 156 - MPI_COMM_GET_INFO_T = 157 - MPI_COMM_GET_NAME_T = 158 - MPI_COMM_GROUP_T = 159 - MPI_COMM_IDUP_T = 160 - MPI_COMM_IDUP_WITH_INFO_T = 161 - MPI_COMM_RANK_T = 162 - MPI_COMM_REMOTE_GROUP_T = 163 - MPI_COMM_REMOTE_SIZE_T = 164 - MPI_COMM_SET_INFO_T = 165 - MPI_COMM_SET_NAME_T = 166 - MPI_COMM_SIZE_T = 167 - MPI_COMM_SPLIT_T = 168 - MPI_COMM_SPLIT_TYPE_T = 169 - MPI_COMM_TEST_INTER_T = 170 - MPI_INTERCOMM_CREATE_T = 171 - MPI_INTERCOMM_CREATE_FROM_GROUPS_T = 172 - MPI_INTERCOMM_MERGE_T = 173 - MPIX_COMM_REVOKE_T = 174 - MPIX_COMM_SHRINK_T = 175 - MPIX_COMM_FAILURE_ACK_T = 176 - MPIX_COMM_FAILURE_GET_ACKED_T = 177 - MPIX_COMM_AGREE_T = 178 - MPI_GET_ADDRESS_T = 179 - MPI_GET_COUNT_T = 180 - MPI_GET_COUNT_C_T = 181 - MPI_GET_ELEMENTS_T = 182 - MPI_GET_ELEMENTS_C_T = 183 - MPI_GET_ELEMENTS_X_T = 184 - MPI_PACK_T = 185 - MPI_PACK_C_T = 186 - MPI_PACK_EXTERNAL_T = 187 - MPI_PACK_EXTERNAL_C_T = 188 - MPI_PACK_EXTERNAL_SIZE_T = 189 - MPI_PACK_EXTERNAL_SIZE_C_T = 190 - MPI_PACK_SIZE_T = 191 - MPI_PACK_SIZE_C_T = 192 - MPI_STATUS_SET_ELEMENTS_T = 193 - MPI_STATUS_SET_ELEMENTS_X_T = 194 - MPI_TYPE_COMMIT_T = 195 - MPI_TYPE_CONTIGUOUS_T = 196 - MPI_TYPE_CONTIGUOUS_C_T = 197 - MPI_TYPE_CREATE_DARRAY_T = 198 - MPI_TYPE_CREATE_DARRAY_C_T = 199 - MPI_TYPE_CREATE_HINDEXED_T = 200 - MPI_TYPE_CREATE_HINDEXED_C_T = 201 - MPI_TYPE_CREATE_HINDEXED_BLOCK_T = 202 - MPI_TYPE_CREATE_HINDEXED_BLOCK_C_T = 203 - MPI_TYPE_CREATE_HVECTOR_T = 204 - MPI_TYPE_CREATE_HVECTOR_C_T = 205 - MPI_TYPE_CREATE_INDEXED_BLOCK_T = 206 - MPI_TYPE_CREATE_INDEXED_BLOCK_C_T = 207 - MPI_TYPE_CREATE_RESIZED_T = 208 - MPI_TYPE_CREATE_RESIZED_C_T = 209 - MPI_TYPE_CREATE_STRUCT_T = 210 - MPI_TYPE_CREATE_STRUCT_C_T = 211 - MPI_TYPE_CREATE_SUBARRAY_T = 212 - MPI_TYPE_CREATE_SUBARRAY_C_T = 213 - MPI_TYPE_DUP_T = 214 - MPI_TYPE_FREE_T = 215 - MPI_TYPE_GET_CONTENTS_T = 216 - MPI_TYPE_GET_CONTENTS_C_T = 217 - MPI_TYPE_GET_ENVELOPE_T = 218 - MPI_TYPE_GET_ENVELOPE_C_T = 219 - MPI_TYPE_GET_EXTENT_T = 220 - MPI_TYPE_GET_EXTENT_C_T = 221 - MPI_TYPE_GET_EXTENT_X_T = 222 - MPI_TYPE_GET_NAME_T = 223 - MPI_TYPE_GET_TRUE_EXTENT_T = 224 - MPI_TYPE_GET_TRUE_EXTENT_C_T = 225 - MPI_TYPE_GET_TRUE_EXTENT_X_T = 226 - MPI_TYPE_INDEXED_T = 227 - MPI_TYPE_INDEXED_C_T = 228 - MPI_TYPE_MATCH_SIZE_T = 229 - MPI_TYPE_SET_NAME_T = 230 - MPI_TYPE_SIZE_T = 231 - MPI_TYPE_SIZE_C_T = 232 - MPI_TYPE_SIZE_X_T = 233 - MPI_TYPE_VECTOR_T = 234 - MPI_TYPE_VECTOR_C_T = 235 - MPI_UNPACK_T = 236 - MPI_UNPACK_C_T = 237 - MPI_UNPACK_EXTERNAL_T = 238 - MPI_UNPACK_EXTERNAL_C_T = 239 - MPI_ADDRESS_T = 240 - MPI_TYPE_EXTENT_T = 241 - MPI_TYPE_LB_T = 242 - MPI_TYPE_UB_T = 243 - MPI_TYPE_HINDEXED_T = 244 - MPI_TYPE_HVECTOR_T = 245 - MPI_TYPE_STRUCT_T = 246 - MPI_ADD_ERROR_CLASS_T = 247 - MPI_ADD_ERROR_CODE_T = 248 - MPI_ADD_ERROR_STRING_T = 249 - MPI_COMM_CALL_ERRHANDLER_T = 250 - MPI_COMM_CREATE_ERRHANDLER_T = 251 - MPI_COMM_GET_ERRHANDLER_T = 252 - MPI_COMM_SET_ERRHANDLER_T = 253 - MPI_ERRHANDLER_FREE_T = 254 - MPI_ERROR_CLASS_T = 255 - MPI_ERROR_STRING_T = 256 - MPI_FILE_CALL_ERRHANDLER_T = 257 - MPI_FILE_CREATE_ERRHANDLER_T = 258 - MPI_FILE_GET_ERRHANDLER_T = 259 - MPI_FILE_SET_ERRHANDLER_T = 260 - MPI_SESSION_CALL_ERRHANDLER_T = 261 - MPI_SESSION_CREATE_ERRHANDLER_T = 262 - MPI_SESSION_GET_ERRHANDLER_T = 263 - MPI_SESSION_SET_ERRHANDLER_T = 264 - MPI_WIN_CALL_ERRHANDLER_T = 265 - MPI_WIN_CREATE_ERRHANDLER_T = 266 - MPI_WIN_GET_ERRHANDLER_T = 267 - MPI_WIN_SET_ERRHANDLER_T = 268 - MPIX_DELETE_ERROR_CLASS_T = 269 - MPIX_DELETE_ERROR_CODE_T = 270 - MPIX_DELETE_ERROR_STRING_T = 271 - MPI_ERRHANDLER_CREATE_T = 272 - MPI_ERRHANDLER_GET_T = 273 - MPI_ERRHANDLER_SET_T = 274 - MPI_GROUP_COMPARE_T = 275 - MPI_GROUP_DIFFERENCE_T = 276 - MPI_GROUP_EXCL_T = 277 - MPI_GROUP_FREE_T = 278 - MPI_GROUP_INCL_T = 279 - MPI_GROUP_INTERSECTION_T = 280 - MPI_GROUP_RANGE_EXCL_T = 281 - MPI_GROUP_RANGE_INCL_T = 282 - MPI_GROUP_RANK_T = 283 - MPI_GROUP_SIZE_T = 284 - MPI_GROUP_TRANSLATE_RANKS_T = 285 - MPI_GROUP_UNION_T = 286 - MPI_INFO_CREATE_T = 287 - MPI_INFO_CREATE_ENV_T = 288 - MPI_INFO_DELETE_T = 289 - MPI_INFO_DUP_T = 290 - MPI_INFO_FREE_T = 291 - MPI_INFO_GET_T = 292 - MPI_INFO_GET_NKEYS_T = 293 - MPI_INFO_GET_NTHKEY_T = 294 - MPI_INFO_GET_STRING_T = 295 - MPI_INFO_GET_VALUELEN_T = 296 - MPI_INFO_SET_T = 297 - MPI_ABORT_T = 298 - MPI_COMM_CREATE_FROM_GROUP_T = 299 - MPI_FINALIZE_T = 300 - MPI_FINALIZED_T = 301 - MPI_GROUP_FROM_SESSION_PSET_T = 302 - MPI_INIT_T = 303 - MPI_INIT_THREAD_T = 304 - MPI_INITIALIZED_T = 305 - MPI_IS_THREAD_MAIN_T = 306 - MPI_QUERY_THREAD_T = 307 - MPI_SESSION_FINALIZE_T = 308 - MPI_SESSION_GET_INFO_T = 309 - MPI_SESSION_GET_NTH_PSET_T = 310 - MPI_SESSION_GET_NUM_PSETS_T = 311 - MPI_SESSION_GET_PSET_INFO_T = 312 - MPI_SESSION_INIT_T = 313 - MPI_AINT_ADD_T = 314 - MPI_AINT_DIFF_T = 315 - MPI_GET_LIBRARY_VERSION_T = 316 - MPI_GET_PROCESSOR_NAME_T = 317 - MPI_GET_VERSION_T = 318 - MPI_PCONTROL_T = 319 - MPIX_GPU_QUERY_SUPPORT_T = 320 - MPIX_QUERY_CUDA_SUPPORT_T = 321 - MPIX_QUERY_ZE_SUPPORT_T = 322 - MPIX_QUERY_HIP_SUPPORT_T = 323 - MPI_T_CATEGORY_CHANGED_T = 324 - MPI_T_CATEGORY_GET_CATEGORIES_T = 325 - MPI_T_CATEGORY_GET_CVARS_T = 326 - MPI_T_CATEGORY_GET_EVENTS_T = 327 - MPI_T_CATEGORY_GET_INDEX_T = 328 - MPI_T_CATEGORY_GET_INFO_T = 329 - MPI_T_CATEGORY_GET_NUM_T = 330 - MPI_T_CATEGORY_GET_NUM_EVENTS_T = 331 - MPI_T_CATEGORY_GET_PVARS_T = 332 - MPI_T_CVAR_GET_INDEX_T = 333 - MPI_T_CVAR_GET_INFO_T = 334 - MPI_T_CVAR_GET_NUM_T = 335 - MPI_T_CVAR_HANDLE_ALLOC_T = 336 - MPI_T_CVAR_HANDLE_FREE_T = 337 - MPI_T_CVAR_READ_T = 338 - MPI_T_CVAR_WRITE_T = 339 - MPI_T_ENUM_GET_INFO_T = 340 - MPI_T_ENUM_GET_ITEM_T = 341 - MPI_T_EVENT_CALLBACK_GET_INFO_T = 342 - MPI_T_EVENT_CALLBACK_SET_INFO_T = 343 - MPI_T_EVENT_COPY_T = 344 - MPI_T_EVENT_GET_INDEX_T = 345 - MPI_T_EVENT_GET_INFO_T = 346 - MPI_T_EVENT_GET_NUM_T = 347 - MPI_T_EVENT_GET_SOURCE_T = 348 - MPI_T_EVENT_GET_TIMESTAMP_T = 349 - MPI_T_EVENT_HANDLE_ALLOC_T = 350 - MPI_T_EVENT_HANDLE_FREE_T = 351 - MPI_T_EVENT_HANDLE_GET_INFO_T = 352 - MPI_T_EVENT_HANDLE_SET_INFO_T = 353 - MPI_T_EVENT_READ_T = 354 - MPI_T_EVENT_REGISTER_CALLBACK_T = 355 - MPI_T_EVENT_SET_DROPPED_HANDLER_T = 356 - MPI_T_FINALIZE_T = 357 - MPI_T_INIT_THREAD_T = 358 - MPI_T_PVAR_GET_INDEX_T = 359 - MPI_T_PVAR_GET_INFO_T = 360 - MPI_T_PVAR_GET_NUM_T = 361 - MPI_T_PVAR_HANDLE_ALLOC_T = 362 - MPI_T_PVAR_HANDLE_FREE_T = 363 - MPI_T_PVAR_READ_T = 364 - MPI_T_PVAR_READRESET_T = 365 - MPI_T_PVAR_RESET_T = 366 - MPI_T_PVAR_SESSION_CREATE_T = 367 - MPI_T_PVAR_SESSION_FREE_T = 368 - MPI_T_PVAR_START_T = 369 - MPI_T_PVAR_STOP_T = 370 - MPI_T_PVAR_WRITE_T = 371 - MPI_T_SOURCE_GET_INFO_T = 372 - MPI_T_SOURCE_GET_NUM_T = 373 - MPI_T_SOURCE_GET_TIMESTAMP_T = 374 - MPI_OP_COMMUTATIVE_T = 375 - MPI_OP_CREATE_T = 376 - MPI_OP_CREATE_C_T = 377 - MPI_OP_FREE_T = 378 - MPI_PARRIVED_T = 379 - MPI_PREADY_T = 380 - MPI_PREADY_LIST_T = 381 - MPI_PREADY_RANGE_T = 382 - MPI_PRECV_INIT_T = 383 - MPI_PSEND_INIT_T = 384 - MPI_BSEND_T = 385 - MPI_BSEND_C_T = 386 - MPI_BSEND_INIT_T = 387 - MPI_BSEND_INIT_C_T = 388 - MPI_BUFFER_ATTACH_T = 389 - MPI_BUFFER_ATTACH_C_T = 390 - MPI_BUFFER_DETACH_T = 391 - MPI_BUFFER_DETACH_C_T = 392 - MPI_IBSEND_T = 393 - MPI_IBSEND_C_T = 394 - MPI_IMPROBE_T = 395 - MPI_IMRECV_T = 396 - MPI_IMRECV_C_T = 397 - MPI_IPROBE_T = 398 - MPI_IRECV_T = 399 - MPI_IRECV_C_T = 400 - MPI_IRSEND_T = 401 - MPI_IRSEND_C_T = 402 - MPI_ISEND_T = 403 - MPI_ISEND_C_T = 404 - MPI_ISENDRECV_T = 405 - MPI_ISENDRECV_C_T = 406 - MPI_ISENDRECV_REPLACE_T = 407 - MPI_ISENDRECV_REPLACE_C_T = 408 - MPI_ISSEND_T = 409 - MPI_ISSEND_C_T = 410 - MPI_MPROBE_T = 411 - MPI_MRECV_T = 412 - MPI_MRECV_C_T = 413 - MPI_PROBE_T = 414 - MPI_RECV_T = 415 - MPI_RECV_C_T = 416 - MPI_RECV_INIT_T = 417 - MPI_RECV_INIT_C_T = 418 - MPI_RSEND_T = 419 - MPI_RSEND_C_T = 420 - MPI_RSEND_INIT_T = 421 - MPI_RSEND_INIT_C_T = 422 - MPI_SEND_T = 423 - MPI_SEND_C_T = 424 - MPI_SEND_INIT_T = 425 - MPI_SEND_INIT_C_T = 426 - MPI_SENDRECV_T = 427 - MPI_SENDRECV_C_T = 428 - MPI_SENDRECV_REPLACE_T = 429 - MPI_SENDRECV_REPLACE_C_T = 430 - MPI_SSEND_T = 431 - MPI_SSEND_C_T = 432 - MPI_SSEND_INIT_T = 433 - MPI_SSEND_INIT_C_T = 434 - MPI_CANCEL_T = 435 - MPI_GREQUEST_COMPLETE_T = 436 - MPI_GREQUEST_START_T = 437 - MPI_REQUEST_FREE_T = 438 - MPI_REQUEST_GET_STATUS_T = 439 - MPI_START_T = 440 - MPI_STARTALL_T = 441 - MPI_STATUS_SET_CANCELLED_T = 442 - MPI_TEST_T = 443 - MPI_TEST_CANCELLED_T = 444 - MPI_TESTALL_T = 445 - MPI_TESTANY_T = 446 - MPI_TESTSOME_T = 447 - MPI_WAIT_T = 448 - MPI_WAITALL_T = 449 - MPI_WAITANY_T = 450 - MPI_WAITSOME_T = 451 - MPIX_GREQUEST_START_T = 452 - MPIX_GREQUEST_CLASS_CREATE_T = 453 - MPIX_GREQUEST_CLASS_ALLOCATE_T = 454 - MPI_ACCUMULATE_T = 455 - MPI_ACCUMULATE_C_T = 456 - MPI_ALLOC_MEM_T = 457 - MPI_COMPARE_AND_SWAP_T = 458 - MPI_FETCH_AND_OP_T = 459 - MPI_FREE_MEM_T = 460 - MPI_GET_T = 461 - MPI_GET_C_T = 462 - MPI_GET_ACCUMULATE_T = 463 - MPI_GET_ACCUMULATE_C_T = 464 - MPI_PUT_T = 465 - MPI_PUT_C_T = 466 - MPI_RACCUMULATE_T = 467 - MPI_RACCUMULATE_C_T = 468 - MPI_RGET_T = 469 - MPI_RGET_C_T = 470 - MPI_RGET_ACCUMULATE_T = 471 - MPI_RGET_ACCUMULATE_C_T = 472 - MPI_RPUT_T = 473 - MPI_RPUT_C_T = 474 - MPI_WIN_ALLOCATE_T = 475 - MPI_WIN_ALLOCATE_C_T = 476 - MPI_WIN_ALLOCATE_SHARED_T = 477 - MPI_WIN_ALLOCATE_SHARED_C_T = 478 - MPI_WIN_ATTACH_T = 479 - MPI_WIN_COMPLETE_T = 480 - MPI_WIN_CREATE_T = 481 - MPI_WIN_CREATE_C_T = 482 - MPI_WIN_CREATE_DYNAMIC_T = 483 - MPI_WIN_DETACH_T = 484 - MPI_WIN_FENCE_T = 485 - MPI_WIN_FLUSH_T = 486 - MPI_WIN_FLUSH_ALL_T = 487 - MPI_WIN_FLUSH_LOCAL_T = 488 - MPI_WIN_FLUSH_LOCAL_ALL_T = 489 - MPI_WIN_FREE_T = 490 - MPI_WIN_GET_GROUP_T = 491 - MPI_WIN_GET_INFO_T = 492 - MPI_WIN_GET_NAME_T = 493 - MPI_WIN_LOCK_T = 494 - MPI_WIN_LOCK_ALL_T = 495 - MPI_WIN_POST_T = 496 - MPI_WIN_SET_INFO_T = 497 - MPI_WIN_SET_NAME_T = 498 - MPI_WIN_SHARED_QUERY_T = 499 - MPI_WIN_SHARED_QUERY_C_T = 500 - MPI_WIN_START_T = 501 - MPI_WIN_SYNC_T = 502 - MPI_WIN_TEST_T = 503 - MPI_WIN_UNLOCK_T = 504 - MPI_WIN_UNLOCK_ALL_T = 505 - MPI_WIN_WAIT_T = 506 - MPI_CLOSE_PORT_T = 507 - MPI_COMM_ACCEPT_T = 508 - MPI_COMM_CONNECT_T = 509 - MPI_COMM_DISCONNECT_T = 510 - MPI_COMM_GET_PARENT_T = 511 - MPI_COMM_JOIN_T = 512 - MPI_COMM_SPAWN_T = 513 - MPI_COMM_SPAWN_MULTIPLE_T = 514 - MPI_LOOKUP_NAME_T = 515 - MPI_OPEN_PORT_T = 516 - MPI_PUBLISH_NAME_T = 517 - MPI_UNPUBLISH_NAME_T = 518 - MPI_WTICK_T = 519 - MPI_WTIME_T = 520 - MPI_CART_COORDS_T = 521 - MPI_CART_CREATE_T = 522 - MPI_CART_GET_T = 523 - MPI_CART_MAP_T = 524 - MPI_CART_RANK_T = 525 - MPI_CART_SHIFT_T = 526 - MPI_CART_SUB_T = 527 - MPI_CARTDIM_GET_T = 528 - MPI_DIMS_CREATE_T = 529 - MPI_DIST_GRAPH_CREATE_T = 530 - MPI_DIST_GRAPH_CREATE_ADJACENT_T = 531 - MPI_DIST_GRAPH_NEIGHBORS_T = 532 - MPI_DIST_GRAPH_NEIGHBORS_COUNT_T = 533 - MPI_GRAPH_CREATE_T = 534 - MPI_GRAPH_GET_T = 535 - MPI_GRAPH_MAP_T = 536 - MPI_GRAPH_NEIGHBORS_T = 537 - MPI_GRAPH_NEIGHBORS_COUNT_T = 538 - MPI_GRAPHDIMS_GET_T = 539 - MPI_TOPO_TEST_T = 540 - MPI_LAST_FUNC_T = 541 -end - -function QMPI_Attr_delete(context, tool_id, comm, keyval) - ccall((:QMPI_Attr_delete, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint), context, tool_id, comm, keyval) -end - -function QMPI_Attr_get(context, tool_id, comm, keyval, attribute_val, flag) - ccall((:QMPI_Attr_get, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint, Ptr{Cvoid}, Ptr{Cint}), context, tool_id, comm, keyval, attribute_val, flag) -end - -function QMPI_Attr_put(context, tool_id, comm, keyval, attribute_val) - ccall((:QMPI_Attr_put, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint, Ptr{Cvoid}), context, tool_id, comm, keyval, attribute_val) -end - -function QMPI_Comm_create_keyval(context, tool_id, comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval, extra_state) - ccall((:QMPI_Comm_create_keyval, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cvoid}), context, tool_id, comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval, extra_state) -end - -function QMPI_Comm_delete_attr(context, tool_id, comm, comm_keyval) - ccall((:QMPI_Comm_delete_attr, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint), context, tool_id, comm, comm_keyval) -end - -function QMPI_Comm_free_keyval(context, tool_id, comm_keyval) - ccall((:QMPI_Comm_free_keyval, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cint}), context, tool_id, comm_keyval) -end - -function QMPI_Comm_get_attr(context, tool_id, comm, comm_keyval, attribute_val, flag) - ccall((:QMPI_Comm_get_attr, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint, Ptr{Cvoid}, Ptr{Cint}), context, tool_id, comm, comm_keyval, attribute_val, flag) -end - -function QMPI_Comm_set_attr(context, tool_id, comm, comm_keyval, attribute_val) - ccall((:QMPI_Comm_set_attr, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint, Ptr{Cvoid}), context, tool_id, comm, comm_keyval, attribute_val) -end - -function QMPI_Keyval_create(context, tool_id, copy_fn, delete_fn, keyval, extra_state) - ccall((:QMPI_Keyval_create, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cvoid}), context, tool_id, copy_fn, delete_fn, keyval, extra_state) -end - -function QMPI_Keyval_free(context, tool_id, keyval) - ccall((:QMPI_Keyval_free, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cint}), context, tool_id, keyval) -end - -function QMPI_Type_create_keyval(context, tool_id, type_copy_attr_fn, type_delete_attr_fn, type_keyval, extra_state) - ccall((:QMPI_Type_create_keyval, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cvoid}), context, tool_id, type_copy_attr_fn, type_delete_attr_fn, type_keyval, extra_state) -end - -function QMPI_Type_delete_attr(context, tool_id, datatype, type_keyval) - ccall((:QMPI_Type_delete_attr, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, Cint), context, tool_id, datatype, type_keyval) -end - -function QMPI_Type_free_keyval(context, tool_id, type_keyval) - ccall((:QMPI_Type_free_keyval, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cint}), context, tool_id, type_keyval) -end - -function QMPI_Type_get_attr(context, tool_id, datatype, type_keyval, attribute_val, flag) - ccall((:QMPI_Type_get_attr, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, Cint, Ptr{Cvoid}, Ptr{Cint}), context, tool_id, datatype, type_keyval, attribute_val, flag) -end - -function QMPI_Type_set_attr(context, tool_id, datatype, type_keyval, attribute_val) - ccall((:QMPI_Type_set_attr, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, Cint, Ptr{Cvoid}), context, tool_id, datatype, type_keyval, attribute_val) -end - -function QMPI_Win_create_keyval(context, tool_id, win_copy_attr_fn, win_delete_attr_fn, win_keyval, extra_state) - ccall((:QMPI_Win_create_keyval, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cvoid}), context, tool_id, win_copy_attr_fn, win_delete_attr_fn, win_keyval, extra_state) -end - -function QMPI_Win_delete_attr(context, tool_id, win, win_keyval) - ccall((:QMPI_Win_delete_attr, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win, Cint), context, tool_id, win, win_keyval) -end - -function QMPI_Win_free_keyval(context, tool_id, win_keyval) - ccall((:QMPI_Win_free_keyval, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cint}), context, tool_id, win_keyval) -end - -function QMPI_Win_get_attr(context, tool_id, win, win_keyval, attribute_val, flag) - ccall((:QMPI_Win_get_attr, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win, Cint, Ptr{Cvoid}, Ptr{Cint}), context, tool_id, win, win_keyval, attribute_val, flag) -end - -function QMPI_Win_set_attr(context, tool_id, win, win_keyval, attribute_val) - ccall((:QMPI_Win_set_attr, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win, Cint, Ptr{Cvoid}), context, tool_id, win, win_keyval, attribute_val) -end - -function QMPI_Allgather(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:QMPI_Allgather, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) -end - -function QMPI_Allgather_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:QMPI_Allgather_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) -end - -function QMPI_Allgather_init(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:QMPI_Allgather_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) -end - -function QMPI_Allgather_init_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:QMPI_Allgather_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) -end - -function QMPI_Allgatherv(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) - ccall((:QMPI_Allgatherv, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) -end - -function QMPI_Allgatherv_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) - ccall((:QMPI_Allgatherv_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) -end - -function QMPI_Allgatherv_init(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) - ccall((:QMPI_Allgatherv_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) -end - -function QMPI_Allgatherv_init_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) - ccall((:QMPI_Allgatherv_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) -end - -function QMPI_Allreduce(context, tool_id, sendbuf, recvbuf, count, datatype, op, comm) - ccall((:QMPI_Allreduce, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm), context, tool_id, sendbuf, recvbuf, count, datatype, op, comm) -end - -function QMPI_Allreduce_c(context, tool_id, sendbuf, recvbuf, count, datatype, op, comm) - ccall((:QMPI_Allreduce_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm), context, tool_id, sendbuf, recvbuf, count, datatype, op, comm) -end - -function QMPI_Allreduce_init(context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, info, request) - ccall((:QMPI_Allreduce_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, info, request) -end - -function QMPI_Allreduce_init_c(context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, info, request) - ccall((:QMPI_Allreduce_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, info, request) -end - -function QMPI_Alltoall(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:QMPI_Alltoall, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) -end - -function QMPI_Alltoall_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:QMPI_Alltoall_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) -end - -function QMPI_Alltoall_init(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:QMPI_Alltoall_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) -end - -function QMPI_Alltoall_init_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:QMPI_Alltoall_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) -end - -function QMPI_Alltoallv(context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) - ccall((:QMPI_Alltoallv, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm), context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) -end - -function QMPI_Alltoallv_c(context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) - ccall((:QMPI_Alltoallv_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm), context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) -end - -function QMPI_Alltoallv_init(context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) - ccall((:QMPI_Alltoallv_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) -end - -function QMPI_Alltoallv_init_c(context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) - ccall((:QMPI_Alltoallv_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) -end - -function QMPI_Alltoallw(context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) - ccall((:QMPI_Alltoallw, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, MPI_Comm), context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) -end - -function QMPI_Alltoallw_c(context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) - ccall((:QMPI_Alltoallw_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm), context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) -end - -function QMPI_Alltoallw_init(context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) - ccall((:QMPI_Alltoallw_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) -end - -function QMPI_Alltoallw_init_c(context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) - ccall((:QMPI_Alltoallw_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) -end - -function QMPI_Barrier(context, tool_id, comm) - ccall((:QMPI_Barrier, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm), context, tool_id, comm) -end - -function QMPI_Barrier_init(context, tool_id, comm, info, request) - ccall((:QMPI_Barrier_init, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, comm, info, request) -end - -function QMPI_Bcast(context, tool_id, buffer, count, datatype, root, comm) - ccall((:QMPI_Bcast, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm), context, tool_id, buffer, count, datatype, root, comm) -end - -function QMPI_Bcast_c(context, tool_id, buffer, count, datatype, root, comm) - ccall((:QMPI_Bcast_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm), context, tool_id, buffer, count, datatype, root, comm) -end - -function QMPI_Bcast_init(context, tool_id, buffer, count, datatype, root, comm, info, request) - ccall((:QMPI_Bcast_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, buffer, count, datatype, root, comm, info, request) -end - -function QMPI_Bcast_init_c(context, tool_id, buffer, count, datatype, root, comm, info, request) - ccall((:QMPI_Bcast_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, buffer, count, datatype, root, comm, info, request) -end - -function QMPI_Exscan(context, tool_id, sendbuf, recvbuf, count, datatype, op, comm) - ccall((:QMPI_Exscan, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm), context, tool_id, sendbuf, recvbuf, count, datatype, op, comm) -end - -function QMPI_Exscan_c(context, tool_id, sendbuf, recvbuf, count, datatype, op, comm) - ccall((:QMPI_Exscan_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm), context, tool_id, sendbuf, recvbuf, count, datatype, op, comm) -end - -function QMPI_Exscan_init(context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, info, request) - ccall((:QMPI_Exscan_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, info, request) -end - -function QMPI_Exscan_init_c(context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, info, request) - ccall((:QMPI_Exscan_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, info, request) -end - -function QMPI_Gather(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) - ccall((:QMPI_Gather, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) -end - -function QMPI_Gather_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) - ccall((:QMPI_Gather_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) -end - -function QMPI_Gather_init(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) - ccall((:QMPI_Gather_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) -end - -function QMPI_Gather_init_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) - ccall((:QMPI_Gather_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) -end - -function QMPI_Gatherv(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm) - ccall((:QMPI_Gatherv, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Cint, MPI_Comm), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm) -end - -function QMPI_Gatherv_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm) - ccall((:QMPI_Gatherv_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Cint, MPI_Comm), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm) -end - -function QMPI_Gatherv_init(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request) - ccall((:QMPI_Gatherv_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request) -end - -function QMPI_Gatherv_init_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request) - ccall((:QMPI_Gatherv_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request) -end - -function QMPI_Iallgather(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:QMPI_Iallgather, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) -end - -function QMPI_Iallgather_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:QMPI_Iallgather_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) -end - -function QMPI_Iallgatherv(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) - ccall((:QMPI_Iallgatherv, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) -end - -function QMPI_Iallgatherv_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) - ccall((:QMPI_Iallgatherv_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) -end - -function QMPI_Iallreduce(context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, request) - ccall((:QMPI_Iallreduce, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, request) -end - -function QMPI_Iallreduce_c(context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, request) - ccall((:QMPI_Iallreduce_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, request) -end - -function QMPI_Ialltoall(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:QMPI_Ialltoall, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) -end - -function QMPI_Ialltoall_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:QMPI_Ialltoall_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) -end - -function QMPI_Ialltoallv(context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) - ccall((:QMPI_Ialltoallv, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) -end - -function QMPI_Ialltoallv_c(context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) - ccall((:QMPI_Ialltoallv_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) -end - -function QMPI_Ialltoallw(context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) - ccall((:QMPI_Ialltoallw, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) -end - -function QMPI_Ialltoallw_c(context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) - ccall((:QMPI_Ialltoallw_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) -end - -function QMPI_Ibarrier(context, tool_id, comm, request) - ccall((:QMPI_Ibarrier, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, comm, request) -end - -function QMPI_Ibcast(context, tool_id, buffer, count, datatype, root, comm, request) - ccall((:QMPI_Ibcast, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buffer, count, datatype, root, comm, request) -end - -function QMPI_Ibcast_c(context, tool_id, buffer, count, datatype, root, comm, request) - ccall((:QMPI_Ibcast_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buffer, count, datatype, root, comm, request) -end - -function QMPI_Iexscan(context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, request) - ccall((:QMPI_Iexscan, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, request) -end - -function QMPI_Iexscan_c(context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, request) - ccall((:QMPI_Iexscan_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, request) -end - -function QMPI_Igather(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) - ccall((:QMPI_Igather, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) -end - -function QMPI_Igather_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) - ccall((:QMPI_Igather_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) -end - -function QMPI_Igatherv(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request) - ccall((:QMPI_Igatherv, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request) -end - -function QMPI_Igatherv_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request) - ccall((:QMPI_Igatherv_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request) -end - -function QMPI_Ineighbor_allgather(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:QMPI_Ineighbor_allgather, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) -end - -function QMPI_Ineighbor_allgather_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:QMPI_Ineighbor_allgather_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) -end - -function QMPI_Ineighbor_allgatherv(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) - ccall((:QMPI_Ineighbor_allgatherv, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) -end - -function QMPI_Ineighbor_allgatherv_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) - ccall((:QMPI_Ineighbor_allgatherv_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, request) -end - -function QMPI_Ineighbor_alltoall(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:QMPI_Ineighbor_alltoall, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) -end - -function QMPI_Ineighbor_alltoall_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) - ccall((:QMPI_Ineighbor_alltoall_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, request) -end - -function QMPI_Ineighbor_alltoallv(context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) - ccall((:QMPI_Ineighbor_alltoallv, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) -end - -function QMPI_Ineighbor_alltoallv_c(context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) - ccall((:QMPI_Ineighbor_alltoallv_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, request) -end - -function QMPI_Ineighbor_alltoallw(context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) - ccall((:QMPI_Ineighbor_alltoallw, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) -end - -function QMPI_Ineighbor_alltoallw_c(context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) - ccall((:QMPI_Ineighbor_alltoallw_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, request) -end - -function QMPI_Ireduce(context, tool_id, sendbuf, recvbuf, count, datatype, op, root, comm, request) - ccall((:QMPI_Ireduce, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, count, datatype, op, root, comm, request) -end - -function QMPI_Ireduce_c(context, tool_id, sendbuf, recvbuf, count, datatype, op, root, comm, request) - ccall((:QMPI_Ireduce_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, count, datatype, op, root, comm, request) -end - -function QMPI_Ireduce_scatter(context, tool_id, sendbuf, recvbuf, recvcounts, datatype, op, comm, request) - ccall((:QMPI_Ireduce_scatter, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, recvcounts, datatype, op, comm, request) -end - -function QMPI_Ireduce_scatter_c(context, tool_id, sendbuf, recvbuf, recvcounts, datatype, op, comm, request) - ccall((:QMPI_Ireduce_scatter_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{MPI_Count}, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, recvcounts, datatype, op, comm, request) -end - -function QMPI_Ireduce_scatter_block(context, tool_id, sendbuf, recvbuf, recvcount, datatype, op, comm, request) - ccall((:QMPI_Ireduce_scatter_block, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, recvcount, datatype, op, comm, request) -end - -function QMPI_Ireduce_scatter_block_c(context, tool_id, sendbuf, recvbuf, recvcount, datatype, op, comm, request) - ccall((:QMPI_Ireduce_scatter_block_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, recvcount, datatype, op, comm, request) -end - -function QMPI_Iscan(context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, request) - ccall((:QMPI_Iscan, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, request) -end - -function QMPI_Iscan_c(context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, request) - ccall((:QMPI_Iscan_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, request) -end - -function QMPI_Iscatter(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) - ccall((:QMPI_Iscatter, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) -end - -function QMPI_Iscatter_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) - ccall((:QMPI_Iscatter_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request) -end - -function QMPI_Iscatterv(context, tool_id, sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request) - ccall((:QMPI_Iscatterv, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request) -end - -function QMPI_Iscatterv_c(context, tool_id, sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request) - ccall((:QMPI_Iscatterv_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, request) -end - -function QMPI_Neighbor_allgather(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:QMPI_Neighbor_allgather, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) -end - -function QMPI_Neighbor_allgather_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:QMPI_Neighbor_allgather_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) -end - -function QMPI_Neighbor_allgather_init(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:QMPI_Neighbor_allgather_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) -end - -function QMPI_Neighbor_allgather_init_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:QMPI_Neighbor_allgather_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) -end - -function QMPI_Neighbor_allgatherv(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) - ccall((:QMPI_Neighbor_allgatherv, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) -end - -function QMPI_Neighbor_allgatherv_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) - ccall((:QMPI_Neighbor_allgatherv_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm) -end - -function QMPI_Neighbor_allgatherv_init(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) - ccall((:QMPI_Neighbor_allgatherv_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) -end - -function QMPI_Neighbor_allgatherv_init_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) - ccall((:QMPI_Neighbor_allgatherv_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request) -end - -function QMPI_Neighbor_alltoall(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:QMPI_Neighbor_alltoall, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) -end - -function QMPI_Neighbor_alltoall_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) - ccall((:QMPI_Neighbor_alltoall_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm) -end - -function QMPI_Neighbor_alltoall_init(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:QMPI_Neighbor_alltoall_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) -end - -function QMPI_Neighbor_alltoall_init_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) - ccall((:QMPI_Neighbor_alltoall_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request) -end - -function QMPI_Neighbor_alltoallv(context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) - ccall((:QMPI_Neighbor_alltoallv, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm), context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) -end - -function QMPI_Neighbor_alltoallv_c(context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) - ccall((:QMPI_Neighbor_alltoallv_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm), context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm) -end - -function QMPI_Neighbor_alltoallv_init(context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) - ccall((:QMPI_Neighbor_alltoallv_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) -end - -function QMPI_Neighbor_alltoallv_init_c(context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) - ccall((:QMPI_Neighbor_alltoallv_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request) -end - -function QMPI_Neighbor_alltoallw(context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) - ccall((:QMPI_Neighbor_alltoallw, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm), context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) -end - -function QMPI_Neighbor_alltoallw_c(context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) - ccall((:QMPI_Neighbor_alltoallw_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm), context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm) -end - -function QMPI_Neighbor_alltoallw_init(context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) - ccall((:QMPI_Neighbor_alltoallw_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) -end - -function QMPI_Neighbor_alltoallw_init_c(context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) - ccall((:QMPI_Neighbor_alltoallw_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request) -end - -function QMPI_Reduce(context, tool_id, sendbuf, recvbuf, count, datatype, op, root, comm) - ccall((:QMPI_Reduce, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, Cint, MPI_Comm), context, tool_id, sendbuf, recvbuf, count, datatype, op, root, comm) -end - -function QMPI_Reduce_c(context, tool_id, sendbuf, recvbuf, count, datatype, op, root, comm) - ccall((:QMPI_Reduce_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, Cint, MPI_Comm), context, tool_id, sendbuf, recvbuf, count, datatype, op, root, comm) -end - -function QMPI_Reduce_init(context, tool_id, sendbuf, recvbuf, count, datatype, op, root, comm, info, request) - ccall((:QMPI_Reduce_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, count, datatype, op, root, comm, info, request) -end - -function QMPI_Reduce_init_c(context, tool_id, sendbuf, recvbuf, count, datatype, op, root, comm, info, request) - ccall((:QMPI_Reduce_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, count, datatype, op, root, comm, info, request) -end - -function QMPI_Reduce_local(context, tool_id, inbuf, inoutbuf, count, datatype, op) - ccall((:QMPI_Reduce_local, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op), context, tool_id, inbuf, inoutbuf, count, datatype, op) -end - -function QMPI_Reduce_local_c(context, tool_id, inbuf, inoutbuf, count, datatype, op) - ccall((:QMPI_Reduce_local_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op), context, tool_id, inbuf, inoutbuf, count, datatype, op) -end - -function QMPI_Reduce_scatter(context, tool_id, sendbuf, recvbuf, recvcounts, datatype, op, comm) - ccall((:QMPI_Reduce_scatter, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, MPI_Datatype, MPI_Op, MPI_Comm), context, tool_id, sendbuf, recvbuf, recvcounts, datatype, op, comm) -end - -function QMPI_Reduce_scatter_c(context, tool_id, sendbuf, recvbuf, recvcounts, datatype, op, comm) - ccall((:QMPI_Reduce_scatter_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{MPI_Count}, MPI_Datatype, MPI_Op, MPI_Comm), context, tool_id, sendbuf, recvbuf, recvcounts, datatype, op, comm) -end - -function QMPI_Reduce_scatter_block(context, tool_id, sendbuf, recvbuf, recvcount, datatype, op, comm) - ccall((:QMPI_Reduce_scatter_block, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm), context, tool_id, sendbuf, recvbuf, recvcount, datatype, op, comm) -end - -function QMPI_Reduce_scatter_block_c(context, tool_id, sendbuf, recvbuf, recvcount, datatype, op, comm) - ccall((:QMPI_Reduce_scatter_block_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm), context, tool_id, sendbuf, recvbuf, recvcount, datatype, op, comm) -end - -function QMPI_Reduce_scatter_block_init(context, tool_id, sendbuf, recvbuf, recvcount, datatype, op, comm, info, request) - ccall((:QMPI_Reduce_scatter_block_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, recvcount, datatype, op, comm, info, request) -end - -function QMPI_Reduce_scatter_block_init_c(context, tool_id, sendbuf, recvbuf, recvcount, datatype, op, comm, info, request) - ccall((:QMPI_Reduce_scatter_block_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, recvcount, datatype, op, comm, info, request) -end - -function QMPI_Reduce_scatter_init(context, tool_id, sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request) - ccall((:QMPI_Reduce_scatter_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request) -end - -function QMPI_Reduce_scatter_init_c(context, tool_id, sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request) - ccall((:QMPI_Reduce_scatter_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{MPI_Count}, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request) -end - -function QMPI_Scan(context, tool_id, sendbuf, recvbuf, count, datatype, op, comm) - ccall((:QMPI_Scan, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm), context, tool_id, sendbuf, recvbuf, count, datatype, op, comm) -end - -function QMPI_Scan_c(context, tool_id, sendbuf, recvbuf, count, datatype, op, comm) - ccall((:QMPI_Scan_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm), context, tool_id, sendbuf, recvbuf, count, datatype, op, comm) -end - -function QMPI_Scan_init(context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, info, request) - ccall((:QMPI_Scan_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, info, request) -end - -function QMPI_Scan_init_c(context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, info, request) - ccall((:QMPI_Scan_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, recvbuf, count, datatype, op, comm, info, request) -end - -function QMPI_Scatter(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) - ccall((:QMPI_Scatter, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) -end - -function QMPI_Scatter_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) - ccall((:QMPI_Scatter_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm) -end - -function QMPI_Scatter_init(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) - ccall((:QMPI_Scatter_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) -end - -function QMPI_Scatter_init_c(context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) - ccall((:QMPI_Scatter_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) -end - -function QMPI_Scatterv(context, tool_id, sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm) - ccall((:QMPI_Scatterv, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm), context, tool_id, sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm) -end - -function QMPI_Scatterv_c(context, tool_id, sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm) - ccall((:QMPI_Scatterv_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm), context, tool_id, sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm) -end - -function QMPI_Scatterv_init(context, tool_id, sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) - ccall((:QMPI_Scatterv_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) -end - -function QMPI_Scatterv_init_c(context, tool_id, sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) - ccall((:QMPI_Scatterv_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Count}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request) -end - -function QMPI_Comm_compare(context, tool_id, comm1, comm2, result) - ccall((:QMPI_Comm_compare, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, MPI_Comm, Ptr{Cint}), context, tool_id, comm1, comm2, result) -end - -function QMPI_Comm_create(context, tool_id, comm, group, newcomm) - ccall((:QMPI_Comm_create, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, MPI_Group, Ptr{MPI_Comm}), context, tool_id, comm, group, newcomm) -end - -function QMPI_Comm_create_group(context, tool_id, comm, group, tag, newcomm) - ccall((:QMPI_Comm_create_group, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, MPI_Group, Cint, Ptr{MPI_Comm}), context, tool_id, comm, group, tag, newcomm) -end - -function QMPI_Comm_dup(context, tool_id, comm, newcomm) - ccall((:QMPI_Comm_dup, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{MPI_Comm}), context, tool_id, comm, newcomm) -end - -function QMPI_Comm_dup_with_info(context, tool_id, comm, info, newcomm) - ccall((:QMPI_Comm_dup_with_info, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Comm}), context, tool_id, comm, info, newcomm) -end - -function QMPI_Comm_free(context, tool_id, comm) - ccall((:QMPI_Comm_free, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Comm}), context, tool_id, comm) -end - -function QMPI_Comm_get_info(context, tool_id, comm, info_used) - ccall((:QMPI_Comm_get_info, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{MPI_Info}), context, tool_id, comm, info_used) -end - -function QMPI_Comm_get_name(context, tool_id, comm, comm_name, resultlen) - ccall((:QMPI_Comm_get_name, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{Cchar}, Ptr{Cint}), context, tool_id, comm, comm_name, resultlen) -end - -function QMPI_Comm_group(context, tool_id, comm, group) - ccall((:QMPI_Comm_group, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{MPI_Group}), context, tool_id, comm, group) -end - -function QMPI_Comm_idup(context, tool_id, comm, newcomm, request) - ccall((:QMPI_Comm_idup, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{MPI_Comm}, Ptr{MPI_Request}), context, tool_id, comm, newcomm, request) -end - -function QMPI_Comm_idup_with_info(context, tool_id, comm, info, newcomm, request) - ccall((:QMPI_Comm_idup_with_info, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Comm}, Ptr{MPI_Request}), context, tool_id, comm, info, newcomm, request) -end - -function QMPI_Comm_rank(context, tool_id, comm, rank) - ccall((:QMPI_Comm_rank, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{Cint}), context, tool_id, comm, rank) -end - -function QMPI_Comm_remote_group(context, tool_id, comm, group) - ccall((:QMPI_Comm_remote_group, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{MPI_Group}), context, tool_id, comm, group) -end - -function QMPI_Comm_remote_size(context, tool_id, comm, size) - ccall((:QMPI_Comm_remote_size, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{Cint}), context, tool_id, comm, size) -end - -function QMPI_Comm_set_info(context, tool_id, comm, info) - ccall((:QMPI_Comm_set_info, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, MPI_Info), context, tool_id, comm, info) -end - -function QMPI_Comm_set_name(context, tool_id, comm, comm_name) - ccall((:QMPI_Comm_set_name, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{Cchar}), context, tool_id, comm, comm_name) -end - -function QMPI_Comm_size(context, tool_id, comm, size) - ccall((:QMPI_Comm_size, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{Cint}), context, tool_id, comm, size) -end - -function QMPI_Comm_split(context, tool_id, comm, color, key, newcomm) - ccall((:QMPI_Comm_split, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint, Cint, Ptr{MPI_Comm}), context, tool_id, comm, color, key, newcomm) -end - -function QMPI_Comm_split_type(context, tool_id, comm, split_type, key, info, newcomm) - ccall((:QMPI_Comm_split_type, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint, Cint, MPI_Info, Ptr{MPI_Comm}), context, tool_id, comm, split_type, key, info, newcomm) -end - -function QMPI_Comm_test_inter(context, tool_id, comm, flag) - ccall((:QMPI_Comm_test_inter, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{Cint}), context, tool_id, comm, flag) -end - -function QMPI_Intercomm_create(context, tool_id, local_comm, local_leader, peer_comm, remote_leader, tag, newintercomm) - ccall((:QMPI_Intercomm_create, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint, MPI_Comm, Cint, Cint, Ptr{MPI_Comm}), context, tool_id, local_comm, local_leader, peer_comm, remote_leader, tag, newintercomm) -end - -function QMPI_Intercomm_create_from_groups(context, tool_id, local_group, local_leader, remote_group, remote_leader, stringtag, info, errhandler, newintercomm) - ccall((:QMPI_Intercomm_create_from_groups, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Group, Cint, MPI_Group, Cint, Ptr{Cchar}, MPI_Info, MPI_Errhandler, Ptr{MPI_Comm}), context, tool_id, local_group, local_leader, remote_group, remote_leader, stringtag, info, errhandler, newintercomm) -end - -function QMPI_Intercomm_merge(context, tool_id, intercomm, high, newintracomm) - ccall((:QMPI_Intercomm_merge, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint, Ptr{MPI_Comm}), context, tool_id, intercomm, high, newintracomm) -end - -function QMPIX_Comm_revoke(context, tool_id, comm) - ccall((:QMPIX_Comm_revoke, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm), context, tool_id, comm) -end - -function QMPIX_Comm_shrink(context, tool_id, comm, newcomm) - ccall((:QMPIX_Comm_shrink, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{MPI_Comm}), context, tool_id, comm, newcomm) -end - -function QMPIX_Comm_failure_ack(context, tool_id, comm) - ccall((:QMPIX_Comm_failure_ack, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm), context, tool_id, comm) -end - -function QMPIX_Comm_failure_get_acked(context, tool_id, comm, failedgrp) - ccall((:QMPIX_Comm_failure_get_acked, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{MPI_Group}), context, tool_id, comm, failedgrp) -end - -function QMPIX_Comm_agree(context, tool_id, comm, flag) - ccall((:QMPIX_Comm_agree, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{Cint}), context, tool_id, comm, flag) -end - -function QMPI_Get_address(context, tool_id, location, address) - ccall((:QMPI_Get_address, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Aint}), context, tool_id, location, address) -end - -function QMPI_Get_count(context, tool_id, status, datatype, count) - ccall((:QMPI_Get_count, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Status}, MPI_Datatype, Ptr{Cint}), context, tool_id, status, datatype, count) -end - -function QMPI_Get_count_c(context, tool_id, status, datatype, count) - ccall((:QMPI_Get_count_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Status}, MPI_Datatype, Ptr{MPI_Count}), context, tool_id, status, datatype, count) -end - -function QMPI_Get_elements(context, tool_id, status, datatype, count) - ccall((:QMPI_Get_elements, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Status}, MPI_Datatype, Ptr{Cint}), context, tool_id, status, datatype, count) -end - -function QMPI_Get_elements_c(context, tool_id, status, datatype, count) - ccall((:QMPI_Get_elements_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Status}, MPI_Datatype, Ptr{MPI_Count}), context, tool_id, status, datatype, count) -end - -function QMPI_Get_elements_x(context, tool_id, status, datatype, count) - ccall((:QMPI_Get_elements_x, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Status}, MPI_Datatype, Ptr{MPI_Count}), context, tool_id, status, datatype, count) -end - -function QMPI_Pack(context, tool_id, inbuf, incount, datatype, outbuf, outsize, position, comm) - ccall((:QMPI_Pack, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, Ptr{Cint}, MPI_Comm), context, tool_id, inbuf, incount, datatype, outbuf, outsize, position, comm) -end - -function QMPI_Pack_c(context, tool_id, inbuf, incount, datatype, outbuf, outsize, position, comm) - ccall((:QMPI_Pack_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, Ptr{MPI_Count}, MPI_Comm), context, tool_id, inbuf, incount, datatype, outbuf, outsize, position, comm) -end - -function QMPI_Pack_external(context, tool_id, datarep, inbuf, incount, datatype, outbuf, outsize, position) - ccall((:QMPI_Pack_external, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cchar}, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, MPI_Aint, Ptr{MPI_Aint}), context, tool_id, datarep, inbuf, incount, datatype, outbuf, outsize, position) -end - -function QMPI_Pack_external_c(context, tool_id, datarep, inbuf, incount, datatype, outbuf, outsize, position) - ccall((:QMPI_Pack_external_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cchar}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, Ptr{MPI_Count}), context, tool_id, datarep, inbuf, incount, datatype, outbuf, outsize, position) -end - -function QMPI_Pack_external_size(context, tool_id, datarep, incount, datatype, size) - ccall((:QMPI_Pack_external_size, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cchar}, Cint, MPI_Datatype, Ptr{MPI_Aint}), context, tool_id, datarep, incount, datatype, size) -end - -function QMPI_Pack_external_size_c(context, tool_id, datarep, incount, datatype, size) - ccall((:QMPI_Pack_external_size_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cchar}, MPI_Count, MPI_Datatype, Ptr{MPI_Count}), context, tool_id, datarep, incount, datatype, size) -end - -function QMPI_Pack_size(context, tool_id, incount, datatype, comm, size) - ccall((:QMPI_Pack_size, libHYPRE), Cint, (QMPI_Context, Cint, Cint, MPI_Datatype, MPI_Comm, Ptr{Cint}), context, tool_id, incount, datatype, comm, size) -end - -function QMPI_Pack_size_c(context, tool_id, incount, datatype, comm, size) - ccall((:QMPI_Pack_size_c, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Count, MPI_Datatype, MPI_Comm, Ptr{MPI_Count}), context, tool_id, incount, datatype, comm, size) -end - -function QMPI_Status_set_elements(context, tool_id, status, datatype, count) - ccall((:QMPI_Status_set_elements, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Status}, MPI_Datatype, Cint), context, tool_id, status, datatype, count) -end - -function QMPI_Status_set_elements_x(context, tool_id, status, datatype, count) - ccall((:QMPI_Status_set_elements_x, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Status}, MPI_Datatype, MPI_Count), context, tool_id, status, datatype, count) -end - -function QMPI_Type_commit(context, tool_id, datatype) - ccall((:QMPI_Type_commit, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Datatype}), context, tool_id, datatype) -end - -function QMPI_Type_contiguous(context, tool_id, count, oldtype, newtype) - ccall((:QMPI_Type_contiguous, libHYPRE), Cint, (QMPI_Context, Cint, Cint, MPI_Datatype, Ptr{MPI_Datatype}), context, tool_id, count, oldtype, newtype) -end - -function QMPI_Type_contiguous_c(context, tool_id, count, oldtype, newtype) - ccall((:QMPI_Type_contiguous_c, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Count, MPI_Datatype, Ptr{MPI_Datatype}), context, tool_id, count, oldtype, newtype) -end - -function QMPI_Type_create_darray(context, tool_id, size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype) - ccall((:QMPI_Type_create_darray, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Cint, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Cint, MPI_Datatype, Ptr{MPI_Datatype}), context, tool_id, size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype) -end - -function QMPI_Type_create_darray_c(context, tool_id, size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype) - ccall((:QMPI_Type_create_darray_c, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Cint, Cint, Ptr{MPI_Count}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Cint, MPI_Datatype, Ptr{MPI_Datatype}), context, tool_id, size, rank, ndims, array_of_gsizes, array_of_distribs, array_of_dargs, array_of_psizes, order, oldtype, newtype) -end - -function QMPI_Type_create_hindexed(context, tool_id, count, array_of_blocklengths, array_of_displacements, oldtype, newtype) - ccall((:QMPI_Type_create_hindexed, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Cint}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{MPI_Datatype}), context, tool_id, count, array_of_blocklengths, array_of_displacements, oldtype, newtype) -end - -function QMPI_Type_create_hindexed_c(context, tool_id, count, array_of_blocklengths, array_of_displacements, oldtype, newtype) - ccall((:QMPI_Type_create_hindexed_c, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Count, Ptr{MPI_Count}, Ptr{MPI_Count}, MPI_Datatype, Ptr{MPI_Datatype}), context, tool_id, count, array_of_blocklengths, array_of_displacements, oldtype, newtype) -end - -function QMPI_Type_create_hindexed_block(context, tool_id, count, blocklength, array_of_displacements, oldtype, newtype) - ccall((:QMPI_Type_create_hindexed_block, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Cint, Ptr{MPI_Aint}, MPI_Datatype, Ptr{MPI_Datatype}), context, tool_id, count, blocklength, array_of_displacements, oldtype, newtype) -end - -function QMPI_Type_create_hindexed_block_c(context, tool_id, count, blocklength, array_of_displacements, oldtype, newtype) - ccall((:QMPI_Type_create_hindexed_block_c, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Count, MPI_Count, Ptr{MPI_Count}, MPI_Datatype, Ptr{MPI_Datatype}), context, tool_id, count, blocklength, array_of_displacements, oldtype, newtype) -end - -function QMPI_Type_create_hvector(context, tool_id, count, blocklength, stride, oldtype, newtype) - ccall((:QMPI_Type_create_hvector, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Cint, MPI_Aint, MPI_Datatype, Ptr{MPI_Datatype}), context, tool_id, count, blocklength, stride, oldtype, newtype) -end - -function QMPI_Type_create_hvector_c(context, tool_id, count, blocklength, stride, oldtype, newtype) - ccall((:QMPI_Type_create_hvector_c, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Count, MPI_Count, MPI_Count, MPI_Datatype, Ptr{MPI_Datatype}), context, tool_id, count, blocklength, stride, oldtype, newtype) -end - -function QMPI_Type_create_indexed_block(context, tool_id, count, blocklength, array_of_displacements, oldtype, newtype) - ccall((:QMPI_Type_create_indexed_block, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Cint, Ptr{Cint}, MPI_Datatype, Ptr{MPI_Datatype}), context, tool_id, count, blocklength, array_of_displacements, oldtype, newtype) -end - -function QMPI_Type_create_indexed_block_c(context, tool_id, count, blocklength, array_of_displacements, oldtype, newtype) - ccall((:QMPI_Type_create_indexed_block_c, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Count, MPI_Count, Ptr{MPI_Count}, MPI_Datatype, Ptr{MPI_Datatype}), context, tool_id, count, blocklength, array_of_displacements, oldtype, newtype) -end - -function QMPI_Type_create_resized(context, tool_id, oldtype, lb, extent, newtype) - ccall((:QMPI_Type_create_resized, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, MPI_Aint, MPI_Aint, Ptr{MPI_Datatype}), context, tool_id, oldtype, lb, extent, newtype) -end - -function QMPI_Type_create_resized_c(context, tool_id, oldtype, lb, extent, newtype) - ccall((:QMPI_Type_create_resized_c, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, MPI_Count, MPI_Count, Ptr{MPI_Datatype}), context, tool_id, oldtype, lb, extent, newtype) -end - -function QMPI_Type_create_struct(context, tool_id, count, array_of_blocklengths, array_of_displacements, array_of_types, newtype) - ccall((:QMPI_Type_create_struct, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{MPI_Datatype}), context, tool_id, count, array_of_blocklengths, array_of_displacements, array_of_types, newtype) -end - -function QMPI_Type_create_struct_c(context, tool_id, count, array_of_blocklengths, array_of_displacements, array_of_types, newtype) - ccall((:QMPI_Type_create_struct_c, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Count, Ptr{MPI_Count}, Ptr{MPI_Count}, Ptr{MPI_Datatype}, Ptr{MPI_Datatype}), context, tool_id, count, array_of_blocklengths, array_of_displacements, array_of_types, newtype) -end - -function QMPI_Type_create_subarray(context, tool_id, ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype) - ccall((:QMPI_Type_create_subarray, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Cint, MPI_Datatype, Ptr{MPI_Datatype}), context, tool_id, ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype) -end - -function QMPI_Type_create_subarray_c(context, tool_id, ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype) - ccall((:QMPI_Type_create_subarray_c, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{MPI_Count}, Ptr{MPI_Count}, Ptr{MPI_Count}, Cint, MPI_Datatype, Ptr{MPI_Datatype}), context, tool_id, ndims, array_of_sizes, array_of_subsizes, array_of_starts, order, oldtype, newtype) -end - -function QMPI_Type_dup(context, tool_id, oldtype, newtype) - ccall((:QMPI_Type_dup, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, Ptr{MPI_Datatype}), context, tool_id, oldtype, newtype) -end - -function QMPI_Type_free(context, tool_id, datatype) - ccall((:QMPI_Type_free, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Datatype}), context, tool_id, datatype) -end - -function QMPI_Type_get_contents(context, tool_id, datatype, max_integers, max_addresses, max_datatypes, array_of_integers, array_of_addresses, array_of_datatypes) - ccall((:QMPI_Type_get_contents, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, Cint, Cint, Cint, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}), context, tool_id, datatype, max_integers, max_addresses, max_datatypes, array_of_integers, array_of_addresses, array_of_datatypes) -end - -function QMPI_Type_get_contents_c(context, tool_id, datatype, max_integers, max_addresses, max_large_counts, max_datatypes, array_of_integers, array_of_addresses, array_of_large_counts, array_of_datatypes) - ccall((:QMPI_Type_get_contents_c, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, MPI_Count, MPI_Count, MPI_Count, MPI_Count, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Count}, Ptr{MPI_Datatype}), context, tool_id, datatype, max_integers, max_addresses, max_large_counts, max_datatypes, array_of_integers, array_of_addresses, array_of_large_counts, array_of_datatypes) -end - -function QMPI_Type_get_envelope(context, tool_id, datatype, num_integers, num_addresses, num_datatypes, combiner) - ccall((:QMPI_Type_get_envelope, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), context, tool_id, datatype, num_integers, num_addresses, num_datatypes, combiner) -end - -function QMPI_Type_get_envelope_c(context, tool_id, datatype, num_integers, num_addresses, num_large_counts, num_datatypes, combiner) - ccall((:QMPI_Type_get_envelope_c, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, Ptr{MPI_Count}, Ptr{MPI_Count}, Ptr{MPI_Count}, Ptr{MPI_Count}, Ptr{Cint}), context, tool_id, datatype, num_integers, num_addresses, num_large_counts, num_datatypes, combiner) -end - -function QMPI_Type_get_extent(context, tool_id, datatype, lb, extent) - ccall((:QMPI_Type_get_extent, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, Ptr{MPI_Aint}, Ptr{MPI_Aint}), context, tool_id, datatype, lb, extent) -end - -function QMPI_Type_get_extent_c(context, tool_id, datatype, lb, extent) - ccall((:QMPI_Type_get_extent_c, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, Ptr{MPI_Count}, Ptr{MPI_Count}), context, tool_id, datatype, lb, extent) -end - -function QMPI_Type_get_extent_x(context, tool_id, datatype, lb, extent) - ccall((:QMPI_Type_get_extent_x, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, Ptr{MPI_Count}, Ptr{MPI_Count}), context, tool_id, datatype, lb, extent) -end - -function QMPI_Type_get_name(context, tool_id, datatype, type_name, resultlen) - ccall((:QMPI_Type_get_name, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, Ptr{Cchar}, Ptr{Cint}), context, tool_id, datatype, type_name, resultlen) -end - -function QMPI_Type_get_true_extent(context, tool_id, datatype, true_lb, true_extent) - ccall((:QMPI_Type_get_true_extent, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, Ptr{MPI_Aint}, Ptr{MPI_Aint}), context, tool_id, datatype, true_lb, true_extent) -end - -function QMPI_Type_get_true_extent_c(context, tool_id, datatype, true_lb, true_extent) - ccall((:QMPI_Type_get_true_extent_c, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, Ptr{MPI_Count}, Ptr{MPI_Count}), context, tool_id, datatype, true_lb, true_extent) -end - -function QMPI_Type_get_true_extent_x(context, tool_id, datatype, true_lb, true_extent) - ccall((:QMPI_Type_get_true_extent_x, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, Ptr{MPI_Count}, Ptr{MPI_Count}), context, tool_id, datatype, true_lb, true_extent) -end - -function QMPI_Type_indexed(context, tool_id, count, array_of_blocklengths, array_of_displacements, oldtype, newtype) - ccall((:QMPI_Type_indexed, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Cint}, Ptr{Cint}, MPI_Datatype, Ptr{MPI_Datatype}), context, tool_id, count, array_of_blocklengths, array_of_displacements, oldtype, newtype) -end - -function QMPI_Type_indexed_c(context, tool_id, count, array_of_blocklengths, array_of_displacements, oldtype, newtype) - ccall((:QMPI_Type_indexed_c, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Count, Ptr{MPI_Count}, Ptr{MPI_Count}, MPI_Datatype, Ptr{MPI_Datatype}), context, tool_id, count, array_of_blocklengths, array_of_displacements, oldtype, newtype) -end - -function QMPI_Type_match_size(context, tool_id, typeclass, size, datatype) - ccall((:QMPI_Type_match_size, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Cint, Ptr{MPI_Datatype}), context, tool_id, typeclass, size, datatype) -end - -function QMPI_Type_set_name(context, tool_id, datatype, type_name) - ccall((:QMPI_Type_set_name, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, Ptr{Cchar}), context, tool_id, datatype, type_name) -end - -function QMPI_Type_size(context, tool_id, datatype, size) - ccall((:QMPI_Type_size, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, Ptr{Cint}), context, tool_id, datatype, size) -end - -function QMPI_Type_size_c(context, tool_id, datatype, size) - ccall((:QMPI_Type_size_c, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, Ptr{MPI_Count}), context, tool_id, datatype, size) -end - -function QMPI_Type_size_x(context, tool_id, datatype, size) - ccall((:QMPI_Type_size_x, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, Ptr{MPI_Count}), context, tool_id, datatype, size) -end - -function QMPI_Type_vector(context, tool_id, count, blocklength, stride, oldtype, newtype) - ccall((:QMPI_Type_vector, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Cint, Cint, MPI_Datatype, Ptr{MPI_Datatype}), context, tool_id, count, blocklength, stride, oldtype, newtype) -end - -function QMPI_Type_vector_c(context, tool_id, count, blocklength, stride, oldtype, newtype) - ccall((:QMPI_Type_vector_c, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Count, MPI_Count, MPI_Count, MPI_Datatype, Ptr{MPI_Datatype}), context, tool_id, count, blocklength, stride, oldtype, newtype) -end - -function QMPI_Unpack(context, tool_id, inbuf, insize, position, outbuf, outcount, datatype, comm) - ccall((:QMPI_Unpack, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, Ptr{Cint}, Ptr{Cvoid}, Cint, MPI_Datatype, MPI_Comm), context, tool_id, inbuf, insize, position, outbuf, outcount, datatype, comm) -end - -function QMPI_Unpack_c(context, tool_id, inbuf, insize, position, outbuf, outcount, datatype, comm) - ccall((:QMPI_Unpack_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, Ptr{MPI_Count}, Ptr{Cvoid}, MPI_Count, MPI_Datatype, MPI_Comm), context, tool_id, inbuf, insize, position, outbuf, outcount, datatype, comm) -end - -function QMPI_Unpack_external(context, tool_id, datarep, inbuf, insize, position, outbuf, outcount, datatype) - ccall((:QMPI_Unpack_external, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cchar}, Ptr{Cvoid}, MPI_Aint, Ptr{MPI_Aint}, Ptr{Cvoid}, Cint, MPI_Datatype), context, tool_id, datarep, inbuf, insize, position, outbuf, outcount, datatype) -end - -function QMPI_Unpack_external_c(context, tool_id, datarep, inbuf, insize, position, outbuf, outcount, datatype) - ccall((:QMPI_Unpack_external_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cchar}, Ptr{Cvoid}, MPI_Count, Ptr{MPI_Count}, Ptr{Cvoid}, MPI_Count, MPI_Datatype), context, tool_id, datarep, inbuf, insize, position, outbuf, outcount, datatype) -end - -function QMPI_Address(context, tool_id, location, address) - ccall((:QMPI_Address, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Aint}), context, tool_id, location, address) -end - -function QMPI_Type_extent(context, tool_id, datatype, extent) - ccall((:QMPI_Type_extent, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, Ptr{MPI_Aint}), context, tool_id, datatype, extent) -end - -function QMPI_Type_lb(context, tool_id, datatype, displacement) - ccall((:QMPI_Type_lb, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, Ptr{MPI_Aint}), context, tool_id, datatype, displacement) -end - -function QMPI_Type_ub(context, tool_id, datatype, displacement) - ccall((:QMPI_Type_ub, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Datatype, Ptr{MPI_Aint}), context, tool_id, datatype, displacement) -end - -function QMPI_Type_hindexed(context, tool_id, count, array_of_blocklengths, array_of_displacements, oldtype, newtype) - ccall((:QMPI_Type_hindexed, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Cint}, Ptr{MPI_Aint}, MPI_Datatype, Ptr{MPI_Datatype}), context, tool_id, count, array_of_blocklengths, array_of_displacements, oldtype, newtype) -end - -function QMPI_Type_hvector(context, tool_id, count, blocklength, stride, oldtype, newtype) - ccall((:QMPI_Type_hvector, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Cint, MPI_Aint, MPI_Datatype, Ptr{MPI_Datatype}), context, tool_id, count, blocklength, stride, oldtype, newtype) -end - -function QMPI_Type_struct(context, tool_id, count, array_of_blocklengths, array_of_displacements, array_of_types, newtype) - ccall((:QMPI_Type_struct, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Cint}, Ptr{MPI_Aint}, Ptr{MPI_Datatype}, Ptr{MPI_Datatype}), context, tool_id, count, array_of_blocklengths, array_of_displacements, array_of_types, newtype) -end - -function QMPI_Add_error_class(context, tool_id, errorclass) - ccall((:QMPI_Add_error_class, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cint}), context, tool_id, errorclass) -end - -function QMPI_Add_error_code(context, tool_id, errorclass, errorcode) - ccall((:QMPI_Add_error_code, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Cint}), context, tool_id, errorclass, errorcode) -end - -function QMPI_Add_error_string(context, tool_id, errorcode, string) - ccall((:QMPI_Add_error_string, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Cchar}), context, tool_id, errorcode, string) -end - -function QMPI_Comm_call_errhandler(context, tool_id, comm, errorcode) - ccall((:QMPI_Comm_call_errhandler, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint), context, tool_id, comm, errorcode) -end - -function QMPI_Comm_create_errhandler(context, tool_id, comm_errhandler_fn, errhandler) - ccall((:QMPI_Comm_create_errhandler, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Errhandler}), context, tool_id, comm_errhandler_fn, errhandler) -end - -function QMPI_Comm_get_errhandler(context, tool_id, comm, errhandler) - ccall((:QMPI_Comm_get_errhandler, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{MPI_Errhandler}), context, tool_id, comm, errhandler) -end - -function QMPI_Comm_set_errhandler(context, tool_id, comm, errhandler) - ccall((:QMPI_Comm_set_errhandler, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, MPI_Errhandler), context, tool_id, comm, errhandler) -end - -function QMPI_Errhandler_free(context, tool_id, errhandler) - ccall((:QMPI_Errhandler_free, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Errhandler}), context, tool_id, errhandler) -end - -function QMPI_Error_class(context, tool_id, errorcode, errorclass) - ccall((:QMPI_Error_class, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Cint}), context, tool_id, errorcode, errorclass) -end - -function QMPI_Error_string(context, tool_id, errorcode, string, resultlen) - ccall((:QMPI_Error_string, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Cchar}, Ptr{Cint}), context, tool_id, errorcode, string, resultlen) -end - -function QMPI_File_call_errhandler(context, tool_id, fh, errorcode) - ccall((:QMPI_File_call_errhandler, libHYPRE), Cint, (QMPI_Context, Cint, MPI_File, Cint), context, tool_id, fh, errorcode) -end - -function QMPI_File_create_errhandler(context, tool_id, file_errhandler_fn, errhandler) - ccall((:QMPI_File_create_errhandler, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Errhandler}), context, tool_id, file_errhandler_fn, errhandler) -end - -function QMPI_File_get_errhandler(context, tool_id, file, errhandler) - ccall((:QMPI_File_get_errhandler, libHYPRE), Cint, (QMPI_Context, Cint, MPI_File, Ptr{MPI_Errhandler}), context, tool_id, file, errhandler) -end - -function QMPI_File_set_errhandler(context, tool_id, file, errhandler) - ccall((:QMPI_File_set_errhandler, libHYPRE), Cint, (QMPI_Context, Cint, MPI_File, MPI_Errhandler), context, tool_id, file, errhandler) -end - -function QMPI_Session_call_errhandler(context, tool_id, session, errorcode) - ccall((:QMPI_Session_call_errhandler, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Session, Cint), context, tool_id, session, errorcode) -end - -function QMPI_Session_create_errhandler(context, tool_id, session_errhandler_fn, errhandler) - ccall((:QMPI_Session_create_errhandler, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Errhandler}), context, tool_id, session_errhandler_fn, errhandler) -end - -function QMPI_Session_get_errhandler(context, tool_id, session, errhandler) - ccall((:QMPI_Session_get_errhandler, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Session, Ptr{MPI_Errhandler}), context, tool_id, session, errhandler) -end - -function QMPI_Session_set_errhandler(context, tool_id, session, errhandler) - ccall((:QMPI_Session_set_errhandler, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Session, MPI_Errhandler), context, tool_id, session, errhandler) -end - -function QMPI_Win_call_errhandler(context, tool_id, win, errorcode) - ccall((:QMPI_Win_call_errhandler, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win, Cint), context, tool_id, win, errorcode) -end - -function QMPI_Win_create_errhandler(context, tool_id, win_errhandler_fn, errhandler) - ccall((:QMPI_Win_create_errhandler, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Errhandler}), context, tool_id, win_errhandler_fn, errhandler) -end - -function QMPI_Win_get_errhandler(context, tool_id, win, errhandler) - ccall((:QMPI_Win_get_errhandler, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win, Ptr{MPI_Errhandler}), context, tool_id, win, errhandler) -end - -function QMPI_Win_set_errhandler(context, tool_id, win, errhandler) - ccall((:QMPI_Win_set_errhandler, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win, MPI_Errhandler), context, tool_id, win, errhandler) -end - -function QMPIX_Delete_error_class(context, tool_id, errorclass) - ccall((:QMPIX_Delete_error_class, libHYPRE), Cint, (QMPI_Context, Cint, Cint), context, tool_id, errorclass) -end - -function QMPIX_Delete_error_code(context, tool_id, errorcode) - ccall((:QMPIX_Delete_error_code, libHYPRE), Cint, (QMPI_Context, Cint, Cint), context, tool_id, errorcode) -end - -function QMPIX_Delete_error_string(context, tool_id, errorcode) - ccall((:QMPIX_Delete_error_string, libHYPRE), Cint, (QMPI_Context, Cint, Cint), context, tool_id, errorcode) -end - -function QMPI_Errhandler_create(context, tool_id, comm_errhandler_fn, errhandler) - ccall((:QMPI_Errhandler_create, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Errhandler}), context, tool_id, comm_errhandler_fn, errhandler) -end - -function QMPI_Errhandler_get(context, tool_id, comm, errhandler) - ccall((:QMPI_Errhandler_get, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{MPI_Errhandler}), context, tool_id, comm, errhandler) -end - -function QMPI_Errhandler_set(context, tool_id, comm, errhandler) - ccall((:QMPI_Errhandler_set, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, MPI_Errhandler), context, tool_id, comm, errhandler) -end - -function QMPI_Group_compare(context, tool_id, group1, group2, result) - ccall((:QMPI_Group_compare, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Group, MPI_Group, Ptr{Cint}), context, tool_id, group1, group2, result) -end - -function QMPI_Group_difference(context, tool_id, group1, group2, newgroup) - ccall((:QMPI_Group_difference, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Group, MPI_Group, Ptr{MPI_Group}), context, tool_id, group1, group2, newgroup) -end - -function QMPI_Group_excl(context, tool_id, group, n, ranks, newgroup) - ccall((:QMPI_Group_excl, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Group, Cint, Ptr{Cint}, Ptr{MPI_Group}), context, tool_id, group, n, ranks, newgroup) -end - -function QMPI_Group_free(context, tool_id, group) - ccall((:QMPI_Group_free, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Group}), context, tool_id, group) -end - -function QMPI_Group_incl(context, tool_id, group, n, ranks, newgroup) - ccall((:QMPI_Group_incl, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Group, Cint, Ptr{Cint}, Ptr{MPI_Group}), context, tool_id, group, n, ranks, newgroup) -end - -function QMPI_Group_intersection(context, tool_id, group1, group2, newgroup) - ccall((:QMPI_Group_intersection, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Group, MPI_Group, Ptr{MPI_Group}), context, tool_id, group1, group2, newgroup) -end - -function QMPI_Group_range_excl(context, tool_id, group, n, ranges, newgroup) - ccall((:QMPI_Group_range_excl, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Group, Cint, Ptr{NTuple{3, Cint}}, Ptr{MPI_Group}), context, tool_id, group, n, ranges, newgroup) -end - -function QMPI_Group_range_incl(context, tool_id, group, n, ranges, newgroup) - ccall((:QMPI_Group_range_incl, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Group, Cint, Ptr{NTuple{3, Cint}}, Ptr{MPI_Group}), context, tool_id, group, n, ranges, newgroup) -end - -function QMPI_Group_rank(context, tool_id, group, rank) - ccall((:QMPI_Group_rank, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Group, Ptr{Cint}), context, tool_id, group, rank) -end - -function QMPI_Group_size(context, tool_id, group, size) - ccall((:QMPI_Group_size, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Group, Ptr{Cint}), context, tool_id, group, size) -end - -function QMPI_Group_translate_ranks(context, tool_id, group1, n, ranks1, group2, ranks2) - ccall((:QMPI_Group_translate_ranks, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Group, Cint, Ptr{Cint}, MPI_Group, Ptr{Cint}), context, tool_id, group1, n, ranks1, group2, ranks2) -end - -function QMPI_Group_union(context, tool_id, group1, group2, newgroup) - ccall((:QMPI_Group_union, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Group, MPI_Group, Ptr{MPI_Group}), context, tool_id, group1, group2, newgroup) -end - -function QMPI_Info_create(context, tool_id, info) - ccall((:QMPI_Info_create, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Info}), context, tool_id, info) -end - -function QMPI_Info_create_env(context, tool_id, argc, argv, info) - ccall((:QMPI_Info_create_env, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Ptr{Cchar}}, Ptr{MPI_Info}), context, tool_id, argc, argv, info) -end - -function QMPI_Info_delete(context, tool_id, info, key) - ccall((:QMPI_Info_delete, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Info, Ptr{Cchar}), context, tool_id, info, key) -end - -function QMPI_Info_dup(context, tool_id, info, newinfo) - ccall((:QMPI_Info_dup, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Info, Ptr{MPI_Info}), context, tool_id, info, newinfo) -end - -function QMPI_Info_free(context, tool_id, info) - ccall((:QMPI_Info_free, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Info}), context, tool_id, info) -end - -function QMPI_Info_get(context, tool_id, info, key, valuelen, value, flag) - ccall((:QMPI_Info_get, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Info, Ptr{Cchar}, Cint, Ptr{Cchar}, Ptr{Cint}), context, tool_id, info, key, valuelen, value, flag) -end - -function QMPI_Info_get_nkeys(context, tool_id, info, nkeys) - ccall((:QMPI_Info_get_nkeys, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Info, Ptr{Cint}), context, tool_id, info, nkeys) -end - -function QMPI_Info_get_nthkey(context, tool_id, info, n, key) - ccall((:QMPI_Info_get_nthkey, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Info, Cint, Ptr{Cchar}), context, tool_id, info, n, key) -end - -function QMPI_Info_get_string(context, tool_id, info, key, buflen, value, flag) - ccall((:QMPI_Info_get_string, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Info, Ptr{Cchar}, Ptr{Cint}, Ptr{Cchar}, Ptr{Cint}), context, tool_id, info, key, buflen, value, flag) -end - -function QMPI_Info_get_valuelen(context, tool_id, info, key, valuelen, flag) - ccall((:QMPI_Info_get_valuelen, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Info, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}), context, tool_id, info, key, valuelen, flag) -end - -function QMPI_Info_set(context, tool_id, info, key, value) - ccall((:QMPI_Info_set, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Info, Ptr{Cchar}, Ptr{Cchar}), context, tool_id, info, key, value) -end - -function QMPI_Abort(context, tool_id, comm, errorcode) - ccall((:QMPI_Abort, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint), context, tool_id, comm, errorcode) -end - -function QMPI_Comm_create_from_group(context, tool_id, group, stringtag, info, errhandler, newcomm) - ccall((:QMPI_Comm_create_from_group, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Group, Ptr{Cchar}, MPI_Info, MPI_Errhandler, Ptr{MPI_Comm}), context, tool_id, group, stringtag, info, errhandler, newcomm) -end - -function QMPI_Finalize(context, tool_id) - ccall((:QMPI_Finalize, libHYPRE), Cint, (QMPI_Context, Cint), context, tool_id) -end - -function QMPI_Finalized(context, tool_id, flag) - ccall((:QMPI_Finalized, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cint}), context, tool_id, flag) -end - -function QMPI_Group_from_session_pset(context, tool_id, session, pset_name, newgroup) - ccall((:QMPI_Group_from_session_pset, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Session, Ptr{Cchar}, Ptr{MPI_Group}), context, tool_id, session, pset_name, newgroup) -end - -function QMPI_Init(context, tool_id, argc, argv) - ccall((:QMPI_Init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cint}, Ptr{Ptr{Ptr{Cchar}}}), context, tool_id, argc, argv) -end - -function QMPI_Init_thread(context, tool_id, argc, argv, required, provided) - ccall((:QMPI_Init_thread, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cint}, Ptr{Ptr{Ptr{Cchar}}}, Cint, Ptr{Cint}), context, tool_id, argc, argv, required, provided) -end - -function QMPI_Initialized(context, tool_id, flag) - ccall((:QMPI_Initialized, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cint}), context, tool_id, flag) -end - -function QMPI_Is_thread_main(context, tool_id, flag) - ccall((:QMPI_Is_thread_main, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cint}), context, tool_id, flag) -end - -function QMPI_Query_thread(context, tool_id, provided) - ccall((:QMPI_Query_thread, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cint}), context, tool_id, provided) -end - -function QMPI_Session_finalize(context, tool_id, session) - ccall((:QMPI_Session_finalize, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Session}), context, tool_id, session) -end - -function QMPI_Session_get_info(context, tool_id, session, info_used) - ccall((:QMPI_Session_get_info, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Session, Ptr{MPI_Info}), context, tool_id, session, info_used) -end - -function QMPI_Session_get_nth_pset(context, tool_id, session, info, n, pset_len, pset_name) - ccall((:QMPI_Session_get_nth_pset, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Session, MPI_Info, Cint, Ptr{Cint}, Ptr{Cchar}), context, tool_id, session, info, n, pset_len, pset_name) -end - -function QMPI_Session_get_num_psets(context, tool_id, session, info, npset_names) - ccall((:QMPI_Session_get_num_psets, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Session, MPI_Info, Ptr{Cint}), context, tool_id, session, info, npset_names) -end - -function QMPI_Session_get_pset_info(context, tool_id, session, pset_name, info) - ccall((:QMPI_Session_get_pset_info, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Session, Ptr{Cchar}, Ptr{MPI_Info}), context, tool_id, session, pset_name, info) -end - -function QMPI_Session_init(context, tool_id, info, errhandler, session) - ccall((:QMPI_Session_init, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Info, MPI_Errhandler, Ptr{MPI_Session}), context, tool_id, info, errhandler, session) -end - -function QMPI_Aint_add(context, tool_id, base, disp) - ccall((:QMPI_Aint_add, libHYPRE), MPI_Aint, (QMPI_Context, Cint, MPI_Aint, MPI_Aint), context, tool_id, base, disp) -end - -function QMPI_Aint_diff(context, tool_id, addr1, addr2) - ccall((:QMPI_Aint_diff, libHYPRE), MPI_Aint, (QMPI_Context, Cint, MPI_Aint, MPI_Aint), context, tool_id, addr1, addr2) -end - -function QMPI_Get_library_version(context, tool_id, version, resultlen) - ccall((:QMPI_Get_library_version, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cchar}, Ptr{Cint}), context, tool_id, version, resultlen) -end - -function QMPI_Get_processor_name(context, tool_id, name, resultlen) - ccall((:QMPI_Get_processor_name, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cchar}, Ptr{Cint}), context, tool_id, name, resultlen) -end - -function QMPI_Get_version(context, tool_id, version, subversion) - ccall((:QMPI_Get_version, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cint}, Ptr{Cint}), context, tool_id, version, subversion) -end - -function QMPIX_GPU_query_support(context, tool_id, gpu_type, is_supported) - ccall((:QMPIX_GPU_query_support, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Cint}), context, tool_id, gpu_type, is_supported) -end - -function QMPIX_Query_cuda_support(context, tool_id) - ccall((:QMPIX_Query_cuda_support, libHYPRE), Cint, (QMPI_Context, Cint), context, tool_id) -end - -function QMPIX_Query_ze_support(context, tool_id) - ccall((:QMPIX_Query_ze_support, libHYPRE), Cint, (QMPI_Context, Cint), context, tool_id) -end - -function QMPIX_Query_hip_support(context, tool_id) - ccall((:QMPIX_Query_hip_support, libHYPRE), Cint, (QMPI_Context, Cint), context, tool_id) -end - -function QMPI_T_category_changed(context, tool_id, update_number) - ccall((:QMPI_T_category_changed, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cint}), context, tool_id, update_number) -end - -function QMPI_T_category_get_categories(context, tool_id, cat_index, len, indices) - ccall((:QMPI_T_category_get_categories, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Cint, Ptr{Cint}), context, tool_id, cat_index, len, indices) -end - -function QMPI_T_category_get_cvars(context, tool_id, cat_index, len, indices) - ccall((:QMPI_T_category_get_cvars, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Cint, Ptr{Cint}), context, tool_id, cat_index, len, indices) -end - -function QMPI_T_category_get_events(context, tool_id, cat_index, len, indices) - ccall((:QMPI_T_category_get_events, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Cint, Ptr{Cint}), context, tool_id, cat_index, len, indices) -end - -function QMPI_T_category_get_index(context, tool_id, name, cat_index) - ccall((:QMPI_T_category_get_index, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cchar}, Ptr{Cint}), context, tool_id, name, cat_index) -end - -function QMPI_T_category_get_info(context, tool_id, cat_index, name, name_len, desc, desc_len, num_cvars, num_pvars, num_categories) - ccall((:QMPI_T_category_get_info, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Cchar}, Ptr{Cint}, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), context, tool_id, cat_index, name, name_len, desc, desc_len, num_cvars, num_pvars, num_categories) -end - -function QMPI_T_category_get_num(context, tool_id, num_cat) - ccall((:QMPI_T_category_get_num, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cint}), context, tool_id, num_cat) -end - -function QMPI_T_category_get_num_events(context, tool_id, cat_index, num_events) - ccall((:QMPI_T_category_get_num_events, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Cint}), context, tool_id, cat_index, num_events) -end - -function QMPI_T_category_get_pvars(context, tool_id, cat_index, len, indices) - ccall((:QMPI_T_category_get_pvars, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Cint, Ptr{Cint}), context, tool_id, cat_index, len, indices) -end - -function QMPI_T_cvar_get_index(context, tool_id, name, cvar_index) - ccall((:QMPI_T_cvar_get_index, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cchar}, Ptr{Cint}), context, tool_id, name, cvar_index) -end - -function QMPI_T_cvar_get_info(context, tool_id, cvar_index, name, name_len, verbosity, datatype, enumtype, desc, desc_len, bind, scope) - ccall((:QMPI_T_cvar_get_info, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, Ptr{MPI_T_enum}, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), context, tool_id, cvar_index, name, name_len, verbosity, datatype, enumtype, desc, desc_len, bind, scope) -end - -function QMPI_T_cvar_get_num(context, tool_id, num_cvar) - ccall((:QMPI_T_cvar_get_num, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cint}), context, tool_id, num_cvar) -end - -function QMPI_T_cvar_handle_alloc(context, tool_id, cvar_index, obj_handle, handle, count) - ccall((:QMPI_T_cvar_handle_alloc, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Cvoid}, Ptr{MPI_T_cvar_handle}, Ptr{Cint}), context, tool_id, cvar_index, obj_handle, handle, count) -end - -function QMPI_T_cvar_handle_free(context, tool_id, handle) - ccall((:QMPI_T_cvar_handle_free, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_T_cvar_handle}), context, tool_id, handle) -end - -function QMPI_T_cvar_read(context, tool_id, handle, buf) - ccall((:QMPI_T_cvar_read, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_cvar_handle, Ptr{Cvoid}), context, tool_id, handle, buf) -end - -function QMPI_T_cvar_write(context, tool_id, handle, buf) - ccall((:QMPI_T_cvar_write, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_cvar_handle, Ptr{Cvoid}), context, tool_id, handle, buf) -end - -function QMPI_T_enum_get_info(context, tool_id, enumtype, num, name, name_len) - ccall((:QMPI_T_enum_get_info, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_enum, Ptr{Cint}, Ptr{Cchar}, Ptr{Cint}), context, tool_id, enumtype, num, name, name_len) -end - -function QMPI_T_enum_get_item(context, tool_id, enumtype, indx, value, name, name_len) - ccall((:QMPI_T_enum_get_item, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_enum, Cint, Ptr{Cint}, Ptr{Cchar}, Ptr{Cint}), context, tool_id, enumtype, indx, value, name, name_len) -end - -function QMPI_T_event_callback_get_info(context, tool_id, event_registration, cb_safety, info_used) - ccall((:QMPI_T_event_callback_get_info, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_event_registration, MPI_T_cb_safety, Ptr{MPI_Info}), context, tool_id, event_registration, cb_safety, info_used) -end - -function QMPI_T_event_callback_set_info(context, tool_id, event_registration, cb_safety, info) - ccall((:QMPI_T_event_callback_set_info, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_event_registration, MPI_T_cb_safety, MPI_Info), context, tool_id, event_registration, cb_safety, info) -end - -function QMPI_T_event_copy(context, tool_id, event_instance, buffer) - ccall((:QMPI_T_event_copy, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_event_instance, Ptr{Cvoid}), context, tool_id, event_instance, buffer) -end - -function QMPI_T_event_get_index(context, tool_id, name, event_index) - ccall((:QMPI_T_event_get_index, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cchar}, Ptr{Cint}), context, tool_id, name, event_index) -end - -function QMPI_T_event_get_info(context, tool_id, event_index, name, name_len, verbosity, array_of_datatypes, array_of_displacements, num_elements, enumtype, info, desc, desc_len, bind) - ccall((:QMPI_T_event_get_info, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, Ptr{MPI_Aint}, Ptr{Cint}, Ptr{MPI_T_enum}, Ptr{MPI_Info}, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}), context, tool_id, event_index, name, name_len, verbosity, array_of_datatypes, array_of_displacements, num_elements, enumtype, info, desc, desc_len, bind) -end - -function QMPI_T_event_get_num(context, tool_id, num_events) - ccall((:QMPI_T_event_get_num, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cint}), context, tool_id, num_events) -end - -function QMPI_T_event_get_source(context, tool_id, event_instance, source_index) - ccall((:QMPI_T_event_get_source, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_event_instance, Ptr{Cint}), context, tool_id, event_instance, source_index) -end - -function QMPI_T_event_get_timestamp(context, tool_id, event_instance, event_timestamp) - ccall((:QMPI_T_event_get_timestamp, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_event_instance, Ptr{MPI_Count}), context, tool_id, event_instance, event_timestamp) -end - -function QMPI_T_event_handle_alloc(context, tool_id, event_index, obj_handle, info, event_registration) - ccall((:QMPI_T_event_handle_alloc, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Cvoid}, MPI_Info, Ptr{MPI_T_event_registration}), context, tool_id, event_index, obj_handle, info, event_registration) -end - -function QMPI_T_event_handle_free(context, tool_id, event_registration, user_data, free_cb_function) - ccall((:QMPI_T_event_handle_free, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_event_registration, Ptr{Cvoid}, MPI_T_event_free_cb_function), context, tool_id, event_registration, user_data, free_cb_function) -end - -function QMPI_T_event_handle_get_info(context, tool_id, event_registration, info_used) - ccall((:QMPI_T_event_handle_get_info, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_event_registration, Ptr{MPI_Info}), context, tool_id, event_registration, info_used) -end - -function QMPI_T_event_handle_set_info(context, tool_id, event_registration, info) - ccall((:QMPI_T_event_handle_set_info, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_event_registration, MPI_Info), context, tool_id, event_registration, info) -end - -function QMPI_T_event_read(context, tool_id, event_instance, element_index, buffer) - ccall((:QMPI_T_event_read, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_event_instance, Cint, Ptr{Cvoid}), context, tool_id, event_instance, element_index, buffer) -end - -function QMPI_T_event_register_callback(context, tool_id, event_registration, cb_safety, info, user_data, event_cb_function) - ccall((:QMPI_T_event_register_callback, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_event_registration, MPI_T_cb_safety, MPI_Info, Ptr{Cvoid}, MPI_T_event_cb_function), context, tool_id, event_registration, cb_safety, info, user_data, event_cb_function) -end - -function QMPI_T_event_set_dropped_handler(context, tool_id, event_registration, dropped_cb_function) - ccall((:QMPI_T_event_set_dropped_handler, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_event_registration, MPI_T_event_dropped_cb_function), context, tool_id, event_registration, dropped_cb_function) -end - -function QMPI_T_finalize(context, tool_id) - ccall((:QMPI_T_finalize, libHYPRE), Cint, (QMPI_Context, Cint), context, tool_id) -end - -function QMPI_T_init_thread(context, tool_id, required, provided) - ccall((:QMPI_T_init_thread, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Cint}), context, tool_id, required, provided) -end - -function QMPI_T_pvar_get_index(context, tool_id, name, var_class, pvar_index) - ccall((:QMPI_T_pvar_get_index, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cchar}, Cint, Ptr{Cint}), context, tool_id, name, var_class, pvar_index) -end - -function QMPI_T_pvar_get_info(context, tool_id, pvar_index, name, name_len, verbosity, var_class, datatype, enumtype, desc, desc_len, bind, readonly, continuous, atomic) - ccall((:QMPI_T_pvar_get_info, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Datatype}, Ptr{MPI_T_enum}, Ptr{Cchar}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), context, tool_id, pvar_index, name, name_len, verbosity, var_class, datatype, enumtype, desc, desc_len, bind, readonly, continuous, atomic) -end - -function QMPI_T_pvar_get_num(context, tool_id, num_pvar) - ccall((:QMPI_T_pvar_get_num, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cint}), context, tool_id, num_pvar) -end - -function QMPI_T_pvar_handle_alloc(context, tool_id, session, pvar_index, obj_handle, handle, count) - ccall((:QMPI_T_pvar_handle_alloc, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_pvar_session, Cint, Ptr{Cvoid}, Ptr{MPI_T_pvar_handle}, Ptr{Cint}), context, tool_id, session, pvar_index, obj_handle, handle, count) -end - -function QMPI_T_pvar_handle_free(context, tool_id, session, handle) - ccall((:QMPI_T_pvar_handle_free, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_pvar_session, Ptr{MPI_T_pvar_handle}), context, tool_id, session, handle) -end - -function QMPI_T_pvar_read(context, tool_id, session, handle, buf) - ccall((:QMPI_T_pvar_read, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_pvar_session, MPI_T_pvar_handle, Ptr{Cvoid}), context, tool_id, session, handle, buf) -end - -function QMPI_T_pvar_readreset(context, tool_id, session, handle, buf) - ccall((:QMPI_T_pvar_readreset, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_pvar_session, MPI_T_pvar_handle, Ptr{Cvoid}), context, tool_id, session, handle, buf) -end - -function QMPI_T_pvar_reset(context, tool_id, session, handle) - ccall((:QMPI_T_pvar_reset, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_pvar_session, MPI_T_pvar_handle), context, tool_id, session, handle) -end - -function QMPI_T_pvar_session_create(context, tool_id, session) - ccall((:QMPI_T_pvar_session_create, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_T_pvar_session}), context, tool_id, session) -end - -function QMPI_T_pvar_session_free(context, tool_id, session) - ccall((:QMPI_T_pvar_session_free, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_T_pvar_session}), context, tool_id, session) -end - -function QMPI_T_pvar_start(context, tool_id, session, handle) - ccall((:QMPI_T_pvar_start, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_pvar_session, MPI_T_pvar_handle), context, tool_id, session, handle) -end - -function QMPI_T_pvar_stop(context, tool_id, session, handle) - ccall((:QMPI_T_pvar_stop, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_pvar_session, MPI_T_pvar_handle), context, tool_id, session, handle) -end - -function QMPI_T_pvar_write(context, tool_id, session, handle, buf) - ccall((:QMPI_T_pvar_write, libHYPRE), Cint, (QMPI_Context, Cint, MPI_T_pvar_session, MPI_T_pvar_handle, Ptr{Cvoid}), context, tool_id, session, handle, buf) -end - -function QMPI_T_source_get_info(context, tool_id, source_index, name, name_len, desc, desc_len, ordering, ticks_per_second, max_ticks, info) - ccall((:QMPI_T_source_get_info, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Cchar}, Ptr{Cint}, Ptr{Cchar}, Ptr{Cint}, Ptr{MPI_T_source_order}, Ptr{MPI_Count}, Ptr{MPI_Count}, Ptr{MPI_Info}), context, tool_id, source_index, name, name_len, desc, desc_len, ordering, ticks_per_second, max_ticks, info) -end - -function QMPI_T_source_get_num(context, tool_id, num_sources) - ccall((:QMPI_T_source_get_num, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cint}), context, tool_id, num_sources) -end - -function QMPI_T_source_get_timestamp(context, tool_id, source_index, timestamp) - ccall((:QMPI_T_source_get_timestamp, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{MPI_Count}), context, tool_id, source_index, timestamp) -end - -function QMPI_Op_commutative(context, tool_id, op, commute) - ccall((:QMPI_Op_commutative, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Op, Ptr{Cint}), context, tool_id, op, commute) -end - -function QMPI_Op_create(context, tool_id, user_fn, commute, op) - ccall((:QMPI_Op_create, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, Ptr{MPI_Op}), context, tool_id, user_fn, commute, op) -end - -function QMPI_Op_create_c(context, tool_id, user_fn, commute, op) - ccall((:QMPI_Op_create_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, Ptr{MPI_Op}), context, tool_id, user_fn, commute, op) -end - -function QMPI_Op_free(context, tool_id, op) - ccall((:QMPI_Op_free, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Op}), context, tool_id, op) -end - -function QMPI_Parrived(context, tool_id, request, partition, flag) - ccall((:QMPI_Parrived, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Request, Cint, Ptr{Cint}), context, tool_id, request, partition, flag) -end - -function QMPI_Pready(context, tool_id, partition, request) - ccall((:QMPI_Pready, libHYPRE), Cint, (QMPI_Context, Cint, Cint, MPI_Request), context, tool_id, partition, request) -end - -function QMPI_Pready_list(context, tool_id, length, array_of_partitions, request) - ccall((:QMPI_Pready_list, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Cint}, MPI_Request), context, tool_id, length, array_of_partitions, request) -end - -function QMPI_Pready_range(context, tool_id, partition_low, partition_high, request) - ccall((:QMPI_Pready_range, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Cint, MPI_Request), context, tool_id, partition_low, partition_high, request) -end - -function QMPI_Precv_init(context, tool_id, buf, partitions, count, datatype, dest, tag, comm, info, request) - ccall((:QMPI_Precv_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, buf, partitions, count, datatype, dest, tag, comm, info, request) -end - -function QMPI_Psend_init(context, tool_id, buf, partitions, count, datatype, dest, tag, comm, info, request) - ccall((:QMPI_Psend_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, MPI_Info, Ptr{MPI_Request}), context, tool_id, buf, partitions, count, datatype, dest, tag, comm, info, request) -end - -function QMPI_Bsend(context, tool_id, buf, count, datatype, dest, tag, comm) - ccall((:QMPI_Bsend, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm), context, tool_id, buf, count, datatype, dest, tag, comm) -end - -function QMPI_Bsend_c(context, tool_id, buf, count, datatype, dest, tag, comm) - ccall((:QMPI_Bsend_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm), context, tool_id, buf, count, datatype, dest, tag, comm) -end - -function QMPI_Bsend_init(context, tool_id, buf, count, datatype, dest, tag, comm, request) - ccall((:QMPI_Bsend_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, dest, tag, comm, request) -end - -function QMPI_Bsend_init_c(context, tool_id, buf, count, datatype, dest, tag, comm, request) - ccall((:QMPI_Bsend_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, dest, tag, comm, request) -end - -function QMPI_Buffer_attach(context, tool_id, buffer, size) - ccall((:QMPI_Buffer_attach, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint), context, tool_id, buffer, size) -end - -function QMPI_Buffer_attach_c(context, tool_id, buffer, size) - ccall((:QMPI_Buffer_attach_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count), context, tool_id, buffer, size) -end - -function QMPI_Buffer_detach(context, tool_id, buffer_addr, size) - ccall((:QMPI_Buffer_detach, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cint}), context, tool_id, buffer_addr, size) -end - -function QMPI_Buffer_detach_c(context, tool_id, buffer_addr, size) - ccall((:QMPI_Buffer_detach_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{MPI_Count}), context, tool_id, buffer_addr, size) -end - -function QMPI_Ibsend(context, tool_id, buf, count, datatype, dest, tag, comm, request) - ccall((:QMPI_Ibsend, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, dest, tag, comm, request) -end - -function QMPI_Ibsend_c(context, tool_id, buf, count, datatype, dest, tag, comm, request) - ccall((:QMPI_Ibsend_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, dest, tag, comm, request) -end - -function QMPI_Improbe(context, tool_id, source, tag, comm, flag, message, status) - ccall((:QMPI_Improbe, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Cint, MPI_Comm, Ptr{Cint}, Ptr{MPI_Message}, Ptr{MPI_Status}), context, tool_id, source, tag, comm, flag, message, status) -end - -function QMPI_Imrecv(context, tool_id, buf, count, datatype, message, request) - ccall((:QMPI_Imrecv, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Message}, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, message, request) -end - -function QMPI_Imrecv_c(context, tool_id, buf, count, datatype, message, request) - ccall((:QMPI_Imrecv_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Message}, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, message, request) -end - -function QMPI_Iprobe(context, tool_id, source, tag, comm, flag, status) - ccall((:QMPI_Iprobe, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Cint, MPI_Comm, Ptr{Cint}, Ptr{MPI_Status}), context, tool_id, source, tag, comm, flag, status) -end - -function QMPI_Irecv(context, tool_id, buf, count, datatype, source, tag, comm, request) - ccall((:QMPI_Irecv, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, source, tag, comm, request) -end - -function QMPI_Irecv_c(context, tool_id, buf, count, datatype, source, tag, comm, request) - ccall((:QMPI_Irecv_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, source, tag, comm, request) -end - -function QMPI_Irsend(context, tool_id, buf, count, datatype, dest, tag, comm, request) - ccall((:QMPI_Irsend, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, dest, tag, comm, request) -end - -function QMPI_Irsend_c(context, tool_id, buf, count, datatype, dest, tag, comm, request) - ccall((:QMPI_Irsend_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, dest, tag, comm, request) -end - -function QMPI_Isend(context, tool_id, buf, count, datatype, dest, tag, comm, request) - ccall((:QMPI_Isend, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, dest, tag, comm, request) -end - -function QMPI_Isend_c(context, tool_id, buf, count, datatype, dest, tag, comm, request) - ccall((:QMPI_Isend_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, dest, tag, comm, request) -end - -function QMPI_Isendrecv(context, tool_id, sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request) - ccall((:QMPI_Isendrecv, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request) -end - -function QMPI_Isendrecv_c(context, tool_id, sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request) - ccall((:QMPI_Isendrecv_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, request) -end - -function QMPI_Isendrecv_replace(context, tool_id, buf, count, datatype, dest, sendtag, source, recvtag, comm, request) - ccall((:QMPI_Isendrecv_replace, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, dest, sendtag, source, recvtag, comm, request) -end - -function QMPI_Isendrecv_replace_c(context, tool_id, buf, count, datatype, dest, sendtag, source, recvtag, comm, request) - ccall((:QMPI_Isendrecv_replace_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, dest, sendtag, source, recvtag, comm, request) -end - -function QMPI_Issend(context, tool_id, buf, count, datatype, dest, tag, comm, request) - ccall((:QMPI_Issend, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, dest, tag, comm, request) -end - -function QMPI_Issend_c(context, tool_id, buf, count, datatype, dest, tag, comm, request) - ccall((:QMPI_Issend_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, dest, tag, comm, request) -end - -function QMPI_Mprobe(context, tool_id, source, tag, comm, message, status) - ccall((:QMPI_Mprobe, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Cint, MPI_Comm, Ptr{MPI_Message}, Ptr{MPI_Status}), context, tool_id, source, tag, comm, message, status) -end - -function QMPI_Mrecv(context, tool_id, buf, count, datatype, message, status) - ccall((:QMPI_Mrecv, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Message}, Ptr{MPI_Status}), context, tool_id, buf, count, datatype, message, status) -end - -function QMPI_Mrecv_c(context, tool_id, buf, count, datatype, message, status) - ccall((:QMPI_Mrecv_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Message}, Ptr{MPI_Status}), context, tool_id, buf, count, datatype, message, status) -end - -function QMPI_Probe(context, tool_id, source, tag, comm, status) - ccall((:QMPI_Probe, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Cint, MPI_Comm, Ptr{MPI_Status}), context, tool_id, source, tag, comm, status) -end - -function QMPI_Recv(context, tool_id, buf, count, datatype, source, tag, comm, status) - ccall((:QMPI_Recv, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Status}), context, tool_id, buf, count, datatype, source, tag, comm, status) -end - -function QMPI_Recv_c(context, tool_id, buf, count, datatype, source, tag, comm, status) - ccall((:QMPI_Recv_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Status}), context, tool_id, buf, count, datatype, source, tag, comm, status) -end - -function QMPI_Recv_init(context, tool_id, buf, count, datatype, source, tag, comm, request) - ccall((:QMPI_Recv_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, source, tag, comm, request) -end - -function QMPI_Recv_init_c(context, tool_id, buf, count, datatype, source, tag, comm, request) - ccall((:QMPI_Recv_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, source, tag, comm, request) -end - -function QMPI_Rsend(context, tool_id, buf, count, datatype, dest, tag, comm) - ccall((:QMPI_Rsend, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm), context, tool_id, buf, count, datatype, dest, tag, comm) -end - -function QMPI_Rsend_c(context, tool_id, buf, count, datatype, dest, tag, comm) - ccall((:QMPI_Rsend_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm), context, tool_id, buf, count, datatype, dest, tag, comm) -end - -function QMPI_Rsend_init(context, tool_id, buf, count, datatype, dest, tag, comm, request) - ccall((:QMPI_Rsend_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, dest, tag, comm, request) -end - -function QMPI_Rsend_init_c(context, tool_id, buf, count, datatype, dest, tag, comm, request) - ccall((:QMPI_Rsend_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, dest, tag, comm, request) -end - -function QMPI_Send(context, tool_id, buf, count, datatype, dest, tag, comm) - ccall((:QMPI_Send, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm), context, tool_id, buf, count, datatype, dest, tag, comm) -end - -function QMPI_Send_c(context, tool_id, buf, count, datatype, dest, tag, comm) - ccall((:QMPI_Send_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm), context, tool_id, buf, count, datatype, dest, tag, comm) -end - -function QMPI_Send_init(context, tool_id, buf, count, datatype, dest, tag, comm, request) - ccall((:QMPI_Send_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, dest, tag, comm, request) -end - -function QMPI_Send_init_c(context, tool_id, buf, count, datatype, dest, tag, comm, request) - ccall((:QMPI_Send_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, dest, tag, comm, request) -end - -function QMPI_Sendrecv(context, tool_id, sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status) - ccall((:QMPI_Sendrecv, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Status}), context, tool_id, sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status) -end - -function QMPI_Sendrecv_c(context, tool_id, sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status) - ccall((:QMPI_Sendrecv_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Status}), context, tool_id, sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status) -end - -function QMPI_Sendrecv_replace(context, tool_id, buf, count, datatype, dest, sendtag, source, recvtag, comm, status) - ccall((:QMPI_Sendrecv_replace, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, Cint, Cint, MPI_Comm, Ptr{MPI_Status}), context, tool_id, buf, count, datatype, dest, sendtag, source, recvtag, comm, status) -end - -function QMPI_Sendrecv_replace_c(context, tool_id, buf, count, datatype, dest, sendtag, source, recvtag, comm, status) - ccall((:QMPI_Sendrecv_replace_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, Cint, Cint, MPI_Comm, Ptr{MPI_Status}), context, tool_id, buf, count, datatype, dest, sendtag, source, recvtag, comm, status) -end - -function QMPI_Ssend(context, tool_id, buf, count, datatype, dest, tag, comm) - ccall((:QMPI_Ssend, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm), context, tool_id, buf, count, datatype, dest, tag, comm) -end - -function QMPI_Ssend_c(context, tool_id, buf, count, datatype, dest, tag, comm) - ccall((:QMPI_Ssend_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm), context, tool_id, buf, count, datatype, dest, tag, comm) -end - -function QMPI_Ssend_init(context, tool_id, buf, count, datatype, dest, tag, comm, request) - ccall((:QMPI_Ssend_init, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, dest, tag, comm, request) -end - -function QMPI_Ssend_init_c(context, tool_id, buf, count, datatype, dest, tag, comm, request) - ccall((:QMPI_Ssend_init_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, Cint, MPI_Comm, Ptr{MPI_Request}), context, tool_id, buf, count, datatype, dest, tag, comm, request) -end - -function QMPI_Cancel(context, tool_id, request) - ccall((:QMPI_Cancel, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Request}), context, tool_id, request) -end - -function QMPI_Grequest_complete(context, tool_id, request) - ccall((:QMPI_Grequest_complete, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Request), context, tool_id, request) -end - -function QMPI_Grequest_start(context, tool_id, query_fn, free_fn, cancel_fn, extra_state, request) - ccall((:QMPI_Grequest_start, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{MPI_Request}), context, tool_id, query_fn, free_fn, cancel_fn, extra_state, request) -end - -function QMPI_Request_free(context, tool_id, request) - ccall((:QMPI_Request_free, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Request}), context, tool_id, request) -end - -function QMPI_Request_get_status(context, tool_id, request, flag, status) - ccall((:QMPI_Request_get_status, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Request, Ptr{Cint}, Ptr{MPI_Status}), context, tool_id, request, flag, status) -end - -function QMPI_Start(context, tool_id, request) - ccall((:QMPI_Start, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Request}), context, tool_id, request) -end - -function QMPI_Startall(context, tool_id, count, array_of_requests) - ccall((:QMPI_Startall, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{MPI_Request}), context, tool_id, count, array_of_requests) -end - -function QMPI_Status_set_cancelled(context, tool_id, status, flag) - ccall((:QMPI_Status_set_cancelled, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Status}, Cint), context, tool_id, status, flag) -end - -function QMPI_Test(context, tool_id, request, flag, status) - ccall((:QMPI_Test, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Request}, Ptr{Cint}, Ptr{MPI_Status}), context, tool_id, request, flag, status) -end - -function QMPI_Test_cancelled(context, tool_id, status, flag) - ccall((:QMPI_Test_cancelled, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Status}, Ptr{Cint}), context, tool_id, status, flag) -end - -function QMPI_Testall(context, tool_id, count, array_of_requests, flag, array_of_statuses) - ccall((:QMPI_Testall, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{MPI_Request}, Ptr{Cint}, Ptr{MPI_Status}), context, tool_id, count, array_of_requests, flag, array_of_statuses) -end - -function QMPI_Testany(context, tool_id, count, array_of_requests, indx, flag, status) - ccall((:QMPI_Testany, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{MPI_Request}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Status}), context, tool_id, count, array_of_requests, indx, flag, status) -end - -function QMPI_Testsome(context, tool_id, incount, array_of_requests, outcount, array_of_indices, array_of_statuses) - ccall((:QMPI_Testsome, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{MPI_Request}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Status}), context, tool_id, incount, array_of_requests, outcount, array_of_indices, array_of_statuses) -end - -function QMPI_Wait(context, tool_id, request, status) - ccall((:QMPI_Wait, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Request}, Ptr{MPI_Status}), context, tool_id, request, status) -end - -function QMPI_Waitall(context, tool_id, count, array_of_requests, array_of_statuses) - ccall((:QMPI_Waitall, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{MPI_Request}, Ptr{MPI_Status}), context, tool_id, count, array_of_requests, array_of_statuses) -end - -function QMPI_Waitany(context, tool_id, count, array_of_requests, indx, status) - ccall((:QMPI_Waitany, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{MPI_Request}, Ptr{Cint}, Ptr{MPI_Status}), context, tool_id, count, array_of_requests, indx, status) -end - -function QMPI_Waitsome(context, tool_id, incount, array_of_requests, outcount, array_of_indices, array_of_statuses) - ccall((:QMPI_Waitsome, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{MPI_Request}, Ptr{Cint}, Ptr{Cint}, Ptr{MPI_Status}), context, tool_id, incount, array_of_requests, outcount, array_of_indices, array_of_statuses) -end - -function QMPIX_Grequest_start(context, tool_id, query_fn, free_fn, cancel_fn, poll_fn, wait_fn, extra_state, request) - ccall((:QMPIX_Grequest_start, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{MPI_Request}), context, tool_id, query_fn, free_fn, cancel_fn, poll_fn, wait_fn, extra_state, request) -end - -function QMPIX_Grequest_class_create(context, tool_id, query_fn, free_fn, cancel_fn, poll_fn, wait_fn, greq_class) - ccall((:QMPIX_Grequest_class_create, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{MPIX_Grequest_class}), context, tool_id, query_fn, free_fn, cancel_fn, poll_fn, wait_fn, greq_class) -end - -function QMPIX_Grequest_class_allocate(context, tool_id, greq_class, extra_state, request) - ccall((:QMPIX_Grequest_class_allocate, libHYPRE), Cint, (QMPI_Context, Cint, MPIX_Grequest_class, Ptr{Cvoid}, Ptr{MPI_Request}), context, tool_id, greq_class, extra_state, request) -end - -function QMPI_Accumulate(context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win) - ccall((:QMPI_Accumulate, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Op, MPI_Win), context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win) -end - -function QMPI_Accumulate_c(context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win) - ccall((:QMPI_Accumulate_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Op, MPI_Win), context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win) -end - -function QMPI_Alloc_mem(context, tool_id, size, info, baseptr) - ccall((:QMPI_Alloc_mem, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Aint, MPI_Info, Ptr{Cvoid}), context, tool_id, size, info, baseptr) -end - -function QMPI_Compare_and_swap(context, tool_id, origin_addr, compare_addr, result_addr, datatype, target_rank, target_disp, win) - ccall((:QMPI_Compare_and_swap, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, MPI_Datatype, Cint, MPI_Aint, MPI_Win), context, tool_id, origin_addr, compare_addr, result_addr, datatype, target_rank, target_disp, win) -end - -function QMPI_Fetch_and_op(context, tool_id, origin_addr, result_addr, datatype, target_rank, target_disp, op, win) - ccall((:QMPI_Fetch_and_op, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Ptr{Cvoid}, MPI_Datatype, Cint, MPI_Aint, MPI_Op, MPI_Win), context, tool_id, origin_addr, result_addr, datatype, target_rank, target_disp, op, win) -end - -function QMPI_Free_mem(context, tool_id, base) - ccall((:QMPI_Free_mem, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}), context, tool_id, base) -end - -function QMPI_Get(context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) - ccall((:QMPI_Get, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Win), context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) -end - -function QMPI_Get_c(context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) - ccall((:QMPI_Get_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Win), context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) -end - -function QMPI_Get_accumulate(context, tool_id, origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win) - ccall((:QMPI_Get_accumulate, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Op, MPI_Win), context, tool_id, origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win) -end - -function QMPI_Get_accumulate_c(context, tool_id, origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win) - ccall((:QMPI_Get_accumulate_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Op, MPI_Win), context, tool_id, origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win) -end - -function QMPI_Put(context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) - ccall((:QMPI_Put, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Win), context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) -end - -function QMPI_Put_c(context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) - ccall((:QMPI_Put_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Win), context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win) -end - -function QMPI_Raccumulate(context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) - ccall((:QMPI_Raccumulate, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Op, MPI_Win, Ptr{MPI_Request}), context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) -end - -function QMPI_Raccumulate_c(context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) - ccall((:QMPI_Raccumulate_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Op, MPI_Win, Ptr{MPI_Request}), context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) -end - -function QMPI_Rget(context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) - ccall((:QMPI_Rget, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Win, Ptr{MPI_Request}), context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) -end - -function QMPI_Rget_c(context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) - ccall((:QMPI_Rget_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Win, Ptr{MPI_Request}), context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) -end - -function QMPI_Rget_accumulate(context, tool_id, origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) - ccall((:QMPI_Rget_accumulate, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Op, MPI_Win, Ptr{MPI_Request}), context, tool_id, origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) -end - -function QMPI_Rget_accumulate_c(context, tool_id, origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) - ccall((:QMPI_Rget_accumulate_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Op, MPI_Win, Ptr{MPI_Request}), context, tool_id, origin_addr, origin_count, origin_datatype, result_addr, result_count, result_datatype, target_rank, target_disp, target_count, target_datatype, op, win, request) -end - -function QMPI_Rput(context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) - ccall((:QMPI_Rput, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, Cint, MPI_Datatype, Cint, MPI_Aint, Cint, MPI_Datatype, MPI_Win, Ptr{MPI_Request}), context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) -end - -function QMPI_Rput_c(context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) - ccall((:QMPI_Rput_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Cint, MPI_Aint, MPI_Count, MPI_Datatype, MPI_Win, Ptr{MPI_Request}), context, tool_id, origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win, request) -end - -function QMPI_Win_allocate(context, tool_id, size, disp_unit, info, comm, baseptr, win) - ccall((:QMPI_Win_allocate, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Aint, Cint, MPI_Info, MPI_Comm, Ptr{Cvoid}, Ptr{MPI_Win}), context, tool_id, size, disp_unit, info, comm, baseptr, win) -end - -function QMPI_Win_allocate_c(context, tool_id, size, disp_unit, info, comm, baseptr, win) - ccall((:QMPI_Win_allocate_c, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Aint, MPI_Aint, MPI_Info, MPI_Comm, Ptr{Cvoid}, Ptr{MPI_Win}), context, tool_id, size, disp_unit, info, comm, baseptr, win) -end - -function QMPI_Win_allocate_shared(context, tool_id, size, disp_unit, info, comm, baseptr, win) - ccall((:QMPI_Win_allocate_shared, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Aint, Cint, MPI_Info, MPI_Comm, Ptr{Cvoid}, Ptr{MPI_Win}), context, tool_id, size, disp_unit, info, comm, baseptr, win) -end - -function QMPI_Win_allocate_shared_c(context, tool_id, size, disp_unit, info, comm, baseptr, win) - ccall((:QMPI_Win_allocate_shared_c, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Aint, MPI_Aint, MPI_Info, MPI_Comm, Ptr{Cvoid}, Ptr{MPI_Win}), context, tool_id, size, disp_unit, info, comm, baseptr, win) -end - -function QMPI_Win_attach(context, tool_id, win, base, size) - ccall((:QMPI_Win_attach, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win, Ptr{Cvoid}, MPI_Aint), context, tool_id, win, base, size) -end - -function QMPI_Win_complete(context, tool_id, win) - ccall((:QMPI_Win_complete, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win), context, tool_id, win) -end - -function QMPI_Win_create(context, tool_id, base, size, disp_unit, info, comm, win) - ccall((:QMPI_Win_create, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Aint, Cint, MPI_Info, MPI_Comm, Ptr{MPI_Win}), context, tool_id, base, size, disp_unit, info, comm, win) -end - -function QMPI_Win_create_c(context, tool_id, base, size, disp_unit, info, comm, win) - ccall((:QMPI_Win_create_c, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cvoid}, MPI_Aint, MPI_Aint, MPI_Info, MPI_Comm, Ptr{MPI_Win}), context, tool_id, base, size, disp_unit, info, comm, win) -end - -function QMPI_Win_create_dynamic(context, tool_id, info, comm, win) - ccall((:QMPI_Win_create_dynamic, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Info, MPI_Comm, Ptr{MPI_Win}), context, tool_id, info, comm, win) -end - -function QMPI_Win_detach(context, tool_id, win, base) - ccall((:QMPI_Win_detach, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win, Ptr{Cvoid}), context, tool_id, win, base) -end - -function QMPI_Win_fence(context, tool_id, assert, win) - ccall((:QMPI_Win_fence, libHYPRE), Cint, (QMPI_Context, Cint, Cint, MPI_Win), context, tool_id, assert, win) -end - -function QMPI_Win_flush(context, tool_id, rank, win) - ccall((:QMPI_Win_flush, libHYPRE), Cint, (QMPI_Context, Cint, Cint, MPI_Win), context, tool_id, rank, win) -end - -function QMPI_Win_flush_all(context, tool_id, win) - ccall((:QMPI_Win_flush_all, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win), context, tool_id, win) -end - -function QMPI_Win_flush_local(context, tool_id, rank, win) - ccall((:QMPI_Win_flush_local, libHYPRE), Cint, (QMPI_Context, Cint, Cint, MPI_Win), context, tool_id, rank, win) -end - -function QMPI_Win_flush_local_all(context, tool_id, win) - ccall((:QMPI_Win_flush_local_all, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win), context, tool_id, win) -end - -function QMPI_Win_free(context, tool_id, win) - ccall((:QMPI_Win_free, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Win}), context, tool_id, win) -end - -function QMPI_Win_get_group(context, tool_id, win, group) - ccall((:QMPI_Win_get_group, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win, Ptr{MPI_Group}), context, tool_id, win, group) -end - -function QMPI_Win_get_info(context, tool_id, win, info_used) - ccall((:QMPI_Win_get_info, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win, Ptr{MPI_Info}), context, tool_id, win, info_used) -end - -function QMPI_Win_get_name(context, tool_id, win, win_name, resultlen) - ccall((:QMPI_Win_get_name, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win, Ptr{Cchar}, Ptr{Cint}), context, tool_id, win, win_name, resultlen) -end - -function QMPI_Win_lock(context, tool_id, lock_type, rank, assert, win) - ccall((:QMPI_Win_lock, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Cint, Cint, MPI_Win), context, tool_id, lock_type, rank, assert, win) -end - -function QMPI_Win_lock_all(context, tool_id, assert, win) - ccall((:QMPI_Win_lock_all, libHYPRE), Cint, (QMPI_Context, Cint, Cint, MPI_Win), context, tool_id, assert, win) -end - -function QMPI_Win_post(context, tool_id, group, assert, win) - ccall((:QMPI_Win_post, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Group, Cint, MPI_Win), context, tool_id, group, assert, win) -end - -function QMPI_Win_set_info(context, tool_id, win, info) - ccall((:QMPI_Win_set_info, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win, MPI_Info), context, tool_id, win, info) -end - -function QMPI_Win_set_name(context, tool_id, win, win_name) - ccall((:QMPI_Win_set_name, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win, Ptr{Cchar}), context, tool_id, win, win_name) -end - -function QMPI_Win_shared_query(context, tool_id, win, rank, size, disp_unit, baseptr) - ccall((:QMPI_Win_shared_query, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win, Cint, Ptr{MPI_Aint}, Ptr{Cint}, Ptr{Cvoid}), context, tool_id, win, rank, size, disp_unit, baseptr) -end - -function QMPI_Win_shared_query_c(context, tool_id, win, rank, size, disp_unit, baseptr) - ccall((:QMPI_Win_shared_query_c, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win, Cint, Ptr{MPI_Aint}, Ptr{MPI_Aint}, Ptr{Cvoid}), context, tool_id, win, rank, size, disp_unit, baseptr) -end - -function QMPI_Win_start(context, tool_id, group, assert, win) - ccall((:QMPI_Win_start, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Group, Cint, MPI_Win), context, tool_id, group, assert, win) -end - -function QMPI_Win_sync(context, tool_id, win) - ccall((:QMPI_Win_sync, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win), context, tool_id, win) -end - -function QMPI_Win_test(context, tool_id, win, flag) - ccall((:QMPI_Win_test, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win, Ptr{Cint}), context, tool_id, win, flag) -end - -function QMPI_Win_unlock(context, tool_id, rank, win) - ccall((:QMPI_Win_unlock, libHYPRE), Cint, (QMPI_Context, Cint, Cint, MPI_Win), context, tool_id, rank, win) -end - -function QMPI_Win_unlock_all(context, tool_id, win) - ccall((:QMPI_Win_unlock_all, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win), context, tool_id, win) -end - -function QMPI_Win_wait(context, tool_id, win) - ccall((:QMPI_Win_wait, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Win), context, tool_id, win) -end - -function QMPI_Close_port(context, tool_id, port_name) - ccall((:QMPI_Close_port, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cchar}), context, tool_id, port_name) -end - -function QMPI_Comm_accept(context, tool_id, port_name, info, root, comm, newcomm) - ccall((:QMPI_Comm_accept, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cchar}, MPI_Info, Cint, MPI_Comm, Ptr{MPI_Comm}), context, tool_id, port_name, info, root, comm, newcomm) -end - -function QMPI_Comm_connect(context, tool_id, port_name, info, root, comm, newcomm) - ccall((:QMPI_Comm_connect, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cchar}, MPI_Info, Cint, MPI_Comm, Ptr{MPI_Comm}), context, tool_id, port_name, info, root, comm, newcomm) -end - -function QMPI_Comm_disconnect(context, tool_id, comm) - ccall((:QMPI_Comm_disconnect, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Comm}), context, tool_id, comm) -end - -function QMPI_Comm_get_parent(context, tool_id, parent) - ccall((:QMPI_Comm_get_parent, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{MPI_Comm}), context, tool_id, parent) -end - -function QMPI_Comm_join(context, tool_id, fd, intercomm) - ccall((:QMPI_Comm_join, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{MPI_Comm}), context, tool_id, fd, intercomm) -end - -function QMPI_Comm_spawn(context, tool_id, command, argv, maxprocs, info, root, comm, intercomm, array_of_errcodes) - ccall((:QMPI_Comm_spawn, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cchar}, Ptr{Ptr{Cchar}}, Cint, MPI_Info, Cint, MPI_Comm, Ptr{MPI_Comm}, Ptr{Cint}), context, tool_id, command, argv, maxprocs, info, root, comm, intercomm, array_of_errcodes) -end - -function QMPI_Comm_spawn_multiple(context, tool_id, count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, root, comm, intercomm, array_of_errcodes) - ccall((:QMPI_Comm_spawn_multiple, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Ptr{Ptr{Cchar}}, Ptr{Ptr{Ptr{Cchar}}}, Ptr{Cint}, Ptr{MPI_Info}, Cint, MPI_Comm, Ptr{MPI_Comm}, Ptr{Cint}), context, tool_id, count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, root, comm, intercomm, array_of_errcodes) -end - -function QMPI_Lookup_name(context, tool_id, service_name, info, port_name) - ccall((:QMPI_Lookup_name, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cchar}, MPI_Info, Ptr{Cchar}), context, tool_id, service_name, info, port_name) -end - -function QMPI_Open_port(context, tool_id, info, port_name) - ccall((:QMPI_Open_port, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Info, Ptr{Cchar}), context, tool_id, info, port_name) -end - -function QMPI_Publish_name(context, tool_id, service_name, info, port_name) - ccall((:QMPI_Publish_name, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cchar}, MPI_Info, Ptr{Cchar}), context, tool_id, service_name, info, port_name) -end - -function QMPI_Unpublish_name(context, tool_id, service_name, info, port_name) - ccall((:QMPI_Unpublish_name, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Cchar}, MPI_Info, Ptr{Cchar}), context, tool_id, service_name, info, port_name) -end - -function QMPI_Wtick(context, tool_id) - ccall((:QMPI_Wtick, libHYPRE), Cdouble, (QMPI_Context, Cint), context, tool_id) -end - -function QMPI_Wtime(context, tool_id) - ccall((:QMPI_Wtime, libHYPRE), Cdouble, (QMPI_Context, Cint), context, tool_id) -end - -function QMPI_Cart_coords(context, tool_id, comm, rank, maxdims, coords) - ccall((:QMPI_Cart_coords, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint, Cint, Ptr{Cint}), context, tool_id, comm, rank, maxdims, coords) -end - -function QMPI_Cart_create(context, tool_id, comm_old, ndims, dims, periods, reorder, comm_cart) - ccall((:QMPI_Cart_create, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Cint, Ptr{MPI_Comm}), context, tool_id, comm_old, ndims, dims, periods, reorder, comm_cart) -end - -function QMPI_Cart_get(context, tool_id, comm, maxdims, dims, periods, coords) - ccall((:QMPI_Cart_get, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), context, tool_id, comm, maxdims, dims, periods, coords) -end - -function QMPI_Cart_map(context, tool_id, comm, ndims, dims, periods, newrank) - ccall((:QMPI_Cart_map, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), context, tool_id, comm, ndims, dims, periods, newrank) -end - -function QMPI_Cart_rank(context, tool_id, comm, coords, rank) - ccall((:QMPI_Cart_rank, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{Cint}, Ptr{Cint}), context, tool_id, comm, coords, rank) -end - -function QMPI_Cart_shift(context, tool_id, comm, direction, disp, rank_source, rank_dest) - ccall((:QMPI_Cart_shift, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint, Cint, Ptr{Cint}, Ptr{Cint}), context, tool_id, comm, direction, disp, rank_source, rank_dest) -end - -function QMPI_Cart_sub(context, tool_id, comm, remain_dims, newcomm) - ccall((:QMPI_Cart_sub, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{Cint}, Ptr{MPI_Comm}), context, tool_id, comm, remain_dims, newcomm) -end - -function QMPI_Cartdim_get(context, tool_id, comm, ndims) - ccall((:QMPI_Cartdim_get, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{Cint}), context, tool_id, comm, ndims) -end - -function QMPI_Dims_create(context, tool_id, nnodes, ndims, dims) - ccall((:QMPI_Dims_create, libHYPRE), Cint, (QMPI_Context, Cint, Cint, Cint, Ptr{Cint}), context, tool_id, nnodes, ndims, dims) -end - -function QMPI_Dist_graph_create(context, tool_id, comm_old, n, sources, degrees, destinations, weights, info, reorder, comm_dist_graph) - ccall((:QMPI_Dist_graph_create, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, MPI_Info, Cint, Ptr{MPI_Comm}), context, tool_id, comm_old, n, sources, degrees, destinations, weights, info, reorder, comm_dist_graph) -end - -function QMPI_Dist_graph_create_adjacent(context, tool_id, comm_old, indegree, sources, sourceweights, outdegree, destinations, destweights, info, reorder, comm_dist_graph) - ccall((:QMPI_Dist_graph_create_adjacent, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Cint, Ptr{Cint}, Ptr{Cint}, MPI_Info, Cint, Ptr{MPI_Comm}), context, tool_id, comm_old, indegree, sources, sourceweights, outdegree, destinations, destweights, info, reorder, comm_dist_graph) -end - -function QMPI_Dist_graph_neighbors(context, tool_id, comm, maxindegree, sources, sourceweights, maxoutdegree, destinations, destweights) - ccall((:QMPI_Dist_graph_neighbors, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Cint, Ptr{Cint}, Ptr{Cint}), context, tool_id, comm, maxindegree, sources, sourceweights, maxoutdegree, destinations, destweights) -end - -function QMPI_Dist_graph_neighbors_count(context, tool_id, comm, indegree, outdegree, weighted) - ccall((:QMPI_Dist_graph_neighbors_count, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), context, tool_id, comm, indegree, outdegree, weighted) -end - -function QMPI_Graph_create(context, tool_id, comm_old, nnodes, indx, edges, reorder, comm_graph) - ccall((:QMPI_Graph_create, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Cint, Ptr{MPI_Comm}), context, tool_id, comm_old, nnodes, indx, edges, reorder, comm_graph) -end - -function QMPI_Graph_get(context, tool_id, comm, maxindex, maxedges, indx, edges) - ccall((:QMPI_Graph_get, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint, Cint, Ptr{Cint}, Ptr{Cint}), context, tool_id, comm, maxindex, maxedges, indx, edges) -end - -function QMPI_Graph_map(context, tool_id, comm, nnodes, indx, edges, newrank) - ccall((:QMPI_Graph_map, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint, Ptr{Cint}, Ptr{Cint}, Ptr{Cint}), context, tool_id, comm, nnodes, indx, edges, newrank) -end - -function QMPI_Graph_neighbors(context, tool_id, comm, rank, maxneighbors, neighbors) - ccall((:QMPI_Graph_neighbors, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint, Cint, Ptr{Cint}), context, tool_id, comm, rank, maxneighbors, neighbors) -end - -function QMPI_Graph_neighbors_count(context, tool_id, comm, rank, nneighbors) - ccall((:QMPI_Graph_neighbors_count, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Cint, Ptr{Cint}), context, tool_id, comm, rank, nneighbors) -end - -function QMPI_Graphdims_get(context, tool_id, comm, nnodes, nedges) - ccall((:QMPI_Graphdims_get, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{Cint}, Ptr{Cint}), context, tool_id, comm, nnodes, nedges) -end - -function QMPI_Topo_test(context, tool_id, comm, status) - ccall((:QMPI_Topo_test, libHYPRE), Cint, (QMPI_Context, Cint, MPI_Comm, Ptr{Cint}), context, tool_id, comm, status) -end - -# typedef int ( QMPI_Attr_delete_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int keyval ) -const QMPI_Attr_delete_t = Cvoid - -# typedef int ( QMPI_Attr_get_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int keyval , void * attribute_val , int * flag ) -const QMPI_Attr_get_t = Cvoid - -# typedef int ( QMPI_Attr_put_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int keyval , void * attribute_val ) -const QMPI_Attr_put_t = Cvoid - -# typedef int ( QMPI_Comm_create_keyval_t ) ( QMPI_Context context , int tool_id , MPI_Comm_copy_attr_function * comm_copy_attr_fn , MPI_Comm_delete_attr_function * comm_delete_attr_fn , int * comm_keyval , void * extra_state ) -const QMPI_Comm_create_keyval_t = Cvoid - -# typedef int ( QMPI_Comm_delete_attr_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int comm_keyval ) -const QMPI_Comm_delete_attr_t = Cvoid - -# typedef int ( QMPI_Comm_free_keyval_t ) ( QMPI_Context context , int tool_id , int * comm_keyval ) -const QMPI_Comm_free_keyval_t = Cvoid - -# typedef int ( QMPI_Comm_get_attr_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int comm_keyval , void * attribute_val , int * flag ) -const QMPI_Comm_get_attr_t = Cvoid - -# typedef int ( QMPI_Comm_set_attr_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int comm_keyval , void * attribute_val ) -const QMPI_Comm_set_attr_t = Cvoid - -# typedef int ( QMPI_Keyval_create_t ) ( QMPI_Context context , int tool_id , MPI_Copy_function * copy_fn , MPI_Delete_function * delete_fn , int * keyval , void * extra_state ) -const QMPI_Keyval_create_t = Cvoid - -# typedef int ( QMPI_Keyval_free_t ) ( QMPI_Context context , int tool_id , int * keyval ) -const QMPI_Keyval_free_t = Cvoid - -# typedef int ( QMPI_Type_create_keyval_t ) ( QMPI_Context context , int tool_id , MPI_Type_copy_attr_function * type_copy_attr_fn , MPI_Type_delete_attr_function * type_delete_attr_fn , int * type_keyval , void * extra_state ) -const QMPI_Type_create_keyval_t = Cvoid - -# typedef int ( QMPI_Type_delete_attr_t ) ( QMPI_Context context , int tool_id , MPI_Datatype datatype , int type_keyval ) -const QMPI_Type_delete_attr_t = Cvoid - -# typedef int ( QMPI_Type_free_keyval_t ) ( QMPI_Context context , int tool_id , int * type_keyval ) -const QMPI_Type_free_keyval_t = Cvoid - -# typedef int ( QMPI_Type_get_attr_t ) ( QMPI_Context context , int tool_id , MPI_Datatype datatype , int type_keyval , void * attribute_val , int * flag ) -const QMPI_Type_get_attr_t = Cvoid - -# typedef int ( QMPI_Type_set_attr_t ) ( QMPI_Context context , int tool_id , MPI_Datatype datatype , int type_keyval , void * attribute_val ) -const QMPI_Type_set_attr_t = Cvoid - -# typedef int ( QMPI_Win_create_keyval_t ) ( QMPI_Context context , int tool_id , MPI_Win_copy_attr_function * win_copy_attr_fn , MPI_Win_delete_attr_function * win_delete_attr_fn , int * win_keyval , void * extra_state ) -const QMPI_Win_create_keyval_t = Cvoid - -# typedef int ( QMPI_Win_delete_attr_t ) ( QMPI_Context context , int tool_id , MPI_Win win , int win_keyval ) -const QMPI_Win_delete_attr_t = Cvoid - -# typedef int ( QMPI_Win_free_keyval_t ) ( QMPI_Context context , int tool_id , int * win_keyval ) -const QMPI_Win_free_keyval_t = Cvoid - -# typedef int ( QMPI_Win_get_attr_t ) ( QMPI_Context context , int tool_id , MPI_Win win , int win_keyval , void * attribute_val , int * flag ) -const QMPI_Win_get_attr_t = Cvoid - -# typedef int ( QMPI_Win_set_attr_t ) ( QMPI_Context context , int tool_id , MPI_Win win , int win_keyval , void * attribute_val ) -const QMPI_Win_set_attr_t = Cvoid - -# typedef int ( QMPI_Allgather_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , int recvcount , MPI_Datatype recvtype , MPI_Comm comm ) -const QMPI_Allgather_t = Cvoid - -# typedef int ( QMPI_Allgather_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , MPI_Comm comm ) -const QMPI_Allgather_c_t = Cvoid - -# typedef int ( QMPI_Allgather_init_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , int recvcount , MPI_Datatype recvtype , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Allgather_init_t = Cvoid - -# typedef int ( QMPI_Allgather_init_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Allgather_init_c_t = Cvoid - -# typedef int ( QMPI_Allgatherv_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , const int recvcounts [ ] , const int displs [ ] , MPI_Datatype recvtype , MPI_Comm comm ) -const QMPI_Allgatherv_t = Cvoid - -# typedef int ( QMPI_Allgatherv_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , const MPI_Count recvcounts [ ] , const MPI_Aint displs [ ] , MPI_Datatype recvtype , MPI_Comm comm ) -const QMPI_Allgatherv_c_t = Cvoid - -# typedef int ( QMPI_Allgatherv_init_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , const int recvcounts [ ] , const int displs [ ] , MPI_Datatype recvtype , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Allgatherv_init_t = Cvoid - -# typedef int ( QMPI_Allgatherv_init_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , const MPI_Count recvcounts [ ] , const MPI_Aint displs [ ] , MPI_Datatype recvtype , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Allgatherv_init_c_t = Cvoid - -# typedef int ( QMPI_Allreduce_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , int count , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm ) -const QMPI_Allreduce_t = Cvoid - -# typedef int ( QMPI_Allreduce_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , MPI_Count count , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm ) -const QMPI_Allreduce_c_t = Cvoid - -# typedef int ( QMPI_Allreduce_init_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , int count , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Allreduce_init_t = Cvoid - -# typedef int ( QMPI_Allreduce_init_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , MPI_Count count , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Allreduce_init_c_t = Cvoid - -# typedef int ( QMPI_Alltoall_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , int recvcount , MPI_Datatype recvtype , MPI_Comm comm ) -const QMPI_Alltoall_t = Cvoid - -# typedef int ( QMPI_Alltoall_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , MPI_Comm comm ) -const QMPI_Alltoall_c_t = Cvoid - -# typedef int ( QMPI_Alltoall_init_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , int recvcount , MPI_Datatype recvtype , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Alltoall_init_t = Cvoid - -# typedef int ( QMPI_Alltoall_init_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Alltoall_init_c_t = Cvoid - -# typedef int ( QMPI_Alltoallv_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const int sendcounts [ ] , const int sdispls [ ] , MPI_Datatype sendtype , void * recvbuf , const int recvcounts [ ] , const int rdispls [ ] , MPI_Datatype recvtype , MPI_Comm comm ) -const QMPI_Alltoallv_t = Cvoid - -# typedef int ( QMPI_Alltoallv_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const MPI_Count sendcounts [ ] , const MPI_Aint sdispls [ ] , MPI_Datatype sendtype , void * recvbuf , const MPI_Count recvcounts [ ] , const MPI_Aint rdispls [ ] , MPI_Datatype recvtype , MPI_Comm comm ) -const QMPI_Alltoallv_c_t = Cvoid - -# typedef int ( QMPI_Alltoallv_init_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const int sendcounts [ ] , const int sdispls [ ] , MPI_Datatype sendtype , void * recvbuf , const int recvcounts [ ] , const int rdispls [ ] , MPI_Datatype recvtype , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Alltoallv_init_t = Cvoid - -# typedef int ( QMPI_Alltoallv_init_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const MPI_Count sendcounts [ ] , const MPI_Aint sdispls [ ] , MPI_Datatype sendtype , void * recvbuf , const MPI_Count recvcounts [ ] , const MPI_Aint rdispls [ ] , MPI_Datatype recvtype , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Alltoallv_init_c_t = Cvoid - -# typedef int ( QMPI_Alltoallw_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const int sendcounts [ ] , const int sdispls [ ] , const MPI_Datatype sendtypes [ ] , void * recvbuf , const int recvcounts [ ] , const int rdispls [ ] , const MPI_Datatype recvtypes [ ] , MPI_Comm comm ) -const QMPI_Alltoallw_t = Cvoid - -# typedef int ( QMPI_Alltoallw_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const MPI_Count sendcounts [ ] , const MPI_Aint sdispls [ ] , const MPI_Datatype sendtypes [ ] , void * recvbuf , const MPI_Count recvcounts [ ] , const MPI_Aint rdispls [ ] , const MPI_Datatype recvtypes [ ] , MPI_Comm comm ) -const QMPI_Alltoallw_c_t = Cvoid - -# typedef int ( QMPI_Alltoallw_init_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const int sendcounts [ ] , const int sdispls [ ] , const MPI_Datatype sendtypes [ ] , void * recvbuf , const int recvcounts [ ] , const int rdispls [ ] , const MPI_Datatype recvtypes [ ] , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Alltoallw_init_t = Cvoid - -# typedef int ( QMPI_Alltoallw_init_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const MPI_Count sendcounts [ ] , const MPI_Aint sdispls [ ] , const MPI_Datatype sendtypes [ ] , void * recvbuf , const MPI_Count recvcounts [ ] , const MPI_Aint rdispls [ ] , const MPI_Datatype recvtypes [ ] , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Alltoallw_init_c_t = Cvoid - -# typedef int ( QMPI_Barrier_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm ) -const QMPI_Barrier_t = Cvoid - -# typedef int ( QMPI_Barrier_init_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Barrier_init_t = Cvoid - -# typedef int ( QMPI_Bcast_t ) ( QMPI_Context context , int tool_id , void * buffer , int count , MPI_Datatype datatype , int root , MPI_Comm comm ) -const QMPI_Bcast_t = Cvoid - -# typedef int ( QMPI_Bcast_c_t ) ( QMPI_Context context , int tool_id , void * buffer , MPI_Count count , MPI_Datatype datatype , int root , MPI_Comm comm ) -const QMPI_Bcast_c_t = Cvoid - -# typedef int ( QMPI_Bcast_init_t ) ( QMPI_Context context , int tool_id , void * buffer , int count , MPI_Datatype datatype , int root , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Bcast_init_t = Cvoid - -# typedef int ( QMPI_Bcast_init_c_t ) ( QMPI_Context context , int tool_id , void * buffer , MPI_Count count , MPI_Datatype datatype , int root , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Bcast_init_c_t = Cvoid - -# typedef int ( QMPI_Exscan_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , int count , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm ) -const QMPI_Exscan_t = Cvoid - -# typedef int ( QMPI_Exscan_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , MPI_Count count , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm ) -const QMPI_Exscan_c_t = Cvoid - -# typedef int ( QMPI_Exscan_init_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , int count , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Exscan_init_t = Cvoid - -# typedef int ( QMPI_Exscan_init_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , MPI_Count count , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Exscan_init_c_t = Cvoid - -# typedef int ( QMPI_Gather_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , int recvcount , MPI_Datatype recvtype , int root , MPI_Comm comm ) -const QMPI_Gather_t = Cvoid - -# typedef int ( QMPI_Gather_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , int root , MPI_Comm comm ) -const QMPI_Gather_c_t = Cvoid - -# typedef int ( QMPI_Gather_init_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , int recvcount , MPI_Datatype recvtype , int root , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Gather_init_t = Cvoid - -# typedef int ( QMPI_Gather_init_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , int root , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Gather_init_c_t = Cvoid - -# typedef int ( QMPI_Gatherv_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , const int recvcounts [ ] , const int displs [ ] , MPI_Datatype recvtype , int root , MPI_Comm comm ) -const QMPI_Gatherv_t = Cvoid - -# typedef int ( QMPI_Gatherv_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , const MPI_Count recvcounts [ ] , const MPI_Aint displs [ ] , MPI_Datatype recvtype , int root , MPI_Comm comm ) -const QMPI_Gatherv_c_t = Cvoid - -# typedef int ( QMPI_Gatherv_init_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , const int recvcounts [ ] , const int displs [ ] , MPI_Datatype recvtype , int root , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Gatherv_init_t = Cvoid - -# typedef int ( QMPI_Gatherv_init_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , const MPI_Count recvcounts [ ] , const MPI_Aint displs [ ] , MPI_Datatype recvtype , int root , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Gatherv_init_c_t = Cvoid - -# typedef int ( QMPI_Iallgather_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , int recvcount , MPI_Datatype recvtype , MPI_Comm comm , MPI_Request * request ) -const QMPI_Iallgather_t = Cvoid - -# typedef int ( QMPI_Iallgather_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , MPI_Comm comm , MPI_Request * request ) -const QMPI_Iallgather_c_t = Cvoid - -# typedef int ( QMPI_Iallgatherv_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , const int recvcounts [ ] , const int displs [ ] , MPI_Datatype recvtype , MPI_Comm comm , MPI_Request * request ) -const QMPI_Iallgatherv_t = Cvoid - -# typedef int ( QMPI_Iallgatherv_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , const MPI_Count recvcounts [ ] , const MPI_Aint displs [ ] , MPI_Datatype recvtype , MPI_Comm comm , MPI_Request * request ) -const QMPI_Iallgatherv_c_t = Cvoid - -# typedef int ( QMPI_Iallreduce_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , int count , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm , MPI_Request * request ) -const QMPI_Iallreduce_t = Cvoid - -# typedef int ( QMPI_Iallreduce_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , MPI_Count count , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm , MPI_Request * request ) -const QMPI_Iallreduce_c_t = Cvoid - -# typedef int ( QMPI_Ialltoall_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , int recvcount , MPI_Datatype recvtype , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ialltoall_t = Cvoid - -# typedef int ( QMPI_Ialltoall_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ialltoall_c_t = Cvoid - -# typedef int ( QMPI_Ialltoallv_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const int sendcounts [ ] , const int sdispls [ ] , MPI_Datatype sendtype , void * recvbuf , const int recvcounts [ ] , const int rdispls [ ] , MPI_Datatype recvtype , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ialltoallv_t = Cvoid - -# typedef int ( QMPI_Ialltoallv_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const MPI_Count sendcounts [ ] , const MPI_Aint sdispls [ ] , MPI_Datatype sendtype , void * recvbuf , const MPI_Count recvcounts [ ] , const MPI_Aint rdispls [ ] , MPI_Datatype recvtype , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ialltoallv_c_t = Cvoid - -# typedef int ( QMPI_Ialltoallw_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const int sendcounts [ ] , const int sdispls [ ] , const MPI_Datatype sendtypes [ ] , void * recvbuf , const int recvcounts [ ] , const int rdispls [ ] , const MPI_Datatype recvtypes [ ] , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ialltoallw_t = Cvoid - -# typedef int ( QMPI_Ialltoallw_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const MPI_Count sendcounts [ ] , const MPI_Aint sdispls [ ] , const MPI_Datatype sendtypes [ ] , void * recvbuf , const MPI_Count recvcounts [ ] , const MPI_Aint rdispls [ ] , const MPI_Datatype recvtypes [ ] , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ialltoallw_c_t = Cvoid - -# typedef int ( QMPI_Ibarrier_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ibarrier_t = Cvoid - -# typedef int ( QMPI_Ibcast_t ) ( QMPI_Context context , int tool_id , void * buffer , int count , MPI_Datatype datatype , int root , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ibcast_t = Cvoid - -# typedef int ( QMPI_Ibcast_c_t ) ( QMPI_Context context , int tool_id , void * buffer , MPI_Count count , MPI_Datatype datatype , int root , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ibcast_c_t = Cvoid - -# typedef int ( QMPI_Iexscan_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , int count , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm , MPI_Request * request ) -const QMPI_Iexscan_t = Cvoid - -# typedef int ( QMPI_Iexscan_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , MPI_Count count , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm , MPI_Request * request ) -const QMPI_Iexscan_c_t = Cvoid - -# typedef int ( QMPI_Igather_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , int recvcount , MPI_Datatype recvtype , int root , MPI_Comm comm , MPI_Request * request ) -const QMPI_Igather_t = Cvoid - -# typedef int ( QMPI_Igather_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , int root , MPI_Comm comm , MPI_Request * request ) -const QMPI_Igather_c_t = Cvoid - -# typedef int ( QMPI_Igatherv_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , const int recvcounts [ ] , const int displs [ ] , MPI_Datatype recvtype , int root , MPI_Comm comm , MPI_Request * request ) -const QMPI_Igatherv_t = Cvoid - -# typedef int ( QMPI_Igatherv_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , const MPI_Count recvcounts [ ] , const MPI_Aint displs [ ] , MPI_Datatype recvtype , int root , MPI_Comm comm , MPI_Request * request ) -const QMPI_Igatherv_c_t = Cvoid - -# typedef int ( QMPI_Ineighbor_allgather_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , int recvcount , MPI_Datatype recvtype , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ineighbor_allgather_t = Cvoid - -# typedef int ( QMPI_Ineighbor_allgather_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ineighbor_allgather_c_t = Cvoid - -# typedef int ( QMPI_Ineighbor_allgatherv_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , const int recvcounts [ ] , const int displs [ ] , MPI_Datatype recvtype , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ineighbor_allgatherv_t = Cvoid - -# typedef int ( QMPI_Ineighbor_allgatherv_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , const MPI_Count recvcounts [ ] , const MPI_Aint displs [ ] , MPI_Datatype recvtype , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ineighbor_allgatherv_c_t = Cvoid - -# typedef int ( QMPI_Ineighbor_alltoall_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , int recvcount , MPI_Datatype recvtype , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ineighbor_alltoall_t = Cvoid - -# typedef int ( QMPI_Ineighbor_alltoall_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ineighbor_alltoall_c_t = Cvoid - -# typedef int ( QMPI_Ineighbor_alltoallv_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const int sendcounts [ ] , const int sdispls [ ] , MPI_Datatype sendtype , void * recvbuf , const int recvcounts [ ] , const int rdispls [ ] , MPI_Datatype recvtype , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ineighbor_alltoallv_t = Cvoid - -# typedef int ( QMPI_Ineighbor_alltoallv_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const MPI_Count sendcounts [ ] , const MPI_Aint sdispls [ ] , MPI_Datatype sendtype , void * recvbuf , const MPI_Count recvcounts [ ] , const MPI_Aint rdispls [ ] , MPI_Datatype recvtype , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ineighbor_alltoallv_c_t = Cvoid - -# typedef int ( QMPI_Ineighbor_alltoallw_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const int sendcounts [ ] , const MPI_Aint sdispls [ ] , const MPI_Datatype sendtypes [ ] , void * recvbuf , const int recvcounts [ ] , const MPI_Aint rdispls [ ] , const MPI_Datatype recvtypes [ ] , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ineighbor_alltoallw_t = Cvoid - -# typedef int ( QMPI_Ineighbor_alltoallw_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const MPI_Count sendcounts [ ] , const MPI_Aint sdispls [ ] , const MPI_Datatype sendtypes [ ] , void * recvbuf , const MPI_Count recvcounts [ ] , const MPI_Aint rdispls [ ] , const MPI_Datatype recvtypes [ ] , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ineighbor_alltoallw_c_t = Cvoid - -# typedef int ( QMPI_Ireduce_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , int count , MPI_Datatype datatype , MPI_Op op , int root , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ireduce_t = Cvoid - -# typedef int ( QMPI_Ireduce_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , MPI_Count count , MPI_Datatype datatype , MPI_Op op , int root , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ireduce_c_t = Cvoid - -# typedef int ( QMPI_Ireduce_scatter_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , const int recvcounts [ ] , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ireduce_scatter_t = Cvoid - -# typedef int ( QMPI_Ireduce_scatter_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , const MPI_Count recvcounts [ ] , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ireduce_scatter_c_t = Cvoid - -# typedef int ( QMPI_Ireduce_scatter_block_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , int recvcount , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ireduce_scatter_block_t = Cvoid - -# typedef int ( QMPI_Ireduce_scatter_block_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , MPI_Count recvcount , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ireduce_scatter_block_c_t = Cvoid - -# typedef int ( QMPI_Iscan_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , int count , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm , MPI_Request * request ) -const QMPI_Iscan_t = Cvoid - -# typedef int ( QMPI_Iscan_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , MPI_Count count , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm , MPI_Request * request ) -const QMPI_Iscan_c_t = Cvoid - -# typedef int ( QMPI_Iscatter_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , int recvcount , MPI_Datatype recvtype , int root , MPI_Comm comm , MPI_Request * request ) -const QMPI_Iscatter_t = Cvoid - -# typedef int ( QMPI_Iscatter_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , int root , MPI_Comm comm , MPI_Request * request ) -const QMPI_Iscatter_c_t = Cvoid - -# typedef int ( QMPI_Iscatterv_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const int sendcounts [ ] , const int displs [ ] , MPI_Datatype sendtype , void * recvbuf , int recvcount , MPI_Datatype recvtype , int root , MPI_Comm comm , MPI_Request * request ) -const QMPI_Iscatterv_t = Cvoid - -# typedef int ( QMPI_Iscatterv_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const MPI_Count sendcounts [ ] , const MPI_Aint displs [ ] , MPI_Datatype sendtype , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , int root , MPI_Comm comm , MPI_Request * request ) -const QMPI_Iscatterv_c_t = Cvoid - -# typedef int ( QMPI_Neighbor_allgather_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , int recvcount , MPI_Datatype recvtype , MPI_Comm comm ) -const QMPI_Neighbor_allgather_t = Cvoid - -# typedef int ( QMPI_Neighbor_allgather_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , MPI_Comm comm ) -const QMPI_Neighbor_allgather_c_t = Cvoid - -# typedef int ( QMPI_Neighbor_allgather_init_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , int recvcount , MPI_Datatype recvtype , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Neighbor_allgather_init_t = Cvoid - -# typedef int ( QMPI_Neighbor_allgather_init_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Neighbor_allgather_init_c_t = Cvoid - -# typedef int ( QMPI_Neighbor_allgatherv_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , const int recvcounts [ ] , const int displs [ ] , MPI_Datatype recvtype , MPI_Comm comm ) -const QMPI_Neighbor_allgatherv_t = Cvoid - -# typedef int ( QMPI_Neighbor_allgatherv_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , const MPI_Count recvcounts [ ] , const MPI_Aint displs [ ] , MPI_Datatype recvtype , MPI_Comm comm ) -const QMPI_Neighbor_allgatherv_c_t = Cvoid - -# typedef int ( QMPI_Neighbor_allgatherv_init_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , const int recvcounts [ ] , const int displs [ ] , MPI_Datatype recvtype , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Neighbor_allgatherv_init_t = Cvoid - -# typedef int ( QMPI_Neighbor_allgatherv_init_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , const MPI_Count recvcounts [ ] , const MPI_Aint displs [ ] , MPI_Datatype recvtype , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Neighbor_allgatherv_init_c_t = Cvoid - -# typedef int ( QMPI_Neighbor_alltoall_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , int recvcount , MPI_Datatype recvtype , MPI_Comm comm ) -const QMPI_Neighbor_alltoall_t = Cvoid - -# typedef int ( QMPI_Neighbor_alltoall_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , MPI_Comm comm ) -const QMPI_Neighbor_alltoall_c_t = Cvoid - -# typedef int ( QMPI_Neighbor_alltoall_init_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , int recvcount , MPI_Datatype recvtype , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Neighbor_alltoall_init_t = Cvoid - -# typedef int ( QMPI_Neighbor_alltoall_init_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Neighbor_alltoall_init_c_t = Cvoid - -# typedef int ( QMPI_Neighbor_alltoallv_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const int sendcounts [ ] , const int sdispls [ ] , MPI_Datatype sendtype , void * recvbuf , const int recvcounts [ ] , const int rdispls [ ] , MPI_Datatype recvtype , MPI_Comm comm ) -const QMPI_Neighbor_alltoallv_t = Cvoid - -# typedef int ( QMPI_Neighbor_alltoallv_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const MPI_Count sendcounts [ ] , const MPI_Aint sdispls [ ] , MPI_Datatype sendtype , void * recvbuf , const MPI_Count recvcounts [ ] , const MPI_Aint rdispls [ ] , MPI_Datatype recvtype , MPI_Comm comm ) -const QMPI_Neighbor_alltoallv_c_t = Cvoid - -# typedef int ( QMPI_Neighbor_alltoallv_init_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const int sendcounts [ ] , const int sdispls [ ] , MPI_Datatype sendtype , void * recvbuf , const int recvcounts [ ] , const int rdispls [ ] , MPI_Datatype recvtype , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Neighbor_alltoallv_init_t = Cvoid - -# typedef int ( QMPI_Neighbor_alltoallv_init_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const MPI_Count sendcounts [ ] , const MPI_Aint sdispls [ ] , MPI_Datatype sendtype , void * recvbuf , const MPI_Count recvcounts [ ] , const MPI_Aint rdispls [ ] , MPI_Datatype recvtype , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Neighbor_alltoallv_init_c_t = Cvoid - -# typedef int ( QMPI_Neighbor_alltoallw_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const int sendcounts [ ] , const MPI_Aint sdispls [ ] , const MPI_Datatype sendtypes [ ] , void * recvbuf , const int recvcounts [ ] , const MPI_Aint rdispls [ ] , const MPI_Datatype recvtypes [ ] , MPI_Comm comm ) -const QMPI_Neighbor_alltoallw_t = Cvoid - -# typedef int ( QMPI_Neighbor_alltoallw_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const MPI_Count sendcounts [ ] , const MPI_Aint sdispls [ ] , const MPI_Datatype sendtypes [ ] , void * recvbuf , const MPI_Count recvcounts [ ] , const MPI_Aint rdispls [ ] , const MPI_Datatype recvtypes [ ] , MPI_Comm comm ) -const QMPI_Neighbor_alltoallw_c_t = Cvoid - -# typedef int ( QMPI_Neighbor_alltoallw_init_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const int sendcounts [ ] , const MPI_Aint sdispls [ ] , const MPI_Datatype sendtypes [ ] , void * recvbuf , const int recvcounts [ ] , const MPI_Aint rdispls [ ] , const MPI_Datatype recvtypes [ ] , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Neighbor_alltoallw_init_t = Cvoid - -# typedef int ( QMPI_Neighbor_alltoallw_init_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const MPI_Count sendcounts [ ] , const MPI_Aint sdispls [ ] , const MPI_Datatype sendtypes [ ] , void * recvbuf , const MPI_Count recvcounts [ ] , const MPI_Aint rdispls [ ] , const MPI_Datatype recvtypes [ ] , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Neighbor_alltoallw_init_c_t = Cvoid - -# typedef int ( QMPI_Reduce_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , int count , MPI_Datatype datatype , MPI_Op op , int root , MPI_Comm comm ) -const QMPI_Reduce_t = Cvoid - -# typedef int ( QMPI_Reduce_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , MPI_Count count , MPI_Datatype datatype , MPI_Op op , int root , MPI_Comm comm ) -const QMPI_Reduce_c_t = Cvoid - -# typedef int ( QMPI_Reduce_init_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , int count , MPI_Datatype datatype , MPI_Op op , int root , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Reduce_init_t = Cvoid - -# typedef int ( QMPI_Reduce_init_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , MPI_Count count , MPI_Datatype datatype , MPI_Op op , int root , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Reduce_init_c_t = Cvoid - -# typedef int ( QMPI_Reduce_local_t ) ( QMPI_Context context , int tool_id , const void * inbuf , void * inoutbuf , int count , MPI_Datatype datatype , MPI_Op op ) -const QMPI_Reduce_local_t = Cvoid - -# typedef int ( QMPI_Reduce_local_c_t ) ( QMPI_Context context , int tool_id , const void * inbuf , void * inoutbuf , MPI_Count count , MPI_Datatype datatype , MPI_Op op ) -const QMPI_Reduce_local_c_t = Cvoid - -# typedef int ( QMPI_Reduce_scatter_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , const int recvcounts [ ] , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm ) -const QMPI_Reduce_scatter_t = Cvoid - -# typedef int ( QMPI_Reduce_scatter_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , const MPI_Count recvcounts [ ] , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm ) -const QMPI_Reduce_scatter_c_t = Cvoid - -# typedef int ( QMPI_Reduce_scatter_block_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , int recvcount , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm ) -const QMPI_Reduce_scatter_block_t = Cvoid - -# typedef int ( QMPI_Reduce_scatter_block_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , MPI_Count recvcount , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm ) -const QMPI_Reduce_scatter_block_c_t = Cvoid - -# typedef int ( QMPI_Reduce_scatter_block_init_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , int recvcount , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Reduce_scatter_block_init_t = Cvoid - -# typedef int ( QMPI_Reduce_scatter_block_init_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , MPI_Count recvcount , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Reduce_scatter_block_init_c_t = Cvoid - -# typedef int ( QMPI_Reduce_scatter_init_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , const int recvcounts [ ] , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Reduce_scatter_init_t = Cvoid - -# typedef int ( QMPI_Reduce_scatter_init_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , const MPI_Count recvcounts [ ] , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Reduce_scatter_init_c_t = Cvoid - -# typedef int ( QMPI_Scan_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , int count , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm ) -const QMPI_Scan_t = Cvoid - -# typedef int ( QMPI_Scan_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , MPI_Count count , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm ) -const QMPI_Scan_c_t = Cvoid - -# typedef int ( QMPI_Scan_init_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , int count , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Scan_init_t = Cvoid - -# typedef int ( QMPI_Scan_init_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , void * recvbuf , MPI_Count count , MPI_Datatype datatype , MPI_Op op , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Scan_init_c_t = Cvoid - -# typedef int ( QMPI_Scatter_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , int recvcount , MPI_Datatype recvtype , int root , MPI_Comm comm ) -const QMPI_Scatter_t = Cvoid - -# typedef int ( QMPI_Scatter_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , int root , MPI_Comm comm ) -const QMPI_Scatter_c_t = Cvoid - -# typedef int ( QMPI_Scatter_init_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , void * recvbuf , int recvcount , MPI_Datatype recvtype , int root , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Scatter_init_t = Cvoid - -# typedef int ( QMPI_Scatter_init_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , int root , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Scatter_init_c_t = Cvoid - -# typedef int ( QMPI_Scatterv_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const int sendcounts [ ] , const int displs [ ] , MPI_Datatype sendtype , void * recvbuf , int recvcount , MPI_Datatype recvtype , int root , MPI_Comm comm ) -const QMPI_Scatterv_t = Cvoid - -# typedef int ( QMPI_Scatterv_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const MPI_Count sendcounts [ ] , const MPI_Aint displs [ ] , MPI_Datatype sendtype , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , int root , MPI_Comm comm ) -const QMPI_Scatterv_c_t = Cvoid - -# typedef int ( QMPI_Scatterv_init_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const int sendcounts [ ] , const int displs [ ] , MPI_Datatype sendtype , void * recvbuf , int recvcount , MPI_Datatype recvtype , int root , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Scatterv_init_t = Cvoid - -# typedef int ( QMPI_Scatterv_init_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , const MPI_Count sendcounts [ ] , const MPI_Aint displs [ ] , MPI_Datatype sendtype , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , int root , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Scatterv_init_c_t = Cvoid - -# typedef int ( QMPI_Comm_compare_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm1 , MPI_Comm comm2 , int * result ) -const QMPI_Comm_compare_t = Cvoid - -# typedef int ( QMPI_Comm_create_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , MPI_Group group , MPI_Comm * newcomm ) -const QMPI_Comm_create_t = Cvoid - -# typedef int ( QMPI_Comm_create_group_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , MPI_Group group , int tag , MPI_Comm * newcomm ) -const QMPI_Comm_create_group_t = Cvoid - -# typedef int ( QMPI_Comm_dup_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , MPI_Comm * newcomm ) -const QMPI_Comm_dup_t = Cvoid - -# typedef int ( QMPI_Comm_dup_with_info_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , MPI_Info info , MPI_Comm * newcomm ) -const QMPI_Comm_dup_with_info_t = Cvoid - -# typedef int ( QMPI_Comm_free_t ) ( QMPI_Context context , int tool_id , MPI_Comm * comm ) -const QMPI_Comm_free_t = Cvoid - -# typedef int ( QMPI_Comm_get_info_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , MPI_Info * info_used ) -const QMPI_Comm_get_info_t = Cvoid - -# typedef int ( QMPI_Comm_get_name_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , char * comm_name , int * resultlen ) -const QMPI_Comm_get_name_t = Cvoid - -# typedef int ( QMPI_Comm_group_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , MPI_Group * group ) -const QMPI_Comm_group_t = Cvoid - -# typedef int ( QMPI_Comm_idup_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , MPI_Comm * newcomm , MPI_Request * request ) -const QMPI_Comm_idup_t = Cvoid - -# typedef int ( QMPI_Comm_idup_with_info_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , MPI_Info info , MPI_Comm * newcomm , MPI_Request * request ) -const QMPI_Comm_idup_with_info_t = Cvoid - -# typedef int ( QMPI_Comm_rank_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int * rank ) -const QMPI_Comm_rank_t = Cvoid - -# typedef int ( QMPI_Comm_remote_group_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , MPI_Group * group ) -const QMPI_Comm_remote_group_t = Cvoid - -# typedef int ( QMPI_Comm_remote_size_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int * size ) -const QMPI_Comm_remote_size_t = Cvoid - -# typedef int ( QMPI_Comm_set_info_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , MPI_Info info ) -const QMPI_Comm_set_info_t = Cvoid - -# typedef int ( QMPI_Comm_set_name_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , const char * comm_name ) -const QMPI_Comm_set_name_t = Cvoid - -# typedef int ( QMPI_Comm_size_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int * size ) -const QMPI_Comm_size_t = Cvoid - -# typedef int ( QMPI_Comm_split_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int color , int key , MPI_Comm * newcomm ) -const QMPI_Comm_split_t = Cvoid - -# typedef int ( QMPI_Comm_split_type_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int split_type , int key , MPI_Info info , MPI_Comm * newcomm ) -const QMPI_Comm_split_type_t = Cvoid - -# typedef int ( QMPI_Comm_test_inter_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int * flag ) -const QMPI_Comm_test_inter_t = Cvoid - -# typedef int ( QMPI_Intercomm_create_t ) ( QMPI_Context context , int tool_id , MPI_Comm local_comm , int local_leader , MPI_Comm peer_comm , int remote_leader , int tag , MPI_Comm * newintercomm ) -const QMPI_Intercomm_create_t = Cvoid - -# typedef int ( QMPI_Intercomm_create_from_groups_t ) ( QMPI_Context context , int tool_id , MPI_Group local_group , int local_leader , MPI_Group remote_group , int remote_leader , const char * stringtag , MPI_Info info , MPI_Errhandler errhandler , MPI_Comm * newintercomm ) -const QMPI_Intercomm_create_from_groups_t = Cvoid - -# typedef int ( QMPI_Intercomm_merge_t ) ( QMPI_Context context , int tool_id , MPI_Comm intercomm , int high , MPI_Comm * newintracomm ) -const QMPI_Intercomm_merge_t = Cvoid - -# typedef int ( QMPIX_Comm_revoke_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm ) -const QMPIX_Comm_revoke_t = Cvoid - -# typedef int ( QMPIX_Comm_shrink_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , MPI_Comm * newcomm ) -const QMPIX_Comm_shrink_t = Cvoid - -# typedef int ( QMPIX_Comm_failure_ack_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm ) -const QMPIX_Comm_failure_ack_t = Cvoid - -# typedef int ( QMPIX_Comm_failure_get_acked_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , MPI_Group * failedgrp ) -const QMPIX_Comm_failure_get_acked_t = Cvoid - -# typedef int ( QMPIX_Comm_agree_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int * flag ) -const QMPIX_Comm_agree_t = Cvoid - -# typedef int ( QMPI_Get_address_t ) ( QMPI_Context context , int tool_id , const void * location , MPI_Aint * address ) -const QMPI_Get_address_t = Cvoid - -# typedef int ( QMPI_Get_count_t ) ( QMPI_Context context , int tool_id , const MPI_Status * status , MPI_Datatype datatype , int * count ) -const QMPI_Get_count_t = Cvoid - -# typedef int ( QMPI_Get_count_c_t ) ( QMPI_Context context , int tool_id , const MPI_Status * status , MPI_Datatype datatype , MPI_Count * count ) -const QMPI_Get_count_c_t = Cvoid - -# typedef int ( QMPI_Get_elements_t ) ( QMPI_Context context , int tool_id , const MPI_Status * status , MPI_Datatype datatype , int * count ) -const QMPI_Get_elements_t = Cvoid - -# typedef int ( QMPI_Get_elements_c_t ) ( QMPI_Context context , int tool_id , const MPI_Status * status , MPI_Datatype datatype , MPI_Count * count ) -const QMPI_Get_elements_c_t = Cvoid - -# typedef int ( QMPI_Get_elements_x_t ) ( QMPI_Context context , int tool_id , const MPI_Status * status , MPI_Datatype datatype , MPI_Count * count ) -const QMPI_Get_elements_x_t = Cvoid - -# typedef int ( QMPI_Pack_t ) ( QMPI_Context context , int tool_id , const void * inbuf , int incount , MPI_Datatype datatype , void * outbuf , int outsize , int * position , MPI_Comm comm ) -const QMPI_Pack_t = Cvoid - -# typedef int ( QMPI_Pack_c_t ) ( QMPI_Context context , int tool_id , const void * inbuf , MPI_Count incount , MPI_Datatype datatype , void * outbuf , MPI_Count outsize , MPI_Count * position , MPI_Comm comm ) -const QMPI_Pack_c_t = Cvoid - -# typedef int ( QMPI_Pack_external_t ) ( QMPI_Context context , int tool_id , const char * datarep , const void * inbuf , int incount , MPI_Datatype datatype , void * outbuf , MPI_Aint outsize , MPI_Aint * position ) -const QMPI_Pack_external_t = Cvoid - -# typedef int ( QMPI_Pack_external_c_t ) ( QMPI_Context context , int tool_id , const char * datarep , const void * inbuf , MPI_Count incount , MPI_Datatype datatype , void * outbuf , MPI_Count outsize , MPI_Count * position ) -const QMPI_Pack_external_c_t = Cvoid - -# typedef int ( QMPI_Pack_external_size_t ) ( QMPI_Context context , int tool_id , const char * datarep , int incount , MPI_Datatype datatype , MPI_Aint * size ) -const QMPI_Pack_external_size_t = Cvoid - -# typedef int ( QMPI_Pack_external_size_c_t ) ( QMPI_Context context , int tool_id , const char * datarep , MPI_Count incount , MPI_Datatype datatype , MPI_Count * size ) -const QMPI_Pack_external_size_c_t = Cvoid - -# typedef int ( QMPI_Pack_size_t ) ( QMPI_Context context , int tool_id , int incount , MPI_Datatype datatype , MPI_Comm comm , int * size ) -const QMPI_Pack_size_t = Cvoid - -# typedef int ( QMPI_Pack_size_c_t ) ( QMPI_Context context , int tool_id , MPI_Count incount , MPI_Datatype datatype , MPI_Comm comm , MPI_Count * size ) -const QMPI_Pack_size_c_t = Cvoid - -# typedef int ( QMPI_Status_set_elements_t ) ( QMPI_Context context , int tool_id , MPI_Status * status , MPI_Datatype datatype , int count ) -const QMPI_Status_set_elements_t = Cvoid - -# typedef int ( QMPI_Status_set_elements_x_t ) ( QMPI_Context context , int tool_id , MPI_Status * status , MPI_Datatype datatype , MPI_Count count ) -const QMPI_Status_set_elements_x_t = Cvoid - -# typedef int ( QMPI_Type_commit_t ) ( QMPI_Context context , int tool_id , MPI_Datatype * datatype ) -const QMPI_Type_commit_t = Cvoid - -# typedef int ( QMPI_Type_contiguous_t ) ( QMPI_Context context , int tool_id , int count , MPI_Datatype oldtype , MPI_Datatype * newtype ) -const QMPI_Type_contiguous_t = Cvoid - -# typedef int ( QMPI_Type_contiguous_c_t ) ( QMPI_Context context , int tool_id , MPI_Count count , MPI_Datatype oldtype , MPI_Datatype * newtype ) -const QMPI_Type_contiguous_c_t = Cvoid - -# typedef int ( QMPI_Type_create_darray_t ) ( QMPI_Context context , int tool_id , int size , int rank , int ndims , const int array_of_gsizes [ ] , const int array_of_distribs [ ] , const int array_of_dargs [ ] , const int array_of_psizes [ ] , int order , MPI_Datatype oldtype , MPI_Datatype * newtype ) -const QMPI_Type_create_darray_t = Cvoid - -# typedef int ( QMPI_Type_create_darray_c_t ) ( QMPI_Context context , int tool_id , int size , int rank , int ndims , const MPI_Count array_of_gsizes [ ] , const int array_of_distribs [ ] , const int array_of_dargs [ ] , const int array_of_psizes [ ] , int order , MPI_Datatype oldtype , MPI_Datatype * newtype ) -const QMPI_Type_create_darray_c_t = Cvoid - -# typedef int ( QMPI_Type_create_hindexed_t ) ( QMPI_Context context , int tool_id , int count , const int array_of_blocklengths [ ] , const MPI_Aint array_of_displacements [ ] , MPI_Datatype oldtype , MPI_Datatype * newtype ) -const QMPI_Type_create_hindexed_t = Cvoid - -# typedef int ( QMPI_Type_create_hindexed_c_t ) ( QMPI_Context context , int tool_id , MPI_Count count , const MPI_Count array_of_blocklengths [ ] , const MPI_Count array_of_displacements [ ] , MPI_Datatype oldtype , MPI_Datatype * newtype ) -const QMPI_Type_create_hindexed_c_t = Cvoid - -# typedef int ( QMPI_Type_create_hindexed_block_t ) ( QMPI_Context context , int tool_id , int count , int blocklength , const MPI_Aint array_of_displacements [ ] , MPI_Datatype oldtype , MPI_Datatype * newtype ) -const QMPI_Type_create_hindexed_block_t = Cvoid - -# typedef int ( QMPI_Type_create_hindexed_block_c_t ) ( QMPI_Context context , int tool_id , MPI_Count count , MPI_Count blocklength , const MPI_Count array_of_displacements [ ] , MPI_Datatype oldtype , MPI_Datatype * newtype ) -const QMPI_Type_create_hindexed_block_c_t = Cvoid - -# typedef int ( QMPI_Type_create_hvector_t ) ( QMPI_Context context , int tool_id , int count , int blocklength , MPI_Aint stride , MPI_Datatype oldtype , MPI_Datatype * newtype ) -const QMPI_Type_create_hvector_t = Cvoid - -# typedef int ( QMPI_Type_create_hvector_c_t ) ( QMPI_Context context , int tool_id , MPI_Count count , MPI_Count blocklength , MPI_Count stride , MPI_Datatype oldtype , MPI_Datatype * newtype ) -const QMPI_Type_create_hvector_c_t = Cvoid - -# typedef int ( QMPI_Type_create_indexed_block_t ) ( QMPI_Context context , int tool_id , int count , int blocklength , const int array_of_displacements [ ] , MPI_Datatype oldtype , MPI_Datatype * newtype ) -const QMPI_Type_create_indexed_block_t = Cvoid - -# typedef int ( QMPI_Type_create_indexed_block_c_t ) ( QMPI_Context context , int tool_id , MPI_Count count , MPI_Count blocklength , const MPI_Count array_of_displacements [ ] , MPI_Datatype oldtype , MPI_Datatype * newtype ) -const QMPI_Type_create_indexed_block_c_t = Cvoid - -# typedef int ( QMPI_Type_create_resized_t ) ( QMPI_Context context , int tool_id , MPI_Datatype oldtype , MPI_Aint lb , MPI_Aint extent , MPI_Datatype * newtype ) -const QMPI_Type_create_resized_t = Cvoid - -# typedef int ( QMPI_Type_create_resized_c_t ) ( QMPI_Context context , int tool_id , MPI_Datatype oldtype , MPI_Count lb , MPI_Count extent , MPI_Datatype * newtype ) -const QMPI_Type_create_resized_c_t = Cvoid - -# typedef int ( QMPI_Type_create_struct_t ) ( QMPI_Context context , int tool_id , int count , const int array_of_blocklengths [ ] , const MPI_Aint array_of_displacements [ ] , const MPI_Datatype array_of_types [ ] , MPI_Datatype * newtype ) -const QMPI_Type_create_struct_t = Cvoid - -# typedef int ( QMPI_Type_create_struct_c_t ) ( QMPI_Context context , int tool_id , MPI_Count count , const MPI_Count array_of_blocklengths [ ] , const MPI_Count array_of_displacements [ ] , const MPI_Datatype array_of_types [ ] , MPI_Datatype * newtype ) -const QMPI_Type_create_struct_c_t = Cvoid - -# typedef int ( QMPI_Type_create_subarray_t ) ( QMPI_Context context , int tool_id , int ndims , const int array_of_sizes [ ] , const int array_of_subsizes [ ] , const int array_of_starts [ ] , int order , MPI_Datatype oldtype , MPI_Datatype * newtype ) -const QMPI_Type_create_subarray_t = Cvoid - -# typedef int ( QMPI_Type_create_subarray_c_t ) ( QMPI_Context context , int tool_id , int ndims , const MPI_Count array_of_sizes [ ] , const MPI_Count array_of_subsizes [ ] , const MPI_Count array_of_starts [ ] , int order , MPI_Datatype oldtype , MPI_Datatype * newtype ) -const QMPI_Type_create_subarray_c_t = Cvoid - -# typedef int ( QMPI_Type_dup_t ) ( QMPI_Context context , int tool_id , MPI_Datatype oldtype , MPI_Datatype * newtype ) -const QMPI_Type_dup_t = Cvoid - -# typedef int ( QMPI_Type_free_t ) ( QMPI_Context context , int tool_id , MPI_Datatype * datatype ) -const QMPI_Type_free_t = Cvoid - -# typedef int ( QMPI_Type_get_contents_t ) ( QMPI_Context context , int tool_id , MPI_Datatype datatype , int max_integers , int max_addresses , int max_datatypes , int array_of_integers [ ] , MPI_Aint array_of_addresses [ ] , MPI_Datatype array_of_datatypes [ ] ) -const QMPI_Type_get_contents_t = Cvoid - -# typedef int ( QMPI_Type_get_contents_c_t ) ( QMPI_Context context , int tool_id , MPI_Datatype datatype , MPI_Count max_integers , MPI_Count max_addresses , MPI_Count max_large_counts , MPI_Count max_datatypes , int array_of_integers [ ] , MPI_Aint array_of_addresses [ ] , MPI_Count array_of_large_counts [ ] , MPI_Datatype array_of_datatypes [ ] ) -const QMPI_Type_get_contents_c_t = Cvoid - -# typedef int ( QMPI_Type_get_envelope_t ) ( QMPI_Context context , int tool_id , MPI_Datatype datatype , int * num_integers , int * num_addresses , int * num_datatypes , int * combiner ) -const QMPI_Type_get_envelope_t = Cvoid - -# typedef int ( QMPI_Type_get_envelope_c_t ) ( QMPI_Context context , int tool_id , MPI_Datatype datatype , MPI_Count * num_integers , MPI_Count * num_addresses , MPI_Count * num_large_counts , MPI_Count * num_datatypes , int * combiner ) -const QMPI_Type_get_envelope_c_t = Cvoid - -# typedef int ( QMPI_Type_get_extent_t ) ( QMPI_Context context , int tool_id , MPI_Datatype datatype , MPI_Aint * lb , MPI_Aint * extent ) -const QMPI_Type_get_extent_t = Cvoid - -# typedef int ( QMPI_Type_get_extent_c_t ) ( QMPI_Context context , int tool_id , MPI_Datatype datatype , MPI_Count * lb , MPI_Count * extent ) -const QMPI_Type_get_extent_c_t = Cvoid - -# typedef int ( QMPI_Type_get_extent_x_t ) ( QMPI_Context context , int tool_id , MPI_Datatype datatype , MPI_Count * lb , MPI_Count * extent ) -const QMPI_Type_get_extent_x_t = Cvoid - -# typedef int ( QMPI_Type_get_name_t ) ( QMPI_Context context , int tool_id , MPI_Datatype datatype , char * type_name , int * resultlen ) -const QMPI_Type_get_name_t = Cvoid - -# typedef int ( QMPI_Type_get_true_extent_t ) ( QMPI_Context context , int tool_id , MPI_Datatype datatype , MPI_Aint * true_lb , MPI_Aint * true_extent ) -const QMPI_Type_get_true_extent_t = Cvoid - -# typedef int ( QMPI_Type_get_true_extent_c_t ) ( QMPI_Context context , int tool_id , MPI_Datatype datatype , MPI_Count * true_lb , MPI_Count * true_extent ) -const QMPI_Type_get_true_extent_c_t = Cvoid - -# typedef int ( QMPI_Type_get_true_extent_x_t ) ( QMPI_Context context , int tool_id , MPI_Datatype datatype , MPI_Count * true_lb , MPI_Count * true_extent ) -const QMPI_Type_get_true_extent_x_t = Cvoid - -# typedef int ( QMPI_Type_indexed_t ) ( QMPI_Context context , int tool_id , int count , const int array_of_blocklengths [ ] , const int array_of_displacements [ ] , MPI_Datatype oldtype , MPI_Datatype * newtype ) -const QMPI_Type_indexed_t = Cvoid - -# typedef int ( QMPI_Type_indexed_c_t ) ( QMPI_Context context , int tool_id , MPI_Count count , const MPI_Count array_of_blocklengths [ ] , const MPI_Count array_of_displacements [ ] , MPI_Datatype oldtype , MPI_Datatype * newtype ) -const QMPI_Type_indexed_c_t = Cvoid - -# typedef int ( QMPI_Type_match_size_t ) ( QMPI_Context context , int tool_id , int typeclass , int size , MPI_Datatype * datatype ) -const QMPI_Type_match_size_t = Cvoid - -# typedef int ( QMPI_Type_set_name_t ) ( QMPI_Context context , int tool_id , MPI_Datatype datatype , const char * type_name ) -const QMPI_Type_set_name_t = Cvoid - -# typedef int ( QMPI_Type_size_t ) ( QMPI_Context context , int tool_id , MPI_Datatype datatype , int * size ) -const QMPI_Type_size_t = Cvoid - -# typedef int ( QMPI_Type_size_c_t ) ( QMPI_Context context , int tool_id , MPI_Datatype datatype , MPI_Count * size ) -const QMPI_Type_size_c_t = Cvoid - -# typedef int ( QMPI_Type_size_x_t ) ( QMPI_Context context , int tool_id , MPI_Datatype datatype , MPI_Count * size ) -const QMPI_Type_size_x_t = Cvoid - -# typedef int ( QMPI_Type_vector_t ) ( QMPI_Context context , int tool_id , int count , int blocklength , int stride , MPI_Datatype oldtype , MPI_Datatype * newtype ) -const QMPI_Type_vector_t = Cvoid - -# typedef int ( QMPI_Type_vector_c_t ) ( QMPI_Context context , int tool_id , MPI_Count count , MPI_Count blocklength , MPI_Count stride , MPI_Datatype oldtype , MPI_Datatype * newtype ) -const QMPI_Type_vector_c_t = Cvoid - -# typedef int ( QMPI_Unpack_t ) ( QMPI_Context context , int tool_id , const void * inbuf , int insize , int * position , void * outbuf , int outcount , MPI_Datatype datatype , MPI_Comm comm ) -const QMPI_Unpack_t = Cvoid - -# typedef int ( QMPI_Unpack_c_t ) ( QMPI_Context context , int tool_id , const void * inbuf , MPI_Count insize , MPI_Count * position , void * outbuf , MPI_Count outcount , MPI_Datatype datatype , MPI_Comm comm ) -const QMPI_Unpack_c_t = Cvoid - -# typedef int ( QMPI_Unpack_external_t ) ( QMPI_Context context , int tool_id , const char datarep [ ] , const void * inbuf , MPI_Aint insize , MPI_Aint * position , void * outbuf , int outcount , MPI_Datatype datatype ) -const QMPI_Unpack_external_t = Cvoid - -# typedef int ( QMPI_Unpack_external_c_t ) ( QMPI_Context context , int tool_id , const char datarep [ ] , const void * inbuf , MPI_Count insize , MPI_Count * position , void * outbuf , MPI_Count outcount , MPI_Datatype datatype ) -const QMPI_Unpack_external_c_t = Cvoid - -# typedef int ( QMPI_Address_t ) ( QMPI_Context context , int tool_id , void * location , MPI_Aint * address ) -const QMPI_Address_t = Cvoid - -# typedef int ( QMPI_Type_extent_t ) ( QMPI_Context context , int tool_id , MPI_Datatype datatype , MPI_Aint * extent ) -const QMPI_Type_extent_t = Cvoid - -# typedef int ( QMPI_Type_lb_t ) ( QMPI_Context context , int tool_id , MPI_Datatype datatype , MPI_Aint * displacement ) -const QMPI_Type_lb_t = Cvoid - -# typedef int ( QMPI_Type_ub_t ) ( QMPI_Context context , int tool_id , MPI_Datatype datatype , MPI_Aint * displacement ) -const QMPI_Type_ub_t = Cvoid - -# typedef int ( QMPI_Type_hindexed_t ) ( QMPI_Context context , int tool_id , int count , int array_of_blocklengths [ ] , MPI_Aint array_of_displacements [ ] , MPI_Datatype oldtype , MPI_Datatype * newtype ) -const QMPI_Type_hindexed_t = Cvoid - -# typedef int ( QMPI_Type_hvector_t ) ( QMPI_Context context , int tool_id , int count , int blocklength , MPI_Aint stride , MPI_Datatype oldtype , MPI_Datatype * newtype ) -const QMPI_Type_hvector_t = Cvoid - -# typedef int ( QMPI_Type_struct_t ) ( QMPI_Context context , int tool_id , int count , int array_of_blocklengths [ ] , MPI_Aint array_of_displacements [ ] , MPI_Datatype array_of_types [ ] , MPI_Datatype * newtype ) -const QMPI_Type_struct_t = Cvoid - -# typedef int ( QMPI_Add_error_class_t ) ( QMPI_Context context , int tool_id , int * errorclass ) -const QMPI_Add_error_class_t = Cvoid - -# typedef int ( QMPI_Add_error_code_t ) ( QMPI_Context context , int tool_id , int errorclass , int * errorcode ) -const QMPI_Add_error_code_t = Cvoid - -# typedef int ( QMPI_Add_error_string_t ) ( QMPI_Context context , int tool_id , int errorcode , const char * string ) -const QMPI_Add_error_string_t = Cvoid - -# typedef int ( QMPI_Comm_call_errhandler_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int errorcode ) -const QMPI_Comm_call_errhandler_t = Cvoid - -# typedef int ( QMPI_Comm_create_errhandler_t ) ( QMPI_Context context , int tool_id , MPI_Comm_errhandler_function * comm_errhandler_fn , MPI_Errhandler * errhandler ) -const QMPI_Comm_create_errhandler_t = Cvoid - -# typedef int ( QMPI_Comm_get_errhandler_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , MPI_Errhandler * errhandler ) -const QMPI_Comm_get_errhandler_t = Cvoid - -# typedef int ( QMPI_Comm_set_errhandler_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , MPI_Errhandler errhandler ) -const QMPI_Comm_set_errhandler_t = Cvoid - -# typedef int ( QMPI_Errhandler_free_t ) ( QMPI_Context context , int tool_id , MPI_Errhandler * errhandler ) -const QMPI_Errhandler_free_t = Cvoid - -# typedef int ( QMPI_Error_class_t ) ( QMPI_Context context , int tool_id , int errorcode , int * errorclass ) -const QMPI_Error_class_t = Cvoid - -# typedef int ( QMPI_Error_string_t ) ( QMPI_Context context , int tool_id , int errorcode , char * string , int * resultlen ) -const QMPI_Error_string_t = Cvoid - -# typedef int ( QMPI_File_call_errhandler_t ) ( QMPI_Context context , int tool_id , MPI_File fh , int errorcode ) -const QMPI_File_call_errhandler_t = Cvoid - -# typedef int ( QMPI_File_create_errhandler_t ) ( QMPI_Context context , int tool_id , MPI_File_errhandler_function * file_errhandler_fn , MPI_Errhandler * errhandler ) -const QMPI_File_create_errhandler_t = Cvoid - -# typedef int ( QMPI_File_get_errhandler_t ) ( QMPI_Context context , int tool_id , MPI_File file , MPI_Errhandler * errhandler ) -const QMPI_File_get_errhandler_t = Cvoid - -# typedef int ( QMPI_File_set_errhandler_t ) ( QMPI_Context context , int tool_id , MPI_File file , MPI_Errhandler errhandler ) -const QMPI_File_set_errhandler_t = Cvoid - -# typedef int ( QMPI_Session_call_errhandler_t ) ( QMPI_Context context , int tool_id , MPI_Session session , int errorcode ) -const QMPI_Session_call_errhandler_t = Cvoid - -# typedef int ( QMPI_Session_create_errhandler_t ) ( QMPI_Context context , int tool_id , MPI_Session_errhandler_function * session_errhandler_fn , MPI_Errhandler * errhandler ) -const QMPI_Session_create_errhandler_t = Cvoid - -# typedef int ( QMPI_Session_get_errhandler_t ) ( QMPI_Context context , int tool_id , MPI_Session session , MPI_Errhandler * errhandler ) -const QMPI_Session_get_errhandler_t = Cvoid - -# typedef int ( QMPI_Session_set_errhandler_t ) ( QMPI_Context context , int tool_id , MPI_Session session , MPI_Errhandler errhandler ) -const QMPI_Session_set_errhandler_t = Cvoid - -# typedef int ( QMPI_Win_call_errhandler_t ) ( QMPI_Context context , int tool_id , MPI_Win win , int errorcode ) -const QMPI_Win_call_errhandler_t = Cvoid - -# typedef int ( QMPI_Win_create_errhandler_t ) ( QMPI_Context context , int tool_id , MPI_Win_errhandler_function * win_errhandler_fn , MPI_Errhandler * errhandler ) -const QMPI_Win_create_errhandler_t = Cvoid - -# typedef int ( QMPI_Win_get_errhandler_t ) ( QMPI_Context context , int tool_id , MPI_Win win , MPI_Errhandler * errhandler ) -const QMPI_Win_get_errhandler_t = Cvoid - -# typedef int ( QMPI_Win_set_errhandler_t ) ( QMPI_Context context , int tool_id , MPI_Win win , MPI_Errhandler errhandler ) -const QMPI_Win_set_errhandler_t = Cvoid - -# typedef int ( QMPIX_Delete_error_class_t ) ( QMPI_Context context , int tool_id , int errorclass ) -const QMPIX_Delete_error_class_t = Cvoid - -# typedef int ( QMPIX_Delete_error_code_t ) ( QMPI_Context context , int tool_id , int errorcode ) -const QMPIX_Delete_error_code_t = Cvoid - -# typedef int ( QMPIX_Delete_error_string_t ) ( QMPI_Context context , int tool_id , int errorcode ) -const QMPIX_Delete_error_string_t = Cvoid - -# typedef int ( QMPI_Errhandler_create_t ) ( QMPI_Context context , int tool_id , MPI_Comm_errhandler_function * comm_errhandler_fn , MPI_Errhandler * errhandler ) -const QMPI_Errhandler_create_t = Cvoid - -# typedef int ( QMPI_Errhandler_get_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , MPI_Errhandler * errhandler ) -const QMPI_Errhandler_get_t = Cvoid - -# typedef int ( QMPI_Errhandler_set_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , MPI_Errhandler errhandler ) -const QMPI_Errhandler_set_t = Cvoid - -# typedef int ( QMPI_Group_compare_t ) ( QMPI_Context context , int tool_id , MPI_Group group1 , MPI_Group group2 , int * result ) -const QMPI_Group_compare_t = Cvoid - -# typedef int ( QMPI_Group_difference_t ) ( QMPI_Context context , int tool_id , MPI_Group group1 , MPI_Group group2 , MPI_Group * newgroup ) -const QMPI_Group_difference_t = Cvoid - -# typedef int ( QMPI_Group_excl_t ) ( QMPI_Context context , int tool_id , MPI_Group group , int n , const int ranks [ ] , MPI_Group * newgroup ) -const QMPI_Group_excl_t = Cvoid - -# typedef int ( QMPI_Group_free_t ) ( QMPI_Context context , int tool_id , MPI_Group * group ) -const QMPI_Group_free_t = Cvoid - -# typedef int ( QMPI_Group_incl_t ) ( QMPI_Context context , int tool_id , MPI_Group group , int n , const int ranks [ ] , MPI_Group * newgroup ) -const QMPI_Group_incl_t = Cvoid - -# typedef int ( QMPI_Group_intersection_t ) ( QMPI_Context context , int tool_id , MPI_Group group1 , MPI_Group group2 , MPI_Group * newgroup ) -const QMPI_Group_intersection_t = Cvoid - -# typedef int ( QMPI_Group_range_excl_t ) ( QMPI_Context context , int tool_id , MPI_Group group , int n , int ranges [ ] [ 3 ] , MPI_Group * newgroup ) -const QMPI_Group_range_excl_t = Cvoid - -# typedef int ( QMPI_Group_range_incl_t ) ( QMPI_Context context , int tool_id , MPI_Group group , int n , int ranges [ ] [ 3 ] , MPI_Group * newgroup ) -const QMPI_Group_range_incl_t = Cvoid - -# typedef int ( QMPI_Group_rank_t ) ( QMPI_Context context , int tool_id , MPI_Group group , int * rank ) -const QMPI_Group_rank_t = Cvoid - -# typedef int ( QMPI_Group_size_t ) ( QMPI_Context context , int tool_id , MPI_Group group , int * size ) -const QMPI_Group_size_t = Cvoid - -# typedef int ( QMPI_Group_translate_ranks_t ) ( QMPI_Context context , int tool_id , MPI_Group group1 , int n , const int ranks1 [ ] , MPI_Group group2 , int ranks2 [ ] ) -const QMPI_Group_translate_ranks_t = Cvoid - -# typedef int ( QMPI_Group_union_t ) ( QMPI_Context context , int tool_id , MPI_Group group1 , MPI_Group group2 , MPI_Group * newgroup ) -const QMPI_Group_union_t = Cvoid - -# typedef int ( QMPI_Info_create_t ) ( QMPI_Context context , int tool_id , MPI_Info * info ) -const QMPI_Info_create_t = Cvoid - -# typedef int ( QMPI_Info_create_env_t ) ( QMPI_Context context , int tool_id , int argc , char * argv [ ] , MPI_Info * info ) -const QMPI_Info_create_env_t = Cvoid - -# typedef int ( QMPI_Info_delete_t ) ( QMPI_Context context , int tool_id , MPI_Info info , const char * key ) -const QMPI_Info_delete_t = Cvoid - -# typedef int ( QMPI_Info_dup_t ) ( QMPI_Context context , int tool_id , MPI_Info info , MPI_Info * newinfo ) -const QMPI_Info_dup_t = Cvoid - -# typedef int ( QMPI_Info_free_t ) ( QMPI_Context context , int tool_id , MPI_Info * info ) -const QMPI_Info_free_t = Cvoid - -# typedef int ( QMPI_Info_get_t ) ( QMPI_Context context , int tool_id , MPI_Info info , const char * key , int valuelen , char * value , int * flag ) -const QMPI_Info_get_t = Cvoid - -# typedef int ( QMPI_Info_get_nkeys_t ) ( QMPI_Context context , int tool_id , MPI_Info info , int * nkeys ) -const QMPI_Info_get_nkeys_t = Cvoid - -# typedef int ( QMPI_Info_get_nthkey_t ) ( QMPI_Context context , int tool_id , MPI_Info info , int n , char * key ) -const QMPI_Info_get_nthkey_t = Cvoid - -# typedef int ( QMPI_Info_get_string_t ) ( QMPI_Context context , int tool_id , MPI_Info info , const char * key , int * buflen , char * value , int * flag ) -const QMPI_Info_get_string_t = Cvoid - -# typedef int ( QMPI_Info_get_valuelen_t ) ( QMPI_Context context , int tool_id , MPI_Info info , const char * key , int * valuelen , int * flag ) -const QMPI_Info_get_valuelen_t = Cvoid - -# typedef int ( QMPI_Info_set_t ) ( QMPI_Context context , int tool_id , MPI_Info info , const char * key , const char * value ) -const QMPI_Info_set_t = Cvoid - -# typedef int ( QMPI_Abort_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int errorcode ) -const QMPI_Abort_t = Cvoid - -# typedef int ( QMPI_Comm_create_from_group_t ) ( QMPI_Context context , int tool_id , MPI_Group group , const char * stringtag , MPI_Info info , MPI_Errhandler errhandler , MPI_Comm * newcomm ) -const QMPI_Comm_create_from_group_t = Cvoid - -# typedef int ( QMPI_Finalize_t ) ( QMPI_Context context , int tool_id ) -const QMPI_Finalize_t = Cvoid - -# typedef int ( QMPI_Finalized_t ) ( QMPI_Context context , int tool_id , int * flag ) -const QMPI_Finalized_t = Cvoid - -# typedef int ( QMPI_Group_from_session_pset_t ) ( QMPI_Context context , int tool_id , MPI_Session session , const char * pset_name , MPI_Group * newgroup ) -const QMPI_Group_from_session_pset_t = Cvoid - -# typedef int ( QMPI_Init_t ) ( QMPI_Context context , int tool_id , int * argc , char * * * argv ) -const QMPI_Init_t = Cvoid - -# typedef int ( QMPI_Init_thread_t ) ( QMPI_Context context , int tool_id , int * argc , char * * * argv , int required , int * provided ) -const QMPI_Init_thread_t = Cvoid - -# typedef int ( QMPI_Initialized_t ) ( QMPI_Context context , int tool_id , int * flag ) -const QMPI_Initialized_t = Cvoid - -# typedef int ( QMPI_Is_thread_main_t ) ( QMPI_Context context , int tool_id , int * flag ) -const QMPI_Is_thread_main_t = Cvoid - -# typedef int ( QMPI_Query_thread_t ) ( QMPI_Context context , int tool_id , int * provided ) -const QMPI_Query_thread_t = Cvoid - -# typedef int ( QMPI_Session_finalize_t ) ( QMPI_Context context , int tool_id , MPI_Session * session ) -const QMPI_Session_finalize_t = Cvoid - -# typedef int ( QMPI_Session_get_info_t ) ( QMPI_Context context , int tool_id , MPI_Session session , MPI_Info * info_used ) -const QMPI_Session_get_info_t = Cvoid - -# typedef int ( QMPI_Session_get_nth_pset_t ) ( QMPI_Context context , int tool_id , MPI_Session session , MPI_Info info , int n , int * pset_len , char * pset_name ) -const QMPI_Session_get_nth_pset_t = Cvoid - -# typedef int ( QMPI_Session_get_num_psets_t ) ( QMPI_Context context , int tool_id , MPI_Session session , MPI_Info info , int * npset_names ) -const QMPI_Session_get_num_psets_t = Cvoid - -# typedef int ( QMPI_Session_get_pset_info_t ) ( QMPI_Context context , int tool_id , MPI_Session session , const char * pset_name , MPI_Info * info ) -const QMPI_Session_get_pset_info_t = Cvoid - -# typedef int ( QMPI_Session_init_t ) ( QMPI_Context context , int tool_id , MPI_Info info , MPI_Errhandler errhandler , MPI_Session * session ) -const QMPI_Session_init_t = Cvoid - -# typedef MPI_Aint ( QMPI_Aint_add_t ) ( QMPI_Context context , int tool_id , MPI_Aint base , MPI_Aint disp ) -const QMPI_Aint_add_t = Cvoid - -# typedef MPI_Aint ( QMPI_Aint_diff_t ) ( QMPI_Context context , int tool_id , MPI_Aint addr1 , MPI_Aint addr2 ) -const QMPI_Aint_diff_t = Cvoid - -# typedef int ( QMPI_Get_library_version_t ) ( QMPI_Context context , int tool_id , char * version , int * resultlen ) -const QMPI_Get_library_version_t = Cvoid - -# typedef int ( QMPI_Get_processor_name_t ) ( QMPI_Context context , int tool_id , char * name , int * resultlen ) -const QMPI_Get_processor_name_t = Cvoid - -# typedef int ( QMPI_Get_version_t ) ( QMPI_Context context , int tool_id , int * version , int * subversion ) -const QMPI_Get_version_t = Cvoid - -# typedef int ( QMPI_Pcontrol_t ) ( QMPI_Context context , int tool_id , const int level , ... ) -const QMPI_Pcontrol_t = Cvoid - -# typedef int ( QMPIX_GPU_query_support_t ) ( QMPI_Context context , int tool_id , int gpu_type , int * is_supported ) -const QMPIX_GPU_query_support_t = Cvoid - -# typedef int ( QMPIX_Query_cuda_support_t ) ( QMPI_Context context , int tool_id ) -const QMPIX_Query_cuda_support_t = Cvoid - -# typedef int ( QMPIX_Query_ze_support_t ) ( QMPI_Context context , int tool_id ) -const QMPIX_Query_ze_support_t = Cvoid - -# typedef int ( QMPIX_Query_hip_support_t ) ( QMPI_Context context , int tool_id ) -const QMPIX_Query_hip_support_t = Cvoid - -# typedef int ( QMPI_T_category_changed_t ) ( QMPI_Context context , int tool_id , int * update_number ) -const QMPI_T_category_changed_t = Cvoid - -# typedef int ( QMPI_T_category_get_categories_t ) ( QMPI_Context context , int tool_id , int cat_index , int len , int indices [ ] ) -const QMPI_T_category_get_categories_t = Cvoid - -# typedef int ( QMPI_T_category_get_cvars_t ) ( QMPI_Context context , int tool_id , int cat_index , int len , int indices [ ] ) -const QMPI_T_category_get_cvars_t = Cvoid - -# typedef int ( QMPI_T_category_get_events_t ) ( QMPI_Context context , int tool_id , int cat_index , int len , int indices [ ] ) -const QMPI_T_category_get_events_t = Cvoid - -# typedef int ( QMPI_T_category_get_index_t ) ( QMPI_Context context , int tool_id , const char * name , int * cat_index ) -const QMPI_T_category_get_index_t = Cvoid - -# typedef int ( QMPI_T_category_get_info_t ) ( QMPI_Context context , int tool_id , int cat_index , char * name , int * name_len , char * desc , int * desc_len , int * num_cvars , int * num_pvars , int * num_categories ) -const QMPI_T_category_get_info_t = Cvoid - -# typedef int ( QMPI_T_category_get_num_t ) ( QMPI_Context context , int tool_id , int * num_cat ) -const QMPI_T_category_get_num_t = Cvoid - -# typedef int ( QMPI_T_category_get_num_events_t ) ( QMPI_Context context , int tool_id , int cat_index , int * num_events ) -const QMPI_T_category_get_num_events_t = Cvoid - -# typedef int ( QMPI_T_category_get_pvars_t ) ( QMPI_Context context , int tool_id , int cat_index , int len , int indices [ ] ) -const QMPI_T_category_get_pvars_t = Cvoid - -# typedef int ( QMPI_T_cvar_get_index_t ) ( QMPI_Context context , int tool_id , const char * name , int * cvar_index ) -const QMPI_T_cvar_get_index_t = Cvoid - -# typedef int ( QMPI_T_cvar_get_info_t ) ( QMPI_Context context , int tool_id , int cvar_index , char * name , int * name_len , int * verbosity , MPI_Datatype * datatype , MPI_T_enum * enumtype , char * desc , int * desc_len , int * bind , int * scope ) -const QMPI_T_cvar_get_info_t = Cvoid - -# typedef int ( QMPI_T_cvar_get_num_t ) ( QMPI_Context context , int tool_id , int * num_cvar ) -const QMPI_T_cvar_get_num_t = Cvoid - -# typedef int ( QMPI_T_cvar_handle_alloc_t ) ( QMPI_Context context , int tool_id , int cvar_index , void * obj_handle , MPI_T_cvar_handle * handle , int * count ) -const QMPI_T_cvar_handle_alloc_t = Cvoid - -# typedef int ( QMPI_T_cvar_handle_free_t ) ( QMPI_Context context , int tool_id , MPI_T_cvar_handle * handle ) -const QMPI_T_cvar_handle_free_t = Cvoid - -# typedef int ( QMPI_T_cvar_read_t ) ( QMPI_Context context , int tool_id , MPI_T_cvar_handle handle , void * buf ) -const QMPI_T_cvar_read_t = Cvoid - -# typedef int ( QMPI_T_cvar_write_t ) ( QMPI_Context context , int tool_id , MPI_T_cvar_handle handle , const void * buf ) -const QMPI_T_cvar_write_t = Cvoid - -# typedef int ( QMPI_T_enum_get_info_t ) ( QMPI_Context context , int tool_id , MPI_T_enum enumtype , int * num , char * name , int * name_len ) -const QMPI_T_enum_get_info_t = Cvoid - -# typedef int ( QMPI_T_enum_get_item_t ) ( QMPI_Context context , int tool_id , MPI_T_enum enumtype , int indx , int * value , char * name , int * name_len ) -const QMPI_T_enum_get_item_t = Cvoid - -# typedef int ( QMPI_T_event_callback_get_info_t ) ( QMPI_Context context , int tool_id , MPI_T_event_registration event_registration , MPI_T_cb_safety cb_safety , MPI_Info * info_used ) -const QMPI_T_event_callback_get_info_t = Cvoid - -# typedef int ( QMPI_T_event_callback_set_info_t ) ( QMPI_Context context , int tool_id , MPI_T_event_registration event_registration , MPI_T_cb_safety cb_safety , MPI_Info info ) -const QMPI_T_event_callback_set_info_t = Cvoid - -# typedef int ( QMPI_T_event_copy_t ) ( QMPI_Context context , int tool_id , MPI_T_event_instance event_instance , void * buffer ) -const QMPI_T_event_copy_t = Cvoid - -# typedef int ( QMPI_T_event_get_index_t ) ( QMPI_Context context , int tool_id , const char * name , int * event_index ) -const QMPI_T_event_get_index_t = Cvoid - -# typedef int ( QMPI_T_event_get_info_t ) ( QMPI_Context context , int tool_id , int event_index , char * name , int * name_len , int * verbosity , MPI_Datatype array_of_datatypes [ ] , MPI_Aint array_of_displacements [ ] , int * num_elements , MPI_T_enum * enumtype , MPI_Info * info , char * desc , int * desc_len , int * bind ) -const QMPI_T_event_get_info_t = Cvoid - -# typedef int ( QMPI_T_event_get_num_t ) ( QMPI_Context context , int tool_id , int * num_events ) -const QMPI_T_event_get_num_t = Cvoid - -# typedef int ( QMPI_T_event_get_source_t ) ( QMPI_Context context , int tool_id , MPI_T_event_instance event_instance , int * source_index ) -const QMPI_T_event_get_source_t = Cvoid - -# typedef int ( QMPI_T_event_get_timestamp_t ) ( QMPI_Context context , int tool_id , MPI_T_event_instance event_instance , MPI_Count * event_timestamp ) -const QMPI_T_event_get_timestamp_t = Cvoid - -# typedef int ( QMPI_T_event_handle_alloc_t ) ( QMPI_Context context , int tool_id , int event_index , void * obj_handle , MPI_Info info , MPI_T_event_registration * event_registration ) -const QMPI_T_event_handle_alloc_t = Cvoid - -# typedef int ( QMPI_T_event_handle_free_t ) ( QMPI_Context context , int tool_id , MPI_T_event_registration event_registration , void * user_data , MPI_T_event_free_cb_function free_cb_function ) -const QMPI_T_event_handle_free_t = Cvoid - -# typedef int ( QMPI_T_event_handle_get_info_t ) ( QMPI_Context context , int tool_id , MPI_T_event_registration event_registration , MPI_Info * info_used ) -const QMPI_T_event_handle_get_info_t = Cvoid - -# typedef int ( QMPI_T_event_handle_set_info_t ) ( QMPI_Context context , int tool_id , MPI_T_event_registration event_registration , MPI_Info info ) -const QMPI_T_event_handle_set_info_t = Cvoid - -# typedef int ( QMPI_T_event_read_t ) ( QMPI_Context context , int tool_id , MPI_T_event_instance event_instance , int element_index , void * buffer ) -const QMPI_T_event_read_t = Cvoid - -# typedef int ( QMPI_T_event_register_callback_t ) ( QMPI_Context context , int tool_id , MPI_T_event_registration event_registration , MPI_T_cb_safety cb_safety , MPI_Info info , void * user_data , MPI_T_event_cb_function event_cb_function ) -const QMPI_T_event_register_callback_t = Cvoid - -# typedef int ( QMPI_T_event_set_dropped_handler_t ) ( QMPI_Context context , int tool_id , MPI_T_event_registration event_registration , MPI_T_event_dropped_cb_function dropped_cb_function ) -const QMPI_T_event_set_dropped_handler_t = Cvoid - -# typedef int ( QMPI_T_finalize_t ) ( QMPI_Context context , int tool_id ) -const QMPI_T_finalize_t = Cvoid - -# typedef int ( QMPI_T_init_thread_t ) ( QMPI_Context context , int tool_id , int required , int * provided ) -const QMPI_T_init_thread_t = Cvoid - -# typedef int ( QMPI_T_pvar_get_index_t ) ( QMPI_Context context , int tool_id , const char * name , int var_class , int * pvar_index ) -const QMPI_T_pvar_get_index_t = Cvoid - -# typedef int ( QMPI_T_pvar_get_info_t ) ( QMPI_Context context , int tool_id , int pvar_index , char * name , int * name_len , int * verbosity , int * var_class , MPI_Datatype * datatype , MPI_T_enum * enumtype , char * desc , int * desc_len , int * bind , int * readonly , int * continuous , int * atomic ) -const QMPI_T_pvar_get_info_t = Cvoid - -# typedef int ( QMPI_T_pvar_get_num_t ) ( QMPI_Context context , int tool_id , int * num_pvar ) -const QMPI_T_pvar_get_num_t = Cvoid - -# typedef int ( QMPI_T_pvar_handle_alloc_t ) ( QMPI_Context context , int tool_id , MPI_T_pvar_session session , int pvar_index , void * obj_handle , MPI_T_pvar_handle * handle , int * count ) -const QMPI_T_pvar_handle_alloc_t = Cvoid - -# typedef int ( QMPI_T_pvar_handle_free_t ) ( QMPI_Context context , int tool_id , MPI_T_pvar_session session , MPI_T_pvar_handle * handle ) -const QMPI_T_pvar_handle_free_t = Cvoid - -# typedef int ( QMPI_T_pvar_read_t ) ( QMPI_Context context , int tool_id , MPI_T_pvar_session session , MPI_T_pvar_handle handle , void * buf ) -const QMPI_T_pvar_read_t = Cvoid - -# typedef int ( QMPI_T_pvar_readreset_t ) ( QMPI_Context context , int tool_id , MPI_T_pvar_session session , MPI_T_pvar_handle handle , void * buf ) -const QMPI_T_pvar_readreset_t = Cvoid - -# typedef int ( QMPI_T_pvar_reset_t ) ( QMPI_Context context , int tool_id , MPI_T_pvar_session session , MPI_T_pvar_handle handle ) -const QMPI_T_pvar_reset_t = Cvoid - -# typedef int ( QMPI_T_pvar_session_create_t ) ( QMPI_Context context , int tool_id , MPI_T_pvar_session * session ) -const QMPI_T_pvar_session_create_t = Cvoid - -# typedef int ( QMPI_T_pvar_session_free_t ) ( QMPI_Context context , int tool_id , MPI_T_pvar_session * session ) -const QMPI_T_pvar_session_free_t = Cvoid - -# typedef int ( QMPI_T_pvar_start_t ) ( QMPI_Context context , int tool_id , MPI_T_pvar_session session , MPI_T_pvar_handle handle ) -const QMPI_T_pvar_start_t = Cvoid - -# typedef int ( QMPI_T_pvar_stop_t ) ( QMPI_Context context , int tool_id , MPI_T_pvar_session session , MPI_T_pvar_handle handle ) -const QMPI_T_pvar_stop_t = Cvoid - -# typedef int ( QMPI_T_pvar_write_t ) ( QMPI_Context context , int tool_id , MPI_T_pvar_session session , MPI_T_pvar_handle handle , const void * buf ) -const QMPI_T_pvar_write_t = Cvoid - -# typedef int ( QMPI_T_source_get_info_t ) ( QMPI_Context context , int tool_id , int source_index , char * name , int * name_len , char * desc , int * desc_len , MPI_T_source_order * ordering , MPI_Count * ticks_per_second , MPI_Count * max_ticks , MPI_Info * info ) -const QMPI_T_source_get_info_t = Cvoid - -# typedef int ( QMPI_T_source_get_num_t ) ( QMPI_Context context , int tool_id , int * num_sources ) -const QMPI_T_source_get_num_t = Cvoid - -# typedef int ( QMPI_T_source_get_timestamp_t ) ( QMPI_Context context , int tool_id , int source_index , MPI_Count * timestamp ) -const QMPI_T_source_get_timestamp_t = Cvoid - -# typedef int ( QMPI_Op_commutative_t ) ( QMPI_Context context , int tool_id , MPI_Op op , int * commute ) -const QMPI_Op_commutative_t = Cvoid - -# typedef int ( QMPI_Op_create_t ) ( QMPI_Context context , int tool_id , MPI_User_function * user_fn , int commute , MPI_Op * op ) -const QMPI_Op_create_t = Cvoid - -# typedef int ( QMPI_Op_create_c_t ) ( QMPI_Context context , int tool_id , MPI_User_function_c * user_fn , int commute , MPI_Op * op ) -const QMPI_Op_create_c_t = Cvoid - -# typedef int ( QMPI_Op_free_t ) ( QMPI_Context context , int tool_id , MPI_Op * op ) -const QMPI_Op_free_t = Cvoid - -# typedef int ( QMPI_Parrived_t ) ( QMPI_Context context , int tool_id , MPI_Request request , int partition , int * flag ) -const QMPI_Parrived_t = Cvoid - -# typedef int ( QMPI_Pready_t ) ( QMPI_Context context , int tool_id , int partition , MPI_Request request ) -const QMPI_Pready_t = Cvoid - -# typedef int ( QMPI_Pready_list_t ) ( QMPI_Context context , int tool_id , int length , int array_of_partitions [ ] , MPI_Request request ) -const QMPI_Pready_list_t = Cvoid - -# typedef int ( QMPI_Pready_range_t ) ( QMPI_Context context , int tool_id , int partition_low , int partition_high , MPI_Request request ) -const QMPI_Pready_range_t = Cvoid - -# typedef int ( QMPI_Precv_init_t ) ( QMPI_Context context , int tool_id , void * buf , int partitions , MPI_Count count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Precv_init_t = Cvoid - -# typedef int ( QMPI_Psend_init_t ) ( QMPI_Context context , int tool_id , const void * buf , int partitions , MPI_Count count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm , MPI_Info info , MPI_Request * request ) -const QMPI_Psend_init_t = Cvoid - -# typedef int ( QMPI_Bsend_t ) ( QMPI_Context context , int tool_id , const void * buf , int count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm ) -const QMPI_Bsend_t = Cvoid - -# typedef int ( QMPI_Bsend_c_t ) ( QMPI_Context context , int tool_id , const void * buf , MPI_Count count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm ) -const QMPI_Bsend_c_t = Cvoid - -# typedef int ( QMPI_Bsend_init_t ) ( QMPI_Context context , int tool_id , const void * buf , int count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Bsend_init_t = Cvoid - -# typedef int ( QMPI_Bsend_init_c_t ) ( QMPI_Context context , int tool_id , const void * buf , MPI_Count count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Bsend_init_c_t = Cvoid - -# typedef int ( QMPI_Buffer_attach_t ) ( QMPI_Context context , int tool_id , void * buffer , int size ) -const QMPI_Buffer_attach_t = Cvoid - -# typedef int ( QMPI_Buffer_attach_c_t ) ( QMPI_Context context , int tool_id , void * buffer , MPI_Count size ) -const QMPI_Buffer_attach_c_t = Cvoid - -# typedef int ( QMPI_Buffer_detach_t ) ( QMPI_Context context , int tool_id , void * buffer_addr , int * size ) -const QMPI_Buffer_detach_t = Cvoid - -# typedef int ( QMPI_Buffer_detach_c_t ) ( QMPI_Context context , int tool_id , void * buffer_addr , MPI_Count * size ) -const QMPI_Buffer_detach_c_t = Cvoid - -# typedef int ( QMPI_Ibsend_t ) ( QMPI_Context context , int tool_id , const void * buf , int count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ibsend_t = Cvoid - -# typedef int ( QMPI_Ibsend_c_t ) ( QMPI_Context context , int tool_id , const void * buf , MPI_Count count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ibsend_c_t = Cvoid - -# typedef int ( QMPI_Improbe_t ) ( QMPI_Context context , int tool_id , int source , int tag , MPI_Comm comm , int * flag , MPI_Message * message , MPI_Status * status ) -const QMPI_Improbe_t = Cvoid - -# typedef int ( QMPI_Imrecv_t ) ( QMPI_Context context , int tool_id , void * buf , int count , MPI_Datatype datatype , MPI_Message * message , MPI_Request * request ) -const QMPI_Imrecv_t = Cvoid - -# typedef int ( QMPI_Imrecv_c_t ) ( QMPI_Context context , int tool_id , void * buf , MPI_Count count , MPI_Datatype datatype , MPI_Message * message , MPI_Request * request ) -const QMPI_Imrecv_c_t = Cvoid - -# typedef int ( QMPI_Iprobe_t ) ( QMPI_Context context , int tool_id , int source , int tag , MPI_Comm comm , int * flag , MPI_Status * status ) -const QMPI_Iprobe_t = Cvoid - -# typedef int ( QMPI_Irecv_t ) ( QMPI_Context context , int tool_id , void * buf , int count , MPI_Datatype datatype , int source , int tag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Irecv_t = Cvoid - -# typedef int ( QMPI_Irecv_c_t ) ( QMPI_Context context , int tool_id , void * buf , MPI_Count count , MPI_Datatype datatype , int source , int tag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Irecv_c_t = Cvoid - -# typedef int ( QMPI_Irsend_t ) ( QMPI_Context context , int tool_id , const void * buf , int count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Irsend_t = Cvoid - -# typedef int ( QMPI_Irsend_c_t ) ( QMPI_Context context , int tool_id , const void * buf , MPI_Count count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Irsend_c_t = Cvoid - -# typedef int ( QMPI_Isend_t ) ( QMPI_Context context , int tool_id , const void * buf , int count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Isend_t = Cvoid - -# typedef int ( QMPI_Isend_c_t ) ( QMPI_Context context , int tool_id , const void * buf , MPI_Count count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Isend_c_t = Cvoid - -# typedef int ( QMPI_Isendrecv_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , int dest , int sendtag , void * recvbuf , int recvcount , MPI_Datatype recvtype , int source , int recvtag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Isendrecv_t = Cvoid - -# typedef int ( QMPI_Isendrecv_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , int dest , int sendtag , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , int source , int recvtag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Isendrecv_c_t = Cvoid - -# typedef int ( QMPI_Isendrecv_replace_t ) ( QMPI_Context context , int tool_id , void * buf , int count , MPI_Datatype datatype , int dest , int sendtag , int source , int recvtag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Isendrecv_replace_t = Cvoid - -# typedef int ( QMPI_Isendrecv_replace_c_t ) ( QMPI_Context context , int tool_id , void * buf , MPI_Count count , MPI_Datatype datatype , int dest , int sendtag , int source , int recvtag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Isendrecv_replace_c_t = Cvoid - -# typedef int ( QMPI_Issend_t ) ( QMPI_Context context , int tool_id , const void * buf , int count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Issend_t = Cvoid - -# typedef int ( QMPI_Issend_c_t ) ( QMPI_Context context , int tool_id , const void * buf , MPI_Count count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Issend_c_t = Cvoid - -# typedef int ( QMPI_Mprobe_t ) ( QMPI_Context context , int tool_id , int source , int tag , MPI_Comm comm , MPI_Message * message , MPI_Status * status ) -const QMPI_Mprobe_t = Cvoid - -# typedef int ( QMPI_Mrecv_t ) ( QMPI_Context context , int tool_id , void * buf , int count , MPI_Datatype datatype , MPI_Message * message , MPI_Status * status ) -const QMPI_Mrecv_t = Cvoid - -# typedef int ( QMPI_Mrecv_c_t ) ( QMPI_Context context , int tool_id , void * buf , MPI_Count count , MPI_Datatype datatype , MPI_Message * message , MPI_Status * status ) -const QMPI_Mrecv_c_t = Cvoid - -# typedef int ( QMPI_Probe_t ) ( QMPI_Context context , int tool_id , int source , int tag , MPI_Comm comm , MPI_Status * status ) -const QMPI_Probe_t = Cvoid - -# typedef int ( QMPI_Recv_t ) ( QMPI_Context context , int tool_id , void * buf , int count , MPI_Datatype datatype , int source , int tag , MPI_Comm comm , MPI_Status * status ) -const QMPI_Recv_t = Cvoid - -# typedef int ( QMPI_Recv_c_t ) ( QMPI_Context context , int tool_id , void * buf , MPI_Count count , MPI_Datatype datatype , int source , int tag , MPI_Comm comm , MPI_Status * status ) -const QMPI_Recv_c_t = Cvoid - -# typedef int ( QMPI_Recv_init_t ) ( QMPI_Context context , int tool_id , void * buf , int count , MPI_Datatype datatype , int source , int tag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Recv_init_t = Cvoid - -# typedef int ( QMPI_Recv_init_c_t ) ( QMPI_Context context , int tool_id , void * buf , MPI_Count count , MPI_Datatype datatype , int source , int tag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Recv_init_c_t = Cvoid - -# typedef int ( QMPI_Rsend_t ) ( QMPI_Context context , int tool_id , const void * buf , int count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm ) -const QMPI_Rsend_t = Cvoid - -# typedef int ( QMPI_Rsend_c_t ) ( QMPI_Context context , int tool_id , const void * buf , MPI_Count count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm ) -const QMPI_Rsend_c_t = Cvoid - -# typedef int ( QMPI_Rsend_init_t ) ( QMPI_Context context , int tool_id , const void * buf , int count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Rsend_init_t = Cvoid - -# typedef int ( QMPI_Rsend_init_c_t ) ( QMPI_Context context , int tool_id , const void * buf , MPI_Count count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Rsend_init_c_t = Cvoid - -# typedef int ( QMPI_Send_t ) ( QMPI_Context context , int tool_id , const void * buf , int count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm ) -const QMPI_Send_t = Cvoid - -# typedef int ( QMPI_Send_c_t ) ( QMPI_Context context , int tool_id , const void * buf , MPI_Count count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm ) -const QMPI_Send_c_t = Cvoid - -# typedef int ( QMPI_Send_init_t ) ( QMPI_Context context , int tool_id , const void * buf , int count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Send_init_t = Cvoid - -# typedef int ( QMPI_Send_init_c_t ) ( QMPI_Context context , int tool_id , const void * buf , MPI_Count count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Send_init_c_t = Cvoid - -# typedef int ( QMPI_Sendrecv_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , int sendcount , MPI_Datatype sendtype , int dest , int sendtag , void * recvbuf , int recvcount , MPI_Datatype recvtype , int source , int recvtag , MPI_Comm comm , MPI_Status * status ) -const QMPI_Sendrecv_t = Cvoid - -# typedef int ( QMPI_Sendrecv_c_t ) ( QMPI_Context context , int tool_id , const void * sendbuf , MPI_Count sendcount , MPI_Datatype sendtype , int dest , int sendtag , void * recvbuf , MPI_Count recvcount , MPI_Datatype recvtype , int source , int recvtag , MPI_Comm comm , MPI_Status * status ) -const QMPI_Sendrecv_c_t = Cvoid - -# typedef int ( QMPI_Sendrecv_replace_t ) ( QMPI_Context context , int tool_id , void * buf , int count , MPI_Datatype datatype , int dest , int sendtag , int source , int recvtag , MPI_Comm comm , MPI_Status * status ) -const QMPI_Sendrecv_replace_t = Cvoid - -# typedef int ( QMPI_Sendrecv_replace_c_t ) ( QMPI_Context context , int tool_id , void * buf , MPI_Count count , MPI_Datatype datatype , int dest , int sendtag , int source , int recvtag , MPI_Comm comm , MPI_Status * status ) -const QMPI_Sendrecv_replace_c_t = Cvoid - -# typedef int ( QMPI_Ssend_t ) ( QMPI_Context context , int tool_id , const void * buf , int count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm ) -const QMPI_Ssend_t = Cvoid - -# typedef int ( QMPI_Ssend_c_t ) ( QMPI_Context context , int tool_id , const void * buf , MPI_Count count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm ) -const QMPI_Ssend_c_t = Cvoid - -# typedef int ( QMPI_Ssend_init_t ) ( QMPI_Context context , int tool_id , const void * buf , int count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ssend_init_t = Cvoid - -# typedef int ( QMPI_Ssend_init_c_t ) ( QMPI_Context context , int tool_id , const void * buf , MPI_Count count , MPI_Datatype datatype , int dest , int tag , MPI_Comm comm , MPI_Request * request ) -const QMPI_Ssend_init_c_t = Cvoid - -# typedef int ( QMPI_Cancel_t ) ( QMPI_Context context , int tool_id , MPI_Request * request ) -const QMPI_Cancel_t = Cvoid - -# typedef int ( QMPI_Grequest_complete_t ) ( QMPI_Context context , int tool_id , MPI_Request request ) -const QMPI_Grequest_complete_t = Cvoid - -# typedef int ( QMPI_Grequest_start_t ) ( QMPI_Context context , int tool_id , MPI_Grequest_query_function * query_fn , MPI_Grequest_free_function * free_fn , MPI_Grequest_cancel_function * cancel_fn , void * extra_state , MPI_Request * request ) -const QMPI_Grequest_start_t = Cvoid - -# typedef int ( QMPI_Request_free_t ) ( QMPI_Context context , int tool_id , MPI_Request * request ) -const QMPI_Request_free_t = Cvoid - -# typedef int ( QMPI_Request_get_status_t ) ( QMPI_Context context , int tool_id , MPI_Request request , int * flag , MPI_Status * status ) -const QMPI_Request_get_status_t = Cvoid - -# typedef int ( QMPI_Start_t ) ( QMPI_Context context , int tool_id , MPI_Request * request ) -const QMPI_Start_t = Cvoid - -# typedef int ( QMPI_Startall_t ) ( QMPI_Context context , int tool_id , int count , MPI_Request array_of_requests [ ] ) -const QMPI_Startall_t = Cvoid - -# typedef int ( QMPI_Status_set_cancelled_t ) ( QMPI_Context context , int tool_id , MPI_Status * status , int flag ) -const QMPI_Status_set_cancelled_t = Cvoid - -# typedef int ( QMPI_Test_t ) ( QMPI_Context context , int tool_id , MPI_Request * request , int * flag , MPI_Status * status ) -const QMPI_Test_t = Cvoid - -# typedef int ( QMPI_Test_cancelled_t ) ( QMPI_Context context , int tool_id , const MPI_Status * status , int * flag ) -const QMPI_Test_cancelled_t = Cvoid - -# typedef int ( QMPI_Testall_t ) ( QMPI_Context context , int tool_id , int count , MPI_Request array_of_requests [ ] , int * flag , MPI_Status array_of_statuses [ ] ) -const QMPI_Testall_t = Cvoid - -# typedef int ( QMPI_Testany_t ) ( QMPI_Context context , int tool_id , int count , MPI_Request array_of_requests [ ] , int * indx , int * flag , MPI_Status * status ) -const QMPI_Testany_t = Cvoid - -# typedef int ( QMPI_Testsome_t ) ( QMPI_Context context , int tool_id , int incount , MPI_Request array_of_requests [ ] , int * outcount , int array_of_indices [ ] , MPI_Status array_of_statuses [ ] ) -const QMPI_Testsome_t = Cvoid - -# typedef int ( QMPI_Wait_t ) ( QMPI_Context context , int tool_id , MPI_Request * request , MPI_Status * status ) -const QMPI_Wait_t = Cvoid - -# typedef int ( QMPI_Waitall_t ) ( QMPI_Context context , int tool_id , int count , MPI_Request array_of_requests [ ] , MPI_Status array_of_statuses [ ] ) -const QMPI_Waitall_t = Cvoid - -# typedef int ( QMPI_Waitany_t ) ( QMPI_Context context , int tool_id , int count , MPI_Request array_of_requests [ ] , int * indx , MPI_Status * status ) -const QMPI_Waitany_t = Cvoid - -# typedef int ( QMPI_Waitsome_t ) ( QMPI_Context context , int tool_id , int incount , MPI_Request array_of_requests [ ] , int * outcount , int array_of_indices [ ] , MPI_Status array_of_statuses [ ] ) -const QMPI_Waitsome_t = Cvoid - -# typedef int ( QMPIX_Grequest_start_t ) ( QMPI_Context context , int tool_id , MPI_Grequest_query_function * query_fn , MPI_Grequest_free_function * free_fn , MPI_Grequest_cancel_function * cancel_fn , MPIX_Grequest_poll_function * poll_fn , MPIX_Grequest_wait_function * wait_fn , void * extra_state , MPI_Request * request ) -const QMPIX_Grequest_start_t = Cvoid - -# typedef int ( QMPIX_Grequest_class_create_t ) ( QMPI_Context context , int tool_id , MPI_Grequest_query_function * query_fn , MPI_Grequest_free_function * free_fn , MPI_Grequest_cancel_function * cancel_fn , MPIX_Grequest_poll_function * poll_fn , MPIX_Grequest_wait_function * wait_fn , MPIX_Grequest_class * greq_class ) -const QMPIX_Grequest_class_create_t = Cvoid - -# typedef int ( QMPIX_Grequest_class_allocate_t ) ( QMPI_Context context , int tool_id , MPIX_Grequest_class greq_class , void * extra_state , MPI_Request * request ) -const QMPIX_Grequest_class_allocate_t = Cvoid - -# typedef int ( QMPI_Accumulate_t ) ( QMPI_Context context , int tool_id , const void * origin_addr , int origin_count , MPI_Datatype origin_datatype , int target_rank , MPI_Aint target_disp , int target_count , MPI_Datatype target_datatype , MPI_Op op , MPI_Win win ) -const QMPI_Accumulate_t = Cvoid - -# typedef int ( QMPI_Accumulate_c_t ) ( QMPI_Context context , int tool_id , const void * origin_addr , MPI_Count origin_count , MPI_Datatype origin_datatype , int target_rank , MPI_Aint target_disp , MPI_Count target_count , MPI_Datatype target_datatype , MPI_Op op , MPI_Win win ) -const QMPI_Accumulate_c_t = Cvoid - -# typedef int ( QMPI_Alloc_mem_t ) ( QMPI_Context context , int tool_id , MPI_Aint size , MPI_Info info , void * baseptr ) -const QMPI_Alloc_mem_t = Cvoid - -# typedef int ( QMPI_Compare_and_swap_t ) ( QMPI_Context context , int tool_id , const void * origin_addr , const void * compare_addr , void * result_addr , MPI_Datatype datatype , int target_rank , MPI_Aint target_disp , MPI_Win win ) -const QMPI_Compare_and_swap_t = Cvoid - -# typedef int ( QMPI_Fetch_and_op_t ) ( QMPI_Context context , int tool_id , const void * origin_addr , void * result_addr , MPI_Datatype datatype , int target_rank , MPI_Aint target_disp , MPI_Op op , MPI_Win win ) -const QMPI_Fetch_and_op_t = Cvoid - -# typedef int ( QMPI_Free_mem_t ) ( QMPI_Context context , int tool_id , void * base ) -const QMPI_Free_mem_t = Cvoid - -# typedef int ( QMPI_Get_t ) ( QMPI_Context context , int tool_id , void * origin_addr , int origin_count , MPI_Datatype origin_datatype , int target_rank , MPI_Aint target_disp , int target_count , MPI_Datatype target_datatype , MPI_Win win ) -const QMPI_Get_t = Cvoid - -# typedef int ( QMPI_Get_c_t ) ( QMPI_Context context , int tool_id , void * origin_addr , MPI_Count origin_count , MPI_Datatype origin_datatype , int target_rank , MPI_Aint target_disp , MPI_Count target_count , MPI_Datatype target_datatype , MPI_Win win ) -const QMPI_Get_c_t = Cvoid - -# typedef int ( QMPI_Get_accumulate_t ) ( QMPI_Context context , int tool_id , const void * origin_addr , int origin_count , MPI_Datatype origin_datatype , void * result_addr , int result_count , MPI_Datatype result_datatype , int target_rank , MPI_Aint target_disp , int target_count , MPI_Datatype target_datatype , MPI_Op op , MPI_Win win ) -const QMPI_Get_accumulate_t = Cvoid - -# typedef int ( QMPI_Get_accumulate_c_t ) ( QMPI_Context context , int tool_id , const void * origin_addr , MPI_Count origin_count , MPI_Datatype origin_datatype , void * result_addr , MPI_Count result_count , MPI_Datatype result_datatype , int target_rank , MPI_Aint target_disp , MPI_Count target_count , MPI_Datatype target_datatype , MPI_Op op , MPI_Win win ) -const QMPI_Get_accumulate_c_t = Cvoid - -# typedef int ( QMPI_Put_t ) ( QMPI_Context context , int tool_id , const void * origin_addr , int origin_count , MPI_Datatype origin_datatype , int target_rank , MPI_Aint target_disp , int target_count , MPI_Datatype target_datatype , MPI_Win win ) -const QMPI_Put_t = Cvoid - -# typedef int ( QMPI_Put_c_t ) ( QMPI_Context context , int tool_id , const void * origin_addr , MPI_Count origin_count , MPI_Datatype origin_datatype , int target_rank , MPI_Aint target_disp , MPI_Count target_count , MPI_Datatype target_datatype , MPI_Win win ) -const QMPI_Put_c_t = Cvoid - -# typedef int ( QMPI_Raccumulate_t ) ( QMPI_Context context , int tool_id , const void * origin_addr , int origin_count , MPI_Datatype origin_datatype , int target_rank , MPI_Aint target_disp , int target_count , MPI_Datatype target_datatype , MPI_Op op , MPI_Win win , MPI_Request * request ) -const QMPI_Raccumulate_t = Cvoid - -# typedef int ( QMPI_Raccumulate_c_t ) ( QMPI_Context context , int tool_id , const void * origin_addr , MPI_Count origin_count , MPI_Datatype origin_datatype , int target_rank , MPI_Aint target_disp , MPI_Count target_count , MPI_Datatype target_datatype , MPI_Op op , MPI_Win win , MPI_Request * request ) -const QMPI_Raccumulate_c_t = Cvoid - -# typedef int ( QMPI_Rget_t ) ( QMPI_Context context , int tool_id , void * origin_addr , int origin_count , MPI_Datatype origin_datatype , int target_rank , MPI_Aint target_disp , int target_count , MPI_Datatype target_datatype , MPI_Win win , MPI_Request * request ) -const QMPI_Rget_t = Cvoid - -# typedef int ( QMPI_Rget_c_t ) ( QMPI_Context context , int tool_id , void * origin_addr , MPI_Count origin_count , MPI_Datatype origin_datatype , int target_rank , MPI_Aint target_disp , MPI_Count target_count , MPI_Datatype target_datatype , MPI_Win win , MPI_Request * request ) -const QMPI_Rget_c_t = Cvoid - -# typedef int ( QMPI_Rget_accumulate_t ) ( QMPI_Context context , int tool_id , const void * origin_addr , int origin_count , MPI_Datatype origin_datatype , void * result_addr , int result_count , MPI_Datatype result_datatype , int target_rank , MPI_Aint target_disp , int target_count , MPI_Datatype target_datatype , MPI_Op op , MPI_Win win , MPI_Request * request ) -const QMPI_Rget_accumulate_t = Cvoid - -# typedef int ( QMPI_Rget_accumulate_c_t ) ( QMPI_Context context , int tool_id , const void * origin_addr , MPI_Count origin_count , MPI_Datatype origin_datatype , void * result_addr , MPI_Count result_count , MPI_Datatype result_datatype , int target_rank , MPI_Aint target_disp , MPI_Count target_count , MPI_Datatype target_datatype , MPI_Op op , MPI_Win win , MPI_Request * request ) -const QMPI_Rget_accumulate_c_t = Cvoid - -# typedef int ( QMPI_Rput_t ) ( QMPI_Context context , int tool_id , const void * origin_addr , int origin_count , MPI_Datatype origin_datatype , int target_rank , MPI_Aint target_disp , int target_count , MPI_Datatype target_datatype , MPI_Win win , MPI_Request * request ) -const QMPI_Rput_t = Cvoid - -# typedef int ( QMPI_Rput_c_t ) ( QMPI_Context context , int tool_id , const void * origin_addr , MPI_Count origin_count , MPI_Datatype origin_datatype , int target_rank , MPI_Aint target_disp , MPI_Count target_count , MPI_Datatype target_datatype , MPI_Win win , MPI_Request * request ) -const QMPI_Rput_c_t = Cvoid - -# typedef int ( QMPI_Win_allocate_t ) ( QMPI_Context context , int tool_id , MPI_Aint size , int disp_unit , MPI_Info info , MPI_Comm comm , void * baseptr , MPI_Win * win ) -const QMPI_Win_allocate_t = Cvoid - -# typedef int ( QMPI_Win_allocate_c_t ) ( QMPI_Context context , int tool_id , MPI_Aint size , MPI_Aint disp_unit , MPI_Info info , MPI_Comm comm , void * baseptr , MPI_Win * win ) -const QMPI_Win_allocate_c_t = Cvoid - -# typedef int ( QMPI_Win_allocate_shared_t ) ( QMPI_Context context , int tool_id , MPI_Aint size , int disp_unit , MPI_Info info , MPI_Comm comm , void * baseptr , MPI_Win * win ) -const QMPI_Win_allocate_shared_t = Cvoid - -# typedef int ( QMPI_Win_allocate_shared_c_t ) ( QMPI_Context context , int tool_id , MPI_Aint size , MPI_Aint disp_unit , MPI_Info info , MPI_Comm comm , void * baseptr , MPI_Win * win ) -const QMPI_Win_allocate_shared_c_t = Cvoid - -# typedef int ( QMPI_Win_attach_t ) ( QMPI_Context context , int tool_id , MPI_Win win , void * base , MPI_Aint size ) -const QMPI_Win_attach_t = Cvoid - -# typedef int ( QMPI_Win_complete_t ) ( QMPI_Context context , int tool_id , MPI_Win win ) -const QMPI_Win_complete_t = Cvoid - -# typedef int ( QMPI_Win_create_t ) ( QMPI_Context context , int tool_id , void * base , MPI_Aint size , int disp_unit , MPI_Info info , MPI_Comm comm , MPI_Win * win ) -const QMPI_Win_create_t = Cvoid - -# typedef int ( QMPI_Win_create_c_t ) ( QMPI_Context context , int tool_id , void * base , MPI_Aint size , MPI_Aint disp_unit , MPI_Info info , MPI_Comm comm , MPI_Win * win ) -const QMPI_Win_create_c_t = Cvoid - -# typedef int ( QMPI_Win_create_dynamic_t ) ( QMPI_Context context , int tool_id , MPI_Info info , MPI_Comm comm , MPI_Win * win ) -const QMPI_Win_create_dynamic_t = Cvoid - -# typedef int ( QMPI_Win_detach_t ) ( QMPI_Context context , int tool_id , MPI_Win win , const void * base ) -const QMPI_Win_detach_t = Cvoid - -# typedef int ( QMPI_Win_fence_t ) ( QMPI_Context context , int tool_id , int assert , MPI_Win win ) -const QMPI_Win_fence_t = Cvoid - -# typedef int ( QMPI_Win_flush_t ) ( QMPI_Context context , int tool_id , int rank , MPI_Win win ) -const QMPI_Win_flush_t = Cvoid - -# typedef int ( QMPI_Win_flush_all_t ) ( QMPI_Context context , int tool_id , MPI_Win win ) -const QMPI_Win_flush_all_t = Cvoid - -# typedef int ( QMPI_Win_flush_local_t ) ( QMPI_Context context , int tool_id , int rank , MPI_Win win ) -const QMPI_Win_flush_local_t = Cvoid - -# typedef int ( QMPI_Win_flush_local_all_t ) ( QMPI_Context context , int tool_id , MPI_Win win ) -const QMPI_Win_flush_local_all_t = Cvoid - -# typedef int ( QMPI_Win_free_t ) ( QMPI_Context context , int tool_id , MPI_Win * win ) -const QMPI_Win_free_t = Cvoid - -# typedef int ( QMPI_Win_get_group_t ) ( QMPI_Context context , int tool_id , MPI_Win win , MPI_Group * group ) -const QMPI_Win_get_group_t = Cvoid - -# typedef int ( QMPI_Win_get_info_t ) ( QMPI_Context context , int tool_id , MPI_Win win , MPI_Info * info_used ) -const QMPI_Win_get_info_t = Cvoid - -# typedef int ( QMPI_Win_get_name_t ) ( QMPI_Context context , int tool_id , MPI_Win win , char * win_name , int * resultlen ) -const QMPI_Win_get_name_t = Cvoid - -# typedef int ( QMPI_Win_lock_t ) ( QMPI_Context context , int tool_id , int lock_type , int rank , int assert , MPI_Win win ) -const QMPI_Win_lock_t = Cvoid - -# typedef int ( QMPI_Win_lock_all_t ) ( QMPI_Context context , int tool_id , int assert , MPI_Win win ) -const QMPI_Win_lock_all_t = Cvoid - -# typedef int ( QMPI_Win_post_t ) ( QMPI_Context context , int tool_id , MPI_Group group , int assert , MPI_Win win ) -const QMPI_Win_post_t = Cvoid - -# typedef int ( QMPI_Win_set_info_t ) ( QMPI_Context context , int tool_id , MPI_Win win , MPI_Info info ) -const QMPI_Win_set_info_t = Cvoid - -# typedef int ( QMPI_Win_set_name_t ) ( QMPI_Context context , int tool_id , MPI_Win win , const char * win_name ) -const QMPI_Win_set_name_t = Cvoid - -# typedef int ( QMPI_Win_shared_query_t ) ( QMPI_Context context , int tool_id , MPI_Win win , int rank , MPI_Aint * size , int * disp_unit , void * baseptr ) -const QMPI_Win_shared_query_t = Cvoid - -# typedef int ( QMPI_Win_shared_query_c_t ) ( QMPI_Context context , int tool_id , MPI_Win win , int rank , MPI_Aint * size , MPI_Aint * disp_unit , void * baseptr ) -const QMPI_Win_shared_query_c_t = Cvoid - -# typedef int ( QMPI_Win_start_t ) ( QMPI_Context context , int tool_id , MPI_Group group , int assert , MPI_Win win ) -const QMPI_Win_start_t = Cvoid - -# typedef int ( QMPI_Win_sync_t ) ( QMPI_Context context , int tool_id , MPI_Win win ) -const QMPI_Win_sync_t = Cvoid - -# typedef int ( QMPI_Win_test_t ) ( QMPI_Context context , int tool_id , MPI_Win win , int * flag ) -const QMPI_Win_test_t = Cvoid - -# typedef int ( QMPI_Win_unlock_t ) ( QMPI_Context context , int tool_id , int rank , MPI_Win win ) -const QMPI_Win_unlock_t = Cvoid - -# typedef int ( QMPI_Win_unlock_all_t ) ( QMPI_Context context , int tool_id , MPI_Win win ) -const QMPI_Win_unlock_all_t = Cvoid - -# typedef int ( QMPI_Win_wait_t ) ( QMPI_Context context , int tool_id , MPI_Win win ) -const QMPI_Win_wait_t = Cvoid - -# typedef int ( QMPI_Close_port_t ) ( QMPI_Context context , int tool_id , const char * port_name ) -const QMPI_Close_port_t = Cvoid - -# typedef int ( QMPI_Comm_accept_t ) ( QMPI_Context context , int tool_id , const char * port_name , MPI_Info info , int root , MPI_Comm comm , MPI_Comm * newcomm ) -const QMPI_Comm_accept_t = Cvoid - -# typedef int ( QMPI_Comm_connect_t ) ( QMPI_Context context , int tool_id , const char * port_name , MPI_Info info , int root , MPI_Comm comm , MPI_Comm * newcomm ) -const QMPI_Comm_connect_t = Cvoid - -# typedef int ( QMPI_Comm_disconnect_t ) ( QMPI_Context context , int tool_id , MPI_Comm * comm ) -const QMPI_Comm_disconnect_t = Cvoid - -# typedef int ( QMPI_Comm_get_parent_t ) ( QMPI_Context context , int tool_id , MPI_Comm * parent ) -const QMPI_Comm_get_parent_t = Cvoid - -# typedef int ( QMPI_Comm_join_t ) ( QMPI_Context context , int tool_id , int fd , MPI_Comm * intercomm ) -const QMPI_Comm_join_t = Cvoid - -# typedef int ( QMPI_Comm_spawn_t ) ( QMPI_Context context , int tool_id , const char * command , char * argv [ ] , int maxprocs , MPI_Info info , int root , MPI_Comm comm , MPI_Comm * intercomm , int array_of_errcodes [ ] ) -const QMPI_Comm_spawn_t = Cvoid - -# typedef int ( QMPI_Comm_spawn_multiple_t ) ( QMPI_Context context , int tool_id , int count , char * array_of_commands [ ] , char * * array_of_argv [ ] , const int array_of_maxprocs [ ] , const MPI_Info array_of_info [ ] , int root , MPI_Comm comm , MPI_Comm * intercomm , int array_of_errcodes [ ] ) -const QMPI_Comm_spawn_multiple_t = Cvoid - -# typedef int ( QMPI_Lookup_name_t ) ( QMPI_Context context , int tool_id , const char * service_name , MPI_Info info , char * port_name ) -const QMPI_Lookup_name_t = Cvoid - -# typedef int ( QMPI_Open_port_t ) ( QMPI_Context context , int tool_id , MPI_Info info , char * port_name ) -const QMPI_Open_port_t = Cvoid - -# typedef int ( QMPI_Publish_name_t ) ( QMPI_Context context , int tool_id , const char * service_name , MPI_Info info , const char * port_name ) -const QMPI_Publish_name_t = Cvoid - -# typedef int ( QMPI_Unpublish_name_t ) ( QMPI_Context context , int tool_id , const char * service_name , MPI_Info info , const char * port_name ) -const QMPI_Unpublish_name_t = Cvoid - -# typedef double ( QMPI_Wtick_t ) ( QMPI_Context context , int tool_id ) -const QMPI_Wtick_t = Cvoid - -# typedef double ( QMPI_Wtime_t ) ( QMPI_Context context , int tool_id ) -const QMPI_Wtime_t = Cvoid - -# typedef int ( QMPI_Cart_coords_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int rank , int maxdims , int coords [ ] ) -const QMPI_Cart_coords_t = Cvoid - -# typedef int ( QMPI_Cart_create_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm_old , int ndims , const int dims [ ] , const int periods [ ] , int reorder , MPI_Comm * comm_cart ) -const QMPI_Cart_create_t = Cvoid - -# typedef int ( QMPI_Cart_get_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int maxdims , int dims [ ] , int periods [ ] , int coords [ ] ) -const QMPI_Cart_get_t = Cvoid - -# typedef int ( QMPI_Cart_map_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int ndims , const int dims [ ] , const int periods [ ] , int * newrank ) -const QMPI_Cart_map_t = Cvoid - -# typedef int ( QMPI_Cart_rank_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , const int coords [ ] , int * rank ) -const QMPI_Cart_rank_t = Cvoid - -# typedef int ( QMPI_Cart_shift_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int direction , int disp , int * rank_source , int * rank_dest ) -const QMPI_Cart_shift_t = Cvoid - -# typedef int ( QMPI_Cart_sub_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , const int remain_dims [ ] , MPI_Comm * newcomm ) -const QMPI_Cart_sub_t = Cvoid - -# typedef int ( QMPI_Cartdim_get_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int * ndims ) -const QMPI_Cartdim_get_t = Cvoid - -# typedef int ( QMPI_Dims_create_t ) ( QMPI_Context context , int tool_id , int nnodes , int ndims , int dims [ ] ) -const QMPI_Dims_create_t = Cvoid - -# typedef int ( QMPI_Dist_graph_create_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm_old , int n , const int sources [ ] , const int degrees [ ] , const int destinations [ ] , const int weights [ ] , MPI_Info info , int reorder , MPI_Comm * comm_dist_graph ) -const QMPI_Dist_graph_create_t = Cvoid - -# typedef int ( QMPI_Dist_graph_create_adjacent_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm_old , int indegree , const int sources [ ] , const int sourceweights [ ] , int outdegree , const int destinations [ ] , const int destweights [ ] , MPI_Info info , int reorder , MPI_Comm * comm_dist_graph ) -const QMPI_Dist_graph_create_adjacent_t = Cvoid - -# typedef int ( QMPI_Dist_graph_neighbors_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int maxindegree , int sources [ ] , int sourceweights [ ] , int maxoutdegree , int destinations [ ] , int destweights [ ] ) -const QMPI_Dist_graph_neighbors_t = Cvoid - -# typedef int ( QMPI_Dist_graph_neighbors_count_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int * indegree , int * outdegree , int * weighted ) -const QMPI_Dist_graph_neighbors_count_t = Cvoid - -# typedef int ( QMPI_Graph_create_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm_old , int nnodes , const int indx [ ] , const int edges [ ] , int reorder , MPI_Comm * comm_graph ) -const QMPI_Graph_create_t = Cvoid - -# typedef int ( QMPI_Graph_get_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int maxindex , int maxedges , int indx [ ] , int edges [ ] ) -const QMPI_Graph_get_t = Cvoid - -# typedef int ( QMPI_Graph_map_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int nnodes , const int indx [ ] , const int edges [ ] , int * newrank ) -const QMPI_Graph_map_t = Cvoid - -# typedef int ( QMPI_Graph_neighbors_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int rank , int maxneighbors , int neighbors [ ] ) -const QMPI_Graph_neighbors_t = Cvoid - -# typedef int ( QMPI_Graph_neighbors_count_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int rank , int * nneighbors ) -const QMPI_Graph_neighbors_count_t = Cvoid - -# typedef int ( QMPI_Graphdims_get_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int * nnodes , int * nedges ) -const QMPI_Graphdims_get_t = Cvoid - -# typedef int ( QMPI_Topo_test_t ) ( QMPI_Context context , int tool_id , MPI_Comm comm , int * status ) -const QMPI_Topo_test_t = Cvoid - -function QMPI_Register_tool_name(tool_name, init_function_ptr) - ccall((:QMPI_Register_tool_name, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cvoid}), tool_name, init_function_ptr) -end - -function QMPI_Register_tool_storage(tool_id, tool_storage) - ccall((:QMPI_Register_tool_storage, libHYPRE), Cint, (Cint, Ptr{Cvoid}), tool_id, tool_storage) -end - -function QMPI_Register_function(calling_tool_id, function_enum, function_ptr) - ccall((:QMPI_Register_function, libHYPRE), Cint, (Cint, QMPI_Functions_enum, Ptr{Cvoid}), calling_tool_id, function_enum, function_ptr) -end - -function QMPI_Get_function(calling_tool_id, function_enum, function_ptr, next_tool_id) - ccall((:QMPI_Get_function, libHYPRE), Cint, (Cint, QMPI_Functions_enum, Ptr{Ptr{Cvoid}}, Ptr{Cint}), calling_tool_id, function_enum, function_ptr, next_tool_id) -end - -function QMPI_Get_tool_storage(context, tool_id, storage) - ccall((:QMPI_Get_tool_storage, libHYPRE), Cint, (QMPI_Context, Cint, Ptr{Ptr{Cvoid}}), context, tool_id, storage) -end - -function QMPI_Get_calling_address(context, address) - ccall((:QMPI_Get_calling_address, libHYPRE), Cint, (QMPI_Context, Ptr{Ptr{Cvoid}}), context, address) -end - -function MPI_File_open(comm, filename, amode, info, fh) - ccall((:MPI_File_open, libHYPRE), Cint, (MPI_Comm, Ptr{Cchar}, Cint, MPI_Info, Ptr{MPI_File}), comm, filename, amode, info, fh) -end - -function MPI_File_close(fh) - ccall((:MPI_File_close, libHYPRE), Cint, (Ptr{MPI_File},), fh) -end - -function MPI_File_delete(filename, info) - ccall((:MPI_File_delete, libHYPRE), Cint, (Ptr{Cchar}, MPI_Info), filename, info) -end - -function MPI_File_set_size(fh, size) - ccall((:MPI_File_set_size, libHYPRE), Cint, (MPI_File, MPI_Offset), fh, size) -end - -function MPI_File_preallocate(fh, size) - ccall((:MPI_File_preallocate, libHYPRE), Cint, (MPI_File, MPI_Offset), fh, size) -end - -function MPI_File_get_size(fh, size) - ccall((:MPI_File_get_size, libHYPRE), Cint, (MPI_File, Ptr{MPI_Offset}), fh, size) -end - -function MPI_File_get_group(fh, group) - ccall((:MPI_File_get_group, libHYPRE), Cint, (MPI_File, Ptr{MPI_Group}), fh, group) -end - -function MPI_File_get_amode(fh, amode) - ccall((:MPI_File_get_amode, libHYPRE), Cint, (MPI_File, Ptr{Cint}), fh, amode) -end - -function MPI_File_set_info(fh, info) - ccall((:MPI_File_set_info, libHYPRE), Cint, (MPI_File, MPI_Info), fh, info) -end - -function MPI_File_get_info(fh, info_used) - ccall((:MPI_File_get_info, libHYPRE), Cint, (MPI_File, Ptr{MPI_Info}), fh, info_used) -end - -function MPI_File_set_view(fh, disp, etype, filetype, datarep, info) - ccall((:MPI_File_set_view, libHYPRE), Cint, (MPI_File, MPI_Offset, MPI_Datatype, MPI_Datatype, Ptr{Cchar}, MPI_Info), fh, disp, etype, filetype, datarep, info) -end - -function MPI_File_get_view(fh, disp, etype, filetype, datarep) - ccall((:MPI_File_get_view, libHYPRE), Cint, (MPI_File, Ptr{MPI_Offset}, Ptr{MPI_Datatype}, Ptr{MPI_Datatype}, Ptr{Cchar}), fh, disp, etype, filetype, datarep) -end - -function MPI_File_read_at(fh, offset, buf, count, datatype, status) - ccall((:MPI_File_read_at, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), fh, offset, buf, count, datatype, status) -end - -function MPI_File_read_at_all(fh, offset, buf, count, datatype, status) - ccall((:MPI_File_read_at_all, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), fh, offset, buf, count, datatype, status) -end - -function MPI_File_write_at(fh, offset, buf, count, datatype, status) - ccall((:MPI_File_write_at, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), fh, offset, buf, count, datatype, status) -end - -function MPI_File_write_at_all(fh, offset, buf, count, datatype, status) - ccall((:MPI_File_write_at_all, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), fh, offset, buf, count, datatype, status) -end - -function MPI_File_iread_at(fh, offset, buf, count, datatype, request) - ccall((:MPI_File_iread_at, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Request}), fh, offset, buf, count, datatype, request) -end - -function MPI_File_iwrite_at(fh, offset, buf, count, datatype, request) - ccall((:MPI_File_iwrite_at, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Request}), fh, offset, buf, count, datatype, request) -end - -function MPI_File_read(fh, buf, count, datatype, status) - ccall((:MPI_File_read, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function MPI_File_read_all(fh, buf, count, datatype, status) - ccall((:MPI_File_read_all, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function MPI_File_write(fh, buf, count, datatype, status) - ccall((:MPI_File_write, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function MPI_File_write_all(fh, buf, count, datatype, status) - ccall((:MPI_File_write_all, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function MPI_File_iread(fh, buf, count, datatype, request) - ccall((:MPI_File_iread, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Request}), fh, buf, count, datatype, request) -end - -function MPI_File_iwrite(fh, buf, count, datatype, request) - ccall((:MPI_File_iwrite, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Request}), fh, buf, count, datatype, request) -end - -function MPI_File_seek(fh, offset, whence) - ccall((:MPI_File_seek, libHYPRE), Cint, (MPI_File, MPI_Offset, Cint), fh, offset, whence) -end - -function MPI_File_get_position(fh, offset) - ccall((:MPI_File_get_position, libHYPRE), Cint, (MPI_File, Ptr{MPI_Offset}), fh, offset) -end - -function MPI_File_get_byte_offset(fh, offset, disp) - ccall((:MPI_File_get_byte_offset, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{MPI_Offset}), fh, offset, disp) -end - -function MPI_File_read_shared(fh, buf, count, datatype, status) - ccall((:MPI_File_read_shared, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function MPI_File_write_shared(fh, buf, count, datatype, status) - ccall((:MPI_File_write_shared, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function MPI_File_iread_shared(fh, buf, count, datatype, request) - ccall((:MPI_File_iread_shared, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Request}), fh, buf, count, datatype, request) -end - -function MPI_File_iwrite_shared(fh, buf, count, datatype, request) - ccall((:MPI_File_iwrite_shared, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Request}), fh, buf, count, datatype, request) -end - -function MPI_File_read_ordered(fh, buf, count, datatype, status) - ccall((:MPI_File_read_ordered, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function MPI_File_write_ordered(fh, buf, count, datatype, status) - ccall((:MPI_File_write_ordered, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function MPI_File_seek_shared(fh, offset, whence) - ccall((:MPI_File_seek_shared, libHYPRE), Cint, (MPI_File, MPI_Offset, Cint), fh, offset, whence) -end - -function MPI_File_get_position_shared(fh, offset) - ccall((:MPI_File_get_position_shared, libHYPRE), Cint, (MPI_File, Ptr{MPI_Offset}), fh, offset) -end - -function MPI_File_read_at_all_begin(fh, offset, buf, count, datatype) - ccall((:MPI_File_read_at_all_begin, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, Cint, MPI_Datatype), fh, offset, buf, count, datatype) -end - -function MPI_File_read_at_all_end(fh, buf, status) - ccall((:MPI_File_read_at_all_end, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Ptr{MPI_Status}), fh, buf, status) -end - -function MPI_File_write_at_all_begin(fh, offset, buf, count, datatype) - ccall((:MPI_File_write_at_all_begin, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, Cint, MPI_Datatype), fh, offset, buf, count, datatype) -end - -function MPI_File_write_at_all_end(fh, buf, status) - ccall((:MPI_File_write_at_all_end, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Ptr{MPI_Status}), fh, buf, status) -end - -function MPI_File_read_all_begin(fh, buf, count, datatype) - ccall((:MPI_File_read_all_begin, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype), fh, buf, count, datatype) -end - -function MPI_File_read_all_end(fh, buf, status) - ccall((:MPI_File_read_all_end, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Ptr{MPI_Status}), fh, buf, status) -end - -function MPI_File_write_all_begin(fh, buf, count, datatype) - ccall((:MPI_File_write_all_begin, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype), fh, buf, count, datatype) -end - -function MPI_File_write_all_end(fh, buf, status) - ccall((:MPI_File_write_all_end, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Ptr{MPI_Status}), fh, buf, status) -end - -function MPI_File_read_ordered_begin(fh, buf, count, datatype) - ccall((:MPI_File_read_ordered_begin, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype), fh, buf, count, datatype) -end - -function MPI_File_read_ordered_end(fh, buf, status) - ccall((:MPI_File_read_ordered_end, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Ptr{MPI_Status}), fh, buf, status) -end - -function MPI_File_write_ordered_begin(fh, buf, count, datatype) - ccall((:MPI_File_write_ordered_begin, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype), fh, buf, count, datatype) -end - -function MPI_File_write_ordered_end(fh, buf, status) - ccall((:MPI_File_write_ordered_end, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Ptr{MPI_Status}), fh, buf, status) -end - -function MPI_File_get_type_extent(fh, datatype, extent) - ccall((:MPI_File_get_type_extent, libHYPRE), Cint, (MPI_File, MPI_Datatype, Ptr{MPI_Aint}), fh, datatype, extent) -end - -function MPI_Register_datarep(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state) - ccall((:MPI_Register_datarep, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}), datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state) -end - -function MPI_File_set_atomicity(fh, flag) - ccall((:MPI_File_set_atomicity, libHYPRE), Cint, (MPI_File, Cint), fh, flag) -end - -function MPI_File_get_atomicity(fh, flag) - ccall((:MPI_File_get_atomicity, libHYPRE), Cint, (MPI_File, Ptr{Cint}), fh, flag) -end - -function MPI_File_sync(fh) - ccall((:MPI_File_sync, libHYPRE), Cint, (MPI_File,), fh) -end - -function MPI_File_iread_at_all(fh, offset, buf, count, datatype, request) - ccall((:MPI_File_iread_at_all, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Request}), fh, offset, buf, count, datatype, request) -end - -function MPI_File_iwrite_at_all(fh, offset, buf, count, datatype, request) - ccall((:MPI_File_iwrite_at_all, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Request}), fh, offset, buf, count, datatype, request) -end - -function MPI_File_iread_all(fh, buf, count, datatype, request) - ccall((:MPI_File_iread_all, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Request}), fh, buf, count, datatype, request) -end - -function MPI_File_iwrite_all(fh, buf, count, datatype, request) - ccall((:MPI_File_iwrite_all, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Request}), fh, buf, count, datatype, request) -end - -function MPI_File_read_c(fh, buf, count, datatype, status) - ccall((:MPI_File_read_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function MPI_File_read_all_c(fh, buf, count, datatype, status) - ccall((:MPI_File_read_all_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function MPI_File_read_all_begin_c(fh, buf, count, datatype) - ccall((:MPI_File_read_all_begin_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype), fh, buf, count, datatype) -end - -function MPI_File_read_at_c(fh, offset, buf, count, datatype, status) - ccall((:MPI_File_read_at_c, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, offset, buf, count, datatype, status) -end - -function MPI_File_read_at_all_c(fh, offset, buf, count, datatype, status) - ccall((:MPI_File_read_at_all_c, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, offset, buf, count, datatype, status) -end - -function MPI_File_read_at_all_begin_c(fh, offset, buf, count, datatype) - ccall((:MPI_File_read_at_all_begin_c, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, MPI_Count, MPI_Datatype), fh, offset, buf, count, datatype) -end - -function MPI_File_read_ordered_c(fh, buf, count, datatype, status) - ccall((:MPI_File_read_ordered_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function MPI_File_read_ordered_begin_c(fh, buf, count, datatype) - ccall((:MPI_File_read_ordered_begin_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype), fh, buf, count, datatype) -end - -function MPI_File_read_shared_c(fh, buf, count, datatype, status) - ccall((:MPI_File_read_shared_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function MPI_File_write_c(fh, buf, count, datatype, status) - ccall((:MPI_File_write_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function MPI_File_write_all_c(fh, buf, count, datatype, status) - ccall((:MPI_File_write_all_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function MPI_File_write_all_begin_c(fh, buf, count, datatype) - ccall((:MPI_File_write_all_begin_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype), fh, buf, count, datatype) -end - -function MPI_File_write_at_c(fh, offset, buf, count, datatype, status) - ccall((:MPI_File_write_at_c, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, offset, buf, count, datatype, status) -end - -function MPI_File_write_at_all_c(fh, offset, buf, count, datatype, status) - ccall((:MPI_File_write_at_all_c, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, offset, buf, count, datatype, status) -end - -function MPI_File_write_at_all_begin_c(fh, offset, buf, count, datatype) - ccall((:MPI_File_write_at_all_begin_c, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, MPI_Count, MPI_Datatype), fh, offset, buf, count, datatype) -end - -function MPI_File_write_ordered_c(fh, buf, count, datatype, status) - ccall((:MPI_File_write_ordered_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function MPI_File_write_ordered_begin_c(fh, buf, count, datatype) - ccall((:MPI_File_write_ordered_begin_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype), fh, buf, count, datatype) -end - -function MPI_File_write_shared_c(fh, buf, count, datatype, status) - ccall((:MPI_File_write_shared_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function MPI_File_iread_c(fh, buf, count, datatype, request) - ccall((:MPI_File_iread_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Request}), fh, buf, count, datatype, request) -end - -function MPI_File_iread_all_c(fh, buf, count, datatype, request) - ccall((:MPI_File_iread_all_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Request}), fh, buf, count, datatype, request) -end - -function MPI_File_iread_at_c(fh, offset, buf, count, datatype, request) - ccall((:MPI_File_iread_at_c, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Request}), fh, offset, buf, count, datatype, request) -end - -function MPI_File_iread_at_all_c(fh, offset, buf, count, datatype, request) - ccall((:MPI_File_iread_at_all_c, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Request}), fh, offset, buf, count, datatype, request) -end - -function MPI_File_iread_shared_c(fh, buf, count, datatype, request) - ccall((:MPI_File_iread_shared_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Request}), fh, buf, count, datatype, request) -end - -function MPI_File_iwrite_c(fh, buf, count, datatype, request) - ccall((:MPI_File_iwrite_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Request}), fh, buf, count, datatype, request) -end - -function MPI_File_iwrite_all_c(fh, buf, count, datatype, request) - ccall((:MPI_File_iwrite_all_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Request}), fh, buf, count, datatype, request) -end - -function MPI_File_iwrite_at_c(fh, offset, buf, count, datatype, request) - ccall((:MPI_File_iwrite_at_c, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Request}), fh, offset, buf, count, datatype, request) -end - -function MPI_File_iwrite_at_all_c(fh, offset, buf, count, datatype, request) - ccall((:MPI_File_iwrite_at_all_c, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Request}), fh, offset, buf, count, datatype, request) -end - -function MPI_File_iwrite_shared_c(fh, buf, count, datatype, request) - ccall((:MPI_File_iwrite_shared_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Request}), fh, buf, count, datatype, request) -end - -function MPI_File_get_type_extent_c(fh, datatype, extent) - ccall((:MPI_File_get_type_extent_c, libHYPRE), Cint, (MPI_File, MPI_Datatype, Ptr{MPI_Count}), fh, datatype, extent) -end - -function MPI_Register_datarep_c(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state) - ccall((:MPI_Register_datarep_c, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}), datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state) -end - -function MPI_File_f2c(file) - ccall((:MPI_File_f2c, libHYPRE), MPI_File, (MPI_Fint,), file) -end - -function MPI_File_c2f(file) - ccall((:MPI_File_c2f, libHYPRE), MPI_Fint, (MPI_File,), file) -end - -function PMPI_File_open(arg1, arg2, arg3, arg4, arg5) - ccall((:PMPI_File_open, libHYPRE), Cint, (MPI_Comm, Ptr{Cchar}, Cint, MPI_Info, Ptr{MPI_File}), arg1, arg2, arg3, arg4, arg5) -end - -function PMPI_File_close(arg1) - ccall((:PMPI_File_close, libHYPRE), Cint, (Ptr{MPI_File},), arg1) -end - -function PMPI_File_delete(arg1, arg2) - ccall((:PMPI_File_delete, libHYPRE), Cint, (Ptr{Cchar}, MPI_Info), arg1, arg2) -end - -function PMPI_File_set_size(arg1, arg2) - ccall((:PMPI_File_set_size, libHYPRE), Cint, (MPI_File, MPI_Offset), arg1, arg2) -end - -function PMPI_File_preallocate(arg1, arg2) - ccall((:PMPI_File_preallocate, libHYPRE), Cint, (MPI_File, MPI_Offset), arg1, arg2) -end - -function PMPI_File_get_size(arg1, arg2) - ccall((:PMPI_File_get_size, libHYPRE), Cint, (MPI_File, Ptr{MPI_Offset}), arg1, arg2) -end - -function PMPI_File_get_group(arg1, arg2) - ccall((:PMPI_File_get_group, libHYPRE), Cint, (MPI_File, Ptr{MPI_Group}), arg1, arg2) -end - -function PMPI_File_get_amode(arg1, arg2) - ccall((:PMPI_File_get_amode, libHYPRE), Cint, (MPI_File, Ptr{Cint}), arg1, arg2) -end - -function PMPI_File_set_info(arg1, arg2) - ccall((:PMPI_File_set_info, libHYPRE), Cint, (MPI_File, MPI_Info), arg1, arg2) -end - -function PMPI_File_get_info(arg1, arg2) - ccall((:PMPI_File_get_info, libHYPRE), Cint, (MPI_File, Ptr{MPI_Info}), arg1, arg2) -end - -function PMPI_File_set_view(arg1, arg2, arg3, arg4, arg5, arg6) - ccall((:PMPI_File_set_view, libHYPRE), Cint, (MPI_File, MPI_Offset, MPI_Datatype, MPI_Datatype, Ptr{Cchar}, MPI_Info), arg1, arg2, arg3, arg4, arg5, arg6) -end - -function PMPI_File_get_view(arg1, arg2, arg3, arg4, arg5) - ccall((:PMPI_File_get_view, libHYPRE), Cint, (MPI_File, Ptr{MPI_Offset}, Ptr{MPI_Datatype}, Ptr{MPI_Datatype}, Ptr{Cchar}), arg1, arg2, arg3, arg4, arg5) -end - -function PMPI_File_read_at(arg1, arg2, arg3, arg4, arg5, arg6) - ccall((:PMPI_File_read_at, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), arg1, arg2, arg3, arg4, arg5, arg6) -end - -function PMPI_File_read_at_all(arg1, arg2, arg3, arg4, arg5, arg6) - ccall((:PMPI_File_read_at_all, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), arg1, arg2, arg3, arg4, arg5, arg6) -end - -function PMPI_File_write_at(arg1, arg2, arg3, arg4, arg5, arg6) - ccall((:PMPI_File_write_at, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), arg1, arg2, arg3, arg4, arg5, arg6) -end - -function PMPI_File_write_at_all(arg1, arg2, arg3, arg4, arg5, arg6) - ccall((:PMPI_File_write_at_all, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), arg1, arg2, arg3, arg4, arg5, arg6) -end - -function PMPI_File_iread_at(arg1, arg2, arg3, arg4, arg5, arg6) - ccall((:PMPI_File_iread_at, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Request}), arg1, arg2, arg3, arg4, arg5, arg6) -end - -function PMPI_File_iwrite_at(arg1, arg2, arg3, arg4, arg5, arg6) - ccall((:PMPI_File_iwrite_at, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Request}), arg1, arg2, arg3, arg4, arg5, arg6) -end - -function PMPI_File_read(arg1, arg2, arg3, arg4, arg5) - ccall((:PMPI_File_read, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), arg1, arg2, arg3, arg4, arg5) -end - -function PMPI_File_read_all(arg1, arg2, arg3, arg4, arg5) - ccall((:PMPI_File_read_all, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), arg1, arg2, arg3, arg4, arg5) -end - -function PMPI_File_write(arg1, arg2, arg3, arg4, arg5) - ccall((:PMPI_File_write, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), arg1, arg2, arg3, arg4, arg5) -end - -function PMPI_File_write_all(arg1, arg2, arg3, arg4, arg5) - ccall((:PMPI_File_write_all, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), arg1, arg2, arg3, arg4, arg5) -end - -function PMPI_File_iread(arg1, arg2, arg3, arg4, arg5) - ccall((:PMPI_File_iread, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Request}), arg1, arg2, arg3, arg4, arg5) -end - -function PMPI_File_iwrite(arg1, arg2, arg3, arg4, arg5) - ccall((:PMPI_File_iwrite, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Request}), arg1, arg2, arg3, arg4, arg5) -end - -function PMPI_File_seek(arg1, arg2, arg3) - ccall((:PMPI_File_seek, libHYPRE), Cint, (MPI_File, MPI_Offset, Cint), arg1, arg2, arg3) -end - -function PMPI_File_get_position(arg1, arg2) - ccall((:PMPI_File_get_position, libHYPRE), Cint, (MPI_File, Ptr{MPI_Offset}), arg1, arg2) -end - -function PMPI_File_get_byte_offset(arg1, arg2, arg3) - ccall((:PMPI_File_get_byte_offset, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{MPI_Offset}), arg1, arg2, arg3) -end - -function PMPI_File_read_shared(arg1, arg2, arg3, arg4, arg5) - ccall((:PMPI_File_read_shared, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), arg1, arg2, arg3, arg4, arg5) -end - -function PMPI_File_write_shared(arg1, arg2, arg3, arg4, arg5) - ccall((:PMPI_File_write_shared, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), arg1, arg2, arg3, arg4, arg5) -end - -function PMPI_File_iread_shared(arg1, arg2, arg3, arg4, arg5) - ccall((:PMPI_File_iread_shared, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Request}), arg1, arg2, arg3, arg4, arg5) -end - -function PMPI_File_iwrite_shared(arg1, arg2, arg3, arg4, arg5) - ccall((:PMPI_File_iwrite_shared, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Request}), arg1, arg2, arg3, arg4, arg5) -end - -function PMPI_File_read_ordered(arg1, arg2, arg3, arg4, arg5) - ccall((:PMPI_File_read_ordered, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), arg1, arg2, arg3, arg4, arg5) -end - -function PMPI_File_write_ordered(arg1, arg2, arg3, arg4, arg5) - ccall((:PMPI_File_write_ordered, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Status}), arg1, arg2, arg3, arg4, arg5) -end - -function PMPI_File_seek_shared(arg1, arg2, arg3) - ccall((:PMPI_File_seek_shared, libHYPRE), Cint, (MPI_File, MPI_Offset, Cint), arg1, arg2, arg3) -end - -function PMPI_File_get_position_shared(arg1, arg2) - ccall((:PMPI_File_get_position_shared, libHYPRE), Cint, (MPI_File, Ptr{MPI_Offset}), arg1, arg2) -end - -function PMPI_File_read_at_all_begin(arg1, arg2, arg3, arg4, arg5) - ccall((:PMPI_File_read_at_all_begin, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, Cint, MPI_Datatype), arg1, arg2, arg3, arg4, arg5) -end - -function PMPI_File_read_at_all_end(arg1, arg2, arg3) - ccall((:PMPI_File_read_at_all_end, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Ptr{MPI_Status}), arg1, arg2, arg3) -end - -function PMPI_File_write_at_all_begin(arg1, arg2, arg3, arg4, arg5) - ccall((:PMPI_File_write_at_all_begin, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, Cint, MPI_Datatype), arg1, arg2, arg3, arg4, arg5) -end - -function PMPI_File_write_at_all_end(arg1, arg2, arg3) - ccall((:PMPI_File_write_at_all_end, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Ptr{MPI_Status}), arg1, arg2, arg3) -end - -function PMPI_File_read_all_begin(arg1, arg2, arg3, arg4) - ccall((:PMPI_File_read_all_begin, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype), arg1, arg2, arg3, arg4) -end - -function PMPI_File_read_all_end(arg1, arg2, arg3) - ccall((:PMPI_File_read_all_end, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Ptr{MPI_Status}), arg1, arg2, arg3) -end - -function PMPI_File_write_all_begin(arg1, arg2, arg3, arg4) - ccall((:PMPI_File_write_all_begin, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype), arg1, arg2, arg3, arg4) -end - -function PMPI_File_write_all_end(arg1, arg2, arg3) - ccall((:PMPI_File_write_all_end, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Ptr{MPI_Status}), arg1, arg2, arg3) -end - -function PMPI_File_read_ordered_begin(arg1, arg2, arg3, arg4) - ccall((:PMPI_File_read_ordered_begin, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype), arg1, arg2, arg3, arg4) -end - -function PMPI_File_read_ordered_end(arg1, arg2, arg3) - ccall((:PMPI_File_read_ordered_end, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Ptr{MPI_Status}), arg1, arg2, arg3) -end - -function PMPI_File_write_ordered_begin(arg1, arg2, arg3, arg4) - ccall((:PMPI_File_write_ordered_begin, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype), arg1, arg2, arg3, arg4) -end - -function PMPI_File_write_ordered_end(arg1, arg2, arg3) - ccall((:PMPI_File_write_ordered_end, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Ptr{MPI_Status}), arg1, arg2, arg3) -end - -function PMPI_File_get_type_extent(arg1, arg2, arg3) - ccall((:PMPI_File_get_type_extent, libHYPRE), Cint, (MPI_File, MPI_Datatype, Ptr{MPI_Aint}), arg1, arg2, arg3) -end - -function PMPI_Register_datarep(arg1, arg2, arg3, arg4, arg5) - ccall((:PMPI_Register_datarep, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}), arg1, arg2, arg3, arg4, arg5) -end - -function PMPI_File_set_atomicity(arg1, arg2) - ccall((:PMPI_File_set_atomicity, libHYPRE), Cint, (MPI_File, Cint), arg1, arg2) -end - -function PMPI_File_get_atomicity(arg1, arg2) - ccall((:PMPI_File_get_atomicity, libHYPRE), Cint, (MPI_File, Ptr{Cint}), arg1, arg2) -end - -function PMPI_File_sync(arg1) - ccall((:PMPI_File_sync, libHYPRE), Cint, (MPI_File,), arg1) -end - -function PMPI_File_iread_at_all(fh, offset, buf, count, datatype, request) - ccall((:PMPI_File_iread_at_all, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Request}), fh, offset, buf, count, datatype, request) -end - -function PMPI_File_iwrite_at_all(fh, offset, buf, count, datatype, request) - ccall((:PMPI_File_iwrite_at_all, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Request}), fh, offset, buf, count, datatype, request) -end - -function PMPI_File_iread_all(fh, buf, count, datatype, request) - ccall((:PMPI_File_iread_all, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Request}), fh, buf, count, datatype, request) -end - -function PMPI_File_iwrite_all(fh, buf, count, datatype, request) - ccall((:PMPI_File_iwrite_all, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, Cint, MPI_Datatype, Ptr{MPI_Request}), fh, buf, count, datatype, request) -end - -function PMPI_File_read_c(fh, buf, count, datatype, status) - ccall((:PMPI_File_read_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function PMPI_File_read_all_c(fh, buf, count, datatype, status) - ccall((:PMPI_File_read_all_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function PMPI_File_read_all_begin_c(fh, buf, count, datatype) - ccall((:PMPI_File_read_all_begin_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype), fh, buf, count, datatype) -end - -function PMPI_File_read_at_c(fh, offset, buf, count, datatype, status) - ccall((:PMPI_File_read_at_c, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, offset, buf, count, datatype, status) -end - -function PMPI_File_read_at_all_c(fh, offset, buf, count, datatype, status) - ccall((:PMPI_File_read_at_all_c, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, offset, buf, count, datatype, status) -end - -function PMPI_File_read_at_all_begin_c(fh, offset, buf, count, datatype) - ccall((:PMPI_File_read_at_all_begin_c, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, MPI_Count, MPI_Datatype), fh, offset, buf, count, datatype) -end - -function PMPI_File_read_ordered_c(fh, buf, count, datatype, status) - ccall((:PMPI_File_read_ordered_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function PMPI_File_read_ordered_begin_c(fh, buf, count, datatype) - ccall((:PMPI_File_read_ordered_begin_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype), fh, buf, count, datatype) -end - -function PMPI_File_read_shared_c(fh, buf, count, datatype, status) - ccall((:PMPI_File_read_shared_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function PMPI_File_write_c(fh, buf, count, datatype, status) - ccall((:PMPI_File_write_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function PMPI_File_write_all_c(fh, buf, count, datatype, status) - ccall((:PMPI_File_write_all_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function PMPI_File_write_all_begin_c(fh, buf, count, datatype) - ccall((:PMPI_File_write_all_begin_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype), fh, buf, count, datatype) -end - -function PMPI_File_write_at_c(fh, offset, buf, count, datatype, status) - ccall((:PMPI_File_write_at_c, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, offset, buf, count, datatype, status) -end - -function PMPI_File_write_at_all_c(fh, offset, buf, count, datatype, status) - ccall((:PMPI_File_write_at_all_c, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, offset, buf, count, datatype, status) -end - -function PMPI_File_write_at_all_begin_c(fh, offset, buf, count, datatype) - ccall((:PMPI_File_write_at_all_begin_c, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, MPI_Count, MPI_Datatype), fh, offset, buf, count, datatype) -end - -function PMPI_File_write_ordered_c(fh, buf, count, datatype, status) - ccall((:PMPI_File_write_ordered_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function PMPI_File_write_ordered_begin_c(fh, buf, count, datatype) - ccall((:PMPI_File_write_ordered_begin_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype), fh, buf, count, datatype) -end - -function PMPI_File_write_shared_c(fh, buf, count, datatype, status) - ccall((:PMPI_File_write_shared_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Status}), fh, buf, count, datatype, status) -end - -function PMPI_File_iread_c(fh, buf, count, datatype, request) - ccall((:PMPI_File_iread_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Request}), fh, buf, count, datatype, request) -end - -function PMPI_File_iread_all_c(fh, buf, count, datatype, request) - ccall((:PMPI_File_iread_all_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Request}), fh, buf, count, datatype, request) -end - -function PMPI_File_iread_at_c(fh, offset, buf, count, datatype, request) - ccall((:PMPI_File_iread_at_c, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Request}), fh, offset, buf, count, datatype, request) -end - -function PMPI_File_iread_at_all_c(fh, offset, buf, count, datatype, request) - ccall((:PMPI_File_iread_at_all_c, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Request}), fh, offset, buf, count, datatype, request) -end - -function PMPI_File_iread_shared_c(fh, buf, count, datatype, request) - ccall((:PMPI_File_iread_shared_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Request}), fh, buf, count, datatype, request) -end - -function PMPI_File_iwrite_c(fh, buf, count, datatype, request) - ccall((:PMPI_File_iwrite_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Request}), fh, buf, count, datatype, request) -end - -function PMPI_File_iwrite_all_c(fh, buf, count, datatype, request) - ccall((:PMPI_File_iwrite_all_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Request}), fh, buf, count, datatype, request) -end - -function PMPI_File_iwrite_at_c(fh, offset, buf, count, datatype, request) - ccall((:PMPI_File_iwrite_at_c, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Request}), fh, offset, buf, count, datatype, request) -end - -function PMPI_File_iwrite_at_all_c(fh, offset, buf, count, datatype, request) - ccall((:PMPI_File_iwrite_at_all_c, libHYPRE), Cint, (MPI_File, MPI_Offset, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Request}), fh, offset, buf, count, datatype, request) -end - -function PMPI_File_iwrite_shared_c(fh, buf, count, datatype, request) - ccall((:PMPI_File_iwrite_shared_c, libHYPRE), Cint, (MPI_File, Ptr{Cvoid}, MPI_Count, MPI_Datatype, Ptr{MPI_Request}), fh, buf, count, datatype, request) -end - -function PMPI_File_get_type_extent_c(fh, datatype, extent) - ccall((:PMPI_File_get_type_extent_c, libHYPRE), Cint, (MPI_File, MPI_Datatype, Ptr{MPI_Count}), fh, datatype, extent) -end - -function PMPI_Register_datarep_c(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state) - ccall((:PMPI_Register_datarep_c, libHYPRE), Cint, (Ptr{Cchar}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}), datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state) -end - -function PMPI_File_f2c(arg1) - ccall((:PMPI_File_f2c, libHYPRE), MPI_File, (MPI_Fint,), arg1) -end - -function PMPI_File_c2f(arg1) - ccall((:PMPI_File_c2f, libHYPRE), MPI_Fint, (MPI_File,), arg1) -end - -const HYPRE_BigInt = Cint - -const HYPRE_Int = Cint - -const HYPRE_Real = Cdouble - -const HYPRE_Complex = HYPRE_Real - -# no prototype is found for this function at HYPRE_utilities.h:116:11, please use with caution -function HYPRE_Init() - ccall((:HYPRE_Init, libHYPRE), HYPRE_Int, ()) -end - -# no prototype is found for this function at HYPRE_utilities.h:117:11, please use with caution -function HYPRE_Finalize() - ccall((:HYPRE_Finalize, libHYPRE), HYPRE_Int, ()) -end - -# no prototype is found for this function at HYPRE_utilities.h:124:11, please use with caution -function HYPRE_GetError() - ccall((:HYPRE_GetError, libHYPRE), HYPRE_Int, ()) -end - -function HYPRE_CheckError(hypre_ierr, hypre_error_code) - ccall((:HYPRE_CheckError, libHYPRE), HYPRE_Int, (HYPRE_Int, HYPRE_Int), hypre_ierr, hypre_error_code) -end - -# no prototype is found for this function at HYPRE_utilities.h:131:11, please use with caution -function HYPRE_GetErrorArg() - ccall((:HYPRE_GetErrorArg, libHYPRE), HYPRE_Int, ()) -end - -function HYPRE_DescribeError(hypre_ierr, descr) - ccall((:HYPRE_DescribeError, libHYPRE), Cvoid, (HYPRE_Int, Ptr{Cchar}), hypre_ierr, descr) -end - -# no prototype is found for this function at HYPRE_utilities.h:137:11, please use with caution -function HYPRE_ClearAllErrors() - ccall((:HYPRE_ClearAllErrors, libHYPRE), HYPRE_Int, ()) -end - -function HYPRE_ClearError(hypre_error_code) - ccall((:HYPRE_ClearError, libHYPRE), HYPRE_Int, (HYPRE_Int,), hypre_error_code) -end - -# no prototype is found for this function at HYPRE_utilities.h:143:11, please use with caution -function HYPRE_PrintDeviceInfo() - ccall((:HYPRE_PrintDeviceInfo, libHYPRE), HYPRE_Int, ()) -end - -function HYPRE_Version(version_ptr) - ccall((:HYPRE_Version, libHYPRE), HYPRE_Int, (Ptr{Ptr{Cchar}},), version_ptr) -end - -function HYPRE_VersionNumber(major_ptr, minor_ptr, patch_ptr, single_ptr) - ccall((:HYPRE_VersionNumber, libHYPRE), HYPRE_Int, (Ptr{HYPRE_Int}, Ptr{HYPRE_Int}, Ptr{HYPRE_Int}, Ptr{HYPRE_Int}), major_ptr, minor_ptr, patch_ptr, single_ptr) -end - -# no prototype is found for this function at HYPRE_utilities.h:174:11, please use with caution -function HYPRE_AssumedPartitionCheck() - ccall((:HYPRE_AssumedPartitionCheck, libHYPRE), HYPRE_Int, ()) -end - -@cenum _HYPRE_MemoryLocation::Int32 begin - HYPRE_MEMORY_UNDEFINED = -1 - HYPRE_MEMORY_HOST = 0 - HYPRE_MEMORY_DEVICE = 1 -end - -const HYPRE_MemoryLocation = _HYPRE_MemoryLocation - -function HYPRE_SetMemoryLocation(memory_location) - ccall((:HYPRE_SetMemoryLocation, libHYPRE), HYPRE_Int, (HYPRE_MemoryLocation,), memory_location) -end - -function HYPRE_GetMemoryLocation(memory_location) - ccall((:HYPRE_GetMemoryLocation, libHYPRE), HYPRE_Int, (Ptr{HYPRE_MemoryLocation},), memory_location) -end - -@cenum _HYPRE_ExecutionPolicy::Int32 begin - HYPRE_EXEC_UNDEFINED = -1 - HYPRE_EXEC_HOST = 0 - HYPRE_EXEC_DEVICE = 1 -end - -const HYPRE_ExecutionPolicy = _HYPRE_ExecutionPolicy - -function HYPRE_SetExecutionPolicy(exec_policy) - ccall((:HYPRE_SetExecutionPolicy, libHYPRE), HYPRE_Int, (HYPRE_ExecutionPolicy,), exec_policy) -end - -function HYPRE_GetExecutionPolicy(exec_policy) - ccall((:HYPRE_GetExecutionPolicy, libHYPRE), HYPRE_Int, (Ptr{HYPRE_ExecutionPolicy},), exec_policy) -end - -function HYPRE_SetStructExecutionPolicy(exec_policy) - ccall((:HYPRE_SetStructExecutionPolicy, libHYPRE), HYPRE_Int, (HYPRE_ExecutionPolicy,), exec_policy) -end - -function HYPRE_GetStructExecutionPolicy(exec_policy) - ccall((:HYPRE_GetStructExecutionPolicy, libHYPRE), HYPRE_Int, (Ptr{HYPRE_ExecutionPolicy},), exec_policy) -end - -function HYPRE_SetUmpireDevicePoolSize(nbytes) - ccall((:HYPRE_SetUmpireDevicePoolSize, libHYPRE), HYPRE_Int, (Csize_t,), nbytes) -end - -function HYPRE_SetUmpireUMPoolSize(nbytes) - ccall((:HYPRE_SetUmpireUMPoolSize, libHYPRE), HYPRE_Int, (Csize_t,), nbytes) -end - -function HYPRE_SetUmpireHostPoolSize(nbytes) - ccall((:HYPRE_SetUmpireHostPoolSize, libHYPRE), HYPRE_Int, (Csize_t,), nbytes) -end - -function HYPRE_SetUmpirePinnedPoolSize(nbytes) - ccall((:HYPRE_SetUmpirePinnedPoolSize, libHYPRE), HYPRE_Int, (Csize_t,), nbytes) -end - -function HYPRE_SetUmpireDevicePoolName(pool_name) - ccall((:HYPRE_SetUmpireDevicePoolName, libHYPRE), HYPRE_Int, (Ptr{Cchar},), pool_name) -end - -function HYPRE_SetUmpireUMPoolName(pool_name) - ccall((:HYPRE_SetUmpireUMPoolName, libHYPRE), HYPRE_Int, (Ptr{Cchar},), pool_name) -end - -function HYPRE_SetUmpireHostPoolName(pool_name) - ccall((:HYPRE_SetUmpireHostPoolName, libHYPRE), HYPRE_Int, (Ptr{Cchar},), pool_name) -end - -function HYPRE_SetUmpirePinnedPoolName(pool_name) - ccall((:HYPRE_SetUmpirePinnedPoolName, libHYPRE), HYPRE_Int, (Ptr{Cchar},), pool_name) -end - -function HYPRE_SetGPUMemoryPoolSize(bin_growth, min_bin, max_bin, max_cached_bytes) - ccall((:HYPRE_SetGPUMemoryPoolSize, libHYPRE), HYPRE_Int, (HYPRE_Int, HYPRE_Int, HYPRE_Int, Csize_t), bin_growth, min_bin, max_bin, max_cached_bytes) -end - -function HYPRE_SetSpGemmUseCusparse(use_cusparse) - ccall((:HYPRE_SetSpGemmUseCusparse, libHYPRE), HYPRE_Int, (HYPRE_Int,), use_cusparse) -end - -function HYPRE_SetUseGpuRand(use_curand) - ccall((:HYPRE_SetUseGpuRand, libHYPRE), HYPRE_Int, (HYPRE_Int,), use_curand) -end - -mutable struct hypre_IJMatrix_struct end - -const HYPRE_IJMatrix = Ptr{hypre_IJMatrix_struct} - -function HYPRE_IJMatrixCreate(comm, ilower, iupper, jlower, jupper, matrix) - ccall((:HYPRE_IJMatrixCreate, libHYPRE), HYPRE_Int, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, Ptr{HYPRE_IJMatrix}), comm, ilower, iupper, jlower, jupper, matrix) -end - -function HYPRE_IJMatrixDestroy(matrix) - ccall((:HYPRE_IJMatrixDestroy, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix,), matrix) -end - -function HYPRE_IJMatrixInitialize(matrix) - ccall((:HYPRE_IJMatrixInitialize, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix,), matrix) -end - -function HYPRE_IJMatrixInitialize_v2(matrix, memory_location) - ccall((:HYPRE_IJMatrixInitialize_v2, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_MemoryLocation), matrix, memory_location) -end - -function HYPRE_IJMatrixSetValues(matrix, nrows, ncols, rows, cols, values) - ccall((:HYPRE_IJMatrixSetValues, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Int, Ptr{HYPRE_Int}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Complex}), matrix, nrows, ncols, rows, cols, values) -end - -function HYPRE_IJMatrixSetConstantValues(matrix, value) - ccall((:HYPRE_IJMatrixSetConstantValues, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Complex), matrix, value) -end - -function HYPRE_IJMatrixAddToValues(matrix, nrows, ncols, rows, cols, values) - ccall((:HYPRE_IJMatrixAddToValues, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Int, Ptr{HYPRE_Int}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Complex}), matrix, nrows, ncols, rows, cols, values) -end - -function HYPRE_IJMatrixSetValues2(matrix, nrows, ncols, rows, row_indexes, cols, values) - ccall((:HYPRE_IJMatrixSetValues2, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Int, Ptr{HYPRE_Int}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Int}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Complex}), matrix, nrows, ncols, rows, row_indexes, cols, values) -end - -function HYPRE_IJMatrixAddToValues2(matrix, nrows, ncols, rows, row_indexes, cols, values) - ccall((:HYPRE_IJMatrixAddToValues2, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Int, Ptr{HYPRE_Int}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Int}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Complex}), matrix, nrows, ncols, rows, row_indexes, cols, values) -end - -function HYPRE_IJMatrixAssemble(matrix) - ccall((:HYPRE_IJMatrixAssemble, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix,), matrix) -end - -function HYPRE_IJMatrixGetRowCounts(matrix, nrows, rows, ncols) - ccall((:HYPRE_IJMatrixGetRowCounts, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Int, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Int}), matrix, nrows, rows, ncols) -end - -function HYPRE_IJMatrixGetValues(matrix, nrows, ncols, rows, cols, values) - ccall((:HYPRE_IJMatrixGetValues, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Int, Ptr{HYPRE_Int}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Complex}), matrix, nrows, ncols, rows, cols, values) -end - -function HYPRE_IJMatrixSetObjectType(matrix, type) - ccall((:HYPRE_IJMatrixSetObjectType, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Int), matrix, type) -end - -function HYPRE_IJMatrixGetObjectType(matrix, type) - ccall((:HYPRE_IJMatrixGetObjectType, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, Ptr{HYPRE_Int}), matrix, type) -end - -function HYPRE_IJMatrixGetLocalRange(matrix, ilower, iupper, jlower, jupper) - ccall((:HYPRE_IJMatrixGetLocalRange, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}), matrix, ilower, iupper, jlower, jupper) -end - -function HYPRE_IJMatrixGetObject(matrix, object) - ccall((:HYPRE_IJMatrixGetObject, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, Ptr{Ptr{Cvoid}}), matrix, object) -end - -function HYPRE_IJMatrixSetRowSizes(matrix, sizes) - ccall((:HYPRE_IJMatrixSetRowSizes, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, Ptr{HYPRE_Int}), matrix, sizes) -end - -function HYPRE_IJMatrixSetDiagOffdSizes(matrix, diag_sizes, offdiag_sizes) - ccall((:HYPRE_IJMatrixSetDiagOffdSizes, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, Ptr{HYPRE_Int}, Ptr{HYPRE_Int}), matrix, diag_sizes, offdiag_sizes) -end - -function HYPRE_IJMatrixSetMaxOffProcElmts(matrix, max_off_proc_elmts) - ccall((:HYPRE_IJMatrixSetMaxOffProcElmts, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Int), matrix, max_off_proc_elmts) -end - -function HYPRE_IJMatrixSetPrintLevel(matrix, print_level) - ccall((:HYPRE_IJMatrixSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Int), matrix, print_level) -end - -function HYPRE_IJMatrixSetOMPFlag(matrix, omp_flag) - ccall((:HYPRE_IJMatrixSetOMPFlag, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, HYPRE_Int), matrix, omp_flag) -end - -function HYPRE_IJMatrixRead(filename, comm, type, matrix) - ccall((:HYPRE_IJMatrixRead, libHYPRE), HYPRE_Int, (Ptr{Cchar}, MPI_Comm, HYPRE_Int, Ptr{HYPRE_IJMatrix}), filename, comm, type, matrix) -end - -function HYPRE_IJMatrixPrint(matrix, filename) - ccall((:HYPRE_IJMatrixPrint, libHYPRE), HYPRE_Int, (HYPRE_IJMatrix, Ptr{Cchar}), matrix, filename) -end - -mutable struct hypre_IJVector_struct end - -const HYPRE_IJVector = Ptr{hypre_IJVector_struct} - -function HYPRE_IJVectorCreate(comm, jlower, jupper, vector) - ccall((:HYPRE_IJVectorCreate, libHYPRE), HYPRE_Int, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, Ptr{HYPRE_IJVector}), comm, jlower, jupper, vector) -end - -function HYPRE_IJVectorDestroy(vector) - ccall((:HYPRE_IJVectorDestroy, libHYPRE), HYPRE_Int, (HYPRE_IJVector,), vector) -end - -function HYPRE_IJVectorInitialize(vector) - ccall((:HYPRE_IJVectorInitialize, libHYPRE), HYPRE_Int, (HYPRE_IJVector,), vector) -end - -function HYPRE_IJVectorInitialize_v2(vector, memory_location) - ccall((:HYPRE_IJVectorInitialize_v2, libHYPRE), HYPRE_Int, (HYPRE_IJVector, HYPRE_MemoryLocation), vector, memory_location) -end - -function HYPRE_IJVectorSetMaxOffProcElmts(vector, max_off_proc_elmts) - ccall((:HYPRE_IJVectorSetMaxOffProcElmts, libHYPRE), HYPRE_Int, (HYPRE_IJVector, HYPRE_Int), vector, max_off_proc_elmts) -end - -function HYPRE_IJVectorSetValues(vector, nvalues, indices, values) - ccall((:HYPRE_IJVectorSetValues, libHYPRE), HYPRE_Int, (HYPRE_IJVector, HYPRE_Int, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Complex}), vector, nvalues, indices, values) -end - -function HYPRE_IJVectorAddToValues(vector, nvalues, indices, values) - ccall((:HYPRE_IJVectorAddToValues, libHYPRE), HYPRE_Int, (HYPRE_IJVector, HYPRE_Int, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Complex}), vector, nvalues, indices, values) -end - -function HYPRE_IJVectorAssemble(vector) - ccall((:HYPRE_IJVectorAssemble, libHYPRE), HYPRE_Int, (HYPRE_IJVector,), vector) -end - -function HYPRE_IJVectorGetValues(vector, nvalues, indices, values) - ccall((:HYPRE_IJVectorGetValues, libHYPRE), HYPRE_Int, (HYPRE_IJVector, HYPRE_Int, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Complex}), vector, nvalues, indices, values) -end - -function HYPRE_IJVectorSetObjectType(vector, type) - ccall((:HYPRE_IJVectorSetObjectType, libHYPRE), HYPRE_Int, (HYPRE_IJVector, HYPRE_Int), vector, type) -end - -function HYPRE_IJVectorGetObjectType(vector, type) - ccall((:HYPRE_IJVectorGetObjectType, libHYPRE), HYPRE_Int, (HYPRE_IJVector, Ptr{HYPRE_Int}), vector, type) -end - -function HYPRE_IJVectorGetLocalRange(vector, jlower, jupper) - ccall((:HYPRE_IJVectorGetLocalRange, libHYPRE), HYPRE_Int, (HYPRE_IJVector, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}), vector, jlower, jupper) -end - -function HYPRE_IJVectorGetObject(vector, object) - ccall((:HYPRE_IJVectorGetObject, libHYPRE), HYPRE_Int, (HYPRE_IJVector, Ptr{Ptr{Cvoid}}), vector, object) -end - -function HYPRE_IJVectorSetPrintLevel(vector, print_level) - ccall((:HYPRE_IJVectorSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_IJVector, HYPRE_Int), vector, print_level) -end - -function HYPRE_IJVectorRead(filename, comm, type, vector) - ccall((:HYPRE_IJVectorRead, libHYPRE), HYPRE_Int, (Ptr{Cchar}, MPI_Comm, HYPRE_Int, Ptr{HYPRE_IJVector}), filename, comm, type, vector) -end - -function HYPRE_IJVectorPrint(vector, filename) - ccall((:HYPRE_IJVectorPrint, libHYPRE), HYPRE_Int, (HYPRE_IJVector, Ptr{Cchar}), vector, filename) -end - -mutable struct hypre_CSRMatrix_struct end - -const HYPRE_CSRMatrix = Ptr{hypre_CSRMatrix_struct} - -mutable struct hypre_MappedMatrix_struct end - -const HYPRE_MappedMatrix = Ptr{hypre_MappedMatrix_struct} - -mutable struct hypre_MultiblockMatrix_struct end - -const HYPRE_MultiblockMatrix = Ptr{hypre_MultiblockMatrix_struct} - -mutable struct hypre_Vector_struct end - -const HYPRE_Vector = Ptr{hypre_Vector_struct} - -function HYPRE_CSRMatrixCreate(num_rows, num_cols, row_sizes) - ccall((:HYPRE_CSRMatrixCreate, libHYPRE), HYPRE_CSRMatrix, (HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Int}), num_rows, num_cols, row_sizes) -end - -function HYPRE_CSRMatrixDestroy(matrix) - ccall((:HYPRE_CSRMatrixDestroy, libHYPRE), HYPRE_Int, (HYPRE_CSRMatrix,), matrix) -end - -function HYPRE_CSRMatrixInitialize(matrix) - ccall((:HYPRE_CSRMatrixInitialize, libHYPRE), HYPRE_Int, (HYPRE_CSRMatrix,), matrix) -end - -function HYPRE_CSRMatrixRead(file_name) - ccall((:HYPRE_CSRMatrixRead, libHYPRE), HYPRE_CSRMatrix, (Ptr{Cchar},), file_name) -end - -function HYPRE_CSRMatrixPrint(matrix, file_name) - ccall((:HYPRE_CSRMatrixPrint, libHYPRE), Cvoid, (HYPRE_CSRMatrix, Ptr{Cchar}), matrix, file_name) -end - -function HYPRE_CSRMatrixGetNumRows(matrix, num_rows) - ccall((:HYPRE_CSRMatrixGetNumRows, libHYPRE), HYPRE_Int, (HYPRE_CSRMatrix, Ptr{HYPRE_Int}), matrix, num_rows) -end - -function HYPRE_MappedMatrixCreate() - ccall((:HYPRE_MappedMatrixCreate, libHYPRE), HYPRE_MappedMatrix, ()) -end - -function HYPRE_MappedMatrixDestroy(matrix) - ccall((:HYPRE_MappedMatrixDestroy, libHYPRE), HYPRE_Int, (HYPRE_MappedMatrix,), matrix) -end - -function HYPRE_MappedMatrixLimitedDestroy(matrix) - ccall((:HYPRE_MappedMatrixLimitedDestroy, libHYPRE), HYPRE_Int, (HYPRE_MappedMatrix,), matrix) -end - -function HYPRE_MappedMatrixInitialize(matrix) - ccall((:HYPRE_MappedMatrixInitialize, libHYPRE), HYPRE_Int, (HYPRE_MappedMatrix,), matrix) -end - -function HYPRE_MappedMatrixAssemble(matrix) - ccall((:HYPRE_MappedMatrixAssemble, libHYPRE), HYPRE_Int, (HYPRE_MappedMatrix,), matrix) -end - -function HYPRE_MappedMatrixPrint(matrix) - ccall((:HYPRE_MappedMatrixPrint, libHYPRE), Cvoid, (HYPRE_MappedMatrix,), matrix) -end - -function HYPRE_MappedMatrixGetColIndex(matrix, j) - ccall((:HYPRE_MappedMatrixGetColIndex, libHYPRE), HYPRE_Int, (HYPRE_MappedMatrix, HYPRE_Int), matrix, j) -end - -function HYPRE_MappedMatrixGetMatrix(matrix) - ccall((:HYPRE_MappedMatrixGetMatrix, libHYPRE), Ptr{Cvoid}, (HYPRE_MappedMatrix,), matrix) -end - -function HYPRE_MappedMatrixSetMatrix(matrix, matrix_data) - ccall((:HYPRE_MappedMatrixSetMatrix, libHYPRE), HYPRE_Int, (HYPRE_MappedMatrix, Ptr{Cvoid}), matrix, matrix_data) -end - -function HYPRE_MappedMatrixSetColMap(matrix, ColMap) - ccall((:HYPRE_MappedMatrixSetColMap, libHYPRE), HYPRE_Int, (HYPRE_MappedMatrix, Ptr{Cvoid}), matrix, ColMap) -end - -function HYPRE_MappedMatrixSetMapData(matrix, MapData) - ccall((:HYPRE_MappedMatrixSetMapData, libHYPRE), HYPRE_Int, (HYPRE_MappedMatrix, Ptr{Cvoid}), matrix, MapData) -end - -function HYPRE_MultiblockMatrixCreate() - ccall((:HYPRE_MultiblockMatrixCreate, libHYPRE), HYPRE_MultiblockMatrix, ()) -end - -function HYPRE_MultiblockMatrixDestroy(matrix) - ccall((:HYPRE_MultiblockMatrixDestroy, libHYPRE), HYPRE_Int, (HYPRE_MultiblockMatrix,), matrix) -end - -function HYPRE_MultiblockMatrixLimitedDestroy(matrix) - ccall((:HYPRE_MultiblockMatrixLimitedDestroy, libHYPRE), HYPRE_Int, (HYPRE_MultiblockMatrix,), matrix) -end - -function HYPRE_MultiblockMatrixInitialize(matrix) - ccall((:HYPRE_MultiblockMatrixInitialize, libHYPRE), HYPRE_Int, (HYPRE_MultiblockMatrix,), matrix) -end - -function HYPRE_MultiblockMatrixAssemble(matrix) - ccall((:HYPRE_MultiblockMatrixAssemble, libHYPRE), HYPRE_Int, (HYPRE_MultiblockMatrix,), matrix) -end - -function HYPRE_MultiblockMatrixPrint(matrix) - ccall((:HYPRE_MultiblockMatrixPrint, libHYPRE), Cvoid, (HYPRE_MultiblockMatrix,), matrix) -end - -function HYPRE_MultiblockMatrixSetNumSubmatrices(matrix, n) - ccall((:HYPRE_MultiblockMatrixSetNumSubmatrices, libHYPRE), HYPRE_Int, (HYPRE_MultiblockMatrix, HYPRE_Int), matrix, n) -end - -function HYPRE_MultiblockMatrixSetSubmatrixType(matrix, j, type) - ccall((:HYPRE_MultiblockMatrixSetSubmatrixType, libHYPRE), HYPRE_Int, (HYPRE_MultiblockMatrix, HYPRE_Int, HYPRE_Int), matrix, j, type) -end - -function HYPRE_VectorCreate(size) - ccall((:HYPRE_VectorCreate, libHYPRE), HYPRE_Vector, (HYPRE_Int,), size) -end - -function HYPRE_VectorDestroy(vector) - ccall((:HYPRE_VectorDestroy, libHYPRE), HYPRE_Int, (HYPRE_Vector,), vector) -end - -function HYPRE_VectorInitialize(vector) - ccall((:HYPRE_VectorInitialize, libHYPRE), HYPRE_Int, (HYPRE_Vector,), vector) -end - -function HYPRE_VectorPrint(vector, file_name) - ccall((:HYPRE_VectorPrint, libHYPRE), HYPRE_Int, (HYPRE_Vector, Ptr{Cchar}), vector, file_name) -end - -function HYPRE_VectorRead(file_name) - ccall((:HYPRE_VectorRead, libHYPRE), HYPRE_Vector, (Ptr{Cchar},), file_name) -end - -@cenum HYPRE_TimerID::UInt32 begin - HYPRE_TIMER_ID_MATVEC = 0 - HYPRE_TIMER_ID_BLAS1 = 1 - HYPRE_TIMER_ID_RELAX = 2 - HYPRE_TIMER_ID_GS_ELIM_SOLVE = 3 - HYPRE_TIMER_ID_PACK_UNPACK = 4 - HYPRE_TIMER_ID_HALO_EXCHANGE = 5 - HYPRE_TIMER_ID_ALL_REDUCE = 6 - HYPRE_TIMER_ID_CREATES = 7 - HYPRE_TIMER_ID_CREATE_2NDS = 8 - HYPRE_TIMER_ID_PMIS = 9 - HYPRE_TIMER_ID_EXTENDED_I_INTERP = 10 - HYPRE_TIMER_ID_PARTIAL_INTERP = 11 - HYPRE_TIMER_ID_MULTIPASS_INTERP = 12 - HYPRE_TIMER_ID_INTERP_TRUNC = 13 - HYPRE_TIMER_ID_MATMUL = 14 - HYPRE_TIMER_ID_COARSE_PARAMS = 15 - HYPRE_TIMER_ID_RAP = 16 - HYPRE_TIMER_ID_RENUMBER_COLIDX = 17 - HYPRE_TIMER_ID_EXCHANGE_INTERP_DATA = 18 - HYPRE_TIMER_ID_GS_ELIM_SETUP = 19 - HYPRE_TIMER_ID_BEXT_A = 20 - HYPRE_TIMER_ID_BEXT_S = 21 - HYPRE_TIMER_ID_RENUMBER_COLIDX_RAP = 22 - HYPRE_TIMER_ID_MERGE = 23 - HYPRE_TIMER_ID_SPMM_ROWNNZ = 24 - HYPRE_TIMER_ID_SPMM_ATTEMPT1 = 25 - HYPRE_TIMER_ID_SPMM_ATTEMPT2 = 26 - HYPRE_TIMER_ID_SPMM_SYMBOLIC = 27 - HYPRE_TIMER_ID_SPMM_NUMERIC = 28 - HYPRE_TIMER_ID_SPMM = 29 - HYPRE_TIMER_ID_SPADD = 30 - HYPRE_TIMER_ID_SPTRANS = 31 - HYPRE_TIMER_ID_COUNT = 32 -end - -mutable struct hypre_ParCSRMatrix_struct end - -const HYPRE_ParCSRMatrix = Ptr{hypre_ParCSRMatrix_struct} - -mutable struct hypre_ParVector_struct end - -const HYPRE_ParVector = Ptr{hypre_ParVector_struct} - -function HYPRE_ParCSRMatrixCreate(comm, global_num_rows, global_num_cols, row_starts, col_starts, num_cols_offd, num_nonzeros_diag, num_nonzeros_offd, matrix) - ccall((:HYPRE_ParCSRMatrixCreate, libHYPRE), HYPRE_Int, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_ParCSRMatrix}), comm, global_num_rows, global_num_cols, row_starts, col_starts, num_cols_offd, num_nonzeros_diag, num_nonzeros_offd, matrix) -end - -function HYPRE_ParCSRMatrixDestroy(matrix) - ccall((:HYPRE_ParCSRMatrixDestroy, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix,), matrix) -end - -function HYPRE_ParCSRMatrixInitialize(matrix) - ccall((:HYPRE_ParCSRMatrixInitialize, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix,), matrix) -end - -function HYPRE_ParCSRMatrixRead(comm, file_name, matrix) - ccall((:HYPRE_ParCSRMatrixRead, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{Cchar}, Ptr{HYPRE_ParCSRMatrix}), comm, file_name, matrix) -end - -function HYPRE_ParCSRMatrixPrint(matrix, file_name) - ccall((:HYPRE_ParCSRMatrixPrint, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix, Ptr{Cchar}), matrix, file_name) -end - -function HYPRE_ParCSRMatrixGetComm(matrix, comm) - ccall((:HYPRE_ParCSRMatrixGetComm, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix, Ptr{MPI_Comm}), matrix, comm) -end - -function HYPRE_ParCSRMatrixGetDims(matrix, M, N) - ccall((:HYPRE_ParCSRMatrixGetDims, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}), matrix, M, N) -end - -function HYPRE_ParCSRMatrixGetRowPartitioning(matrix, row_partitioning_ptr) - ccall((:HYPRE_ParCSRMatrixGetRowPartitioning, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix, Ptr{Ptr{HYPRE_BigInt}}), matrix, row_partitioning_ptr) -end - -function HYPRE_ParCSRMatrixGetColPartitioning(matrix, col_partitioning_ptr) - ccall((:HYPRE_ParCSRMatrixGetColPartitioning, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix, Ptr{Ptr{HYPRE_BigInt}}), matrix, col_partitioning_ptr) -end - -function HYPRE_ParCSRMatrixGetLocalRange(matrix, row_start, row_end, col_start, col_end) - ccall((:HYPRE_ParCSRMatrixGetLocalRange, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}), matrix, row_start, row_end, col_start, col_end) -end - -function HYPRE_ParCSRMatrixGetRow(matrix, row, size, col_ind, values) - ccall((:HYPRE_ParCSRMatrixGetRow, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix, HYPRE_BigInt, Ptr{HYPRE_Int}, Ptr{Ptr{HYPRE_BigInt}}, Ptr{Ptr{HYPRE_Complex}}), matrix, row, size, col_ind, values) -end - -function HYPRE_ParCSRMatrixRestoreRow(matrix, row, size, col_ind, values) - ccall((:HYPRE_ParCSRMatrixRestoreRow, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix, HYPRE_BigInt, Ptr{HYPRE_Int}, Ptr{Ptr{HYPRE_BigInt}}, Ptr{Ptr{HYPRE_Complex}}), matrix, row, size, col_ind, values) -end - -function HYPRE_CSRMatrixToParCSRMatrix(comm, A_CSR, row_partitioning, col_partitioning, matrix) - ccall((:HYPRE_CSRMatrixToParCSRMatrix, libHYPRE), HYPRE_Int, (MPI_Comm, HYPRE_CSRMatrix, Ptr{HYPRE_BigInt}, Ptr{HYPRE_BigInt}, Ptr{HYPRE_ParCSRMatrix}), comm, A_CSR, row_partitioning, col_partitioning, matrix) -end - -function HYPRE_ParCSRMatrixMatvec(alpha, A, x, beta, y) - ccall((:HYPRE_ParCSRMatrixMatvec, libHYPRE), HYPRE_Int, (HYPRE_Complex, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_Complex, HYPRE_ParVector), alpha, A, x, beta, y) -end - -function HYPRE_ParCSRMatrixMatvecT(alpha, A, x, beta, y) - ccall((:HYPRE_ParCSRMatrixMatvecT, libHYPRE), HYPRE_Int, (HYPRE_Complex, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_Complex, HYPRE_ParVector), alpha, A, x, beta, y) -end - -function HYPRE_ParVectorCreate(comm, global_size, partitioning, vector) - ccall((:HYPRE_ParVectorCreate, libHYPRE), HYPRE_Int, (MPI_Comm, HYPRE_BigInt, Ptr{HYPRE_BigInt}, Ptr{HYPRE_ParVector}), comm, global_size, partitioning, vector) -end - -function HYPRE_ParVectorDestroy(vector) - ccall((:HYPRE_ParVectorDestroy, libHYPRE), HYPRE_Int, (HYPRE_ParVector,), vector) -end - -function HYPRE_ParVectorInitialize(vector) - ccall((:HYPRE_ParVectorInitialize, libHYPRE), HYPRE_Int, (HYPRE_ParVector,), vector) -end - -function HYPRE_ParVectorRead(comm, file_name, vector) - ccall((:HYPRE_ParVectorRead, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{Cchar}, Ptr{HYPRE_ParVector}), comm, file_name, vector) -end - -function HYPRE_ParVectorPrint(vector, file_name) - ccall((:HYPRE_ParVectorPrint, libHYPRE), HYPRE_Int, (HYPRE_ParVector, Ptr{Cchar}), vector, file_name) -end - -function HYPRE_ParVectorSetConstantValues(vector, value) - ccall((:HYPRE_ParVectorSetConstantValues, libHYPRE), HYPRE_Int, (HYPRE_ParVector, HYPRE_Complex), vector, value) -end - -function HYPRE_ParVectorSetRandomValues(vector, seed) - ccall((:HYPRE_ParVectorSetRandomValues, libHYPRE), HYPRE_Int, (HYPRE_ParVector, HYPRE_Int), vector, seed) -end - -function HYPRE_ParVectorCopy(x, y) - ccall((:HYPRE_ParVectorCopy, libHYPRE), HYPRE_Int, (HYPRE_ParVector, HYPRE_ParVector), x, y) -end - -function HYPRE_ParVectorScale(value, x) - ccall((:HYPRE_ParVectorScale, libHYPRE), HYPRE_Int, (HYPRE_Complex, HYPRE_ParVector), value, x) -end - -function HYPRE_ParVectorInnerProd(x, y, prod) - ccall((:HYPRE_ParVectorInnerProd, libHYPRE), HYPRE_Int, (HYPRE_ParVector, HYPRE_ParVector, Ptr{HYPRE_Real}), x, y, prod) -end - -function HYPRE_VectorToParVector(comm, b, partitioning, vector) - ccall((:HYPRE_VectorToParVector, libHYPRE), HYPRE_Int, (MPI_Comm, HYPRE_Vector, Ptr{HYPRE_BigInt}, Ptr{HYPRE_ParVector}), comm, b, partitioning, vector) -end - -function HYPRE_ParVectorGetValues(vector, num_values, indices, values) - ccall((:HYPRE_ParVectorGetValues, libHYPRE), HYPRE_Int, (HYPRE_ParVector, HYPRE_Int, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Complex}), vector, num_values, indices, values) -end - -mutable struct hypre_Solver_struct end - -const HYPRE_Solver = Ptr{hypre_Solver_struct} - -mutable struct hypre_Matrix_struct end - -const HYPRE_Matrix = Ptr{hypre_Matrix_struct} - -# typedef HYPRE_Int ( * HYPRE_PtrToSolverFcn ) ( HYPRE_Solver , HYPRE_Matrix , HYPRE_Vector , HYPRE_Vector ) -const HYPRE_PtrToSolverFcn = Ptr{Cvoid} - -# typedef HYPRE_Int ( * HYPRE_PtrToModifyPCFcn ) ( HYPRE_Solver , HYPRE_Int , HYPRE_Real ) -const HYPRE_PtrToModifyPCFcn = Ptr{Cvoid} - -function HYPRE_PCGSetup(solver, A, b, x) - ccall((:HYPRE_PCGSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) -end - -function HYPRE_PCGSolve(solver, A, b, x) - ccall((:HYPRE_PCGSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) -end - -function HYPRE_PCGSetTol(solver, tol) - ccall((:HYPRE_PCGSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_PCGSetAbsoluteTol(solver, a_tol) - ccall((:HYPRE_PCGSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) -end - -function HYPRE_PCGSetResidualTol(solver, rtol) - ccall((:HYPRE_PCGSetResidualTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, rtol) -end - -function HYPRE_PCGSetAbsoluteTolFactor(solver, abstolf) - ccall((:HYPRE_PCGSetAbsoluteTolFactor, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, abstolf) -end - -function HYPRE_PCGSetConvergenceFactorTol(solver, cf_tol) - ccall((:HYPRE_PCGSetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, cf_tol) -end - -function HYPRE_PCGSetStopCrit(solver, stop_crit) - ccall((:HYPRE_PCGSetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, stop_crit) -end - -function HYPRE_PCGSetMaxIter(solver, max_iter) - ccall((:HYPRE_PCGSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) -end - -function HYPRE_PCGSetTwoNorm(solver, two_norm) - ccall((:HYPRE_PCGSetTwoNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, two_norm) -end - -function HYPRE_PCGSetRelChange(solver, rel_change) - ccall((:HYPRE_PCGSetRelChange, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, rel_change) -end - -function HYPRE_PCGSetRecomputeResidual(solver, recompute_residual) - ccall((:HYPRE_PCGSetRecomputeResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, recompute_residual) -end - -function HYPRE_PCGSetRecomputeResidualP(solver, recompute_residual_p) - ccall((:HYPRE_PCGSetRecomputeResidualP, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, recompute_residual_p) -end - -function HYPRE_PCGSetPrecond(solver, precond, precond_setup, precond_solver) - ccall((:HYPRE_PCGSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToSolverFcn, HYPRE_PtrToSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) -end - -function HYPRE_PCGSetLogging(solver, logging) - ccall((:HYPRE_PCGSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) -end - -function HYPRE_PCGSetPrintLevel(solver, level) - ccall((:HYPRE_PCGSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, level) -end - -function HYPRE_PCGGetNumIterations(solver, num_iterations) - ccall((:HYPRE_PCGGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) -end - -function HYPRE_PCGGetFinalRelativeResidualNorm(solver, norm) - ccall((:HYPRE_PCGGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) -end - -function HYPRE_PCGGetResidual(solver, residual) - ccall((:HYPRE_PCGGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cvoid}), solver, residual) -end - -function HYPRE_PCGGetTol(solver, tol) - ccall((:HYPRE_PCGGetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, tol) -end - -function HYPRE_PCGGetResidualTol(solver, rtol) - ccall((:HYPRE_PCGGetResidualTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, rtol) -end - -function HYPRE_PCGGetAbsoluteTolFactor(solver, abstolf) - ccall((:HYPRE_PCGGetAbsoluteTolFactor, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, abstolf) -end - -function HYPRE_PCGGetConvergenceFactorTol(solver, cf_tol) - ccall((:HYPRE_PCGGetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, cf_tol) -end - -function HYPRE_PCGGetStopCrit(solver, stop_crit) - ccall((:HYPRE_PCGGetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, stop_crit) -end - -function HYPRE_PCGGetMaxIter(solver, max_iter) - ccall((:HYPRE_PCGGetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, max_iter) -end - -function HYPRE_PCGGetTwoNorm(solver, two_norm) - ccall((:HYPRE_PCGGetTwoNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, two_norm) -end - -function HYPRE_PCGGetRelChange(solver, rel_change) - ccall((:HYPRE_PCGGetRelChange, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, rel_change) -end - -function HYPRE_GMRESGetSkipRealResidualCheck(solver, skip_real_r_check) - ccall((:HYPRE_GMRESGetSkipRealResidualCheck, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, skip_real_r_check) -end - -function HYPRE_PCGGetPrecond(solver, precond_data_ptr) - ccall((:HYPRE_PCGGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data_ptr) -end - -function HYPRE_PCGGetLogging(solver, level) - ccall((:HYPRE_PCGGetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, level) -end - -function HYPRE_PCGGetPrintLevel(solver, level) - ccall((:HYPRE_PCGGetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, level) -end - -function HYPRE_PCGGetConverged(solver, converged) - ccall((:HYPRE_PCGGetConverged, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, converged) -end - -function HYPRE_GMRESSetup(solver, A, b, x) - ccall((:HYPRE_GMRESSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) -end - -function HYPRE_GMRESSolve(solver, A, b, x) - ccall((:HYPRE_GMRESSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) -end - -function HYPRE_GMRESSetTol(solver, tol) - ccall((:HYPRE_GMRESSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_GMRESSetAbsoluteTol(solver, a_tol) - ccall((:HYPRE_GMRESSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) -end - -function HYPRE_GMRESSetConvergenceFactorTol(solver, cf_tol) - ccall((:HYPRE_GMRESSetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, cf_tol) -end - -function HYPRE_GMRESSetStopCrit(solver, stop_crit) - ccall((:HYPRE_GMRESSetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, stop_crit) -end - -function HYPRE_GMRESSetMinIter(solver, min_iter) - ccall((:HYPRE_GMRESSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) -end - -function HYPRE_GMRESSetMaxIter(solver, max_iter) - ccall((:HYPRE_GMRESSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) -end - -function HYPRE_GMRESSetKDim(solver, k_dim) - ccall((:HYPRE_GMRESSetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, k_dim) -end - -function HYPRE_GMRESSetRelChange(solver, rel_change) - ccall((:HYPRE_GMRESSetRelChange, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, rel_change) -end - -function HYPRE_GMRESSetSkipRealResidualCheck(solver, skip_real_r_check) - ccall((:HYPRE_GMRESSetSkipRealResidualCheck, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, skip_real_r_check) -end - -function HYPRE_GMRESSetPrecond(solver, precond, precond_setup, precond_solver) - ccall((:HYPRE_GMRESSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToSolverFcn, HYPRE_PtrToSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) -end - -function HYPRE_GMRESSetLogging(solver, logging) - ccall((:HYPRE_GMRESSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) -end - -function HYPRE_GMRESSetPrintLevel(solver, level) - ccall((:HYPRE_GMRESSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, level) -end - -function HYPRE_GMRESGetNumIterations(solver, num_iterations) - ccall((:HYPRE_GMRESGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) -end - -function HYPRE_GMRESGetFinalRelativeResidualNorm(solver, norm) - ccall((:HYPRE_GMRESGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) -end - -function HYPRE_GMRESGetResidual(solver, residual) - ccall((:HYPRE_GMRESGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cvoid}), solver, residual) -end - -function HYPRE_GMRESGetTol(solver, tol) - ccall((:HYPRE_GMRESGetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, tol) -end - -function HYPRE_GMRESGetAbsoluteTol(solver, tol) - ccall((:HYPRE_GMRESGetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, tol) -end - -function HYPRE_GMRESGetConvergenceFactorTol(solver, cf_tol) - ccall((:HYPRE_GMRESGetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, cf_tol) -end - -function HYPRE_GMRESGetStopCrit(solver, stop_crit) - ccall((:HYPRE_GMRESGetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, stop_crit) -end - -function HYPRE_GMRESGetMinIter(solver, min_iter) - ccall((:HYPRE_GMRESGetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, min_iter) -end - -function HYPRE_GMRESGetMaxIter(solver, max_iter) - ccall((:HYPRE_GMRESGetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, max_iter) -end - -function HYPRE_GMRESGetKDim(solver, k_dim) - ccall((:HYPRE_GMRESGetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, k_dim) -end - -function HYPRE_GMRESGetRelChange(solver, rel_change) - ccall((:HYPRE_GMRESGetRelChange, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, rel_change) -end - -function HYPRE_GMRESGetPrecond(solver, precond_data_ptr) - ccall((:HYPRE_GMRESGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data_ptr) -end - -function HYPRE_GMRESGetLogging(solver, level) - ccall((:HYPRE_GMRESGetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, level) -end - -function HYPRE_GMRESGetPrintLevel(solver, level) - ccall((:HYPRE_GMRESGetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, level) -end - -function HYPRE_GMRESGetConverged(solver, converged) - ccall((:HYPRE_GMRESGetConverged, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, converged) -end - -function HYPRE_FlexGMRESSetup(solver, A, b, x) - ccall((:HYPRE_FlexGMRESSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) -end - -function HYPRE_FlexGMRESSolve(solver, A, b, x) - ccall((:HYPRE_FlexGMRESSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) -end - -function HYPRE_FlexGMRESSetTol(solver, tol) - ccall((:HYPRE_FlexGMRESSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_FlexGMRESSetAbsoluteTol(solver, a_tol) - ccall((:HYPRE_FlexGMRESSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) -end - -function HYPRE_FlexGMRESSetConvergenceFactorTol(solver, cf_tol) - ccall((:HYPRE_FlexGMRESSetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, cf_tol) -end - -function HYPRE_FlexGMRESSetMinIter(solver, min_iter) - ccall((:HYPRE_FlexGMRESSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) -end - -function HYPRE_FlexGMRESSetMaxIter(solver, max_iter) - ccall((:HYPRE_FlexGMRESSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) -end - -function HYPRE_FlexGMRESSetKDim(solver, k_dim) - ccall((:HYPRE_FlexGMRESSetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, k_dim) -end - -function HYPRE_FlexGMRESSetPrecond(solver, precond, precond_setup, precond_solver) - ccall((:HYPRE_FlexGMRESSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToSolverFcn, HYPRE_PtrToSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) -end - -function HYPRE_FlexGMRESSetLogging(solver, logging) - ccall((:HYPRE_FlexGMRESSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) -end - -function HYPRE_FlexGMRESSetPrintLevel(solver, level) - ccall((:HYPRE_FlexGMRESSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, level) -end - -function HYPRE_FlexGMRESGetNumIterations(solver, num_iterations) - ccall((:HYPRE_FlexGMRESGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) -end - -function HYPRE_FlexGMRESGetFinalRelativeResidualNorm(solver, norm) - ccall((:HYPRE_FlexGMRESGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) -end - -function HYPRE_FlexGMRESGetResidual(solver, residual) - ccall((:HYPRE_FlexGMRESGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cvoid}), solver, residual) -end - -function HYPRE_FlexGMRESGetTol(solver, tol) - ccall((:HYPRE_FlexGMRESGetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, tol) -end - -function HYPRE_FlexGMRESGetConvergenceFactorTol(solver, cf_tol) - ccall((:HYPRE_FlexGMRESGetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, cf_tol) -end - -function HYPRE_FlexGMRESGetStopCrit(solver, stop_crit) - ccall((:HYPRE_FlexGMRESGetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, stop_crit) -end - -function HYPRE_FlexGMRESGetMinIter(solver, min_iter) - ccall((:HYPRE_FlexGMRESGetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, min_iter) -end - -function HYPRE_FlexGMRESGetMaxIter(solver, max_iter) - ccall((:HYPRE_FlexGMRESGetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, max_iter) -end - -function HYPRE_FlexGMRESGetKDim(solver, k_dim) - ccall((:HYPRE_FlexGMRESGetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, k_dim) -end - -function HYPRE_FlexGMRESGetPrecond(solver, precond_data_ptr) - ccall((:HYPRE_FlexGMRESGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data_ptr) -end - -function HYPRE_FlexGMRESGetLogging(solver, level) - ccall((:HYPRE_FlexGMRESGetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, level) -end - -function HYPRE_FlexGMRESGetPrintLevel(solver, level) - ccall((:HYPRE_FlexGMRESGetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, level) -end - -function HYPRE_FlexGMRESGetConverged(solver, converged) - ccall((:HYPRE_FlexGMRESGetConverged, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, converged) -end - -function HYPRE_FlexGMRESSetModifyPC(solver, modify_pc) - ccall((:HYPRE_FlexGMRESSetModifyPC, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToModifyPCFcn), solver, modify_pc) -end - -function HYPRE_LGMRESSetup(solver, A, b, x) - ccall((:HYPRE_LGMRESSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) -end - -function HYPRE_LGMRESSolve(solver, A, b, x) - ccall((:HYPRE_LGMRESSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) -end - -function HYPRE_LGMRESSetTol(solver, tol) - ccall((:HYPRE_LGMRESSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_LGMRESSetAbsoluteTol(solver, a_tol) - ccall((:HYPRE_LGMRESSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) -end - -function HYPRE_LGMRESSetConvergenceFactorTol(solver, cf_tol) - ccall((:HYPRE_LGMRESSetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, cf_tol) -end - -function HYPRE_LGMRESSetMinIter(solver, min_iter) - ccall((:HYPRE_LGMRESSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) -end - -function HYPRE_LGMRESSetMaxIter(solver, max_iter) - ccall((:HYPRE_LGMRESSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) -end - -function HYPRE_LGMRESSetKDim(solver, k_dim) - ccall((:HYPRE_LGMRESSetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, k_dim) -end - -function HYPRE_LGMRESSetAugDim(solver, aug_dim) - ccall((:HYPRE_LGMRESSetAugDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, aug_dim) -end - -function HYPRE_LGMRESSetPrecond(solver, precond, precond_setup, precond_solver) - ccall((:HYPRE_LGMRESSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToSolverFcn, HYPRE_PtrToSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) -end - -function HYPRE_LGMRESSetLogging(solver, logging) - ccall((:HYPRE_LGMRESSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) -end - -function HYPRE_LGMRESSetPrintLevel(solver, level) - ccall((:HYPRE_LGMRESSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, level) -end - -function HYPRE_LGMRESGetNumIterations(solver, num_iterations) - ccall((:HYPRE_LGMRESGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) -end - -function HYPRE_LGMRESGetFinalRelativeResidualNorm(solver, norm) - ccall((:HYPRE_LGMRESGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) -end - -function HYPRE_LGMRESGetResidual(solver, residual) - ccall((:HYPRE_LGMRESGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cvoid}), solver, residual) -end - -function HYPRE_LGMRESGetTol(solver, tol) - ccall((:HYPRE_LGMRESGetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, tol) -end - -function HYPRE_LGMRESGetConvergenceFactorTol(solver, cf_tol) - ccall((:HYPRE_LGMRESGetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, cf_tol) -end - -function HYPRE_LGMRESGetStopCrit(solver, stop_crit) - ccall((:HYPRE_LGMRESGetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, stop_crit) -end - -function HYPRE_LGMRESGetMinIter(solver, min_iter) - ccall((:HYPRE_LGMRESGetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, min_iter) -end - -function HYPRE_LGMRESGetMaxIter(solver, max_iter) - ccall((:HYPRE_LGMRESGetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, max_iter) -end - -function HYPRE_LGMRESGetKDim(solver, k_dim) - ccall((:HYPRE_LGMRESGetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, k_dim) -end - -function HYPRE_LGMRESGetAugDim(solver, k_dim) - ccall((:HYPRE_LGMRESGetAugDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, k_dim) -end - -function HYPRE_LGMRESGetPrecond(solver, precond_data_ptr) - ccall((:HYPRE_LGMRESGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data_ptr) -end - -function HYPRE_LGMRESGetLogging(solver, level) - ccall((:HYPRE_LGMRESGetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, level) -end - -function HYPRE_LGMRESGetPrintLevel(solver, level) - ccall((:HYPRE_LGMRESGetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, level) -end - -function HYPRE_LGMRESGetConverged(solver, converged) - ccall((:HYPRE_LGMRESGetConverged, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, converged) -end - -function HYPRE_COGMRESSetup(solver, A, b, x) - ccall((:HYPRE_COGMRESSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) -end - -function HYPRE_COGMRESSolve(solver, A, b, x) - ccall((:HYPRE_COGMRESSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) -end - -function HYPRE_COGMRESSetTol(solver, tol) - ccall((:HYPRE_COGMRESSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_COGMRESSetAbsoluteTol(solver, a_tol) - ccall((:HYPRE_COGMRESSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) -end - -function HYPRE_COGMRESSetConvergenceFactorTol(solver, cf_tol) - ccall((:HYPRE_COGMRESSetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, cf_tol) -end - -function HYPRE_COGMRESSetMinIter(solver, min_iter) - ccall((:HYPRE_COGMRESSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) -end - -function HYPRE_COGMRESSetMaxIter(solver, max_iter) - ccall((:HYPRE_COGMRESSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) -end - -function HYPRE_COGMRESSetKDim(solver, k_dim) - ccall((:HYPRE_COGMRESSetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, k_dim) -end - -function HYPRE_COGMRESSetUnroll(solver, unroll) - ccall((:HYPRE_COGMRESSetUnroll, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, unroll) -end - -function HYPRE_COGMRESSetCGS(solver, cgs) - ccall((:HYPRE_COGMRESSetCGS, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, cgs) -end - -function HYPRE_COGMRESSetPrecond(solver, precond, precond_setup, precond_solver) - ccall((:HYPRE_COGMRESSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToSolverFcn, HYPRE_PtrToSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) -end - -function HYPRE_COGMRESSetLogging(solver, logging) - ccall((:HYPRE_COGMRESSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) -end - -function HYPRE_COGMRESSetPrintLevel(solver, level) - ccall((:HYPRE_COGMRESSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, level) -end - -function HYPRE_COGMRESGetNumIterations(solver, num_iterations) - ccall((:HYPRE_COGMRESGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) -end - -function HYPRE_COGMRESGetFinalRelativeResidualNorm(solver, norm) - ccall((:HYPRE_COGMRESGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) -end - -function HYPRE_COGMRESGetResidual(solver, residual) - ccall((:HYPRE_COGMRESGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cvoid}), solver, residual) -end - -function HYPRE_COGMRESGetTol(solver, tol) - ccall((:HYPRE_COGMRESGetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, tol) -end - -function HYPRE_COGMRESGetConvergenceFactorTol(solver, cf_tol) - ccall((:HYPRE_COGMRESGetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, cf_tol) -end - -function HYPRE_COGMRESGetMinIter(solver, min_iter) - ccall((:HYPRE_COGMRESGetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, min_iter) -end - -function HYPRE_COGMRESGetMaxIter(solver, max_iter) - ccall((:HYPRE_COGMRESGetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, max_iter) -end - -function HYPRE_COGMRESGetKDim(solver, k_dim) - ccall((:HYPRE_COGMRESGetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, k_dim) -end - -function HYPRE_COGMRESGetUnroll(solver, unroll) - ccall((:HYPRE_COGMRESGetUnroll, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, unroll) -end - -function HYPRE_COGMRESGetCGS(solver, cgs) - ccall((:HYPRE_COGMRESGetCGS, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, cgs) -end - -function HYPRE_COGMRESGetPrecond(solver, precond_data_ptr) - ccall((:HYPRE_COGMRESGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data_ptr) -end - -function HYPRE_COGMRESGetLogging(solver, level) - ccall((:HYPRE_COGMRESGetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, level) -end - -function HYPRE_COGMRESGetPrintLevel(solver, level) - ccall((:HYPRE_COGMRESGetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, level) -end - -function HYPRE_COGMRESGetConverged(solver, converged) - ccall((:HYPRE_COGMRESGetConverged, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, converged) -end - -function HYPRE_COGMRESSetModifyPC(solver, modify_pc) - ccall((:HYPRE_COGMRESSetModifyPC, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToModifyPCFcn), solver, modify_pc) -end - -function HYPRE_BiCGSTABDestroy(solver) - ccall((:HYPRE_BiCGSTABDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_BiCGSTABSetup(solver, A, b, x) - ccall((:HYPRE_BiCGSTABSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) -end - -function HYPRE_BiCGSTABSolve(solver, A, b, x) - ccall((:HYPRE_BiCGSTABSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) -end - -function HYPRE_BiCGSTABSetTol(solver, tol) - ccall((:HYPRE_BiCGSTABSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_BiCGSTABSetAbsoluteTol(solver, a_tol) - ccall((:HYPRE_BiCGSTABSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) -end - -function HYPRE_BiCGSTABSetConvergenceFactorTol(solver, cf_tol) - ccall((:HYPRE_BiCGSTABSetConvergenceFactorTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, cf_tol) -end - -function HYPRE_BiCGSTABSetStopCrit(solver, stop_crit) - ccall((:HYPRE_BiCGSTABSetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, stop_crit) -end - -function HYPRE_BiCGSTABSetMinIter(solver, min_iter) - ccall((:HYPRE_BiCGSTABSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) -end - -function HYPRE_BiCGSTABSetMaxIter(solver, max_iter) - ccall((:HYPRE_BiCGSTABSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) -end - -function HYPRE_BiCGSTABSetPrecond(solver, precond, precond_setup, precond_solver) - ccall((:HYPRE_BiCGSTABSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToSolverFcn, HYPRE_PtrToSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) -end - -function HYPRE_BiCGSTABSetLogging(solver, logging) - ccall((:HYPRE_BiCGSTABSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) -end - -function HYPRE_BiCGSTABSetPrintLevel(solver, level) - ccall((:HYPRE_BiCGSTABSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, level) -end - -function HYPRE_BiCGSTABGetNumIterations(solver, num_iterations) - ccall((:HYPRE_BiCGSTABGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) -end - -function HYPRE_BiCGSTABGetFinalRelativeResidualNorm(solver, norm) - ccall((:HYPRE_BiCGSTABGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) -end - -function HYPRE_BiCGSTABGetResidual(solver, residual) - ccall((:HYPRE_BiCGSTABGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cvoid}), solver, residual) -end - -function HYPRE_BiCGSTABGetPrecond(solver, precond_data_ptr) - ccall((:HYPRE_BiCGSTABGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data_ptr) -end - -function HYPRE_CGNRDestroy(solver) - ccall((:HYPRE_CGNRDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_CGNRSetup(solver, A, b, x) - ccall((:HYPRE_CGNRSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) -end - -function HYPRE_CGNRSolve(solver, A, b, x) - ccall((:HYPRE_CGNRSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) -end - -function HYPRE_CGNRSetTol(solver, tol) - ccall((:HYPRE_CGNRSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_CGNRSetStopCrit(solver, stop_crit) - ccall((:HYPRE_CGNRSetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, stop_crit) -end - -function HYPRE_CGNRSetMinIter(solver, min_iter) - ccall((:HYPRE_CGNRSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) -end - -function HYPRE_CGNRSetMaxIter(solver, max_iter) - ccall((:HYPRE_CGNRSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) -end - -function HYPRE_CGNRSetPrecond(solver, precond, precondT, precond_setup, precond_solver) - ccall((:HYPRE_CGNRSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToSolverFcn, HYPRE_PtrToSolverFcn, HYPRE_PtrToSolverFcn, HYPRE_Solver), solver, precond, precondT, precond_setup, precond_solver) -end - -function HYPRE_CGNRSetLogging(solver, logging) - ccall((:HYPRE_CGNRSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) -end - -function HYPRE_CGNRGetNumIterations(solver, num_iterations) - ccall((:HYPRE_CGNRGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) -end - -function HYPRE_CGNRGetFinalRelativeResidualNorm(solver, norm) - ccall((:HYPRE_CGNRGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) -end - -function HYPRE_CGNRGetPrecond(solver, precond_data_ptr) - ccall((:HYPRE_CGNRGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data_ptr) -end - -struct utilities_FortranMatrix - globalHeight::HYPRE_BigInt - height::HYPRE_BigInt - width::HYPRE_BigInt - value::Ptr{HYPRE_Real} - ownsValues::HYPRE_Int -end - -function utilities_FortranMatrixCreate() - ccall((:utilities_FortranMatrixCreate, libHYPRE), Ptr{utilities_FortranMatrix}, ()) -end - -function utilities_FortranMatrixAllocateData(h, w, mtx) - ccall((:utilities_FortranMatrixAllocateData, libHYPRE), Cvoid, (HYPRE_BigInt, HYPRE_BigInt, Ptr{utilities_FortranMatrix}), h, w, mtx) -end - -function utilities_FortranMatrixWrap(arg1, gh, h, w, mtx) - ccall((:utilities_FortranMatrixWrap, libHYPRE), Cvoid, (Ptr{HYPRE_Real}, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, Ptr{utilities_FortranMatrix}), arg1, gh, h, w, mtx) -end - -function utilities_FortranMatrixDestroy(mtx) - ccall((:utilities_FortranMatrixDestroy, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix},), mtx) -end - -function utilities_FortranMatrixGlobalHeight(mtx) - ccall((:utilities_FortranMatrixGlobalHeight, libHYPRE), HYPRE_BigInt, (Ptr{utilities_FortranMatrix},), mtx) -end - -function utilities_FortranMatrixHeight(mtx) - ccall((:utilities_FortranMatrixHeight, libHYPRE), HYPRE_BigInt, (Ptr{utilities_FortranMatrix},), mtx) -end - -function utilities_FortranMatrixWidth(mtx) - ccall((:utilities_FortranMatrixWidth, libHYPRE), HYPRE_BigInt, (Ptr{utilities_FortranMatrix},), mtx) -end - -function utilities_FortranMatrixValues(mtx) - ccall((:utilities_FortranMatrixValues, libHYPRE), Ptr{HYPRE_Real}, (Ptr{utilities_FortranMatrix},), mtx) -end - -function utilities_FortranMatrixClear(mtx) - ccall((:utilities_FortranMatrixClear, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix},), mtx) -end - -function utilities_FortranMatrixClearL(mtx) - ccall((:utilities_FortranMatrixClearL, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix},), mtx) -end - -function utilities_FortranMatrixSetToIdentity(mtx) - ccall((:utilities_FortranMatrixSetToIdentity, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix},), mtx) -end - -function utilities_FortranMatrixTransposeSquare(mtx) - ccall((:utilities_FortranMatrixTransposeSquare, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix},), mtx) -end - -function utilities_FortranMatrixSymmetrize(mtx) - ccall((:utilities_FortranMatrixSymmetrize, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix},), mtx) -end - -function utilities_FortranMatrixCopy(src, t, dest) - ccall((:utilities_FortranMatrixCopy, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix}, HYPRE_Int, Ptr{utilities_FortranMatrix}), src, t, dest) -end - -function utilities_FortranMatrixIndexCopy(index, src, t, dest) - ccall((:utilities_FortranMatrixIndexCopy, libHYPRE), Cvoid, (Ptr{HYPRE_Int}, Ptr{utilities_FortranMatrix}, HYPRE_Int, Ptr{utilities_FortranMatrix}), index, src, t, dest) -end - -function utilities_FortranMatrixSetDiagonal(mtx, d) - ccall((:utilities_FortranMatrixSetDiagonal, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix}, Ptr{utilities_FortranMatrix}), mtx, d) -end - -function utilities_FortranMatrixGetDiagonal(mtx, d) - ccall((:utilities_FortranMatrixGetDiagonal, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix}, Ptr{utilities_FortranMatrix}), mtx, d) -end - -function utilities_FortranMatrixAdd(a, mtxA, mtxB, mtxC) - ccall((:utilities_FortranMatrixAdd, libHYPRE), Cvoid, (HYPRE_Real, Ptr{utilities_FortranMatrix}, Ptr{utilities_FortranMatrix}, Ptr{utilities_FortranMatrix}), a, mtxA, mtxB, mtxC) -end - -function utilities_FortranMatrixDMultiply(d, mtx) - ccall((:utilities_FortranMatrixDMultiply, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix}, Ptr{utilities_FortranMatrix}), d, mtx) -end - -function utilities_FortranMatrixMultiplyD(mtx, d) - ccall((:utilities_FortranMatrixMultiplyD, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix}, Ptr{utilities_FortranMatrix}), mtx, d) -end - -function utilities_FortranMatrixMultiply(mtxA, tA, mtxB, tB, mtxC) - ccall((:utilities_FortranMatrixMultiply, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix}, HYPRE_Int, Ptr{utilities_FortranMatrix}, HYPRE_Int, Ptr{utilities_FortranMatrix}), mtxA, tA, mtxB, tB, mtxC) -end - -function utilities_FortranMatrixFNorm(mtx) - ccall((:utilities_FortranMatrixFNorm, libHYPRE), HYPRE_Real, (Ptr{utilities_FortranMatrix},), mtx) -end - -function utilities_FortranMatrixValue(mtx, i, j) - ccall((:utilities_FortranMatrixValue, libHYPRE), HYPRE_Real, (Ptr{utilities_FortranMatrix}, HYPRE_BigInt, HYPRE_BigInt), mtx, i, j) -end - -function utilities_FortranMatrixValuePtr(mtx, i, j) - ccall((:utilities_FortranMatrixValuePtr, libHYPRE), Ptr{HYPRE_Real}, (Ptr{utilities_FortranMatrix}, HYPRE_BigInt, HYPRE_BigInt), mtx, i, j) -end - -function utilities_FortranMatrixMaxValue(mtx) - ccall((:utilities_FortranMatrixMaxValue, libHYPRE), HYPRE_Real, (Ptr{utilities_FortranMatrix},), mtx) -end - -function utilities_FortranMatrixSelectBlock(mtx, iFrom, iTo, jFrom, jTo, block) - ccall((:utilities_FortranMatrixSelectBlock, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix}, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, Ptr{utilities_FortranMatrix}), mtx, iFrom, iTo, jFrom, jTo, block) -end - -function utilities_FortranMatrixUpperInv(u) - ccall((:utilities_FortranMatrixUpperInv, libHYPRE), Cvoid, (Ptr{utilities_FortranMatrix},), u) -end - -function utilities_FortranMatrixPrint(mtx, fileName) - ccall((:utilities_FortranMatrixPrint, libHYPRE), HYPRE_Int, (Ptr{utilities_FortranMatrix}, Ptr{Cchar}), mtx, fileName) -end - -struct mv_InterfaceInterpreter - CreateVector::Ptr{Cvoid} - DestroyVector::Ptr{Cvoid} - InnerProd::Ptr{Cvoid} - CopyVector::Ptr{Cvoid} - ClearVector::Ptr{Cvoid} - SetRandomValues::Ptr{Cvoid} - ScaleVector::Ptr{Cvoid} - Axpy::Ptr{Cvoid} - VectorSize::Ptr{Cvoid} - CreateMultiVector::Ptr{Cvoid} - CopyCreateMultiVector::Ptr{Cvoid} - DestroyMultiVector::Ptr{Cvoid} - Width::Ptr{Cvoid} - Height::Ptr{Cvoid} - SetMask::Ptr{Cvoid} - CopyMultiVector::Ptr{Cvoid} - ClearMultiVector::Ptr{Cvoid} - SetRandomVectors::Ptr{Cvoid} - MultiInnerProd::Ptr{Cvoid} - MultiInnerProdDiag::Ptr{Cvoid} - MultiVecMat::Ptr{Cvoid} - MultiVecMatDiag::Ptr{Cvoid} - MultiAxpy::Ptr{Cvoid} - MultiXapy::Ptr{Cvoid} - Eval::Ptr{Cvoid} -end - -mutable struct mv_MultiVector end - -const mv_MultiVectorPtr = Ptr{mv_MultiVector} - -function mv_MultiVectorGetData(x) - ccall((:mv_MultiVectorGetData, libHYPRE), Ptr{Cvoid}, (mv_MultiVectorPtr,), x) -end - -function mv_MultiVectorWrap(ii, data, ownsData) - ccall((:mv_MultiVectorWrap, libHYPRE), mv_MultiVectorPtr, (Ptr{mv_InterfaceInterpreter}, Ptr{Cvoid}, HYPRE_Int), ii, data, ownsData) -end - -function mv_MultiVectorCreateFromSampleVector(arg1, n, sample) - ccall((:mv_MultiVectorCreateFromSampleVector, libHYPRE), mv_MultiVectorPtr, (Ptr{Cvoid}, HYPRE_Int, Ptr{Cvoid}), arg1, n, sample) -end - -function mv_MultiVectorCreateCopy(x, copyValues) - ccall((:mv_MultiVectorCreateCopy, libHYPRE), mv_MultiVectorPtr, (mv_MultiVectorPtr, HYPRE_Int), x, copyValues) -end - -function mv_MultiVectorDestroy(arg1) - ccall((:mv_MultiVectorDestroy, libHYPRE), Cvoid, (mv_MultiVectorPtr,), arg1) -end - -function mv_MultiVectorWidth(v) - ccall((:mv_MultiVectorWidth, libHYPRE), HYPRE_Int, (mv_MultiVectorPtr,), v) -end - -function mv_MultiVectorHeight(v) - ccall((:mv_MultiVectorHeight, libHYPRE), HYPRE_Int, (mv_MultiVectorPtr,), v) -end - -function mv_MultiVectorSetMask(v, mask) - ccall((:mv_MultiVectorSetMask, libHYPRE), Cvoid, (mv_MultiVectorPtr, Ptr{HYPRE_Int}), v, mask) -end - -function mv_MultiVectorClear(arg1) - ccall((:mv_MultiVectorClear, libHYPRE), Cvoid, (mv_MultiVectorPtr,), arg1) -end - -function mv_MultiVectorSetRandom(v, seed) - ccall((:mv_MultiVectorSetRandom, libHYPRE), Cvoid, (mv_MultiVectorPtr, HYPRE_Int), v, seed) -end - -function mv_MultiVectorCopy(src, dest) - ccall((:mv_MultiVectorCopy, libHYPRE), Cvoid, (mv_MultiVectorPtr, mv_MultiVectorPtr), src, dest) -end - -function mv_MultiVectorAxpy(a, x, y) - ccall((:mv_MultiVectorAxpy, libHYPRE), Cvoid, (HYPRE_Complex, mv_MultiVectorPtr, mv_MultiVectorPtr), a, x, y) -end - -function mv_MultiVectorByMultiVector(x, y, gh, h, w, v) - ccall((:mv_MultiVectorByMultiVector, libHYPRE), Cvoid, (mv_MultiVectorPtr, mv_MultiVectorPtr, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Real}), x, y, gh, h, w, v) -end - -function mv_MultiVectorByMultiVectorDiag(arg1, arg2, mask, n, diag) - ccall((:mv_MultiVectorByMultiVectorDiag, libHYPRE), Cvoid, (mv_MultiVectorPtr, mv_MultiVectorPtr, Ptr{HYPRE_Int}, HYPRE_Int, Ptr{HYPRE_Real}), arg1, arg2, mask, n, diag) -end - -function mv_MultiVectorByMatrix(x, gh, h, w, v, y) - ccall((:mv_MultiVectorByMatrix, libHYPRE), Cvoid, (mv_MultiVectorPtr, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Complex}, mv_MultiVectorPtr), x, gh, h, w, v, y) -end - -function mv_MultiVectorXapy(x, gh, h, w, v, y) - ccall((:mv_MultiVectorXapy, libHYPRE), Cvoid, (mv_MultiVectorPtr, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Complex}, mv_MultiVectorPtr), x, gh, h, w, v, y) -end - -function mv_MultiVectorByDiagonal(x, mask, n, diag, y) - ccall((:mv_MultiVectorByDiagonal, libHYPRE), Cvoid, (mv_MultiVectorPtr, Ptr{HYPRE_Int}, HYPRE_Int, Ptr{HYPRE_Complex}, mv_MultiVectorPtr), x, mask, n, diag, y) -end - -function mv_MultiVectorEval(f, par, x, y) - ccall((:mv_MultiVectorEval, libHYPRE), Cvoid, (Ptr{Cvoid}, Ptr{Cvoid}, mv_MultiVectorPtr, mv_MultiVectorPtr), f, par, x, y) -end - -struct mv_TempMultiVector - numVectors::HYPRE_Int - mask::Ptr{HYPRE_Int} - vector::Ptr{Ptr{Cvoid}} - ownsVectors::HYPRE_Int - ownsMask::HYPRE_Int - interpreter::Ptr{mv_InterfaceInterpreter} -end - -const mv_TempMultiVectorPtr = Ptr{mv_TempMultiVector} - -function mv_TempMultiVectorCreateFromSampleVector(arg1, n, sample) - ccall((:mv_TempMultiVectorCreateFromSampleVector, libHYPRE), Ptr{Cvoid}, (Ptr{Cvoid}, HYPRE_Int, Ptr{Cvoid}), arg1, n, sample) -end - -function mv_TempMultiVectorCreateCopy(arg1, copyValues) - ccall((:mv_TempMultiVectorCreateCopy, libHYPRE), Ptr{Cvoid}, (Ptr{Cvoid}, HYPRE_Int), arg1, copyValues) -end - -function mv_TempMultiVectorDestroy(arg1) - ccall((:mv_TempMultiVectorDestroy, libHYPRE), Cvoid, (Ptr{Cvoid},), arg1) -end - -function mv_TempMultiVectorWidth(v) - ccall((:mv_TempMultiVectorWidth, libHYPRE), HYPRE_Int, (Ptr{Cvoid},), v) -end - -function mv_TempMultiVectorHeight(v) - ccall((:mv_TempMultiVectorHeight, libHYPRE), HYPRE_Int, (Ptr{Cvoid},), v) -end - -function mv_TempMultiVectorSetMask(v, mask) - ccall((:mv_TempMultiVectorSetMask, libHYPRE), Cvoid, (Ptr{Cvoid}, Ptr{HYPRE_Int}), v, mask) -end - -function mv_TempMultiVectorClear(arg1) - ccall((:mv_TempMultiVectorClear, libHYPRE), Cvoid, (Ptr{Cvoid},), arg1) -end - -function mv_TempMultiVectorSetRandom(v, seed) - ccall((:mv_TempMultiVectorSetRandom, libHYPRE), Cvoid, (Ptr{Cvoid}, HYPRE_Int), v, seed) -end - -function mv_TempMultiVectorCopy(src, dest) - ccall((:mv_TempMultiVectorCopy, libHYPRE), Cvoid, (Ptr{Cvoid}, Ptr{Cvoid}), src, dest) -end - -function mv_TempMultiVectorAxpy(arg1, arg2, arg3) - ccall((:mv_TempMultiVectorAxpy, libHYPRE), Cvoid, (HYPRE_Complex, Ptr{Cvoid}, Ptr{Cvoid}), arg1, arg2, arg3) -end - -function mv_TempMultiVectorByMultiVector(arg1, arg2, gh, h, w, v) - ccall((:mv_TempMultiVectorByMultiVector, libHYPRE), Cvoid, (Ptr{Cvoid}, Ptr{Cvoid}, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Complex}), arg1, arg2, gh, h, w, v) -end - -function mv_TempMultiVectorByMultiVectorDiag(x, y, mask, n, diag) - ccall((:mv_TempMultiVectorByMultiVectorDiag, libHYPRE), Cvoid, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{HYPRE_Int}, HYPRE_Int, Ptr{HYPRE_Complex}), x, y, mask, n, diag) -end - -function mv_TempMultiVectorByMatrix(arg1, gh, h, w, v, arg6) - ccall((:mv_TempMultiVectorByMatrix, libHYPRE), Cvoid, (Ptr{Cvoid}, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Complex}, Ptr{Cvoid}), arg1, gh, h, w, v, arg6) -end - -function mv_TempMultiVectorXapy(x, gh, h, w, v, y) - ccall((:mv_TempMultiVectorXapy, libHYPRE), Cvoid, (Ptr{Cvoid}, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Complex}, Ptr{Cvoid}), x, gh, h, w, v, y) -end - -function mv_TempMultiVectorByDiagonal(x, mask, n, diag, y) - ccall((:mv_TempMultiVectorByDiagonal, libHYPRE), Cvoid, (Ptr{Cvoid}, Ptr{HYPRE_Int}, HYPRE_Int, Ptr{HYPRE_Complex}, Ptr{Cvoid}), x, mask, n, diag, y) -end - -function mv_TempMultiVectorEval(f, par, x, y) - ccall((:mv_TempMultiVectorEval, libHYPRE), Cvoid, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}), f, par, x, y) -end - -struct HYPRE_MatvecFunctions - MatvecCreate::Ptr{Cvoid} - Matvec::Ptr{Cvoid} - MatvecDestroy::Ptr{Cvoid} - MatMultiVecCreate::Ptr{Cvoid} - MatMultiVec::Ptr{Cvoid} - MatMultiVecDestroy::Ptr{Cvoid} -end - -function HYPRE_LOBPCGCreate(interpreter, mvfunctions, solver) - ccall((:HYPRE_LOBPCGCreate, libHYPRE), HYPRE_Int, (Ptr{mv_InterfaceInterpreter}, Ptr{HYPRE_MatvecFunctions}, Ptr{HYPRE_Solver}), interpreter, mvfunctions, solver) -end - -function HYPRE_LOBPCGDestroy(solver) - ccall((:HYPRE_LOBPCGDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_LOBPCGSetPrecond(solver, precond, precond_setup, precond_solver) - ccall((:HYPRE_LOBPCGSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToSolverFcn, HYPRE_PtrToSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) -end - -function HYPRE_LOBPCGGetPrecond(solver, precond_data_ptr) - ccall((:HYPRE_LOBPCGGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data_ptr) -end - -function HYPRE_LOBPCGSetup(solver, A, b, x) - ccall((:HYPRE_LOBPCGSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector, HYPRE_Vector), solver, A, b, x) -end - -function HYPRE_LOBPCGSetupB(solver, B, x) - ccall((:HYPRE_LOBPCGSetupB, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector), solver, B, x) -end - -function HYPRE_LOBPCGSetupT(solver, T, x) - ccall((:HYPRE_LOBPCGSetupT, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Matrix, HYPRE_Vector), solver, T, x) -end - -function HYPRE_LOBPCGSolve(solver, y, x, lambda) - ccall((:HYPRE_LOBPCGSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, mv_MultiVectorPtr, mv_MultiVectorPtr, Ptr{HYPRE_Real}), solver, y, x, lambda) -end - -function HYPRE_LOBPCGSetTol(solver, tol) - ccall((:HYPRE_LOBPCGSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_LOBPCGSetRTol(solver, tol) - ccall((:HYPRE_LOBPCGSetRTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_LOBPCGSetMaxIter(solver, max_iter) - ccall((:HYPRE_LOBPCGSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) -end - -function HYPRE_LOBPCGSetPrecondUsageMode(solver, mode) - ccall((:HYPRE_LOBPCGSetPrecondUsageMode, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, mode) -end - -function HYPRE_LOBPCGSetPrintLevel(solver, level) - ccall((:HYPRE_LOBPCGSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, level) -end - -function HYPRE_LOBPCGResidualNorms(solver) - ccall((:HYPRE_LOBPCGResidualNorms, libHYPRE), Ptr{utilities_FortranMatrix}, (HYPRE_Solver,), solver) -end - -function HYPRE_LOBPCGResidualNormsHistory(solver) - ccall((:HYPRE_LOBPCGResidualNormsHistory, libHYPRE), Ptr{utilities_FortranMatrix}, (HYPRE_Solver,), solver) -end - -function HYPRE_LOBPCGEigenvaluesHistory(solver) - ccall((:HYPRE_LOBPCGEigenvaluesHistory, libHYPRE), Ptr{utilities_FortranMatrix}, (HYPRE_Solver,), solver) -end - -function HYPRE_LOBPCGIterations(solver) - ccall((:HYPRE_LOBPCGIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function hypre_LOBPCGMultiOperatorB(data, x, y) - ccall((:hypre_LOBPCGMultiOperatorB, libHYPRE), Cvoid, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}), data, x, y) -end - -function lobpcg_MultiVectorByMultiVector(x, y, xy) - ccall((:lobpcg_MultiVectorByMultiVector, libHYPRE), Cvoid, (mv_MultiVectorPtr, mv_MultiVectorPtr, Ptr{utilities_FortranMatrix}), x, y, xy) -end - -# typedef HYPRE_Int ( * HYPRE_PtrToParSolverFcn ) ( HYPRE_Solver , HYPRE_ParCSRMatrix , HYPRE_ParVector , HYPRE_ParVector ) -const HYPRE_PtrToParSolverFcn = Ptr{Cvoid} - -function HYPRE_BoomerAMGCreate(solver) - ccall((:HYPRE_BoomerAMGCreate, libHYPRE), HYPRE_Int, (Ptr{HYPRE_Solver},), solver) -end - -function HYPRE_BoomerAMGDestroy(solver) - ccall((:HYPRE_BoomerAMGDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_BoomerAMGSetup(solver, A, b, x) - ccall((:HYPRE_BoomerAMGSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_BoomerAMGSolve(solver, A, b, x) - ccall((:HYPRE_BoomerAMGSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_BoomerAMGSolveT(solver, A, b, x) - ccall((:HYPRE_BoomerAMGSolveT, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_BoomerAMGSetOldDefault(solver) - ccall((:HYPRE_BoomerAMGSetOldDefault, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_BoomerAMGGetResidual(solver, residual) - ccall((:HYPRE_BoomerAMGGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_ParVector}), solver, residual) -end - -function HYPRE_BoomerAMGGetNumIterations(solver, num_iterations) - ccall((:HYPRE_BoomerAMGGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) -end - -function HYPRE_BoomerAMGGetFinalRelativeResidualNorm(solver, rel_resid_norm) - ccall((:HYPRE_BoomerAMGGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, rel_resid_norm) -end - -function HYPRE_BoomerAMGSetNumFunctions(solver, num_functions) - ccall((:HYPRE_BoomerAMGSetNumFunctions, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, num_functions) -end - -function HYPRE_BoomerAMGSetDofFunc(solver, dof_func) - ccall((:HYPRE_BoomerAMGSetDofFunc, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, dof_func) -end - -function HYPRE_BoomerAMGSetConvergeType(solver, type) - ccall((:HYPRE_BoomerAMGSetConvergeType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, type) -end - -function HYPRE_BoomerAMGSetTol(solver, tol) - ccall((:HYPRE_BoomerAMGSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_BoomerAMGSetMaxIter(solver, max_iter) - ccall((:HYPRE_BoomerAMGSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) -end - -function HYPRE_BoomerAMGSetMinIter(solver, min_iter) - ccall((:HYPRE_BoomerAMGSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) -end - -function HYPRE_BoomerAMGSetMaxCoarseSize(solver, max_coarse_size) - ccall((:HYPRE_BoomerAMGSetMaxCoarseSize, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_coarse_size) -end - -function HYPRE_BoomerAMGSetMinCoarseSize(solver, min_coarse_size) - ccall((:HYPRE_BoomerAMGSetMinCoarseSize, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_coarse_size) -end - -function HYPRE_BoomerAMGSetMaxLevels(solver, max_levels) - ccall((:HYPRE_BoomerAMGSetMaxLevels, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_levels) -end - -function HYPRE_BoomerAMGSetCoarsenCutFactor(solver, coarsen_cut_factor) - ccall((:HYPRE_BoomerAMGSetCoarsenCutFactor, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, coarsen_cut_factor) -end - -function HYPRE_BoomerAMGSetStrongThreshold(solver, strong_threshold) - ccall((:HYPRE_BoomerAMGSetStrongThreshold, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, strong_threshold) -end - -function HYPRE_BoomerAMGSetStrongThresholdR(solver, strong_threshold) - ccall((:HYPRE_BoomerAMGSetStrongThresholdR, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, strong_threshold) -end - -function HYPRE_BoomerAMGSetFilterThresholdR(solver, filter_threshold) - ccall((:HYPRE_BoomerAMGSetFilterThresholdR, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, filter_threshold) -end - -function HYPRE_BoomerAMGSetSCommPkgSwitch(solver, S_commpkg_switch) - ccall((:HYPRE_BoomerAMGSetSCommPkgSwitch, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, S_commpkg_switch) -end - -function HYPRE_BoomerAMGSetMaxRowSum(solver, max_row_sum) - ccall((:HYPRE_BoomerAMGSetMaxRowSum, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, max_row_sum) -end - -function HYPRE_BoomerAMGSetCoarsenType(solver, coarsen_type) - ccall((:HYPRE_BoomerAMGSetCoarsenType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, coarsen_type) -end - -function HYPRE_BoomerAMGSetNonGalerkinTol(solver, nongalerkin_tol) - ccall((:HYPRE_BoomerAMGSetNonGalerkinTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, nongalerkin_tol) -end - -function HYPRE_BoomerAMGSetLevelNonGalerkinTol(solver, nongalerkin_tol, level) - ccall((:HYPRE_BoomerAMGSetLevelNonGalerkinTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real, HYPRE_Int), solver, nongalerkin_tol, level) -end - -function HYPRE_BoomerAMGSetNonGalerkTol(solver, nongalerk_num_tol, nongalerk_tol) - ccall((:HYPRE_BoomerAMGSetNonGalerkTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, Ptr{HYPRE_Real}), solver, nongalerk_num_tol, nongalerk_tol) -end - -function HYPRE_BoomerAMGSetMeasureType(solver, measure_type) - ccall((:HYPRE_BoomerAMGSetMeasureType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, measure_type) -end - -function HYPRE_BoomerAMGSetAggNumLevels(solver, agg_num_levels) - ccall((:HYPRE_BoomerAMGSetAggNumLevels, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, agg_num_levels) -end - -function HYPRE_BoomerAMGSetNumPaths(solver, num_paths) - ccall((:HYPRE_BoomerAMGSetNumPaths, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, num_paths) -end - -function HYPRE_BoomerAMGSetCGCIts(solver, its) - ccall((:HYPRE_BoomerAMGSetCGCIts, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, its) -end - -function HYPRE_BoomerAMGSetNodal(solver, nodal) - ccall((:HYPRE_BoomerAMGSetNodal, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, nodal) -end - -function HYPRE_BoomerAMGSetNodalDiag(solver, nodal_diag) - ccall((:HYPRE_BoomerAMGSetNodalDiag, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, nodal_diag) -end - -function HYPRE_BoomerAMGSetKeepSameSign(solver, keep_same_sign) - ccall((:HYPRE_BoomerAMGSetKeepSameSign, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, keep_same_sign) -end - -function HYPRE_BoomerAMGSetInterpType(solver, interp_type) - ccall((:HYPRE_BoomerAMGSetInterpType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, interp_type) -end - -function HYPRE_BoomerAMGSetTruncFactor(solver, trunc_factor) - ccall((:HYPRE_BoomerAMGSetTruncFactor, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, trunc_factor) -end - -function HYPRE_BoomerAMGSetPMaxElmts(solver, P_max_elmts) - ccall((:HYPRE_BoomerAMGSetPMaxElmts, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, P_max_elmts) -end - -function HYPRE_BoomerAMGSetSepWeight(solver, sep_weight) - ccall((:HYPRE_BoomerAMGSetSepWeight, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, sep_weight) -end - -function HYPRE_BoomerAMGSetAggInterpType(solver, agg_interp_type) - ccall((:HYPRE_BoomerAMGSetAggInterpType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, agg_interp_type) -end - -function HYPRE_BoomerAMGSetAggTruncFactor(solver, agg_trunc_factor) - ccall((:HYPRE_BoomerAMGSetAggTruncFactor, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, agg_trunc_factor) -end - -function HYPRE_BoomerAMGSetAggP12TruncFactor(solver, agg_P12_trunc_factor) - ccall((:HYPRE_BoomerAMGSetAggP12TruncFactor, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, agg_P12_trunc_factor) -end - -function HYPRE_BoomerAMGSetAggPMaxElmts(solver, agg_P_max_elmts) - ccall((:HYPRE_BoomerAMGSetAggPMaxElmts, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, agg_P_max_elmts) -end - -function HYPRE_BoomerAMGSetAggP12MaxElmts(solver, agg_P12_max_elmts) - ccall((:HYPRE_BoomerAMGSetAggP12MaxElmts, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, agg_P12_max_elmts) -end - -function HYPRE_BoomerAMGSetInterpVectors(solver, num_vectors, interp_vectors) - ccall((:HYPRE_BoomerAMGSetInterpVectors, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, Ptr{HYPRE_ParVector}), solver, num_vectors, interp_vectors) -end - -function HYPRE_BoomerAMGSetInterpVecVariant(solver, var) - ccall((:HYPRE_BoomerAMGSetInterpVecVariant, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, var) -end - -function HYPRE_BoomerAMGSetInterpVecQMax(solver, q_max) - ccall((:HYPRE_BoomerAMGSetInterpVecQMax, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, q_max) -end - -function HYPRE_BoomerAMGSetInterpVecAbsQTrunc(solver, q_trunc) - ccall((:HYPRE_BoomerAMGSetInterpVecAbsQTrunc, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, q_trunc) -end - -function HYPRE_BoomerAMGSetGSMG(solver, gsmg) - ccall((:HYPRE_BoomerAMGSetGSMG, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, gsmg) -end - -function HYPRE_BoomerAMGSetNumSamples(solver, num_samples) - ccall((:HYPRE_BoomerAMGSetNumSamples, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, num_samples) -end - -function HYPRE_BoomerAMGSetCycleType(solver, cycle_type) - ccall((:HYPRE_BoomerAMGSetCycleType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, cycle_type) -end - -function HYPRE_BoomerAMGSetFCycle(solver, fcycle) - ccall((:HYPRE_BoomerAMGSetFCycle, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, fcycle) -end - -function HYPRE_BoomerAMGSetAdditive(solver, addlvl) - ccall((:HYPRE_BoomerAMGSetAdditive, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, addlvl) -end - -function HYPRE_BoomerAMGSetMultAdditive(solver, addlvl) - ccall((:HYPRE_BoomerAMGSetMultAdditive, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, addlvl) -end - -function HYPRE_BoomerAMGSetSimple(solver, addlvl) - ccall((:HYPRE_BoomerAMGSetSimple, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, addlvl) -end - -function HYPRE_BoomerAMGSetAddLastLvl(solver, add_last_lvl) - ccall((:HYPRE_BoomerAMGSetAddLastLvl, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, add_last_lvl) -end - -function HYPRE_BoomerAMGSetMultAddTruncFactor(solver, add_trunc_factor) - ccall((:HYPRE_BoomerAMGSetMultAddTruncFactor, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, add_trunc_factor) -end - -function HYPRE_BoomerAMGSetMultAddPMaxElmts(solver, add_P_max_elmts) - ccall((:HYPRE_BoomerAMGSetMultAddPMaxElmts, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, add_P_max_elmts) -end - -function HYPRE_BoomerAMGSetAddRelaxType(solver, add_rlx_type) - ccall((:HYPRE_BoomerAMGSetAddRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, add_rlx_type) -end - -function HYPRE_BoomerAMGSetAddRelaxWt(solver, add_rlx_wt) - ccall((:HYPRE_BoomerAMGSetAddRelaxWt, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, add_rlx_wt) -end - -function HYPRE_BoomerAMGSetSeqThreshold(solver, seq_threshold) - ccall((:HYPRE_BoomerAMGSetSeqThreshold, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, seq_threshold) -end - -function HYPRE_BoomerAMGSetRedundant(solver, redundant) - ccall((:HYPRE_BoomerAMGSetRedundant, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, redundant) -end - -function HYPRE_BoomerAMGSetNumGridSweeps(solver, num_grid_sweeps) - ccall((:HYPRE_BoomerAMGSetNumGridSweeps, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_grid_sweeps) -end - -function HYPRE_BoomerAMGSetNumSweeps(solver, num_sweeps) - ccall((:HYPRE_BoomerAMGSetNumSweeps, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, num_sweeps) -end - -function HYPRE_BoomerAMGSetCycleNumSweeps(solver, num_sweeps, k) - ccall((:HYPRE_BoomerAMGSetCycleNumSweeps, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int), solver, num_sweeps, k) -end - -function HYPRE_BoomerAMGSetGridRelaxType(solver, grid_relax_type) - ccall((:HYPRE_BoomerAMGSetGridRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, grid_relax_type) -end - -function HYPRE_BoomerAMGSetRelaxType(solver, relax_type) - ccall((:HYPRE_BoomerAMGSetRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, relax_type) -end - -function HYPRE_BoomerAMGSetCycleRelaxType(solver, relax_type, k) - ccall((:HYPRE_BoomerAMGSetCycleRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int), solver, relax_type, k) -end - -function HYPRE_BoomerAMGSetRelaxOrder(solver, relax_order) - ccall((:HYPRE_BoomerAMGSetRelaxOrder, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, relax_order) -end - -function HYPRE_BoomerAMGSetGridRelaxPoints(solver, grid_relax_points) - ccall((:HYPRE_BoomerAMGSetGridRelaxPoints, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Ptr{HYPRE_Int}}), solver, grid_relax_points) -end - -function HYPRE_BoomerAMGSetRelaxWeight(solver, relax_weight) - ccall((:HYPRE_BoomerAMGSetRelaxWeight, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, relax_weight) -end - -function HYPRE_BoomerAMGSetRelaxWt(solver, relax_weight) - ccall((:HYPRE_BoomerAMGSetRelaxWt, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, relax_weight) -end - -function HYPRE_BoomerAMGSetLevelRelaxWt(solver, relax_weight, level) - ccall((:HYPRE_BoomerAMGSetLevelRelaxWt, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real, HYPRE_Int), solver, relax_weight, level) -end - -function HYPRE_BoomerAMGSetOmega(solver, omega) - ccall((:HYPRE_BoomerAMGSetOmega, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, omega) -end - -function HYPRE_BoomerAMGSetOuterWt(solver, omega) - ccall((:HYPRE_BoomerAMGSetOuterWt, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, omega) -end - -function HYPRE_BoomerAMGSetLevelOuterWt(solver, omega, level) - ccall((:HYPRE_BoomerAMGSetLevelOuterWt, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real, HYPRE_Int), solver, omega, level) -end - -function HYPRE_BoomerAMGSetChebyOrder(solver, order) - ccall((:HYPRE_BoomerAMGSetChebyOrder, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, order) -end - -function HYPRE_BoomerAMGSetChebyFraction(solver, ratio) - ccall((:HYPRE_BoomerAMGSetChebyFraction, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, ratio) -end - -function HYPRE_BoomerAMGSetChebyScale(solver, scale) - ccall((:HYPRE_BoomerAMGSetChebyScale, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, scale) -end - -function HYPRE_BoomerAMGSetChebyVariant(solver, variant) - ccall((:HYPRE_BoomerAMGSetChebyVariant, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, variant) -end - -function HYPRE_BoomerAMGSetChebyEigEst(solver, eig_est) - ccall((:HYPRE_BoomerAMGSetChebyEigEst, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, eig_est) -end - -function HYPRE_BoomerAMGSetSmoothType(solver, smooth_type) - ccall((:HYPRE_BoomerAMGSetSmoothType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, smooth_type) -end - -function HYPRE_BoomerAMGSetSmoothNumLevels(solver, smooth_num_levels) - ccall((:HYPRE_BoomerAMGSetSmoothNumLevels, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, smooth_num_levels) -end - -function HYPRE_BoomerAMGSetSmoothNumSweeps(solver, smooth_num_sweeps) - ccall((:HYPRE_BoomerAMGSetSmoothNumSweeps, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, smooth_num_sweeps) -end - -function HYPRE_BoomerAMGSetVariant(solver, variant) - ccall((:HYPRE_BoomerAMGSetVariant, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, variant) -end - -function HYPRE_BoomerAMGSetOverlap(solver, overlap) - ccall((:HYPRE_BoomerAMGSetOverlap, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, overlap) -end - -function HYPRE_BoomerAMGSetDomainType(solver, domain_type) - ccall((:HYPRE_BoomerAMGSetDomainType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, domain_type) -end - -function HYPRE_BoomerAMGSetSchwarzRlxWeight(solver, schwarz_rlx_weight) - ccall((:HYPRE_BoomerAMGSetSchwarzRlxWeight, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, schwarz_rlx_weight) -end - -function HYPRE_BoomerAMGSetSchwarzUseNonSymm(solver, use_nonsymm) - ccall((:HYPRE_BoomerAMGSetSchwarzUseNonSymm, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, use_nonsymm) -end - -function HYPRE_BoomerAMGSetSym(solver, sym) - ccall((:HYPRE_BoomerAMGSetSym, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, sym) -end - -function HYPRE_BoomerAMGSetLevel(solver, level) - ccall((:HYPRE_BoomerAMGSetLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, level) -end - -function HYPRE_BoomerAMGSetThreshold(solver, threshold) - ccall((:HYPRE_BoomerAMGSetThreshold, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, threshold) -end - -function HYPRE_BoomerAMGSetFilter(solver, filter) - ccall((:HYPRE_BoomerAMGSetFilter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, filter) -end - -function HYPRE_BoomerAMGSetDropTol(solver, drop_tol) - ccall((:HYPRE_BoomerAMGSetDropTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, drop_tol) -end - -function HYPRE_BoomerAMGSetMaxNzPerRow(solver, max_nz_per_row) - ccall((:HYPRE_BoomerAMGSetMaxNzPerRow, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_nz_per_row) -end - -function HYPRE_BoomerAMGSetEuclidFile(solver, euclidfile) - ccall((:HYPRE_BoomerAMGSetEuclidFile, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cchar}), solver, euclidfile) -end - -function HYPRE_BoomerAMGSetEuLevel(solver, eu_level) - ccall((:HYPRE_BoomerAMGSetEuLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, eu_level) -end - -function HYPRE_BoomerAMGSetEuSparseA(solver, eu_sparse_A) - ccall((:HYPRE_BoomerAMGSetEuSparseA, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, eu_sparse_A) -end - -function HYPRE_BoomerAMGSetEuBJ(solver, eu_bj) - ccall((:HYPRE_BoomerAMGSetEuBJ, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, eu_bj) -end - -function HYPRE_BoomerAMGSetILUType(solver, ilu_type) - ccall((:HYPRE_BoomerAMGSetILUType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, ilu_type) -end - -function HYPRE_BoomerAMGSetILULevel(solver, ilu_lfil) - ccall((:HYPRE_BoomerAMGSetILULevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, ilu_lfil) -end - -function HYPRE_BoomerAMGSetILUMaxRowNnz(solver, ilu_max_row_nnz) - ccall((:HYPRE_BoomerAMGSetILUMaxRowNnz, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, ilu_max_row_nnz) -end - -function HYPRE_BoomerAMGSetILUMaxIter(solver, ilu_max_iter) - ccall((:HYPRE_BoomerAMGSetILUMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, ilu_max_iter) -end - -function HYPRE_BoomerAMGSetILUDroptol(solver, ilu_droptol) - ccall((:HYPRE_BoomerAMGSetILUDroptol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, ilu_droptol) -end - -function HYPRE_BoomerAMGSetRestriction(solver, restr_par) - ccall((:HYPRE_BoomerAMGSetRestriction, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, restr_par) -end - -function HYPRE_BoomerAMGSetIsTriangular(solver, is_triangular) - ccall((:HYPRE_BoomerAMGSetIsTriangular, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, is_triangular) -end - -function HYPRE_BoomerAMGSetGMRESSwitchR(solver, gmres_switch) - ccall((:HYPRE_BoomerAMGSetGMRESSwitchR, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, gmres_switch) -end - -function HYPRE_BoomerAMGSetADropTol(solver, A_drop_tol) - ccall((:HYPRE_BoomerAMGSetADropTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, A_drop_tol) -end - -function HYPRE_BoomerAMGSetADropType(solver, A_drop_type) - ccall((:HYPRE_BoomerAMGSetADropType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, A_drop_type) -end - -function HYPRE_BoomerAMGSetPrintFileName(solver, print_file_name) - ccall((:HYPRE_BoomerAMGSetPrintFileName, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cchar}), solver, print_file_name) -end - -function HYPRE_BoomerAMGSetPrintLevel(solver, print_level) - ccall((:HYPRE_BoomerAMGSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) -end - -function HYPRE_BoomerAMGSetLogging(solver, logging) - ccall((:HYPRE_BoomerAMGSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) -end - -function HYPRE_BoomerAMGSetDebugFlag(solver, debug_flag) - ccall((:HYPRE_BoomerAMGSetDebugFlag, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, debug_flag) -end - -function HYPRE_BoomerAMGInitGridRelaxation(num_grid_sweeps_ptr, grid_relax_type_ptr, grid_relax_points_ptr, coarsen_type, relax_weights_ptr, max_levels) - ccall((:HYPRE_BoomerAMGInitGridRelaxation, libHYPRE), HYPRE_Int, (Ptr{Ptr{HYPRE_Int}}, Ptr{Ptr{HYPRE_Int}}, Ptr{Ptr{Ptr{HYPRE_Int}}}, HYPRE_Int, Ptr{Ptr{HYPRE_Real}}, HYPRE_Int), num_grid_sweeps_ptr, grid_relax_type_ptr, grid_relax_points_ptr, coarsen_type, relax_weights_ptr, max_levels) -end - -function HYPRE_BoomerAMGSetRAP2(solver, rap2) - ccall((:HYPRE_BoomerAMGSetRAP2, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, rap2) -end - -function HYPRE_BoomerAMGSetModuleRAP2(solver, mod_rap2) - ccall((:HYPRE_BoomerAMGSetModuleRAP2, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, mod_rap2) -end - -function HYPRE_BoomerAMGSetKeepTranspose(solver, keepTranspose) - ccall((:HYPRE_BoomerAMGSetKeepTranspose, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, keepTranspose) -end - -function HYPRE_BoomerAMGSetPlotGrids(solver, plotgrids) - ccall((:HYPRE_BoomerAMGSetPlotGrids, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, plotgrids) -end - -function HYPRE_BoomerAMGSetPlotFileName(solver, plotfilename) - ccall((:HYPRE_BoomerAMGSetPlotFileName, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cchar}), solver, plotfilename) -end - -function HYPRE_BoomerAMGSetCoordDim(solver, coorddim) - ccall((:HYPRE_BoomerAMGSetCoordDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, coorddim) -end - -function HYPRE_BoomerAMGSetCoordinates(solver, coordinates) - ccall((:HYPRE_BoomerAMGSetCoordinates, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cfloat}), solver, coordinates) -end - -function HYPRE_BoomerAMGGetGridHierarchy(solver, cgrid) - ccall((:HYPRE_BoomerAMGGetGridHierarchy, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, cgrid) -end - -function HYPRE_BoomerAMGSetCPoints(solver, cpt_coarse_level, num_cpt_coarse, cpt_coarse_index) - ccall((:HYPRE_BoomerAMGSetCPoints, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_BigInt}), solver, cpt_coarse_level, num_cpt_coarse, cpt_coarse_index) -end - -function HYPRE_BoomerAMGSetCpointsToKeep(solver, cpt_coarse_level, num_cpt_coarse, cpt_coarse_index) - ccall((:HYPRE_BoomerAMGSetCpointsToKeep, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_BigInt}), solver, cpt_coarse_level, num_cpt_coarse, cpt_coarse_index) -end - -function HYPRE_BoomerAMGSetFPoints(solver, num_fpt, fpt_index) - ccall((:HYPRE_BoomerAMGSetFPoints, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, Ptr{HYPRE_BigInt}), solver, num_fpt, fpt_index) -end - -function HYPRE_BoomerAMGSetIsolatedFPoints(solver, num_isolated_fpt, isolated_fpt_index) - ccall((:HYPRE_BoomerAMGSetIsolatedFPoints, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, Ptr{HYPRE_BigInt}), solver, num_isolated_fpt, isolated_fpt_index) -end - -function HYPRE_BoomerAMGSetSabs(solver, Sabs) - ccall((:HYPRE_BoomerAMGSetSabs, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, Sabs) -end - -function HYPRE_BoomerAMGDDCreate(solver) - ccall((:HYPRE_BoomerAMGDDCreate, libHYPRE), HYPRE_Int, (Ptr{HYPRE_Solver},), solver) -end - -function HYPRE_BoomerAMGDDDestroy(solver) - ccall((:HYPRE_BoomerAMGDDDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_BoomerAMGDDSetup(solver, A, b, x) - ccall((:HYPRE_BoomerAMGDDSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_BoomerAMGDDSolve(solver, A, b, x) - ccall((:HYPRE_BoomerAMGDDSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_BoomerAMGDDSetFACNumRelax(solver, amgdd_fac_num_relax) - ccall((:HYPRE_BoomerAMGDDSetFACNumRelax, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, amgdd_fac_num_relax) -end - -function HYPRE_BoomerAMGDDSetFACNumCycles(solver, amgdd_fac_num_cycles) - ccall((:HYPRE_BoomerAMGDDSetFACNumCycles, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, amgdd_fac_num_cycles) -end - -function HYPRE_BoomerAMGDDSetFACCycleType(solver, amgdd_fac_cycle_type) - ccall((:HYPRE_BoomerAMGDDSetFACCycleType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, amgdd_fac_cycle_type) -end - -function HYPRE_BoomerAMGDDSetFACRelaxType(solver, amgdd_fac_relax_type) - ccall((:HYPRE_BoomerAMGDDSetFACRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, amgdd_fac_relax_type) -end - -function HYPRE_BoomerAMGDDSetFACRelaxWeight(solver, amgdd_fac_relax_weight) - ccall((:HYPRE_BoomerAMGDDSetFACRelaxWeight, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, amgdd_fac_relax_weight) -end - -function HYPRE_BoomerAMGDDSetStartLevel(solver, start_level) - ccall((:HYPRE_BoomerAMGDDSetStartLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, start_level) -end - -function HYPRE_BoomerAMGDDSetPadding(solver, padding) - ccall((:HYPRE_BoomerAMGDDSetPadding, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, padding) -end - -function HYPRE_BoomerAMGDDSetNumGhostLayers(solver, num_ghost_layers) - ccall((:HYPRE_BoomerAMGDDSetNumGhostLayers, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, num_ghost_layers) -end - -function HYPRE_BoomerAMGDDSetUserFACRelaxation(solver, userFACRelaxation) - ccall((:HYPRE_BoomerAMGDDSetUserFACRelaxation, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cvoid}), solver, userFACRelaxation) -end - -function HYPRE_BoomerAMGDDGetAMG(solver, amg_solver) - ccall((:HYPRE_BoomerAMGDDGetAMG, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, amg_solver) -end - -function HYPRE_BoomerAMGDDGetFinalRelativeResidualNorm(solver, rel_resid_norm) - ccall((:HYPRE_BoomerAMGDDGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, rel_resid_norm) -end - -function HYPRE_BoomerAMGDDGetNumIterations(solver, num_iterations) - ccall((:HYPRE_BoomerAMGDDGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) -end - -function HYPRE_ParaSailsCreate(comm, solver) - ccall((:HYPRE_ParaSailsCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) -end - -function HYPRE_ParaSailsDestroy(solver) - ccall((:HYPRE_ParaSailsDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_ParaSailsSetup(solver, A, b, x) - ccall((:HYPRE_ParaSailsSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParaSailsSolve(solver, A, b, x) - ccall((:HYPRE_ParaSailsSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParaSailsSetParams(solver, thresh, nlevels) - ccall((:HYPRE_ParaSailsSetParams, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real, HYPRE_Int), solver, thresh, nlevels) -end - -function HYPRE_ParaSailsSetFilter(solver, filter) - ccall((:HYPRE_ParaSailsSetFilter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, filter) -end - -function HYPRE_ParaSailsSetSym(solver, sym) - ccall((:HYPRE_ParaSailsSetSym, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, sym) -end - -function HYPRE_ParaSailsSetLoadbal(solver, loadbal) - ccall((:HYPRE_ParaSailsSetLoadbal, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, loadbal) -end - -function HYPRE_ParaSailsSetReuse(solver, reuse) - ccall((:HYPRE_ParaSailsSetReuse, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, reuse) -end - -function HYPRE_ParaSailsSetLogging(solver, logging) - ccall((:HYPRE_ParaSailsSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) -end - -function HYPRE_ParaSailsBuildIJMatrix(solver, pij_A) - ccall((:HYPRE_ParaSailsBuildIJMatrix, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_IJMatrix}), solver, pij_A) -end - -function HYPRE_ParCSRParaSailsCreate(comm, solver) - ccall((:HYPRE_ParCSRParaSailsCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) -end - -function HYPRE_ParCSRParaSailsDestroy(solver) - ccall((:HYPRE_ParCSRParaSailsDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_ParCSRParaSailsSetup(solver, A, b, x) - ccall((:HYPRE_ParCSRParaSailsSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParCSRParaSailsSolve(solver, A, b, x) - ccall((:HYPRE_ParCSRParaSailsSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParCSRParaSailsSetParams(solver, thresh, nlevels) - ccall((:HYPRE_ParCSRParaSailsSetParams, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real, HYPRE_Int), solver, thresh, nlevels) -end - -function HYPRE_ParCSRParaSailsSetFilter(solver, filter) - ccall((:HYPRE_ParCSRParaSailsSetFilter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, filter) -end - -function HYPRE_ParCSRParaSailsSetSym(solver, sym) - ccall((:HYPRE_ParCSRParaSailsSetSym, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, sym) -end - -function HYPRE_ParCSRParaSailsSetLoadbal(solver, loadbal) - ccall((:HYPRE_ParCSRParaSailsSetLoadbal, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, loadbal) -end - -function HYPRE_ParCSRParaSailsSetReuse(solver, reuse) - ccall((:HYPRE_ParCSRParaSailsSetReuse, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, reuse) -end - -function HYPRE_ParCSRParaSailsSetLogging(solver, logging) - ccall((:HYPRE_ParCSRParaSailsSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) -end - -function HYPRE_EuclidCreate(comm, solver) - ccall((:HYPRE_EuclidCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) -end - -function HYPRE_EuclidDestroy(solver) - ccall((:HYPRE_EuclidDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_EuclidSetup(solver, A, b, x) - ccall((:HYPRE_EuclidSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_EuclidSolve(solver, A, b, x) - ccall((:HYPRE_EuclidSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_EuclidSetParams(solver, argc, argv) - ccall((:HYPRE_EuclidSetParams, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, Ptr{Ptr{Cchar}}), solver, argc, argv) -end - -function HYPRE_EuclidSetParamsFromFile(solver, filename) - ccall((:HYPRE_EuclidSetParamsFromFile, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Cchar}), solver, filename) -end - -function HYPRE_EuclidSetLevel(solver, level) - ccall((:HYPRE_EuclidSetLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, level) -end - -function HYPRE_EuclidSetBJ(solver, bj) - ccall((:HYPRE_EuclidSetBJ, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, bj) -end - -function HYPRE_EuclidSetStats(solver, eu_stats) - ccall((:HYPRE_EuclidSetStats, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, eu_stats) -end - -function HYPRE_EuclidSetMem(solver, eu_mem) - ccall((:HYPRE_EuclidSetMem, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, eu_mem) -end - -function HYPRE_EuclidSetSparseA(solver, sparse_A) - ccall((:HYPRE_EuclidSetSparseA, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, sparse_A) -end - -function HYPRE_EuclidSetRowScale(solver, row_scale) - ccall((:HYPRE_EuclidSetRowScale, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, row_scale) -end - -function HYPRE_EuclidSetILUT(solver, drop_tol) - ccall((:HYPRE_EuclidSetILUT, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, drop_tol) -end - -function HYPRE_ParCSRPilutCreate(comm, solver) - ccall((:HYPRE_ParCSRPilutCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) -end - -function HYPRE_ParCSRPilutDestroy(solver) - ccall((:HYPRE_ParCSRPilutDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_ParCSRPilutSetup(solver, A, b, x) - ccall((:HYPRE_ParCSRPilutSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParCSRPilutSolve(solver, A, b, x) - ccall((:HYPRE_ParCSRPilutSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParCSRPilutSetMaxIter(solver, max_iter) - ccall((:HYPRE_ParCSRPilutSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) -end - -function HYPRE_ParCSRPilutSetDropTolerance(solver, tol) - ccall((:HYPRE_ParCSRPilutSetDropTolerance, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_ParCSRPilutSetFactorRowSize(solver, size) - ccall((:HYPRE_ParCSRPilutSetFactorRowSize, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, size) -end - -function HYPRE_ParCSRPilutSetLogging(solver, logging) - ccall((:HYPRE_ParCSRPilutSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) -end - -function HYPRE_AMSCreate(solver) - ccall((:HYPRE_AMSCreate, libHYPRE), HYPRE_Int, (Ptr{HYPRE_Solver},), solver) -end - -function HYPRE_AMSDestroy(solver) - ccall((:HYPRE_AMSDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_AMSSetup(solver, A, b, x) - ccall((:HYPRE_AMSSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_AMSSolve(solver, A, b, x) - ccall((:HYPRE_AMSSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_AMSSetDimension(solver, dim) - ccall((:HYPRE_AMSSetDimension, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, dim) -end - -function HYPRE_AMSSetDiscreteGradient(solver, G) - ccall((:HYPRE_AMSSetDiscreteGradient, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix), solver, G) -end - -function HYPRE_AMSSetCoordinateVectors(solver, x, y, z) - ccall((:HYPRE_AMSSetCoordinateVectors, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParVector, HYPRE_ParVector, HYPRE_ParVector), solver, x, y, z) -end - -function HYPRE_AMSSetEdgeConstantVectors(solver, Gx, Gy, Gz) - ccall((:HYPRE_AMSSetEdgeConstantVectors, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParVector, HYPRE_ParVector, HYPRE_ParVector), solver, Gx, Gy, Gz) -end - -function HYPRE_AMSSetInterpolations(solver, Pi, Pix, Piy, Piz) - ccall((:HYPRE_AMSSetInterpolations, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParCSRMatrix, HYPRE_ParCSRMatrix, HYPRE_ParCSRMatrix), solver, Pi, Pix, Piy, Piz) -end - -function HYPRE_AMSSetAlphaPoissonMatrix(solver, A_alpha) - ccall((:HYPRE_AMSSetAlphaPoissonMatrix, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix), solver, A_alpha) -end - -function HYPRE_AMSSetBetaPoissonMatrix(solver, A_beta) - ccall((:HYPRE_AMSSetBetaPoissonMatrix, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix), solver, A_beta) -end - -function HYPRE_AMSSetInteriorNodes(solver, interior_nodes) - ccall((:HYPRE_AMSSetInteriorNodes, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParVector), solver, interior_nodes) -end - -function HYPRE_AMSSetProjectionFrequency(solver, projection_frequency) - ccall((:HYPRE_AMSSetProjectionFrequency, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, projection_frequency) -end - -function HYPRE_AMSSetMaxIter(solver, maxit) - ccall((:HYPRE_AMSSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, maxit) -end - -function HYPRE_AMSSetTol(solver, tol) - ccall((:HYPRE_AMSSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_AMSSetCycleType(solver, cycle_type) - ccall((:HYPRE_AMSSetCycleType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, cycle_type) -end - -function HYPRE_AMSSetPrintLevel(solver, print_level) - ccall((:HYPRE_AMSSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) -end - -function HYPRE_AMSSetSmoothingOptions(solver, relax_type, relax_times, relax_weight, omega) - ccall((:HYPRE_AMSSetSmoothingOptions, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, HYPRE_Real, HYPRE_Real), solver, relax_type, relax_times, relax_weight, omega) -end - -function HYPRE_AMSSetAlphaAMGOptions(solver, alpha_coarsen_type, alpha_agg_levels, alpha_relax_type, alpha_strength_threshold, alpha_interp_type, alpha_Pmax) - ccall((:HYPRE_AMSSetAlphaAMGOptions, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Real, HYPRE_Int, HYPRE_Int), solver, alpha_coarsen_type, alpha_agg_levels, alpha_relax_type, alpha_strength_threshold, alpha_interp_type, alpha_Pmax) -end - -function HYPRE_AMSSetAlphaAMGCoarseRelaxType(solver, alpha_coarse_relax_type) - ccall((:HYPRE_AMSSetAlphaAMGCoarseRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, alpha_coarse_relax_type) -end - -function HYPRE_AMSSetBetaAMGOptions(solver, beta_coarsen_type, beta_agg_levels, beta_relax_type, beta_strength_threshold, beta_interp_type, beta_Pmax) - ccall((:HYPRE_AMSSetBetaAMGOptions, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Real, HYPRE_Int, HYPRE_Int), solver, beta_coarsen_type, beta_agg_levels, beta_relax_type, beta_strength_threshold, beta_interp_type, beta_Pmax) -end - -function HYPRE_AMSSetBetaAMGCoarseRelaxType(solver, beta_coarse_relax_type) - ccall((:HYPRE_AMSSetBetaAMGCoarseRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, beta_coarse_relax_type) -end - -function HYPRE_AMSGetNumIterations(solver, num_iterations) - ccall((:HYPRE_AMSGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) -end - -function HYPRE_AMSGetFinalRelativeResidualNorm(solver, rel_resid_norm) - ccall((:HYPRE_AMSGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, rel_resid_norm) -end - -function HYPRE_AMSProjectOutGradients(solver, x) - ccall((:HYPRE_AMSProjectOutGradients, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParVector), solver, x) -end - -function HYPRE_AMSConstructDiscreteGradient(A, x_coord, edge_vertex, edge_orientation, G) - ccall((:HYPRE_AMSConstructDiscreteGradient, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix, HYPRE_ParVector, Ptr{HYPRE_BigInt}, HYPRE_Int, Ptr{HYPRE_ParCSRMatrix}), A, x_coord, edge_vertex, edge_orientation, G) -end - -function HYPRE_ADSCreate(solver) - ccall((:HYPRE_ADSCreate, libHYPRE), HYPRE_Int, (Ptr{HYPRE_Solver},), solver) -end - -function HYPRE_ADSDestroy(solver) - ccall((:HYPRE_ADSDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_ADSSetup(solver, A, b, x) - ccall((:HYPRE_ADSSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ADSSolve(solver, A, b, x) - ccall((:HYPRE_ADSSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ADSSetDiscreteCurl(solver, C) - ccall((:HYPRE_ADSSetDiscreteCurl, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix), solver, C) -end - -function HYPRE_ADSSetDiscreteGradient(solver, G) - ccall((:HYPRE_ADSSetDiscreteGradient, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix), solver, G) -end - -function HYPRE_ADSSetCoordinateVectors(solver, x, y, z) - ccall((:HYPRE_ADSSetCoordinateVectors, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParVector, HYPRE_ParVector, HYPRE_ParVector), solver, x, y, z) -end - -function HYPRE_ADSSetInterpolations(solver, RT_Pi, RT_Pix, RT_Piy, RT_Piz, ND_Pi, ND_Pix, ND_Piy, ND_Piz) - ccall((:HYPRE_ADSSetInterpolations, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParCSRMatrix, HYPRE_ParCSRMatrix, HYPRE_ParCSRMatrix, HYPRE_ParCSRMatrix, HYPRE_ParCSRMatrix, HYPRE_ParCSRMatrix, HYPRE_ParCSRMatrix), solver, RT_Pi, RT_Pix, RT_Piy, RT_Piz, ND_Pi, ND_Pix, ND_Piy, ND_Piz) -end - -function HYPRE_ADSSetMaxIter(solver, maxit) - ccall((:HYPRE_ADSSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, maxit) -end - -function HYPRE_ADSSetTol(solver, tol) - ccall((:HYPRE_ADSSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_ADSSetCycleType(solver, cycle_type) - ccall((:HYPRE_ADSSetCycleType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, cycle_type) -end - -function HYPRE_ADSSetPrintLevel(solver, print_level) - ccall((:HYPRE_ADSSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) -end - -function HYPRE_ADSSetSmoothingOptions(solver, relax_type, relax_times, relax_weight, omega) - ccall((:HYPRE_ADSSetSmoothingOptions, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, HYPRE_Real, HYPRE_Real), solver, relax_type, relax_times, relax_weight, omega) -end - -function HYPRE_ADSSetChebySmoothingOptions(solver, cheby_order, cheby_fraction) - ccall((:HYPRE_ADSSetChebySmoothingOptions, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int), solver, cheby_order, cheby_fraction) -end - -function HYPRE_ADSSetAMSOptions(solver, cycle_type, coarsen_type, agg_levels, relax_type, strength_threshold, interp_type, Pmax) - ccall((:HYPRE_ADSSetAMSOptions, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Real, HYPRE_Int, HYPRE_Int), solver, cycle_type, coarsen_type, agg_levels, relax_type, strength_threshold, interp_type, Pmax) -end - -function HYPRE_ADSSetAMGOptions(solver, coarsen_type, agg_levels, relax_type, strength_threshold, interp_type, Pmax) - ccall((:HYPRE_ADSSetAMGOptions, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Real, HYPRE_Int, HYPRE_Int), solver, coarsen_type, agg_levels, relax_type, strength_threshold, interp_type, Pmax) -end - -function HYPRE_ADSGetNumIterations(solver, num_iterations) - ccall((:HYPRE_ADSGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) -end - -function HYPRE_ADSGetFinalRelativeResidualNorm(solver, rel_resid_norm) - ccall((:HYPRE_ADSGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, rel_resid_norm) -end - -function HYPRE_ParCSRPCGCreate(comm, solver) - ccall((:HYPRE_ParCSRPCGCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) -end - -function HYPRE_ParCSRPCGDestroy(solver) - ccall((:HYPRE_ParCSRPCGDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_ParCSRPCGSetup(solver, A, b, x) - ccall((:HYPRE_ParCSRPCGSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParCSRPCGSolve(solver, A, b, x) - ccall((:HYPRE_ParCSRPCGSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParCSRPCGSetTol(solver, tol) - ccall((:HYPRE_ParCSRPCGSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_ParCSRPCGSetAbsoluteTol(solver, tol) - ccall((:HYPRE_ParCSRPCGSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_ParCSRPCGSetMaxIter(solver, max_iter) - ccall((:HYPRE_ParCSRPCGSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) -end - -function HYPRE_ParCSRPCGSetStopCrit(solver, stop_crit) - ccall((:HYPRE_ParCSRPCGSetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, stop_crit) -end - -function HYPRE_ParCSRPCGSetTwoNorm(solver, two_norm) - ccall((:HYPRE_ParCSRPCGSetTwoNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, two_norm) -end - -function HYPRE_ParCSRPCGSetRelChange(solver, rel_change) - ccall((:HYPRE_ParCSRPCGSetRelChange, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, rel_change) -end - -function HYPRE_ParCSRPCGSetPrecond(solver, precond, precond_setup, precond_solver) - ccall((:HYPRE_ParCSRPCGSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) -end - -function HYPRE_ParCSRPCGGetPrecond(solver, precond_data) - ccall((:HYPRE_ParCSRPCGGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data) -end - -function HYPRE_ParCSRPCGSetLogging(solver, logging) - ccall((:HYPRE_ParCSRPCGSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) -end - -function HYPRE_ParCSRPCGSetPrintLevel(solver, print_level) - ccall((:HYPRE_ParCSRPCGSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) -end - -function HYPRE_ParCSRPCGGetNumIterations(solver, num_iterations) - ccall((:HYPRE_ParCSRPCGGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) -end - -function HYPRE_ParCSRPCGGetFinalRelativeResidualNorm(solver, norm) - ccall((:HYPRE_ParCSRPCGGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) -end - -function HYPRE_ParCSRPCGGetResidual(solver, residual) - ccall((:HYPRE_ParCSRPCGGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_ParVector}), solver, residual) -end - -function HYPRE_ParCSRDiagScaleSetup(solver, A, y, x) - ccall((:HYPRE_ParCSRDiagScaleSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, y, x) -end - -function HYPRE_ParCSRDiagScale(solver, HA, Hy, Hx) - ccall((:HYPRE_ParCSRDiagScale, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, HA, Hy, Hx) -end - -function HYPRE_ParCSROnProcTriSetup(solver, HA, Hy, Hx) - ccall((:HYPRE_ParCSROnProcTriSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, HA, Hy, Hx) -end - -function HYPRE_ParCSROnProcTriSolve(solver, HA, Hy, Hx) - ccall((:HYPRE_ParCSROnProcTriSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, HA, Hy, Hx) -end - -function HYPRE_ParCSRGMRESCreate(comm, solver) - ccall((:HYPRE_ParCSRGMRESCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) -end - -function HYPRE_ParCSRGMRESDestroy(solver) - ccall((:HYPRE_ParCSRGMRESDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_ParCSRGMRESSetup(solver, A, b, x) - ccall((:HYPRE_ParCSRGMRESSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParCSRGMRESSolve(solver, A, b, x) - ccall((:HYPRE_ParCSRGMRESSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParCSRGMRESSetKDim(solver, k_dim) - ccall((:HYPRE_ParCSRGMRESSetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, k_dim) -end - -function HYPRE_ParCSRGMRESSetTol(solver, tol) - ccall((:HYPRE_ParCSRGMRESSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_ParCSRGMRESSetAbsoluteTol(solver, a_tol) - ccall((:HYPRE_ParCSRGMRESSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) -end - -function HYPRE_ParCSRGMRESSetMinIter(solver, min_iter) - ccall((:HYPRE_ParCSRGMRESSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) -end - -function HYPRE_ParCSRGMRESSetMaxIter(solver, max_iter) - ccall((:HYPRE_ParCSRGMRESSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) -end - -function HYPRE_ParCSRGMRESSetStopCrit(solver, stop_crit) - ccall((:HYPRE_ParCSRGMRESSetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, stop_crit) -end - -function HYPRE_ParCSRGMRESSetPrecond(solver, precond, precond_setup, precond_solver) - ccall((:HYPRE_ParCSRGMRESSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) -end - -function HYPRE_ParCSRGMRESGetPrecond(solver, precond_data) - ccall((:HYPRE_ParCSRGMRESGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data) -end - -function HYPRE_ParCSRGMRESSetLogging(solver, logging) - ccall((:HYPRE_ParCSRGMRESSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) -end - -function HYPRE_ParCSRGMRESSetPrintLevel(solver, print_level) - ccall((:HYPRE_ParCSRGMRESSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) -end - -function HYPRE_ParCSRGMRESGetNumIterations(solver, num_iterations) - ccall((:HYPRE_ParCSRGMRESGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) -end - -function HYPRE_ParCSRGMRESGetFinalRelativeResidualNorm(solver, norm) - ccall((:HYPRE_ParCSRGMRESGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) -end - -function HYPRE_ParCSRGMRESGetResidual(solver, residual) - ccall((:HYPRE_ParCSRGMRESGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_ParVector}), solver, residual) -end - -function HYPRE_ParCSRCOGMRESCreate(comm, solver) - ccall((:HYPRE_ParCSRCOGMRESCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) -end - -function HYPRE_ParCSRCOGMRESDestroy(solver) - ccall((:HYPRE_ParCSRCOGMRESDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_ParCSRCOGMRESSetup(solver, A, b, x) - ccall((:HYPRE_ParCSRCOGMRESSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParCSRCOGMRESSolve(solver, A, b, x) - ccall((:HYPRE_ParCSRCOGMRESSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParCSRCOGMRESSetKDim(solver, k_dim) - ccall((:HYPRE_ParCSRCOGMRESSetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, k_dim) -end - -function HYPRE_ParCSRCOGMRESSetUnroll(solver, unroll) - ccall((:HYPRE_ParCSRCOGMRESSetUnroll, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, unroll) -end - -function HYPRE_ParCSRCOGMRESSetCGS(solver, cgs) - ccall((:HYPRE_ParCSRCOGMRESSetCGS, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, cgs) -end - -function HYPRE_ParCSRCOGMRESSetTol(solver, tol) - ccall((:HYPRE_ParCSRCOGMRESSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_ParCSRCOGMRESSetAbsoluteTol(solver, a_tol) - ccall((:HYPRE_ParCSRCOGMRESSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) -end - -function HYPRE_ParCSRCOGMRESSetMinIter(solver, min_iter) - ccall((:HYPRE_ParCSRCOGMRESSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) -end - -function HYPRE_ParCSRCOGMRESSetMaxIter(solver, max_iter) - ccall((:HYPRE_ParCSRCOGMRESSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) -end - -function HYPRE_ParCSRCOGMRESSetPrecond(solver, precond, precond_setup, precond_solver) - ccall((:HYPRE_ParCSRCOGMRESSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) -end - -function HYPRE_ParCSRCOGMRESGetPrecond(solver, precond_data) - ccall((:HYPRE_ParCSRCOGMRESGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data) -end - -function HYPRE_ParCSRCOGMRESSetLogging(solver, logging) - ccall((:HYPRE_ParCSRCOGMRESSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) -end - -function HYPRE_ParCSRCOGMRESSetPrintLevel(solver, print_level) - ccall((:HYPRE_ParCSRCOGMRESSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) -end - -function HYPRE_ParCSRCOGMRESGetNumIterations(solver, num_iterations) - ccall((:HYPRE_ParCSRCOGMRESGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) -end - -function HYPRE_ParCSRCOGMRESGetFinalRelativeResidualNorm(solver, norm) - ccall((:HYPRE_ParCSRCOGMRESGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) -end - -function HYPRE_ParCSRCOGMRESGetResidual(solver, residual) - ccall((:HYPRE_ParCSRCOGMRESGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_ParVector}), solver, residual) -end - -function HYPRE_ParCSRFlexGMRESCreate(comm, solver) - ccall((:HYPRE_ParCSRFlexGMRESCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) -end - -function HYPRE_ParCSRFlexGMRESDestroy(solver) - ccall((:HYPRE_ParCSRFlexGMRESDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_ParCSRFlexGMRESSetup(solver, A, b, x) - ccall((:HYPRE_ParCSRFlexGMRESSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParCSRFlexGMRESSolve(solver, A, b, x) - ccall((:HYPRE_ParCSRFlexGMRESSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParCSRFlexGMRESSetKDim(solver, k_dim) - ccall((:HYPRE_ParCSRFlexGMRESSetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, k_dim) -end - -function HYPRE_ParCSRFlexGMRESSetTol(solver, tol) - ccall((:HYPRE_ParCSRFlexGMRESSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_ParCSRFlexGMRESSetAbsoluteTol(solver, a_tol) - ccall((:HYPRE_ParCSRFlexGMRESSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) -end - -function HYPRE_ParCSRFlexGMRESSetMinIter(solver, min_iter) - ccall((:HYPRE_ParCSRFlexGMRESSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) -end - -function HYPRE_ParCSRFlexGMRESSetMaxIter(solver, max_iter) - ccall((:HYPRE_ParCSRFlexGMRESSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) -end - -function HYPRE_ParCSRFlexGMRESSetPrecond(solver, precond, precond_setup, precond_solver) - ccall((:HYPRE_ParCSRFlexGMRESSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) -end - -function HYPRE_ParCSRFlexGMRESGetPrecond(solver, precond_data) - ccall((:HYPRE_ParCSRFlexGMRESGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data) -end - -function HYPRE_ParCSRFlexGMRESSetLogging(solver, logging) - ccall((:HYPRE_ParCSRFlexGMRESSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) -end - -function HYPRE_ParCSRFlexGMRESSetPrintLevel(solver, print_level) - ccall((:HYPRE_ParCSRFlexGMRESSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) -end - -function HYPRE_ParCSRFlexGMRESGetNumIterations(solver, num_iterations) - ccall((:HYPRE_ParCSRFlexGMRESGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) -end - -function HYPRE_ParCSRFlexGMRESGetFinalRelativeResidualNorm(solver, norm) - ccall((:HYPRE_ParCSRFlexGMRESGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) -end - -function HYPRE_ParCSRFlexGMRESGetResidual(solver, residual) - ccall((:HYPRE_ParCSRFlexGMRESGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_ParVector}), solver, residual) -end - -function HYPRE_ParCSRFlexGMRESSetModifyPC(solver, modify_pc) - ccall((:HYPRE_ParCSRFlexGMRESSetModifyPC, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToModifyPCFcn), solver, modify_pc) -end - -function HYPRE_ParCSRLGMRESCreate(comm, solver) - ccall((:HYPRE_ParCSRLGMRESCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) -end - -function HYPRE_ParCSRLGMRESDestroy(solver) - ccall((:HYPRE_ParCSRLGMRESDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_ParCSRLGMRESSetup(solver, A, b, x) - ccall((:HYPRE_ParCSRLGMRESSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParCSRLGMRESSolve(solver, A, b, x) - ccall((:HYPRE_ParCSRLGMRESSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParCSRLGMRESSetKDim(solver, k_dim) - ccall((:HYPRE_ParCSRLGMRESSetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, k_dim) -end - -function HYPRE_ParCSRLGMRESSetAugDim(solver, aug_dim) - ccall((:HYPRE_ParCSRLGMRESSetAugDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, aug_dim) -end - -function HYPRE_ParCSRLGMRESSetTol(solver, tol) - ccall((:HYPRE_ParCSRLGMRESSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_ParCSRLGMRESSetAbsoluteTol(solver, a_tol) - ccall((:HYPRE_ParCSRLGMRESSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) -end - -function HYPRE_ParCSRLGMRESSetMinIter(solver, min_iter) - ccall((:HYPRE_ParCSRLGMRESSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) -end - -function HYPRE_ParCSRLGMRESSetMaxIter(solver, max_iter) - ccall((:HYPRE_ParCSRLGMRESSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) -end - -function HYPRE_ParCSRLGMRESSetPrecond(solver, precond, precond_setup, precond_solver) - ccall((:HYPRE_ParCSRLGMRESSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) -end - -function HYPRE_ParCSRLGMRESGetPrecond(solver, precond_data) - ccall((:HYPRE_ParCSRLGMRESGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data) -end - -function HYPRE_ParCSRLGMRESSetLogging(solver, logging) - ccall((:HYPRE_ParCSRLGMRESSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) -end - -function HYPRE_ParCSRLGMRESSetPrintLevel(solver, print_level) - ccall((:HYPRE_ParCSRLGMRESSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) -end - -function HYPRE_ParCSRLGMRESGetNumIterations(solver, num_iterations) - ccall((:HYPRE_ParCSRLGMRESGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) -end - -function HYPRE_ParCSRLGMRESGetFinalRelativeResidualNorm(solver, norm) - ccall((:HYPRE_ParCSRLGMRESGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) -end - -function HYPRE_ParCSRLGMRESGetResidual(solver, residual) - ccall((:HYPRE_ParCSRLGMRESGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_ParVector}), solver, residual) -end - -function HYPRE_ParCSRBiCGSTABCreate(comm, solver) - ccall((:HYPRE_ParCSRBiCGSTABCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) -end - -function HYPRE_ParCSRBiCGSTABDestroy(solver) - ccall((:HYPRE_ParCSRBiCGSTABDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_ParCSRBiCGSTABSetup(solver, A, b, x) - ccall((:HYPRE_ParCSRBiCGSTABSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParCSRBiCGSTABSolve(solver, A, b, x) - ccall((:HYPRE_ParCSRBiCGSTABSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParCSRBiCGSTABSetTol(solver, tol) - ccall((:HYPRE_ParCSRBiCGSTABSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_ParCSRBiCGSTABSetAbsoluteTol(solver, a_tol) - ccall((:HYPRE_ParCSRBiCGSTABSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, a_tol) -end - -function HYPRE_ParCSRBiCGSTABSetMinIter(solver, min_iter) - ccall((:HYPRE_ParCSRBiCGSTABSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) -end - -function HYPRE_ParCSRBiCGSTABSetMaxIter(solver, max_iter) - ccall((:HYPRE_ParCSRBiCGSTABSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) -end - -function HYPRE_ParCSRBiCGSTABSetStopCrit(solver, stop_crit) - ccall((:HYPRE_ParCSRBiCGSTABSetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, stop_crit) -end - -function HYPRE_ParCSRBiCGSTABSetPrecond(solver, precond, precond_setup, precond_solver) - ccall((:HYPRE_ParCSRBiCGSTABSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) -end - -function HYPRE_ParCSRBiCGSTABGetPrecond(solver, precond_data) - ccall((:HYPRE_ParCSRBiCGSTABGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data) -end - -function HYPRE_ParCSRBiCGSTABSetLogging(solver, logging) - ccall((:HYPRE_ParCSRBiCGSTABSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) -end - -function HYPRE_ParCSRBiCGSTABSetPrintLevel(solver, print_level) - ccall((:HYPRE_ParCSRBiCGSTABSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) -end - -function HYPRE_ParCSRBiCGSTABGetNumIterations(solver, num_iterations) - ccall((:HYPRE_ParCSRBiCGSTABGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) -end - -function HYPRE_ParCSRBiCGSTABGetFinalRelativeResidualNorm(solver, norm) - ccall((:HYPRE_ParCSRBiCGSTABGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) -end - -function HYPRE_ParCSRBiCGSTABGetResidual(solver, residual) - ccall((:HYPRE_ParCSRBiCGSTABGetResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_ParVector}), solver, residual) -end - -function HYPRE_ParCSRHybridCreate(solver) - ccall((:HYPRE_ParCSRHybridCreate, libHYPRE), HYPRE_Int, (Ptr{HYPRE_Solver},), solver) -end - -function HYPRE_ParCSRHybridDestroy(solver) - ccall((:HYPRE_ParCSRHybridDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_ParCSRHybridSetup(solver, A, b, x) - ccall((:HYPRE_ParCSRHybridSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParCSRHybridSolve(solver, A, b, x) - ccall((:HYPRE_ParCSRHybridSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParCSRHybridSetTol(solver, tol) - ccall((:HYPRE_ParCSRHybridSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_ParCSRHybridSetAbsoluteTol(solver, tol) - ccall((:HYPRE_ParCSRHybridSetAbsoluteTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_ParCSRHybridSetConvergenceTol(solver, cf_tol) - ccall((:HYPRE_ParCSRHybridSetConvergenceTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, cf_tol) -end - -function HYPRE_ParCSRHybridSetDSCGMaxIter(solver, dscg_max_its) - ccall((:HYPRE_ParCSRHybridSetDSCGMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, dscg_max_its) -end - -function HYPRE_ParCSRHybridSetPCGMaxIter(solver, pcg_max_its) - ccall((:HYPRE_ParCSRHybridSetPCGMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, pcg_max_its) -end - -function HYPRE_ParCSRHybridSetSetupType(solver, setup_type) - ccall((:HYPRE_ParCSRHybridSetSetupType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, setup_type) -end - -function HYPRE_ParCSRHybridSetSolverType(solver, solver_type) - ccall((:HYPRE_ParCSRHybridSetSolverType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, solver_type) -end - -function HYPRE_ParCSRHybridSetRecomputeResidual(solver, recompute_residual) - ccall((:HYPRE_ParCSRHybridSetRecomputeResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, recompute_residual) -end - -function HYPRE_ParCSRHybridGetRecomputeResidual(solver, recompute_residual) - ccall((:HYPRE_ParCSRHybridGetRecomputeResidual, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, recompute_residual) -end - -function HYPRE_ParCSRHybridSetRecomputeResidualP(solver, recompute_residual_p) - ccall((:HYPRE_ParCSRHybridSetRecomputeResidualP, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, recompute_residual_p) -end - -function HYPRE_ParCSRHybridGetRecomputeResidualP(solver, recompute_residual_p) - ccall((:HYPRE_ParCSRHybridGetRecomputeResidualP, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, recompute_residual_p) -end - -function HYPRE_ParCSRHybridSetKDim(solver, k_dim) - ccall((:HYPRE_ParCSRHybridSetKDim, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, k_dim) -end - -function HYPRE_ParCSRHybridSetTwoNorm(solver, two_norm) - ccall((:HYPRE_ParCSRHybridSetTwoNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, two_norm) -end - -function HYPRE_ParCSRHybridSetStopCrit(solver, stop_crit) - ccall((:HYPRE_ParCSRHybridSetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, stop_crit) -end - -function HYPRE_ParCSRHybridSetRelChange(solver, rel_change) - ccall((:HYPRE_ParCSRHybridSetRelChange, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, rel_change) -end - -function HYPRE_ParCSRHybridSetPrecond(solver, precond, precond_setup, precond_solver) - ccall((:HYPRE_ParCSRHybridSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_Solver), solver, precond, precond_setup, precond_solver) -end - -function HYPRE_ParCSRHybridSetLogging(solver, logging) - ccall((:HYPRE_ParCSRHybridSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) -end - -function HYPRE_ParCSRHybridSetPrintLevel(solver, print_level) - ccall((:HYPRE_ParCSRHybridSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) -end - -function HYPRE_ParCSRHybridSetStrongThreshold(solver, strong_threshold) - ccall((:HYPRE_ParCSRHybridSetStrongThreshold, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, strong_threshold) -end - -function HYPRE_ParCSRHybridSetMaxRowSum(solver, max_row_sum) - ccall((:HYPRE_ParCSRHybridSetMaxRowSum, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, max_row_sum) -end - -function HYPRE_ParCSRHybridSetTruncFactor(solver, trunc_factor) - ccall((:HYPRE_ParCSRHybridSetTruncFactor, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, trunc_factor) -end - -function HYPRE_ParCSRHybridSetPMaxElmts(solver, P_max_elmts) - ccall((:HYPRE_ParCSRHybridSetPMaxElmts, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, P_max_elmts) -end - -function HYPRE_ParCSRHybridSetMaxLevels(solver, max_levels) - ccall((:HYPRE_ParCSRHybridSetMaxLevels, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_levels) -end - -function HYPRE_ParCSRHybridSetMeasureType(solver, measure_type) - ccall((:HYPRE_ParCSRHybridSetMeasureType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, measure_type) -end - -function HYPRE_ParCSRHybridSetCoarsenType(solver, coarsen_type) - ccall((:HYPRE_ParCSRHybridSetCoarsenType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, coarsen_type) -end - -function HYPRE_ParCSRHybridSetInterpType(solver, interp_type) - ccall((:HYPRE_ParCSRHybridSetInterpType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, interp_type) -end - -function HYPRE_ParCSRHybridSetCycleType(solver, cycle_type) - ccall((:HYPRE_ParCSRHybridSetCycleType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, cycle_type) -end - -function HYPRE_ParCSRHybridSetGridRelaxType(solver, grid_relax_type) - ccall((:HYPRE_ParCSRHybridSetGridRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, grid_relax_type) -end - -function HYPRE_ParCSRHybridSetGridRelaxPoints(solver, grid_relax_points) - ccall((:HYPRE_ParCSRHybridSetGridRelaxPoints, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{Ptr{HYPRE_Int}}), solver, grid_relax_points) -end - -function HYPRE_ParCSRHybridSetNumSweeps(solver, num_sweeps) - ccall((:HYPRE_ParCSRHybridSetNumSweeps, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, num_sweeps) -end - -function HYPRE_ParCSRHybridSetCycleNumSweeps(solver, num_sweeps, k) - ccall((:HYPRE_ParCSRHybridSetCycleNumSweeps, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int), solver, num_sweeps, k) -end - -function HYPRE_ParCSRHybridSetRelaxType(solver, relax_type) - ccall((:HYPRE_ParCSRHybridSetRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, relax_type) -end - -function HYPRE_ParCSRHybridSetCycleRelaxType(solver, relax_type, k) - ccall((:HYPRE_ParCSRHybridSetCycleRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int), solver, relax_type, k) -end - -function HYPRE_ParCSRHybridSetRelaxOrder(solver, relax_order) - ccall((:HYPRE_ParCSRHybridSetRelaxOrder, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, relax_order) -end - -function HYPRE_ParCSRHybridSetRelaxWt(solver, relax_wt) - ccall((:HYPRE_ParCSRHybridSetRelaxWt, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, relax_wt) -end - -function HYPRE_ParCSRHybridSetLevelRelaxWt(solver, relax_wt, level) - ccall((:HYPRE_ParCSRHybridSetLevelRelaxWt, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real, HYPRE_Int), solver, relax_wt, level) -end - -function HYPRE_ParCSRHybridSetOuterWt(solver, outer_wt) - ccall((:HYPRE_ParCSRHybridSetOuterWt, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, outer_wt) -end - -function HYPRE_ParCSRHybridSetLevelOuterWt(solver, outer_wt, level) - ccall((:HYPRE_ParCSRHybridSetLevelOuterWt, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real, HYPRE_Int), solver, outer_wt, level) -end - -function HYPRE_ParCSRHybridSetMaxCoarseSize(solver, max_coarse_size) - ccall((:HYPRE_ParCSRHybridSetMaxCoarseSize, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_coarse_size) -end - -function HYPRE_ParCSRHybridSetMinCoarseSize(solver, min_coarse_size) - ccall((:HYPRE_ParCSRHybridSetMinCoarseSize, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_coarse_size) -end - -function HYPRE_ParCSRHybridSetSeqThreshold(solver, seq_threshold) - ccall((:HYPRE_ParCSRHybridSetSeqThreshold, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, seq_threshold) -end - -function HYPRE_ParCSRHybridSetRelaxWeight(solver, relax_weight) - ccall((:HYPRE_ParCSRHybridSetRelaxWeight, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, relax_weight) -end - -function HYPRE_ParCSRHybridSetOmega(solver, omega) - ccall((:HYPRE_ParCSRHybridSetOmega, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, omega) -end - -function HYPRE_ParCSRHybridSetAggNumLevels(solver, agg_num_levels) - ccall((:HYPRE_ParCSRHybridSetAggNumLevels, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, agg_num_levels) -end - -function HYPRE_ParCSRHybridSetAggInterpType(solver, agg_interp_type) - ccall((:HYPRE_ParCSRHybridSetAggInterpType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, agg_interp_type) -end - -function HYPRE_ParCSRHybridSetNumPaths(solver, num_paths) - ccall((:HYPRE_ParCSRHybridSetNumPaths, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, num_paths) -end - -function HYPRE_ParCSRHybridSetNumFunctions(solver, num_functions) - ccall((:HYPRE_ParCSRHybridSetNumFunctions, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, num_functions) -end - -function HYPRE_ParCSRHybridSetDofFunc(solver, dof_func) - ccall((:HYPRE_ParCSRHybridSetDofFunc, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, dof_func) -end - -function HYPRE_ParCSRHybridSetNodal(solver, nodal) - ccall((:HYPRE_ParCSRHybridSetNodal, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, nodal) -end - -function HYPRE_ParCSRHybridSetKeepTranspose(solver, keepT) - ccall((:HYPRE_ParCSRHybridSetKeepTranspose, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, keepT) -end - -function HYPRE_ParCSRHybridSetNonGalerkinTol(solver, num_levels, nongalerkin_tol) - ccall((:HYPRE_ParCSRHybridSetNonGalerkinTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, Ptr{HYPRE_Real}), solver, num_levels, nongalerkin_tol) -end - -function HYPRE_ParCSRHybridGetNumIterations(solver, num_its) - ccall((:HYPRE_ParCSRHybridGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_its) -end - -function HYPRE_ParCSRHybridGetDSCGNumIterations(solver, dscg_num_its) - ccall((:HYPRE_ParCSRHybridGetDSCGNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, dscg_num_its) -end - -function HYPRE_ParCSRHybridGetPCGNumIterations(solver, pcg_num_its) - ccall((:HYPRE_ParCSRHybridGetPCGNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, pcg_num_its) -end - -function HYPRE_ParCSRHybridGetFinalRelativeResidualNorm(solver, norm) - ccall((:HYPRE_ParCSRHybridGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) -end - -function HYPRE_ParCSRHybridSetNumGridSweeps(solver, num_grid_sweeps) - ccall((:HYPRE_ParCSRHybridSetNumGridSweeps, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_grid_sweeps) -end - -function HYPRE_ParCSRHybridGetSetupSolveTime(solver, time) - ccall((:HYPRE_ParCSRHybridGetSetupSolveTime, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, time) -end - -function HYPRE_SchwarzCreate(solver) - ccall((:HYPRE_SchwarzCreate, libHYPRE), HYPRE_Int, (Ptr{HYPRE_Solver},), solver) -end - -function HYPRE_SchwarzDestroy(solver) - ccall((:HYPRE_SchwarzDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_SchwarzSetup(solver, A, b, x) - ccall((:HYPRE_SchwarzSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_SchwarzSolve(solver, A, b, x) - ccall((:HYPRE_SchwarzSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_SchwarzSetVariant(solver, variant) - ccall((:HYPRE_SchwarzSetVariant, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, variant) -end - -function HYPRE_SchwarzSetOverlap(solver, overlap) - ccall((:HYPRE_SchwarzSetOverlap, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, overlap) -end - -function HYPRE_SchwarzSetDomainType(solver, domain_type) - ccall((:HYPRE_SchwarzSetDomainType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, domain_type) -end - -function HYPRE_SchwarzSetRelaxWeight(solver, relax_weight) - ccall((:HYPRE_SchwarzSetRelaxWeight, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, relax_weight) -end - -function HYPRE_SchwarzSetDomainStructure(solver, domain_structure) - ccall((:HYPRE_SchwarzSetDomainStructure, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_CSRMatrix), solver, domain_structure) -end - -function HYPRE_SchwarzSetNumFunctions(solver, num_functions) - ccall((:HYPRE_SchwarzSetNumFunctions, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, num_functions) -end - -function HYPRE_SchwarzSetDofFunc(solver, dof_func) - ccall((:HYPRE_SchwarzSetDofFunc, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, dof_func) -end - -function HYPRE_SchwarzSetNonSymm(solver, use_nonsymm) - ccall((:HYPRE_SchwarzSetNonSymm, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, use_nonsymm) -end - -function HYPRE_ParCSRCGNRCreate(comm, solver) - ccall((:HYPRE_ParCSRCGNRCreate, libHYPRE), HYPRE_Int, (MPI_Comm, Ptr{HYPRE_Solver}), comm, solver) -end - -function HYPRE_ParCSRCGNRDestroy(solver) - ccall((:HYPRE_ParCSRCGNRDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_ParCSRCGNRSetup(solver, A, b, x) - ccall((:HYPRE_ParCSRCGNRSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParCSRCGNRSolve(solver, A, b, x) - ccall((:HYPRE_ParCSRCGNRSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ParCSRCGNRSetTol(solver, tol) - ccall((:HYPRE_ParCSRCGNRSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_ParCSRCGNRSetMinIter(solver, min_iter) - ccall((:HYPRE_ParCSRCGNRSetMinIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, min_iter) -end - -function HYPRE_ParCSRCGNRSetMaxIter(solver, max_iter) - ccall((:HYPRE_ParCSRCGNRSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) -end - -function HYPRE_ParCSRCGNRSetStopCrit(solver, stop_crit) - ccall((:HYPRE_ParCSRCGNRSetStopCrit, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, stop_crit) -end - -function HYPRE_ParCSRCGNRSetPrecond(solver, precond, precondT, precond_setup, precond_solver) - ccall((:HYPRE_ParCSRCGNRSetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_Solver), solver, precond, precondT, precond_setup, precond_solver) -end - -function HYPRE_ParCSRCGNRGetPrecond(solver, precond_data) - ccall((:HYPRE_ParCSRCGNRGetPrecond, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Solver}), solver, precond_data) -end - -function HYPRE_ParCSRCGNRSetLogging(solver, logging) - ccall((:HYPRE_ParCSRCGNRSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) -end - -function HYPRE_ParCSRCGNRGetNumIterations(solver, num_iterations) - ccall((:HYPRE_ParCSRCGNRGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) -end - -function HYPRE_ParCSRCGNRGetFinalRelativeResidualNorm(solver, norm) - ccall((:HYPRE_ParCSRCGNRGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, norm) -end - -function HYPRE_MGRCreate(solver) - ccall((:HYPRE_MGRCreate, libHYPRE), HYPRE_Int, (Ptr{HYPRE_Solver},), solver) -end - -function HYPRE_MGRDestroy(solver) - ccall((:HYPRE_MGRDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_MGRSetup(solver, A, b, x) - ccall((:HYPRE_MGRSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_MGRSolve(solver, A, b, x) - ccall((:HYPRE_MGRSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_MGRSetCpointsByContiguousBlock(solver, block_size, max_num_levels, idx_array, num_block_coarse_points, block_coarse_indexes) - ccall((:HYPRE_MGRSetCpointsByContiguousBlock, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_BigInt}, Ptr{HYPRE_Int}, Ptr{Ptr{HYPRE_Int}}), solver, block_size, max_num_levels, idx_array, num_block_coarse_points, block_coarse_indexes) -end - -function HYPRE_MGRSetCpointsByBlock(solver, block_size, max_num_levels, num_block_coarse_points, block_coarse_indexes) - ccall((:HYPRE_MGRSetCpointsByBlock, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Int}, Ptr{Ptr{HYPRE_Int}}), solver, block_size, max_num_levels, num_block_coarse_points, block_coarse_indexes) -end - -function HYPRE_MGRSetCpointsByPointMarkerArray(solver, block_size, max_num_levels, num_block_coarse_points, lvl_block_coarse_indexes, point_marker_array) - ccall((:HYPRE_MGRSetCpointsByPointMarkerArray, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Int}, Ptr{Ptr{HYPRE_Int}}, Ptr{HYPRE_Int}), solver, block_size, max_num_levels, num_block_coarse_points, lvl_block_coarse_indexes, point_marker_array) -end - -function HYPRE_MGRSetNonCpointsToFpoints(solver, nonCptToFptFlag) - ccall((:HYPRE_MGRSetNonCpointsToFpoints, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, nonCptToFptFlag) -end - -function HYPRE_MGRSetMaxCoarseLevels(solver, maxlev) - ccall((:HYPRE_MGRSetMaxCoarseLevels, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, maxlev) -end - -function HYPRE_MGRSetBlockSize(solver, bsize) - ccall((:HYPRE_MGRSetBlockSize, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, bsize) -end - -function HYPRE_MGRSetReservedCoarseNodes(solver, reserved_coarse_size, reserved_coarse_nodes) - ccall((:HYPRE_MGRSetReservedCoarseNodes, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int, Ptr{HYPRE_BigInt}), solver, reserved_coarse_size, reserved_coarse_nodes) -end - -function HYPRE_MGRSetReservedCpointsLevelToKeep(solver, level) - ccall((:HYPRE_MGRSetReservedCpointsLevelToKeep, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, level) -end - -function HYPRE_MGRSetRelaxType(solver, relax_type) - ccall((:HYPRE_MGRSetRelaxType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, relax_type) -end - -function HYPRE_MGRSetFRelaxMethod(solver, relax_method) - ccall((:HYPRE_MGRSetFRelaxMethod, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, relax_method) -end - -function HYPRE_MGRSetLevelFRelaxMethod(solver, relax_method) - ccall((:HYPRE_MGRSetLevelFRelaxMethod, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, relax_method) -end - -function HYPRE_MGRSetCoarseGridMethod(solver, cg_method) - ccall((:HYPRE_MGRSetCoarseGridMethod, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, cg_method) -end - -function HYPRE_MGRSetLevelFRelaxNumFunctions(solver, num_functions) - ccall((:HYPRE_MGRSetLevelFRelaxNumFunctions, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_functions) -end - -function HYPRE_MGRSetRestrictType(solver, restrict_type) - ccall((:HYPRE_MGRSetRestrictType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, restrict_type) -end - -function HYPRE_MGRSetLevelRestrictType(solver, restrict_type) - ccall((:HYPRE_MGRSetLevelRestrictType, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, restrict_type) -end - -function HYPRE_MGRSetNumRestrictSweeps(solver, nsweeps) - ccall((:HYPRE_MGRSetNumRestrictSweeps, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, nsweeps) -end - -function HYPRE_MGRSetInterpType(solver, interp_type) - ccall((:HYPRE_MGRSetInterpType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, interp_type) -end - -function HYPRE_MGRSetLevelInterpType(solver, interp_type) - ccall((:HYPRE_MGRSetLevelInterpType, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, interp_type) -end - -function HYPRE_MGRSetNumRelaxSweeps(solver, nsweeps) - ccall((:HYPRE_MGRSetNumRelaxSweeps, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, nsweeps) -end - -function HYPRE_MGRSetNumInterpSweeps(solver, nsweeps) - ccall((:HYPRE_MGRSetNumInterpSweeps, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, nsweeps) -end - -function HYPRE_MGRSetFSolver(solver, fine_grid_solver_solve, fine_grid_solver_setup, fsolver) - ccall((:HYPRE_MGRSetFSolver, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_Solver), solver, fine_grid_solver_solve, fine_grid_solver_setup, fsolver) -end - -function HYPRE_MGRBuildAff(A, CF_marker, debug_flag, A_ff) - ccall((:HYPRE_MGRBuildAff, libHYPRE), HYPRE_Int, (HYPRE_ParCSRMatrix, Ptr{HYPRE_Int}, HYPRE_Int, Ptr{HYPRE_ParCSRMatrix}), A, CF_marker, debug_flag, A_ff) -end - -function HYPRE_MGRSetCoarseSolver(solver, coarse_grid_solver_solve, coarse_grid_solver_setup, coarse_grid_solver) - ccall((:HYPRE_MGRSetCoarseSolver, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_PtrToParSolverFcn, HYPRE_PtrToParSolverFcn, HYPRE_Solver), solver, coarse_grid_solver_solve, coarse_grid_solver_setup, coarse_grid_solver) -end - -function HYPRE_MGRSetPrintLevel(solver, print_level) - ccall((:HYPRE_MGRSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) -end - -function HYPRE_MGRSetFrelaxPrintLevel(solver, print_level) - ccall((:HYPRE_MGRSetFrelaxPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) -end - -function HYPRE_MGRSetCoarseGridPrintLevel(solver, print_level) - ccall((:HYPRE_MGRSetCoarseGridPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) -end - -function HYPRE_MGRSetTruncateCoarseGridThreshold(solver, threshold) - ccall((:HYPRE_MGRSetTruncateCoarseGridThreshold, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, threshold) -end - -function HYPRE_MGRSetLogging(solver, logging) - ccall((:HYPRE_MGRSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) -end - -function HYPRE_MGRSetMaxIter(solver, max_iter) - ccall((:HYPRE_MGRSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) -end - -function HYPRE_MGRSetTol(solver, tol) - ccall((:HYPRE_MGRSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_MGRSetMaxGlobalsmoothIters(solver, smooth_iter) - ccall((:HYPRE_MGRSetMaxGlobalsmoothIters, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, smooth_iter) -end - -function HYPRE_MGRSetGlobalsmoothType(solver, smooth_type) - ccall((:HYPRE_MGRSetGlobalsmoothType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, smooth_type) -end - -function HYPRE_MGRGetNumIterations(solver, num_iterations) - ccall((:HYPRE_MGRGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) -end - -function HYPRE_MGRGetCoarseGridConvergenceFactor(solver, conv_factor) - ccall((:HYPRE_MGRGetCoarseGridConvergenceFactor, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, conv_factor) -end - -function HYPRE_MGRSetPMaxElmts(solver, P_max_elmts) - ccall((:HYPRE_MGRSetPMaxElmts, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, P_max_elmts) -end - -function HYPRE_MGRGetFinalRelativeResidualNorm(solver, res_norm) - ccall((:HYPRE_MGRGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, res_norm) -end - -function HYPRE_ILUCreate(solver) - ccall((:HYPRE_ILUCreate, libHYPRE), HYPRE_Int, (Ptr{HYPRE_Solver},), solver) -end - -function HYPRE_ILUDestroy(solver) - ccall((:HYPRE_ILUDestroy, libHYPRE), HYPRE_Int, (HYPRE_Solver,), solver) -end - -function HYPRE_ILUSetup(solver, A, b, x) - ccall((:HYPRE_ILUSetup, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ILUSolve(solver, A, b, x) - ccall((:HYPRE_ILUSolve, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector), solver, A, b, x) -end - -function HYPRE_ILUSetMaxIter(solver, max_iter) - ccall((:HYPRE_ILUSetMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, max_iter) -end - -function HYPRE_ILUSetTol(solver, tol) - ccall((:HYPRE_ILUSetTol, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, tol) -end - -function HYPRE_ILUSetLevelOfFill(solver, lfil) - ccall((:HYPRE_ILUSetLevelOfFill, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, lfil) -end - -function HYPRE_ILUSetMaxNnzPerRow(solver, nzmax) - ccall((:HYPRE_ILUSetMaxNnzPerRow, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, nzmax) -end - -function HYPRE_ILUSetDropThreshold(solver, threshold) - ccall((:HYPRE_ILUSetDropThreshold, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, threshold) -end - -function HYPRE_ILUSetDropThresholdArray(solver, threshold) - ccall((:HYPRE_ILUSetDropThresholdArray, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, threshold) -end - -function HYPRE_ILUSetNSHDropThreshold(solver, threshold) - ccall((:HYPRE_ILUSetNSHDropThreshold, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, threshold) -end - -function HYPRE_ILUSetNSHDropThresholdArray(solver, threshold) - ccall((:HYPRE_ILUSetNSHDropThresholdArray, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, threshold) -end - -function HYPRE_ILUSetSchurMaxIter(solver, ss_max_iter) - ccall((:HYPRE_ILUSetSchurMaxIter, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, ss_max_iter) -end - -function HYPRE_ILUSetType(solver, ilu_type) - ccall((:HYPRE_ILUSetType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, ilu_type) -end - -function HYPRE_ILUSetLocalReordering(solver, reordering_type) - ccall((:HYPRE_ILUSetLocalReordering, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, reordering_type) -end - -function HYPRE_ILUSetPrintLevel(solver, print_level) - ccall((:HYPRE_ILUSetPrintLevel, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, print_level) -end - -function HYPRE_ILUSetLogging(solver, logging) - ccall((:HYPRE_ILUSetLogging, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, logging) -end - -function HYPRE_ILUGetNumIterations(solver, num_iterations) - ccall((:HYPRE_ILUGetNumIterations, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Int}), solver, num_iterations) -end - -function HYPRE_ILUGetFinalRelativeResidualNorm(solver, res_norm) - ccall((:HYPRE_ILUGetFinalRelativeResidualNorm, libHYPRE), HYPRE_Int, (HYPRE_Solver, Ptr{HYPRE_Real}), solver, res_norm) -end - -function GenerateLaplacian(comm, nx, ny, nz, P, Q, R, p, q, r, value) - ccall((:GenerateLaplacian, libHYPRE), HYPRE_ParCSRMatrix, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Real}), comm, nx, ny, nz, P, Q, R, p, q, r, value) -end - -function GenerateLaplacian27pt(comm, nx, ny, nz, P, Q, R, p, q, r, value) - ccall((:GenerateLaplacian27pt, libHYPRE), HYPRE_ParCSRMatrix, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Real}), comm, nx, ny, nz, P, Q, R, p, q, r, value) -end - -function GenerateLaplacian9pt(comm, nx, ny, P, Q, p, q, value) - ccall((:GenerateLaplacian9pt, libHYPRE), HYPRE_ParCSRMatrix, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Real}), comm, nx, ny, P, Q, p, q, value) -end - -function GenerateDifConv(comm, nx, ny, nz, P, Q, R, p, q, r, value) - ccall((:GenerateDifConv, libHYPRE), HYPRE_ParCSRMatrix, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, Ptr{HYPRE_Real}), comm, nx, ny, nz, P, Q, R, p, q, r, value) -end - -function GenerateRotate7pt(comm, nx, ny, P, Q, p, q, alpha, eps) - ccall((:GenerateRotate7pt, libHYPRE), HYPRE_ParCSRMatrix, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Real, HYPRE_Real), comm, nx, ny, P, Q, p, q, alpha, eps) -end - -function GenerateVarDifConv(comm, nx, ny, nz, P, Q, R, p, q, r, eps, rhs_ptr) - ccall((:GenerateVarDifConv, libHYPRE), HYPRE_ParCSRMatrix, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Real, Ptr{HYPRE_ParVector}), comm, nx, ny, nz, P, Q, R, p, q, r, eps, rhs_ptr) -end - -function GenerateRSVarDifConv(comm, nx, ny, nz, P, Q, R, p, q, r, eps, rhs_ptr, type) - ccall((:GenerateRSVarDifConv, libHYPRE), HYPRE_ParCSRMatrix, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Real, Ptr{HYPRE_ParVector}, HYPRE_Int), comm, nx, ny, nz, P, Q, R, p, q, r, eps, rhs_ptr, type) -end - -function GenerateCoordinates(comm, nx, ny, nz, P, Q, R, p, q, r, coorddim) - ccall((:GenerateCoordinates, libHYPRE), Ptr{Cfloat}, (MPI_Comm, HYPRE_BigInt, HYPRE_BigInt, HYPRE_BigInt, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int, HYPRE_Int), comm, nx, ny, nz, P, Q, R, p, q, r, coorddim) -end - -function HYPRE_BoomerAMGSetPostInterpType(solver, post_interp_type) - ccall((:HYPRE_BoomerAMGSetPostInterpType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, post_interp_type) -end - -function HYPRE_BoomerAMGSetJacobiTruncThreshold(solver, jacobi_trunc_threshold) - ccall((:HYPRE_BoomerAMGSetJacobiTruncThreshold, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, jacobi_trunc_threshold) -end - -function HYPRE_BoomerAMGSetNumCRRelaxSteps(solver, num_CR_relax_steps) - ccall((:HYPRE_BoomerAMGSetNumCRRelaxSteps, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, num_CR_relax_steps) -end - -function HYPRE_BoomerAMGSetCRRate(solver, CR_rate) - ccall((:HYPRE_BoomerAMGSetCRRate, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, CR_rate) -end - -function HYPRE_BoomerAMGSetCRStrongTh(solver, CR_strong_th) - ccall((:HYPRE_BoomerAMGSetCRStrongTh, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Real), solver, CR_strong_th) -end - -function HYPRE_BoomerAMGSetCRUseCG(solver, CR_use_CG) - ccall((:HYPRE_BoomerAMGSetCRUseCG, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, CR_use_CG) -end - -function HYPRE_BoomerAMGSetISType(solver, IS_type) - ccall((:HYPRE_BoomerAMGSetISType, libHYPRE), HYPRE_Int, (HYPRE_Solver, HYPRE_Int), solver, IS_type) -end - -function HYPRE_ParCSRSetupInterpreter(i) - ccall((:HYPRE_ParCSRSetupInterpreter, libHYPRE), HYPRE_Int, (Ptr{mv_InterfaceInterpreter},), i) -end - -function HYPRE_ParCSRSetupMatvec(mv) - ccall((:HYPRE_ParCSRSetupMatvec, libHYPRE), HYPRE_Int, (Ptr{HYPRE_MatvecFunctions},), mv) -end - -function HYPRE_ParCSRMultiVectorPrint(x_, fileName) - ccall((:HYPRE_ParCSRMultiVectorPrint, libHYPRE), HYPRE_Int, (Ptr{Cvoid}, Ptr{Cchar}), x_, fileName) -end - -function HYPRE_ParCSRMultiVectorRead(comm, ii_, fileName) - ccall((:HYPRE_ParCSRMultiVectorRead, libHYPRE), Ptr{Cvoid}, (MPI_Comm, Ptr{Cvoid}, Ptr{Cchar}), comm, ii_, fileName) -end - -const HYPRE_UNITIALIZED = -999 - -const HYPRE_PETSC_MAT_PARILUT_SOLVER = 222 - -const HYPRE_PARILUT = 333 - -const HYPRE_STRUCT = 1111 - -const HYPRE_SSTRUCT = 3333 - -const HYPRE_PARCSR = 5555 - -const HYPRE_ISIS = 9911 - -const HYPRE_PETSC = 9933 - -const HYPRE_PFMG = 10 - -const HYPRE_SMG = 11 - -const HYPRE_Jacobi = 17 - -const HYPRE_RELEASE_NAME = "HYPRE" - -const HYPRE_RELEASE_VERSION = "2.23.0" - -const HYPRE_RELEASE_NUMBER = 22300 - -const HYPRE_RELEASE_DATE = "2021/10/01" - -const HYPRE_RELEASE_TIME = "00:00:00" - -const HYPRE_RELEASE_BUGS = "https://github.com/hypre-space/hypre/issues" - -const HYPRE_MAXDIM = 3 - -const HYPRE_USING_HYPRE_BLAS = 1 - -const HYPRE_USING_HYPRE_LAPACK = 1 - -const HYPRE_HAVE_MPI = 1 - -const HYPRE_FMANGLE = 0 - -const HYPRE_FMANGLE_BLAS = 0 - -const HYPRE_FMANGLE_LAPACK = 0 - -const HYPRE_USING_HOST_MEMORY = 1 - -const NO_TAGS_WITH_MODIFIERS = 1 - -const MPI_COMM_NULL = MPI_Comm(0x04000000) - -const MPI_OP_NULL = MPI_Op(0x18000000) - -const MPI_GROUP_NULL = MPI_Group(0x08000000) - -const MPI_DATATYPE_NULL = MPI_Datatype(0x0c000000) - -const MPI_REQUEST_NULL = MPI_Request(0x2c000000) - -const MPI_ERRHANDLER_NULL = MPI_Errhandler(0x14000000) - -const MPI_MESSAGE_NULL = MPI_Message(0x2c000000) - -const MPI_MESSAGE_NO_PROC = MPI_Message(0x6c000000) - -const MPI_IDENT = 0 - -const MPI_CONGRUENT = 1 - -const MPI_SIMILAR = 2 - -const MPI_UNEQUAL = 3 - -const MPI_CHAR = MPI_Datatype(0x4c000101) - -const MPI_SIGNED_CHAR = MPI_Datatype(0x4c000118) - -const MPI_UNSIGNED_CHAR = MPI_Datatype(0x4c000102) - -const MPI_BYTE = MPI_Datatype(0x4c00010d) - -const MPI_WCHAR = MPI_Datatype(0x4c00040e) - -const MPI_SHORT = MPI_Datatype(0x4c000203) - -const MPI_UNSIGNED_SHORT = MPI_Datatype(0x4c000204) - -const MPI_INT = MPI_Datatype(0x4c000405) - -const MPI_UNSIGNED = MPI_Datatype(0x4c000406) - -const MPI_LONG = MPI_Datatype(0x4c000807) - -const MPI_UNSIGNED_LONG = MPI_Datatype(0x4c000808) - -const MPI_FLOAT = MPI_Datatype(0x4c00040a) - -const MPI_DOUBLE = MPI_Datatype(0x4c00080b) - -const MPI_LONG_DOUBLE = MPI_Datatype(0x4c00100c) - -const MPI_LONG_LONG_INT = MPI_Datatype(0x4c000809) - -const MPI_UNSIGNED_LONG_LONG = MPI_Datatype(0x4c000819) - -const MPI_LONG_LONG = MPI_LONG_LONG_INT - -const MPI_PACKED = MPI_Datatype(0x4c00010f) - -const MPI_LB = MPI_Datatype(0x4c000010) - -const MPI_UB = MPI_Datatype(0x4c000011) - -const MPI_2INT = MPI_Datatype(0x4c000816) - -const MPI_COMPLEX = MPI_Datatype(0x4c00081e) - -const MPI_DOUBLE_COMPLEX = MPI_Datatype(0x4c001022) - -const MPI_LOGICAL = MPI_Datatype(0x4c00041d) - -const MPI_REAL = MPI_Datatype(0x4c00041c) - -const MPI_DOUBLE_PRECISION = MPI_Datatype(0x4c00081f) - -const MPI_INTEGER = MPI_Datatype(0x4c00041b) - -const MPI_2INTEGER = MPI_Datatype(0x4c000820) - -const MPI_2REAL = MPI_Datatype(0x4c000821) - -const MPI_2DOUBLE_PRECISION = MPI_Datatype(0x4c001023) - -const MPI_CHARACTER = MPI_Datatype(0x4c00011a) - -const MPI_REAL4 = MPI_Datatype(0x4c000427) - -const MPI_REAL8 = MPI_Datatype(0x4c000829) - -const MPI_REAL16 = MPI_Datatype(0x4c00102b) - -const MPI_COMPLEX8 = MPI_Datatype(0x4c000828) - -const MPI_COMPLEX16 = MPI_Datatype(0x4c00102a) - -const MPI_COMPLEX32 = MPI_Datatype(0x4c00202c) - -const MPI_INTEGER1 = MPI_Datatype(0x4c00012d) - -const MPI_INTEGER2 = MPI_Datatype(0x4c00022f) - -const MPI_INTEGER4 = MPI_Datatype(0x4c000430) - -const MPI_INTEGER8 = MPI_Datatype(0x4c000831) - -const MPI_INTEGER16 = MPI_Datatype(MPI_DATATYPE_NULL) - -const MPI_INT8_T = MPI_Datatype(0x4c000137) - -const MPI_INT16_T = MPI_Datatype(0x4c000238) - -const MPI_INT32_T = MPI_Datatype(0x4c000439) - -const MPI_INT64_T = MPI_Datatype(0x4c00083a) - -const MPI_UINT8_T = MPI_Datatype(0x4c00013b) - -const MPI_UINT16_T = MPI_Datatype(0x4c00023c) - -const MPI_UINT32_T = MPI_Datatype(0x4c00043d) - -const MPI_UINT64_T = MPI_Datatype(0x4c00083e) - -const MPI_C_BOOL = MPI_Datatype(0x4c00013f) - -const MPI_C_FLOAT_COMPLEX = MPI_Datatype(0x4c000840) - -const MPI_C_COMPLEX = MPI_C_FLOAT_COMPLEX - -const MPI_C_DOUBLE_COMPLEX = MPI_Datatype(0x4c001041) - -const MPI_C_LONG_DOUBLE_COMPLEX = MPI_Datatype(0x4c002042) - -const MPIX_C_FLOAT16 = MPI_Datatype(0x4c000246) - -const MPI_AINT = MPI_Datatype(0x4c000843) - -const MPI_OFFSET = MPI_Datatype(0x4c000844) - -const MPI_COUNT = MPI_Datatype(0x4c000845) - -const MPI_CXX_BOOL = MPI_Datatype(0x4c000133) - -const MPI_CXX_FLOAT_COMPLEX = MPI_Datatype(0x4c000834) - -const MPI_CXX_DOUBLE_COMPLEX = MPI_Datatype(0x4c001035) - -const MPI_CXX_LONG_DOUBLE_COMPLEX = MPI_Datatype(0x4c002036) - -const MPI_TYPECLASS_REAL = 1 - -const MPI_TYPECLASS_INTEGER = 2 - -const MPI_TYPECLASS_COMPLEX = 3 - -const MPI_COMM_WORLD = MPI_Comm(0x44000000) - -const MPI_COMM_SELF = MPI_Comm(0x44000001) - -const MPI_GROUP_EMPTY = MPI_Group(0x48000000) - -const MPI_WIN_NULL = MPI_Win(0x20000000) - -const MPI_SESSION_NULL = MPI_Session(0x38000000) - -const MPI_FILE_NULL = MPI_File(0) - -const MPI_MAX = MPI_Op(0x58000001) - -const MPI_MIN = MPI_Op(0x58000002) - -const MPI_SUM = MPI_Op(0x58000003) - -const MPI_PROD = MPI_Op(0x58000004) - -const MPI_LAND = MPI_Op(0x58000005) - -const MPI_BAND = MPI_Op(0x58000006) - -const MPI_LOR = MPI_Op(0x58000007) - -const MPI_BOR = MPI_Op(0x58000008) - -const MPI_LXOR = MPI_Op(0x58000009) - -const MPI_BXOR = MPI_Op(0x5800000a) - -const MPI_MINLOC = MPI_Op(0x5800000b) - -const MPI_MAXLOC = MPI_Op(0x5800000c) - -const MPI_REPLACE = MPI_Op(0x5800000d) - -const MPI_NO_OP = MPI_Op(0x5800000e) - -const MPI_TAG_UB = 0x64400001 - -const MPI_HOST = 0x64400003 - -const MPI_IO = 0x64400005 - -const MPI_WTIME_IS_GLOBAL = 0x64400007 - -const MPI_UNIVERSE_SIZE = 0x64400009 - -const MPI_LASTUSEDCODE = 0x6440000b - -const MPI_APPNUM = 0x6440000d - -const MPI_WIN_BASE = 0x66000001 - -const MPI_WIN_SIZE = 0x66000003 - -const MPI_WIN_DISP_UNIT = 0x66000005 - -const MPI_WIN_CREATE_FLAVOR = 0x66000007 - -const MPI_WIN_MODEL = 0x66000009 - -const MPI_MAX_PROCESSOR_NAME = 128 - -const MPI_MAX_LIBRARY_VERSION_STRING = 8192 - -const MPI_MAX_ERROR_STRING = 512 - -const MPI_MAX_PORT_NAME = 256 - -const MPI_MAX_OBJECT_NAME = 128 - -const MPI_MAX_STRINGTAG_LEN = 256 - -const MPI_MAX_PSET_NAME_LEN = 256 - -const MPI_UNDEFINED = -32766 - -const MPI_KEYVAL_INVALID = 0x24000000 - -const MPI_BSEND_OVERHEAD = 96 - -# Skipping MacroDefinition: MPI_BOTTOM ( void * ) 0 - -const MPI_PROC_NULL = -1 - -const MPI_ANY_SOURCE = -2 - -const MPI_ROOT = -3 - -const MPI_ANY_TAG = -1 - -const MPI_LOCK_EXCLUSIVE = 234 - -const MPI_LOCK_SHARED = 235 - -const MPI_ERRORS_ARE_FATAL = MPI_Errhandler(0x54000000) - -const MPI_ERRORS_RETURN = MPI_Errhandler(0x54000001) - -const MPI_ERRORS_ABORT = MPI_Errhandler(0x54000003) - -const MPIR_ERRORS_THROW_EXCEPTIONS = MPI_Errhandler(0x54000002) - -# Skipping MacroDefinition: MPI_NULL_COPY_FN ( ( MPI_Copy_function * ) 0 ) - -# Skipping MacroDefinition: MPI_NULL_DELETE_FN ( ( MPI_Delete_function * ) 0 ) - -const MPI_DUP_FN = MPIR_Dup_fn - -# Skipping MacroDefinition: MPI_COMM_NULL_COPY_FN ( ( MPI_Comm_copy_attr_function * ) 0 ) - -# Skipping MacroDefinition: MPI_COMM_NULL_DELETE_FN ( ( MPI_Comm_delete_attr_function * ) 0 ) - -# Skipping MacroDefinition: MPI_COMM_DUP_FN ( ( MPI_Comm_copy_attr_function * ) MPI_DUP_FN ) - -# Skipping MacroDefinition: MPI_WIN_NULL_COPY_FN ( ( MPI_Win_copy_attr_function * ) 0 ) - -# Skipping MacroDefinition: MPI_WIN_NULL_DELETE_FN ( ( MPI_Win_delete_attr_function * ) 0 ) - -# Skipping MacroDefinition: MPI_WIN_DUP_FN ( ( MPI_Win_copy_attr_function * ) MPI_DUP_FN ) - -# Skipping MacroDefinition: MPI_TYPE_NULL_COPY_FN ( ( MPI_Type_copy_attr_function * ) 0 ) - -# Skipping MacroDefinition: MPI_TYPE_NULL_DELETE_FN ( ( MPI_Type_delete_attr_function * ) 0 ) - -# Skipping MacroDefinition: MPI_TYPE_DUP_FN ( ( MPI_Type_copy_attr_function * ) MPI_DUP_FN ) - -const MPI_VERSION = 4 - -const MPI_SUBVERSION = 0 - -const MPICH_NAME = 4 - -const MPICH = 1 - -const MPICH_HAS_C2F = 1 - -const MPICH_VERSION = "4.0.2" - -const MPICH_NUMVERSION = 40002300 - -const MPICH_RELEASE_TYPE_ALPHA = 0 - -const MPICH_RELEASE_TYPE_BETA = 1 - -const MPICH_RELEASE_TYPE_RC = 2 - -const MPICH_RELEASE_TYPE_PATCH = 3 - -const MPI_INFO_NULL = MPI_Info(0x1c000000) - -const MPI_INFO_ENV = MPI_Info(0x5c000001) - -const MPI_MAX_INFO_KEY = 255 - -const MPI_MAX_INFO_VAL = 1024 - -const MPI_ORDER_C = 56 - -const MPI_ORDER_FORTRAN = 57 - -const MPI_DISTRIBUTE_BLOCK = 121 - -const MPI_DISTRIBUTE_CYCLIC = 122 - -const MPI_DISTRIBUTE_NONE = 123 - -const MPI_DISTRIBUTE_DFLT_DARG = -49767 - -# Skipping MacroDefinition: MPI_IN_PLACE ( void * ) - 1 - -const MPI_MODE_NOCHECK = 1024 - -const MPI_MODE_NOSTORE = 2048 - -const MPI_MODE_NOPUT = 4096 - -const MPI_MODE_NOPRECEDE = 8192 - -const MPI_MODE_NOSUCCEED = 16384 - -const MPI_COMM_TYPE_SHARED = 1 - -const MPI_COMM_TYPE_HW_GUIDED = 2 - -const MPI_COMM_TYPE_HW_UNGUIDED = 3 - -const MPIX_COMM_TYPE_NEIGHBORHOOD = 4 - -const MPI_AINT_FMT_DEC_SPEC = "%ld" - -const MPI_AINT_FMT_HEX_SPEC = "%lx" - -# Skipping MacroDefinition: MPI_STATUS_IGNORE ( MPI_Status * ) 1 - -# Skipping MacroDefinition: MPI_STATUSES_IGNORE ( MPI_Status * ) 1 - -# Skipping MacroDefinition: MPI_ERRCODES_IGNORE ( int * ) 0 - -# Skipping MacroDefinition: MPI_ARGVS_NULL ( char * * * ) 0 - -const MPI_F_STATUS_SIZE = 5 - -const MPI_F_SOURCE = 2 - -const MPI_F_TAG = 3 - -const MPI_F_ERROR = 4 - -const MPI_THREAD_SINGLE = 0 - -const MPI_THREAD_FUNNELED = 1 - -const MPI_THREAD_SERIALIZED = 2 - -const MPI_THREAD_MULTIPLE = 3 - -const MPI_SUCCESS = 0 - -const MPI_ERR_BUFFER = 1 - -const MPI_ERR_COUNT = 2 - -const MPI_ERR_TYPE = 3 - -const MPI_ERR_TAG = 4 - -const MPI_ERR_COMM = 5 - -const MPI_ERR_RANK = 6 - -const MPI_ERR_ROOT = 7 - -const MPI_ERR_TRUNCATE = 14 - -const MPI_ERR_GROUP = 8 - -const MPI_ERR_OP = 9 - -const MPI_ERR_REQUEST = 19 - -const MPI_ERR_TOPOLOGY = 10 - -const MPI_ERR_DIMS = 11 - -const MPI_ERR_ARG = 12 - -const MPI_ERR_OTHER = 15 - -const MPI_ERR_UNKNOWN = 13 - -const MPI_ERR_INTERN = 16 - -const MPI_ERR_IN_STATUS = 17 - -const MPI_ERR_PENDING = 18 - -const MPI_ERR_ACCESS = 20 - -const MPI_ERR_AMODE = 21 - -const MPI_ERR_BAD_FILE = 22 - -const MPI_ERR_CONVERSION = 23 - -const MPI_ERR_DUP_DATAREP = 24 - -const MPI_ERR_FILE_EXISTS = 25 - -const MPI_ERR_FILE_IN_USE = 26 - -const MPI_ERR_FILE = 27 - -const MPI_ERR_IO = 32 - -const MPI_ERR_NO_SPACE = 36 - -const MPI_ERR_NO_SUCH_FILE = 37 - -const MPI_ERR_READ_ONLY = 40 - -const MPI_ERR_UNSUPPORTED_DATAREP = 43 - -const MPI_ERR_INFO = 28 - -const MPI_ERR_INFO_KEY = 29 - -const MPI_ERR_INFO_VALUE = 30 - -const MPI_ERR_INFO_NOKEY = 31 - -const MPI_ERR_NAME = 33 - -const MPI_ERR_NO_MEM = 34 - -const MPI_ERR_NOT_SAME = 35 - -const MPI_ERR_PORT = 38 - -const MPI_ERR_QUOTA = 39 - -const MPI_ERR_SERVICE = 41 - -const MPI_ERR_SPAWN = 42 - -const MPI_ERR_UNSUPPORTED_OPERATION = 44 - -const MPI_ERR_WIN = 45 - -const MPI_ERR_BASE = 46 - -const MPI_ERR_LOCKTYPE = 47 - -const MPI_ERR_KEYVAL = 48 - -const MPI_ERR_RMA_CONFLICT = 49 - -const MPI_ERR_RMA_SYNC = 50 - -const MPI_ERR_SIZE = 51 - -const MPI_ERR_DISP = 52 - -const MPI_ERR_ASSERT = 53 - -const MPI_ERR_RMA_RANGE = 55 - -const MPI_ERR_RMA_ATTACH = 56 - -const MPI_ERR_RMA_SHARED = 57 - -const MPI_ERR_RMA_FLAVOR = 58 - -const MPI_T_ERR_MEMORY = 59 - -const MPI_T_ERR_NOT_INITIALIZED = 60 - -const MPI_T_ERR_CANNOT_INIT = 61 - -const MPI_T_ERR_INVALID_INDEX = 62 - -const MPI_T_ERR_INVALID_ITEM = 63 - -const MPI_T_ERR_INVALID_HANDLE = 64 - -const MPI_T_ERR_OUT_OF_HANDLES = 65 - -const MPI_T_ERR_OUT_OF_SESSIONS = 66 - -const MPI_T_ERR_INVALID_SESSION = 67 - -const MPI_T_ERR_CVAR_SET_NOT_NOW = 68 - -const MPI_T_ERR_CVAR_SET_NEVER = 69 - -const MPI_T_ERR_PVAR_NO_STARTSTOP = 70 - -const MPI_T_ERR_PVAR_NO_WRITE = 71 - -const MPI_T_ERR_PVAR_NO_ATOMIC = 72 - -const MPI_T_ERR_INVALID_NAME = 73 - -const MPI_T_ERR_INVALID = 74 - -const MPI_ERR_SESSION = 75 - -const MPI_ERR_PROC_ABORTED = 76 - -const MPI_ERR_VALUE_TOO_LARGE = 77 - -const MPI_T_ERR_NOT_SUPPORTED = 78 - -const MPI_ERR_LASTCODE = 0x3fffffff - -const MPICH_ERR_LAST_CLASS = 78 - -const MPICH_ERR_FIRST_MPIX = 100 - -const MPIX_ERR_PROC_FAILED = MPICH_ERR_FIRST_MPIX + 1 - -const MPIX_ERR_PROC_FAILED_PENDING = MPICH_ERR_FIRST_MPIX + 2 - -const MPIX_ERR_REVOKED = MPICH_ERR_FIRST_MPIX + 3 - -const MPIX_ERR_EAGAIN = MPICH_ERR_FIRST_MPIX + 4 - -const MPIX_ERR_NOREQ = MPICH_ERR_FIRST_MPIX + 5 - -const MPICH_ERR_LAST_MPIX = MPICH_ERR_FIRST_MPIX + 5 - -# Skipping MacroDefinition: MPI_CONVERSION_FN_NULL ( ( MPI_Datarep_conversion_function * ) 0 ) - -# Skipping MacroDefinition: MPI_CONVERSION_FN_NULL_C ( ( MPI_Datarep_conversion_function_c * ) 0 ) - -const QMPI_MAX_TOOL_NAME_LENGTH = 256 - -const MPIX_GPU_SUPPORT_CUDA = 0 - -const MPIX_GPU_SUPPORT_ZE = 1 - -const MPIX_GPU_SUPPORT_HIP = 2 - -const MPIIMPL_ADVERTISES_FEATURES = 1 - -const MPIIMPL_HAVE_MPI_INFO = 1 - -const MPIIMPL_HAVE_MPI_COMBINER_DARRAY = 1 - -const MPIIMPL_HAVE_MPI_TYPE_CREATE_DARRAY = 1 - -const MPIIMPL_HAVE_MPI_COMBINER_SUBARRAY = 1 - -const MPIIMPL_HAVE_MPI_COMBINER_DUP = 1 - -const MPIIMPL_HAVE_MPI_GREQUEST = 1 - -const MPIIMPL_HAVE_STATUS_SET_BYTES = 1 - -const MPIIMPL_HAVE_STATUS_SET_INFO = 1 - -const ROMIO_VERSION = 126 - -const HAVE_MPI_GREQUEST = 1 - -const MPIO_Request = MPI_Request - -const MPIO_Wait = MPI_Wait - -const MPIO_Test = MPI_Test - -const PMPIO_Wait = PMPI_Wait - -const PMPIO_Test = PMPI_Test - -const MPI_MODE_RDONLY = 2 - -const MPI_MODE_RDWR = 8 - -const MPI_MODE_WRONLY = 4 - -const MPI_MODE_CREATE = 1 - -const MPI_MODE_EXCL = 64 - -const MPI_MODE_DELETE_ON_CLOSE = 16 - -const MPI_MODE_UNIQUE_OPEN = 32 - -const MPI_MODE_APPEND = 128 - -const MPI_MODE_SEQUENTIAL = 256 - -const MPI_DISPLACEMENT_CURRENT = -54278278 - -const MPIO_REQUEST_NULL = MPIO_Request(0) - -const MPI_SEEK_SET = 600 - -const MPI_SEEK_CUR = 602 - -const MPI_SEEK_END = 604 - -const MPI_MAX_DATAREP_STRING = 128 +const HYPRE_USING_HOST_MEMORY = 1 const HYPRE_MPI_BIG_INT = MPI_INT