1! This file was automatically generated by SWIG (http://www.swig.org). 2! Version 4.0.0 3! 4! Do not make changes to this file unless you know what you are doing--modify 5! the SWIG interface file instead. 6 7! --------------------------------------------------------------- 8! Programmer(s): Auto-generated by swig. 9! --------------------------------------------------------------- 10! SUNDIALS Copyright Start 11! Copyright (c) 2002-2021, Lawrence Livermore National Security 12! and Southern Methodist University. 13! All rights reserved. 14! 15! See the top-level LICENSE and NOTICE files for details. 16! 17! SPDX-License-Identifier: BSD-3-Clause 18! SUNDIALS Copyright End 19! --------------------------------------------------------------- 20 21module fkinsol_mod 22 use, intrinsic :: ISO_C_BINDING 23 use fsundials_types_mod 24 use fsundials_nvector_mod 25 use fsundials_types_mod 26 use fsundials_matrix_mod 27 use fsundials_nvector_mod 28 use fsundials_types_mod 29 use fsundials_linearsolver_mod 30 use fsundials_matrix_mod 31 use fsundials_nvector_mod 32 use fsundials_types_mod 33 use fsundials_nonlinearsolver_mod 34 implicit none 35 private 36 37 ! DECLARATION CONSTRUCTS 38 integer(C_INT), parameter, public :: KIN_SUCCESS = 0_C_INT 39 integer(C_INT), parameter, public :: KIN_INITIAL_GUESS_OK = 1_C_INT 40 integer(C_INT), parameter, public :: KIN_STEP_LT_STPTOL = 2_C_INT 41 integer(C_INT), parameter, public :: KIN_WARNING = 99_C_INT 42 integer(C_INT), parameter, public :: KIN_MEM_NULL = -1_C_INT 43 integer(C_INT), parameter, public :: KIN_ILL_INPUT = -2_C_INT 44 integer(C_INT), parameter, public :: KIN_NO_MALLOC = -3_C_INT 45 integer(C_INT), parameter, public :: KIN_MEM_FAIL = -4_C_INT 46 integer(C_INT), parameter, public :: KIN_LINESEARCH_NONCONV = -5_C_INT 47 integer(C_INT), parameter, public :: KIN_MAXITER_REACHED = -6_C_INT 48 integer(C_INT), parameter, public :: KIN_MXNEWT_5X_EXCEEDED = -7_C_INT 49 integer(C_INT), parameter, public :: KIN_LINESEARCH_BCFAIL = -8_C_INT 50 integer(C_INT), parameter, public :: KIN_LINSOLV_NO_RECOVERY = -9_C_INT 51 integer(C_INT), parameter, public :: KIN_LINIT_FAIL = -10_C_INT 52 integer(C_INT), parameter, public :: KIN_LSETUP_FAIL = -11_C_INT 53 integer(C_INT), parameter, public :: KIN_LSOLVE_FAIL = -12_C_INT 54 integer(C_INT), parameter, public :: KIN_SYSFUNC_FAIL = -13_C_INT 55 integer(C_INT), parameter, public :: KIN_FIRST_SYSFUNC_ERR = -14_C_INT 56 integer(C_INT), parameter, public :: KIN_REPTD_SYSFUNC_ERR = -15_C_INT 57 integer(C_INT), parameter, public :: KIN_VECTOROP_ERR = -16_C_INT 58 integer(C_INT), parameter, public :: KIN_ETACHOICE1 = 1_C_INT 59 integer(C_INT), parameter, public :: KIN_ETACHOICE2 = 2_C_INT 60 integer(C_INT), parameter, public :: KIN_ETACONSTANT = 3_C_INT 61 integer(C_INT), parameter, public :: KIN_NONE = 0_C_INT 62 integer(C_INT), parameter, public :: KIN_LINESEARCH = 1_C_INT 63 integer(C_INT), parameter, public :: KIN_PICARD = 2_C_INT 64 integer(C_INT), parameter, public :: KIN_FP = 3_C_INT 65 public :: FKINCreate 66 public :: FKINInit 67 public :: FKINSol 68 public :: FKINSetErrHandlerFn 69 public :: FKINSetErrFile 70 public :: FKINSetInfoHandlerFn 71 public :: FKINSetInfoFile 72 public :: FKINSetUserData 73 public :: FKINSetPrintLevel 74 public :: FKINSetMAA 75 public :: FKINSetDampingAA 76 public :: FKINSetNumMaxIters 77 public :: FKINSetNoInitSetup 78 public :: FKINSetNoResMon 79 public :: FKINSetMaxSetupCalls 80 public :: FKINSetMaxSubSetupCalls 81 public :: FKINSetEtaForm 82 public :: FKINSetEtaConstValue 83 public :: FKINSetEtaParams 84 public :: FKINSetResMonParams 85 public :: FKINSetResMonConstValue 86 public :: FKINSetNoMinEps 87 public :: FKINSetMaxNewtonStep 88 public :: FKINSetMaxBetaFails 89 public :: FKINSetRelErrFunc 90 public :: FKINSetFuncNormTol 91 public :: FKINSetScaledStepTol 92 public :: FKINSetConstraints 93 public :: FKINSetSysFunc 94 public :: FKINGetWorkSpace 95 public :: FKINGetNumNonlinSolvIters 96 public :: FKINGetNumFuncEvals 97 public :: FKINGetNumBetaCondFails 98 public :: FKINGetNumBacktrackOps 99 public :: FKINGetFuncNorm 100 public :: FKINGetStepLength 101 type, bind(C) :: SwigArrayWrapper 102 type(C_PTR), public :: data = C_NULL_PTR 103 integer(C_SIZE_T), public :: size = 0 104 end type 105 public :: FKINGetReturnFlagName 106 public :: FKINFree 107 public :: FKINSetJacTimesVecSysFn 108 integer(C_INT), parameter, public :: KINBBDPRE_SUCCESS = 0_C_INT 109 integer(C_INT), parameter, public :: KINBBDPRE_PDATA_NULL = -11_C_INT 110 integer(C_INT), parameter, public :: KINBBDPRE_FUNC_UNRECVR = -12_C_INT 111 public :: FKINBBDPrecInit 112 public :: FKINBBDPrecGetWorkSpace 113 public :: FKINBBDPrecGetNumGfnEvals 114 integer(C_INT), parameter, public :: KINLS_SUCCESS = 0_C_INT 115 integer(C_INT), parameter, public :: KINLS_MEM_NULL = -1_C_INT 116 integer(C_INT), parameter, public :: KINLS_LMEM_NULL = -2_C_INT 117 integer(C_INT), parameter, public :: KINLS_ILL_INPUT = -3_C_INT 118 integer(C_INT), parameter, public :: KINLS_MEM_FAIL = -4_C_INT 119 integer(C_INT), parameter, public :: KINLS_PMEM_NULL = -5_C_INT 120 integer(C_INT), parameter, public :: KINLS_JACFUNC_ERR = -6_C_INT 121 integer(C_INT), parameter, public :: KINLS_SUNMAT_FAIL = -7_C_INT 122 integer(C_INT), parameter, public :: KINLS_SUNLS_FAIL = -8_C_INT 123 public :: FKINSetLinearSolver 124 public :: FKINSetJacFn 125 public :: FKINSetPreconditioner 126 public :: FKINSetJacTimesVecFn 127 public :: FKINGetLinWorkSpace 128 public :: FKINGetNumJacEvals 129 public :: FKINGetNumLinFuncEvals 130 public :: FKINGetNumPrecEvals 131 public :: FKINGetNumPrecSolves 132 public :: FKINGetNumLinIters 133 public :: FKINGetNumLinConvFails 134 public :: FKINGetNumJtimesEvals 135 public :: FKINGetLastLinFlag 136 public :: FKINGetLinReturnFlagName 137 138! WRAPPER DECLARATIONS 139interface 140function swigc_FKINCreate() & 141bind(C, name="_wrap_FKINCreate") & 142result(fresult) 143use, intrinsic :: ISO_C_BINDING 144type(C_PTR) :: fresult 145end function 146 147function swigc_FKINInit(farg1, farg2, farg3) & 148bind(C, name="_wrap_FKINInit") & 149result(fresult) 150use, intrinsic :: ISO_C_BINDING 151type(C_PTR), value :: farg1 152type(C_FUNPTR), value :: farg2 153type(C_PTR), value :: farg3 154integer(C_INT) :: fresult 155end function 156 157function swigc_FKINSol(farg1, farg2, farg3, farg4, farg5) & 158bind(C, name="_wrap_FKINSol") & 159result(fresult) 160use, intrinsic :: ISO_C_BINDING 161type(C_PTR), value :: farg1 162type(C_PTR), value :: farg2 163integer(C_INT), intent(in) :: farg3 164type(C_PTR), value :: farg4 165type(C_PTR), value :: farg5 166integer(C_INT) :: fresult 167end function 168 169function swigc_FKINSetErrHandlerFn(farg1, farg2, farg3) & 170bind(C, name="_wrap_FKINSetErrHandlerFn") & 171result(fresult) 172use, intrinsic :: ISO_C_BINDING 173type(C_PTR), value :: farg1 174type(C_FUNPTR), value :: farg2 175type(C_PTR), value :: farg3 176integer(C_INT) :: fresult 177end function 178 179function swigc_FKINSetErrFile(farg1, farg2) & 180bind(C, name="_wrap_FKINSetErrFile") & 181result(fresult) 182use, intrinsic :: ISO_C_BINDING 183type(C_PTR), value :: farg1 184type(C_PTR), value :: farg2 185integer(C_INT) :: fresult 186end function 187 188function swigc_FKINSetInfoHandlerFn(farg1, farg2, farg3) & 189bind(C, name="_wrap_FKINSetInfoHandlerFn") & 190result(fresult) 191use, intrinsic :: ISO_C_BINDING 192type(C_PTR), value :: farg1 193type(C_FUNPTR), value :: farg2 194type(C_PTR), value :: farg3 195integer(C_INT) :: fresult 196end function 197 198function swigc_FKINSetInfoFile(farg1, farg2) & 199bind(C, name="_wrap_FKINSetInfoFile") & 200result(fresult) 201use, intrinsic :: ISO_C_BINDING 202type(C_PTR), value :: farg1 203type(C_PTR), value :: farg2 204integer(C_INT) :: fresult 205end function 206 207function swigc_FKINSetUserData(farg1, farg2) & 208bind(C, name="_wrap_FKINSetUserData") & 209result(fresult) 210use, intrinsic :: ISO_C_BINDING 211type(C_PTR), value :: farg1 212type(C_PTR), value :: farg2 213integer(C_INT) :: fresult 214end function 215 216function swigc_FKINSetPrintLevel(farg1, farg2) & 217bind(C, name="_wrap_FKINSetPrintLevel") & 218result(fresult) 219use, intrinsic :: ISO_C_BINDING 220type(C_PTR), value :: farg1 221integer(C_INT), intent(in) :: farg2 222integer(C_INT) :: fresult 223end function 224 225function swigc_FKINSetMAA(farg1, farg2) & 226bind(C, name="_wrap_FKINSetMAA") & 227result(fresult) 228use, intrinsic :: ISO_C_BINDING 229type(C_PTR), value :: farg1 230integer(C_LONG), intent(in) :: farg2 231integer(C_INT) :: fresult 232end function 233 234function swigc_FKINSetDampingAA(farg1, farg2) & 235bind(C, name="_wrap_FKINSetDampingAA") & 236result(fresult) 237use, intrinsic :: ISO_C_BINDING 238type(C_PTR), value :: farg1 239real(C_DOUBLE), intent(in) :: farg2 240integer(C_INT) :: fresult 241end function 242 243function swigc_FKINSetNumMaxIters(farg1, farg2) & 244bind(C, name="_wrap_FKINSetNumMaxIters") & 245result(fresult) 246use, intrinsic :: ISO_C_BINDING 247type(C_PTR), value :: farg1 248integer(C_LONG), intent(in) :: farg2 249integer(C_INT) :: fresult 250end function 251 252function swigc_FKINSetNoInitSetup(farg1, farg2) & 253bind(C, name="_wrap_FKINSetNoInitSetup") & 254result(fresult) 255use, intrinsic :: ISO_C_BINDING 256type(C_PTR), value :: farg1 257integer(C_INT), intent(in) :: farg2 258integer(C_INT) :: fresult 259end function 260 261function swigc_FKINSetNoResMon(farg1, farg2) & 262bind(C, name="_wrap_FKINSetNoResMon") & 263result(fresult) 264use, intrinsic :: ISO_C_BINDING 265type(C_PTR), value :: farg1 266integer(C_INT), intent(in) :: farg2 267integer(C_INT) :: fresult 268end function 269 270function swigc_FKINSetMaxSetupCalls(farg1, farg2) & 271bind(C, name="_wrap_FKINSetMaxSetupCalls") & 272result(fresult) 273use, intrinsic :: ISO_C_BINDING 274type(C_PTR), value :: farg1 275integer(C_LONG), intent(in) :: farg2 276integer(C_INT) :: fresult 277end function 278 279function swigc_FKINSetMaxSubSetupCalls(farg1, farg2) & 280bind(C, name="_wrap_FKINSetMaxSubSetupCalls") & 281result(fresult) 282use, intrinsic :: ISO_C_BINDING 283type(C_PTR), value :: farg1 284integer(C_LONG), intent(in) :: farg2 285integer(C_INT) :: fresult 286end function 287 288function swigc_FKINSetEtaForm(farg1, farg2) & 289bind(C, name="_wrap_FKINSetEtaForm") & 290result(fresult) 291use, intrinsic :: ISO_C_BINDING 292type(C_PTR), value :: farg1 293integer(C_INT), intent(in) :: farg2 294integer(C_INT) :: fresult 295end function 296 297function swigc_FKINSetEtaConstValue(farg1, farg2) & 298bind(C, name="_wrap_FKINSetEtaConstValue") & 299result(fresult) 300use, intrinsic :: ISO_C_BINDING 301type(C_PTR), value :: farg1 302real(C_DOUBLE), intent(in) :: farg2 303integer(C_INT) :: fresult 304end function 305 306function swigc_FKINSetEtaParams(farg1, farg2, farg3) & 307bind(C, name="_wrap_FKINSetEtaParams") & 308result(fresult) 309use, intrinsic :: ISO_C_BINDING 310type(C_PTR), value :: farg1 311real(C_DOUBLE), intent(in) :: farg2 312real(C_DOUBLE), intent(in) :: farg3 313integer(C_INT) :: fresult 314end function 315 316function swigc_FKINSetResMonParams(farg1, farg2, farg3) & 317bind(C, name="_wrap_FKINSetResMonParams") & 318result(fresult) 319use, intrinsic :: ISO_C_BINDING 320type(C_PTR), value :: farg1 321real(C_DOUBLE), intent(in) :: farg2 322real(C_DOUBLE), intent(in) :: farg3 323integer(C_INT) :: fresult 324end function 325 326function swigc_FKINSetResMonConstValue(farg1, farg2) & 327bind(C, name="_wrap_FKINSetResMonConstValue") & 328result(fresult) 329use, intrinsic :: ISO_C_BINDING 330type(C_PTR), value :: farg1 331real(C_DOUBLE), intent(in) :: farg2 332integer(C_INT) :: fresult 333end function 334 335function swigc_FKINSetNoMinEps(farg1, farg2) & 336bind(C, name="_wrap_FKINSetNoMinEps") & 337result(fresult) 338use, intrinsic :: ISO_C_BINDING 339type(C_PTR), value :: farg1 340integer(C_INT), intent(in) :: farg2 341integer(C_INT) :: fresult 342end function 343 344function swigc_FKINSetMaxNewtonStep(farg1, farg2) & 345bind(C, name="_wrap_FKINSetMaxNewtonStep") & 346result(fresult) 347use, intrinsic :: ISO_C_BINDING 348type(C_PTR), value :: farg1 349real(C_DOUBLE), intent(in) :: farg2 350integer(C_INT) :: fresult 351end function 352 353function swigc_FKINSetMaxBetaFails(farg1, farg2) & 354bind(C, name="_wrap_FKINSetMaxBetaFails") & 355result(fresult) 356use, intrinsic :: ISO_C_BINDING 357type(C_PTR), value :: farg1 358integer(C_LONG), intent(in) :: farg2 359integer(C_INT) :: fresult 360end function 361 362function swigc_FKINSetRelErrFunc(farg1, farg2) & 363bind(C, name="_wrap_FKINSetRelErrFunc") & 364result(fresult) 365use, intrinsic :: ISO_C_BINDING 366type(C_PTR), value :: farg1 367real(C_DOUBLE), intent(in) :: farg2 368integer(C_INT) :: fresult 369end function 370 371function swigc_FKINSetFuncNormTol(farg1, farg2) & 372bind(C, name="_wrap_FKINSetFuncNormTol") & 373result(fresult) 374use, intrinsic :: ISO_C_BINDING 375type(C_PTR), value :: farg1 376real(C_DOUBLE), intent(in) :: farg2 377integer(C_INT) :: fresult 378end function 379 380function swigc_FKINSetScaledStepTol(farg1, farg2) & 381bind(C, name="_wrap_FKINSetScaledStepTol") & 382result(fresult) 383use, intrinsic :: ISO_C_BINDING 384type(C_PTR), value :: farg1 385real(C_DOUBLE), intent(in) :: farg2 386integer(C_INT) :: fresult 387end function 388 389function swigc_FKINSetConstraints(farg1, farg2) & 390bind(C, name="_wrap_FKINSetConstraints") & 391result(fresult) 392use, intrinsic :: ISO_C_BINDING 393type(C_PTR), value :: farg1 394type(C_PTR), value :: farg2 395integer(C_INT) :: fresult 396end function 397 398function swigc_FKINSetSysFunc(farg1, farg2) & 399bind(C, name="_wrap_FKINSetSysFunc") & 400result(fresult) 401use, intrinsic :: ISO_C_BINDING 402type(C_PTR), value :: farg1 403type(C_FUNPTR), value :: farg2 404integer(C_INT) :: fresult 405end function 406 407function swigc_FKINGetWorkSpace(farg1, farg2, farg3) & 408bind(C, name="_wrap_FKINGetWorkSpace") & 409result(fresult) 410use, intrinsic :: ISO_C_BINDING 411type(C_PTR), value :: farg1 412type(C_PTR), value :: farg2 413type(C_PTR), value :: farg3 414integer(C_INT) :: fresult 415end function 416 417function swigc_FKINGetNumNonlinSolvIters(farg1, farg2) & 418bind(C, name="_wrap_FKINGetNumNonlinSolvIters") & 419result(fresult) 420use, intrinsic :: ISO_C_BINDING 421type(C_PTR), value :: farg1 422type(C_PTR), value :: farg2 423integer(C_INT) :: fresult 424end function 425 426function swigc_FKINGetNumFuncEvals(farg1, farg2) & 427bind(C, name="_wrap_FKINGetNumFuncEvals") & 428result(fresult) 429use, intrinsic :: ISO_C_BINDING 430type(C_PTR), value :: farg1 431type(C_PTR), value :: farg2 432integer(C_INT) :: fresult 433end function 434 435function swigc_FKINGetNumBetaCondFails(farg1, farg2) & 436bind(C, name="_wrap_FKINGetNumBetaCondFails") & 437result(fresult) 438use, intrinsic :: ISO_C_BINDING 439type(C_PTR), value :: farg1 440type(C_PTR), value :: farg2 441integer(C_INT) :: fresult 442end function 443 444function swigc_FKINGetNumBacktrackOps(farg1, farg2) & 445bind(C, name="_wrap_FKINGetNumBacktrackOps") & 446result(fresult) 447use, intrinsic :: ISO_C_BINDING 448type(C_PTR), value :: farg1 449type(C_PTR), value :: farg2 450integer(C_INT) :: fresult 451end function 452 453function swigc_FKINGetFuncNorm(farg1, farg2) & 454bind(C, name="_wrap_FKINGetFuncNorm") & 455result(fresult) 456use, intrinsic :: ISO_C_BINDING 457type(C_PTR), value :: farg1 458type(C_PTR), value :: farg2 459integer(C_INT) :: fresult 460end function 461 462function swigc_FKINGetStepLength(farg1, farg2) & 463bind(C, name="_wrap_FKINGetStepLength") & 464result(fresult) 465use, intrinsic :: ISO_C_BINDING 466type(C_PTR), value :: farg1 467type(C_PTR), value :: farg2 468integer(C_INT) :: fresult 469end function 470 471 subroutine SWIG_free(cptr) & 472 bind(C, name="free") 473 use, intrinsic :: ISO_C_BINDING 474 type(C_PTR), value :: cptr 475end subroutine 476function swigc_FKINGetReturnFlagName(farg1) & 477bind(C, name="_wrap_FKINGetReturnFlagName") & 478result(fresult) 479use, intrinsic :: ISO_C_BINDING 480import :: swigarraywrapper 481integer(C_LONG), intent(in) :: farg1 482type(SwigArrayWrapper) :: fresult 483end function 484 485subroutine swigc_FKINFree(farg1) & 486bind(C, name="_wrap_FKINFree") 487use, intrinsic :: ISO_C_BINDING 488type(C_PTR), value :: farg1 489end subroutine 490 491function swigc_FKINSetJacTimesVecSysFn(farg1, farg2) & 492bind(C, name="_wrap_FKINSetJacTimesVecSysFn") & 493result(fresult) 494use, intrinsic :: ISO_C_BINDING 495type(C_PTR), value :: farg1 496type(C_FUNPTR), value :: farg2 497integer(C_INT) :: fresult 498end function 499 500function swigc_FKINBBDPrecInit(farg1, farg2, farg3, farg4, farg5, farg6, farg7, farg8, farg9) & 501bind(C, name="_wrap_FKINBBDPrecInit") & 502result(fresult) 503use, intrinsic :: ISO_C_BINDING 504type(C_PTR), value :: farg1 505integer(C_INT64_T), intent(in) :: farg2 506integer(C_INT64_T), intent(in) :: farg3 507integer(C_INT64_T), intent(in) :: farg4 508integer(C_INT64_T), intent(in) :: farg5 509integer(C_INT64_T), intent(in) :: farg6 510real(C_DOUBLE), intent(in) :: farg7 511type(C_FUNPTR), value :: farg8 512type(C_FUNPTR), value :: farg9 513integer(C_INT) :: fresult 514end function 515 516function swigc_FKINBBDPrecGetWorkSpace(farg1, farg2, farg3) & 517bind(C, name="_wrap_FKINBBDPrecGetWorkSpace") & 518result(fresult) 519use, intrinsic :: ISO_C_BINDING 520type(C_PTR), value :: farg1 521type(C_PTR), value :: farg2 522type(C_PTR), value :: farg3 523integer(C_INT) :: fresult 524end function 525 526function swigc_FKINBBDPrecGetNumGfnEvals(farg1, farg2) & 527bind(C, name="_wrap_FKINBBDPrecGetNumGfnEvals") & 528result(fresult) 529use, intrinsic :: ISO_C_BINDING 530type(C_PTR), value :: farg1 531type(C_PTR), value :: farg2 532integer(C_INT) :: fresult 533end function 534 535function swigc_FKINSetLinearSolver(farg1, farg2, farg3) & 536bind(C, name="_wrap_FKINSetLinearSolver") & 537result(fresult) 538use, intrinsic :: ISO_C_BINDING 539type(C_PTR), value :: farg1 540type(C_PTR), value :: farg2 541type(C_PTR), value :: farg3 542integer(C_INT) :: fresult 543end function 544 545function swigc_FKINSetJacFn(farg1, farg2) & 546bind(C, name="_wrap_FKINSetJacFn") & 547result(fresult) 548use, intrinsic :: ISO_C_BINDING 549type(C_PTR), value :: farg1 550type(C_FUNPTR), value :: farg2 551integer(C_INT) :: fresult 552end function 553 554function swigc_FKINSetPreconditioner(farg1, farg2, farg3) & 555bind(C, name="_wrap_FKINSetPreconditioner") & 556result(fresult) 557use, intrinsic :: ISO_C_BINDING 558type(C_PTR), value :: farg1 559type(C_FUNPTR), value :: farg2 560type(C_FUNPTR), value :: farg3 561integer(C_INT) :: fresult 562end function 563 564function swigc_FKINSetJacTimesVecFn(farg1, farg2) & 565bind(C, name="_wrap_FKINSetJacTimesVecFn") & 566result(fresult) 567use, intrinsic :: ISO_C_BINDING 568type(C_PTR), value :: farg1 569type(C_FUNPTR), value :: farg2 570integer(C_INT) :: fresult 571end function 572 573function swigc_FKINGetLinWorkSpace(farg1, farg2, farg3) & 574bind(C, name="_wrap_FKINGetLinWorkSpace") & 575result(fresult) 576use, intrinsic :: ISO_C_BINDING 577type(C_PTR), value :: farg1 578type(C_PTR), value :: farg2 579type(C_PTR), value :: farg3 580integer(C_INT) :: fresult 581end function 582 583function swigc_FKINGetNumJacEvals(farg1, farg2) & 584bind(C, name="_wrap_FKINGetNumJacEvals") & 585result(fresult) 586use, intrinsic :: ISO_C_BINDING 587type(C_PTR), value :: farg1 588type(C_PTR), value :: farg2 589integer(C_INT) :: fresult 590end function 591 592function swigc_FKINGetNumLinFuncEvals(farg1, farg2) & 593bind(C, name="_wrap_FKINGetNumLinFuncEvals") & 594result(fresult) 595use, intrinsic :: ISO_C_BINDING 596type(C_PTR), value :: farg1 597type(C_PTR), value :: farg2 598integer(C_INT) :: fresult 599end function 600 601function swigc_FKINGetNumPrecEvals(farg1, farg2) & 602bind(C, name="_wrap_FKINGetNumPrecEvals") & 603result(fresult) 604use, intrinsic :: ISO_C_BINDING 605type(C_PTR), value :: farg1 606type(C_PTR), value :: farg2 607integer(C_INT) :: fresult 608end function 609 610function swigc_FKINGetNumPrecSolves(farg1, farg2) & 611bind(C, name="_wrap_FKINGetNumPrecSolves") & 612result(fresult) 613use, intrinsic :: ISO_C_BINDING 614type(C_PTR), value :: farg1 615type(C_PTR), value :: farg2 616integer(C_INT) :: fresult 617end function 618 619function swigc_FKINGetNumLinIters(farg1, farg2) & 620bind(C, name="_wrap_FKINGetNumLinIters") & 621result(fresult) 622use, intrinsic :: ISO_C_BINDING 623type(C_PTR), value :: farg1 624type(C_PTR), value :: farg2 625integer(C_INT) :: fresult 626end function 627 628function swigc_FKINGetNumLinConvFails(farg1, farg2) & 629bind(C, name="_wrap_FKINGetNumLinConvFails") & 630result(fresult) 631use, intrinsic :: ISO_C_BINDING 632type(C_PTR), value :: farg1 633type(C_PTR), value :: farg2 634integer(C_INT) :: fresult 635end function 636 637function swigc_FKINGetNumJtimesEvals(farg1, farg2) & 638bind(C, name="_wrap_FKINGetNumJtimesEvals") & 639result(fresult) 640use, intrinsic :: ISO_C_BINDING 641type(C_PTR), value :: farg1 642type(C_PTR), value :: farg2 643integer(C_INT) :: fresult 644end function 645 646function swigc_FKINGetLastLinFlag(farg1, farg2) & 647bind(C, name="_wrap_FKINGetLastLinFlag") & 648result(fresult) 649use, intrinsic :: ISO_C_BINDING 650type(C_PTR), value :: farg1 651type(C_PTR), value :: farg2 652integer(C_INT) :: fresult 653end function 654 655function swigc_FKINGetLinReturnFlagName(farg1) & 656bind(C, name="_wrap_FKINGetLinReturnFlagName") & 657result(fresult) 658use, intrinsic :: ISO_C_BINDING 659import :: swigarraywrapper 660integer(C_LONG), intent(in) :: farg1 661type(SwigArrayWrapper) :: fresult 662end function 663 664end interface 665 666 667contains 668 ! MODULE SUBPROGRAMS 669function FKINCreate() & 670result(swig_result) 671use, intrinsic :: ISO_C_BINDING 672type(C_PTR) :: swig_result 673type(C_PTR) :: fresult 674 675fresult = swigc_FKINCreate() 676swig_result = fresult 677end function 678 679function FKINInit(kinmem, func, tmpl) & 680result(swig_result) 681use, intrinsic :: ISO_C_BINDING 682integer(C_INT) :: swig_result 683type(C_PTR) :: kinmem 684type(C_FUNPTR), intent(in), value :: func 685type(N_Vector), target, intent(inout) :: tmpl 686integer(C_INT) :: fresult 687type(C_PTR) :: farg1 688type(C_FUNPTR) :: farg2 689type(C_PTR) :: farg3 690 691farg1 = kinmem 692farg2 = func 693farg3 = c_loc(tmpl) 694fresult = swigc_FKINInit(farg1, farg2, farg3) 695swig_result = fresult 696end function 697 698function FKINSol(kinmem, uu, strategy, u_scale, f_scale) & 699result(swig_result) 700use, intrinsic :: ISO_C_BINDING 701integer(C_INT) :: swig_result 702type(C_PTR) :: kinmem 703type(N_Vector), target, intent(inout) :: uu 704integer(C_INT), intent(in) :: strategy 705type(N_Vector), target, intent(inout) :: u_scale 706type(N_Vector), target, intent(inout) :: f_scale 707integer(C_INT) :: fresult 708type(C_PTR) :: farg1 709type(C_PTR) :: farg2 710integer(C_INT) :: farg3 711type(C_PTR) :: farg4 712type(C_PTR) :: farg5 713 714farg1 = kinmem 715farg2 = c_loc(uu) 716farg3 = strategy 717farg4 = c_loc(u_scale) 718farg5 = c_loc(f_scale) 719fresult = swigc_FKINSol(farg1, farg2, farg3, farg4, farg5) 720swig_result = fresult 721end function 722 723function FKINSetErrHandlerFn(kinmem, ehfun, eh_data) & 724result(swig_result) 725use, intrinsic :: ISO_C_BINDING 726integer(C_INT) :: swig_result 727type(C_PTR) :: kinmem 728type(C_FUNPTR), intent(in), value :: ehfun 729type(C_PTR) :: eh_data 730integer(C_INT) :: fresult 731type(C_PTR) :: farg1 732type(C_FUNPTR) :: farg2 733type(C_PTR) :: farg3 734 735farg1 = kinmem 736farg2 = ehfun 737farg3 = eh_data 738fresult = swigc_FKINSetErrHandlerFn(farg1, farg2, farg3) 739swig_result = fresult 740end function 741 742function FKINSetErrFile(kinmem, errfp) & 743result(swig_result) 744use, intrinsic :: ISO_C_BINDING 745integer(C_INT) :: swig_result 746type(C_PTR) :: kinmem 747type(C_PTR) :: errfp 748integer(C_INT) :: fresult 749type(C_PTR) :: farg1 750type(C_PTR) :: farg2 751 752farg1 = kinmem 753farg2 = errfp 754fresult = swigc_FKINSetErrFile(farg1, farg2) 755swig_result = fresult 756end function 757 758function FKINSetInfoHandlerFn(kinmem, ihfun, ih_data) & 759result(swig_result) 760use, intrinsic :: ISO_C_BINDING 761integer(C_INT) :: swig_result 762type(C_PTR) :: kinmem 763type(C_FUNPTR), intent(in), value :: ihfun 764type(C_PTR) :: ih_data 765integer(C_INT) :: fresult 766type(C_PTR) :: farg1 767type(C_FUNPTR) :: farg2 768type(C_PTR) :: farg3 769 770farg1 = kinmem 771farg2 = ihfun 772farg3 = ih_data 773fresult = swigc_FKINSetInfoHandlerFn(farg1, farg2, farg3) 774swig_result = fresult 775end function 776 777function FKINSetInfoFile(kinmem, infofp) & 778result(swig_result) 779use, intrinsic :: ISO_C_BINDING 780integer(C_INT) :: swig_result 781type(C_PTR) :: kinmem 782type(C_PTR) :: infofp 783integer(C_INT) :: fresult 784type(C_PTR) :: farg1 785type(C_PTR) :: farg2 786 787farg1 = kinmem 788farg2 = infofp 789fresult = swigc_FKINSetInfoFile(farg1, farg2) 790swig_result = fresult 791end function 792 793function FKINSetUserData(kinmem, user_data) & 794result(swig_result) 795use, intrinsic :: ISO_C_BINDING 796integer(C_INT) :: swig_result 797type(C_PTR) :: kinmem 798type(C_PTR) :: user_data 799integer(C_INT) :: fresult 800type(C_PTR) :: farg1 801type(C_PTR) :: farg2 802 803farg1 = kinmem 804farg2 = user_data 805fresult = swigc_FKINSetUserData(farg1, farg2) 806swig_result = fresult 807end function 808 809function FKINSetPrintLevel(kinmemm, printfl) & 810result(swig_result) 811use, intrinsic :: ISO_C_BINDING 812integer(C_INT) :: swig_result 813type(C_PTR) :: kinmemm 814integer(C_INT), intent(in) :: printfl 815integer(C_INT) :: fresult 816type(C_PTR) :: farg1 817integer(C_INT) :: farg2 818 819farg1 = kinmemm 820farg2 = printfl 821fresult = swigc_FKINSetPrintLevel(farg1, farg2) 822swig_result = fresult 823end function 824 825function FKINSetMAA(kinmem, maa) & 826result(swig_result) 827use, intrinsic :: ISO_C_BINDING 828integer(C_INT) :: swig_result 829type(C_PTR) :: kinmem 830integer(C_LONG), intent(in) :: maa 831integer(C_INT) :: fresult 832type(C_PTR) :: farg1 833integer(C_LONG) :: farg2 834 835farg1 = kinmem 836farg2 = maa 837fresult = swigc_FKINSetMAA(farg1, farg2) 838swig_result = fresult 839end function 840 841function FKINSetDampingAA(kinmem, beta) & 842result(swig_result) 843use, intrinsic :: ISO_C_BINDING 844integer(C_INT) :: swig_result 845type(C_PTR) :: kinmem 846real(C_DOUBLE), intent(in) :: beta 847integer(C_INT) :: fresult 848type(C_PTR) :: farg1 849real(C_DOUBLE) :: farg2 850 851farg1 = kinmem 852farg2 = beta 853fresult = swigc_FKINSetDampingAA(farg1, farg2) 854swig_result = fresult 855end function 856 857function FKINSetNumMaxIters(kinmem, mxiter) & 858result(swig_result) 859use, intrinsic :: ISO_C_BINDING 860integer(C_INT) :: swig_result 861type(C_PTR) :: kinmem 862integer(C_LONG), intent(in) :: mxiter 863integer(C_INT) :: fresult 864type(C_PTR) :: farg1 865integer(C_LONG) :: farg2 866 867farg1 = kinmem 868farg2 = mxiter 869fresult = swigc_FKINSetNumMaxIters(farg1, farg2) 870swig_result = fresult 871end function 872 873function FKINSetNoInitSetup(kinmem, noinitsetup) & 874result(swig_result) 875use, intrinsic :: ISO_C_BINDING 876integer(C_INT) :: swig_result 877type(C_PTR) :: kinmem 878integer(C_INT), intent(in) :: noinitsetup 879integer(C_INT) :: fresult 880type(C_PTR) :: farg1 881integer(C_INT) :: farg2 882 883farg1 = kinmem 884farg2 = noinitsetup 885fresult = swigc_FKINSetNoInitSetup(farg1, farg2) 886swig_result = fresult 887end function 888 889function FKINSetNoResMon(kinmem, nonniresmon) & 890result(swig_result) 891use, intrinsic :: ISO_C_BINDING 892integer(C_INT) :: swig_result 893type(C_PTR) :: kinmem 894integer(C_INT), intent(in) :: nonniresmon 895integer(C_INT) :: fresult 896type(C_PTR) :: farg1 897integer(C_INT) :: farg2 898 899farg1 = kinmem 900farg2 = nonniresmon 901fresult = swigc_FKINSetNoResMon(farg1, farg2) 902swig_result = fresult 903end function 904 905function FKINSetMaxSetupCalls(kinmem, msbset) & 906result(swig_result) 907use, intrinsic :: ISO_C_BINDING 908integer(C_INT) :: swig_result 909type(C_PTR) :: kinmem 910integer(C_LONG), intent(in) :: msbset 911integer(C_INT) :: fresult 912type(C_PTR) :: farg1 913integer(C_LONG) :: farg2 914 915farg1 = kinmem 916farg2 = msbset 917fresult = swigc_FKINSetMaxSetupCalls(farg1, farg2) 918swig_result = fresult 919end function 920 921function FKINSetMaxSubSetupCalls(kinmem, msbsetsub) & 922result(swig_result) 923use, intrinsic :: ISO_C_BINDING 924integer(C_INT) :: swig_result 925type(C_PTR) :: kinmem 926integer(C_LONG), intent(in) :: msbsetsub 927integer(C_INT) :: fresult 928type(C_PTR) :: farg1 929integer(C_LONG) :: farg2 930 931farg1 = kinmem 932farg2 = msbsetsub 933fresult = swigc_FKINSetMaxSubSetupCalls(farg1, farg2) 934swig_result = fresult 935end function 936 937function FKINSetEtaForm(kinmem, etachoice) & 938result(swig_result) 939use, intrinsic :: ISO_C_BINDING 940integer(C_INT) :: swig_result 941type(C_PTR) :: kinmem 942integer(C_INT), intent(in) :: etachoice 943integer(C_INT) :: fresult 944type(C_PTR) :: farg1 945integer(C_INT) :: farg2 946 947farg1 = kinmem 948farg2 = etachoice 949fresult = swigc_FKINSetEtaForm(farg1, farg2) 950swig_result = fresult 951end function 952 953function FKINSetEtaConstValue(kinmem, eta) & 954result(swig_result) 955use, intrinsic :: ISO_C_BINDING 956integer(C_INT) :: swig_result 957type(C_PTR) :: kinmem 958real(C_DOUBLE), intent(in) :: eta 959integer(C_INT) :: fresult 960type(C_PTR) :: farg1 961real(C_DOUBLE) :: farg2 962 963farg1 = kinmem 964farg2 = eta 965fresult = swigc_FKINSetEtaConstValue(farg1, farg2) 966swig_result = fresult 967end function 968 969function FKINSetEtaParams(kinmem, egamma, ealpha) & 970result(swig_result) 971use, intrinsic :: ISO_C_BINDING 972integer(C_INT) :: swig_result 973type(C_PTR) :: kinmem 974real(C_DOUBLE), intent(in) :: egamma 975real(C_DOUBLE), intent(in) :: ealpha 976integer(C_INT) :: fresult 977type(C_PTR) :: farg1 978real(C_DOUBLE) :: farg2 979real(C_DOUBLE) :: farg3 980 981farg1 = kinmem 982farg2 = egamma 983farg3 = ealpha 984fresult = swigc_FKINSetEtaParams(farg1, farg2, farg3) 985swig_result = fresult 986end function 987 988function FKINSetResMonParams(kinmem, omegamin, omegamax) & 989result(swig_result) 990use, intrinsic :: ISO_C_BINDING 991integer(C_INT) :: swig_result 992type(C_PTR) :: kinmem 993real(C_DOUBLE), intent(in) :: omegamin 994real(C_DOUBLE), intent(in) :: omegamax 995integer(C_INT) :: fresult 996type(C_PTR) :: farg1 997real(C_DOUBLE) :: farg2 998real(C_DOUBLE) :: farg3 999 1000farg1 = kinmem 1001farg2 = omegamin 1002farg3 = omegamax 1003fresult = swigc_FKINSetResMonParams(farg1, farg2, farg3) 1004swig_result = fresult 1005end function 1006 1007function FKINSetResMonConstValue(kinmem, omegaconst) & 1008result(swig_result) 1009use, intrinsic :: ISO_C_BINDING 1010integer(C_INT) :: swig_result 1011type(C_PTR) :: kinmem 1012real(C_DOUBLE), intent(in) :: omegaconst 1013integer(C_INT) :: fresult 1014type(C_PTR) :: farg1 1015real(C_DOUBLE) :: farg2 1016 1017farg1 = kinmem 1018farg2 = omegaconst 1019fresult = swigc_FKINSetResMonConstValue(farg1, farg2) 1020swig_result = fresult 1021end function 1022 1023function FKINSetNoMinEps(kinmem, nomineps) & 1024result(swig_result) 1025use, intrinsic :: ISO_C_BINDING 1026integer(C_INT) :: swig_result 1027type(C_PTR) :: kinmem 1028integer(C_INT), intent(in) :: nomineps 1029integer(C_INT) :: fresult 1030type(C_PTR) :: farg1 1031integer(C_INT) :: farg2 1032 1033farg1 = kinmem 1034farg2 = nomineps 1035fresult = swigc_FKINSetNoMinEps(farg1, farg2) 1036swig_result = fresult 1037end function 1038 1039function FKINSetMaxNewtonStep(kinmem, mxnewtstep) & 1040result(swig_result) 1041use, intrinsic :: ISO_C_BINDING 1042integer(C_INT) :: swig_result 1043type(C_PTR) :: kinmem 1044real(C_DOUBLE), intent(in) :: mxnewtstep 1045integer(C_INT) :: fresult 1046type(C_PTR) :: farg1 1047real(C_DOUBLE) :: farg2 1048 1049farg1 = kinmem 1050farg2 = mxnewtstep 1051fresult = swigc_FKINSetMaxNewtonStep(farg1, farg2) 1052swig_result = fresult 1053end function 1054 1055function FKINSetMaxBetaFails(kinmem, mxnbcf) & 1056result(swig_result) 1057use, intrinsic :: ISO_C_BINDING 1058integer(C_INT) :: swig_result 1059type(C_PTR) :: kinmem 1060integer(C_LONG), intent(in) :: mxnbcf 1061integer(C_INT) :: fresult 1062type(C_PTR) :: farg1 1063integer(C_LONG) :: farg2 1064 1065farg1 = kinmem 1066farg2 = mxnbcf 1067fresult = swigc_FKINSetMaxBetaFails(farg1, farg2) 1068swig_result = fresult 1069end function 1070 1071function FKINSetRelErrFunc(kinmem, relfunc) & 1072result(swig_result) 1073use, intrinsic :: ISO_C_BINDING 1074integer(C_INT) :: swig_result 1075type(C_PTR) :: kinmem 1076real(C_DOUBLE), intent(in) :: relfunc 1077integer(C_INT) :: fresult 1078type(C_PTR) :: farg1 1079real(C_DOUBLE) :: farg2 1080 1081farg1 = kinmem 1082farg2 = relfunc 1083fresult = swigc_FKINSetRelErrFunc(farg1, farg2) 1084swig_result = fresult 1085end function 1086 1087function FKINSetFuncNormTol(kinmem, fnormtol) & 1088result(swig_result) 1089use, intrinsic :: ISO_C_BINDING 1090integer(C_INT) :: swig_result 1091type(C_PTR) :: kinmem 1092real(C_DOUBLE), intent(in) :: fnormtol 1093integer(C_INT) :: fresult 1094type(C_PTR) :: farg1 1095real(C_DOUBLE) :: farg2 1096 1097farg1 = kinmem 1098farg2 = fnormtol 1099fresult = swigc_FKINSetFuncNormTol(farg1, farg2) 1100swig_result = fresult 1101end function 1102 1103function FKINSetScaledStepTol(kinmem, scsteptol) & 1104result(swig_result) 1105use, intrinsic :: ISO_C_BINDING 1106integer(C_INT) :: swig_result 1107type(C_PTR) :: kinmem 1108real(C_DOUBLE), intent(in) :: scsteptol 1109integer(C_INT) :: fresult 1110type(C_PTR) :: farg1 1111real(C_DOUBLE) :: farg2 1112 1113farg1 = kinmem 1114farg2 = scsteptol 1115fresult = swigc_FKINSetScaledStepTol(farg1, farg2) 1116swig_result = fresult 1117end function 1118 1119function FKINSetConstraints(kinmem, constraints) & 1120result(swig_result) 1121use, intrinsic :: ISO_C_BINDING 1122integer(C_INT) :: swig_result 1123type(C_PTR) :: kinmem 1124type(N_Vector), target, intent(inout) :: constraints 1125integer(C_INT) :: fresult 1126type(C_PTR) :: farg1 1127type(C_PTR) :: farg2 1128 1129farg1 = kinmem 1130farg2 = c_loc(constraints) 1131fresult = swigc_FKINSetConstraints(farg1, farg2) 1132swig_result = fresult 1133end function 1134 1135function FKINSetSysFunc(kinmem, func) & 1136result(swig_result) 1137use, intrinsic :: ISO_C_BINDING 1138integer(C_INT) :: swig_result 1139type(C_PTR) :: kinmem 1140type(C_FUNPTR), intent(in), value :: func 1141integer(C_INT) :: fresult 1142type(C_PTR) :: farg1 1143type(C_FUNPTR) :: farg2 1144 1145farg1 = kinmem 1146farg2 = func 1147fresult = swigc_FKINSetSysFunc(farg1, farg2) 1148swig_result = fresult 1149end function 1150 1151function FKINGetWorkSpace(kinmem, lenrw, leniw) & 1152result(swig_result) 1153use, intrinsic :: ISO_C_BINDING 1154integer(C_INT) :: swig_result 1155type(C_PTR) :: kinmem 1156integer(C_LONG), dimension(*), target, intent(inout) :: lenrw 1157integer(C_LONG), dimension(*), target, intent(inout) :: leniw 1158integer(C_INT) :: fresult 1159type(C_PTR) :: farg1 1160type(C_PTR) :: farg2 1161type(C_PTR) :: farg3 1162 1163farg1 = kinmem 1164farg2 = c_loc(lenrw(1)) 1165farg3 = c_loc(leniw(1)) 1166fresult = swigc_FKINGetWorkSpace(farg1, farg2, farg3) 1167swig_result = fresult 1168end function 1169 1170function FKINGetNumNonlinSolvIters(kinmem, nniters) & 1171result(swig_result) 1172use, intrinsic :: ISO_C_BINDING 1173integer(C_INT) :: swig_result 1174type(C_PTR) :: kinmem 1175integer(C_LONG), dimension(*), target, intent(inout) :: nniters 1176integer(C_INT) :: fresult 1177type(C_PTR) :: farg1 1178type(C_PTR) :: farg2 1179 1180farg1 = kinmem 1181farg2 = c_loc(nniters(1)) 1182fresult = swigc_FKINGetNumNonlinSolvIters(farg1, farg2) 1183swig_result = fresult 1184end function 1185 1186function FKINGetNumFuncEvals(kinmem, nfevals) & 1187result(swig_result) 1188use, intrinsic :: ISO_C_BINDING 1189integer(C_INT) :: swig_result 1190type(C_PTR) :: kinmem 1191integer(C_LONG), dimension(*), target, intent(inout) :: nfevals 1192integer(C_INT) :: fresult 1193type(C_PTR) :: farg1 1194type(C_PTR) :: farg2 1195 1196farg1 = kinmem 1197farg2 = c_loc(nfevals(1)) 1198fresult = swigc_FKINGetNumFuncEvals(farg1, farg2) 1199swig_result = fresult 1200end function 1201 1202function FKINGetNumBetaCondFails(kinmem, nbcfails) & 1203result(swig_result) 1204use, intrinsic :: ISO_C_BINDING 1205integer(C_INT) :: swig_result 1206type(C_PTR) :: kinmem 1207integer(C_LONG), dimension(*), target, intent(inout) :: nbcfails 1208integer(C_INT) :: fresult 1209type(C_PTR) :: farg1 1210type(C_PTR) :: farg2 1211 1212farg1 = kinmem 1213farg2 = c_loc(nbcfails(1)) 1214fresult = swigc_FKINGetNumBetaCondFails(farg1, farg2) 1215swig_result = fresult 1216end function 1217 1218function FKINGetNumBacktrackOps(kinmem, nbacktr) & 1219result(swig_result) 1220use, intrinsic :: ISO_C_BINDING 1221integer(C_INT) :: swig_result 1222type(C_PTR) :: kinmem 1223integer(C_LONG), dimension(*), target, intent(inout) :: nbacktr 1224integer(C_INT) :: fresult 1225type(C_PTR) :: farg1 1226type(C_PTR) :: farg2 1227 1228farg1 = kinmem 1229farg2 = c_loc(nbacktr(1)) 1230fresult = swigc_FKINGetNumBacktrackOps(farg1, farg2) 1231swig_result = fresult 1232end function 1233 1234function FKINGetFuncNorm(kinmem, fnorm) & 1235result(swig_result) 1236use, intrinsic :: ISO_C_BINDING 1237integer(C_INT) :: swig_result 1238type(C_PTR) :: kinmem 1239real(C_DOUBLE), dimension(*), target, intent(inout) :: fnorm 1240integer(C_INT) :: fresult 1241type(C_PTR) :: farg1 1242type(C_PTR) :: farg2 1243 1244farg1 = kinmem 1245farg2 = c_loc(fnorm(1)) 1246fresult = swigc_FKINGetFuncNorm(farg1, farg2) 1247swig_result = fresult 1248end function 1249 1250function FKINGetStepLength(kinmem, steplength) & 1251result(swig_result) 1252use, intrinsic :: ISO_C_BINDING 1253integer(C_INT) :: swig_result 1254type(C_PTR) :: kinmem 1255real(C_DOUBLE), dimension(*), target, intent(inout) :: steplength 1256integer(C_INT) :: fresult 1257type(C_PTR) :: farg1 1258type(C_PTR) :: farg2 1259 1260farg1 = kinmem 1261farg2 = c_loc(steplength(1)) 1262fresult = swigc_FKINGetStepLength(farg1, farg2) 1263swig_result = fresult 1264end function 1265 1266 1267subroutine SWIG_chararray_to_string(wrap, string) 1268 use, intrinsic :: ISO_C_BINDING 1269 type(SwigArrayWrapper), intent(IN) :: wrap 1270 character(kind=C_CHAR, len=:), allocatable, intent(OUT) :: string 1271 character(kind=C_CHAR), dimension(:), pointer :: chars 1272 integer(kind=C_SIZE_T) :: i 1273 call c_f_pointer(wrap%data, chars, [wrap%size]) 1274 allocate(character(kind=C_CHAR, len=wrap%size) :: string) 1275 do i=1, wrap%size 1276 string(i:i) = chars(i) 1277 end do 1278end subroutine 1279 1280function FKINGetReturnFlagName(flag) & 1281result(swig_result) 1282use, intrinsic :: ISO_C_BINDING 1283character(kind=C_CHAR, len=:), allocatable :: swig_result 1284integer(C_LONG), intent(in) :: flag 1285type(SwigArrayWrapper) :: fresult 1286integer(C_LONG) :: farg1 1287 1288farg1 = flag 1289fresult = swigc_FKINGetReturnFlagName(farg1) 1290call SWIG_chararray_to_string(fresult, swig_result) 1291if (.false.) call SWIG_free(fresult%data) 1292end function 1293 1294subroutine FKINFree(kinmem) 1295use, intrinsic :: ISO_C_BINDING 1296type(C_PTR), target, intent(inout) :: kinmem 1297type(C_PTR) :: farg1 1298 1299farg1 = c_loc(kinmem) 1300call swigc_FKINFree(farg1) 1301end subroutine 1302 1303function FKINSetJacTimesVecSysFn(kinmem, jtimessysfn) & 1304result(swig_result) 1305use, intrinsic :: ISO_C_BINDING 1306integer(C_INT) :: swig_result 1307type(C_PTR) :: kinmem 1308type(C_FUNPTR), intent(in), value :: jtimessysfn 1309integer(C_INT) :: fresult 1310type(C_PTR) :: farg1 1311type(C_FUNPTR) :: farg2 1312 1313farg1 = kinmem 1314farg2 = jtimessysfn 1315fresult = swigc_FKINSetJacTimesVecSysFn(farg1, farg2) 1316swig_result = fresult 1317end function 1318 1319function FKINBBDPrecInit(kinmem, nlocal, mudq, mldq, mukeep, mlkeep, dq_rel_uu, gloc, gcomm) & 1320result(swig_result) 1321use, intrinsic :: ISO_C_BINDING 1322integer(C_INT) :: swig_result 1323type(C_PTR) :: kinmem 1324integer(C_INT64_T), intent(in) :: nlocal 1325integer(C_INT64_T), intent(in) :: mudq 1326integer(C_INT64_T), intent(in) :: mldq 1327integer(C_INT64_T), intent(in) :: mukeep 1328integer(C_INT64_T), intent(in) :: mlkeep 1329real(C_DOUBLE), intent(in) :: dq_rel_uu 1330type(C_FUNPTR), intent(in), value :: gloc 1331type(C_FUNPTR), intent(in), value :: gcomm 1332integer(C_INT) :: fresult 1333type(C_PTR) :: farg1 1334integer(C_INT64_T) :: farg2 1335integer(C_INT64_T) :: farg3 1336integer(C_INT64_T) :: farg4 1337integer(C_INT64_T) :: farg5 1338integer(C_INT64_T) :: farg6 1339real(C_DOUBLE) :: farg7 1340type(C_FUNPTR) :: farg8 1341type(C_FUNPTR) :: farg9 1342 1343farg1 = kinmem 1344farg2 = nlocal 1345farg3 = mudq 1346farg4 = mldq 1347farg5 = mukeep 1348farg6 = mlkeep 1349farg7 = dq_rel_uu 1350farg8 = gloc 1351farg9 = gcomm 1352fresult = swigc_FKINBBDPrecInit(farg1, farg2, farg3, farg4, farg5, farg6, farg7, farg8, farg9) 1353swig_result = fresult 1354end function 1355 1356function FKINBBDPrecGetWorkSpace(kinmem, lenrwbbdp, leniwbbdp) & 1357result(swig_result) 1358use, intrinsic :: ISO_C_BINDING 1359integer(C_INT) :: swig_result 1360type(C_PTR) :: kinmem 1361integer(C_LONG), dimension(*), target, intent(inout) :: lenrwbbdp 1362integer(C_LONG), dimension(*), target, intent(inout) :: leniwbbdp 1363integer(C_INT) :: fresult 1364type(C_PTR) :: farg1 1365type(C_PTR) :: farg2 1366type(C_PTR) :: farg3 1367 1368farg1 = kinmem 1369farg2 = c_loc(lenrwbbdp(1)) 1370farg3 = c_loc(leniwbbdp(1)) 1371fresult = swigc_FKINBBDPrecGetWorkSpace(farg1, farg2, farg3) 1372swig_result = fresult 1373end function 1374 1375function FKINBBDPrecGetNumGfnEvals(kinmem, ngevalsbbdp) & 1376result(swig_result) 1377use, intrinsic :: ISO_C_BINDING 1378integer(C_INT) :: swig_result 1379type(C_PTR) :: kinmem 1380integer(C_LONG), dimension(*), target, intent(inout) :: ngevalsbbdp 1381integer(C_INT) :: fresult 1382type(C_PTR) :: farg1 1383type(C_PTR) :: farg2 1384 1385farg1 = kinmem 1386farg2 = c_loc(ngevalsbbdp(1)) 1387fresult = swigc_FKINBBDPrecGetNumGfnEvals(farg1, farg2) 1388swig_result = fresult 1389end function 1390 1391function FKINSetLinearSolver(kinmem, ls, a) & 1392result(swig_result) 1393use, intrinsic :: ISO_C_BINDING 1394integer(C_INT) :: swig_result 1395type(C_PTR) :: kinmem 1396type(SUNLinearSolver), target, intent(inout) :: ls 1397type(SUNMatrix), target, intent(inout) :: a 1398integer(C_INT) :: fresult 1399type(C_PTR) :: farg1 1400type(C_PTR) :: farg2 1401type(C_PTR) :: farg3 1402 1403farg1 = kinmem 1404farg2 = c_loc(ls) 1405farg3 = c_loc(a) 1406fresult = swigc_FKINSetLinearSolver(farg1, farg2, farg3) 1407swig_result = fresult 1408end function 1409 1410function FKINSetJacFn(kinmem, jac) & 1411result(swig_result) 1412use, intrinsic :: ISO_C_BINDING 1413integer(C_INT) :: swig_result 1414type(C_PTR) :: kinmem 1415type(C_FUNPTR), intent(in), value :: jac 1416integer(C_INT) :: fresult 1417type(C_PTR) :: farg1 1418type(C_FUNPTR) :: farg2 1419 1420farg1 = kinmem 1421farg2 = jac 1422fresult = swigc_FKINSetJacFn(farg1, farg2) 1423swig_result = fresult 1424end function 1425 1426function FKINSetPreconditioner(kinmem, psetup, psolve) & 1427result(swig_result) 1428use, intrinsic :: ISO_C_BINDING 1429integer(C_INT) :: swig_result 1430type(C_PTR) :: kinmem 1431type(C_FUNPTR), intent(in), value :: psetup 1432type(C_FUNPTR), intent(in), value :: psolve 1433integer(C_INT) :: fresult 1434type(C_PTR) :: farg1 1435type(C_FUNPTR) :: farg2 1436type(C_FUNPTR) :: farg3 1437 1438farg1 = kinmem 1439farg2 = psetup 1440farg3 = psolve 1441fresult = swigc_FKINSetPreconditioner(farg1, farg2, farg3) 1442swig_result = fresult 1443end function 1444 1445function FKINSetJacTimesVecFn(kinmem, jtv) & 1446result(swig_result) 1447use, intrinsic :: ISO_C_BINDING 1448integer(C_INT) :: swig_result 1449type(C_PTR) :: kinmem 1450type(C_FUNPTR), intent(in), value :: jtv 1451integer(C_INT) :: fresult 1452type(C_PTR) :: farg1 1453type(C_FUNPTR) :: farg2 1454 1455farg1 = kinmem 1456farg2 = jtv 1457fresult = swigc_FKINSetJacTimesVecFn(farg1, farg2) 1458swig_result = fresult 1459end function 1460 1461function FKINGetLinWorkSpace(kinmem, lenrwls, leniwls) & 1462result(swig_result) 1463use, intrinsic :: ISO_C_BINDING 1464integer(C_INT) :: swig_result 1465type(C_PTR) :: kinmem 1466integer(C_LONG), dimension(*), target, intent(inout) :: lenrwls 1467integer(C_LONG), dimension(*), target, intent(inout) :: leniwls 1468integer(C_INT) :: fresult 1469type(C_PTR) :: farg1 1470type(C_PTR) :: farg2 1471type(C_PTR) :: farg3 1472 1473farg1 = kinmem 1474farg2 = c_loc(lenrwls(1)) 1475farg3 = c_loc(leniwls(1)) 1476fresult = swigc_FKINGetLinWorkSpace(farg1, farg2, farg3) 1477swig_result = fresult 1478end function 1479 1480function FKINGetNumJacEvals(kinmem, njevals) & 1481result(swig_result) 1482use, intrinsic :: ISO_C_BINDING 1483integer(C_INT) :: swig_result 1484type(C_PTR) :: kinmem 1485integer(C_LONG), dimension(*), target, intent(inout) :: njevals 1486integer(C_INT) :: fresult 1487type(C_PTR) :: farg1 1488type(C_PTR) :: farg2 1489 1490farg1 = kinmem 1491farg2 = c_loc(njevals(1)) 1492fresult = swigc_FKINGetNumJacEvals(farg1, farg2) 1493swig_result = fresult 1494end function 1495 1496function FKINGetNumLinFuncEvals(kinmem, nfevals) & 1497result(swig_result) 1498use, intrinsic :: ISO_C_BINDING 1499integer(C_INT) :: swig_result 1500type(C_PTR) :: kinmem 1501integer(C_LONG), dimension(*), target, intent(inout) :: nfevals 1502integer(C_INT) :: fresult 1503type(C_PTR) :: farg1 1504type(C_PTR) :: farg2 1505 1506farg1 = kinmem 1507farg2 = c_loc(nfevals(1)) 1508fresult = swigc_FKINGetNumLinFuncEvals(farg1, farg2) 1509swig_result = fresult 1510end function 1511 1512function FKINGetNumPrecEvals(kinmem, npevals) & 1513result(swig_result) 1514use, intrinsic :: ISO_C_BINDING 1515integer(C_INT) :: swig_result 1516type(C_PTR) :: kinmem 1517integer(C_LONG), dimension(*), target, intent(inout) :: npevals 1518integer(C_INT) :: fresult 1519type(C_PTR) :: farg1 1520type(C_PTR) :: farg2 1521 1522farg1 = kinmem 1523farg2 = c_loc(npevals(1)) 1524fresult = swigc_FKINGetNumPrecEvals(farg1, farg2) 1525swig_result = fresult 1526end function 1527 1528function FKINGetNumPrecSolves(kinmem, npsolves) & 1529result(swig_result) 1530use, intrinsic :: ISO_C_BINDING 1531integer(C_INT) :: swig_result 1532type(C_PTR) :: kinmem 1533integer(C_LONG), dimension(*), target, intent(inout) :: npsolves 1534integer(C_INT) :: fresult 1535type(C_PTR) :: farg1 1536type(C_PTR) :: farg2 1537 1538farg1 = kinmem 1539farg2 = c_loc(npsolves(1)) 1540fresult = swigc_FKINGetNumPrecSolves(farg1, farg2) 1541swig_result = fresult 1542end function 1543 1544function FKINGetNumLinIters(kinmem, nliters) & 1545result(swig_result) 1546use, intrinsic :: ISO_C_BINDING 1547integer(C_INT) :: swig_result 1548type(C_PTR) :: kinmem 1549integer(C_LONG), dimension(*), target, intent(inout) :: nliters 1550integer(C_INT) :: fresult 1551type(C_PTR) :: farg1 1552type(C_PTR) :: farg2 1553 1554farg1 = kinmem 1555farg2 = c_loc(nliters(1)) 1556fresult = swigc_FKINGetNumLinIters(farg1, farg2) 1557swig_result = fresult 1558end function 1559 1560function FKINGetNumLinConvFails(kinmem, nlcfails) & 1561result(swig_result) 1562use, intrinsic :: ISO_C_BINDING 1563integer(C_INT) :: swig_result 1564type(C_PTR) :: kinmem 1565integer(C_LONG), dimension(*), target, intent(inout) :: nlcfails 1566integer(C_INT) :: fresult 1567type(C_PTR) :: farg1 1568type(C_PTR) :: farg2 1569 1570farg1 = kinmem 1571farg2 = c_loc(nlcfails(1)) 1572fresult = swigc_FKINGetNumLinConvFails(farg1, farg2) 1573swig_result = fresult 1574end function 1575 1576function FKINGetNumJtimesEvals(kinmem, njvevals) & 1577result(swig_result) 1578use, intrinsic :: ISO_C_BINDING 1579integer(C_INT) :: swig_result 1580type(C_PTR) :: kinmem 1581integer(C_LONG), dimension(*), target, intent(inout) :: njvevals 1582integer(C_INT) :: fresult 1583type(C_PTR) :: farg1 1584type(C_PTR) :: farg2 1585 1586farg1 = kinmem 1587farg2 = c_loc(njvevals(1)) 1588fresult = swigc_FKINGetNumJtimesEvals(farg1, farg2) 1589swig_result = fresult 1590end function 1591 1592function FKINGetLastLinFlag(kinmem, flag) & 1593result(swig_result) 1594use, intrinsic :: ISO_C_BINDING 1595integer(C_INT) :: swig_result 1596type(C_PTR) :: kinmem 1597integer(C_LONG), dimension(*), target, intent(inout) :: flag 1598integer(C_INT) :: fresult 1599type(C_PTR) :: farg1 1600type(C_PTR) :: farg2 1601 1602farg1 = kinmem 1603farg2 = c_loc(flag(1)) 1604fresult = swigc_FKINGetLastLinFlag(farg1, farg2) 1605swig_result = fresult 1606end function 1607 1608function FKINGetLinReturnFlagName(flag) & 1609result(swig_result) 1610use, intrinsic :: ISO_C_BINDING 1611character(kind=C_CHAR, len=:), allocatable :: swig_result 1612integer(C_LONG), intent(in) :: flag 1613type(SwigArrayWrapper) :: fresult 1614integer(C_LONG) :: farg1 1615 1616farg1 = flag 1617fresult = swigc_FKINGetLinReturnFlagName(farg1) 1618call SWIG_chararray_to_string(fresult, swig_result) 1619if (.false.) call SWIG_free(fresult%data) 1620end function 1621 1622 1623end module 1624