User applications can now invoke hypre routines from both C and Fortran 77
b = hypre_vector_NewVector(com, grid, stencil)
x = hypre_vector_NewVector(com, grid, stencil)
A = hypre_matrix_NewMatrix(com, grid, stencil)
smg_solver = hypre_smg_solver_new()
call hypre_smg_solver_SetMaxIter(smg_solver, 10)
call hypre_smg_solver_Solve(smg_solver, A, b, x)
call hypre_smg_solver_Finalize(smg_solver)
hypre_smg_solver smg_solver;
b = hypre_vector_NewVector(com, grid, stencil);
x = hypre_vector_NewVector(com, grid, stencil);
A = hypre_matrix_NewMatrix(com, grid, stencil);
smg_solver = hypre_smg_solver_new();
hypre_smg_solver_SetMaxIter(smg_solver, 10);
hypre_smg_solver_Solve(smg_solver, &A, &b, &x);
hypre_smg_solver_Finalize(smg_solver);
The end user is completely unaware that IDL tools were used