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