@@ -62,24 +62,28 @@ m.attr("ARK_INNERTOOUTER_FAIL") = -36;
6262m.attr(" ARK_POSTPROCESS_FAIL" ) = -37 ;
6363m.attr(" ARK_POSTPROCESS_STEP_FAIL" ) = -37 ;
6464m.attr(" ARK_POSTPROCESS_STAGE_FAIL" ) = -38 ;
65- m.attr(" ARK_USER_PREDICT_FAIL" ) = -39 ;
66- m.attr(" ARK_INTERP_FAIL" ) = -40 ;
67- m.attr(" ARK_INVALID_TABLE" ) = -41 ;
68- m.attr(" ARK_CONTEXT_ERR" ) = -42 ;
69- m.attr(" ARK_RELAX_FAIL" ) = -43 ;
70- m.attr(" ARK_RELAX_MEM_NULL" ) = -44 ;
71- m.attr(" ARK_RELAX_FUNC_FAIL" ) = -45 ;
72- m.attr(" ARK_RELAX_JAC_FAIL" ) = -46 ;
73- m.attr(" ARK_CONTROLLER_ERR" ) = -47 ;
74- m.attr(" ARK_STEPPER_UNSUPPORTED" ) = -48 ;
75- m.attr(" ARK_DOMEIG_FAIL" ) = -49 ;
76- m.attr(" ARK_MAX_STAGE_LIMIT_FAIL" ) = -50 ;
77- m.attr(" ARK_SUNSTEPPER_ERR" ) = -51 ;
78- m.attr(" ARK_STEP_DIRECTION_ERR" ) = -52 ;
79- m.attr(" ARK_ADJ_CHECKPOINT_FAIL" ) = -53 ;
80- m.attr(" ARK_ADJ_RECOMPUTE_FAIL" ) = -54 ;
81- m.attr(" ARK_SUNADJSTEPPER_ERR" ) = -55 ;
82- m.attr(" ARK_DEE_FAIL" ) = -56 ;
65+ m.attr(" ARK_PRESTEPFN_FAIL" ) = -39 ;
66+ m.attr(" ARK_POSTSTEPFN_FAIL" ) = -40 ;
67+ m.attr(" ARK_PRERHSFN_FAIL" ) = -41 ;
68+ m.attr(" ARK_USER_PREDICT_FAIL" ) = -42 ;
69+ m.attr(" ARK_INTERP_FAIL" ) = -43 ;
70+ m.attr(" ARK_INVALID_TABLE" ) = -44 ;
71+ m.attr(" ARK_CONTEXT_ERR" ) = -45 ;
72+ m.attr(" ARK_RELAX_FAIL" ) = -46 ;
73+ m.attr(" ARK_RELAX_MEM_NULL" ) = -47 ;
74+ m.attr(" ARK_RELAX_FUNC_FAIL" ) = -48 ;
75+ m.attr(" ARK_RELAX_JAC_FAIL" ) = -49 ;
76+ m.attr(" ARK_CONTROLLER_ERR" ) = -50 ;
77+ m.attr(" ARK_STEPPER_UNSUPPORTED" ) = -51 ;
78+ m.attr(" ARK_DOMEIG_FAIL" ) = -52 ;
79+ m.attr(" ARK_MAX_STAGE_LIMIT_FAIL" ) = -53 ;
80+ m.attr(" ARK_SUNSTEPPER_ERR" ) = -54 ;
81+ m.attr(" ARK_STEP_DIRECTION_ERR" ) = -55 ;
82+ m.attr(" ARK_ADJ_CHECKPOINT_FAIL" ) = -56 ;
83+ m.attr(" ARK_ADJ_RECOMPUTE_FAIL" ) = -57 ;
84+ m.attr(" ARK_SUNADJSTEPPER_ERR" ) = -58 ;
85+ m.attr(" ARK_DEE_FAIL" ) = -59 ;
86+ m.attr(" ARK_STEP_H0_FAIL" ) = -60 ;
8387m.attr(" ARK_UNRECOGNIZED_ERROR" ) = -99 ;
8488
8589auto pyEnumARKRelaxSolver = nb::enum_<ARKRelaxSolver>(m, " ARKRelaxSolver" ,
@@ -107,6 +111,9 @@ auto pyEnumARKAccumError =
107111m.def(" ARKodeReset" , ARKodeReset, nb::arg(" arkode_mem" ), nb::arg(" tR" ),
108112 nb::arg (" yR" ));
109113
114+ m.def(" ARKodeInit" , ARKodeInit, nb::arg(" arkode_mem" ),
115+ " Optional data allocation function" );
116+
110117m.def(
111118 " ARKodeCreateMRIStepInnerStepper" ,
112119 [](void * arkode_mem)
@@ -497,6 +504,26 @@ m.def("ARKodeGetReturnFlagName", ARKodeGetReturnFlagName, nb::arg("flag"));
497504m.def(" ARKodeWriteParameters" , ARKodeWriteParameters, nb::arg(" arkode_mem" ),
498505 nb::arg (" fp" ));
499506
507+ m.def(
508+ " ARKodeGetStageIndex" ,
509+ [](void * arkode_mem) -> std::tuple<int , int , int >
510+ {
511+ auto ARKodeGetStageIndex_adapt_modifiable_immutable_to_return =
512+ [](void * arkode_mem) -> std::tuple<int , int , int >
513+ {
514+ int stage_adapt_modifiable;
515+ int max_stages_adapt_modifiable;
516+
517+ int r = ARKodeGetStageIndex (arkode_mem, &stage_adapt_modifiable,
518+ &max_stages_adapt_modifiable);
519+ return std::make_tuple (r, stage_adapt_modifiable,
520+ max_stages_adapt_modifiable);
521+ };
522+
523+ return ARKodeGetStageIndex_adapt_modifiable_immutable_to_return (arkode_mem);
524+ },
525+ nb::arg (" arkode_mem" ));
526+
500527m.def(
501528 " ARKodeGetNumExpSteps" ,
502529 [](void * arkode_mem) -> std::tuple<int , long >
@@ -671,6 +698,40 @@ m.def(
671698 },
672699 nb::arg (" arkode_mem" ));
673700
701+ m.def(
702+ " ARKodeGetLastTime" ,
703+ [](void * arkode_mem) -> std::tuple<int , sunrealtype>
704+ {
705+ auto ARKodeGetLastTime_adapt_modifiable_immutable_to_return =
706+ [](void * arkode_mem) -> std::tuple<int , sunrealtype>
707+ {
708+ sunrealtype tn_adapt_modifiable;
709+
710+ int r = ARKodeGetLastTime (arkode_mem, &tn_adapt_modifiable);
711+ return std::make_tuple (r, tn_adapt_modifiable);
712+ };
713+
714+ return ARKodeGetLastTime_adapt_modifiable_immutable_to_return (arkode_mem);
715+ },
716+ nb::arg (" arkode_mem" ));
717+
718+ m.def(
719+ " ARKodeGetLastState" ,
720+ [](void * arkode_mem) -> std::tuple<int , N_Vector>
721+ {
722+ auto ARKodeGetLastState_adapt_modifiable_immutable_to_return =
723+ [](void * arkode_mem) -> std::tuple<int , N_Vector>
724+ {
725+ N_Vector state_adapt_modifiable;
726+
727+ int r = ARKodeGetLastState (arkode_mem, &state_adapt_modifiable);
728+ return std::make_tuple (r, state_adapt_modifiable);
729+ };
730+
731+ return ARKodeGetLastState_adapt_modifiable_immutable_to_return (arkode_mem);
732+ },
733+ nb::arg (" arkode_mem" ), "nb::rv_policy::reference", nb::rv_policy::reference);
734+
674735m.def(
675736 " ARKodeGetCurrentTime" ,
676737 [](void * arkode_mem) -> std::tuple<int , sunrealtype>
0 commit comments