1 /* ----------------------------------------------------------------------------
2  * This file was automatically generated by SWIG (http://www.swig.org).
3  * Version 4.0.1
4  *
5  * This file is not intended to be easily readable and contains a number of
6  * coding conventions designed to improve portability and efficiency. Do not make
7  * changes to this file unless you know what you are doing--modify the SWIG
8  * interface file instead.
9  * ----------------------------------------------------------------------------- */
10 
11 
12 #ifndef SWIGPERL
13 #define SWIGPERL
14 #endif
15 
16 #define SWIG_CASTRANK_MODE
17 
18 /* -----------------------------------------------------------------------------
19  *  This section contains generic SWIG labels for method/variable
20  *  declarations/attributes, and other compiler dependent labels.
21  * ----------------------------------------------------------------------------- */
22 
23 /* template workaround for compilers that cannot correctly implement the C++ standard */
24 #ifndef SWIGTEMPLATEDISAMBIGUATOR
25 # if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
26 #  define SWIGTEMPLATEDISAMBIGUATOR template
27 # elif defined(__HP_aCC)
28 /* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
29 /* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
30 #  define SWIGTEMPLATEDISAMBIGUATOR template
31 # else
32 #  define SWIGTEMPLATEDISAMBIGUATOR
33 # endif
34 #endif
35 
36 /* inline attribute */
37 #ifndef SWIGINLINE
38 # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
39 #   define SWIGINLINE inline
40 # else
41 #   define SWIGINLINE
42 # endif
43 #endif
44 
45 /* attribute recognised by some compilers to avoid 'unused' warnings */
46 #ifndef SWIGUNUSED
47 # if defined(__GNUC__)
48 #   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
49 #     define SWIGUNUSED __attribute__ ((__unused__))
50 #   else
51 #     define SWIGUNUSED
52 #   endif
53 # elif defined(__ICC)
54 #   define SWIGUNUSED __attribute__ ((__unused__))
55 # else
56 #   define SWIGUNUSED
57 # endif
58 #endif
59 
60 #ifndef SWIG_MSC_UNSUPPRESS_4505
61 # if defined(_MSC_VER)
62 #   pragma warning(disable : 4505) /* unreferenced local function has been removed */
63 # endif
64 #endif
65 
66 #ifndef SWIGUNUSEDPARM
67 # ifdef __cplusplus
68 #   define SWIGUNUSEDPARM(p)
69 # else
70 #   define SWIGUNUSEDPARM(p) p SWIGUNUSED
71 # endif
72 #endif
73 
74 /* internal SWIG method */
75 #ifndef SWIGINTERN
76 # define SWIGINTERN static SWIGUNUSED
77 #endif
78 
79 /* internal inline SWIG method */
80 #ifndef SWIGINTERNINLINE
81 # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
82 #endif
83 
84 /* exporting methods */
85 #if defined(__GNUC__)
86 #  if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
87 #    ifndef GCC_HASCLASSVISIBILITY
88 #      define GCC_HASCLASSVISIBILITY
89 #    endif
90 #  endif
91 #endif
92 
93 #ifndef SWIGEXPORT
94 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
95 #   if defined(STATIC_LINKED)
96 #     define SWIGEXPORT
97 #   else
98 #     define SWIGEXPORT __declspec(dllexport)
99 #   endif
100 # else
101 #   if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
102 #     define SWIGEXPORT __attribute__ ((visibility("default")))
103 #   else
104 #     define SWIGEXPORT
105 #   endif
106 # endif
107 #endif
108 
109 /* calling conventions for Windows */
110 #ifndef SWIGSTDCALL
111 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
112 #   define SWIGSTDCALL __stdcall
113 # else
114 #   define SWIGSTDCALL
115 # endif
116 #endif
117 
118 /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
119 #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
120 # define _CRT_SECURE_NO_DEPRECATE
121 #endif
122 
123 /* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
124 #if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
125 # define _SCL_SECURE_NO_DEPRECATE
126 #endif
127 
128 /* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */
129 #if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
130 # define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
131 #endif
132 
133 /* Intel's compiler complains if a variable which was never initialised is
134  * cast to void, which is a common idiom which we use to indicate that we
135  * are aware a variable isn't used.  So we just silence that warning.
136  * See: https://github.com/swig/swig/issues/192 for more discussion.
137  */
138 #ifdef __INTEL_COMPILER
139 # pragma warning disable 592
140 #endif
141 
142 /* -----------------------------------------------------------------------------
143  * swigrun.swg
144  *
145  * This file contains generic C API SWIG runtime support for pointer
146  * type checking.
147  * ----------------------------------------------------------------------------- */
148 
149 /* This should only be incremented when either the layout of swig_type_info changes,
150    or for whatever reason, the runtime changes incompatibly */
151 #define SWIG_RUNTIME_VERSION "4"
152 
153 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
154 #ifdef SWIG_TYPE_TABLE
155 # define SWIG_QUOTE_STRING(x) #x
156 # define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
157 # define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
158 #else
159 # define SWIG_TYPE_TABLE_NAME
160 #endif
161 
162 /*
163   You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
164   creating a static or dynamic library from the SWIG runtime code.
165   In 99.9% of the cases, SWIG just needs to declare them as 'static'.
166 
167   But only do this if strictly necessary, ie, if you have problems
168   with your compiler or suchlike.
169 */
170 
171 #ifndef SWIGRUNTIME
172 # define SWIGRUNTIME SWIGINTERN
173 #endif
174 
175 #ifndef SWIGRUNTIMEINLINE
176 # define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
177 #endif
178 
179 /*  Generic buffer size */
180 #ifndef SWIG_BUFFER_SIZE
181 # define SWIG_BUFFER_SIZE 1024
182 #endif
183 
184 /* Flags for pointer conversions */
185 #define SWIG_POINTER_DISOWN        0x1
186 #define SWIG_CAST_NEW_MEMORY       0x2
187 #define SWIG_POINTER_NO_NULL       0x4
188 
189 /* Flags for new pointer objects */
190 #define SWIG_POINTER_OWN           0x1
191 
192 
193 /*
194    Flags/methods for returning states.
195 
196    The SWIG conversion methods, as ConvertPtr, return an integer
197    that tells if the conversion was successful or not. And if not,
198    an error code can be returned (see swigerrors.swg for the codes).
199 
200    Use the following macros/flags to set or process the returning
201    states.
202 
203    In old versions of SWIG, code such as the following was usually written:
204 
205      if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
206        // success code
207      } else {
208        //fail code
209      }
210 
211    Now you can be more explicit:
212 
213     int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
214     if (SWIG_IsOK(res)) {
215       // success code
216     } else {
217       // fail code
218     }
219 
220    which is the same really, but now you can also do
221 
222     Type *ptr;
223     int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
224     if (SWIG_IsOK(res)) {
225       // success code
226       if (SWIG_IsNewObj(res) {
227         ...
228 	delete *ptr;
229       } else {
230         ...
231       }
232     } else {
233       // fail code
234     }
235 
236    I.e., now SWIG_ConvertPtr can return new objects and you can
237    identify the case and take care of the deallocation. Of course that
238    also requires SWIG_ConvertPtr to return new result values, such as
239 
240       int SWIG_ConvertPtr(obj, ptr,...) {
241         if (<obj is ok>) {
242           if (<need new object>) {
243             *ptr = <ptr to new allocated object>;
244             return SWIG_NEWOBJ;
245           } else {
246             *ptr = <ptr to old object>;
247             return SWIG_OLDOBJ;
248           }
249         } else {
250           return SWIG_BADOBJ;
251         }
252       }
253 
254    Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
255    more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the
256    SWIG errors code.
257 
258    Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
259    allows to return the 'cast rank', for example, if you have this
260 
261        int food(double)
262        int fooi(int);
263 
264    and you call
265 
266       food(1)   // cast rank '1'  (1 -> 1.0)
267       fooi(1)   // cast rank '0'
268 
269    just use the SWIG_AddCast()/SWIG_CheckState()
270 */
271 
272 #define SWIG_OK                    (0)
273 #define SWIG_ERROR                 (-1)
274 #define SWIG_IsOK(r)               (r >= 0)
275 #define SWIG_ArgError(r)           ((r != SWIG_ERROR) ? r : SWIG_TypeError)
276 
277 /* The CastRankLimit says how many bits are used for the cast rank */
278 #define SWIG_CASTRANKLIMIT         (1 << 8)
279 /* The NewMask denotes the object was created (using new/malloc) */
280 #define SWIG_NEWOBJMASK            (SWIG_CASTRANKLIMIT  << 1)
281 /* The TmpMask is for in/out typemaps that use temporal objects */
282 #define SWIG_TMPOBJMASK            (SWIG_NEWOBJMASK << 1)
283 /* Simple returning values */
284 #define SWIG_BADOBJ                (SWIG_ERROR)
285 #define SWIG_OLDOBJ                (SWIG_OK)
286 #define SWIG_NEWOBJ                (SWIG_OK | SWIG_NEWOBJMASK)
287 #define SWIG_TMPOBJ                (SWIG_OK | SWIG_TMPOBJMASK)
288 /* Check, add and del mask methods */
289 #define SWIG_AddNewMask(r)         (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
290 #define SWIG_DelNewMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
291 #define SWIG_IsNewObj(r)           (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
292 #define SWIG_AddTmpMask(r)         (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r)
293 #define SWIG_DelTmpMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
294 #define SWIG_IsTmpObj(r)           (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))
295 
296 /* Cast-Rank Mode */
297 #if defined(SWIG_CASTRANK_MODE)
298 #  ifndef SWIG_TypeRank
299 #    define SWIG_TypeRank             unsigned long
300 #  endif
301 #  ifndef SWIG_MAXCASTRANK            /* Default cast allowed */
302 #    define SWIG_MAXCASTRANK          (2)
303 #  endif
304 #  define SWIG_CASTRANKMASK          ((SWIG_CASTRANKLIMIT) -1)
305 #  define SWIG_CastRank(r)           (r & SWIG_CASTRANKMASK)
SWIG_AddCast(int r)306 SWIGINTERNINLINE int SWIG_AddCast(int r) {
307   return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r;
308 }
SWIG_CheckState(int r)309 SWIGINTERNINLINE int SWIG_CheckState(int r) {
310   return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0;
311 }
312 #else /* no cast-rank mode */
313 #  define SWIG_AddCast(r) (r)
314 #  define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
315 #endif
316 
317 
318 #include <string.h>
319 
320 #ifdef __cplusplus
321 extern "C" {
322 #endif
323 
324 typedef void *(*swig_converter_func)(void *, int *);
325 typedef struct swig_type_info *(*swig_dycast_func)(void **);
326 
327 /* Structure to store information on one type */
328 typedef struct swig_type_info {
329   const char             *name;			/* mangled name of this type */
330   const char             *str;			/* human readable name of this type */
331   swig_dycast_func        dcast;		/* dynamic cast function down a hierarchy */
332   struct swig_cast_info  *cast;			/* linked list of types that can cast into this type */
333   void                   *clientdata;		/* language specific type data */
334   int                    owndata;		/* flag if the structure owns the clientdata */
335 } swig_type_info;
336 
337 /* Structure to store a type and conversion function used for casting */
338 typedef struct swig_cast_info {
339   swig_type_info         *type;			/* pointer to type that is equivalent to this type */
340   swig_converter_func     converter;		/* function to cast the void pointers */
341   struct swig_cast_info  *next;			/* pointer to next cast in linked list */
342   struct swig_cast_info  *prev;			/* pointer to the previous cast */
343 } swig_cast_info;
344 
345 /* Structure used to store module information
346  * Each module generates one structure like this, and the runtime collects
347  * all of these structures and stores them in a circularly linked list.*/
348 typedef struct swig_module_info {
349   swig_type_info         **types;		/* Array of pointers to swig_type_info structures that are in this module */
350   size_t                 size;		        /* Number of types in this module */
351   struct swig_module_info *next;		/* Pointer to next element in circularly linked list */
352   swig_type_info         **type_initial;	/* Array of initially generated type structures */
353   swig_cast_info         **cast_initial;	/* Array of initially generated casting structures */
354   void                    *clientdata;		/* Language specific module data */
355 } swig_module_info;
356 
357 /*
358   Compare two type names skipping the space characters, therefore
359   "char*" == "char *" and "Class<int>" == "Class<int >", etc.
360 
361   Return 0 when the two name types are equivalent, as in
362   strncmp, but skipping ' '.
363 */
364 SWIGRUNTIME int
SWIG_TypeNameComp(const char * f1,const char * l1,const char * f2,const char * l2)365 SWIG_TypeNameComp(const char *f1, const char *l1,
366 		  const char *f2, const char *l2) {
367   for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
368     while ((*f1 == ' ') && (f1 != l1)) ++f1;
369     while ((*f2 == ' ') && (f2 != l2)) ++f2;
370     if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
371   }
372   return (int)((l1 - f1) - (l2 - f2));
373 }
374 
375 /*
376   Check type equivalence in a name list like <name1>|<name2>|...
377   Return 0 if equal, -1 if nb < tb, 1 if nb > tb
378 */
379 SWIGRUNTIME int
SWIG_TypeCmp(const char * nb,const char * tb)380 SWIG_TypeCmp(const char *nb, const char *tb) {
381   int equiv = 1;
382   const char* te = tb + strlen(tb);
383   const char* ne = nb;
384   while (equiv != 0 && *ne) {
385     for (nb = ne; *ne; ++ne) {
386       if (*ne == '|') break;
387     }
388     equiv = SWIG_TypeNameComp(nb, ne, tb, te);
389     if (*ne) ++ne;
390   }
391   return equiv;
392 }
393 
394 /*
395   Check type equivalence in a name list like <name1>|<name2>|...
396   Return 0 if not equal, 1 if equal
397 */
398 SWIGRUNTIME int
SWIG_TypeEquiv(const char * nb,const char * tb)399 SWIG_TypeEquiv(const char *nb, const char *tb) {
400   return SWIG_TypeCmp(nb, tb) == 0 ? 1 : 0;
401 }
402 
403 /*
404   Check the typename
405 */
406 SWIGRUNTIME swig_cast_info *
SWIG_TypeCheck(const char * c,swig_type_info * ty)407 SWIG_TypeCheck(const char *c, swig_type_info *ty) {
408   if (ty) {
409     swig_cast_info *iter = ty->cast;
410     while (iter) {
411       if (strcmp(iter->type->name, c) == 0) {
412         if (iter == ty->cast)
413           return iter;
414         /* Move iter to the top of the linked list */
415         iter->prev->next = iter->next;
416         if (iter->next)
417           iter->next->prev = iter->prev;
418         iter->next = ty->cast;
419         iter->prev = 0;
420         if (ty->cast) ty->cast->prev = iter;
421         ty->cast = iter;
422         return iter;
423       }
424       iter = iter->next;
425     }
426   }
427   return 0;
428 }
429 
430 /*
431   Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
432 */
433 SWIGRUNTIME swig_cast_info *
SWIG_TypeCheckStruct(swig_type_info * from,swig_type_info * ty)434 SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) {
435   if (ty) {
436     swig_cast_info *iter = ty->cast;
437     while (iter) {
438       if (iter->type == from) {
439         if (iter == ty->cast)
440           return iter;
441         /* Move iter to the top of the linked list */
442         iter->prev->next = iter->next;
443         if (iter->next)
444           iter->next->prev = iter->prev;
445         iter->next = ty->cast;
446         iter->prev = 0;
447         if (ty->cast) ty->cast->prev = iter;
448         ty->cast = iter;
449         return iter;
450       }
451       iter = iter->next;
452     }
453   }
454   return 0;
455 }
456 
457 /*
458   Cast a pointer up an inheritance hierarchy
459 */
460 SWIGRUNTIMEINLINE void *
SWIG_TypeCast(swig_cast_info * ty,void * ptr,int * newmemory)461 SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
462   return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
463 }
464 
465 /*
466    Dynamic pointer casting. Down an inheritance hierarchy
467 */
468 SWIGRUNTIME swig_type_info *
SWIG_TypeDynamicCast(swig_type_info * ty,void ** ptr)469 SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
470   swig_type_info *lastty = ty;
471   if (!ty || !ty->dcast) return ty;
472   while (ty && (ty->dcast)) {
473     ty = (*ty->dcast)(ptr);
474     if (ty) lastty = ty;
475   }
476   return lastty;
477 }
478 
479 /*
480   Return the name associated with this type
481 */
482 SWIGRUNTIMEINLINE const char *
SWIG_TypeName(const swig_type_info * ty)483 SWIG_TypeName(const swig_type_info *ty) {
484   return ty->name;
485 }
486 
487 /*
488   Return the pretty name associated with this type,
489   that is an unmangled type name in a form presentable to the user.
490 */
491 SWIGRUNTIME const char *
SWIG_TypePrettyName(const swig_type_info * type)492 SWIG_TypePrettyName(const swig_type_info *type) {
493   /* The "str" field contains the equivalent pretty names of the
494      type, separated by vertical-bar characters.  We choose
495      to print the last name, as it is often (?) the most
496      specific. */
497   if (!type) return NULL;
498   if (type->str != NULL) {
499     const char *last_name = type->str;
500     const char *s;
501     for (s = type->str; *s; s++)
502       if (*s == '|') last_name = s+1;
503     return last_name;
504   }
505   else
506     return type->name;
507 }
508 
509 /*
510    Set the clientdata field for a type
511 */
512 SWIGRUNTIME void
SWIG_TypeClientData(swig_type_info * ti,void * clientdata)513 SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
514   swig_cast_info *cast = ti->cast;
515   /* if (ti->clientdata == clientdata) return; */
516   ti->clientdata = clientdata;
517 
518   while (cast) {
519     if (!cast->converter) {
520       swig_type_info *tc = cast->type;
521       if (!tc->clientdata) {
522 	SWIG_TypeClientData(tc, clientdata);
523       }
524     }
525     cast = cast->next;
526   }
527 }
528 SWIGRUNTIME void
SWIG_TypeNewClientData(swig_type_info * ti,void * clientdata)529 SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) {
530   SWIG_TypeClientData(ti, clientdata);
531   ti->owndata = 1;
532 }
533 
534 /*
535   Search for a swig_type_info structure only by mangled name
536   Search is a O(log #types)
537 
538   We start searching at module start, and finish searching when start == end.
539   Note: if start == end at the beginning of the function, we go all the way around
540   the circular list.
541 */
542 SWIGRUNTIME swig_type_info *
SWIG_MangledTypeQueryModule(swig_module_info * start,swig_module_info * end,const char * name)543 SWIG_MangledTypeQueryModule(swig_module_info *start,
544                             swig_module_info *end,
545 		            const char *name) {
546   swig_module_info *iter = start;
547   do {
548     if (iter->size) {
549       size_t l = 0;
550       size_t r = iter->size - 1;
551       do {
552 	/* since l+r >= 0, we can (>> 1) instead (/ 2) */
553 	size_t i = (l + r) >> 1;
554 	const char *iname = iter->types[i]->name;
555 	if (iname) {
556 	  int compare = strcmp(name, iname);
557 	  if (compare == 0) {
558 	    return iter->types[i];
559 	  } else if (compare < 0) {
560 	    if (i) {
561 	      r = i - 1;
562 	    } else {
563 	      break;
564 	    }
565 	  } else if (compare > 0) {
566 	    l = i + 1;
567 	  }
568 	} else {
569 	  break; /* should never happen */
570 	}
571       } while (l <= r);
572     }
573     iter = iter->next;
574   } while (iter != end);
575   return 0;
576 }
577 
578 /*
579   Search for a swig_type_info structure for either a mangled name or a human readable name.
580   It first searches the mangled names of the types, which is a O(log #types)
581   If a type is not found it then searches the human readable names, which is O(#types).
582 
583   We start searching at module start, and finish searching when start == end.
584   Note: if start == end at the beginning of the function, we go all the way around
585   the circular list.
586 */
587 SWIGRUNTIME swig_type_info *
SWIG_TypeQueryModule(swig_module_info * start,swig_module_info * end,const char * name)588 SWIG_TypeQueryModule(swig_module_info *start,
589                      swig_module_info *end,
590 		     const char *name) {
591   /* STEP 1: Search the name field using binary search */
592   swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
593   if (ret) {
594     return ret;
595   } else {
596     /* STEP 2: If the type hasn't been found, do a complete search
597        of the str field (the human readable name) */
598     swig_module_info *iter = start;
599     do {
600       size_t i = 0;
601       for (; i < iter->size; ++i) {
602 	if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
603 	  return iter->types[i];
604       }
605       iter = iter->next;
606     } while (iter != end);
607   }
608 
609   /* neither found a match */
610   return 0;
611 }
612 
613 /*
614    Pack binary data into a string
615 */
616 SWIGRUNTIME char *
SWIG_PackData(char * c,void * ptr,size_t sz)617 SWIG_PackData(char *c, void *ptr, size_t sz) {
618   static const char hex[17] = "0123456789abcdef";
619   const unsigned char *u = (unsigned char *) ptr;
620   const unsigned char *eu =  u + sz;
621   for (; u != eu; ++u) {
622     unsigned char uu = *u;
623     *(c++) = hex[(uu & 0xf0) >> 4];
624     *(c++) = hex[uu & 0xf];
625   }
626   return c;
627 }
628 
629 /*
630    Unpack binary data from a string
631 */
632 SWIGRUNTIME const char *
SWIG_UnpackData(const char * c,void * ptr,size_t sz)633 SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
634   unsigned char *u = (unsigned char *) ptr;
635   const unsigned char *eu = u + sz;
636   for (; u != eu; ++u) {
637     char d = *(c++);
638     unsigned char uu;
639     if ((d >= '0') && (d <= '9'))
640       uu = (unsigned char)((d - '0') << 4);
641     else if ((d >= 'a') && (d <= 'f'))
642       uu = (unsigned char)((d - ('a'-10)) << 4);
643     else
644       return (char *) 0;
645     d = *(c++);
646     if ((d >= '0') && (d <= '9'))
647       uu |= (unsigned char)(d - '0');
648     else if ((d >= 'a') && (d <= 'f'))
649       uu |= (unsigned char)(d - ('a'-10));
650     else
651       return (char *) 0;
652     *u = uu;
653   }
654   return c;
655 }
656 
657 /*
658    Pack 'void *' into a string buffer.
659 */
660 SWIGRUNTIME char *
SWIG_PackVoidPtr(char * buff,void * ptr,const char * name,size_t bsz)661 SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
662   char *r = buff;
663   if ((2*sizeof(void *) + 2) > bsz) return 0;
664   *(r++) = '_';
665   r = SWIG_PackData(r,&ptr,sizeof(void *));
666   if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
667   strcpy(r,name);
668   return buff;
669 }
670 
671 SWIGRUNTIME const char *
SWIG_UnpackVoidPtr(const char * c,void ** ptr,const char * name)672 SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
673   if (*c != '_') {
674     if (strcmp(c,"NULL") == 0) {
675       *ptr = (void *) 0;
676       return name;
677     } else {
678       return 0;
679     }
680   }
681   return SWIG_UnpackData(++c,ptr,sizeof(void *));
682 }
683 
684 SWIGRUNTIME char *
SWIG_PackDataName(char * buff,void * ptr,size_t sz,const char * name,size_t bsz)685 SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
686   char *r = buff;
687   size_t lname = (name ? strlen(name) : 0);
688   if ((2*sz + 2 + lname) > bsz) return 0;
689   *(r++) = '_';
690   r = SWIG_PackData(r,ptr,sz);
691   if (lname) {
692     strncpy(r,name,lname+1);
693   } else {
694     *r = 0;
695   }
696   return buff;
697 }
698 
699 SWIGRUNTIME const char *
SWIG_UnpackDataName(const char * c,void * ptr,size_t sz,const char * name)700 SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
701   if (*c != '_') {
702     if (strcmp(c,"NULL") == 0) {
703       memset(ptr,0,sz);
704       return name;
705     } else {
706       return 0;
707     }
708   }
709   return SWIG_UnpackData(++c,ptr,sz);
710 }
711 
712 #ifdef __cplusplus
713 }
714 #endif
715 
716 /*  Errors in SWIG */
717 #define  SWIG_UnknownError    	   -1
718 #define  SWIG_IOError        	   -2
719 #define  SWIG_RuntimeError   	   -3
720 #define  SWIG_IndexError     	   -4
721 #define  SWIG_TypeError      	   -5
722 #define  SWIG_DivisionByZero 	   -6
723 #define  SWIG_OverflowError  	   -7
724 #define  SWIG_SyntaxError    	   -8
725 #define  SWIG_ValueError     	   -9
726 #define  SWIG_SystemError    	   -10
727 #define  SWIG_AttributeError 	   -11
728 #define  SWIG_MemoryError    	   -12
729 #define  SWIG_NullReferenceError   -13
730 
731 
732 
733 #ifdef __cplusplus
734 /* Needed on some windows machines---since MS plays funny games with the header files under C++ */
735 #include <math.h>
736 #include <stdlib.h>
737 extern "C" {
738 #endif
739 #include "EXTERN.h"
740 #include "perl.h"
741 #include "XSUB.h"
742 
743 /* Add in functionality missing in older versions of Perl. Much of this is based on Devel-PPPort on cpan. */
744 
745 /* Add PERL_REVISION, PERL_VERSION, PERL_SUBVERSION if missing */
746 #ifndef PERL_REVISION
747 #  if !defined(__PATCHLEVEL_H_INCLUDED__) && !(defined(PATCHLEVEL) && defined(SUBVERSION))
748 #    define PERL_PATCHLEVEL_H_IMPLICIT
749 #    include <patchlevel.h>
750 #  endif
751 #  if !(defined(PERL_VERSION) || (defined(SUBVERSION) && defined(PATCHLEVEL)))
752 #    include <could_not_find_Perl_patchlevel.h>
753 #  endif
754 #  ifndef PERL_REVISION
755 #    define PERL_REVISION       (5)
756 #    define PERL_VERSION        PATCHLEVEL
757 #    define PERL_SUBVERSION     SUBVERSION
758 #  endif
759 #endif
760 
761 #if defined(WIN32) && defined(PERL_OBJECT) && !defined(PerlIO_exportFILE)
762 #define PerlIO_exportFILE(fh,fl) (FILE*)(fh)
763 #endif
764 
765 #ifndef SvIOK_UV
766 # define SvIOK_UV(sv)       (SvIOK(sv) && (SvUVX(sv) == SvIVX(sv)))
767 #endif
768 
769 #ifndef SvUOK
770 # define SvUOK(sv)           SvIOK_UV(sv)
771 #endif
772 
773 #if ((PERL_VERSION < 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION <= 5)))
774 #  define PL_sv_undef               sv_undef
775 #  define PL_na	                    na
776 #  define PL_errgv                  errgv
777 #  define PL_sv_no                  sv_no
778 #  define PL_sv_yes                 sv_yes
779 #  define PL_markstack_ptr          markstack_ptr
780 #endif
781 
782 #ifndef IVSIZE
783 #  ifdef LONGSIZE
784 #    define IVSIZE LONGSIZE
785 #  else
786 #    define IVSIZE 4 /* A bold guess, but the best we can make. */
787 #  endif
788 #endif
789 
790 #ifndef INT2PTR
791 #  if (IVSIZE == PTRSIZE) && (UVSIZE == PTRSIZE)
792 #    define PTRV                  UV
793 #    define INT2PTR(any,d)        (any)(d)
794 #  else
795 #    if PTRSIZE == LONGSIZE
796 #      define PTRV                unsigned long
797 #    else
798 #      define PTRV                unsigned
799 #    endif
800 #    define INT2PTR(any,d)        (any)(PTRV)(d)
801 #  endif
802 
803 #  define NUM2PTR(any,d)  (any)(PTRV)(d)
804 #  define PTR2IV(p)       INT2PTR(IV,p)
805 #  define PTR2UV(p)       INT2PTR(UV,p)
806 #  define PTR2NV(p)       NUM2PTR(NV,p)
807 
808 #  if PTRSIZE == LONGSIZE
809 #    define PTR2ul(p)     (unsigned long)(p)
810 #  else
811 #    define PTR2ul(p)     INT2PTR(unsigned long,p)
812 #  endif
813 #endif /* !INT2PTR */
814 
815 #ifndef SvPV_nolen
816 # define SvPV_nolen(x) SvPV(x,PL_na)
817 #endif
818 
819 #ifndef get_sv
820 #  define get_sv perl_get_sv
821 #endif
822 
823 #ifndef ERRSV
824 #  define ERRSV get_sv("@",FALSE)
825 #endif
826 
827 #ifndef pTHX_
828 #define pTHX_
829 #endif
830 
831 #include <string.h>
832 #ifdef __cplusplus
833 }
834 #endif
835 
836 /* -----------------------------------------------------------------------------
837  * error manipulation
838  * ----------------------------------------------------------------------------- */
839 
840 SWIGINTERN const char*
SWIG_Perl_ErrorType(int code)841 SWIG_Perl_ErrorType(int code) {
842   switch(code) {
843   case SWIG_MemoryError:
844     return "MemoryError";
845   case SWIG_IOError:
846     return "IOError";
847   case SWIG_RuntimeError:
848     return "RuntimeError";
849   case SWIG_IndexError:
850     return "IndexError";
851   case SWIG_TypeError:
852     return "TypeError";
853   case SWIG_DivisionByZero:
854     return "ZeroDivisionError";
855   case SWIG_OverflowError:
856     return "OverflowError";
857   case SWIG_SyntaxError:
858     return "SyntaxError";
859   case SWIG_ValueError:
860     return "ValueError";
861   case SWIG_SystemError:
862     return "SystemError";
863   case SWIG_AttributeError:
864     return "AttributeError";
865   default:
866     return "RuntimeError";
867   }
868 }
869 
870 
871 /* -----------------------------------------------------------------------------
872  * perlrun.swg
873  *
874  * This file contains the runtime support for Perl modules
875  * and includes code for managing global variables and pointer
876  * type checking.
877  * ----------------------------------------------------------------------------- */
878 
879 #ifdef PERL_OBJECT
880 #define SWIG_PERL_OBJECT_DECL CPerlObj *SWIGUNUSEDPARM(pPerl),
881 #define SWIG_PERL_OBJECT_CALL pPerl,
882 #else
883 #define SWIG_PERL_OBJECT_DECL
884 #define SWIG_PERL_OBJECT_CALL
885 #endif
886 
887 /* Common SWIG API */
888 
889 /* for raw pointers */
890 #define SWIG_ConvertPtr(obj, pp, type, flags)           SWIG_Perl_ConvertPtr(SWIG_PERL_OBJECT_CALL obj, pp, type, flags)
891 #define SWIG_ConvertPtrAndOwn(obj, pp, type, flags,own) SWIG_Perl_ConvertPtrAndOwn(SWIG_PERL_OBJECT_CALL obj, pp, type, flags, own)
892 #define SWIG_NewPointerObj(p, type, flags)              SWIG_Perl_NewPointerObj(SWIG_PERL_OBJECT_CALL p, type, flags)
893 #define SWIG_AcquirePtr(ptr, src)                       SWIG_Perl_AcquirePtr(ptr, src)
894 #define swig_owntype                                    int
895 
896 /* for raw packed data */
897 #define SWIG_ConvertPacked(obj, p, s, type)             SWIG_Perl_ConvertPacked(SWIG_PERL_OBJECT_CALL obj, p, s, type)
898 #define SWIG_NewPackedObj(p, s, type)	                SWIG_Perl_NewPackedObj(SWIG_PERL_OBJECT_CALL p, s, type)
899 
900 /* for class or struct pointers */
901 #define SWIG_ConvertInstance(obj, pptr, type, flags)    SWIG_ConvertPtr(obj, pptr, type, flags)
902 #define SWIG_NewInstanceObj(ptr, type, flags)           SWIG_NewPointerObj(ptr, type, flags)
903 
904 /* for C or C++ function pointers */
905 #define SWIG_ConvertFunctionPtr(obj, pptr, type)        SWIG_ConvertPtr(obj, pptr, type, 0)
906 #define SWIG_NewFunctionPtrObj(ptr, type)               SWIG_NewPointerObj(ptr, type, 0)
907 
908 /* for C++ member pointers, ie, member methods */
909 #define SWIG_ConvertMember(obj, ptr, sz, ty)            SWIG_ConvertPacked(obj, ptr, sz, ty)
910 #define SWIG_NewMemberObj(ptr, sz, type)                SWIG_NewPackedObj(ptr, sz, type)
911 
912 
913 /* Runtime API */
914 
915 #define SWIG_GetModule(clientdata)                      SWIG_Perl_GetModule(clientdata)
916 #define SWIG_SetModule(clientdata, pointer)             SWIG_Perl_SetModule(pointer)
917 
918 
919 /* Error manipulation */
920 
921 #define SWIG_ErrorType(code)                            SWIG_Perl_ErrorType(code)
922 #define SWIG_Error(code, msg)            		sv_setpvf(get_sv("@", GV_ADD), "%s %s", SWIG_ErrorType(code), msg)
923 #define SWIG_fail                        		goto fail
924 
925 /* Perl-specific SWIG API */
926 
927 #define SWIG_MakePtr(sv, ptr, type, flags)              SWIG_Perl_MakePtr(SWIG_PERL_OBJECT_CALL sv, ptr, type, flags)
928 #define SWIG_MakePackedObj(sv, p, s, type)	        SWIG_Perl_MakePackedObj(SWIG_PERL_OBJECT_CALL sv, p, s, type)
929 #define SWIG_SetError(str)                              SWIG_Error(SWIG_RuntimeError, str)
930 
931 
932 #define SWIG_PERL_DECL_ARGS_1(arg1)                     (SWIG_PERL_OBJECT_DECL arg1)
933 #define SWIG_PERL_CALL_ARGS_1(arg1)                     (SWIG_PERL_OBJECT_CALL arg1)
934 #define SWIG_PERL_DECL_ARGS_2(arg1, arg2)               (SWIG_PERL_OBJECT_DECL arg1, arg2)
935 #define SWIG_PERL_CALL_ARGS_2(arg1, arg2)               (SWIG_PERL_OBJECT_CALL arg1, arg2)
936 
937 /* -----------------------------------------------------------------------------
938  * pointers/data manipulation
939  * ----------------------------------------------------------------------------- */
940 
941 /* For backward compatibility only */
942 #define SWIG_POINTER_EXCEPTION  0
943 
944 #ifdef __cplusplus
945 extern "C" {
946 #endif
947 
948 #define SWIG_OWNER   SWIG_POINTER_OWN
949 #define SWIG_SHADOW  SWIG_OWNER << 1
950 
951 #define SWIG_MAYBE_PERL_OBJECT SWIG_PERL_OBJECT_DECL
952 
953 /* SWIG Perl macros */
954 
955 /* Macro to declare an XS function */
956 #ifndef XSPROTO
957 #   define XSPROTO(name) void name(pTHX_ CV* cv)
958 #endif
959 
960 /* Macro to call an XS function */
961 #ifdef PERL_OBJECT
962 #  define SWIG_CALLXS(_name) _name(cv,pPerl)
963 #else
964 #  ifndef MULTIPLICITY
965 #    define SWIG_CALLXS(_name) _name(cv)
966 #  else
967 #    define SWIG_CALLXS(_name) _name(PERL_GET_THX, cv)
968 #  endif
969 #endif
970 
971 #ifdef PERL_OBJECT
972 #define MAGIC_PPERL  CPerlObj *pPerl = (CPerlObj *) this;
973 
974 #ifdef __cplusplus
975 extern "C" {
976 #endif
977 typedef int (CPerlObj::*SwigMagicFunc)(SV *, MAGIC *);
978 #ifdef __cplusplus
979 }
980 #endif
981 
982 #define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)
983 #define SWIGCLASS_STATIC
984 
985 #else /* PERL_OBJECT */
986 
987 #define MAGIC_PPERL
988 #define SWIGCLASS_STATIC static SWIGUNUSED
989 
990 #ifndef MULTIPLICITY
991 #define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)
992 
993 #ifdef __cplusplus
994 extern "C" {
995 #endif
996 typedef int (*SwigMagicFunc)(SV *, MAGIC *);
997 #ifdef __cplusplus
998 }
999 #endif
1000 
1001 #else /* MULTIPLICITY */
1002 
1003 #define SWIG_MAGIC(a,b) (struct interpreter *interp, SV *a, MAGIC *b)
1004 
1005 #ifdef __cplusplus
1006 extern "C" {
1007 #endif
1008 typedef int (*SwigMagicFunc)(struct interpreter *, SV *, MAGIC *);
1009 #ifdef __cplusplus
1010 }
1011 #endif
1012 
1013 #endif /* MULTIPLICITY */
1014 #endif /* PERL_OBJECT */
1015 
1016 #  ifdef PERL_OBJECT
1017 #    define SWIG_croak_null() SWIG_Perl_croak_null(pPerl)
SWIG_Perl_croak_null(CPerlObj * pPerl)1018 static void SWIGUNUSED SWIG_Perl_croak_null(CPerlObj *pPerl)
1019 #  else
1020 static void SWIGUNUSED SWIG_croak_null()
1021 #  endif
1022 {
1023   SV *err = get_sv("@", GV_ADD);
1024 #  if (PERL_VERSION < 6)
1025   croak("%_", err);
1026 #  else
1027   if (sv_isobject(err))
1028     croak(0);
1029   else
1030     croak("%s", SvPV_nolen(err));
1031 #  endif
1032 }
1033 
1034 
1035 /*
1036    Define how strict is the cast between strings and integers/doubles
1037    when overloading between these types occurs.
1038 
1039    The default is making it as strict as possible by using SWIG_AddCast
1040    when needed.
1041 
1042    You can use -DSWIG_PERL_NO_STRICT_STR2NUM at compilation time to
1043    disable the SWIG_AddCast, making the casting between string and
1044    numbers less strict.
1045 
1046    In the end, we try to solve the overloading between strings and
1047    numerical types in the more natural way, but if you can avoid it,
1048    well, avoid it using %rename, for example.
1049 */
1050 #ifndef SWIG_PERL_NO_STRICT_STR2NUM
1051 # ifndef SWIG_PERL_STRICT_STR2NUM
1052 #  define SWIG_PERL_STRICT_STR2NUM
1053 # endif
1054 #endif
1055 #ifdef SWIG_PERL_STRICT_STR2NUM
1056 /* string takes precedence */
1057 #define SWIG_Str2NumCast(x) SWIG_AddCast(x)
1058 #else
1059 /* number takes precedence */
1060 #define SWIG_Str2NumCast(x) x
1061 #endif
1062 
1063 
1064 
1065 #include <stdlib.h>
1066 
1067 SWIGRUNTIME const char *
SWIG_Perl_TypeProxyName(const swig_type_info * type)1068 SWIG_Perl_TypeProxyName(const swig_type_info *type) {
1069   if (!type) return NULL;
1070   if (type->clientdata != NULL) {
1071     return (const char*) type->clientdata;
1072   }
1073   else {
1074     return type->name;
1075   }
1076 }
1077 
1078 /* Identical to SWIG_TypeCheck, except for strcmp comparison */
1079 SWIGRUNTIME swig_cast_info *
SWIG_TypeProxyCheck(const char * c,swig_type_info * ty)1080 SWIG_TypeProxyCheck(const char *c, swig_type_info *ty) {
1081   if (ty) {
1082     swig_cast_info *iter = ty->cast;
1083     while (iter) {
1084       if (strcmp(SWIG_Perl_TypeProxyName(iter->type), c) == 0) {
1085         if (iter == ty->cast)
1086           return iter;
1087         /* Move iter to the top of the linked list */
1088         iter->prev->next = iter->next;
1089         if (iter->next)
1090           iter->next->prev = iter->prev;
1091         iter->next = ty->cast;
1092         iter->prev = 0;
1093         if (ty->cast) ty->cast->prev = iter;
1094         ty->cast = iter;
1095         return iter;
1096       }
1097       iter = iter->next;
1098     }
1099   }
1100   return 0;
1101 }
1102 
1103 /* Acquire a pointer value */
1104 
1105 SWIGRUNTIME int
SWIG_Perl_AcquirePtr(SWIG_MAYBE_PERL_OBJECT SV * sv,int own)1106 SWIG_Perl_AcquirePtr(SWIG_MAYBE_PERL_OBJECT SV *sv, int own) {
1107   /* TODO */
1108   return 0;
1109 }
1110 
1111 /* Function for getting a pointer value */
1112 
1113 SWIGRUNTIME int
SWIG_Perl_ConvertPtrAndOwn(SWIG_MAYBE_PERL_OBJECT SV * sv,void ** ptr,swig_type_info * _t,int flags,int * own)1114 SWIG_Perl_ConvertPtrAndOwn(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *_t, int flags, int *own) {
1115   swig_cast_info *tc;
1116   void *voidptr = (void *)0;
1117   SV *tsv = 0;
1118 
1119   if (own)
1120     *own = 0;
1121 
1122   /* If magical, apply more magic */
1123   if (SvGMAGICAL(sv))
1124     mg_get(sv);
1125 
1126   /* Check to see if this is an object */
1127   if (sv_isobject(sv)) {
1128     IV tmp = 0;
1129     tsv = (SV*) SvRV(sv);
1130     if ((SvTYPE(tsv) == SVt_PVHV)) {
1131       MAGIC *mg;
1132       if (SvMAGICAL(tsv)) {
1133         mg = mg_find(tsv,'P');
1134         if (mg) {
1135           sv = mg->mg_obj;
1136           if (sv_isobject(sv)) {
1137 	    tsv = (SV*)SvRV(sv);
1138             tmp = SvIV(tsv);
1139           }
1140         }
1141       } else {
1142         return SWIG_ERROR;
1143       }
1144     } else {
1145       tmp = SvIV(tsv);
1146     }
1147     voidptr = INT2PTR(void *,tmp);
1148   } else if (! SvOK(sv)) {            /* Check for undef */
1149     *(ptr) = (void *) 0;
1150     return (flags & SWIG_POINTER_NO_NULL) ? SWIG_NullReferenceError : SWIG_OK;
1151   } else if (SvTYPE(sv) == SVt_RV) {  /* Check for NULL pointer */
1152     if (!SvROK(sv)) {
1153       /* In Perl 5.12 and later, SVt_RV == SVt_IV, so sv could be a valid integer value.  */
1154       if (SvIOK(sv)) {
1155         return SWIG_ERROR;
1156       } else {
1157         /* NULL pointer (reference to undef). */
1158         *(ptr) = (void *) 0;
1159         return SWIG_OK;
1160       }
1161     } else {
1162       return SWIG_ERROR;
1163     }
1164   } else {                            /* Don't know what it is */
1165     return SWIG_ERROR;
1166   }
1167   if (_t) {
1168     /* Now see if the types match */
1169     char *_c = HvNAME(SvSTASH(SvRV(sv)));
1170     tc = SWIG_TypeProxyCheck(_c,_t);
1171 #ifdef SWIG_DIRECTORS
1172     if (!tc && !sv_derived_from(sv,SWIG_Perl_TypeProxyName(_t))) {
1173 #else
1174     if (!tc) {
1175 #endif
1176       return SWIG_ERROR;
1177     }
1178     {
1179       int newmemory = 0;
1180       *ptr = SWIG_TypeCast(tc,voidptr,&newmemory);
1181       if (newmemory == SWIG_CAST_NEW_MEMORY) {
1182         assert(own); /* badly formed typemap which will lead to a memory leak - it must set and use own to delete *ptr */
1183         if (own)
1184           *own = *own | SWIG_CAST_NEW_MEMORY;
1185       }
1186     }
1187   } else {
1188     *ptr = voidptr;
1189   }
1190 
1191   /*
1192    *  DISOWN implementation: we need a perl guru to check this one.
1193    */
1194   if (tsv && (flags & SWIG_POINTER_DISOWN)) {
1195     /*
1196      *  almost copy paste code from below SWIG_POINTER_OWN setting
1197      */
1198     SV *obj = sv;
1199     HV *stash = SvSTASH(SvRV(obj));
1200     GV *gv = *(GV**)hv_fetch(stash, "OWNER", 5, TRUE);
1201     if (isGV(gv)) {
1202       HV *hv = GvHVn(gv);
1203       /*
1204        * To set ownership (see below), a newSViv(1) entry is added.
1205        * Hence, to remove ownership, we delete the entry.
1206        */
1207       if (hv_exists_ent(hv, obj, 0)) {
1208 	hv_delete_ent(hv, obj, 0, 0);
1209       }
1210     }
1211   }
1212   return SWIG_OK;
1213 }
1214 
1215 SWIGRUNTIME int
1216 SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *_t, int flags) {
1217   return SWIG_Perl_ConvertPtrAndOwn(sv, ptr, _t, flags, 0);
1218 }
1219 
1220 SWIGRUNTIME void
1221 SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, swig_type_info *t, int flags) {
1222   if (ptr && (flags & (SWIG_SHADOW | SWIG_POINTER_OWN))) {
1223     SV *self;
1224     SV *obj=newSV(0);
1225     HV *hash=newHV();
1226     HV *stash;
1227     sv_setref_pv(obj, SWIG_Perl_TypeProxyName(t), ptr);
1228     stash=SvSTASH(SvRV(obj));
1229     if (flags & SWIG_POINTER_OWN) {
1230       HV *hv;
1231       GV *gv = *(GV**)hv_fetch(stash, "OWNER", 5, TRUE);
1232       if (!isGV(gv))
1233         gv_init(gv, stash, "OWNER", 5, FALSE);
1234       hv=GvHVn(gv);
1235       hv_store_ent(hv, obj, newSViv(1), 0);
1236     }
1237     sv_magic((SV *)hash, (SV *)obj, 'P', Nullch, 0);
1238     SvREFCNT_dec(obj);
1239     self=newRV_noinc((SV *)hash);
1240     sv_setsv(sv, self);
1241     SvREFCNT_dec((SV *)self);
1242     sv_bless(sv, stash);
1243   }
1244   else {
1245     sv_setref_pv(sv, SWIG_Perl_TypeProxyName(t), ptr);
1246   }
1247 }
1248 
1249 SWIGRUNTIMEINLINE SV *
1250 SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void *ptr, swig_type_info *t, int flags) {
1251   SV *result = sv_newmortal();
1252   SWIG_MakePtr(result, ptr, t, flags);
1253   return result;
1254 }
1255 
1256 SWIGRUNTIME void
1257 SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, int sz, swig_type_info *type) {
1258   char result[1024];
1259   char *r = result;
1260   if ((2*sz + 1 + strlen(SWIG_Perl_TypeProxyName(type))) > 1000) return;
1261   *(r++) = '_';
1262   r = SWIG_PackData(r,ptr,sz);
1263   strcpy(r,SWIG_Perl_TypeProxyName(type));
1264   sv_setpv(sv, result);
1265 }
1266 
1267 SWIGRUNTIME SV *
1268 SWIG_Perl_NewPackedObj(SWIG_MAYBE_PERL_OBJECT void *ptr, int sz, swig_type_info *type) {
1269   SV *result = sv_newmortal();
1270   SWIG_Perl_MakePackedObj(result, ptr, sz, type);
1271   return result;
1272 }
1273 
1274 /* Convert a packed pointer value */
1275 SWIGRUNTIME int
1276 SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV *obj, void *ptr, int sz, swig_type_info *ty) {
1277   swig_cast_info *tc;
1278   const char  *c = 0;
1279 
1280   if ((!obj) || (!SvOK(obj))) return SWIG_ERROR;
1281   c = SvPV_nolen(obj);
1282   /* Pointer values must start with leading underscore */
1283   if (*c != '_') return SWIG_ERROR;
1284   c++;
1285   c = SWIG_UnpackData(c,ptr,sz);
1286   if (ty) {
1287     tc = SWIG_TypeCheck(c,ty);
1288     if (!tc) return SWIG_ERROR;
1289   }
1290   return SWIG_OK;
1291 }
1292 
1293 
1294 /* Macros for low-level exception handling */
1295 #define SWIG_croak(x)    { SWIG_Error(SWIG_RuntimeError, x); SWIG_fail; }
1296 
1297 
1298 typedef XSPROTO(SwigPerlWrapper);
1299 typedef SwigPerlWrapper *SwigPerlWrapperPtr;
1300 
1301 /* Structure for command table */
1302 typedef struct {
1303   const char         *name;
1304   SwigPerlWrapperPtr  wrapper;
1305 } swig_command_info;
1306 
1307 /* Information for constant table */
1308 
1309 #define SWIG_INT     1
1310 #define SWIG_FLOAT   2
1311 #define SWIG_STRING  3
1312 #define SWIG_POINTER 4
1313 #define SWIG_BINARY  5
1314 
1315 /* Constant information structure */
1316 typedef struct swig_constant_info {
1317     int              type;
1318     const char      *name;
1319     long             lvalue;
1320     double           dvalue;
1321     void            *pvalue;
1322     swig_type_info **ptype;
1323 } swig_constant_info;
1324 
1325 
1326 /* Structure for variable table */
1327 typedef struct {
1328   const char   *name;
1329   SwigMagicFunc   set;
1330   SwigMagicFunc   get;
1331   swig_type_info  **type;
1332 } swig_variable_info;
1333 
1334 /* Magic variable code */
1335 #ifndef PERL_OBJECT
1336 # ifdef __cplusplus
1337 #  define swig_create_magic(s,a,b,c) _swig_create_magic(s,const_cast<char*>(a),b,c)
1338 # else
1339 #  define swig_create_magic(s,a,b,c) _swig_create_magic(s,(char*)(a),b,c)
1340 # endif
1341 # ifndef MULTIPLICITY
1342 SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(SV *, MAGIC *), int (*get)(SV *,MAGIC *))
1343 # else
1344 SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(struct interpreter*, SV *, MAGIC *), int (*get)(struct interpreter*, SV *,MAGIC *))
1345 # endif
1346 #else
1347 #  define swig_create_magic(s,a,b,c) _swig_create_magic(pPerl,s,a,b,c)
1348 SWIGRUNTIME void _swig_create_magic(CPerlObj *pPerl, SV *sv, const char *name, int (CPerlObj::*set)(SV *, MAGIC *), int (CPerlObj::*get)(SV *, MAGIC *))
1349 #endif
1350 {
1351   MAGIC *mg;
1352   sv_magic(sv,sv,'U',name,strlen(name));
1353   mg = mg_find(sv,'U');
1354   mg->mg_virtual = (MGVTBL *) malloc(sizeof(MGVTBL));
1355   mg->mg_virtual->svt_get = (SwigMagicFunc) get;
1356   mg->mg_virtual->svt_set = (SwigMagicFunc) set;
1357   mg->mg_virtual->svt_len = 0;
1358   mg->mg_virtual->svt_clear = 0;
1359   mg->mg_virtual->svt_free = 0;
1360 }
1361 
1362 
1363 SWIGRUNTIME swig_module_info *
1364 SWIG_Perl_GetModule(void *SWIGUNUSEDPARM(clientdata)) {
1365   static void *type_pointer = (void *)0;
1366   SV *pointer;
1367 
1368   /* first check if pointer already created */
1369   if (!type_pointer) {
1370     pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, FALSE | GV_ADDMULTI);
1371     if (pointer && SvOK(pointer)) {
1372       type_pointer = INT2PTR(swig_type_info **, SvIV(pointer));
1373     }
1374   }
1375 
1376   return (swig_module_info *) type_pointer;
1377 }
1378 
1379 SWIGRUNTIME void
1380 SWIG_Perl_SetModule(swig_module_info *module) {
1381   SV *pointer;
1382 
1383   /* create a new pointer */
1384   pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TRUE | GV_ADDMULTI);
1385   sv_setiv(pointer, PTR2IV(module));
1386 }
1387 
1388 #ifdef __cplusplus
1389 }
1390 #endif
1391 
1392 /* Workaround perl5 global namespace pollution. Note that undefining library
1393  * functions like fopen will not solve the problem on all platforms as fopen
1394  * might be a macro on Windows but not necessarily on other operating systems. */
1395 #ifdef do_open
1396   #undef do_open
1397 #endif
1398 #ifdef do_close
1399   #undef do_close
1400 #endif
1401 #ifdef do_exec
1402   #undef do_exec
1403 #endif
1404 #ifdef scalar
1405   #undef scalar
1406 #endif
1407 #ifdef list
1408   #undef list
1409 #endif
1410 #ifdef apply
1411   #undef apply
1412 #endif
1413 #ifdef convert
1414   #undef convert
1415 #endif
1416 #ifdef Error
1417   #undef Error
1418 #endif
1419 #ifdef form
1420   #undef form
1421 #endif
1422 #ifdef vform
1423   #undef vform
1424 #endif
1425 #ifdef LABEL
1426   #undef LABEL
1427 #endif
1428 #ifdef METHOD
1429   #undef METHOD
1430 #endif
1431 #ifdef Move
1432   #undef Move
1433 #endif
1434 #ifdef yylex
1435   #undef yylex
1436 #endif
1437 #ifdef yyparse
1438   #undef yyparse
1439 #endif
1440 #ifdef yyerror
1441   #undef yyerror
1442 #endif
1443 #ifdef invert
1444   #undef invert
1445 #endif
1446 #ifdef ref
1447   #undef ref
1448 #endif
1449 #ifdef read
1450   #undef read
1451 #endif
1452 #ifdef write
1453   #undef write
1454 #endif
1455 #ifdef eof
1456   #undef eof
1457 #endif
1458 #ifdef close
1459   #undef close
1460 #endif
1461 #ifdef rewind
1462   #undef rewind
1463 #endif
1464 #ifdef free
1465   #undef free
1466 #endif
1467 #ifdef malloc
1468   #undef malloc
1469 #endif
1470 #ifdef calloc
1471   #undef calloc
1472 #endif
1473 #ifdef Stat
1474   #undef Stat
1475 #endif
1476 #ifdef check
1477   #undef check
1478 #endif
1479 #ifdef seekdir
1480   #undef seekdir
1481 #endif
1482 #ifdef open
1483   #undef open
1484 #endif
1485 #ifdef readdir
1486   #undef readdir
1487 #endif
1488 #ifdef bind
1489   #undef bind
1490 #endif
1491 #ifdef access
1492   #undef access
1493 #endif
1494 #ifdef stat
1495   #undef stat
1496 #endif
1497 #ifdef seed
1498   #undef seed
1499 #endif
1500 
1501 #ifdef bool
1502   /* Leave if macro is from C99 stdbool.h */
1503   #ifndef __bool_true_false_are_defined
1504     #undef bool
1505   #endif
1506 #endif
1507 
1508 
1509 
1510 
1511 #define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0)
1512 
1513 #define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else
1514 
1515 
1516 
1517 /* -------- TYPES TABLE (BEGIN) -------- */
1518 
1519 #define SWIGTYPE_p_FILE swig_types[0]
1520 #define SWIGTYPE_p_char swig_types[1]
1521 #define SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_int__void swig_types[2]
1522 #define SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_q_const__char__void swig_types[3]
1523 #define SWIGTYPE_p_f_p_q_const__gsl_vector_p_void__double swig_types[4]
1524 #define SWIGTYPE_p_f_p_q_const__gsl_vector_p_void_p_double_p_gsl_vector__void swig_types[5]
1525 #define SWIGTYPE_p_f_p_q_const__gsl_vector_p_void_p_gsl_vector__void swig_types[6]
1526 #define SWIGTYPE_p_f_p_void__int swig_types[7]
1527 #define SWIGTYPE_p_f_p_void__void swig_types[8]
1528 #define SWIGTYPE_p_f_p_void_p_struct_gsl_multimin_function_fdf_struct_p_gsl_vector_p_double_p_gsl_vector_p_gsl_vector__int swig_types[9]
1529 #define SWIGTYPE_p_f_p_void_p_struct_gsl_multimin_function_fdf_struct_p_q_const__gsl_vector_p_double_p_gsl_vector_double_double__int swig_types[10]
1530 #define SWIGTYPE_p_f_p_void_p_struct_gsl_multimin_function_struct_p_gsl_vector_p_double_p_double__int swig_types[11]
1531 #define SWIGTYPE_p_f_p_void_p_struct_gsl_multimin_function_struct_p_q_const__gsl_vector_p_double_p_q_const__gsl_vector__int swig_types[12]
1532 #define SWIGTYPE_p_f_p_void_size_t__int swig_types[13]
1533 #define SWIGTYPE_p_gsl_multimin_fdfminimizer swig_types[14]
1534 #define SWIGTYPE_p_gsl_multimin_fdfminimizer_type swig_types[15]
1535 #define SWIGTYPE_p_gsl_multimin_fminimizer swig_types[16]
1536 #define SWIGTYPE_p_gsl_multimin_fminimizer_type swig_types[17]
1537 #define SWIGTYPE_p_gsl_multimin_function_fdf_struct swig_types[18]
1538 #define SWIGTYPE_p_gsl_multimin_function_struct swig_types[19]
1539 #define SWIGTYPE_p_gsl_vector swig_types[20]
1540 #define SWIGTYPE_p_void swig_types[21]
1541 static swig_type_info *swig_types[23];
1542 static swig_module_info swig_module = {swig_types, 22, 0, 0, 0, 0};
1543 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
1544 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
1545 
1546 /* -------- TYPES TABLE (END) -------- */
1547 
1548 #define SWIG_init    boot_Math__GSL__Multimin
1549 
1550 #define SWIG_name   "Math::GSL::Multiminc::boot_Math__GSL__Multimin"
1551 #define SWIG_prefix "Math::GSL::Multiminc::"
1552 
1553 #define SWIGVERSION 0x040001
1554 #define SWIG_VERSION SWIGVERSION
1555 
1556 
1557 #define SWIG_as_voidptr(a) (void *)((const void *)(a))
1558 #define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),(void**)(a))
1559 
1560 
1561 #ifdef __cplusplus
1562 extern "C"
1563 #endif
1564 #ifndef PERL_OBJECT
1565 #ifndef MULTIPLICITY
1566 SWIGEXPORT void SWIG_init (CV* cv);
1567 #else
1568 SWIGEXPORT void SWIG_init (pTHXo_ CV* cv);
1569 #endif
1570 #else
1571 SWIGEXPORT void SWIG_init (CV *cv, CPerlObj *);
1572 #endif
1573 
1574 
1575 SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(double value)1576 SWIG_From_double  SWIG_PERL_DECL_ARGS_1(double value)
1577 {
1578   return sv_2mortal(newSVnv(value));
1579 }
1580 
1581 
1582 SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(long value)1583 SWIG_From_long  SWIG_PERL_DECL_ARGS_1(long value)
1584 {
1585   SV *sv;
1586   if (IVSIZE >= sizeof(value) || (value >= IV_MIN && value <= IV_MAX))
1587     sv = newSViv(value);
1588   else
1589     sv = newSVpvf("%ld", value);
1590   return sv_2mortal(sv);
1591 }
1592 
1593 
1594 SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(int value)1595 SWIG_From_int  SWIG_PERL_DECL_ARGS_1(int value)
1596 {
1597   return SWIG_From_long  SWIG_PERL_CALL_ARGS_1(value);
1598 }
1599 
1600 
1601 SWIGINTERN swig_type_info*
SWIG_pchar_descriptor(void)1602 SWIG_pchar_descriptor(void)
1603 {
1604   static int init = 0;
1605   static swig_type_info* info = 0;
1606   if (!init) {
1607     info = SWIG_TypeQuery("_p_char");
1608     init = 1;
1609   }
1610   return info;
1611 }
1612 
1613 
1614 SWIGINTERN int
SWIG_AsCharPtrAndSize(SV * obj,char ** cptr,size_t * psize,int * alloc)1615 SWIG_AsCharPtrAndSize(SV *obj, char** cptr, size_t* psize, int *alloc)
1616 {
1617   if (SvMAGICAL(obj)) {
1618      SV *tmp = sv_newmortal();
1619      SvSetSV(tmp, obj);
1620      obj = tmp;
1621   }
1622   if (SvPOK(obj)) {
1623     STRLEN len = 0;
1624     char *cstr = SvPV(obj, len);
1625     size_t size = len + 1;
1626     if (cptr)  {
1627       if (alloc) {
1628 	if (*alloc == SWIG_NEWOBJ) {
1629 	  *cptr = (char *)memcpy(malloc((size)*sizeof(char)), cstr, sizeof(char)*(size));
1630 	} else {
1631 	  *cptr = cstr;
1632 	  *alloc = SWIG_OLDOBJ;
1633 	}
1634       }
1635     }
1636     if (psize) *psize = size;
1637     return SWIG_OK;
1638   } else {
1639     swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
1640     if (pchar_descriptor) {
1641       char* vptr = 0;
1642       if (SWIG_ConvertPtr(obj, (void**)&vptr, pchar_descriptor, 0) == SWIG_OK) {
1643 	if (cptr) *cptr = vptr;
1644 	if (psize) *psize = vptr ? (strlen(vptr) + 1) : 0;
1645 	if (alloc) *alloc = SWIG_OLDOBJ;
1646 	return SWIG_OK;
1647       }
1648     }
1649   }
1650   return SWIG_TypeError;
1651 }
1652 
1653 
1654 
1655 
1656 
1657 #include <limits.h>
1658 #if !defined(SWIG_NO_LLONG_MAX)
1659 # if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
1660 #   define LLONG_MAX __LONG_LONG_MAX__
1661 #   define LLONG_MIN (-LLONG_MAX - 1LL)
1662 #   define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
1663 # endif
1664 #endif
1665 
1666 
1667 #include <stdlib.h>
1668 #ifdef _MSC_VER
1669 # ifndef strtoull
1670 #  define strtoull _strtoui64
1671 # endif
1672 # ifndef strtoll
1673 #  define strtoll _strtoi64
1674 # endif
1675 #endif
1676 
1677 
1678 SWIGINTERN int
SWIG_PERL_DECL_ARGS_2(SV * obj,double * val)1679 SWIG_AsVal_double SWIG_PERL_DECL_ARGS_2(SV *obj, double *val)
1680 {
1681   if (SvNIOK(obj)) {
1682     if (val) *val = SvNV(obj);
1683     return SWIG_OK;
1684   } else if (SvIOK(obj)) {
1685     if (val) *val = (double) SvIV(obj);
1686     return SWIG_AddCast(SWIG_OK);
1687   } else {
1688     const char *nptr = SvPV_nolen(obj);
1689     if (nptr) {
1690       char *endptr;
1691       double v;
1692       errno = 0;
1693       v = strtod(nptr, &endptr);
1694       if (errno == ERANGE) {
1695 	errno = 0;
1696 	return SWIG_OverflowError;
1697       } else {
1698 	if (*endptr == '\0') {
1699 	  if (val) *val = v;
1700 	  return SWIG_Str2NumCast(SWIG_OK);
1701 	}
1702       }
1703     }
1704   }
1705   return SWIG_TypeError;
1706 }
1707 
1708 
1709 #include <float.h>
1710 
1711 
1712 #include <math.h>
1713 
1714 
1715 SWIGINTERNINLINE int
SWIG_CanCastAsInteger(double * d,double min,double max)1716 SWIG_CanCastAsInteger(double *d, double min, double max) {
1717   double x = *d;
1718   if ((min <= x && x <= max)) {
1719    double fx = floor(x);
1720    double cx = ceil(x);
1721    double rd =  ((x - fx) < 0.5) ? fx : cx; /* simple rint */
1722    if ((errno == EDOM) || (errno == ERANGE)) {
1723      errno = 0;
1724    } else {
1725      double summ, reps, diff;
1726      if (rd < x) {
1727        diff = x - rd;
1728      } else if (rd > x) {
1729        diff = rd - x;
1730      } else {
1731        return 1;
1732      }
1733      summ = rd + x;
1734      reps = diff/summ;
1735      if (reps < 8*DBL_EPSILON) {
1736        *d = rd;
1737        return 1;
1738      }
1739    }
1740   }
1741   return 0;
1742 }
1743 
1744 
1745 SWIGINTERN int
SWIG_PERL_DECL_ARGS_2(SV * obj,long * val)1746 SWIG_AsVal_long SWIG_PERL_DECL_ARGS_2(SV *obj, long* val)
1747 {
1748   if (SvUOK(obj)) {
1749     UV v = SvUV(obj);
1750     if (UVSIZE < sizeof(*val) || v <= LONG_MAX) {
1751       if (val) *val = v;
1752       return SWIG_OK;
1753     }
1754     return SWIG_OverflowError;
1755   } else if (SvIOK(obj)) {
1756     IV v = SvIV(obj);
1757     if (IVSIZE <= sizeof(*val) || (v >= LONG_MIN && v <= LONG_MAX)) {
1758       if(val) *val = v;
1759       return SWIG_OK;
1760     }
1761     return SWIG_OverflowError;
1762   } else {
1763     int dispatch = 0;
1764     const char *nptr = SvPV_nolen(obj);
1765     if (nptr) {
1766       char *endptr;
1767       long v;
1768       errno = 0;
1769       v = strtol(nptr, &endptr,0);
1770       if (errno == ERANGE) {
1771 	errno = 0;
1772 	return SWIG_OverflowError;
1773       } else {
1774 	if (*endptr == '\0') {
1775 	  if (val) *val = v;
1776 	  return SWIG_Str2NumCast(SWIG_OK);
1777 	}
1778       }
1779     }
1780     if (!dispatch) {
1781       double d;
1782       int res = SWIG_AddCast(SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(obj,&d));
1783       if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, LONG_MIN, LONG_MAX)) {
1784 	if (val) *val = (long)(d);
1785 	return res;
1786       }
1787     }
1788   }
1789   return SWIG_TypeError;
1790 }
1791 
1792 
1793 SWIGINTERN int
SWIG_PERL_DECL_ARGS_2(SV * obj,int * val)1794 SWIG_AsVal_int SWIG_PERL_DECL_ARGS_2(SV * obj, int *val)
1795 {
1796   long v;
1797   int res = SWIG_AsVal_long SWIG_PERL_CALL_ARGS_2(obj, &v);
1798   if (SWIG_IsOK(res)) {
1799     if ((v < INT_MIN || v > INT_MAX)) {
1800       return SWIG_OverflowError;
1801     } else {
1802       if (val) *val = (int)(v);
1803     }
1804   }
1805   return res;
1806 }
1807 
1808 
1809 SWIGINTERNINLINE SV *
SWIG_FromCharPtrAndSize(const char * carray,size_t size)1810 SWIG_FromCharPtrAndSize(const char* carray, size_t size)
1811 {
1812   SV *obj = sv_newmortal();
1813   if (carray) {
1814     sv_setpvn(obj, carray, size);
1815   } else {
1816     sv_setsv(obj, &PL_sv_undef);
1817   }
1818   return obj;
1819 }
1820 
1821 
1822 SWIGINTERNINLINE SV *
SWIG_FromCharPtr(const char * cptr)1823 SWIG_FromCharPtr(const char *cptr)
1824 {
1825   return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));
1826 }
1827 
1828 
1829     #include "gsl/gsl_nan.h"
1830     #include "gsl/gsl_errno.h"
1831     #include "gsl/gsl_math.h"
1832     #include "gsl/gsl_monte.h"
1833 
1834 
1835     struct perl_array {
1836         I32 len;
1837         AV *array;
1838     };
1839 
1840 
1841 
1842 enum awType { awDouble, awFloat, awInt, awUnsigned };
1843 
1844 typedef struct {
1845     I32 size;
1846     enum awType type;
1847     void * data;
1848 } array_wrapper;
1849 
array_wrapper_alloc(int numelem,enum awType type)1850 array_wrapper * array_wrapper_alloc(int numelem, enum awType type){
1851     array_wrapper * rv =  malloc(sizeof(array_wrapper));
1852 
1853     if (rv == NULL)
1854         croak("array_wrapper_alloc: can't malloc wrapper\n");
1855 
1856     switch (type){
1857         case awDouble:
1858             rv->data = malloc(sizeof(double) * numelem);
1859             break;
1860         case awFloat:
1861             rv->data = malloc(sizeof(float) * numelem);
1862             break;
1863         case awInt:
1864             rv->data = malloc(sizeof(int) * numelem);
1865             break;
1866         case awUnsigned:
1867             rv->data = malloc(sizeof(unsigned int) * numelem);
1868             break;
1869         default:
1870             croak("array_wrapper_alloc: type should be awDouble, awFloat, awInt, or awUnsigned");
1871     }
1872 
1873     if (rv->data == NULL)
1874         croak("array_wrapper_alloc: can't malloc data");
1875 
1876     rv->size = numelem;
1877     rv->type = type;
1878     return rv;
1879 }
1880 
array_wrapper_free(array_wrapper * daw)1881 void array_wrapper_free(array_wrapper * daw){
1882     free(daw->data);
1883     free(daw);
1884 }
1885 
1886 
1887     /* structure to hold required information while the gsl function call
1888        for each callback
1889      */
1890     struct gsl_function_perl {
1891         gsl_function C_gsl_function;
1892         SV * function;
1893         SV * params;
1894     };
1895 
1896     struct gsl_function_fdf_perl {
1897         gsl_function_fdf C_gsl_function_fdf;
1898         SV * f;
1899         SV * df;
1900         SV * fdf;
1901         SV * params;
1902     };
1903 
1904     struct gsl_monte_function_perl {
1905         gsl_monte_function C_gsl_monte_function;
1906         SV * f;
1907         SV * dim;
1908         SV * params;
1909     };
1910 
gsl_function_perl_free(struct gsl_function_perl * perl_f)1911     void gsl_function_perl_free(struct gsl_function_perl * perl_f){
1912         if (perl_f != NULL) {
1913             SvREFCNT_dec(perl_f->function);
1914             SvREFCNT_dec(perl_f->params);
1915             Safefree(perl_f);
1916         }
1917     }
1918 
gsl_function_fdf_perl_free(struct gsl_function_fdf_perl * perl_fdf)1919     void gsl_function_fdf_perl_free(struct gsl_function_fdf_perl * perl_fdf){
1920         if (perl_fdf != NULL) {
1921 	  SvREFCNT_dec(perl_fdf->f);
1922 	  SvREFCNT_dec(perl_fdf->df);
1923 	  SvREFCNT_dec(perl_fdf->fdf);
1924 	  SvREFCNT_dec(perl_fdf->params);
1925 	  Safefree(perl_fdf);
1926         }
1927     }
1928 
1929     /* These functions (C callbacks) calls the perl callbacks.
1930        Info for perl callback can be found using the 'void*params' parameter
1931     */
call_gsl_function_x_params(SV * function,double x,SV * params)1932     double call_gsl_function_x_params(SV* function, double x, SV *params){
1933         unsigned int count;
1934         double y;
1935         dSP;
1936 
1937         //fprintf(stderr, "LOOKUP CALLBACK\n");
1938         ENTER;
1939         SAVETMPS;
1940 
1941         PUSHMARK(SP);
1942         XPUSHs(sv_2mortal(newSVnv((double)x)));
1943         XPUSHs(params);
1944         PUTBACK;                                /* make local stack pointer global */
1945 
1946         count = call_sv(function, G_SCALAR);
1947         SPAGAIN;
1948 
1949         if (count != 1)
1950                 croak("Expected to call subroutine in scalar context!");
1951 
1952         y = POPn;
1953 
1954         PUTBACK;                                /* make local stack pointer global */
1955         FREETMPS;
1956         LEAVE;
1957 
1958         return y;
1959     }
1960 
call_gsl_function(double x,void * params)1961     double call_gsl_function(double x , void *params){
1962         struct gsl_function_perl *F=(struct gsl_function_perl*)params;
1963 	return call_gsl_function_x_params( F->function, x, F->params );
1964     }
1965 
call_gsl_function_fdf_f(double x,void * params)1966     double call_gsl_function_fdf_f(double x , void *params){
1967         struct gsl_function_fdf_perl *F=(struct gsl_function_fdf_perl*)params;
1968 	return call_gsl_function_x_params( F->f, x, F->params );
1969     }
1970 
call_gsl_function_fdf_df(double x,void * params)1971     double call_gsl_function_fdf_df(double x , void *params){
1972         struct gsl_function_fdf_perl *F=(struct gsl_function_fdf_perl*)params;
1973 	return call_gsl_function_x_params( F->df, x, F->params );
1974     }
1975 
call_gsl_function_fdf_fdf(double x,void * params,double * f,double * df)1976     void call_gsl_function_fdf_fdf(double x , void *params, double *f, double *df ){
1977         struct gsl_function_fdf_perl *F=(struct gsl_function_fdf_perl*)params;
1978 
1979         dSP;
1980 
1981         ENTER;
1982         SAVETMPS;
1983 
1984         PUSHMARK(SP);
1985 	EXTEND(SP, 2);
1986         PUSHs(sv_2mortal(newSVnv((double)x)));
1987         PUSHs(F->params);
1988         PUTBACK;                                /* make local stack pointer global */
1989 
1990 	{
1991 	  unsigned int count = call_sv(F->fdf, G_ARRAY);
1992 	  SPAGAIN;
1993 
1994 	  if (count != 2)
1995 	    croak( "Expected two return values, got %d", count );
1996 	}
1997 
1998 	*df = POPn;
1999         *f = POPn;
2000 
2001         PUTBACK;                                /* make local stack pointer global */
2002         FREETMPS;
2003         LEAVE;
2004     }
2005 
call_gsl_monte_function(double * x_array,size_t dim,void * params)2006     double call_gsl_monte_function(double *x_array , size_t dim, void *params){
2007         struct gsl_monte_function_perl *F=(struct gsl_monte_function_perl*)params;
2008         unsigned int count;
2009         unsigned int i;
2010         AV* perl_array;
2011         double y;
2012         dSP;
2013 
2014         //fprintf(stderr, "LOOKUP CALLBACK\n");
2015         ENTER;
2016         SAVETMPS;
2017 
2018         PUSHMARK(SP);
2019         perl_array=newAV();
2020         sv_2mortal((SV*)perl_array);
2021         XPUSHs(sv_2mortal(newRV((SV *)perl_array)));
2022         for(i=0; i<dim; i++) {
2023                 /* no mortal : it is referenced by the array */
2024                 av_push(perl_array, newSVnv(x_array[i]));
2025         }
2026         XPUSHs(sv_2mortal(newSViv(dim)));
2027         XPUSHs(F->params);
2028         PUTBACK;                                /* make local stack pointer global */
2029 
2030         count = call_sv(F->f, G_SCALAR);
2031         SPAGAIN;
2032 
2033         if (count != 1)
2034                 croak("Expected to call subroutine in scalar context!");
2035 
2036         y = POPn;
2037 
2038         PUTBACK;                                /* make local stack pointer global */
2039         FREETMPS;
2040         LEAVE;
2041 
2042         return y;
2043     }
2044 
2045 
gsl_function_fdf_extract(char * param_name,HV * hash,SV * func[])2046   void gsl_function_fdf_extract( char* param_name, HV* hash, SV* func[] ) {
2047     static const char *keys[3] = { "f", "df", "fdf" };
2048 
2049     int ikey;
2050 
2051     for ( ikey = 0 ; ikey < 3 ; ++ikey ) {
2052       func[ikey] = 0;
2053       const char* key = keys[ikey];
2054       /* it just so happens that strlen(keys[ikey]) == ikey + 1 */
2055       SV** pp_sv = hv_fetch( hash, key, ikey+1, 0 );
2056       SV* function;
2057 
2058       if ( !pp_sv )
2059 	croak("Math::GSL : %s: missing key %s!", param_name, key);
2060 
2061       function = *pp_sv;
2062 
2063       if ( SvPOK(function) || ( SvROK( function ) && SvTYPE(SvRV(function)) == SVt_PVCV ) ) {
2064         /* hold on to SV after the enclosing hash goes away */
2065         SvREFCNT_inc( function );
2066 	func[ikey] = function;
2067       }
2068       else {
2069 	croak( "Math::GSL : %s:  key %s is not a reference to code!", param_name, key);
2070       }
2071     }
2072   }
2073 
2074 
2075 
2076     #include "gsl/gsl_types.h"
2077     #include "gsl/gsl_multimin.h"
2078 
2079 
2080 SWIGINTERN int
SWIG_PERL_DECL_ARGS_2(SV * obj,unsigned long * val)2081 SWIG_AsVal_unsigned_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, unsigned long *val)
2082 {
2083   if (SvUOK(obj)) {
2084     UV v = SvUV(obj);
2085     if (UVSIZE <= sizeof(*val) || v <= ULONG_MAX) {
2086       if (val) *val = v;
2087       return SWIG_OK;
2088     }
2089     return SWIG_OverflowError;
2090   } else if (SvIOK(obj)) {
2091     IV v = SvIV(obj);
2092     if (v >= 0 && (IVSIZE <= sizeof(*val) || v <= ULONG_MAX)) {
2093       if (val) *val = v;
2094       return SWIG_OK;
2095     }
2096     return SWIG_OverflowError;
2097   } else {
2098     int dispatch = 0;
2099     const char *nptr = SvPV_nolen(obj);
2100     if (nptr) {
2101       char *endptr;
2102       unsigned long v;
2103       errno = 0;
2104       v = strtoul(nptr, &endptr,0);
2105       if (errno == ERANGE) {
2106 	errno = 0;
2107 	return SWIG_OverflowError;
2108       } else {
2109 	if (*endptr == '\0') {
2110 	  if (val) *val = v;
2111 	  return SWIG_Str2NumCast(SWIG_OK);
2112 	}
2113       }
2114     }
2115     if (!dispatch) {
2116       double d;
2117       int res = SWIG_AddCast(SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(obj,&d));
2118       if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, ULONG_MAX)) {
2119 	if (val) *val = (unsigned long)(d);
2120 	return res;
2121       }
2122     }
2123   }
2124   return SWIG_TypeError;
2125 }
2126 
2127 
2128 #if defined(LLONG_MAX) && !defined(SWIG_LONG_LONG_AVAILABLE)
2129 #  define SWIG_LONG_LONG_AVAILABLE
2130 #endif
2131 
2132 
2133 #ifdef SWIG_LONG_LONG_AVAILABLE
2134 SWIGINTERN int
SWIG_PERL_DECL_ARGS_2(SV * obj,unsigned long long * val)2135 SWIG_AsVal_unsigned_SS_long_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, unsigned long long *val)
2136 {
2137   if (SvUOK(obj)) {
2138     /* pretty sure this should be conditional on
2139      * (UVSIZE <= sizeof(*val) || v <= ULLONG_MAX) */
2140     if (val) *val = SvUV(obj);
2141     return SWIG_OK;
2142   } else  if (SvIOK(obj)) {
2143     IV v = SvIV(obj);
2144     if (v >= 0 && (IVSIZE <= sizeof(*val) || v <= ULLONG_MAX)) {
2145       if (val) *val = v;
2146       return SWIG_OK;
2147     } else {
2148       return SWIG_OverflowError;
2149     }
2150   } else {
2151     int dispatch = 0;
2152     const char *nptr = SvPV_nolen(obj);
2153     if (nptr) {
2154       char *endptr;
2155       unsigned long long v;
2156       errno = 0;
2157       v = strtoull(nptr, &endptr,0);
2158       if (errno == ERANGE) {
2159 	errno = 0;
2160 	return SWIG_OverflowError;
2161       } else {
2162 	if (*endptr == '\0') {
2163 	  if (val) *val = v;
2164 	  return SWIG_Str2NumCast(SWIG_OK);
2165 	}
2166       }
2167     }
2168     if (!dispatch) {
2169       const double mant_max = 1LL << DBL_MANT_DIG;
2170       double d;
2171       int res = SWIG_AddCast(SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(obj,&d));
2172       if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, mant_max)) {
2173 	if (val) *val = (unsigned long long)(d);
2174 	return res;
2175       }
2176     }
2177   }
2178   return SWIG_TypeError;
2179 }
2180 #endif
2181 
2182 
2183 SWIGINTERNINLINE int
SWIG_PERL_DECL_ARGS_2(SV * obj,size_t * val)2184 SWIG_AsVal_size_t SWIG_PERL_DECL_ARGS_2(SV * obj, size_t *val)
2185 {
2186   int res = SWIG_TypeError;
2187 #ifdef SWIG_LONG_LONG_AVAILABLE
2188   if (sizeof(size_t) <= sizeof(unsigned long)) {
2189 #endif
2190     unsigned long v;
2191     res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(obj, val ? &v : 0);
2192     if (SWIG_IsOK(res) && val) *val = (size_t)(v);
2193 #ifdef SWIG_LONG_LONG_AVAILABLE
2194   } else if (sizeof(size_t) <= sizeof(unsigned long long)) {
2195     unsigned long long v;
2196     res = SWIG_AsVal_unsigned_SS_long_SS_long SWIG_PERL_CALL_ARGS_2(obj, val ? &v : 0);
2197     if (SWIG_IsOK(res) && val) *val = (size_t)(v);
2198   }
2199 #endif
2200   return res;
2201 }
2202 
2203 
2204 SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(unsigned long value)2205 SWIG_From_unsigned_SS_long  SWIG_PERL_DECL_ARGS_1(unsigned long value)
2206 {
2207   SV *sv;
2208   if (UVSIZE >= sizeof(value) || value <= UV_MAX)
2209     sv = newSVuv(value);
2210   else
2211     sv = newSVpvf("%lu", value);
2212   return sv_2mortal(sv);
2213 }
2214 
2215 
2216 #include <stdio.h>
2217 #if (defined(_MSC_VER) && (_MSC_VER < 1900)) || defined(__BORLANDC__) || defined(_WATCOM)
2218 # ifndef snprintf
2219 #  define snprintf _snprintf
2220 # endif
2221 #endif
2222 
2223 
2224 #ifdef SWIG_LONG_LONG_AVAILABLE
2225 SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(unsigned long long value)2226 SWIG_From_unsigned_SS_long_SS_long  SWIG_PERL_DECL_ARGS_1(unsigned long long value)
2227 {
2228   SV *sv;
2229   if (UVSIZE >= sizeof(value) || value <= UV_MAX)
2230     sv = newSVuv((UV)(value));
2231   else {
2232     //sv = newSVpvf("%llu", value); doesn't work in non 64bit Perl
2233     char temp[256];
2234     sprintf(temp, "%llu", value);
2235     sv = newSVpv(temp, 0);
2236   }
2237   return sv_2mortal(sv);
2238 }
2239 #endif
2240 
2241 
2242 SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(size_t value)2243 SWIG_From_size_t  SWIG_PERL_DECL_ARGS_1(size_t value)
2244 {
2245 #ifdef SWIG_LONG_LONG_AVAILABLE
2246   if (sizeof(size_t) <= sizeof(unsigned long)) {
2247 #endif
2248     return SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1((unsigned long)(value));
2249 #ifdef SWIG_LONG_LONG_AVAILABLE
2250   } else {
2251     /* assume sizeof(size_t) <= sizeof(unsigned long long) */
2252     return SWIG_From_unsigned_SS_long_SS_long  SWIG_PERL_CALL_ARGS_1((unsigned long long)(value));
2253   }
2254 #endif
2255 }
2256 
2257 #ifdef __cplusplus
2258 extern "C" {
2259 #endif
2260 
2261 #ifdef PERL_OBJECT
2262 #define MAGIC_CLASS _wrap_Math__GSL__Multimin_var::
2263 class _wrap_Math__GSL__Multimin_var : public CPerlObj {
2264 public:
2265 #else
2266 #define MAGIC_CLASS
2267 #endif
swig_magic_readonly(pTHX_ SV * SWIGUNUSEDPARM (sv),MAGIC * SWIGUNUSEDPARM (mg))2268 SWIGCLASS_STATIC int swig_magic_readonly(pTHX_ SV *SWIGUNUSEDPARM(sv), MAGIC *SWIGUNUSEDPARM(mg)) {
2269     MAGIC_PPERL
2270     croak("Value is read-only.");
2271     return 0;
2272 }
_wrap_gsl_multimin_fdfminimizer_steepest_descent_set(pTHX_ SV * sv,MAGIC * SWIGUNUSEDPARM (mg))2273 SWIGCLASS_STATIC int _wrap_gsl_multimin_fdfminimizer_steepest_descent_set(pTHX_ SV* sv, MAGIC * SWIGUNUSEDPARM(mg)) {
2274   MAGIC_PPERL
2275   {
2276     void *argp = 0;
2277     int res = SWIG_ConvertPtr(sv, &argp, SWIGTYPE_p_gsl_multimin_fdfminimizer_type,  0 );
2278     if (!SWIG_IsOK(res)) {
2279       SWIG_exception_fail(SWIG_ArgError(res), "in variable '""gsl_multimin_fdfminimizer_steepest_descent""' of type '""gsl_multimin_fdfminimizer_type const *""'");
2280     }
2281     gsl_multimin_fdfminimizer_steepest_descent = (gsl_multimin_fdfminimizer_type *)(argp);
2282   }
2283 fail:
2284   return 1;
2285 }
2286 
2287 
_wrap_gsl_multimin_fdfminimizer_steepest_descent_get(pTHX_ SV * sv,MAGIC * SWIGUNUSEDPARM (mg))2288 SWIGCLASS_STATIC int _wrap_gsl_multimin_fdfminimizer_steepest_descent_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) {
2289   MAGIC_PPERL
2290   sv_setiv(SvRV(sv),PTR2IV(gsl_multimin_fdfminimizer_steepest_descent));
2291   return 1;
2292 }
2293 
2294 
_wrap_gsl_multimin_fdfminimizer_conjugate_pr_set(pTHX_ SV * sv,MAGIC * SWIGUNUSEDPARM (mg))2295 SWIGCLASS_STATIC int _wrap_gsl_multimin_fdfminimizer_conjugate_pr_set(pTHX_ SV* sv, MAGIC * SWIGUNUSEDPARM(mg)) {
2296   MAGIC_PPERL
2297   {
2298     void *argp = 0;
2299     int res = SWIG_ConvertPtr(sv, &argp, SWIGTYPE_p_gsl_multimin_fdfminimizer_type,  0 );
2300     if (!SWIG_IsOK(res)) {
2301       SWIG_exception_fail(SWIG_ArgError(res), "in variable '""gsl_multimin_fdfminimizer_conjugate_pr""' of type '""gsl_multimin_fdfminimizer_type const *""'");
2302     }
2303     gsl_multimin_fdfminimizer_conjugate_pr = (gsl_multimin_fdfminimizer_type *)(argp);
2304   }
2305 fail:
2306   return 1;
2307 }
2308 
2309 
_wrap_gsl_multimin_fdfminimizer_conjugate_pr_get(pTHX_ SV * sv,MAGIC * SWIGUNUSEDPARM (mg))2310 SWIGCLASS_STATIC int _wrap_gsl_multimin_fdfminimizer_conjugate_pr_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) {
2311   MAGIC_PPERL
2312   sv_setiv(SvRV(sv),PTR2IV(gsl_multimin_fdfminimizer_conjugate_pr));
2313   return 1;
2314 }
2315 
2316 
_wrap_gsl_multimin_fdfminimizer_conjugate_fr_set(pTHX_ SV * sv,MAGIC * SWIGUNUSEDPARM (mg))2317 SWIGCLASS_STATIC int _wrap_gsl_multimin_fdfminimizer_conjugate_fr_set(pTHX_ SV* sv, MAGIC * SWIGUNUSEDPARM(mg)) {
2318   MAGIC_PPERL
2319   {
2320     void *argp = 0;
2321     int res = SWIG_ConvertPtr(sv, &argp, SWIGTYPE_p_gsl_multimin_fdfminimizer_type,  0 );
2322     if (!SWIG_IsOK(res)) {
2323       SWIG_exception_fail(SWIG_ArgError(res), "in variable '""gsl_multimin_fdfminimizer_conjugate_fr""' of type '""gsl_multimin_fdfminimizer_type const *""'");
2324     }
2325     gsl_multimin_fdfminimizer_conjugate_fr = (gsl_multimin_fdfminimizer_type *)(argp);
2326   }
2327 fail:
2328   return 1;
2329 }
2330 
2331 
_wrap_gsl_multimin_fdfminimizer_conjugate_fr_get(pTHX_ SV * sv,MAGIC * SWIGUNUSEDPARM (mg))2332 SWIGCLASS_STATIC int _wrap_gsl_multimin_fdfminimizer_conjugate_fr_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) {
2333   MAGIC_PPERL
2334   sv_setiv(SvRV(sv),PTR2IV(gsl_multimin_fdfminimizer_conjugate_fr));
2335   return 1;
2336 }
2337 
2338 
_wrap_gsl_multimin_fdfminimizer_vector_bfgs_set(pTHX_ SV * sv,MAGIC * SWIGUNUSEDPARM (mg))2339 SWIGCLASS_STATIC int _wrap_gsl_multimin_fdfminimizer_vector_bfgs_set(pTHX_ SV* sv, MAGIC * SWIGUNUSEDPARM(mg)) {
2340   MAGIC_PPERL
2341   {
2342     void *argp = 0;
2343     int res = SWIG_ConvertPtr(sv, &argp, SWIGTYPE_p_gsl_multimin_fdfminimizer_type,  0 );
2344     if (!SWIG_IsOK(res)) {
2345       SWIG_exception_fail(SWIG_ArgError(res), "in variable '""gsl_multimin_fdfminimizer_vector_bfgs""' of type '""gsl_multimin_fdfminimizer_type const *""'");
2346     }
2347     gsl_multimin_fdfminimizer_vector_bfgs = (gsl_multimin_fdfminimizer_type *)(argp);
2348   }
2349 fail:
2350   return 1;
2351 }
2352 
2353 
_wrap_gsl_multimin_fdfminimizer_vector_bfgs_get(pTHX_ SV * sv,MAGIC * SWIGUNUSEDPARM (mg))2354 SWIGCLASS_STATIC int _wrap_gsl_multimin_fdfminimizer_vector_bfgs_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) {
2355   MAGIC_PPERL
2356   sv_setiv(SvRV(sv),PTR2IV(gsl_multimin_fdfminimizer_vector_bfgs));
2357   return 1;
2358 }
2359 
2360 
_wrap_gsl_multimin_fdfminimizer_vector_bfgs2_set(pTHX_ SV * sv,MAGIC * SWIGUNUSEDPARM (mg))2361 SWIGCLASS_STATIC int _wrap_gsl_multimin_fdfminimizer_vector_bfgs2_set(pTHX_ SV* sv, MAGIC * SWIGUNUSEDPARM(mg)) {
2362   MAGIC_PPERL
2363   {
2364     void *argp = 0;
2365     int res = SWIG_ConvertPtr(sv, &argp, SWIGTYPE_p_gsl_multimin_fdfminimizer_type,  0 );
2366     if (!SWIG_IsOK(res)) {
2367       SWIG_exception_fail(SWIG_ArgError(res), "in variable '""gsl_multimin_fdfminimizer_vector_bfgs2""' of type '""gsl_multimin_fdfminimizer_type const *""'");
2368     }
2369     gsl_multimin_fdfminimizer_vector_bfgs2 = (gsl_multimin_fdfminimizer_type *)(argp);
2370   }
2371 fail:
2372   return 1;
2373 }
2374 
2375 
_wrap_gsl_multimin_fdfminimizer_vector_bfgs2_get(pTHX_ SV * sv,MAGIC * SWIGUNUSEDPARM (mg))2376 SWIGCLASS_STATIC int _wrap_gsl_multimin_fdfminimizer_vector_bfgs2_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) {
2377   MAGIC_PPERL
2378   sv_setiv(SvRV(sv),PTR2IV(gsl_multimin_fdfminimizer_vector_bfgs2));
2379   return 1;
2380 }
2381 
2382 
_wrap_gsl_multimin_fminimizer_nmsimplex_set(pTHX_ SV * sv,MAGIC * SWIGUNUSEDPARM (mg))2383 SWIGCLASS_STATIC int _wrap_gsl_multimin_fminimizer_nmsimplex_set(pTHX_ SV* sv, MAGIC * SWIGUNUSEDPARM(mg)) {
2384   MAGIC_PPERL
2385   {
2386     void *argp = 0;
2387     int res = SWIG_ConvertPtr(sv, &argp, SWIGTYPE_p_gsl_multimin_fminimizer_type,  0 );
2388     if (!SWIG_IsOK(res)) {
2389       SWIG_exception_fail(SWIG_ArgError(res), "in variable '""gsl_multimin_fminimizer_nmsimplex""' of type '""gsl_multimin_fminimizer_type const *""'");
2390     }
2391     gsl_multimin_fminimizer_nmsimplex = (gsl_multimin_fminimizer_type *)(argp);
2392   }
2393 fail:
2394   return 1;
2395 }
2396 
2397 
_wrap_gsl_multimin_fminimizer_nmsimplex_get(pTHX_ SV * sv,MAGIC * SWIGUNUSEDPARM (mg))2398 SWIGCLASS_STATIC int _wrap_gsl_multimin_fminimizer_nmsimplex_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) {
2399   MAGIC_PPERL
2400   sv_setiv(SvRV(sv),PTR2IV(gsl_multimin_fminimizer_nmsimplex));
2401   return 1;
2402 }
2403 
2404 
_wrap_gsl_multimin_fminimizer_nmsimplex2_set(pTHX_ SV * sv,MAGIC * SWIGUNUSEDPARM (mg))2405 SWIGCLASS_STATIC int _wrap_gsl_multimin_fminimizer_nmsimplex2_set(pTHX_ SV* sv, MAGIC * SWIGUNUSEDPARM(mg)) {
2406   MAGIC_PPERL
2407   {
2408     void *argp = 0;
2409     int res = SWIG_ConvertPtr(sv, &argp, SWIGTYPE_p_gsl_multimin_fminimizer_type,  0 );
2410     if (!SWIG_IsOK(res)) {
2411       SWIG_exception_fail(SWIG_ArgError(res), "in variable '""gsl_multimin_fminimizer_nmsimplex2""' of type '""gsl_multimin_fminimizer_type const *""'");
2412     }
2413     gsl_multimin_fminimizer_nmsimplex2 = (gsl_multimin_fminimizer_type *)(argp);
2414   }
2415 fail:
2416   return 1;
2417 }
2418 
2419 
_wrap_gsl_multimin_fminimizer_nmsimplex2_get(pTHX_ SV * sv,MAGIC * SWIGUNUSEDPARM (mg))2420 SWIGCLASS_STATIC int _wrap_gsl_multimin_fminimizer_nmsimplex2_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) {
2421   MAGIC_PPERL
2422   sv_setiv(SvRV(sv),PTR2IV(gsl_multimin_fminimizer_nmsimplex2));
2423   return 1;
2424 }
2425 
2426 
_wrap_gsl_multimin_fminimizer_nmsimplex2rand_set(pTHX_ SV * sv,MAGIC * SWIGUNUSEDPARM (mg))2427 SWIGCLASS_STATIC int _wrap_gsl_multimin_fminimizer_nmsimplex2rand_set(pTHX_ SV* sv, MAGIC * SWIGUNUSEDPARM(mg)) {
2428   MAGIC_PPERL
2429   {
2430     void *argp = 0;
2431     int res = SWIG_ConvertPtr(sv, &argp, SWIGTYPE_p_gsl_multimin_fminimizer_type,  0 );
2432     if (!SWIG_IsOK(res)) {
2433       SWIG_exception_fail(SWIG_ArgError(res), "in variable '""gsl_multimin_fminimizer_nmsimplex2rand""' of type '""gsl_multimin_fminimizer_type const *""'");
2434     }
2435     gsl_multimin_fminimizer_nmsimplex2rand = (gsl_multimin_fminimizer_type *)(argp);
2436   }
2437 fail:
2438   return 1;
2439 }
2440 
2441 
_wrap_gsl_multimin_fminimizer_nmsimplex2rand_get(pTHX_ SV * sv,MAGIC * SWIGUNUSEDPARM (mg))2442 SWIGCLASS_STATIC int _wrap_gsl_multimin_fminimizer_nmsimplex2rand_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) {
2443   MAGIC_PPERL
2444   sv_setiv(SvRV(sv),PTR2IV(gsl_multimin_fminimizer_nmsimplex2rand));
2445   return 1;
2446 }
2447 
2448 
2449 
2450 
2451 #ifdef PERL_OBJECT
2452 };
2453 #endif
2454 
2455 #ifdef __cplusplus
2456 }
2457 #endif
2458 
2459 #ifdef __cplusplus
2460 extern "C" {
2461 #endif
XS(_wrap_gsl_error)2462 XS(_wrap_gsl_error) {
2463   {
2464     char *arg1 = (char *) 0 ;
2465     char *arg2 = (char *) 0 ;
2466     int arg3 ;
2467     int arg4 ;
2468     int res1 ;
2469     char *buf1 = 0 ;
2470     int alloc1 = 0 ;
2471     int res2 ;
2472     char *buf2 = 0 ;
2473     int alloc2 = 0 ;
2474     int val3 ;
2475     int ecode3 = 0 ;
2476     int val4 ;
2477     int ecode4 = 0 ;
2478     int argvi = 0;
2479     dXSARGS;
2480 
2481     if ((items < 4) || (items > 4)) {
2482       SWIG_croak("Usage: gsl_error(reason,file,line,gsl_errno);");
2483     }
2484     res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
2485     if (!SWIG_IsOK(res1)) {
2486       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_error" "', argument " "1"" of type '" "char const *""'");
2487     }
2488     arg1 = (char *)(buf1);
2489     res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
2490     if (!SWIG_IsOK(res2)) {
2491       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_error" "', argument " "2"" of type '" "char const *""'");
2492     }
2493     arg2 = (char *)(buf2);
2494     ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
2495     if (!SWIG_IsOK(ecode3)) {
2496       SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "gsl_error" "', argument " "3"" of type '" "int""'");
2497     }
2498     arg3 = (int)(val3);
2499     ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
2500     if (!SWIG_IsOK(ecode4)) {
2501       SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "gsl_error" "', argument " "4"" of type '" "int""'");
2502     }
2503     arg4 = (int)(val4);
2504     gsl_error((char const *)arg1,(char const *)arg2,arg3,arg4);
2505     ST(argvi) = &PL_sv_undef;
2506     if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
2507     if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
2508 
2509 
2510     XSRETURN(argvi);
2511   fail:
2512     if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
2513     if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
2514 
2515 
2516     SWIG_croak_null();
2517   }
2518 }
2519 
2520 
XS(_wrap_gsl_stream_printf)2521 XS(_wrap_gsl_stream_printf) {
2522   {
2523     char *arg1 = (char *) 0 ;
2524     char *arg2 = (char *) 0 ;
2525     int arg3 ;
2526     char *arg4 = (char *) 0 ;
2527     int res1 ;
2528     char *buf1 = 0 ;
2529     int alloc1 = 0 ;
2530     int res2 ;
2531     char *buf2 = 0 ;
2532     int alloc2 = 0 ;
2533     int val3 ;
2534     int ecode3 = 0 ;
2535     int res4 ;
2536     char *buf4 = 0 ;
2537     int alloc4 = 0 ;
2538     int argvi = 0;
2539     dXSARGS;
2540 
2541     if ((items < 4) || (items > 4)) {
2542       SWIG_croak("Usage: gsl_stream_printf(label,file,line,reason);");
2543     }
2544     res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
2545     if (!SWIG_IsOK(res1)) {
2546       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_stream_printf" "', argument " "1"" of type '" "char const *""'");
2547     }
2548     arg1 = (char *)(buf1);
2549     res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
2550     if (!SWIG_IsOK(res2)) {
2551       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_stream_printf" "', argument " "2"" of type '" "char const *""'");
2552     }
2553     arg2 = (char *)(buf2);
2554     ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
2555     if (!SWIG_IsOK(ecode3)) {
2556       SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "gsl_stream_printf" "', argument " "3"" of type '" "int""'");
2557     }
2558     arg3 = (int)(val3);
2559     res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
2560     if (!SWIG_IsOK(res4)) {
2561       SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "gsl_stream_printf" "', argument " "4"" of type '" "char const *""'");
2562     }
2563     arg4 = (char *)(buf4);
2564     gsl_stream_printf((char const *)arg1,(char const *)arg2,arg3,(char const *)arg4);
2565     ST(argvi) = &PL_sv_undef;
2566     if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
2567     if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
2568 
2569     if (alloc4 == SWIG_NEWOBJ) free((char*)buf4);
2570     XSRETURN(argvi);
2571   fail:
2572     if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
2573     if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
2574 
2575     if (alloc4 == SWIG_NEWOBJ) free((char*)buf4);
2576     SWIG_croak_null();
2577   }
2578 }
2579 
2580 
XS(_wrap_gsl_strerror)2581 XS(_wrap_gsl_strerror) {
2582   {
2583     int arg1 ;
2584     int val1 ;
2585     int ecode1 = 0 ;
2586     int argvi = 0;
2587     char *result = 0 ;
2588     dXSARGS;
2589 
2590     if ((items < 1) || (items > 1)) {
2591       SWIG_croak("Usage: gsl_strerror(gsl_errno);");
2592     }
2593     ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
2594     if (!SWIG_IsOK(ecode1)) {
2595       SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "gsl_strerror" "', argument " "1"" of type '" "int""'");
2596     }
2597     arg1 = (int)(val1);
2598     result = (char *)gsl_strerror(arg1);
2599     ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
2600 
2601     XSRETURN(argvi);
2602   fail:
2603 
2604     SWIG_croak_null();
2605   }
2606 }
2607 
2608 
XS(_wrap_gsl_set_error_handler)2609 XS(_wrap_gsl_set_error_handler) {
2610   {
2611     gsl_error_handler_t *arg1 = (gsl_error_handler_t *) 0 ;
2612     int argvi = 0;
2613     gsl_error_handler_t *result = 0 ;
2614     dXSARGS;
2615 
2616     if ((items < 1) || (items > 1)) {
2617       SWIG_croak("Usage: gsl_set_error_handler(new_handler);");
2618     }
2619     {
2620       int res = SWIG_ConvertFunctionPtr(ST(0), (void**)(&arg1), SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_int__void);
2621       if (!SWIG_IsOK(res)) {
2622         SWIG_exception_fail(SWIG_ArgError(res), "in method '" "gsl_set_error_handler" "', argument " "1"" of type '" "gsl_error_handler_t *""'");
2623       }
2624     }
2625     result = (gsl_error_handler_t *)gsl_set_error_handler(arg1);
2626     ST(argvi) = SWIG_NewFunctionPtrObj((void *)(result), SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_int__void); argvi++ ;
2627 
2628     XSRETURN(argvi);
2629   fail:
2630 
2631     SWIG_croak_null();
2632   }
2633 }
2634 
2635 
XS(_wrap_gsl_set_error_handler_off)2636 XS(_wrap_gsl_set_error_handler_off) {
2637   {
2638     int argvi = 0;
2639     gsl_error_handler_t *result = 0 ;
2640     dXSARGS;
2641 
2642     if ((items < 0) || (items > 0)) {
2643       SWIG_croak("Usage: gsl_set_error_handler_off();");
2644     }
2645     result = (gsl_error_handler_t *)gsl_set_error_handler_off();
2646     ST(argvi) = SWIG_NewFunctionPtrObj((void *)(result), SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_int__void); argvi++ ;
2647     XSRETURN(argvi);
2648   fail:
2649     SWIG_croak_null();
2650   }
2651 }
2652 
2653 
XS(_wrap_gsl_set_stream_handler)2654 XS(_wrap_gsl_set_stream_handler) {
2655   {
2656     gsl_stream_handler_t *arg1 = (gsl_stream_handler_t *) 0 ;
2657     int argvi = 0;
2658     gsl_stream_handler_t *result = 0 ;
2659     dXSARGS;
2660 
2661     if ((items < 1) || (items > 1)) {
2662       SWIG_croak("Usage: gsl_set_stream_handler(new_handler);");
2663     }
2664     {
2665       int res = SWIG_ConvertFunctionPtr(ST(0), (void**)(&arg1), SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_q_const__char__void);
2666       if (!SWIG_IsOK(res)) {
2667         SWIG_exception_fail(SWIG_ArgError(res), "in method '" "gsl_set_stream_handler" "', argument " "1"" of type '" "gsl_stream_handler_t *""'");
2668       }
2669     }
2670     result = (gsl_stream_handler_t *)gsl_set_stream_handler(arg1);
2671     ST(argvi) = SWIG_NewFunctionPtrObj((void *)(result), SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_q_const__char__void); argvi++ ;
2672 
2673     XSRETURN(argvi);
2674   fail:
2675 
2676     SWIG_croak_null();
2677   }
2678 }
2679 
2680 
XS(_wrap_gsl_set_stream)2681 XS(_wrap_gsl_set_stream) {
2682   {
2683     FILE *arg1 = (FILE *) 0 ;
2684     void *argp1 = 0 ;
2685     int res1 = 0 ;
2686     int argvi = 0;
2687     FILE *result = 0 ;
2688     dXSARGS;
2689 
2690     if ((items < 1) || (items > 1)) {
2691       SWIG_croak("Usage: gsl_set_stream(new_stream);");
2692     }
2693     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FILE, 0 |  0 );
2694     if (!SWIG_IsOK(res1)) {
2695       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_set_stream" "', argument " "1"" of type '" "FILE *""'");
2696     }
2697     arg1 = (FILE *)(argp1);
2698     result = (FILE *)gsl_set_stream(arg1);
2699     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FILE, 0 | 0); argvi++ ;
2700 
2701     XSRETURN(argvi);
2702   fail:
2703 
2704     SWIG_croak_null();
2705   }
2706 }
2707 
2708 
XS(_wrap_gsl_multimin_function_struct_f_set)2709 XS(_wrap_gsl_multimin_function_struct_f_set) {
2710   {
2711     struct gsl_multimin_function_struct *arg1 = (struct gsl_multimin_function_struct *) 0 ;
2712     double (*arg2)(gsl_vector const *,void *) = (double (*)(gsl_vector const *,void *)) 0 ;
2713     void *argp1 = 0 ;
2714     int res1 = 0 ;
2715     int argvi = 0;
2716     dXSARGS;
2717 
2718     if ((items < 2) || (items > 2)) {
2719       SWIG_croak("Usage: gsl_multimin_function_struct_f_set(self,f);");
2720     }
2721     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_function_struct, 0 |  0 );
2722     if (!SWIG_IsOK(res1)) {
2723       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_function_struct_f_set" "', argument " "1"" of type '" "struct gsl_multimin_function_struct *""'");
2724     }
2725     arg1 = (struct gsl_multimin_function_struct *)(argp1);
2726     {
2727       int res = SWIG_ConvertFunctionPtr(ST(1), (void**)(&arg2), SWIGTYPE_p_f_p_q_const__gsl_vector_p_void__double);
2728       if (!SWIG_IsOK(res)) {
2729         SWIG_exception_fail(SWIG_ArgError(res), "in method '" "gsl_multimin_function_struct_f_set" "', argument " "2"" of type '" "double (*)(gsl_vector const *,void *)""'");
2730       }
2731     }
2732     if (arg1) (arg1)->f = arg2;
2733     ST(argvi) = &PL_sv_undef;
2734 
2735 
2736     XSRETURN(argvi);
2737   fail:
2738 
2739 
2740     SWIG_croak_null();
2741   }
2742 }
2743 
2744 
XS(_wrap_gsl_multimin_function_struct_f_get)2745 XS(_wrap_gsl_multimin_function_struct_f_get) {
2746   {
2747     struct gsl_multimin_function_struct *arg1 = (struct gsl_multimin_function_struct *) 0 ;
2748     void *argp1 = 0 ;
2749     int res1 = 0 ;
2750     int argvi = 0;
2751     double (*result)(gsl_vector const *,void *) = 0 ;
2752     dXSARGS;
2753 
2754     if ((items < 1) || (items > 1)) {
2755       SWIG_croak("Usage: gsl_multimin_function_struct_f_get(self);");
2756     }
2757     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_function_struct, 0 |  0 );
2758     if (!SWIG_IsOK(res1)) {
2759       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_function_struct_f_get" "', argument " "1"" of type '" "struct gsl_multimin_function_struct *""'");
2760     }
2761     arg1 = (struct gsl_multimin_function_struct *)(argp1);
2762     result = (double (*)(gsl_vector const *,void *)) ((arg1)->f);
2763     ST(argvi) = SWIG_NewFunctionPtrObj((void *)(result), SWIGTYPE_p_f_p_q_const__gsl_vector_p_void__double); argvi++ ;
2764 
2765     XSRETURN(argvi);
2766   fail:
2767 
2768     SWIG_croak_null();
2769   }
2770 }
2771 
2772 
XS(_wrap_gsl_multimin_function_struct_n_set)2773 XS(_wrap_gsl_multimin_function_struct_n_set) {
2774   {
2775     struct gsl_multimin_function_struct *arg1 = (struct gsl_multimin_function_struct *) 0 ;
2776     size_t arg2 ;
2777     void *argp1 = 0 ;
2778     int res1 = 0 ;
2779     size_t val2 ;
2780     int ecode2 = 0 ;
2781     int argvi = 0;
2782     dXSARGS;
2783 
2784     if ((items < 2) || (items > 2)) {
2785       SWIG_croak("Usage: gsl_multimin_function_struct_n_set(self,n);");
2786     }
2787     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_function_struct, 0 |  0 );
2788     if (!SWIG_IsOK(res1)) {
2789       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_function_struct_n_set" "', argument " "1"" of type '" "struct gsl_multimin_function_struct *""'");
2790     }
2791     arg1 = (struct gsl_multimin_function_struct *)(argp1);
2792     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
2793     if (!SWIG_IsOK(ecode2)) {
2794       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_multimin_function_struct_n_set" "', argument " "2"" of type '" "size_t""'");
2795     }
2796     arg2 = (size_t)(val2);
2797     if (arg1) (arg1)->n = arg2;
2798     ST(argvi) = &PL_sv_undef;
2799 
2800 
2801     XSRETURN(argvi);
2802   fail:
2803 
2804 
2805     SWIG_croak_null();
2806   }
2807 }
2808 
2809 
XS(_wrap_gsl_multimin_function_struct_n_get)2810 XS(_wrap_gsl_multimin_function_struct_n_get) {
2811   {
2812     struct gsl_multimin_function_struct *arg1 = (struct gsl_multimin_function_struct *) 0 ;
2813     void *argp1 = 0 ;
2814     int res1 = 0 ;
2815     int argvi = 0;
2816     size_t result;
2817     dXSARGS;
2818 
2819     if ((items < 1) || (items > 1)) {
2820       SWIG_croak("Usage: gsl_multimin_function_struct_n_get(self);");
2821     }
2822     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_function_struct, 0 |  0 );
2823     if (!SWIG_IsOK(res1)) {
2824       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_function_struct_n_get" "', argument " "1"" of type '" "struct gsl_multimin_function_struct *""'");
2825     }
2826     arg1 = (struct gsl_multimin_function_struct *)(argp1);
2827     result =  ((arg1)->n);
2828     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1((size_t)(result)); argvi++ ;
2829 
2830     XSRETURN(argvi);
2831   fail:
2832 
2833     SWIG_croak_null();
2834   }
2835 }
2836 
2837 
XS(_wrap_gsl_multimin_function_struct_params_set)2838 XS(_wrap_gsl_multimin_function_struct_params_set) {
2839   {
2840     struct gsl_multimin_function_struct *arg1 = (struct gsl_multimin_function_struct *) 0 ;
2841     void *arg2 = (void *) 0 ;
2842     void *argp1 = 0 ;
2843     int res1 = 0 ;
2844     int res2 ;
2845     int argvi = 0;
2846     dXSARGS;
2847 
2848     if ((items < 2) || (items > 2)) {
2849       SWIG_croak("Usage: gsl_multimin_function_struct_params_set(self,params);");
2850     }
2851     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_function_struct, 0 |  0 );
2852     if (!SWIG_IsOK(res1)) {
2853       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_function_struct_params_set" "', argument " "1"" of type '" "struct gsl_multimin_function_struct *""'");
2854     }
2855     arg1 = (struct gsl_multimin_function_struct *)(argp1);
2856     res2 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg2), 0, SWIG_POINTER_DISOWN);
2857     if (!SWIG_IsOK(res2)) {
2858       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_multimin_function_struct_params_set" "', argument " "2"" of type '" "void *""'");
2859     }
2860     if (arg1) (arg1)->params = arg2;
2861     ST(argvi) = &PL_sv_undef;
2862 
2863 
2864     XSRETURN(argvi);
2865   fail:
2866 
2867 
2868     SWIG_croak_null();
2869   }
2870 }
2871 
2872 
XS(_wrap_gsl_multimin_function_struct_params_get)2873 XS(_wrap_gsl_multimin_function_struct_params_get) {
2874   {
2875     struct gsl_multimin_function_struct *arg1 = (struct gsl_multimin_function_struct *) 0 ;
2876     void *argp1 = 0 ;
2877     int res1 = 0 ;
2878     int argvi = 0;
2879     void *result = 0 ;
2880     dXSARGS;
2881 
2882     if ((items < 1) || (items > 1)) {
2883       SWIG_croak("Usage: gsl_multimin_function_struct_params_get(self);");
2884     }
2885     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_function_struct, 0 |  0 );
2886     if (!SWIG_IsOK(res1)) {
2887       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_function_struct_params_get" "', argument " "1"" of type '" "struct gsl_multimin_function_struct *""'");
2888     }
2889     arg1 = (struct gsl_multimin_function_struct *)(argp1);
2890     result = (void *) ((arg1)->params);
2891     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0); argvi++ ;
2892 
2893     XSRETURN(argvi);
2894   fail:
2895 
2896     SWIG_croak_null();
2897   }
2898 }
2899 
2900 
XS(_wrap_new_gsl_multimin_function_struct)2901 XS(_wrap_new_gsl_multimin_function_struct) {
2902   {
2903     int argvi = 0;
2904     struct gsl_multimin_function_struct *result = 0 ;
2905     dXSARGS;
2906 
2907     if ((items < 0) || (items > 0)) {
2908       SWIG_croak("Usage: new_gsl_multimin_function_struct();");
2909     }
2910     result = (struct gsl_multimin_function_struct *)calloc(1, sizeof(struct gsl_multimin_function_struct));
2911     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_multimin_function_struct, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
2912     XSRETURN(argvi);
2913   fail:
2914     SWIG_croak_null();
2915   }
2916 }
2917 
2918 
XS(_wrap_delete_gsl_multimin_function_struct)2919 XS(_wrap_delete_gsl_multimin_function_struct) {
2920   {
2921     struct gsl_multimin_function_struct *arg1 = (struct gsl_multimin_function_struct *) 0 ;
2922     void *argp1 = 0 ;
2923     int res1 = 0 ;
2924     int argvi = 0;
2925     dXSARGS;
2926 
2927     if ((items < 1) || (items > 1)) {
2928       SWIG_croak("Usage: delete_gsl_multimin_function_struct(self);");
2929     }
2930     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_function_struct, SWIG_POINTER_DISOWN |  0 );
2931     if (!SWIG_IsOK(res1)) {
2932       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_gsl_multimin_function_struct" "', argument " "1"" of type '" "struct gsl_multimin_function_struct *""'");
2933     }
2934     arg1 = (struct gsl_multimin_function_struct *)(argp1);
2935     free((char *) arg1);
2936     ST(argvi) = &PL_sv_undef;
2937 
2938     XSRETURN(argvi);
2939   fail:
2940 
2941     SWIG_croak_null();
2942   }
2943 }
2944 
2945 
XS(_wrap_gsl_multimin_function_fdf_struct_f_set)2946 XS(_wrap_gsl_multimin_function_fdf_struct_f_set) {
2947   {
2948     struct gsl_multimin_function_fdf_struct *arg1 = (struct gsl_multimin_function_fdf_struct *) 0 ;
2949     double (*arg2)(gsl_vector const *,void *) = (double (*)(gsl_vector const *,void *)) 0 ;
2950     void *argp1 = 0 ;
2951     int res1 = 0 ;
2952     int argvi = 0;
2953     dXSARGS;
2954 
2955     if ((items < 2) || (items > 2)) {
2956       SWIG_croak("Usage: gsl_multimin_function_fdf_struct_f_set(self,f);");
2957     }
2958     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_function_fdf_struct, 0 |  0 );
2959     if (!SWIG_IsOK(res1)) {
2960       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_function_fdf_struct_f_set" "', argument " "1"" of type '" "struct gsl_multimin_function_fdf_struct *""'");
2961     }
2962     arg1 = (struct gsl_multimin_function_fdf_struct *)(argp1);
2963     {
2964       int res = SWIG_ConvertFunctionPtr(ST(1), (void**)(&arg2), SWIGTYPE_p_f_p_q_const__gsl_vector_p_void__double);
2965       if (!SWIG_IsOK(res)) {
2966         SWIG_exception_fail(SWIG_ArgError(res), "in method '" "gsl_multimin_function_fdf_struct_f_set" "', argument " "2"" of type '" "double (*)(gsl_vector const *,void *)""'");
2967       }
2968     }
2969     if (arg1) (arg1)->f = arg2;
2970     ST(argvi) = &PL_sv_undef;
2971 
2972 
2973     XSRETURN(argvi);
2974   fail:
2975 
2976 
2977     SWIG_croak_null();
2978   }
2979 }
2980 
2981 
XS(_wrap_gsl_multimin_function_fdf_struct_f_get)2982 XS(_wrap_gsl_multimin_function_fdf_struct_f_get) {
2983   {
2984     struct gsl_multimin_function_fdf_struct *arg1 = (struct gsl_multimin_function_fdf_struct *) 0 ;
2985     void *argp1 = 0 ;
2986     int res1 = 0 ;
2987     int argvi = 0;
2988     double (*result)(gsl_vector const *,void *) = 0 ;
2989     dXSARGS;
2990 
2991     if ((items < 1) || (items > 1)) {
2992       SWIG_croak("Usage: gsl_multimin_function_fdf_struct_f_get(self);");
2993     }
2994     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_function_fdf_struct, 0 |  0 );
2995     if (!SWIG_IsOK(res1)) {
2996       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_function_fdf_struct_f_get" "', argument " "1"" of type '" "struct gsl_multimin_function_fdf_struct *""'");
2997     }
2998     arg1 = (struct gsl_multimin_function_fdf_struct *)(argp1);
2999     result = (double (*)(gsl_vector const *,void *)) ((arg1)->f);
3000     ST(argvi) = SWIG_NewFunctionPtrObj((void *)(result), SWIGTYPE_p_f_p_q_const__gsl_vector_p_void__double); argvi++ ;
3001 
3002     XSRETURN(argvi);
3003   fail:
3004 
3005     SWIG_croak_null();
3006   }
3007 }
3008 
3009 
XS(_wrap_gsl_multimin_function_fdf_struct_df_set)3010 XS(_wrap_gsl_multimin_function_fdf_struct_df_set) {
3011   {
3012     struct gsl_multimin_function_fdf_struct *arg1 = (struct gsl_multimin_function_fdf_struct *) 0 ;
3013     void (*arg2)(gsl_vector const *,void *,gsl_vector *) = (void (*)(gsl_vector const *,void *,gsl_vector *)) 0 ;
3014     void *argp1 = 0 ;
3015     int res1 = 0 ;
3016     int argvi = 0;
3017     dXSARGS;
3018 
3019     if ((items < 2) || (items > 2)) {
3020       SWIG_croak("Usage: gsl_multimin_function_fdf_struct_df_set(self,df);");
3021     }
3022     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_function_fdf_struct, 0 |  0 );
3023     if (!SWIG_IsOK(res1)) {
3024       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_function_fdf_struct_df_set" "', argument " "1"" of type '" "struct gsl_multimin_function_fdf_struct *""'");
3025     }
3026     arg1 = (struct gsl_multimin_function_fdf_struct *)(argp1);
3027     {
3028       int res = SWIG_ConvertFunctionPtr(ST(1), (void**)(&arg2), SWIGTYPE_p_f_p_q_const__gsl_vector_p_void_p_gsl_vector__void);
3029       if (!SWIG_IsOK(res)) {
3030         SWIG_exception_fail(SWIG_ArgError(res), "in method '" "gsl_multimin_function_fdf_struct_df_set" "', argument " "2"" of type '" "void (*)(gsl_vector const *,void *,gsl_vector *)""'");
3031       }
3032     }
3033     if (arg1) (arg1)->df = arg2;
3034     ST(argvi) = &PL_sv_undef;
3035 
3036 
3037     XSRETURN(argvi);
3038   fail:
3039 
3040 
3041     SWIG_croak_null();
3042   }
3043 }
3044 
3045 
XS(_wrap_gsl_multimin_function_fdf_struct_df_get)3046 XS(_wrap_gsl_multimin_function_fdf_struct_df_get) {
3047   {
3048     struct gsl_multimin_function_fdf_struct *arg1 = (struct gsl_multimin_function_fdf_struct *) 0 ;
3049     void *argp1 = 0 ;
3050     int res1 = 0 ;
3051     int argvi = 0;
3052     void (*result)(gsl_vector const *,void *,gsl_vector *) = 0 ;
3053     dXSARGS;
3054 
3055     if ((items < 1) || (items > 1)) {
3056       SWIG_croak("Usage: gsl_multimin_function_fdf_struct_df_get(self);");
3057     }
3058     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_function_fdf_struct, 0 |  0 );
3059     if (!SWIG_IsOK(res1)) {
3060       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_function_fdf_struct_df_get" "', argument " "1"" of type '" "struct gsl_multimin_function_fdf_struct *""'");
3061     }
3062     arg1 = (struct gsl_multimin_function_fdf_struct *)(argp1);
3063     result = (void (*)(gsl_vector const *,void *,gsl_vector *)) ((arg1)->df);
3064     ST(argvi) = SWIG_NewFunctionPtrObj((void *)(result), SWIGTYPE_p_f_p_q_const__gsl_vector_p_void_p_gsl_vector__void); argvi++ ;
3065 
3066     XSRETURN(argvi);
3067   fail:
3068 
3069     SWIG_croak_null();
3070   }
3071 }
3072 
3073 
XS(_wrap_gsl_multimin_function_fdf_struct_fdf_set)3074 XS(_wrap_gsl_multimin_function_fdf_struct_fdf_set) {
3075   {
3076     struct gsl_multimin_function_fdf_struct *arg1 = (struct gsl_multimin_function_fdf_struct *) 0 ;
3077     void (*arg2)(gsl_vector const *,void *,double *,gsl_vector *) = (void (*)(gsl_vector const *,void *,double *,gsl_vector *)) 0 ;
3078     void *argp1 = 0 ;
3079     int res1 = 0 ;
3080     int argvi = 0;
3081     dXSARGS;
3082 
3083     if ((items < 2) || (items > 2)) {
3084       SWIG_croak("Usage: gsl_multimin_function_fdf_struct_fdf_set(self,fdf);");
3085     }
3086     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_function_fdf_struct, 0 |  0 );
3087     if (!SWIG_IsOK(res1)) {
3088       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_function_fdf_struct_fdf_set" "', argument " "1"" of type '" "struct gsl_multimin_function_fdf_struct *""'");
3089     }
3090     arg1 = (struct gsl_multimin_function_fdf_struct *)(argp1);
3091     {
3092       int res = SWIG_ConvertFunctionPtr(ST(1), (void**)(&arg2), SWIGTYPE_p_f_p_q_const__gsl_vector_p_void_p_double_p_gsl_vector__void);
3093       if (!SWIG_IsOK(res)) {
3094         SWIG_exception_fail(SWIG_ArgError(res), "in method '" "gsl_multimin_function_fdf_struct_fdf_set" "', argument " "2"" of type '" "void (*)(gsl_vector const *,void *,double *,gsl_vector *)""'");
3095       }
3096     }
3097     if (arg1) (arg1)->fdf = arg2;
3098     ST(argvi) = &PL_sv_undef;
3099 
3100 
3101     XSRETURN(argvi);
3102   fail:
3103 
3104 
3105     SWIG_croak_null();
3106   }
3107 }
3108 
3109 
XS(_wrap_gsl_multimin_function_fdf_struct_fdf_get)3110 XS(_wrap_gsl_multimin_function_fdf_struct_fdf_get) {
3111   {
3112     struct gsl_multimin_function_fdf_struct *arg1 = (struct gsl_multimin_function_fdf_struct *) 0 ;
3113     void *argp1 = 0 ;
3114     int res1 = 0 ;
3115     int argvi = 0;
3116     void (*result)(gsl_vector const *,void *,double *,gsl_vector *) = 0 ;
3117     dXSARGS;
3118 
3119     if ((items < 1) || (items > 1)) {
3120       SWIG_croak("Usage: gsl_multimin_function_fdf_struct_fdf_get(self);");
3121     }
3122     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_function_fdf_struct, 0 |  0 );
3123     if (!SWIG_IsOK(res1)) {
3124       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_function_fdf_struct_fdf_get" "', argument " "1"" of type '" "struct gsl_multimin_function_fdf_struct *""'");
3125     }
3126     arg1 = (struct gsl_multimin_function_fdf_struct *)(argp1);
3127     result = (void (*)(gsl_vector const *,void *,double *,gsl_vector *)) ((arg1)->fdf);
3128     ST(argvi) = SWIG_NewFunctionPtrObj((void *)(result), SWIGTYPE_p_f_p_q_const__gsl_vector_p_void_p_double_p_gsl_vector__void); argvi++ ;
3129 
3130     XSRETURN(argvi);
3131   fail:
3132 
3133     SWIG_croak_null();
3134   }
3135 }
3136 
3137 
XS(_wrap_gsl_multimin_function_fdf_struct_n_set)3138 XS(_wrap_gsl_multimin_function_fdf_struct_n_set) {
3139   {
3140     struct gsl_multimin_function_fdf_struct *arg1 = (struct gsl_multimin_function_fdf_struct *) 0 ;
3141     size_t arg2 ;
3142     void *argp1 = 0 ;
3143     int res1 = 0 ;
3144     size_t val2 ;
3145     int ecode2 = 0 ;
3146     int argvi = 0;
3147     dXSARGS;
3148 
3149     if ((items < 2) || (items > 2)) {
3150       SWIG_croak("Usage: gsl_multimin_function_fdf_struct_n_set(self,n);");
3151     }
3152     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_function_fdf_struct, 0 |  0 );
3153     if (!SWIG_IsOK(res1)) {
3154       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_function_fdf_struct_n_set" "', argument " "1"" of type '" "struct gsl_multimin_function_fdf_struct *""'");
3155     }
3156     arg1 = (struct gsl_multimin_function_fdf_struct *)(argp1);
3157     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
3158     if (!SWIG_IsOK(ecode2)) {
3159       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_multimin_function_fdf_struct_n_set" "', argument " "2"" of type '" "size_t""'");
3160     }
3161     arg2 = (size_t)(val2);
3162     if (arg1) (arg1)->n = arg2;
3163     ST(argvi) = &PL_sv_undef;
3164 
3165 
3166     XSRETURN(argvi);
3167   fail:
3168 
3169 
3170     SWIG_croak_null();
3171   }
3172 }
3173 
3174 
XS(_wrap_gsl_multimin_function_fdf_struct_n_get)3175 XS(_wrap_gsl_multimin_function_fdf_struct_n_get) {
3176   {
3177     struct gsl_multimin_function_fdf_struct *arg1 = (struct gsl_multimin_function_fdf_struct *) 0 ;
3178     void *argp1 = 0 ;
3179     int res1 = 0 ;
3180     int argvi = 0;
3181     size_t result;
3182     dXSARGS;
3183 
3184     if ((items < 1) || (items > 1)) {
3185       SWIG_croak("Usage: gsl_multimin_function_fdf_struct_n_get(self);");
3186     }
3187     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_function_fdf_struct, 0 |  0 );
3188     if (!SWIG_IsOK(res1)) {
3189       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_function_fdf_struct_n_get" "', argument " "1"" of type '" "struct gsl_multimin_function_fdf_struct *""'");
3190     }
3191     arg1 = (struct gsl_multimin_function_fdf_struct *)(argp1);
3192     result =  ((arg1)->n);
3193     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1((size_t)(result)); argvi++ ;
3194 
3195     XSRETURN(argvi);
3196   fail:
3197 
3198     SWIG_croak_null();
3199   }
3200 }
3201 
3202 
XS(_wrap_gsl_multimin_function_fdf_struct_params_set)3203 XS(_wrap_gsl_multimin_function_fdf_struct_params_set) {
3204   {
3205     struct gsl_multimin_function_fdf_struct *arg1 = (struct gsl_multimin_function_fdf_struct *) 0 ;
3206     void *arg2 = (void *) 0 ;
3207     void *argp1 = 0 ;
3208     int res1 = 0 ;
3209     int res2 ;
3210     int argvi = 0;
3211     dXSARGS;
3212 
3213     if ((items < 2) || (items > 2)) {
3214       SWIG_croak("Usage: gsl_multimin_function_fdf_struct_params_set(self,params);");
3215     }
3216     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_function_fdf_struct, 0 |  0 );
3217     if (!SWIG_IsOK(res1)) {
3218       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_function_fdf_struct_params_set" "', argument " "1"" of type '" "struct gsl_multimin_function_fdf_struct *""'");
3219     }
3220     arg1 = (struct gsl_multimin_function_fdf_struct *)(argp1);
3221     res2 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg2), 0, SWIG_POINTER_DISOWN);
3222     if (!SWIG_IsOK(res2)) {
3223       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_multimin_function_fdf_struct_params_set" "', argument " "2"" of type '" "void *""'");
3224     }
3225     if (arg1) (arg1)->params = arg2;
3226     ST(argvi) = &PL_sv_undef;
3227 
3228 
3229     XSRETURN(argvi);
3230   fail:
3231 
3232 
3233     SWIG_croak_null();
3234   }
3235 }
3236 
3237 
XS(_wrap_gsl_multimin_function_fdf_struct_params_get)3238 XS(_wrap_gsl_multimin_function_fdf_struct_params_get) {
3239   {
3240     struct gsl_multimin_function_fdf_struct *arg1 = (struct gsl_multimin_function_fdf_struct *) 0 ;
3241     void *argp1 = 0 ;
3242     int res1 = 0 ;
3243     int argvi = 0;
3244     void *result = 0 ;
3245     dXSARGS;
3246 
3247     if ((items < 1) || (items > 1)) {
3248       SWIG_croak("Usage: gsl_multimin_function_fdf_struct_params_get(self);");
3249     }
3250     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_function_fdf_struct, 0 |  0 );
3251     if (!SWIG_IsOK(res1)) {
3252       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_function_fdf_struct_params_get" "', argument " "1"" of type '" "struct gsl_multimin_function_fdf_struct *""'");
3253     }
3254     arg1 = (struct gsl_multimin_function_fdf_struct *)(argp1);
3255     result = (void *) ((arg1)->params);
3256     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0); argvi++ ;
3257 
3258     XSRETURN(argvi);
3259   fail:
3260 
3261     SWIG_croak_null();
3262   }
3263 }
3264 
3265 
XS(_wrap_new_gsl_multimin_function_fdf_struct)3266 XS(_wrap_new_gsl_multimin_function_fdf_struct) {
3267   {
3268     int argvi = 0;
3269     struct gsl_multimin_function_fdf_struct *result = 0 ;
3270     dXSARGS;
3271 
3272     if ((items < 0) || (items > 0)) {
3273       SWIG_croak("Usage: new_gsl_multimin_function_fdf_struct();");
3274     }
3275     result = (struct gsl_multimin_function_fdf_struct *)calloc(1, sizeof(struct gsl_multimin_function_fdf_struct));
3276     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_multimin_function_fdf_struct, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
3277     XSRETURN(argvi);
3278   fail:
3279     SWIG_croak_null();
3280   }
3281 }
3282 
3283 
XS(_wrap_delete_gsl_multimin_function_fdf_struct)3284 XS(_wrap_delete_gsl_multimin_function_fdf_struct) {
3285   {
3286     struct gsl_multimin_function_fdf_struct *arg1 = (struct gsl_multimin_function_fdf_struct *) 0 ;
3287     void *argp1 = 0 ;
3288     int res1 = 0 ;
3289     int argvi = 0;
3290     dXSARGS;
3291 
3292     if ((items < 1) || (items > 1)) {
3293       SWIG_croak("Usage: delete_gsl_multimin_function_fdf_struct(self);");
3294     }
3295     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_function_fdf_struct, SWIG_POINTER_DISOWN |  0 );
3296     if (!SWIG_IsOK(res1)) {
3297       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_gsl_multimin_function_fdf_struct" "', argument " "1"" of type '" "struct gsl_multimin_function_fdf_struct *""'");
3298     }
3299     arg1 = (struct gsl_multimin_function_fdf_struct *)(argp1);
3300     free((char *) arg1);
3301     ST(argvi) = &PL_sv_undef;
3302 
3303     XSRETURN(argvi);
3304   fail:
3305 
3306     SWIG_croak_null();
3307   }
3308 }
3309 
3310 
XS(_wrap_gsl_multimin_diff)3311 XS(_wrap_gsl_multimin_diff) {
3312   {
3313     gsl_multimin_function *arg1 = (gsl_multimin_function *) 0 ;
3314     gsl_vector *arg2 = (gsl_vector *) 0 ;
3315     gsl_vector *arg3 = (gsl_vector *) 0 ;
3316     void *argp1 = 0 ;
3317     int res1 = 0 ;
3318     void *argp2 = 0 ;
3319     int res2 = 0 ;
3320     void *argp3 = 0 ;
3321     int res3 = 0 ;
3322     int argvi = 0;
3323     int result;
3324     dXSARGS;
3325 
3326     if ((items < 3) || (items > 3)) {
3327       SWIG_croak("Usage: gsl_multimin_diff(f,x,g);");
3328     }
3329     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_function_struct, 0 |  0 );
3330     if (!SWIG_IsOK(res1)) {
3331       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_diff" "', argument " "1"" of type '" "gsl_multimin_function const *""'");
3332     }
3333     arg1 = (gsl_multimin_function *)(argp1);
3334     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_vector, 0 |  0 );
3335     if (!SWIG_IsOK(res2)) {
3336       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_multimin_diff" "', argument " "2"" of type '" "gsl_vector const *""'");
3337     }
3338     arg2 = (gsl_vector *)(argp2);
3339     res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_gsl_vector, 0 |  0 );
3340     if (!SWIG_IsOK(res3)) {
3341       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "gsl_multimin_diff" "', argument " "3"" of type '" "gsl_vector *""'");
3342     }
3343     arg3 = (gsl_vector *)(argp3);
3344     result = (int)gsl_multimin_diff((struct gsl_multimin_function_struct const *)arg1,(gsl_vector const *)arg2,arg3);
3345     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
3346 
3347 
3348 
3349     XSRETURN(argvi);
3350   fail:
3351 
3352 
3353 
3354     SWIG_croak_null();
3355   }
3356 }
3357 
3358 
XS(_wrap_gsl_multimin_fminimizer_type_name_set)3359 XS(_wrap_gsl_multimin_fminimizer_type_name_set) {
3360   {
3361     gsl_multimin_fminimizer_type *arg1 = (gsl_multimin_fminimizer_type *) 0 ;
3362     char *arg2 = (char *) 0 ;
3363     void *argp1 = 0 ;
3364     int res1 = 0 ;
3365     int res2 ;
3366     char *buf2 = 0 ;
3367     int alloc2 = 0 ;
3368     int argvi = 0;
3369     dXSARGS;
3370 
3371     if ((items < 2) || (items > 2)) {
3372       SWIG_croak("Usage: gsl_multimin_fminimizer_type_name_set(self,name);");
3373     }
3374     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer_type, 0 |  0 );
3375     if (!SWIG_IsOK(res1)) {
3376       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_type_name_set" "', argument " "1"" of type '" "gsl_multimin_fminimizer_type *""'");
3377     }
3378     arg1 = (gsl_multimin_fminimizer_type *)(argp1);
3379     res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
3380     if (!SWIG_IsOK(res2)) {
3381       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_multimin_fminimizer_type_name_set" "', argument " "2"" of type '" "char const *""'");
3382     }
3383     arg2 = (char *)(buf2);
3384     if (arg2) {
3385       size_t size = strlen((const char *)((const char *)(arg2))) + 1;
3386       arg1->name = (char const *)(char *)memcpy(malloc((size)*sizeof(char)), arg2, sizeof(char)*(size));
3387     } else {
3388       arg1->name = 0;
3389     }
3390     ST(argvi) = &PL_sv_undef;
3391 
3392     if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
3393     XSRETURN(argvi);
3394   fail:
3395 
3396     if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
3397     SWIG_croak_null();
3398   }
3399 }
3400 
3401 
XS(_wrap_gsl_multimin_fminimizer_type_name_get)3402 XS(_wrap_gsl_multimin_fminimizer_type_name_get) {
3403   {
3404     gsl_multimin_fminimizer_type *arg1 = (gsl_multimin_fminimizer_type *) 0 ;
3405     void *argp1 = 0 ;
3406     int res1 = 0 ;
3407     int argvi = 0;
3408     char *result = 0 ;
3409     dXSARGS;
3410 
3411     if ((items < 1) || (items > 1)) {
3412       SWIG_croak("Usage: gsl_multimin_fminimizer_type_name_get(self);");
3413     }
3414     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer_type, 0 |  0 );
3415     if (!SWIG_IsOK(res1)) {
3416       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_type_name_get" "', argument " "1"" of type '" "gsl_multimin_fminimizer_type *""'");
3417     }
3418     arg1 = (gsl_multimin_fminimizer_type *)(argp1);
3419     result = (char *) ((arg1)->name);
3420     ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
3421 
3422     XSRETURN(argvi);
3423   fail:
3424 
3425     SWIG_croak_null();
3426   }
3427 }
3428 
3429 
XS(_wrap_gsl_multimin_fminimizer_type_size_set)3430 XS(_wrap_gsl_multimin_fminimizer_type_size_set) {
3431   {
3432     gsl_multimin_fminimizer_type *arg1 = (gsl_multimin_fminimizer_type *) 0 ;
3433     size_t arg2 ;
3434     void *argp1 = 0 ;
3435     int res1 = 0 ;
3436     size_t val2 ;
3437     int ecode2 = 0 ;
3438     int argvi = 0;
3439     dXSARGS;
3440 
3441     if ((items < 2) || (items > 2)) {
3442       SWIG_croak("Usage: gsl_multimin_fminimizer_type_size_set(self,size);");
3443     }
3444     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer_type, 0 |  0 );
3445     if (!SWIG_IsOK(res1)) {
3446       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_type_size_set" "', argument " "1"" of type '" "gsl_multimin_fminimizer_type *""'");
3447     }
3448     arg1 = (gsl_multimin_fminimizer_type *)(argp1);
3449     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
3450     if (!SWIG_IsOK(ecode2)) {
3451       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_multimin_fminimizer_type_size_set" "', argument " "2"" of type '" "size_t""'");
3452     }
3453     arg2 = (size_t)(val2);
3454     if (arg1) (arg1)->size = arg2;
3455     ST(argvi) = &PL_sv_undef;
3456 
3457 
3458     XSRETURN(argvi);
3459   fail:
3460 
3461 
3462     SWIG_croak_null();
3463   }
3464 }
3465 
3466 
XS(_wrap_gsl_multimin_fminimizer_type_size_get)3467 XS(_wrap_gsl_multimin_fminimizer_type_size_get) {
3468   {
3469     gsl_multimin_fminimizer_type *arg1 = (gsl_multimin_fminimizer_type *) 0 ;
3470     void *argp1 = 0 ;
3471     int res1 = 0 ;
3472     int argvi = 0;
3473     size_t result;
3474     dXSARGS;
3475 
3476     if ((items < 1) || (items > 1)) {
3477       SWIG_croak("Usage: gsl_multimin_fminimizer_type_size_get(self);");
3478     }
3479     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer_type, 0 |  0 );
3480     if (!SWIG_IsOK(res1)) {
3481       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_type_size_get" "', argument " "1"" of type '" "gsl_multimin_fminimizer_type *""'");
3482     }
3483     arg1 = (gsl_multimin_fminimizer_type *)(argp1);
3484     result =  ((arg1)->size);
3485     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1((size_t)(result)); argvi++ ;
3486 
3487     XSRETURN(argvi);
3488   fail:
3489 
3490     SWIG_croak_null();
3491   }
3492 }
3493 
3494 
XS(_wrap_gsl_multimin_fminimizer_type_alloc_set)3495 XS(_wrap_gsl_multimin_fminimizer_type_alloc_set) {
3496   {
3497     gsl_multimin_fminimizer_type *arg1 = (gsl_multimin_fminimizer_type *) 0 ;
3498     int (*arg2)(void *,size_t) = (int (*)(void *,size_t)) 0 ;
3499     void *argp1 = 0 ;
3500     int res1 = 0 ;
3501     int argvi = 0;
3502     dXSARGS;
3503 
3504     if ((items < 2) || (items > 2)) {
3505       SWIG_croak("Usage: gsl_multimin_fminimizer_type_alloc_set(self,alloc);");
3506     }
3507     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer_type, 0 |  0 );
3508     if (!SWIG_IsOK(res1)) {
3509       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_type_alloc_set" "', argument " "1"" of type '" "gsl_multimin_fminimizer_type *""'");
3510     }
3511     arg1 = (gsl_multimin_fminimizer_type *)(argp1);
3512     {
3513       int res = SWIG_ConvertFunctionPtr(ST(1), (void**)(&arg2), SWIGTYPE_p_f_p_void_size_t__int);
3514       if (!SWIG_IsOK(res)) {
3515         SWIG_exception_fail(SWIG_ArgError(res), "in method '" "gsl_multimin_fminimizer_type_alloc_set" "', argument " "2"" of type '" "int (*)(void *,size_t)""'");
3516       }
3517     }
3518     if (arg1) (arg1)->alloc = arg2;
3519     ST(argvi) = &PL_sv_undef;
3520 
3521 
3522     XSRETURN(argvi);
3523   fail:
3524 
3525 
3526     SWIG_croak_null();
3527   }
3528 }
3529 
3530 
XS(_wrap_gsl_multimin_fminimizer_type_alloc_get)3531 XS(_wrap_gsl_multimin_fminimizer_type_alloc_get) {
3532   {
3533     gsl_multimin_fminimizer_type *arg1 = (gsl_multimin_fminimizer_type *) 0 ;
3534     void *argp1 = 0 ;
3535     int res1 = 0 ;
3536     int argvi = 0;
3537     int (*result)(void *,size_t) = 0 ;
3538     dXSARGS;
3539 
3540     if ((items < 1) || (items > 1)) {
3541       SWIG_croak("Usage: gsl_multimin_fminimizer_type_alloc_get(self);");
3542     }
3543     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer_type, 0 |  0 );
3544     if (!SWIG_IsOK(res1)) {
3545       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_type_alloc_get" "', argument " "1"" of type '" "gsl_multimin_fminimizer_type *""'");
3546     }
3547     arg1 = (gsl_multimin_fminimizer_type *)(argp1);
3548     result = (int (*)(void *,size_t)) ((arg1)->alloc);
3549     ST(argvi) = SWIG_NewFunctionPtrObj((void *)(result), SWIGTYPE_p_f_p_void_size_t__int); argvi++ ;
3550 
3551     XSRETURN(argvi);
3552   fail:
3553 
3554     SWIG_croak_null();
3555   }
3556 }
3557 
3558 
XS(_wrap_gsl_multimin_fminimizer_type_set_set)3559 XS(_wrap_gsl_multimin_fminimizer_type_set_set) {
3560   {
3561     gsl_multimin_fminimizer_type *arg1 = (gsl_multimin_fminimizer_type *) 0 ;
3562     int (*arg2)(void *,gsl_multimin_function *,gsl_vector const *,double *,gsl_vector const *) = (int (*)(void *,gsl_multimin_function *,gsl_vector const *,double *,gsl_vector const *)) 0 ;
3563     void *argp1 = 0 ;
3564     int res1 = 0 ;
3565     int argvi = 0;
3566     dXSARGS;
3567 
3568     if ((items < 2) || (items > 2)) {
3569       SWIG_croak("Usage: gsl_multimin_fminimizer_type_set_set(self,set);");
3570     }
3571     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer_type, 0 |  0 );
3572     if (!SWIG_IsOK(res1)) {
3573       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_type_set_set" "', argument " "1"" of type '" "gsl_multimin_fminimizer_type *""'");
3574     }
3575     arg1 = (gsl_multimin_fminimizer_type *)(argp1);
3576     {
3577       int res = SWIG_ConvertFunctionPtr(ST(1), (void**)(&arg2), SWIGTYPE_p_f_p_void_p_struct_gsl_multimin_function_struct_p_q_const__gsl_vector_p_double_p_q_const__gsl_vector__int);
3578       if (!SWIG_IsOK(res)) {
3579         SWIG_exception_fail(SWIG_ArgError(res), "in method '" "gsl_multimin_fminimizer_type_set_set" "', argument " "2"" of type '" "int (*)(void *,gsl_multimin_function *,gsl_vector const *,double *,gsl_vector const *)""'");
3580       }
3581     }
3582     if (arg1) (arg1)->set = arg2;
3583     ST(argvi) = &PL_sv_undef;
3584 
3585 
3586     XSRETURN(argvi);
3587   fail:
3588 
3589 
3590     SWIG_croak_null();
3591   }
3592 }
3593 
3594 
XS(_wrap_gsl_multimin_fminimizer_type_set_get)3595 XS(_wrap_gsl_multimin_fminimizer_type_set_get) {
3596   {
3597     gsl_multimin_fminimizer_type *arg1 = (gsl_multimin_fminimizer_type *) 0 ;
3598     void *argp1 = 0 ;
3599     int res1 = 0 ;
3600     int argvi = 0;
3601     int (*result)(void *,gsl_multimin_function *,gsl_vector const *,double *,gsl_vector const *) = 0 ;
3602     dXSARGS;
3603 
3604     if ((items < 1) || (items > 1)) {
3605       SWIG_croak("Usage: gsl_multimin_fminimizer_type_set_get(self);");
3606     }
3607     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer_type, 0 |  0 );
3608     if (!SWIG_IsOK(res1)) {
3609       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_type_set_get" "', argument " "1"" of type '" "gsl_multimin_fminimizer_type *""'");
3610     }
3611     arg1 = (gsl_multimin_fminimizer_type *)(argp1);
3612     result = (int (*)(void *,gsl_multimin_function *,gsl_vector const *,double *,gsl_vector const *)) ((arg1)->set);
3613     ST(argvi) = SWIG_NewFunctionPtrObj((void *)(result), SWIGTYPE_p_f_p_void_p_struct_gsl_multimin_function_struct_p_q_const__gsl_vector_p_double_p_q_const__gsl_vector__int); argvi++ ;
3614 
3615     XSRETURN(argvi);
3616   fail:
3617 
3618     SWIG_croak_null();
3619   }
3620 }
3621 
3622 
XS(_wrap_gsl_multimin_fminimizer_type_iterate_set)3623 XS(_wrap_gsl_multimin_fminimizer_type_iterate_set) {
3624   {
3625     gsl_multimin_fminimizer_type *arg1 = (gsl_multimin_fminimizer_type *) 0 ;
3626     int (*arg2)(void *,gsl_multimin_function *,gsl_vector *,double *,double *) = (int (*)(void *,gsl_multimin_function *,gsl_vector *,double *,double *)) 0 ;
3627     void *argp1 = 0 ;
3628     int res1 = 0 ;
3629     int argvi = 0;
3630     dXSARGS;
3631 
3632     if ((items < 2) || (items > 2)) {
3633       SWIG_croak("Usage: gsl_multimin_fminimizer_type_iterate_set(self,iterate);");
3634     }
3635     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer_type, 0 |  0 );
3636     if (!SWIG_IsOK(res1)) {
3637       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_type_iterate_set" "', argument " "1"" of type '" "gsl_multimin_fminimizer_type *""'");
3638     }
3639     arg1 = (gsl_multimin_fminimizer_type *)(argp1);
3640     {
3641       int res = SWIG_ConvertFunctionPtr(ST(1), (void**)(&arg2), SWIGTYPE_p_f_p_void_p_struct_gsl_multimin_function_struct_p_gsl_vector_p_double_p_double__int);
3642       if (!SWIG_IsOK(res)) {
3643         SWIG_exception_fail(SWIG_ArgError(res), "in method '" "gsl_multimin_fminimizer_type_iterate_set" "', argument " "2"" of type '" "int (*)(void *,gsl_multimin_function *,gsl_vector *,double *,double *)""'");
3644       }
3645     }
3646     if (arg1) (arg1)->iterate = arg2;
3647     ST(argvi) = &PL_sv_undef;
3648 
3649 
3650     XSRETURN(argvi);
3651   fail:
3652 
3653 
3654     SWIG_croak_null();
3655   }
3656 }
3657 
3658 
XS(_wrap_gsl_multimin_fminimizer_type_iterate_get)3659 XS(_wrap_gsl_multimin_fminimizer_type_iterate_get) {
3660   {
3661     gsl_multimin_fminimizer_type *arg1 = (gsl_multimin_fminimizer_type *) 0 ;
3662     void *argp1 = 0 ;
3663     int res1 = 0 ;
3664     int argvi = 0;
3665     int (*result)(void *,gsl_multimin_function *,gsl_vector *,double *,double *) = 0 ;
3666     dXSARGS;
3667 
3668     if ((items < 1) || (items > 1)) {
3669       SWIG_croak("Usage: gsl_multimin_fminimizer_type_iterate_get(self);");
3670     }
3671     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer_type, 0 |  0 );
3672     if (!SWIG_IsOK(res1)) {
3673       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_type_iterate_get" "', argument " "1"" of type '" "gsl_multimin_fminimizer_type *""'");
3674     }
3675     arg1 = (gsl_multimin_fminimizer_type *)(argp1);
3676     result = (int (*)(void *,gsl_multimin_function *,gsl_vector *,double *,double *)) ((arg1)->iterate);
3677     ST(argvi) = SWIG_NewFunctionPtrObj((void *)(result), SWIGTYPE_p_f_p_void_p_struct_gsl_multimin_function_struct_p_gsl_vector_p_double_p_double__int); argvi++ ;
3678 
3679     XSRETURN(argvi);
3680   fail:
3681 
3682     SWIG_croak_null();
3683   }
3684 }
3685 
3686 
XS(_wrap_gsl_multimin_fminimizer_type_free_set)3687 XS(_wrap_gsl_multimin_fminimizer_type_free_set) {
3688   {
3689     gsl_multimin_fminimizer_type *arg1 = (gsl_multimin_fminimizer_type *) 0 ;
3690     void (*arg2)(void *) = (void (*)(void *)) 0 ;
3691     void *argp1 = 0 ;
3692     int res1 = 0 ;
3693     int argvi = 0;
3694     dXSARGS;
3695 
3696     if ((items < 2) || (items > 2)) {
3697       SWIG_croak("Usage: gsl_multimin_fminimizer_type_free_set(self,free);");
3698     }
3699     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer_type, 0 |  0 );
3700     if (!SWIG_IsOK(res1)) {
3701       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_type_free_set" "', argument " "1"" of type '" "gsl_multimin_fminimizer_type *""'");
3702     }
3703     arg1 = (gsl_multimin_fminimizer_type *)(argp1);
3704     {
3705       int res = SWIG_ConvertFunctionPtr(ST(1), (void**)(&arg2), SWIGTYPE_p_f_p_void__void);
3706       if (!SWIG_IsOK(res)) {
3707         SWIG_exception_fail(SWIG_ArgError(res), "in method '" "gsl_multimin_fminimizer_type_free_set" "', argument " "2"" of type '" "void (*)(void *)""'");
3708       }
3709     }
3710     if (arg1) (arg1)->free = arg2;
3711     ST(argvi) = &PL_sv_undef;
3712 
3713 
3714     XSRETURN(argvi);
3715   fail:
3716 
3717 
3718     SWIG_croak_null();
3719   }
3720 }
3721 
3722 
XS(_wrap_gsl_multimin_fminimizer_type_free_get)3723 XS(_wrap_gsl_multimin_fminimizer_type_free_get) {
3724   {
3725     gsl_multimin_fminimizer_type *arg1 = (gsl_multimin_fminimizer_type *) 0 ;
3726     void *argp1 = 0 ;
3727     int res1 = 0 ;
3728     int argvi = 0;
3729     void (*result)(void *) = 0 ;
3730     dXSARGS;
3731 
3732     if ((items < 1) || (items > 1)) {
3733       SWIG_croak("Usage: gsl_multimin_fminimizer_type_free_get(self);");
3734     }
3735     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer_type, 0 |  0 );
3736     if (!SWIG_IsOK(res1)) {
3737       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_type_free_get" "', argument " "1"" of type '" "gsl_multimin_fminimizer_type *""'");
3738     }
3739     arg1 = (gsl_multimin_fminimizer_type *)(argp1);
3740     result = (void (*)(void *)) ((arg1)->free);
3741     ST(argvi) = SWIG_NewFunctionPtrObj((void *)(result), SWIGTYPE_p_f_p_void__void); argvi++ ;
3742 
3743     XSRETURN(argvi);
3744   fail:
3745 
3746     SWIG_croak_null();
3747   }
3748 }
3749 
3750 
XS(_wrap_new_gsl_multimin_fminimizer_type)3751 XS(_wrap_new_gsl_multimin_fminimizer_type) {
3752   {
3753     int argvi = 0;
3754     gsl_multimin_fminimizer_type *result = 0 ;
3755     dXSARGS;
3756 
3757     if ((items < 0) || (items > 0)) {
3758       SWIG_croak("Usage: new_gsl_multimin_fminimizer_type();");
3759     }
3760     result = (gsl_multimin_fminimizer_type *)calloc(1, sizeof(gsl_multimin_fminimizer_type));
3761     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_multimin_fminimizer_type, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
3762     XSRETURN(argvi);
3763   fail:
3764     SWIG_croak_null();
3765   }
3766 }
3767 
3768 
XS(_wrap_delete_gsl_multimin_fminimizer_type)3769 XS(_wrap_delete_gsl_multimin_fminimizer_type) {
3770   {
3771     gsl_multimin_fminimizer_type *arg1 = (gsl_multimin_fminimizer_type *) 0 ;
3772     void *argp1 = 0 ;
3773     int res1 = 0 ;
3774     int argvi = 0;
3775     dXSARGS;
3776 
3777     if ((items < 1) || (items > 1)) {
3778       SWIG_croak("Usage: delete_gsl_multimin_fminimizer_type(self);");
3779     }
3780     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer_type, SWIG_POINTER_DISOWN |  0 );
3781     if (!SWIG_IsOK(res1)) {
3782       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_gsl_multimin_fminimizer_type" "', argument " "1"" of type '" "gsl_multimin_fminimizer_type *""'");
3783     }
3784     arg1 = (gsl_multimin_fminimizer_type *)(argp1);
3785     free((char *) arg1);
3786     ST(argvi) = &PL_sv_undef;
3787 
3788     XSRETURN(argvi);
3789   fail:
3790 
3791     SWIG_croak_null();
3792   }
3793 }
3794 
3795 
XS(_wrap_gsl_multimin_fminimizer_type_set)3796 XS(_wrap_gsl_multimin_fminimizer_type_set) {
3797   {
3798     gsl_multimin_fminimizer *arg1 = (gsl_multimin_fminimizer *) 0 ;
3799     gsl_multimin_fminimizer_type *arg2 = (gsl_multimin_fminimizer_type *) 0 ;
3800     void *argp1 = 0 ;
3801     int res1 = 0 ;
3802     void *argp2 = 0 ;
3803     int res2 = 0 ;
3804     int argvi = 0;
3805     dXSARGS;
3806 
3807     if ((items < 2) || (items > 2)) {
3808       SWIG_croak("Usage: gsl_multimin_fminimizer_type_set(self,type);");
3809     }
3810     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer, 0 |  0 );
3811     if (!SWIG_IsOK(res1)) {
3812       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_type_set" "', argument " "1"" of type '" "gsl_multimin_fminimizer *""'");
3813     }
3814     arg1 = (gsl_multimin_fminimizer *)(argp1);
3815     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_multimin_fminimizer_type, SWIG_POINTER_DISOWN |  0 );
3816     if (!SWIG_IsOK(res2)) {
3817       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_multimin_fminimizer_type_set" "', argument " "2"" of type '" "gsl_multimin_fminimizer_type const *""'");
3818     }
3819     arg2 = (gsl_multimin_fminimizer_type *)(argp2);
3820     if (arg1) (arg1)->type = (gsl_multimin_fminimizer_type const *)arg2;
3821     ST(argvi) = &PL_sv_undef;
3822 
3823 
3824     XSRETURN(argvi);
3825   fail:
3826 
3827 
3828     SWIG_croak_null();
3829   }
3830 }
3831 
3832 
XS(_wrap_gsl_multimin_fminimizer_type_get)3833 XS(_wrap_gsl_multimin_fminimizer_type_get) {
3834   {
3835     gsl_multimin_fminimizer *arg1 = (gsl_multimin_fminimizer *) 0 ;
3836     void *argp1 = 0 ;
3837     int res1 = 0 ;
3838     int argvi = 0;
3839     gsl_multimin_fminimizer_type *result = 0 ;
3840     dXSARGS;
3841 
3842     if ((items < 1) || (items > 1)) {
3843       SWIG_croak("Usage: gsl_multimin_fminimizer_type_get(self);");
3844     }
3845     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer, 0 |  0 );
3846     if (!SWIG_IsOK(res1)) {
3847       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_type_get" "', argument " "1"" of type '" "gsl_multimin_fminimizer *""'");
3848     }
3849     arg1 = (gsl_multimin_fminimizer *)(argp1);
3850     result = (gsl_multimin_fminimizer_type *) ((arg1)->type);
3851     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_multimin_fminimizer_type, 0 | SWIG_SHADOW); argvi++ ;
3852 
3853     XSRETURN(argvi);
3854   fail:
3855 
3856     SWIG_croak_null();
3857   }
3858 }
3859 
3860 
XS(_wrap_gsl_multimin_fminimizer_f_set)3861 XS(_wrap_gsl_multimin_fminimizer_f_set) {
3862   {
3863     gsl_multimin_fminimizer *arg1 = (gsl_multimin_fminimizer *) 0 ;
3864     gsl_multimin_function *arg2 = (gsl_multimin_function *) 0 ;
3865     void *argp1 = 0 ;
3866     int res1 = 0 ;
3867     void *argp2 = 0 ;
3868     int res2 = 0 ;
3869     int argvi = 0;
3870     dXSARGS;
3871 
3872     if ((items < 2) || (items > 2)) {
3873       SWIG_croak("Usage: gsl_multimin_fminimizer_f_set(self,f);");
3874     }
3875     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer, 0 |  0 );
3876     if (!SWIG_IsOK(res1)) {
3877       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_f_set" "', argument " "1"" of type '" "gsl_multimin_fminimizer *""'");
3878     }
3879     arg1 = (gsl_multimin_fminimizer *)(argp1);
3880     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_multimin_function_struct, SWIG_POINTER_DISOWN |  0 );
3881     if (!SWIG_IsOK(res2)) {
3882       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_multimin_fminimizer_f_set" "', argument " "2"" of type '" "gsl_multimin_function *""'");
3883     }
3884     arg2 = (gsl_multimin_function *)(argp2);
3885     if (arg1) (arg1)->f = arg2;
3886     ST(argvi) = &PL_sv_undef;
3887 
3888 
3889     XSRETURN(argvi);
3890   fail:
3891 
3892 
3893     SWIG_croak_null();
3894   }
3895 }
3896 
3897 
XS(_wrap_gsl_multimin_fminimizer_f_get)3898 XS(_wrap_gsl_multimin_fminimizer_f_get) {
3899   {
3900     gsl_multimin_fminimizer *arg1 = (gsl_multimin_fminimizer *) 0 ;
3901     void *argp1 = 0 ;
3902     int res1 = 0 ;
3903     int argvi = 0;
3904     gsl_multimin_function *result = 0 ;
3905     dXSARGS;
3906 
3907     if ((items < 1) || (items > 1)) {
3908       SWIG_croak("Usage: gsl_multimin_fminimizer_f_get(self);");
3909     }
3910     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer, 0 |  0 );
3911     if (!SWIG_IsOK(res1)) {
3912       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_f_get" "', argument " "1"" of type '" "gsl_multimin_fminimizer *""'");
3913     }
3914     arg1 = (gsl_multimin_fminimizer *)(argp1);
3915     result = (gsl_multimin_function *) ((arg1)->f);
3916     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_multimin_function_struct, 0 | SWIG_SHADOW); argvi++ ;
3917 
3918     XSRETURN(argvi);
3919   fail:
3920 
3921     SWIG_croak_null();
3922   }
3923 }
3924 
3925 
XS(_wrap_gsl_multimin_fminimizer_fval_set)3926 XS(_wrap_gsl_multimin_fminimizer_fval_set) {
3927   {
3928     gsl_multimin_fminimizer *arg1 = (gsl_multimin_fminimizer *) 0 ;
3929     double arg2 ;
3930     void *argp1 = 0 ;
3931     int res1 = 0 ;
3932     double val2 ;
3933     int ecode2 = 0 ;
3934     int argvi = 0;
3935     dXSARGS;
3936 
3937     if ((items < 2) || (items > 2)) {
3938       SWIG_croak("Usage: gsl_multimin_fminimizer_fval_set(self,fval);");
3939     }
3940     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer, 0 |  0 );
3941     if (!SWIG_IsOK(res1)) {
3942       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_fval_set" "', argument " "1"" of type '" "gsl_multimin_fminimizer *""'");
3943     }
3944     arg1 = (gsl_multimin_fminimizer *)(argp1);
3945     ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
3946     if (!SWIG_IsOK(ecode2)) {
3947       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_multimin_fminimizer_fval_set" "', argument " "2"" of type '" "double""'");
3948     }
3949     arg2 = (double)(val2);
3950     if (arg1) (arg1)->fval = arg2;
3951     ST(argvi) = &PL_sv_undef;
3952 
3953 
3954     XSRETURN(argvi);
3955   fail:
3956 
3957 
3958     SWIG_croak_null();
3959   }
3960 }
3961 
3962 
XS(_wrap_gsl_multimin_fminimizer_fval_get)3963 XS(_wrap_gsl_multimin_fminimizer_fval_get) {
3964   {
3965     gsl_multimin_fminimizer *arg1 = (gsl_multimin_fminimizer *) 0 ;
3966     void *argp1 = 0 ;
3967     int res1 = 0 ;
3968     int argvi = 0;
3969     double result;
3970     dXSARGS;
3971 
3972     if ((items < 1) || (items > 1)) {
3973       SWIG_croak("Usage: gsl_multimin_fminimizer_fval_get(self);");
3974     }
3975     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer, 0 |  0 );
3976     if (!SWIG_IsOK(res1)) {
3977       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_fval_get" "', argument " "1"" of type '" "gsl_multimin_fminimizer *""'");
3978     }
3979     arg1 = (gsl_multimin_fminimizer *)(argp1);
3980     result = (double) ((arg1)->fval);
3981     ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
3982 
3983     XSRETURN(argvi);
3984   fail:
3985 
3986     SWIG_croak_null();
3987   }
3988 }
3989 
3990 
XS(_wrap_gsl_multimin_fminimizer_x_set)3991 XS(_wrap_gsl_multimin_fminimizer_x_set) {
3992   {
3993     gsl_multimin_fminimizer *arg1 = (gsl_multimin_fminimizer *) 0 ;
3994     gsl_vector *arg2 = (gsl_vector *) 0 ;
3995     void *argp1 = 0 ;
3996     int res1 = 0 ;
3997     void *argp2 = 0 ;
3998     int res2 = 0 ;
3999     int argvi = 0;
4000     dXSARGS;
4001 
4002     if ((items < 2) || (items > 2)) {
4003       SWIG_croak("Usage: gsl_multimin_fminimizer_x_set(self,x);");
4004     }
4005     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer, 0 |  0 );
4006     if (!SWIG_IsOK(res1)) {
4007       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_x_set" "', argument " "1"" of type '" "gsl_multimin_fminimizer *""'");
4008     }
4009     arg1 = (gsl_multimin_fminimizer *)(argp1);
4010     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_vector, SWIG_POINTER_DISOWN |  0 );
4011     if (!SWIG_IsOK(res2)) {
4012       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_multimin_fminimizer_x_set" "', argument " "2"" of type '" "gsl_vector *""'");
4013     }
4014     arg2 = (gsl_vector *)(argp2);
4015     if (arg1) (arg1)->x = arg2;
4016     ST(argvi) = &PL_sv_undef;
4017 
4018 
4019     XSRETURN(argvi);
4020   fail:
4021 
4022 
4023     SWIG_croak_null();
4024   }
4025 }
4026 
4027 
XS(_wrap_gsl_multimin_fminimizer_x_get)4028 XS(_wrap_gsl_multimin_fminimizer_x_get) {
4029   {
4030     gsl_multimin_fminimizer *arg1 = (gsl_multimin_fminimizer *) 0 ;
4031     void *argp1 = 0 ;
4032     int res1 = 0 ;
4033     int argvi = 0;
4034     gsl_vector *result = 0 ;
4035     dXSARGS;
4036 
4037     if ((items < 1) || (items > 1)) {
4038       SWIG_croak("Usage: gsl_multimin_fminimizer_x_get(self);");
4039     }
4040     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer, 0 |  0 );
4041     if (!SWIG_IsOK(res1)) {
4042       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_x_get" "', argument " "1"" of type '" "gsl_multimin_fminimizer *""'");
4043     }
4044     arg1 = (gsl_multimin_fminimizer *)(argp1);
4045     result = (gsl_vector *) ((arg1)->x);
4046     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_vector, 0 | 0); argvi++ ;
4047 
4048     XSRETURN(argvi);
4049   fail:
4050 
4051     SWIG_croak_null();
4052   }
4053 }
4054 
4055 
XS(_wrap_gsl_multimin_fminimizer_size_set)4056 XS(_wrap_gsl_multimin_fminimizer_size_set) {
4057   {
4058     gsl_multimin_fminimizer *arg1 = (gsl_multimin_fminimizer *) 0 ;
4059     double arg2 ;
4060     void *argp1 = 0 ;
4061     int res1 = 0 ;
4062     double val2 ;
4063     int ecode2 = 0 ;
4064     int argvi = 0;
4065     dXSARGS;
4066 
4067     if ((items < 2) || (items > 2)) {
4068       SWIG_croak("Usage: gsl_multimin_fminimizer_size_set(self,size);");
4069     }
4070     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer, 0 |  0 );
4071     if (!SWIG_IsOK(res1)) {
4072       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_size_set" "', argument " "1"" of type '" "gsl_multimin_fminimizer *""'");
4073     }
4074     arg1 = (gsl_multimin_fminimizer *)(argp1);
4075     ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
4076     if (!SWIG_IsOK(ecode2)) {
4077       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_multimin_fminimizer_size_set" "', argument " "2"" of type '" "double""'");
4078     }
4079     arg2 = (double)(val2);
4080     if (arg1) (arg1)->size = arg2;
4081     ST(argvi) = &PL_sv_undef;
4082 
4083 
4084     XSRETURN(argvi);
4085   fail:
4086 
4087 
4088     SWIG_croak_null();
4089   }
4090 }
4091 
4092 
XS(_wrap_gsl_multimin_fminimizer_size_get)4093 XS(_wrap_gsl_multimin_fminimizer_size_get) {
4094   {
4095     gsl_multimin_fminimizer *arg1 = (gsl_multimin_fminimizer *) 0 ;
4096     void *argp1 = 0 ;
4097     int res1 = 0 ;
4098     int argvi = 0;
4099     double result;
4100     dXSARGS;
4101 
4102     if ((items < 1) || (items > 1)) {
4103       SWIG_croak("Usage: gsl_multimin_fminimizer_size_get(self);");
4104     }
4105     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer, 0 |  0 );
4106     if (!SWIG_IsOK(res1)) {
4107       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_size_get" "', argument " "1"" of type '" "gsl_multimin_fminimizer *""'");
4108     }
4109     arg1 = (gsl_multimin_fminimizer *)(argp1);
4110     result = (double) ((arg1)->size);
4111     ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
4112 
4113     XSRETURN(argvi);
4114   fail:
4115 
4116     SWIG_croak_null();
4117   }
4118 }
4119 
4120 
XS(_wrap_gsl_multimin_fminimizer_state_set)4121 XS(_wrap_gsl_multimin_fminimizer_state_set) {
4122   {
4123     gsl_multimin_fminimizer *arg1 = (gsl_multimin_fminimizer *) 0 ;
4124     void *arg2 = (void *) 0 ;
4125     void *argp1 = 0 ;
4126     int res1 = 0 ;
4127     int res2 ;
4128     int argvi = 0;
4129     dXSARGS;
4130 
4131     if ((items < 2) || (items > 2)) {
4132       SWIG_croak("Usage: gsl_multimin_fminimizer_state_set(self,state);");
4133     }
4134     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer, 0 |  0 );
4135     if (!SWIG_IsOK(res1)) {
4136       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_state_set" "', argument " "1"" of type '" "gsl_multimin_fminimizer *""'");
4137     }
4138     arg1 = (gsl_multimin_fminimizer *)(argp1);
4139     res2 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg2), 0, SWIG_POINTER_DISOWN);
4140     if (!SWIG_IsOK(res2)) {
4141       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_multimin_fminimizer_state_set" "', argument " "2"" of type '" "void *""'");
4142     }
4143     if (arg1) (arg1)->state = arg2;
4144     ST(argvi) = &PL_sv_undef;
4145 
4146 
4147     XSRETURN(argvi);
4148   fail:
4149 
4150 
4151     SWIG_croak_null();
4152   }
4153 }
4154 
4155 
XS(_wrap_gsl_multimin_fminimizer_state_get)4156 XS(_wrap_gsl_multimin_fminimizer_state_get) {
4157   {
4158     gsl_multimin_fminimizer *arg1 = (gsl_multimin_fminimizer *) 0 ;
4159     void *argp1 = 0 ;
4160     int res1 = 0 ;
4161     int argvi = 0;
4162     void *result = 0 ;
4163     dXSARGS;
4164 
4165     if ((items < 1) || (items > 1)) {
4166       SWIG_croak("Usage: gsl_multimin_fminimizer_state_get(self);");
4167     }
4168     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer, 0 |  0 );
4169     if (!SWIG_IsOK(res1)) {
4170       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_state_get" "', argument " "1"" of type '" "gsl_multimin_fminimizer *""'");
4171     }
4172     arg1 = (gsl_multimin_fminimizer *)(argp1);
4173     result = (void *) ((arg1)->state);
4174     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0); argvi++ ;
4175 
4176     XSRETURN(argvi);
4177   fail:
4178 
4179     SWIG_croak_null();
4180   }
4181 }
4182 
4183 
XS(_wrap_new_gsl_multimin_fminimizer)4184 XS(_wrap_new_gsl_multimin_fminimizer) {
4185   {
4186     int argvi = 0;
4187     gsl_multimin_fminimizer *result = 0 ;
4188     dXSARGS;
4189 
4190     if ((items < 0) || (items > 0)) {
4191       SWIG_croak("Usage: new_gsl_multimin_fminimizer();");
4192     }
4193     result = (gsl_multimin_fminimizer *)calloc(1, sizeof(gsl_multimin_fminimizer));
4194     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_multimin_fminimizer, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
4195     XSRETURN(argvi);
4196   fail:
4197     SWIG_croak_null();
4198   }
4199 }
4200 
4201 
XS(_wrap_delete_gsl_multimin_fminimizer)4202 XS(_wrap_delete_gsl_multimin_fminimizer) {
4203   {
4204     gsl_multimin_fminimizer *arg1 = (gsl_multimin_fminimizer *) 0 ;
4205     void *argp1 = 0 ;
4206     int res1 = 0 ;
4207     int argvi = 0;
4208     dXSARGS;
4209 
4210     if ((items < 1) || (items > 1)) {
4211       SWIG_croak("Usage: delete_gsl_multimin_fminimizer(self);");
4212     }
4213     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer, SWIG_POINTER_DISOWN |  0 );
4214     if (!SWIG_IsOK(res1)) {
4215       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_gsl_multimin_fminimizer" "', argument " "1"" of type '" "gsl_multimin_fminimizer *""'");
4216     }
4217     arg1 = (gsl_multimin_fminimizer *)(argp1);
4218     free((char *) arg1);
4219     ST(argvi) = &PL_sv_undef;
4220 
4221     XSRETURN(argvi);
4222   fail:
4223 
4224     SWIG_croak_null();
4225   }
4226 }
4227 
4228 
XS(_wrap_gsl_multimin_fminimizer_alloc)4229 XS(_wrap_gsl_multimin_fminimizer_alloc) {
4230   {
4231     gsl_multimin_fminimizer_type *arg1 = (gsl_multimin_fminimizer_type *) 0 ;
4232     size_t arg2 ;
4233     void *argp1 = 0 ;
4234     int res1 = 0 ;
4235     size_t val2 ;
4236     int ecode2 = 0 ;
4237     int argvi = 0;
4238     gsl_multimin_fminimizer *result = 0 ;
4239     dXSARGS;
4240 
4241     if ((items < 2) || (items > 2)) {
4242       SWIG_croak("Usage: gsl_multimin_fminimizer_alloc(T,n);");
4243     }
4244     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer_type, 0 |  0 );
4245     if (!SWIG_IsOK(res1)) {
4246       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_alloc" "', argument " "1"" of type '" "gsl_multimin_fminimizer_type const *""'");
4247     }
4248     arg1 = (gsl_multimin_fminimizer_type *)(argp1);
4249     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
4250     if (!SWIG_IsOK(ecode2)) {
4251       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_multimin_fminimizer_alloc" "', argument " "2"" of type '" "size_t""'");
4252     }
4253     arg2 = (size_t)(val2);
4254     result = (gsl_multimin_fminimizer *)gsl_multimin_fminimizer_alloc((gsl_multimin_fminimizer_type const *)arg1,arg2);
4255     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_multimin_fminimizer, 0 | SWIG_SHADOW); argvi++ ;
4256 
4257 
4258     XSRETURN(argvi);
4259   fail:
4260 
4261 
4262     SWIG_croak_null();
4263   }
4264 }
4265 
4266 
XS(_wrap_gsl_multimin_fminimizer_set)4267 XS(_wrap_gsl_multimin_fminimizer_set) {
4268   {
4269     gsl_multimin_fminimizer *arg1 = (gsl_multimin_fminimizer *) 0 ;
4270     gsl_multimin_function *arg2 = (gsl_multimin_function *) 0 ;
4271     gsl_vector *arg3 = (gsl_vector *) 0 ;
4272     gsl_vector *arg4 = (gsl_vector *) 0 ;
4273     void *argp1 = 0 ;
4274     int res1 = 0 ;
4275     void *argp2 = 0 ;
4276     int res2 = 0 ;
4277     void *argp3 = 0 ;
4278     int res3 = 0 ;
4279     void *argp4 = 0 ;
4280     int res4 = 0 ;
4281     int argvi = 0;
4282     int result;
4283     dXSARGS;
4284 
4285     if ((items < 4) || (items > 4)) {
4286       SWIG_croak("Usage: gsl_multimin_fminimizer_set(s,f,x,step_size);");
4287     }
4288     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer, 0 |  0 );
4289     if (!SWIG_IsOK(res1)) {
4290       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_set" "', argument " "1"" of type '" "gsl_multimin_fminimizer *""'");
4291     }
4292     arg1 = (gsl_multimin_fminimizer *)(argp1);
4293     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_multimin_function_struct, 0 |  0 );
4294     if (!SWIG_IsOK(res2)) {
4295       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_multimin_fminimizer_set" "', argument " "2"" of type '" "gsl_multimin_function *""'");
4296     }
4297     arg2 = (gsl_multimin_function *)(argp2);
4298     res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_gsl_vector, 0 |  0 );
4299     if (!SWIG_IsOK(res3)) {
4300       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "gsl_multimin_fminimizer_set" "', argument " "3"" of type '" "gsl_vector const *""'");
4301     }
4302     arg3 = (gsl_vector *)(argp3);
4303     res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_gsl_vector, 0 |  0 );
4304     if (!SWIG_IsOK(res4)) {
4305       SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "gsl_multimin_fminimizer_set" "', argument " "4"" of type '" "gsl_vector const *""'");
4306     }
4307     arg4 = (gsl_vector *)(argp4);
4308     result = (int)gsl_multimin_fminimizer_set(arg1,arg2,(gsl_vector const *)arg3,(gsl_vector const *)arg4);
4309     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4310 
4311 
4312 
4313 
4314     XSRETURN(argvi);
4315   fail:
4316 
4317 
4318 
4319 
4320     SWIG_croak_null();
4321   }
4322 }
4323 
4324 
XS(_wrap_gsl_multimin_fminimizer_free)4325 XS(_wrap_gsl_multimin_fminimizer_free) {
4326   {
4327     gsl_multimin_fminimizer *arg1 = (gsl_multimin_fminimizer *) 0 ;
4328     void *argp1 = 0 ;
4329     int res1 = 0 ;
4330     int argvi = 0;
4331     dXSARGS;
4332 
4333     if ((items < 1) || (items > 1)) {
4334       SWIG_croak("Usage: gsl_multimin_fminimizer_free(s);");
4335     }
4336     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer, 0 |  0 );
4337     if (!SWIG_IsOK(res1)) {
4338       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_free" "', argument " "1"" of type '" "gsl_multimin_fminimizer *""'");
4339     }
4340     arg1 = (gsl_multimin_fminimizer *)(argp1);
4341     gsl_multimin_fminimizer_free(arg1);
4342     ST(argvi) = &PL_sv_undef;
4343 
4344     XSRETURN(argvi);
4345   fail:
4346 
4347     SWIG_croak_null();
4348   }
4349 }
4350 
4351 
XS(_wrap_gsl_multimin_fminimizer_name)4352 XS(_wrap_gsl_multimin_fminimizer_name) {
4353   {
4354     gsl_multimin_fminimizer *arg1 = (gsl_multimin_fminimizer *) 0 ;
4355     void *argp1 = 0 ;
4356     int res1 = 0 ;
4357     int argvi = 0;
4358     char *result = 0 ;
4359     dXSARGS;
4360 
4361     if ((items < 1) || (items > 1)) {
4362       SWIG_croak("Usage: gsl_multimin_fminimizer_name(s);");
4363     }
4364     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer, 0 |  0 );
4365     if (!SWIG_IsOK(res1)) {
4366       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_name" "', argument " "1"" of type '" "gsl_multimin_fminimizer const *""'");
4367     }
4368     arg1 = (gsl_multimin_fminimizer *)(argp1);
4369     result = (char *)gsl_multimin_fminimizer_name((gsl_multimin_fminimizer const *)arg1);
4370     ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
4371 
4372     XSRETURN(argvi);
4373   fail:
4374 
4375     SWIG_croak_null();
4376   }
4377 }
4378 
4379 
XS(_wrap_gsl_multimin_fminimizer_iterate)4380 XS(_wrap_gsl_multimin_fminimizer_iterate) {
4381   {
4382     gsl_multimin_fminimizer *arg1 = (gsl_multimin_fminimizer *) 0 ;
4383     void *argp1 = 0 ;
4384     int res1 = 0 ;
4385     int argvi = 0;
4386     int result;
4387     dXSARGS;
4388 
4389     if ((items < 1) || (items > 1)) {
4390       SWIG_croak("Usage: gsl_multimin_fminimizer_iterate(s);");
4391     }
4392     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer, 0 |  0 );
4393     if (!SWIG_IsOK(res1)) {
4394       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_iterate" "', argument " "1"" of type '" "gsl_multimin_fminimizer *""'");
4395     }
4396     arg1 = (gsl_multimin_fminimizer *)(argp1);
4397     result = (int)gsl_multimin_fminimizer_iterate(arg1);
4398     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4399 
4400     XSRETURN(argvi);
4401   fail:
4402 
4403     SWIG_croak_null();
4404   }
4405 }
4406 
4407 
XS(_wrap_gsl_multimin_fminimizer_x)4408 XS(_wrap_gsl_multimin_fminimizer_x) {
4409   {
4410     gsl_multimin_fminimizer *arg1 = (gsl_multimin_fminimizer *) 0 ;
4411     void *argp1 = 0 ;
4412     int res1 = 0 ;
4413     int argvi = 0;
4414     gsl_vector *result = 0 ;
4415     dXSARGS;
4416 
4417     if ((items < 1) || (items > 1)) {
4418       SWIG_croak("Usage: gsl_multimin_fminimizer_x(s);");
4419     }
4420     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer, 0 |  0 );
4421     if (!SWIG_IsOK(res1)) {
4422       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_x" "', argument " "1"" of type '" "gsl_multimin_fminimizer const *""'");
4423     }
4424     arg1 = (gsl_multimin_fminimizer *)(argp1);
4425     result = (gsl_vector *)gsl_multimin_fminimizer_x((gsl_multimin_fminimizer const *)arg1);
4426     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_vector, 0 | 0); argvi++ ;
4427 
4428     XSRETURN(argvi);
4429   fail:
4430 
4431     SWIG_croak_null();
4432   }
4433 }
4434 
4435 
XS(_wrap_gsl_multimin_fminimizer_minimum)4436 XS(_wrap_gsl_multimin_fminimizer_minimum) {
4437   {
4438     gsl_multimin_fminimizer *arg1 = (gsl_multimin_fminimizer *) 0 ;
4439     void *argp1 = 0 ;
4440     int res1 = 0 ;
4441     int argvi = 0;
4442     double result;
4443     dXSARGS;
4444 
4445     if ((items < 1) || (items > 1)) {
4446       SWIG_croak("Usage: gsl_multimin_fminimizer_minimum(s);");
4447     }
4448     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer, 0 |  0 );
4449     if (!SWIG_IsOK(res1)) {
4450       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_minimum" "', argument " "1"" of type '" "gsl_multimin_fminimizer const *""'");
4451     }
4452     arg1 = (gsl_multimin_fminimizer *)(argp1);
4453     result = (double)gsl_multimin_fminimizer_minimum((gsl_multimin_fminimizer const *)arg1);
4454     ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
4455 
4456     XSRETURN(argvi);
4457   fail:
4458 
4459     SWIG_croak_null();
4460   }
4461 }
4462 
4463 
XS(_wrap_gsl_multimin_fminimizer_size)4464 XS(_wrap_gsl_multimin_fminimizer_size) {
4465   {
4466     gsl_multimin_fminimizer *arg1 = (gsl_multimin_fminimizer *) 0 ;
4467     void *argp1 = 0 ;
4468     int res1 = 0 ;
4469     int argvi = 0;
4470     double result;
4471     dXSARGS;
4472 
4473     if ((items < 1) || (items > 1)) {
4474       SWIG_croak("Usage: gsl_multimin_fminimizer_size(s);");
4475     }
4476     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fminimizer, 0 |  0 );
4477     if (!SWIG_IsOK(res1)) {
4478       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fminimizer_size" "', argument " "1"" of type '" "gsl_multimin_fminimizer const *""'");
4479     }
4480     arg1 = (gsl_multimin_fminimizer *)(argp1);
4481     result = (double)gsl_multimin_fminimizer_size((gsl_multimin_fminimizer const *)arg1);
4482     ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
4483 
4484     XSRETURN(argvi);
4485   fail:
4486 
4487     SWIG_croak_null();
4488   }
4489 }
4490 
4491 
XS(_wrap_gsl_multimin_test_gradient)4492 XS(_wrap_gsl_multimin_test_gradient) {
4493   {
4494     gsl_vector *arg1 = (gsl_vector *) 0 ;
4495     double arg2 ;
4496     void *argp1 = 0 ;
4497     int res1 = 0 ;
4498     double val2 ;
4499     int ecode2 = 0 ;
4500     int argvi = 0;
4501     int result;
4502     dXSARGS;
4503 
4504     if ((items < 2) || (items > 2)) {
4505       SWIG_croak("Usage: gsl_multimin_test_gradient(g,epsabs);");
4506     }
4507     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_vector, 0 |  0 );
4508     if (!SWIG_IsOK(res1)) {
4509       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_test_gradient" "', argument " "1"" of type '" "gsl_vector const *""'");
4510     }
4511     arg1 = (gsl_vector *)(argp1);
4512     ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
4513     if (!SWIG_IsOK(ecode2)) {
4514       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_multimin_test_gradient" "', argument " "2"" of type '" "double""'");
4515     }
4516     arg2 = (double)(val2);
4517     result = (int)gsl_multimin_test_gradient((gsl_vector const *)arg1,arg2);
4518     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4519 
4520 
4521     XSRETURN(argvi);
4522   fail:
4523 
4524 
4525     SWIG_croak_null();
4526   }
4527 }
4528 
4529 
XS(_wrap_gsl_multimin_test_size)4530 XS(_wrap_gsl_multimin_test_size) {
4531   {
4532     double arg1 ;
4533     double arg2 ;
4534     double val1 ;
4535     int ecode1 = 0 ;
4536     double val2 ;
4537     int ecode2 = 0 ;
4538     int argvi = 0;
4539     int result;
4540     dXSARGS;
4541 
4542     if ((items < 2) || (items > 2)) {
4543       SWIG_croak("Usage: gsl_multimin_test_size(size,epsabs);");
4544     }
4545     ecode1 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
4546     if (!SWIG_IsOK(ecode1)) {
4547       SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "gsl_multimin_test_size" "', argument " "1"" of type '" "double""'");
4548     }
4549     arg1 = (double)(val1);
4550     ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
4551     if (!SWIG_IsOK(ecode2)) {
4552       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_multimin_test_size" "', argument " "2"" of type '" "double""'");
4553     }
4554     arg2 = (double)(val2);
4555     result = (int)gsl_multimin_test_size(arg1,arg2);
4556     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4557 
4558 
4559     XSRETURN(argvi);
4560   fail:
4561 
4562 
4563     SWIG_croak_null();
4564   }
4565 }
4566 
4567 
XS(_wrap_gsl_multimin_fdfminimizer_type_name_set)4568 XS(_wrap_gsl_multimin_fdfminimizer_type_name_set) {
4569   {
4570     gsl_multimin_fdfminimizer_type *arg1 = (gsl_multimin_fdfminimizer_type *) 0 ;
4571     char *arg2 = (char *) 0 ;
4572     void *argp1 = 0 ;
4573     int res1 = 0 ;
4574     int res2 ;
4575     char *buf2 = 0 ;
4576     int alloc2 = 0 ;
4577     int argvi = 0;
4578     dXSARGS;
4579 
4580     if ((items < 2) || (items > 2)) {
4581       SWIG_croak("Usage: gsl_multimin_fdfminimizer_type_name_set(self,name);");
4582     }
4583     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer_type, 0 |  0 );
4584     if (!SWIG_IsOK(res1)) {
4585       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_type_name_set" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer_type *""'");
4586     }
4587     arg1 = (gsl_multimin_fdfminimizer_type *)(argp1);
4588     res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
4589     if (!SWIG_IsOK(res2)) {
4590       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_multimin_fdfminimizer_type_name_set" "', argument " "2"" of type '" "char const *""'");
4591     }
4592     arg2 = (char *)(buf2);
4593     if (arg2) {
4594       size_t size = strlen((const char *)((const char *)(arg2))) + 1;
4595       arg1->name = (char const *)(char *)memcpy(malloc((size)*sizeof(char)), arg2, sizeof(char)*(size));
4596     } else {
4597       arg1->name = 0;
4598     }
4599     ST(argvi) = &PL_sv_undef;
4600 
4601     if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
4602     XSRETURN(argvi);
4603   fail:
4604 
4605     if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
4606     SWIG_croak_null();
4607   }
4608 }
4609 
4610 
XS(_wrap_gsl_multimin_fdfminimizer_type_name_get)4611 XS(_wrap_gsl_multimin_fdfminimizer_type_name_get) {
4612   {
4613     gsl_multimin_fdfminimizer_type *arg1 = (gsl_multimin_fdfminimizer_type *) 0 ;
4614     void *argp1 = 0 ;
4615     int res1 = 0 ;
4616     int argvi = 0;
4617     char *result = 0 ;
4618     dXSARGS;
4619 
4620     if ((items < 1) || (items > 1)) {
4621       SWIG_croak("Usage: gsl_multimin_fdfminimizer_type_name_get(self);");
4622     }
4623     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer_type, 0 |  0 );
4624     if (!SWIG_IsOK(res1)) {
4625       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_type_name_get" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer_type *""'");
4626     }
4627     arg1 = (gsl_multimin_fdfminimizer_type *)(argp1);
4628     result = (char *) ((arg1)->name);
4629     ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
4630 
4631     XSRETURN(argvi);
4632   fail:
4633 
4634     SWIG_croak_null();
4635   }
4636 }
4637 
4638 
XS(_wrap_gsl_multimin_fdfminimizer_type_size_set)4639 XS(_wrap_gsl_multimin_fdfminimizer_type_size_set) {
4640   {
4641     gsl_multimin_fdfminimizer_type *arg1 = (gsl_multimin_fdfminimizer_type *) 0 ;
4642     size_t arg2 ;
4643     void *argp1 = 0 ;
4644     int res1 = 0 ;
4645     size_t val2 ;
4646     int ecode2 = 0 ;
4647     int argvi = 0;
4648     dXSARGS;
4649 
4650     if ((items < 2) || (items > 2)) {
4651       SWIG_croak("Usage: gsl_multimin_fdfminimizer_type_size_set(self,size);");
4652     }
4653     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer_type, 0 |  0 );
4654     if (!SWIG_IsOK(res1)) {
4655       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_type_size_set" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer_type *""'");
4656     }
4657     arg1 = (gsl_multimin_fdfminimizer_type *)(argp1);
4658     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
4659     if (!SWIG_IsOK(ecode2)) {
4660       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_multimin_fdfminimizer_type_size_set" "', argument " "2"" of type '" "size_t""'");
4661     }
4662     arg2 = (size_t)(val2);
4663     if (arg1) (arg1)->size = arg2;
4664     ST(argvi) = &PL_sv_undef;
4665 
4666 
4667     XSRETURN(argvi);
4668   fail:
4669 
4670 
4671     SWIG_croak_null();
4672   }
4673 }
4674 
4675 
XS(_wrap_gsl_multimin_fdfminimizer_type_size_get)4676 XS(_wrap_gsl_multimin_fdfminimizer_type_size_get) {
4677   {
4678     gsl_multimin_fdfminimizer_type *arg1 = (gsl_multimin_fdfminimizer_type *) 0 ;
4679     void *argp1 = 0 ;
4680     int res1 = 0 ;
4681     int argvi = 0;
4682     size_t result;
4683     dXSARGS;
4684 
4685     if ((items < 1) || (items > 1)) {
4686       SWIG_croak("Usage: gsl_multimin_fdfminimizer_type_size_get(self);");
4687     }
4688     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer_type, 0 |  0 );
4689     if (!SWIG_IsOK(res1)) {
4690       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_type_size_get" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer_type *""'");
4691     }
4692     arg1 = (gsl_multimin_fdfminimizer_type *)(argp1);
4693     result =  ((arg1)->size);
4694     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1((size_t)(result)); argvi++ ;
4695 
4696     XSRETURN(argvi);
4697   fail:
4698 
4699     SWIG_croak_null();
4700   }
4701 }
4702 
4703 
XS(_wrap_gsl_multimin_fdfminimizer_type_alloc_set)4704 XS(_wrap_gsl_multimin_fdfminimizer_type_alloc_set) {
4705   {
4706     gsl_multimin_fdfminimizer_type *arg1 = (gsl_multimin_fdfminimizer_type *) 0 ;
4707     int (*arg2)(void *,size_t) = (int (*)(void *,size_t)) 0 ;
4708     void *argp1 = 0 ;
4709     int res1 = 0 ;
4710     int argvi = 0;
4711     dXSARGS;
4712 
4713     if ((items < 2) || (items > 2)) {
4714       SWIG_croak("Usage: gsl_multimin_fdfminimizer_type_alloc_set(self,alloc);");
4715     }
4716     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer_type, 0 |  0 );
4717     if (!SWIG_IsOK(res1)) {
4718       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_type_alloc_set" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer_type *""'");
4719     }
4720     arg1 = (gsl_multimin_fdfminimizer_type *)(argp1);
4721     {
4722       int res = SWIG_ConvertFunctionPtr(ST(1), (void**)(&arg2), SWIGTYPE_p_f_p_void_size_t__int);
4723       if (!SWIG_IsOK(res)) {
4724         SWIG_exception_fail(SWIG_ArgError(res), "in method '" "gsl_multimin_fdfminimizer_type_alloc_set" "', argument " "2"" of type '" "int (*)(void *,size_t)""'");
4725       }
4726     }
4727     if (arg1) (arg1)->alloc = arg2;
4728     ST(argvi) = &PL_sv_undef;
4729 
4730 
4731     XSRETURN(argvi);
4732   fail:
4733 
4734 
4735     SWIG_croak_null();
4736   }
4737 }
4738 
4739 
XS(_wrap_gsl_multimin_fdfminimizer_type_alloc_get)4740 XS(_wrap_gsl_multimin_fdfminimizer_type_alloc_get) {
4741   {
4742     gsl_multimin_fdfminimizer_type *arg1 = (gsl_multimin_fdfminimizer_type *) 0 ;
4743     void *argp1 = 0 ;
4744     int res1 = 0 ;
4745     int argvi = 0;
4746     int (*result)(void *,size_t) = 0 ;
4747     dXSARGS;
4748 
4749     if ((items < 1) || (items > 1)) {
4750       SWIG_croak("Usage: gsl_multimin_fdfminimizer_type_alloc_get(self);");
4751     }
4752     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer_type, 0 |  0 );
4753     if (!SWIG_IsOK(res1)) {
4754       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_type_alloc_get" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer_type *""'");
4755     }
4756     arg1 = (gsl_multimin_fdfminimizer_type *)(argp1);
4757     result = (int (*)(void *,size_t)) ((arg1)->alloc);
4758     ST(argvi) = SWIG_NewFunctionPtrObj((void *)(result), SWIGTYPE_p_f_p_void_size_t__int); argvi++ ;
4759 
4760     XSRETURN(argvi);
4761   fail:
4762 
4763     SWIG_croak_null();
4764   }
4765 }
4766 
4767 
XS(_wrap_gsl_multimin_fdfminimizer_type_set_set)4768 XS(_wrap_gsl_multimin_fdfminimizer_type_set_set) {
4769   {
4770     gsl_multimin_fdfminimizer_type *arg1 = (gsl_multimin_fdfminimizer_type *) 0 ;
4771     int (*arg2)(void *,gsl_multimin_function_fdf *,gsl_vector const *,double *,gsl_vector *,double,double) = (int (*)(void *,gsl_multimin_function_fdf *,gsl_vector const *,double *,gsl_vector *,double,double)) 0 ;
4772     void *argp1 = 0 ;
4773     int res1 = 0 ;
4774     int argvi = 0;
4775     dXSARGS;
4776 
4777     if ((items < 2) || (items > 2)) {
4778       SWIG_croak("Usage: gsl_multimin_fdfminimizer_type_set_set(self,set);");
4779     }
4780     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer_type, 0 |  0 );
4781     if (!SWIG_IsOK(res1)) {
4782       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_type_set_set" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer_type *""'");
4783     }
4784     arg1 = (gsl_multimin_fdfminimizer_type *)(argp1);
4785     {
4786       int res = SWIG_ConvertFunctionPtr(ST(1), (void**)(&arg2), SWIGTYPE_p_f_p_void_p_struct_gsl_multimin_function_fdf_struct_p_q_const__gsl_vector_p_double_p_gsl_vector_double_double__int);
4787       if (!SWIG_IsOK(res)) {
4788         SWIG_exception_fail(SWIG_ArgError(res), "in method '" "gsl_multimin_fdfminimizer_type_set_set" "', argument " "2"" of type '" "int (*)(void *,gsl_multimin_function_fdf *,gsl_vector const *,double *,gsl_vector *,double,double)""'");
4789       }
4790     }
4791     if (arg1) (arg1)->set = arg2;
4792     ST(argvi) = &PL_sv_undef;
4793 
4794 
4795     XSRETURN(argvi);
4796   fail:
4797 
4798 
4799     SWIG_croak_null();
4800   }
4801 }
4802 
4803 
XS(_wrap_gsl_multimin_fdfminimizer_type_set_get)4804 XS(_wrap_gsl_multimin_fdfminimizer_type_set_get) {
4805   {
4806     gsl_multimin_fdfminimizer_type *arg1 = (gsl_multimin_fdfminimizer_type *) 0 ;
4807     void *argp1 = 0 ;
4808     int res1 = 0 ;
4809     int argvi = 0;
4810     int (*result)(void *,gsl_multimin_function_fdf *,gsl_vector const *,double *,gsl_vector *,double,double) = 0 ;
4811     dXSARGS;
4812 
4813     if ((items < 1) || (items > 1)) {
4814       SWIG_croak("Usage: gsl_multimin_fdfminimizer_type_set_get(self);");
4815     }
4816     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer_type, 0 |  0 );
4817     if (!SWIG_IsOK(res1)) {
4818       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_type_set_get" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer_type *""'");
4819     }
4820     arg1 = (gsl_multimin_fdfminimizer_type *)(argp1);
4821     result = (int (*)(void *,gsl_multimin_function_fdf *,gsl_vector const *,double *,gsl_vector *,double,double)) ((arg1)->set);
4822     ST(argvi) = SWIG_NewFunctionPtrObj((void *)(result), SWIGTYPE_p_f_p_void_p_struct_gsl_multimin_function_fdf_struct_p_q_const__gsl_vector_p_double_p_gsl_vector_double_double__int); argvi++ ;
4823 
4824     XSRETURN(argvi);
4825   fail:
4826 
4827     SWIG_croak_null();
4828   }
4829 }
4830 
4831 
XS(_wrap_gsl_multimin_fdfminimizer_type_iterate_set)4832 XS(_wrap_gsl_multimin_fdfminimizer_type_iterate_set) {
4833   {
4834     gsl_multimin_fdfminimizer_type *arg1 = (gsl_multimin_fdfminimizer_type *) 0 ;
4835     int (*arg2)(void *,gsl_multimin_function_fdf *,gsl_vector *,double *,gsl_vector *,gsl_vector *) = (int (*)(void *,gsl_multimin_function_fdf *,gsl_vector *,double *,gsl_vector *,gsl_vector *)) 0 ;
4836     void *argp1 = 0 ;
4837     int res1 = 0 ;
4838     int argvi = 0;
4839     dXSARGS;
4840 
4841     if ((items < 2) || (items > 2)) {
4842       SWIG_croak("Usage: gsl_multimin_fdfminimizer_type_iterate_set(self,iterate);");
4843     }
4844     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer_type, 0 |  0 );
4845     if (!SWIG_IsOK(res1)) {
4846       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_type_iterate_set" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer_type *""'");
4847     }
4848     arg1 = (gsl_multimin_fdfminimizer_type *)(argp1);
4849     {
4850       int res = SWIG_ConvertFunctionPtr(ST(1), (void**)(&arg2), SWIGTYPE_p_f_p_void_p_struct_gsl_multimin_function_fdf_struct_p_gsl_vector_p_double_p_gsl_vector_p_gsl_vector__int);
4851       if (!SWIG_IsOK(res)) {
4852         SWIG_exception_fail(SWIG_ArgError(res), "in method '" "gsl_multimin_fdfminimizer_type_iterate_set" "', argument " "2"" of type '" "int (*)(void *,gsl_multimin_function_fdf *,gsl_vector *,double *,gsl_vector *,gsl_vector *)""'");
4853       }
4854     }
4855     if (arg1) (arg1)->iterate = arg2;
4856     ST(argvi) = &PL_sv_undef;
4857 
4858 
4859     XSRETURN(argvi);
4860   fail:
4861 
4862 
4863     SWIG_croak_null();
4864   }
4865 }
4866 
4867 
XS(_wrap_gsl_multimin_fdfminimizer_type_iterate_get)4868 XS(_wrap_gsl_multimin_fdfminimizer_type_iterate_get) {
4869   {
4870     gsl_multimin_fdfminimizer_type *arg1 = (gsl_multimin_fdfminimizer_type *) 0 ;
4871     void *argp1 = 0 ;
4872     int res1 = 0 ;
4873     int argvi = 0;
4874     int (*result)(void *,gsl_multimin_function_fdf *,gsl_vector *,double *,gsl_vector *,gsl_vector *) = 0 ;
4875     dXSARGS;
4876 
4877     if ((items < 1) || (items > 1)) {
4878       SWIG_croak("Usage: gsl_multimin_fdfminimizer_type_iterate_get(self);");
4879     }
4880     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer_type, 0 |  0 );
4881     if (!SWIG_IsOK(res1)) {
4882       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_type_iterate_get" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer_type *""'");
4883     }
4884     arg1 = (gsl_multimin_fdfminimizer_type *)(argp1);
4885     result = (int (*)(void *,gsl_multimin_function_fdf *,gsl_vector *,double *,gsl_vector *,gsl_vector *)) ((arg1)->iterate);
4886     ST(argvi) = SWIG_NewFunctionPtrObj((void *)(result), SWIGTYPE_p_f_p_void_p_struct_gsl_multimin_function_fdf_struct_p_gsl_vector_p_double_p_gsl_vector_p_gsl_vector__int); argvi++ ;
4887 
4888     XSRETURN(argvi);
4889   fail:
4890 
4891     SWIG_croak_null();
4892   }
4893 }
4894 
4895 
XS(_wrap_gsl_multimin_fdfminimizer_type_restart_set)4896 XS(_wrap_gsl_multimin_fdfminimizer_type_restart_set) {
4897   {
4898     gsl_multimin_fdfminimizer_type *arg1 = (gsl_multimin_fdfminimizer_type *) 0 ;
4899     int (*arg2)(void *) = (int (*)(void *)) 0 ;
4900     void *argp1 = 0 ;
4901     int res1 = 0 ;
4902     int argvi = 0;
4903     dXSARGS;
4904 
4905     if ((items < 2) || (items > 2)) {
4906       SWIG_croak("Usage: gsl_multimin_fdfminimizer_type_restart_set(self,restart);");
4907     }
4908     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer_type, 0 |  0 );
4909     if (!SWIG_IsOK(res1)) {
4910       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_type_restart_set" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer_type *""'");
4911     }
4912     arg1 = (gsl_multimin_fdfminimizer_type *)(argp1);
4913     {
4914       int res = SWIG_ConvertFunctionPtr(ST(1), (void**)(&arg2), SWIGTYPE_p_f_p_void__int);
4915       if (!SWIG_IsOK(res)) {
4916         SWIG_exception_fail(SWIG_ArgError(res), "in method '" "gsl_multimin_fdfminimizer_type_restart_set" "', argument " "2"" of type '" "int (*)(void *)""'");
4917       }
4918     }
4919     if (arg1) (arg1)->restart = arg2;
4920     ST(argvi) = &PL_sv_undef;
4921 
4922 
4923     XSRETURN(argvi);
4924   fail:
4925 
4926 
4927     SWIG_croak_null();
4928   }
4929 }
4930 
4931 
XS(_wrap_gsl_multimin_fdfminimizer_type_restart_get)4932 XS(_wrap_gsl_multimin_fdfminimizer_type_restart_get) {
4933   {
4934     gsl_multimin_fdfminimizer_type *arg1 = (gsl_multimin_fdfminimizer_type *) 0 ;
4935     void *argp1 = 0 ;
4936     int res1 = 0 ;
4937     int argvi = 0;
4938     int (*result)(void *) = 0 ;
4939     dXSARGS;
4940 
4941     if ((items < 1) || (items > 1)) {
4942       SWIG_croak("Usage: gsl_multimin_fdfminimizer_type_restart_get(self);");
4943     }
4944     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer_type, 0 |  0 );
4945     if (!SWIG_IsOK(res1)) {
4946       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_type_restart_get" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer_type *""'");
4947     }
4948     arg1 = (gsl_multimin_fdfminimizer_type *)(argp1);
4949     result = (int (*)(void *)) ((arg1)->restart);
4950     ST(argvi) = SWIG_NewFunctionPtrObj((void *)(result), SWIGTYPE_p_f_p_void__int); argvi++ ;
4951 
4952     XSRETURN(argvi);
4953   fail:
4954 
4955     SWIG_croak_null();
4956   }
4957 }
4958 
4959 
XS(_wrap_gsl_multimin_fdfminimizer_type_free_set)4960 XS(_wrap_gsl_multimin_fdfminimizer_type_free_set) {
4961   {
4962     gsl_multimin_fdfminimizer_type *arg1 = (gsl_multimin_fdfminimizer_type *) 0 ;
4963     void (*arg2)(void *) = (void (*)(void *)) 0 ;
4964     void *argp1 = 0 ;
4965     int res1 = 0 ;
4966     int argvi = 0;
4967     dXSARGS;
4968 
4969     if ((items < 2) || (items > 2)) {
4970       SWIG_croak("Usage: gsl_multimin_fdfminimizer_type_free_set(self,free);");
4971     }
4972     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer_type, 0 |  0 );
4973     if (!SWIG_IsOK(res1)) {
4974       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_type_free_set" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer_type *""'");
4975     }
4976     arg1 = (gsl_multimin_fdfminimizer_type *)(argp1);
4977     {
4978       int res = SWIG_ConvertFunctionPtr(ST(1), (void**)(&arg2), SWIGTYPE_p_f_p_void__void);
4979       if (!SWIG_IsOK(res)) {
4980         SWIG_exception_fail(SWIG_ArgError(res), "in method '" "gsl_multimin_fdfminimizer_type_free_set" "', argument " "2"" of type '" "void (*)(void *)""'");
4981       }
4982     }
4983     if (arg1) (arg1)->free = arg2;
4984     ST(argvi) = &PL_sv_undef;
4985 
4986 
4987     XSRETURN(argvi);
4988   fail:
4989 
4990 
4991     SWIG_croak_null();
4992   }
4993 }
4994 
4995 
XS(_wrap_gsl_multimin_fdfminimizer_type_free_get)4996 XS(_wrap_gsl_multimin_fdfminimizer_type_free_get) {
4997   {
4998     gsl_multimin_fdfminimizer_type *arg1 = (gsl_multimin_fdfminimizer_type *) 0 ;
4999     void *argp1 = 0 ;
5000     int res1 = 0 ;
5001     int argvi = 0;
5002     void (*result)(void *) = 0 ;
5003     dXSARGS;
5004 
5005     if ((items < 1) || (items > 1)) {
5006       SWIG_croak("Usage: gsl_multimin_fdfminimizer_type_free_get(self);");
5007     }
5008     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer_type, 0 |  0 );
5009     if (!SWIG_IsOK(res1)) {
5010       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_type_free_get" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer_type *""'");
5011     }
5012     arg1 = (gsl_multimin_fdfminimizer_type *)(argp1);
5013     result = (void (*)(void *)) ((arg1)->free);
5014     ST(argvi) = SWIG_NewFunctionPtrObj((void *)(result), SWIGTYPE_p_f_p_void__void); argvi++ ;
5015 
5016     XSRETURN(argvi);
5017   fail:
5018 
5019     SWIG_croak_null();
5020   }
5021 }
5022 
5023 
XS(_wrap_new_gsl_multimin_fdfminimizer_type)5024 XS(_wrap_new_gsl_multimin_fdfminimizer_type) {
5025   {
5026     int argvi = 0;
5027     gsl_multimin_fdfminimizer_type *result = 0 ;
5028     dXSARGS;
5029 
5030     if ((items < 0) || (items > 0)) {
5031       SWIG_croak("Usage: new_gsl_multimin_fdfminimizer_type();");
5032     }
5033     result = (gsl_multimin_fdfminimizer_type *)calloc(1, sizeof(gsl_multimin_fdfminimizer_type));
5034     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_multimin_fdfminimizer_type, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
5035     XSRETURN(argvi);
5036   fail:
5037     SWIG_croak_null();
5038   }
5039 }
5040 
5041 
XS(_wrap_delete_gsl_multimin_fdfminimizer_type)5042 XS(_wrap_delete_gsl_multimin_fdfminimizer_type) {
5043   {
5044     gsl_multimin_fdfminimizer_type *arg1 = (gsl_multimin_fdfminimizer_type *) 0 ;
5045     void *argp1 = 0 ;
5046     int res1 = 0 ;
5047     int argvi = 0;
5048     dXSARGS;
5049 
5050     if ((items < 1) || (items > 1)) {
5051       SWIG_croak("Usage: delete_gsl_multimin_fdfminimizer_type(self);");
5052     }
5053     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer_type, SWIG_POINTER_DISOWN |  0 );
5054     if (!SWIG_IsOK(res1)) {
5055       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_gsl_multimin_fdfminimizer_type" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer_type *""'");
5056     }
5057     arg1 = (gsl_multimin_fdfminimizer_type *)(argp1);
5058     free((char *) arg1);
5059     ST(argvi) = &PL_sv_undef;
5060 
5061     XSRETURN(argvi);
5062   fail:
5063 
5064     SWIG_croak_null();
5065   }
5066 }
5067 
5068 
XS(_wrap_gsl_multimin_fdfminimizer_type_set)5069 XS(_wrap_gsl_multimin_fdfminimizer_type_set) {
5070   {
5071     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5072     gsl_multimin_fdfminimizer_type *arg2 = (gsl_multimin_fdfminimizer_type *) 0 ;
5073     void *argp1 = 0 ;
5074     int res1 = 0 ;
5075     void *argp2 = 0 ;
5076     int res2 = 0 ;
5077     int argvi = 0;
5078     dXSARGS;
5079 
5080     if ((items < 2) || (items > 2)) {
5081       SWIG_croak("Usage: gsl_multimin_fdfminimizer_type_set(self,type);");
5082     }
5083     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5084     if (!SWIG_IsOK(res1)) {
5085       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_type_set" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer *""'");
5086     }
5087     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5088     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_multimin_fdfminimizer_type, SWIG_POINTER_DISOWN |  0 );
5089     if (!SWIG_IsOK(res2)) {
5090       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_multimin_fdfminimizer_type_set" "', argument " "2"" of type '" "gsl_multimin_fdfminimizer_type const *""'");
5091     }
5092     arg2 = (gsl_multimin_fdfminimizer_type *)(argp2);
5093     if (arg1) (arg1)->type = (gsl_multimin_fdfminimizer_type const *)arg2;
5094     ST(argvi) = &PL_sv_undef;
5095 
5096 
5097     XSRETURN(argvi);
5098   fail:
5099 
5100 
5101     SWIG_croak_null();
5102   }
5103 }
5104 
5105 
XS(_wrap_gsl_multimin_fdfminimizer_type_get)5106 XS(_wrap_gsl_multimin_fdfminimizer_type_get) {
5107   {
5108     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5109     void *argp1 = 0 ;
5110     int res1 = 0 ;
5111     int argvi = 0;
5112     gsl_multimin_fdfminimizer_type *result = 0 ;
5113     dXSARGS;
5114 
5115     if ((items < 1) || (items > 1)) {
5116       SWIG_croak("Usage: gsl_multimin_fdfminimizer_type_get(self);");
5117     }
5118     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5119     if (!SWIG_IsOK(res1)) {
5120       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_type_get" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer *""'");
5121     }
5122     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5123     result = (gsl_multimin_fdfminimizer_type *) ((arg1)->type);
5124     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_multimin_fdfminimizer_type, 0 | SWIG_SHADOW); argvi++ ;
5125 
5126     XSRETURN(argvi);
5127   fail:
5128 
5129     SWIG_croak_null();
5130   }
5131 }
5132 
5133 
XS(_wrap_gsl_multimin_fdfminimizer_fdf_set)5134 XS(_wrap_gsl_multimin_fdfminimizer_fdf_set) {
5135   {
5136     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5137     gsl_multimin_function_fdf *arg2 = (gsl_multimin_function_fdf *) 0 ;
5138     void *argp1 = 0 ;
5139     int res1 = 0 ;
5140     void *argp2 = 0 ;
5141     int res2 = 0 ;
5142     int argvi = 0;
5143     dXSARGS;
5144 
5145     if ((items < 2) || (items > 2)) {
5146       SWIG_croak("Usage: gsl_multimin_fdfminimizer_fdf_set(self,fdf);");
5147     }
5148     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5149     if (!SWIG_IsOK(res1)) {
5150       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_fdf_set" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer *""'");
5151     }
5152     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5153     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_multimin_function_fdf_struct, SWIG_POINTER_DISOWN |  0 );
5154     if (!SWIG_IsOK(res2)) {
5155       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_multimin_fdfminimizer_fdf_set" "', argument " "2"" of type '" "gsl_multimin_function_fdf *""'");
5156     }
5157     arg2 = (gsl_multimin_function_fdf *)(argp2);
5158     if (arg1) (arg1)->fdf = arg2;
5159     ST(argvi) = &PL_sv_undef;
5160 
5161 
5162     XSRETURN(argvi);
5163   fail:
5164 
5165 
5166     SWIG_croak_null();
5167   }
5168 }
5169 
5170 
XS(_wrap_gsl_multimin_fdfminimizer_fdf_get)5171 XS(_wrap_gsl_multimin_fdfminimizer_fdf_get) {
5172   {
5173     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5174     void *argp1 = 0 ;
5175     int res1 = 0 ;
5176     int argvi = 0;
5177     gsl_multimin_function_fdf *result = 0 ;
5178     dXSARGS;
5179 
5180     if ((items < 1) || (items > 1)) {
5181       SWIG_croak("Usage: gsl_multimin_fdfminimizer_fdf_get(self);");
5182     }
5183     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5184     if (!SWIG_IsOK(res1)) {
5185       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_fdf_get" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer *""'");
5186     }
5187     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5188     result = (gsl_multimin_function_fdf *) ((arg1)->fdf);
5189     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_multimin_function_fdf_struct, 0 | SWIG_SHADOW); argvi++ ;
5190 
5191     XSRETURN(argvi);
5192   fail:
5193 
5194     SWIG_croak_null();
5195   }
5196 }
5197 
5198 
XS(_wrap_gsl_multimin_fdfminimizer_f_set)5199 XS(_wrap_gsl_multimin_fdfminimizer_f_set) {
5200   {
5201     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5202     double arg2 ;
5203     void *argp1 = 0 ;
5204     int res1 = 0 ;
5205     double val2 ;
5206     int ecode2 = 0 ;
5207     int argvi = 0;
5208     dXSARGS;
5209 
5210     if ((items < 2) || (items > 2)) {
5211       SWIG_croak("Usage: gsl_multimin_fdfminimizer_f_set(self,f);");
5212     }
5213     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5214     if (!SWIG_IsOK(res1)) {
5215       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_f_set" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer *""'");
5216     }
5217     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5218     ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
5219     if (!SWIG_IsOK(ecode2)) {
5220       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_multimin_fdfminimizer_f_set" "', argument " "2"" of type '" "double""'");
5221     }
5222     arg2 = (double)(val2);
5223     if (arg1) (arg1)->f = arg2;
5224     ST(argvi) = &PL_sv_undef;
5225 
5226 
5227     XSRETURN(argvi);
5228   fail:
5229 
5230 
5231     SWIG_croak_null();
5232   }
5233 }
5234 
5235 
XS(_wrap_gsl_multimin_fdfminimizer_f_get)5236 XS(_wrap_gsl_multimin_fdfminimizer_f_get) {
5237   {
5238     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5239     void *argp1 = 0 ;
5240     int res1 = 0 ;
5241     int argvi = 0;
5242     double result;
5243     dXSARGS;
5244 
5245     if ((items < 1) || (items > 1)) {
5246       SWIG_croak("Usage: gsl_multimin_fdfminimizer_f_get(self);");
5247     }
5248     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5249     if (!SWIG_IsOK(res1)) {
5250       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_f_get" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer *""'");
5251     }
5252     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5253     result = (double) ((arg1)->f);
5254     ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
5255 
5256     XSRETURN(argvi);
5257   fail:
5258 
5259     SWIG_croak_null();
5260   }
5261 }
5262 
5263 
XS(_wrap_gsl_multimin_fdfminimizer_x_set)5264 XS(_wrap_gsl_multimin_fdfminimizer_x_set) {
5265   {
5266     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5267     gsl_vector *arg2 = (gsl_vector *) 0 ;
5268     void *argp1 = 0 ;
5269     int res1 = 0 ;
5270     void *argp2 = 0 ;
5271     int res2 = 0 ;
5272     int argvi = 0;
5273     dXSARGS;
5274 
5275     if ((items < 2) || (items > 2)) {
5276       SWIG_croak("Usage: gsl_multimin_fdfminimizer_x_set(self,x);");
5277     }
5278     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5279     if (!SWIG_IsOK(res1)) {
5280       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_x_set" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer *""'");
5281     }
5282     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5283     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_vector, SWIG_POINTER_DISOWN |  0 );
5284     if (!SWIG_IsOK(res2)) {
5285       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_multimin_fdfminimizer_x_set" "', argument " "2"" of type '" "gsl_vector *""'");
5286     }
5287     arg2 = (gsl_vector *)(argp2);
5288     if (arg1) (arg1)->x = arg2;
5289     ST(argvi) = &PL_sv_undef;
5290 
5291 
5292     XSRETURN(argvi);
5293   fail:
5294 
5295 
5296     SWIG_croak_null();
5297   }
5298 }
5299 
5300 
XS(_wrap_gsl_multimin_fdfminimizer_x_get)5301 XS(_wrap_gsl_multimin_fdfminimizer_x_get) {
5302   {
5303     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5304     void *argp1 = 0 ;
5305     int res1 = 0 ;
5306     int argvi = 0;
5307     gsl_vector *result = 0 ;
5308     dXSARGS;
5309 
5310     if ((items < 1) || (items > 1)) {
5311       SWIG_croak("Usage: gsl_multimin_fdfminimizer_x_get(self);");
5312     }
5313     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5314     if (!SWIG_IsOK(res1)) {
5315       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_x_get" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer *""'");
5316     }
5317     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5318     result = (gsl_vector *) ((arg1)->x);
5319     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_vector, 0 | 0); argvi++ ;
5320 
5321     XSRETURN(argvi);
5322   fail:
5323 
5324     SWIG_croak_null();
5325   }
5326 }
5327 
5328 
XS(_wrap_gsl_multimin_fdfminimizer_gradient_set)5329 XS(_wrap_gsl_multimin_fdfminimizer_gradient_set) {
5330   {
5331     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5332     gsl_vector *arg2 = (gsl_vector *) 0 ;
5333     void *argp1 = 0 ;
5334     int res1 = 0 ;
5335     void *argp2 = 0 ;
5336     int res2 = 0 ;
5337     int argvi = 0;
5338     dXSARGS;
5339 
5340     if ((items < 2) || (items > 2)) {
5341       SWIG_croak("Usage: gsl_multimin_fdfminimizer_gradient_set(self,gradient);");
5342     }
5343     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5344     if (!SWIG_IsOK(res1)) {
5345       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_gradient_set" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer *""'");
5346     }
5347     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5348     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_vector, SWIG_POINTER_DISOWN |  0 );
5349     if (!SWIG_IsOK(res2)) {
5350       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_multimin_fdfminimizer_gradient_set" "', argument " "2"" of type '" "gsl_vector *""'");
5351     }
5352     arg2 = (gsl_vector *)(argp2);
5353     if (arg1) (arg1)->gradient = arg2;
5354     ST(argvi) = &PL_sv_undef;
5355 
5356 
5357     XSRETURN(argvi);
5358   fail:
5359 
5360 
5361     SWIG_croak_null();
5362   }
5363 }
5364 
5365 
XS(_wrap_gsl_multimin_fdfminimizer_gradient_get)5366 XS(_wrap_gsl_multimin_fdfminimizer_gradient_get) {
5367   {
5368     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5369     void *argp1 = 0 ;
5370     int res1 = 0 ;
5371     int argvi = 0;
5372     gsl_vector *result = 0 ;
5373     dXSARGS;
5374 
5375     if ((items < 1) || (items > 1)) {
5376       SWIG_croak("Usage: gsl_multimin_fdfminimizer_gradient_get(self);");
5377     }
5378     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5379     if (!SWIG_IsOK(res1)) {
5380       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_gradient_get" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer *""'");
5381     }
5382     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5383     result = (gsl_vector *) ((arg1)->gradient);
5384     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_vector, 0 | 0); argvi++ ;
5385 
5386     XSRETURN(argvi);
5387   fail:
5388 
5389     SWIG_croak_null();
5390   }
5391 }
5392 
5393 
XS(_wrap_gsl_multimin_fdfminimizer_dx_set)5394 XS(_wrap_gsl_multimin_fdfminimizer_dx_set) {
5395   {
5396     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5397     gsl_vector *arg2 = (gsl_vector *) 0 ;
5398     void *argp1 = 0 ;
5399     int res1 = 0 ;
5400     void *argp2 = 0 ;
5401     int res2 = 0 ;
5402     int argvi = 0;
5403     dXSARGS;
5404 
5405     if ((items < 2) || (items > 2)) {
5406       SWIG_croak("Usage: gsl_multimin_fdfminimizer_dx_set(self,dx);");
5407     }
5408     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5409     if (!SWIG_IsOK(res1)) {
5410       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_dx_set" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer *""'");
5411     }
5412     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5413     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_vector, SWIG_POINTER_DISOWN |  0 );
5414     if (!SWIG_IsOK(res2)) {
5415       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_multimin_fdfminimizer_dx_set" "', argument " "2"" of type '" "gsl_vector *""'");
5416     }
5417     arg2 = (gsl_vector *)(argp2);
5418     if (arg1) (arg1)->dx = arg2;
5419     ST(argvi) = &PL_sv_undef;
5420 
5421 
5422     XSRETURN(argvi);
5423   fail:
5424 
5425 
5426     SWIG_croak_null();
5427   }
5428 }
5429 
5430 
XS(_wrap_gsl_multimin_fdfminimizer_dx_get)5431 XS(_wrap_gsl_multimin_fdfminimizer_dx_get) {
5432   {
5433     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5434     void *argp1 = 0 ;
5435     int res1 = 0 ;
5436     int argvi = 0;
5437     gsl_vector *result = 0 ;
5438     dXSARGS;
5439 
5440     if ((items < 1) || (items > 1)) {
5441       SWIG_croak("Usage: gsl_multimin_fdfminimizer_dx_get(self);");
5442     }
5443     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5444     if (!SWIG_IsOK(res1)) {
5445       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_dx_get" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer *""'");
5446     }
5447     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5448     result = (gsl_vector *) ((arg1)->dx);
5449     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_vector, 0 | 0); argvi++ ;
5450 
5451     XSRETURN(argvi);
5452   fail:
5453 
5454     SWIG_croak_null();
5455   }
5456 }
5457 
5458 
XS(_wrap_gsl_multimin_fdfminimizer_state_set)5459 XS(_wrap_gsl_multimin_fdfminimizer_state_set) {
5460   {
5461     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5462     void *arg2 = (void *) 0 ;
5463     void *argp1 = 0 ;
5464     int res1 = 0 ;
5465     int res2 ;
5466     int argvi = 0;
5467     dXSARGS;
5468 
5469     if ((items < 2) || (items > 2)) {
5470       SWIG_croak("Usage: gsl_multimin_fdfminimizer_state_set(self,state);");
5471     }
5472     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5473     if (!SWIG_IsOK(res1)) {
5474       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_state_set" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer *""'");
5475     }
5476     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5477     res2 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg2), 0, SWIG_POINTER_DISOWN);
5478     if (!SWIG_IsOK(res2)) {
5479       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_multimin_fdfminimizer_state_set" "', argument " "2"" of type '" "void *""'");
5480     }
5481     if (arg1) (arg1)->state = arg2;
5482     ST(argvi) = &PL_sv_undef;
5483 
5484 
5485     XSRETURN(argvi);
5486   fail:
5487 
5488 
5489     SWIG_croak_null();
5490   }
5491 }
5492 
5493 
XS(_wrap_gsl_multimin_fdfminimizer_state_get)5494 XS(_wrap_gsl_multimin_fdfminimizer_state_get) {
5495   {
5496     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5497     void *argp1 = 0 ;
5498     int res1 = 0 ;
5499     int argvi = 0;
5500     void *result = 0 ;
5501     dXSARGS;
5502 
5503     if ((items < 1) || (items > 1)) {
5504       SWIG_croak("Usage: gsl_multimin_fdfminimizer_state_get(self);");
5505     }
5506     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5507     if (!SWIG_IsOK(res1)) {
5508       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_state_get" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer *""'");
5509     }
5510     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5511     result = (void *) ((arg1)->state);
5512     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0); argvi++ ;
5513 
5514     XSRETURN(argvi);
5515   fail:
5516 
5517     SWIG_croak_null();
5518   }
5519 }
5520 
5521 
XS(_wrap_new_gsl_multimin_fdfminimizer)5522 XS(_wrap_new_gsl_multimin_fdfminimizer) {
5523   {
5524     int argvi = 0;
5525     gsl_multimin_fdfminimizer *result = 0 ;
5526     dXSARGS;
5527 
5528     if ((items < 0) || (items > 0)) {
5529       SWIG_croak("Usage: new_gsl_multimin_fdfminimizer();");
5530     }
5531     result = (gsl_multimin_fdfminimizer *)calloc(1, sizeof(gsl_multimin_fdfminimizer));
5532     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_multimin_fdfminimizer, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
5533     XSRETURN(argvi);
5534   fail:
5535     SWIG_croak_null();
5536   }
5537 }
5538 
5539 
XS(_wrap_delete_gsl_multimin_fdfminimizer)5540 XS(_wrap_delete_gsl_multimin_fdfminimizer) {
5541   {
5542     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5543     void *argp1 = 0 ;
5544     int res1 = 0 ;
5545     int argvi = 0;
5546     dXSARGS;
5547 
5548     if ((items < 1) || (items > 1)) {
5549       SWIG_croak("Usage: delete_gsl_multimin_fdfminimizer(self);");
5550     }
5551     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, SWIG_POINTER_DISOWN |  0 );
5552     if (!SWIG_IsOK(res1)) {
5553       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_gsl_multimin_fdfminimizer" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer *""'");
5554     }
5555     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5556     free((char *) arg1);
5557     ST(argvi) = &PL_sv_undef;
5558 
5559     XSRETURN(argvi);
5560   fail:
5561 
5562     SWIG_croak_null();
5563   }
5564 }
5565 
5566 
XS(_wrap_gsl_multimin_fdfminimizer_alloc)5567 XS(_wrap_gsl_multimin_fdfminimizer_alloc) {
5568   {
5569     gsl_multimin_fdfminimizer_type *arg1 = (gsl_multimin_fdfminimizer_type *) 0 ;
5570     size_t arg2 ;
5571     void *argp1 = 0 ;
5572     int res1 = 0 ;
5573     size_t val2 ;
5574     int ecode2 = 0 ;
5575     int argvi = 0;
5576     gsl_multimin_fdfminimizer *result = 0 ;
5577     dXSARGS;
5578 
5579     if ((items < 2) || (items > 2)) {
5580       SWIG_croak("Usage: gsl_multimin_fdfminimizer_alloc(T,n);");
5581     }
5582     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer_type, 0 |  0 );
5583     if (!SWIG_IsOK(res1)) {
5584       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_alloc" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer_type const *""'");
5585     }
5586     arg1 = (gsl_multimin_fdfminimizer_type *)(argp1);
5587     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
5588     if (!SWIG_IsOK(ecode2)) {
5589       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_multimin_fdfminimizer_alloc" "', argument " "2"" of type '" "size_t""'");
5590     }
5591     arg2 = (size_t)(val2);
5592     result = (gsl_multimin_fdfminimizer *)gsl_multimin_fdfminimizer_alloc((gsl_multimin_fdfminimizer_type const *)arg1,arg2);
5593     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 | SWIG_SHADOW); argvi++ ;
5594 
5595 
5596     XSRETURN(argvi);
5597   fail:
5598 
5599 
5600     SWIG_croak_null();
5601   }
5602 }
5603 
5604 
XS(_wrap_gsl_multimin_fdfminimizer_set)5605 XS(_wrap_gsl_multimin_fdfminimizer_set) {
5606   {
5607     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5608     gsl_multimin_function_fdf *arg2 = (gsl_multimin_function_fdf *) 0 ;
5609     gsl_vector *arg3 = (gsl_vector *) 0 ;
5610     double arg4 ;
5611     double arg5 ;
5612     void *argp1 = 0 ;
5613     int res1 = 0 ;
5614     void *argp2 = 0 ;
5615     int res2 = 0 ;
5616     void *argp3 = 0 ;
5617     int res3 = 0 ;
5618     double val4 ;
5619     int ecode4 = 0 ;
5620     double val5 ;
5621     int ecode5 = 0 ;
5622     int argvi = 0;
5623     int result;
5624     dXSARGS;
5625 
5626     if ((items < 5) || (items > 5)) {
5627       SWIG_croak("Usage: gsl_multimin_fdfminimizer_set(s,fdf,x,step_size,tol);");
5628     }
5629     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5630     if (!SWIG_IsOK(res1)) {
5631       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_set" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer *""'");
5632     }
5633     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5634     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_multimin_function_fdf_struct, 0 |  0 );
5635     if (!SWIG_IsOK(res2)) {
5636       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_multimin_fdfminimizer_set" "', argument " "2"" of type '" "gsl_multimin_function_fdf *""'");
5637     }
5638     arg2 = (gsl_multimin_function_fdf *)(argp2);
5639     res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_gsl_vector, 0 |  0 );
5640     if (!SWIG_IsOK(res3)) {
5641       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "gsl_multimin_fdfminimizer_set" "', argument " "3"" of type '" "gsl_vector const *""'");
5642     }
5643     arg3 = (gsl_vector *)(argp3);
5644     ecode4 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
5645     if (!SWIG_IsOK(ecode4)) {
5646       SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "gsl_multimin_fdfminimizer_set" "', argument " "4"" of type '" "double""'");
5647     }
5648     arg4 = (double)(val4);
5649     ecode5 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
5650     if (!SWIG_IsOK(ecode5)) {
5651       SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "gsl_multimin_fdfminimizer_set" "', argument " "5"" of type '" "double""'");
5652     }
5653     arg5 = (double)(val5);
5654     result = (int)gsl_multimin_fdfminimizer_set(arg1,arg2,(gsl_vector const *)arg3,arg4,arg5);
5655     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
5656 
5657 
5658 
5659 
5660 
5661     XSRETURN(argvi);
5662   fail:
5663 
5664 
5665 
5666 
5667 
5668     SWIG_croak_null();
5669   }
5670 }
5671 
5672 
XS(_wrap_gsl_multimin_fdfminimizer_free)5673 XS(_wrap_gsl_multimin_fdfminimizer_free) {
5674   {
5675     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5676     void *argp1 = 0 ;
5677     int res1 = 0 ;
5678     int argvi = 0;
5679     dXSARGS;
5680 
5681     if ((items < 1) || (items > 1)) {
5682       SWIG_croak("Usage: gsl_multimin_fdfminimizer_free(s);");
5683     }
5684     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5685     if (!SWIG_IsOK(res1)) {
5686       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_free" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer *""'");
5687     }
5688     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5689     gsl_multimin_fdfminimizer_free(arg1);
5690     ST(argvi) = &PL_sv_undef;
5691 
5692     XSRETURN(argvi);
5693   fail:
5694 
5695     SWIG_croak_null();
5696   }
5697 }
5698 
5699 
XS(_wrap_gsl_multimin_fdfminimizer_name)5700 XS(_wrap_gsl_multimin_fdfminimizer_name) {
5701   {
5702     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5703     void *argp1 = 0 ;
5704     int res1 = 0 ;
5705     int argvi = 0;
5706     char *result = 0 ;
5707     dXSARGS;
5708 
5709     if ((items < 1) || (items > 1)) {
5710       SWIG_croak("Usage: gsl_multimin_fdfminimizer_name(s);");
5711     }
5712     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5713     if (!SWIG_IsOK(res1)) {
5714       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_name" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer const *""'");
5715     }
5716     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5717     result = (char *)gsl_multimin_fdfminimizer_name((gsl_multimin_fdfminimizer const *)arg1);
5718     ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
5719 
5720     XSRETURN(argvi);
5721   fail:
5722 
5723     SWIG_croak_null();
5724   }
5725 }
5726 
5727 
XS(_wrap_gsl_multimin_fdfminimizer_iterate)5728 XS(_wrap_gsl_multimin_fdfminimizer_iterate) {
5729   {
5730     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5731     void *argp1 = 0 ;
5732     int res1 = 0 ;
5733     int argvi = 0;
5734     int result;
5735     dXSARGS;
5736 
5737     if ((items < 1) || (items > 1)) {
5738       SWIG_croak("Usage: gsl_multimin_fdfminimizer_iterate(s);");
5739     }
5740     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5741     if (!SWIG_IsOK(res1)) {
5742       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_iterate" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer *""'");
5743     }
5744     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5745     result = (int)gsl_multimin_fdfminimizer_iterate(arg1);
5746     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
5747 
5748     XSRETURN(argvi);
5749   fail:
5750 
5751     SWIG_croak_null();
5752   }
5753 }
5754 
5755 
XS(_wrap_gsl_multimin_fdfminimizer_restart)5756 XS(_wrap_gsl_multimin_fdfminimizer_restart) {
5757   {
5758     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5759     void *argp1 = 0 ;
5760     int res1 = 0 ;
5761     int argvi = 0;
5762     int result;
5763     dXSARGS;
5764 
5765     if ((items < 1) || (items > 1)) {
5766       SWIG_croak("Usage: gsl_multimin_fdfminimizer_restart(s);");
5767     }
5768     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5769     if (!SWIG_IsOK(res1)) {
5770       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_restart" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer *""'");
5771     }
5772     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5773     result = (int)gsl_multimin_fdfminimizer_restart(arg1);
5774     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
5775 
5776     XSRETURN(argvi);
5777   fail:
5778 
5779     SWIG_croak_null();
5780   }
5781 }
5782 
5783 
XS(_wrap_gsl_multimin_fdfminimizer_x)5784 XS(_wrap_gsl_multimin_fdfminimizer_x) {
5785   {
5786     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5787     void *argp1 = 0 ;
5788     int res1 = 0 ;
5789     int argvi = 0;
5790     gsl_vector *result = 0 ;
5791     dXSARGS;
5792 
5793     if ((items < 1) || (items > 1)) {
5794       SWIG_croak("Usage: gsl_multimin_fdfminimizer_x(s);");
5795     }
5796     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5797     if (!SWIG_IsOK(res1)) {
5798       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_x" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer const *""'");
5799     }
5800     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5801     result = (gsl_vector *)gsl_multimin_fdfminimizer_x((gsl_multimin_fdfminimizer const *)arg1);
5802     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_vector, 0 | 0); argvi++ ;
5803 
5804     XSRETURN(argvi);
5805   fail:
5806 
5807     SWIG_croak_null();
5808   }
5809 }
5810 
5811 
XS(_wrap_gsl_multimin_fdfminimizer_dx)5812 XS(_wrap_gsl_multimin_fdfminimizer_dx) {
5813   {
5814     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5815     void *argp1 = 0 ;
5816     int res1 = 0 ;
5817     int argvi = 0;
5818     gsl_vector *result = 0 ;
5819     dXSARGS;
5820 
5821     if ((items < 1) || (items > 1)) {
5822       SWIG_croak("Usage: gsl_multimin_fdfminimizer_dx(s);");
5823     }
5824     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5825     if (!SWIG_IsOK(res1)) {
5826       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_dx" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer const *""'");
5827     }
5828     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5829     result = (gsl_vector *)gsl_multimin_fdfminimizer_dx((gsl_multimin_fdfminimizer const *)arg1);
5830     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_vector, 0 | 0); argvi++ ;
5831 
5832     XSRETURN(argvi);
5833   fail:
5834 
5835     SWIG_croak_null();
5836   }
5837 }
5838 
5839 
XS(_wrap_gsl_multimin_fdfminimizer_gradient)5840 XS(_wrap_gsl_multimin_fdfminimizer_gradient) {
5841   {
5842     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5843     void *argp1 = 0 ;
5844     int res1 = 0 ;
5845     int argvi = 0;
5846     gsl_vector *result = 0 ;
5847     dXSARGS;
5848 
5849     if ((items < 1) || (items > 1)) {
5850       SWIG_croak("Usage: gsl_multimin_fdfminimizer_gradient(s);");
5851     }
5852     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5853     if (!SWIG_IsOK(res1)) {
5854       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_gradient" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer const *""'");
5855     }
5856     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5857     result = (gsl_vector *)gsl_multimin_fdfminimizer_gradient((gsl_multimin_fdfminimizer const *)arg1);
5858     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_vector, 0 | 0); argvi++ ;
5859 
5860     XSRETURN(argvi);
5861   fail:
5862 
5863     SWIG_croak_null();
5864   }
5865 }
5866 
5867 
XS(_wrap_gsl_multimin_fdfminimizer_minimum)5868 XS(_wrap_gsl_multimin_fdfminimizer_minimum) {
5869   {
5870     gsl_multimin_fdfminimizer *arg1 = (gsl_multimin_fdfminimizer *) 0 ;
5871     void *argp1 = 0 ;
5872     int res1 = 0 ;
5873     int argvi = 0;
5874     double result;
5875     dXSARGS;
5876 
5877     if ((items < 1) || (items > 1)) {
5878       SWIG_croak("Usage: gsl_multimin_fdfminimizer_minimum(s);");
5879     }
5880     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_multimin_fdfminimizer, 0 |  0 );
5881     if (!SWIG_IsOK(res1)) {
5882       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_multimin_fdfminimizer_minimum" "', argument " "1"" of type '" "gsl_multimin_fdfminimizer const *""'");
5883     }
5884     arg1 = (gsl_multimin_fdfminimizer *)(argp1);
5885     result = (double)gsl_multimin_fdfminimizer_minimum((gsl_multimin_fdfminimizer const *)arg1);
5886     ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
5887 
5888     XSRETURN(argvi);
5889   fail:
5890 
5891     SWIG_croak_null();
5892   }
5893 }
5894 
5895 
5896 
5897 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
5898 
5899 static swig_type_info _swigt__p_FILE = {"_p_FILE", "FILE *", 0, 0, (void*)0, 0};
5900 static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
5901 static swig_type_info _swigt__p_f_p_q_const__char_p_q_const__char_int_int__void = {"_p_f_p_q_const__char_p_q_const__char_int_int__void", "void (*)(char const *,char const *,int,int)|gsl_error_handler_t *", 0, 0, (void*)0, 0};
5902 static swig_type_info _swigt__p_f_p_q_const__char_p_q_const__char_int_p_q_const__char__void = {"_p_f_p_q_const__char_p_q_const__char_int_p_q_const__char__void", "gsl_stream_handler_t *|void (*)(char const *,char const *,int,char const *)", 0, 0, (void*)0, 0};
5903 static swig_type_info _swigt__p_f_p_q_const__gsl_vector_p_void__double = {"_p_f_p_q_const__gsl_vector_p_void__double", "double (*)(gsl_vector const *,void *)", 0, 0, (void*)0, 0};
5904 static swig_type_info _swigt__p_f_p_q_const__gsl_vector_p_void_p_double_p_gsl_vector__void = {"_p_f_p_q_const__gsl_vector_p_void_p_double_p_gsl_vector__void", "void (*)(gsl_vector const *,void *,double *,gsl_vector *)", 0, 0, (void*)0, 0};
5905 static swig_type_info _swigt__p_f_p_q_const__gsl_vector_p_void_p_gsl_vector__void = {"_p_f_p_q_const__gsl_vector_p_void_p_gsl_vector__void", "void (*)(gsl_vector const *,void *,gsl_vector *)", 0, 0, (void*)0, 0};
5906 static swig_type_info _swigt__p_f_p_void__int = {"_p_f_p_void__int", "int (*)(void *)", 0, 0, (void*)0, 0};
5907 static swig_type_info _swigt__p_f_p_void__void = {"_p_f_p_void__void", "void (*)(void *)", 0, 0, (void*)0, 0};
5908 static swig_type_info _swigt__p_f_p_void_p_struct_gsl_multimin_function_fdf_struct_p_gsl_vector_p_double_p_gsl_vector_p_gsl_vector__int = {"_p_f_p_void_p_struct_gsl_multimin_function_fdf_struct_p_gsl_vector_p_double_p_gsl_vector_p_gsl_vector__int", "int (*)(void *,gsl_multimin_function_fdf *,gsl_vector *,double *,gsl_vector *,gsl_vector *)|int (*)(void *,struct gsl_multimin_function_fdf_struct *,gsl_vector *,double *,gsl_vector *,gsl_vector *)", 0, 0, (void*)0, 0};
5909 static swig_type_info _swigt__p_f_p_void_p_struct_gsl_multimin_function_fdf_struct_p_q_const__gsl_vector_p_double_p_gsl_vector_double_double__int = {"_p_f_p_void_p_struct_gsl_multimin_function_fdf_struct_p_q_const__gsl_vector_p_double_p_gsl_vector_double_double__int", "int (*)(void *,gsl_multimin_function_fdf *,gsl_vector const *,double *,gsl_vector *,double,double)|int (*)(void *,struct gsl_multimin_function_fdf_struct *,gsl_vector const *,double *,gsl_vector *,double,double)", 0, 0, (void*)0, 0};
5910 static swig_type_info _swigt__p_f_p_void_p_struct_gsl_multimin_function_struct_p_gsl_vector_p_double_p_double__int = {"_p_f_p_void_p_struct_gsl_multimin_function_struct_p_gsl_vector_p_double_p_double__int", "int (*)(void *,gsl_multimin_function *,gsl_vector *,double *,double *)|int (*)(void *,struct gsl_multimin_function_struct *,gsl_vector *,double *,double *)", 0, 0, (void*)0, 0};
5911 static swig_type_info _swigt__p_f_p_void_p_struct_gsl_multimin_function_struct_p_q_const__gsl_vector_p_double_p_q_const__gsl_vector__int = {"_p_f_p_void_p_struct_gsl_multimin_function_struct_p_q_const__gsl_vector_p_double_p_q_const__gsl_vector__int", "int (*)(void *,gsl_multimin_function *,gsl_vector const *,double *,gsl_vector const *)|int (*)(void *,struct gsl_multimin_function_struct *,gsl_vector const *,double *,gsl_vector const *)", 0, 0, (void*)0, 0};
5912 static swig_type_info _swigt__p_f_p_void_size_t__int = {"_p_f_p_void_size_t__int", "int (*)(void *,size_t)", 0, 0, (void*)0, 0};
5913 static swig_type_info _swigt__p_gsl_multimin_fdfminimizer = {"_p_gsl_multimin_fdfminimizer", "gsl_multimin_fdfminimizer *", 0, 0, (void*)"Math::GSL::Multimin::gsl_multimin_fdfminimizer", 0};
5914 static swig_type_info _swigt__p_gsl_multimin_fdfminimizer_type = {"_p_gsl_multimin_fdfminimizer_type", "gsl_multimin_fdfminimizer_type *", 0, 0, (void*)"Math::GSL::Multimin::gsl_multimin_fdfminimizer_type", 0};
5915 static swig_type_info _swigt__p_gsl_multimin_fminimizer = {"_p_gsl_multimin_fminimizer", "gsl_multimin_fminimizer *", 0, 0, (void*)"Math::GSL::Multimin::gsl_multimin_fminimizer", 0};
5916 static swig_type_info _swigt__p_gsl_multimin_fminimizer_type = {"_p_gsl_multimin_fminimizer_type", "gsl_multimin_fminimizer_type *", 0, 0, (void*)"Math::GSL::Multimin::gsl_multimin_fminimizer_type", 0};
5917 static swig_type_info _swigt__p_gsl_multimin_function_fdf_struct = {"_p_gsl_multimin_function_fdf_struct", "struct gsl_multimin_function_fdf_struct *|gsl_multimin_function_fdf_struct *|gsl_multimin_function_fdf *", 0, 0, (void*)"Math::GSL::Multimin::gsl_multimin_function_fdf_struct", 0};
5918 static swig_type_info _swigt__p_gsl_multimin_function_struct = {"_p_gsl_multimin_function_struct", "gsl_multimin_function *|struct gsl_multimin_function_struct *|gsl_multimin_function_struct *", 0, 0, (void*)"Math::GSL::Multimin::gsl_multimin_function_struct", 0};
5919 static swig_type_info _swigt__p_gsl_vector = {"_p_gsl_vector", "gsl_vector *", 0, 0, (void*)0, 0};
5920 static swig_type_info _swigt__p_void = {"_p_void", "void *", 0, 0, (void*)0, 0};
5921 
5922 static swig_type_info *swig_type_initial[] = {
5923   &_swigt__p_FILE,
5924   &_swigt__p_char,
5925   &_swigt__p_f_p_q_const__char_p_q_const__char_int_int__void,
5926   &_swigt__p_f_p_q_const__char_p_q_const__char_int_p_q_const__char__void,
5927   &_swigt__p_f_p_q_const__gsl_vector_p_void__double,
5928   &_swigt__p_f_p_q_const__gsl_vector_p_void_p_double_p_gsl_vector__void,
5929   &_swigt__p_f_p_q_const__gsl_vector_p_void_p_gsl_vector__void,
5930   &_swigt__p_f_p_void__int,
5931   &_swigt__p_f_p_void__void,
5932   &_swigt__p_f_p_void_p_struct_gsl_multimin_function_fdf_struct_p_gsl_vector_p_double_p_gsl_vector_p_gsl_vector__int,
5933   &_swigt__p_f_p_void_p_struct_gsl_multimin_function_fdf_struct_p_q_const__gsl_vector_p_double_p_gsl_vector_double_double__int,
5934   &_swigt__p_f_p_void_p_struct_gsl_multimin_function_struct_p_gsl_vector_p_double_p_double__int,
5935   &_swigt__p_f_p_void_p_struct_gsl_multimin_function_struct_p_q_const__gsl_vector_p_double_p_q_const__gsl_vector__int,
5936   &_swigt__p_f_p_void_size_t__int,
5937   &_swigt__p_gsl_multimin_fdfminimizer,
5938   &_swigt__p_gsl_multimin_fdfminimizer_type,
5939   &_swigt__p_gsl_multimin_fminimizer,
5940   &_swigt__p_gsl_multimin_fminimizer_type,
5941   &_swigt__p_gsl_multimin_function_fdf_struct,
5942   &_swigt__p_gsl_multimin_function_struct,
5943   &_swigt__p_gsl_vector,
5944   &_swigt__p_void,
5945 };
5946 
5947 static swig_cast_info _swigc__p_FILE[] = {  {&_swigt__p_FILE, 0, 0, 0},{0, 0, 0, 0}};
5948 static swig_cast_info _swigc__p_char[] = {  {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
5949 static swig_cast_info _swigc__p_f_p_q_const__char_p_q_const__char_int_int__void[] = {  {&_swigt__p_f_p_q_const__char_p_q_const__char_int_int__void, 0, 0, 0},{0, 0, 0, 0}};
5950 static swig_cast_info _swigc__p_f_p_q_const__char_p_q_const__char_int_p_q_const__char__void[] = {  {&_swigt__p_f_p_q_const__char_p_q_const__char_int_p_q_const__char__void, 0, 0, 0},{0, 0, 0, 0}};
5951 static swig_cast_info _swigc__p_f_p_q_const__gsl_vector_p_void__double[] = {  {&_swigt__p_f_p_q_const__gsl_vector_p_void__double, 0, 0, 0},{0, 0, 0, 0}};
5952 static swig_cast_info _swigc__p_f_p_q_const__gsl_vector_p_void_p_double_p_gsl_vector__void[] = {  {&_swigt__p_f_p_q_const__gsl_vector_p_void_p_double_p_gsl_vector__void, 0, 0, 0},{0, 0, 0, 0}};
5953 static swig_cast_info _swigc__p_f_p_q_const__gsl_vector_p_void_p_gsl_vector__void[] = {  {&_swigt__p_f_p_q_const__gsl_vector_p_void_p_gsl_vector__void, 0, 0, 0},{0, 0, 0, 0}};
5954 static swig_cast_info _swigc__p_f_p_void__int[] = {  {&_swigt__p_f_p_void__int, 0, 0, 0},{0, 0, 0, 0}};
5955 static swig_cast_info _swigc__p_f_p_void__void[] = {  {&_swigt__p_f_p_void__void, 0, 0, 0},{0, 0, 0, 0}};
5956 static swig_cast_info _swigc__p_f_p_void_p_struct_gsl_multimin_function_fdf_struct_p_gsl_vector_p_double_p_gsl_vector_p_gsl_vector__int[] = {  {&_swigt__p_f_p_void_p_struct_gsl_multimin_function_fdf_struct_p_gsl_vector_p_double_p_gsl_vector_p_gsl_vector__int, 0, 0, 0},{0, 0, 0, 0}};
5957 static swig_cast_info _swigc__p_f_p_void_p_struct_gsl_multimin_function_fdf_struct_p_q_const__gsl_vector_p_double_p_gsl_vector_double_double__int[] = {  {&_swigt__p_f_p_void_p_struct_gsl_multimin_function_fdf_struct_p_q_const__gsl_vector_p_double_p_gsl_vector_double_double__int, 0, 0, 0},{0, 0, 0, 0}};
5958 static swig_cast_info _swigc__p_f_p_void_p_struct_gsl_multimin_function_struct_p_gsl_vector_p_double_p_double__int[] = {  {&_swigt__p_f_p_void_p_struct_gsl_multimin_function_struct_p_gsl_vector_p_double_p_double__int, 0, 0, 0},{0, 0, 0, 0}};
5959 static swig_cast_info _swigc__p_f_p_void_p_struct_gsl_multimin_function_struct_p_q_const__gsl_vector_p_double_p_q_const__gsl_vector__int[] = {  {&_swigt__p_f_p_void_p_struct_gsl_multimin_function_struct_p_q_const__gsl_vector_p_double_p_q_const__gsl_vector__int, 0, 0, 0},{0, 0, 0, 0}};
5960 static swig_cast_info _swigc__p_f_p_void_size_t__int[] = {  {&_swigt__p_f_p_void_size_t__int, 0, 0, 0},{0, 0, 0, 0}};
5961 static swig_cast_info _swigc__p_gsl_multimin_fdfminimizer[] = {  {&_swigt__p_gsl_multimin_fdfminimizer, 0, 0, 0},{0, 0, 0, 0}};
5962 static swig_cast_info _swigc__p_gsl_multimin_fdfminimizer_type[] = {  {&_swigt__p_gsl_multimin_fdfminimizer_type, 0, 0, 0},{0, 0, 0, 0}};
5963 static swig_cast_info _swigc__p_gsl_multimin_fminimizer[] = {  {&_swigt__p_gsl_multimin_fminimizer, 0, 0, 0},{0, 0, 0, 0}};
5964 static swig_cast_info _swigc__p_gsl_multimin_fminimizer_type[] = {  {&_swigt__p_gsl_multimin_fminimizer_type, 0, 0, 0},{0, 0, 0, 0}};
5965 static swig_cast_info _swigc__p_gsl_multimin_function_fdf_struct[] = {  {&_swigt__p_gsl_multimin_function_fdf_struct, 0, 0, 0},{0, 0, 0, 0}};
5966 static swig_cast_info _swigc__p_gsl_multimin_function_struct[] = {  {&_swigt__p_gsl_multimin_function_struct, 0, 0, 0},{0, 0, 0, 0}};
5967 static swig_cast_info _swigc__p_gsl_vector[] = {  {&_swigt__p_gsl_vector, 0, 0, 0},{0, 0, 0, 0}};
5968 static swig_cast_info _swigc__p_void[] = {  {&_swigt__p_void, 0, 0, 0},{0, 0, 0, 0}};
5969 
5970 static swig_cast_info *swig_cast_initial[] = {
5971   _swigc__p_FILE,
5972   _swigc__p_char,
5973   _swigc__p_f_p_q_const__char_p_q_const__char_int_int__void,
5974   _swigc__p_f_p_q_const__char_p_q_const__char_int_p_q_const__char__void,
5975   _swigc__p_f_p_q_const__gsl_vector_p_void__double,
5976   _swigc__p_f_p_q_const__gsl_vector_p_void_p_double_p_gsl_vector__void,
5977   _swigc__p_f_p_q_const__gsl_vector_p_void_p_gsl_vector__void,
5978   _swigc__p_f_p_void__int,
5979   _swigc__p_f_p_void__void,
5980   _swigc__p_f_p_void_p_struct_gsl_multimin_function_fdf_struct_p_gsl_vector_p_double_p_gsl_vector_p_gsl_vector__int,
5981   _swigc__p_f_p_void_p_struct_gsl_multimin_function_fdf_struct_p_q_const__gsl_vector_p_double_p_gsl_vector_double_double__int,
5982   _swigc__p_f_p_void_p_struct_gsl_multimin_function_struct_p_gsl_vector_p_double_p_double__int,
5983   _swigc__p_f_p_void_p_struct_gsl_multimin_function_struct_p_q_const__gsl_vector_p_double_p_q_const__gsl_vector__int,
5984   _swigc__p_f_p_void_size_t__int,
5985   _swigc__p_gsl_multimin_fdfminimizer,
5986   _swigc__p_gsl_multimin_fdfminimizer_type,
5987   _swigc__p_gsl_multimin_fminimizer,
5988   _swigc__p_gsl_multimin_fminimizer_type,
5989   _swigc__p_gsl_multimin_function_fdf_struct,
5990   _swigc__p_gsl_multimin_function_struct,
5991   _swigc__p_gsl_vector,
5992   _swigc__p_void,
5993 };
5994 
5995 
5996 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
5997 
5998 static swig_constant_info swig_constants[] = {
5999 {0,0,0,0,0,0}
6000 };
6001 #ifdef __cplusplus
6002 }
6003 #endif
6004 static swig_variable_info swig_variables[] = {
6005     { "Math::GSL::Multiminc::gsl_multimin_fdfminimizer_steepest_descent", MAGIC_CLASS _wrap_gsl_multimin_fdfminimizer_steepest_descent_set, MAGIC_CLASS _wrap_gsl_multimin_fdfminimizer_steepest_descent_get,&SWIGTYPE_p_gsl_multimin_fdfminimizer_type },
6006     { "Math::GSL::Multiminc::gsl_multimin_fdfminimizer_conjugate_pr", MAGIC_CLASS _wrap_gsl_multimin_fdfminimizer_conjugate_pr_set, MAGIC_CLASS _wrap_gsl_multimin_fdfminimizer_conjugate_pr_get,&SWIGTYPE_p_gsl_multimin_fdfminimizer_type },
6007     { "Math::GSL::Multiminc::gsl_multimin_fdfminimizer_conjugate_fr", MAGIC_CLASS _wrap_gsl_multimin_fdfminimizer_conjugate_fr_set, MAGIC_CLASS _wrap_gsl_multimin_fdfminimizer_conjugate_fr_get,&SWIGTYPE_p_gsl_multimin_fdfminimizer_type },
6008     { "Math::GSL::Multiminc::gsl_multimin_fdfminimizer_vector_bfgs", MAGIC_CLASS _wrap_gsl_multimin_fdfminimizer_vector_bfgs_set, MAGIC_CLASS _wrap_gsl_multimin_fdfminimizer_vector_bfgs_get,&SWIGTYPE_p_gsl_multimin_fdfminimizer_type },
6009     { "Math::GSL::Multiminc::gsl_multimin_fdfminimizer_vector_bfgs2", MAGIC_CLASS _wrap_gsl_multimin_fdfminimizer_vector_bfgs2_set, MAGIC_CLASS _wrap_gsl_multimin_fdfminimizer_vector_bfgs2_get,&SWIGTYPE_p_gsl_multimin_fdfminimizer_type },
6010     { "Math::GSL::Multiminc::gsl_multimin_fminimizer_nmsimplex", MAGIC_CLASS _wrap_gsl_multimin_fminimizer_nmsimplex_set, MAGIC_CLASS _wrap_gsl_multimin_fminimizer_nmsimplex_get,&SWIGTYPE_p_gsl_multimin_fminimizer_type },
6011     { "Math::GSL::Multiminc::gsl_multimin_fminimizer_nmsimplex2", MAGIC_CLASS _wrap_gsl_multimin_fminimizer_nmsimplex2_set, MAGIC_CLASS _wrap_gsl_multimin_fminimizer_nmsimplex2_get,&SWIGTYPE_p_gsl_multimin_fminimizer_type },
6012     { "Math::GSL::Multiminc::gsl_multimin_fminimizer_nmsimplex2rand", MAGIC_CLASS _wrap_gsl_multimin_fminimizer_nmsimplex2rand_set, MAGIC_CLASS _wrap_gsl_multimin_fminimizer_nmsimplex2rand_get,&SWIGTYPE_p_gsl_multimin_fminimizer_type },
6013 {0,0,0,0}
6014 };
6015 static swig_command_info swig_commands[] = {
6016 {"Math::GSL::Multiminc::gsl_error", _wrap_gsl_error},
6017 {"Math::GSL::Multiminc::gsl_stream_printf", _wrap_gsl_stream_printf},
6018 {"Math::GSL::Multiminc::gsl_strerror", _wrap_gsl_strerror},
6019 {"Math::GSL::Multiminc::gsl_set_error_handler", _wrap_gsl_set_error_handler},
6020 {"Math::GSL::Multiminc::gsl_set_error_handler_off", _wrap_gsl_set_error_handler_off},
6021 {"Math::GSL::Multiminc::gsl_set_stream_handler", _wrap_gsl_set_stream_handler},
6022 {"Math::GSL::Multiminc::gsl_set_stream", _wrap_gsl_set_stream},
6023 {"Math::GSL::Multiminc::gsl_multimin_function_struct_f_set", _wrap_gsl_multimin_function_struct_f_set},
6024 {"Math::GSL::Multiminc::gsl_multimin_function_struct_f_get", _wrap_gsl_multimin_function_struct_f_get},
6025 {"Math::GSL::Multiminc::gsl_multimin_function_struct_n_set", _wrap_gsl_multimin_function_struct_n_set},
6026 {"Math::GSL::Multiminc::gsl_multimin_function_struct_n_get", _wrap_gsl_multimin_function_struct_n_get},
6027 {"Math::GSL::Multiminc::gsl_multimin_function_struct_params_set", _wrap_gsl_multimin_function_struct_params_set},
6028 {"Math::GSL::Multiminc::gsl_multimin_function_struct_params_get", _wrap_gsl_multimin_function_struct_params_get},
6029 {"Math::GSL::Multiminc::new_gsl_multimin_function_struct", _wrap_new_gsl_multimin_function_struct},
6030 {"Math::GSL::Multiminc::delete_gsl_multimin_function_struct", _wrap_delete_gsl_multimin_function_struct},
6031 {"Math::GSL::Multiminc::gsl_multimin_function_fdf_struct_f_set", _wrap_gsl_multimin_function_fdf_struct_f_set},
6032 {"Math::GSL::Multiminc::gsl_multimin_function_fdf_struct_f_get", _wrap_gsl_multimin_function_fdf_struct_f_get},
6033 {"Math::GSL::Multiminc::gsl_multimin_function_fdf_struct_df_set", _wrap_gsl_multimin_function_fdf_struct_df_set},
6034 {"Math::GSL::Multiminc::gsl_multimin_function_fdf_struct_df_get", _wrap_gsl_multimin_function_fdf_struct_df_get},
6035 {"Math::GSL::Multiminc::gsl_multimin_function_fdf_struct_fdf_set", _wrap_gsl_multimin_function_fdf_struct_fdf_set},
6036 {"Math::GSL::Multiminc::gsl_multimin_function_fdf_struct_fdf_get", _wrap_gsl_multimin_function_fdf_struct_fdf_get},
6037 {"Math::GSL::Multiminc::gsl_multimin_function_fdf_struct_n_set", _wrap_gsl_multimin_function_fdf_struct_n_set},
6038 {"Math::GSL::Multiminc::gsl_multimin_function_fdf_struct_n_get", _wrap_gsl_multimin_function_fdf_struct_n_get},
6039 {"Math::GSL::Multiminc::gsl_multimin_function_fdf_struct_params_set", _wrap_gsl_multimin_function_fdf_struct_params_set},
6040 {"Math::GSL::Multiminc::gsl_multimin_function_fdf_struct_params_get", _wrap_gsl_multimin_function_fdf_struct_params_get},
6041 {"Math::GSL::Multiminc::new_gsl_multimin_function_fdf_struct", _wrap_new_gsl_multimin_function_fdf_struct},
6042 {"Math::GSL::Multiminc::delete_gsl_multimin_function_fdf_struct", _wrap_delete_gsl_multimin_function_fdf_struct},
6043 {"Math::GSL::Multiminc::gsl_multimin_diff", _wrap_gsl_multimin_diff},
6044 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_type_name_set", _wrap_gsl_multimin_fminimizer_type_name_set},
6045 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_type_name_get", _wrap_gsl_multimin_fminimizer_type_name_get},
6046 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_type_size_set", _wrap_gsl_multimin_fminimizer_type_size_set},
6047 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_type_size_get", _wrap_gsl_multimin_fminimizer_type_size_get},
6048 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_type_alloc_set", _wrap_gsl_multimin_fminimizer_type_alloc_set},
6049 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_type_alloc_get", _wrap_gsl_multimin_fminimizer_type_alloc_get},
6050 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_type_set_set", _wrap_gsl_multimin_fminimizer_type_set_set},
6051 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_type_set_get", _wrap_gsl_multimin_fminimizer_type_set_get},
6052 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_type_iterate_set", _wrap_gsl_multimin_fminimizer_type_iterate_set},
6053 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_type_iterate_get", _wrap_gsl_multimin_fminimizer_type_iterate_get},
6054 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_type_free_set", _wrap_gsl_multimin_fminimizer_type_free_set},
6055 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_type_free_get", _wrap_gsl_multimin_fminimizer_type_free_get},
6056 {"Math::GSL::Multiminc::new_gsl_multimin_fminimizer_type", _wrap_new_gsl_multimin_fminimizer_type},
6057 {"Math::GSL::Multiminc::delete_gsl_multimin_fminimizer_type", _wrap_delete_gsl_multimin_fminimizer_type},
6058 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_type_set", _wrap_gsl_multimin_fminimizer_type_set},
6059 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_type_get", _wrap_gsl_multimin_fminimizer_type_get},
6060 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_f_set", _wrap_gsl_multimin_fminimizer_f_set},
6061 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_f_get", _wrap_gsl_multimin_fminimizer_f_get},
6062 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_fval_set", _wrap_gsl_multimin_fminimizer_fval_set},
6063 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_fval_get", _wrap_gsl_multimin_fminimizer_fval_get},
6064 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_x_set", _wrap_gsl_multimin_fminimizer_x_set},
6065 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_x_get", _wrap_gsl_multimin_fminimizer_x_get},
6066 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_size_set", _wrap_gsl_multimin_fminimizer_size_set},
6067 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_size_get", _wrap_gsl_multimin_fminimizer_size_get},
6068 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_state_set", _wrap_gsl_multimin_fminimizer_state_set},
6069 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_state_get", _wrap_gsl_multimin_fminimizer_state_get},
6070 {"Math::GSL::Multiminc::new_gsl_multimin_fminimizer", _wrap_new_gsl_multimin_fminimizer},
6071 {"Math::GSL::Multiminc::delete_gsl_multimin_fminimizer", _wrap_delete_gsl_multimin_fminimizer},
6072 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_alloc", _wrap_gsl_multimin_fminimizer_alloc},
6073 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_set", _wrap_gsl_multimin_fminimizer_set},
6074 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_free", _wrap_gsl_multimin_fminimizer_free},
6075 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_name", _wrap_gsl_multimin_fminimizer_name},
6076 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_iterate", _wrap_gsl_multimin_fminimizer_iterate},
6077 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_x", _wrap_gsl_multimin_fminimizer_x},
6078 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_minimum", _wrap_gsl_multimin_fminimizer_minimum},
6079 {"Math::GSL::Multiminc::gsl_multimin_fminimizer_size", _wrap_gsl_multimin_fminimizer_size},
6080 {"Math::GSL::Multiminc::gsl_multimin_test_gradient", _wrap_gsl_multimin_test_gradient},
6081 {"Math::GSL::Multiminc::gsl_multimin_test_size", _wrap_gsl_multimin_test_size},
6082 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_type_name_set", _wrap_gsl_multimin_fdfminimizer_type_name_set},
6083 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_type_name_get", _wrap_gsl_multimin_fdfminimizer_type_name_get},
6084 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_type_size_set", _wrap_gsl_multimin_fdfminimizer_type_size_set},
6085 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_type_size_get", _wrap_gsl_multimin_fdfminimizer_type_size_get},
6086 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_type_alloc_set", _wrap_gsl_multimin_fdfminimizer_type_alloc_set},
6087 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_type_alloc_get", _wrap_gsl_multimin_fdfminimizer_type_alloc_get},
6088 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_type_set_set", _wrap_gsl_multimin_fdfminimizer_type_set_set},
6089 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_type_set_get", _wrap_gsl_multimin_fdfminimizer_type_set_get},
6090 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_type_iterate_set", _wrap_gsl_multimin_fdfminimizer_type_iterate_set},
6091 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_type_iterate_get", _wrap_gsl_multimin_fdfminimizer_type_iterate_get},
6092 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_type_restart_set", _wrap_gsl_multimin_fdfminimizer_type_restart_set},
6093 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_type_restart_get", _wrap_gsl_multimin_fdfminimizer_type_restart_get},
6094 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_type_free_set", _wrap_gsl_multimin_fdfminimizer_type_free_set},
6095 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_type_free_get", _wrap_gsl_multimin_fdfminimizer_type_free_get},
6096 {"Math::GSL::Multiminc::new_gsl_multimin_fdfminimizer_type", _wrap_new_gsl_multimin_fdfminimizer_type},
6097 {"Math::GSL::Multiminc::delete_gsl_multimin_fdfminimizer_type", _wrap_delete_gsl_multimin_fdfminimizer_type},
6098 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_type_set", _wrap_gsl_multimin_fdfminimizer_type_set},
6099 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_type_get", _wrap_gsl_multimin_fdfminimizer_type_get},
6100 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_fdf_set", _wrap_gsl_multimin_fdfminimizer_fdf_set},
6101 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_fdf_get", _wrap_gsl_multimin_fdfminimizer_fdf_get},
6102 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_f_set", _wrap_gsl_multimin_fdfminimizer_f_set},
6103 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_f_get", _wrap_gsl_multimin_fdfminimizer_f_get},
6104 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_x_set", _wrap_gsl_multimin_fdfminimizer_x_set},
6105 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_x_get", _wrap_gsl_multimin_fdfminimizer_x_get},
6106 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_gradient_set", _wrap_gsl_multimin_fdfminimizer_gradient_set},
6107 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_gradient_get", _wrap_gsl_multimin_fdfminimizer_gradient_get},
6108 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_dx_set", _wrap_gsl_multimin_fdfminimizer_dx_set},
6109 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_dx_get", _wrap_gsl_multimin_fdfminimizer_dx_get},
6110 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_state_set", _wrap_gsl_multimin_fdfminimizer_state_set},
6111 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_state_get", _wrap_gsl_multimin_fdfminimizer_state_get},
6112 {"Math::GSL::Multiminc::new_gsl_multimin_fdfminimizer", _wrap_new_gsl_multimin_fdfminimizer},
6113 {"Math::GSL::Multiminc::delete_gsl_multimin_fdfminimizer", _wrap_delete_gsl_multimin_fdfminimizer},
6114 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_alloc", _wrap_gsl_multimin_fdfminimizer_alloc},
6115 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_set", _wrap_gsl_multimin_fdfminimizer_set},
6116 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_free", _wrap_gsl_multimin_fdfminimizer_free},
6117 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_name", _wrap_gsl_multimin_fdfminimizer_name},
6118 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_iterate", _wrap_gsl_multimin_fdfminimizer_iterate},
6119 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_restart", _wrap_gsl_multimin_fdfminimizer_restart},
6120 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_x", _wrap_gsl_multimin_fdfminimizer_x},
6121 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_dx", _wrap_gsl_multimin_fdfminimizer_dx},
6122 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_gradient", _wrap_gsl_multimin_fdfminimizer_gradient},
6123 {"Math::GSL::Multiminc::gsl_multimin_fdfminimizer_minimum", _wrap_gsl_multimin_fdfminimizer_minimum},
6124 {0,0}
6125 };
6126 /* -----------------------------------------------------------------------------
6127  * Type initialization:
6128  * This problem is tough by the requirement that no dynamic
6129  * memory is used. Also, since swig_type_info structures store pointers to
6130  * swig_cast_info structures and swig_cast_info structures store pointers back
6131  * to swig_type_info structures, we need some lookup code at initialization.
6132  * The idea is that swig generates all the structures that are needed.
6133  * The runtime then collects these partially filled structures.
6134  * The SWIG_InitializeModule function takes these initial arrays out of
6135  * swig_module, and does all the lookup, filling in the swig_module.types
6136  * array with the correct data and linking the correct swig_cast_info
6137  * structures together.
6138  *
6139  * The generated swig_type_info structures are assigned statically to an initial
6140  * array. We just loop through that array, and handle each type individually.
6141  * First we lookup if this type has been already loaded, and if so, use the
6142  * loaded structure instead of the generated one. Then we have to fill in the
6143  * cast linked list. The cast data is initially stored in something like a
6144  * two-dimensional array. Each row corresponds to a type (there are the same
6145  * number of rows as there are in the swig_type_initial array). Each entry in
6146  * a column is one of the swig_cast_info structures for that type.
6147  * The cast_initial array is actually an array of arrays, because each row has
6148  * a variable number of columns. So to actually build the cast linked list,
6149  * we find the array of casts associated with the type, and loop through it
6150  * adding the casts to the list. The one last trick we need to do is making
6151  * sure the type pointer in the swig_cast_info struct is correct.
6152  *
6153  * First off, we lookup the cast->type name to see if it is already loaded.
6154  * There are three cases to handle:
6155  *  1) If the cast->type has already been loaded AND the type we are adding
6156  *     casting info to has not been loaded (it is in this module), THEN we
6157  *     replace the cast->type pointer with the type pointer that has already
6158  *     been loaded.
6159  *  2) If BOTH types (the one we are adding casting info to, and the
6160  *     cast->type) are loaded, THEN the cast info has already been loaded by
6161  *     the previous module so we just ignore it.
6162  *  3) Finally, if cast->type has not already been loaded, then we add that
6163  *     swig_cast_info to the linked list (because the cast->type) pointer will
6164  *     be correct.
6165  * ----------------------------------------------------------------------------- */
6166 
6167 #ifdef __cplusplus
6168 extern "C" {
6169 #if 0
6170 } /* c-mode */
6171 #endif
6172 #endif
6173 
6174 #if 0
6175 #define SWIGRUNTIME_DEBUG
6176 #endif
6177 
6178 
6179 SWIGRUNTIME void
SWIG_InitializeModule(void * clientdata)6180 SWIG_InitializeModule(void *clientdata) {
6181   size_t i;
6182   swig_module_info *module_head, *iter;
6183   int init;
6184 
6185   /* check to see if the circular list has been setup, if not, set it up */
6186   if (swig_module.next==0) {
6187     /* Initialize the swig_module */
6188     swig_module.type_initial = swig_type_initial;
6189     swig_module.cast_initial = swig_cast_initial;
6190     swig_module.next = &swig_module;
6191     init = 1;
6192   } else {
6193     init = 0;
6194   }
6195 
6196   /* Try and load any already created modules */
6197   module_head = SWIG_GetModule(clientdata);
6198   if (!module_head) {
6199     /* This is the first module loaded for this interpreter */
6200     /* so set the swig module into the interpreter */
6201     SWIG_SetModule(clientdata, &swig_module);
6202   } else {
6203     /* the interpreter has loaded a SWIG module, but has it loaded this one? */
6204     iter=module_head;
6205     do {
6206       if (iter==&swig_module) {
6207         /* Our module is already in the list, so there's nothing more to do. */
6208         return;
6209       }
6210       iter=iter->next;
6211     } while (iter!= module_head);
6212 
6213     /* otherwise we must add our module into the list */
6214     swig_module.next = module_head->next;
6215     module_head->next = &swig_module;
6216   }
6217 
6218   /* When multiple interpreters are used, a module could have already been initialized in
6219        a different interpreter, but not yet have a pointer in this interpreter.
6220        In this case, we do not want to continue adding types... everything should be
6221        set up already */
6222   if (init == 0) return;
6223 
6224   /* Now work on filling in swig_module.types */
6225 #ifdef SWIGRUNTIME_DEBUG
6226   printf("SWIG_InitializeModule: size %lu\n", (unsigned long)swig_module.size);
6227 #endif
6228   for (i = 0; i < swig_module.size; ++i) {
6229     swig_type_info *type = 0;
6230     swig_type_info *ret;
6231     swig_cast_info *cast;
6232 
6233 #ifdef SWIGRUNTIME_DEBUG
6234     printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
6235 #endif
6236 
6237     /* if there is another module already loaded */
6238     if (swig_module.next != &swig_module) {
6239       type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name);
6240     }
6241     if (type) {
6242       /* Overwrite clientdata field */
6243 #ifdef SWIGRUNTIME_DEBUG
6244       printf("SWIG_InitializeModule: found type %s\n", type->name);
6245 #endif
6246       if (swig_module.type_initial[i]->clientdata) {
6247         type->clientdata = swig_module.type_initial[i]->clientdata;
6248 #ifdef SWIGRUNTIME_DEBUG
6249         printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name);
6250 #endif
6251       }
6252     } else {
6253       type = swig_module.type_initial[i];
6254     }
6255 
6256     /* Insert casting types */
6257     cast = swig_module.cast_initial[i];
6258     while (cast->type) {
6259       /* Don't need to add information already in the list */
6260       ret = 0;
6261 #ifdef SWIGRUNTIME_DEBUG
6262       printf("SWIG_InitializeModule: look cast %s\n", cast->type->name);
6263 #endif
6264       if (swig_module.next != &swig_module) {
6265         ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name);
6266 #ifdef SWIGRUNTIME_DEBUG
6267         if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name);
6268 #endif
6269       }
6270       if (ret) {
6271         if (type == swig_module.type_initial[i]) {
6272 #ifdef SWIGRUNTIME_DEBUG
6273           printf("SWIG_InitializeModule: skip old type %s\n", ret->name);
6274 #endif
6275           cast->type = ret;
6276           ret = 0;
6277         } else {
6278           /* Check for casting already in the list */
6279           swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type);
6280 #ifdef SWIGRUNTIME_DEBUG
6281           if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name);
6282 #endif
6283           if (!ocast) ret = 0;
6284         }
6285       }
6286 
6287       if (!ret) {
6288 #ifdef SWIGRUNTIME_DEBUG
6289         printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name);
6290 #endif
6291         if (type->cast) {
6292           type->cast->prev = cast;
6293           cast->next = type->cast;
6294         }
6295         type->cast = cast;
6296       }
6297       cast++;
6298     }
6299     /* Set entry in modules->types array equal to the type */
6300     swig_module.types[i] = type;
6301   }
6302   swig_module.types[i] = 0;
6303 
6304 #ifdef SWIGRUNTIME_DEBUG
6305   printf("**** SWIG_InitializeModule: Cast List ******\n");
6306   for (i = 0; i < swig_module.size; ++i) {
6307     int j = 0;
6308     swig_cast_info *cast = swig_module.cast_initial[i];
6309     printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
6310     while (cast->type) {
6311       printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
6312       cast++;
6313       ++j;
6314     }
6315     printf("---- Total casts: %d\n",j);
6316   }
6317   printf("**** SWIG_InitializeModule: Cast List ******\n");
6318 #endif
6319 }
6320 
6321 /* This function will propagate the clientdata field of type to
6322 * any new swig_type_info structures that have been added into the list
6323 * of equivalent types.  It is like calling
6324 * SWIG_TypeClientData(type, clientdata) a second time.
6325 */
6326 SWIGRUNTIME void
SWIG_PropagateClientData(void)6327 SWIG_PropagateClientData(void) {
6328   size_t i;
6329   swig_cast_info *equiv;
6330   static int init_run = 0;
6331 
6332   if (init_run) return;
6333   init_run = 1;
6334 
6335   for (i = 0; i < swig_module.size; i++) {
6336     if (swig_module.types[i]->clientdata) {
6337       equiv = swig_module.types[i]->cast;
6338       while (equiv) {
6339         if (!equiv->converter) {
6340           if (equiv->type && !equiv->type->clientdata)
6341           SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata);
6342         }
6343         equiv = equiv->next;
6344       }
6345     }
6346   }
6347 }
6348 
6349 #ifdef __cplusplus
6350 #if 0
6351 {
6352   /* c-mode */
6353 #endif
6354 }
6355 #endif
6356 
6357 
6358 
6359 #if defined(__cplusplus) && ! defined(XSPROTO)
6360 extern "C"
6361 #endif
6362 
XS(SWIG_init)6363 XS(SWIG_init) {
6364   dXSARGS;
6365   int i;
6366   (void)items;
6367 
6368   SWIG_InitializeModule(0);
6369 
6370   /* Install commands */
6371   for (i = 0; swig_commands[i].name; i++) {
6372     /* Casts only needed for Perl < 5.10. */
6373 #ifdef __cplusplus
6374     newXS(const_cast<char*>(swig_commands[i].name), swig_commands[i].wrapper, const_cast<char*>(__FILE__));
6375 #else
6376     newXS((char*)swig_commands[i].name, swig_commands[i].wrapper, (char*)__FILE__);
6377 #endif
6378   }
6379 
6380   /* Install variables */
6381   for (i = 0; swig_variables[i].name; i++) {
6382     SV *sv;
6383     sv = get_sv(swig_variables[i].name, TRUE | 0x2 | GV_ADDMULTI);
6384     if (swig_variables[i].type) {
6385       SWIG_MakePtr(sv,(void *)1, *swig_variables[i].type,0);
6386     } else {
6387       sv_setiv(sv,(IV) 0);
6388     }
6389     swig_create_magic(sv, swig_variables[i].name, swig_variables[i].set, swig_variables[i].get);
6390   }
6391 
6392   /* Install constant */
6393   for (i = 0; swig_constants[i].type; i++) {
6394     SV *sv;
6395     sv = get_sv(swig_constants[i].name, TRUE | 0x2 | GV_ADDMULTI);
6396     switch(swig_constants[i].type) {
6397     case SWIG_INT:
6398       sv_setiv(sv, (IV) swig_constants[i].lvalue);
6399       break;
6400     case SWIG_FLOAT:
6401       sv_setnv(sv, (double) swig_constants[i].dvalue);
6402       break;
6403     case SWIG_STRING:
6404       sv_setpv(sv, (const char *) swig_constants[i].pvalue);
6405       break;
6406     case SWIG_POINTER:
6407       SWIG_MakePtr(sv, swig_constants[i].pvalue, *(swig_constants[i].ptype),0);
6408       break;
6409     case SWIG_BINARY:
6410       SWIG_MakePackedObj(sv, swig_constants[i].pvalue, swig_constants[i].lvalue, *(swig_constants[i].ptype));
6411       break;
6412     default:
6413       break;
6414     }
6415     SvREADONLY_on(sv);
6416   }
6417 
6418   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6419     SV *sv = get_sv((char*) SWIG_prefix "GSL_VERSION", TRUE | 0x2 | GV_ADDMULTI);
6420     sv_setsv(sv, SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)(2.7)));
6421     SvREADONLY_on(sv);
6422   } while(0) /*@SWIG@*/;
6423   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6424     SV *sv = get_sv((char*) SWIG_prefix "GSL_MAJOR_VERSION", TRUE | 0x2 | GV_ADDMULTI);
6425     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(2)));
6426     SvREADONLY_on(sv);
6427   } while(0) /*@SWIG@*/;
6428   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6429     SV *sv = get_sv((char*) SWIG_prefix "GSL_MINOR_VERSION", TRUE | 0x2 | GV_ADDMULTI);
6430     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(7)));
6431     SvREADONLY_on(sv);
6432   } while(0) /*@SWIG@*/;
6433   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6434     SV *sv = get_sv((char*) SWIG_prefix "GSL_POSZERO", TRUE | 0x2 | GV_ADDMULTI);
6435     sv_setsv(sv, SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)((+0.0))));
6436     SvREADONLY_on(sv);
6437   } while(0) /*@SWIG@*/;
6438   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6439     SV *sv = get_sv((char*) SWIG_prefix "GSL_NEGZERO", TRUE | 0x2 | GV_ADDMULTI);
6440     sv_setsv(sv, SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)((-0.0))));
6441     SvREADONLY_on(sv);
6442   } while(0) /*@SWIG@*/;
6443   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6444     SV *sv = get_sv((char*) SWIG_prefix "GSL_SUCCESS", TRUE | 0x2 | GV_ADDMULTI);
6445     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_SUCCESS)));
6446     SvREADONLY_on(sv);
6447   } while(0) /*@SWIG@*/;
6448   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6449     SV *sv = get_sv((char*) SWIG_prefix "GSL_FAILURE", TRUE | 0x2 | GV_ADDMULTI);
6450     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_FAILURE)));
6451     SvREADONLY_on(sv);
6452   } while(0) /*@SWIG@*/;
6453   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6454     SV *sv = get_sv((char*) SWIG_prefix "GSL_CONTINUE", TRUE | 0x2 | GV_ADDMULTI);
6455     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_CONTINUE)));
6456     SvREADONLY_on(sv);
6457   } while(0) /*@SWIG@*/;
6458   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6459     SV *sv = get_sv((char*) SWIG_prefix "GSL_EDOM", TRUE | 0x2 | GV_ADDMULTI);
6460     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EDOM)));
6461     SvREADONLY_on(sv);
6462   } while(0) /*@SWIG@*/;
6463   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6464     SV *sv = get_sv((char*) SWIG_prefix "GSL_ERANGE", TRUE | 0x2 | GV_ADDMULTI);
6465     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ERANGE)));
6466     SvREADONLY_on(sv);
6467   } while(0) /*@SWIG@*/;
6468   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6469     SV *sv = get_sv((char*) SWIG_prefix "GSL_EFAULT", TRUE | 0x2 | GV_ADDMULTI);
6470     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EFAULT)));
6471     SvREADONLY_on(sv);
6472   } while(0) /*@SWIG@*/;
6473   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6474     SV *sv = get_sv((char*) SWIG_prefix "GSL_EINVAL", TRUE | 0x2 | GV_ADDMULTI);
6475     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EINVAL)));
6476     SvREADONLY_on(sv);
6477   } while(0) /*@SWIG@*/;
6478   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6479     SV *sv = get_sv((char*) SWIG_prefix "GSL_EFAILED", TRUE | 0x2 | GV_ADDMULTI);
6480     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EFAILED)));
6481     SvREADONLY_on(sv);
6482   } while(0) /*@SWIG@*/;
6483   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6484     SV *sv = get_sv((char*) SWIG_prefix "GSL_EFACTOR", TRUE | 0x2 | GV_ADDMULTI);
6485     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EFACTOR)));
6486     SvREADONLY_on(sv);
6487   } while(0) /*@SWIG@*/;
6488   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6489     SV *sv = get_sv((char*) SWIG_prefix "GSL_ESANITY", TRUE | 0x2 | GV_ADDMULTI);
6490     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ESANITY)));
6491     SvREADONLY_on(sv);
6492   } while(0) /*@SWIG@*/;
6493   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6494     SV *sv = get_sv((char*) SWIG_prefix "GSL_ENOMEM", TRUE | 0x2 | GV_ADDMULTI);
6495     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ENOMEM)));
6496     SvREADONLY_on(sv);
6497   } while(0) /*@SWIG@*/;
6498   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6499     SV *sv = get_sv((char*) SWIG_prefix "GSL_EBADFUNC", TRUE | 0x2 | GV_ADDMULTI);
6500     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EBADFUNC)));
6501     SvREADONLY_on(sv);
6502   } while(0) /*@SWIG@*/;
6503   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6504     SV *sv = get_sv((char*) SWIG_prefix "GSL_ERUNAWAY", TRUE | 0x2 | GV_ADDMULTI);
6505     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ERUNAWAY)));
6506     SvREADONLY_on(sv);
6507   } while(0) /*@SWIG@*/;
6508   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6509     SV *sv = get_sv((char*) SWIG_prefix "GSL_EMAXITER", TRUE | 0x2 | GV_ADDMULTI);
6510     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EMAXITER)));
6511     SvREADONLY_on(sv);
6512   } while(0) /*@SWIG@*/;
6513   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6514     SV *sv = get_sv((char*) SWIG_prefix "GSL_EZERODIV", TRUE | 0x2 | GV_ADDMULTI);
6515     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EZERODIV)));
6516     SvREADONLY_on(sv);
6517   } while(0) /*@SWIG@*/;
6518   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6519     SV *sv = get_sv((char*) SWIG_prefix "GSL_EBADTOL", TRUE | 0x2 | GV_ADDMULTI);
6520     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EBADTOL)));
6521     SvREADONLY_on(sv);
6522   } while(0) /*@SWIG@*/;
6523   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6524     SV *sv = get_sv((char*) SWIG_prefix "GSL_ETOL", TRUE | 0x2 | GV_ADDMULTI);
6525     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ETOL)));
6526     SvREADONLY_on(sv);
6527   } while(0) /*@SWIG@*/;
6528   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6529     SV *sv = get_sv((char*) SWIG_prefix "GSL_EUNDRFLW", TRUE | 0x2 | GV_ADDMULTI);
6530     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EUNDRFLW)));
6531     SvREADONLY_on(sv);
6532   } while(0) /*@SWIG@*/;
6533   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6534     SV *sv = get_sv((char*) SWIG_prefix "GSL_EOVRFLW", TRUE | 0x2 | GV_ADDMULTI);
6535     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EOVRFLW)));
6536     SvREADONLY_on(sv);
6537   } while(0) /*@SWIG@*/;
6538   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6539     SV *sv = get_sv((char*) SWIG_prefix "GSL_ELOSS", TRUE | 0x2 | GV_ADDMULTI);
6540     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ELOSS)));
6541     SvREADONLY_on(sv);
6542   } while(0) /*@SWIG@*/;
6543   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6544     SV *sv = get_sv((char*) SWIG_prefix "GSL_EROUND", TRUE | 0x2 | GV_ADDMULTI);
6545     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EROUND)));
6546     SvREADONLY_on(sv);
6547   } while(0) /*@SWIG@*/;
6548   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6549     SV *sv = get_sv((char*) SWIG_prefix "GSL_EBADLEN", TRUE | 0x2 | GV_ADDMULTI);
6550     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EBADLEN)));
6551     SvREADONLY_on(sv);
6552   } while(0) /*@SWIG@*/;
6553   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6554     SV *sv = get_sv((char*) SWIG_prefix "GSL_ENOTSQR", TRUE | 0x2 | GV_ADDMULTI);
6555     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ENOTSQR)));
6556     SvREADONLY_on(sv);
6557   } while(0) /*@SWIG@*/;
6558   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6559     SV *sv = get_sv((char*) SWIG_prefix "GSL_ESING", TRUE | 0x2 | GV_ADDMULTI);
6560     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ESING)));
6561     SvREADONLY_on(sv);
6562   } while(0) /*@SWIG@*/;
6563   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6564     SV *sv = get_sv((char*) SWIG_prefix "GSL_EDIVERGE", TRUE | 0x2 | GV_ADDMULTI);
6565     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EDIVERGE)));
6566     SvREADONLY_on(sv);
6567   } while(0) /*@SWIG@*/;
6568   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6569     SV *sv = get_sv((char*) SWIG_prefix "GSL_EUNSUP", TRUE | 0x2 | GV_ADDMULTI);
6570     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EUNSUP)));
6571     SvREADONLY_on(sv);
6572   } while(0) /*@SWIG@*/;
6573   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6574     SV *sv = get_sv((char*) SWIG_prefix "GSL_EUNIMPL", TRUE | 0x2 | GV_ADDMULTI);
6575     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EUNIMPL)));
6576     SvREADONLY_on(sv);
6577   } while(0) /*@SWIG@*/;
6578   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6579     SV *sv = get_sv((char*) SWIG_prefix "GSL_ECACHE", TRUE | 0x2 | GV_ADDMULTI);
6580     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ECACHE)));
6581     SvREADONLY_on(sv);
6582   } while(0) /*@SWIG@*/;
6583   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6584     SV *sv = get_sv((char*) SWIG_prefix "GSL_ETABLE", TRUE | 0x2 | GV_ADDMULTI);
6585     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ETABLE)));
6586     SvREADONLY_on(sv);
6587   } while(0) /*@SWIG@*/;
6588   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6589     SV *sv = get_sv((char*) SWIG_prefix "GSL_ENOPROG", TRUE | 0x2 | GV_ADDMULTI);
6590     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ENOPROG)));
6591     SvREADONLY_on(sv);
6592   } while(0) /*@SWIG@*/;
6593   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6594     SV *sv = get_sv((char*) SWIG_prefix "GSL_ENOPROGJ", TRUE | 0x2 | GV_ADDMULTI);
6595     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ENOPROGJ)));
6596     SvREADONLY_on(sv);
6597   } while(0) /*@SWIG@*/;
6598   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6599     SV *sv = get_sv((char*) SWIG_prefix "GSL_ETOLF", TRUE | 0x2 | GV_ADDMULTI);
6600     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ETOLF)));
6601     SvREADONLY_on(sv);
6602   } while(0) /*@SWIG@*/;
6603   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6604     SV *sv = get_sv((char*) SWIG_prefix "GSL_ETOLX", TRUE | 0x2 | GV_ADDMULTI);
6605     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ETOLX)));
6606     SvREADONLY_on(sv);
6607   } while(0) /*@SWIG@*/;
6608   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6609     SV *sv = get_sv((char*) SWIG_prefix "GSL_ETOLG", TRUE | 0x2 | GV_ADDMULTI);
6610     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ETOLG)));
6611     SvREADONLY_on(sv);
6612   } while(0) /*@SWIG@*/;
6613   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
6614     SV *sv = get_sv((char*) SWIG_prefix "GSL_EOF", TRUE | 0x2 | GV_ADDMULTI);
6615     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EOF)));
6616     SvREADONLY_on(sv);
6617   } while(0) /*@SWIG@*/;
6618   SWIG_TypeClientData(SWIGTYPE_p_gsl_multimin_function_struct, (void*) "Math::GSL::Multimin::gsl_multimin_function_struct");
6619   SWIG_TypeClientData(SWIGTYPE_p_gsl_multimin_function_fdf_struct, (void*) "Math::GSL::Multimin::gsl_multimin_function_fdf_struct");
6620   SWIG_TypeClientData(SWIGTYPE_p_gsl_multimin_fminimizer_type, (void*) "Math::GSL::Multimin::gsl_multimin_fminimizer_type");
6621   SWIG_TypeClientData(SWIGTYPE_p_gsl_multimin_fminimizer, (void*) "Math::GSL::Multimin::gsl_multimin_fminimizer");
6622   SWIG_TypeClientData(SWIGTYPE_p_gsl_multimin_fdfminimizer_type, (void*) "Math::GSL::Multimin::gsl_multimin_fdfminimizer_type");
6623   SWIG_TypeClientData(SWIGTYPE_p_gsl_multimin_fdfminimizer, (void*) "Math::GSL::Multimin::gsl_multimin_fdfminimizer");
6624   ST(0) = &PL_sv_yes;
6625   XSRETURN(1);
6626 }
6627 
6628