diff --git a/doc/shared/sunstepper/SUNStepper_Description.rst b/doc/shared/sunstepper/SUNStepper_Description.rst index 26d7cacc1a..5cc709e4f5 100644 --- a/doc/shared/sunstepper/SUNStepper_Description.rst +++ b/doc/shared/sunstepper/SUNStepper_Description.rst @@ -306,7 +306,7 @@ This section describes the virtual methods defined by the :c:type:`SUNStepper` abstract base class. -.. c:type:: SUNErrCode (*SUNStepperEvolveFn)(SUNStepper stepper, sunrealtype tout, N_Vector v, sunrealtype* tret, int* stop_reason) +.. c:type:: SUNErrCode (*SUNStepperEvolveFn)(SUNStepper stepper, sunrealtype tout, N_Vector vret, sunrealtype* tret) This type represents a function with the signature of :c:func:`SUNStepper_Evolve`. diff --git a/include/sundials/sundials_stepper.h b/include/sundials/sundials_stepper.h index 09ffbd4fd3..3b109dae3e 100644 --- a/include/sundials/sundials_stepper.h +++ b/include/sundials/sundials_stepper.h @@ -29,7 +29,7 @@ typedef int (*SUNJacTimesFn)(N_Vector v, N_Vector Jv, sunrealtype t, N_Vector y, typedef _SUNDIALS_STRUCT_ SUNStepper_* SUNStepper; typedef SUNErrCode (*SUNStepperEvolveFn)(SUNStepper stepper, sunrealtype tout, - N_Vector vout, sunrealtype* tret); + N_Vector vret, sunrealtype* tret); typedef SUNErrCode (*SUNStepperFullRhsFn)(SUNStepper stepper, sunrealtype t, N_Vector v, N_Vector f); @@ -55,7 +55,7 @@ SUNErrCode SUNStepper_Destroy(SUNStepper* stepper); SUNDIALS_EXPORT SUNErrCode SUNStepper_Evolve(SUNStepper stepper, sunrealtype tout, - N_Vector vout, sunrealtype* tret); + N_Vector vret, sunrealtype* tret); SUNDIALS_EXPORT SUNErrCode SUNStepper_FullRhs(SUNStepper stepper, sunrealtype t, N_Vector v, diff --git a/src/sundials/fmod_int32/fsundials_core_mod.f90 b/src/sundials/fmod_int32/fsundials_core_mod.f90 index d9671dafcc..3b5b29e96d 100644 --- a/src/sundials/fmod_int32/fsundials_core_mod.f90 +++ b/src/sundials/fmod_int32/fsundials_core_mod.f90 @@ -4988,13 +4988,13 @@ function FSUNStepper_Destroy(stepper) & swig_result = fresult end function -function FSUNStepper_Evolve(stepper, tout, vout, tret) & +function FSUNStepper_Evolve(stepper, tout, vret, tret) & result(swig_result) use, intrinsic :: ISO_C_BINDING integer(C_INT) :: swig_result type(C_PTR) :: stepper real(C_DOUBLE), intent(in) :: tout -type(N_Vector), target, intent(inout) :: vout +type(N_Vector), target, intent(inout) :: vret real(C_DOUBLE), dimension(*), target, intent(inout) :: tret integer(C_INT) :: fresult type(C_PTR) :: farg1 @@ -5004,7 +5004,7 @@ function FSUNStepper_Evolve(stepper, tout, vout, tret) & farg1 = stepper farg2 = tout -farg3 = c_loc(vout) +farg3 = c_loc(vret) farg4 = c_loc(tret(1)) fresult = swigc_FSUNStepper_Evolve(farg1, farg2, farg3, farg4) swig_result = fresult diff --git a/src/sundials/fmod_int64/fsundials_core_mod.f90 b/src/sundials/fmod_int64/fsundials_core_mod.f90 index 3837176437..8d71102c89 100644 --- a/src/sundials/fmod_int64/fsundials_core_mod.f90 +++ b/src/sundials/fmod_int64/fsundials_core_mod.f90 @@ -4988,13 +4988,13 @@ function FSUNStepper_Destroy(stepper) & swig_result = fresult end function -function FSUNStepper_Evolve(stepper, tout, vout, tret) & +function FSUNStepper_Evolve(stepper, tout, vret, tret) & result(swig_result) use, intrinsic :: ISO_C_BINDING integer(C_INT) :: swig_result type(C_PTR) :: stepper real(C_DOUBLE), intent(in) :: tout -type(N_Vector), target, intent(inout) :: vout +type(N_Vector), target, intent(inout) :: vret real(C_DOUBLE), dimension(*), target, intent(inout) :: tret integer(C_INT) :: fresult type(C_PTR) :: farg1 @@ -5004,7 +5004,7 @@ function FSUNStepper_Evolve(stepper, tout, vout, tret) & farg1 = stepper farg2 = tout -farg3 = c_loc(vout) +farg3 = c_loc(vret) farg4 = c_loc(tret(1)) fresult = swigc_FSUNStepper_Evolve(farg1, farg2, farg3, farg4) swig_result = fresult