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_double swig_types[2]
1522 #define SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_int__void swig_types[3]
1523 #define SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_q_const__char__void swig_types[4]
1524 #define SWIGTYPE_p_gsl_histogram2d swig_types[5]
1525 #define SWIGTYPE_p_gsl_histogram2d_pdf swig_types[6]
1526 #define SWIGTYPE_p_size_t swig_types[7]
1527 static swig_type_info *swig_types[9];
1528 static swig_module_info swig_module = {swig_types, 8, 0, 0, 0, 0};
1529 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
1530 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
1531 
1532 /* -------- TYPES TABLE (END) -------- */
1533 
1534 #define SWIG_init    boot_Math__GSL__Histogram2D
1535 
1536 #define SWIG_name   "Math::GSL::Histogram2Dc::boot_Math__GSL__Histogram2D"
1537 #define SWIG_prefix "Math::GSL::Histogram2Dc::"
1538 
1539 #define SWIGVERSION 0x040001
1540 #define SWIG_VERSION SWIGVERSION
1541 
1542 
1543 #define SWIG_as_voidptr(a) (void *)((const void *)(a))
1544 #define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),(void**)(a))
1545 
1546 
1547 #ifdef __cplusplus
1548 extern "C"
1549 #endif
1550 #ifndef PERL_OBJECT
1551 #ifndef MULTIPLICITY
1552 SWIGEXPORT void SWIG_init (CV* cv);
1553 #else
1554 SWIGEXPORT void SWIG_init (pTHXo_ CV* cv);
1555 #endif
1556 #else
1557 SWIGEXPORT void SWIG_init (CV *cv, CPerlObj *);
1558 #endif
1559 
1560 
1561 SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(double value)1562 SWIG_From_double  SWIG_PERL_DECL_ARGS_1(double value)
1563 {
1564   return sv_2mortal(newSVnv(value));
1565 }
1566 
1567 
1568 SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(long value)1569 SWIG_From_long  SWIG_PERL_DECL_ARGS_1(long value)
1570 {
1571   SV *sv;
1572   if (IVSIZE >= sizeof(value) || (value >= IV_MIN && value <= IV_MAX))
1573     sv = newSViv(value);
1574   else
1575     sv = newSVpvf("%ld", value);
1576   return sv_2mortal(sv);
1577 }
1578 
1579 
1580 SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(int value)1581 SWIG_From_int  SWIG_PERL_DECL_ARGS_1(int value)
1582 {
1583   return SWIG_From_long  SWIG_PERL_CALL_ARGS_1(value);
1584 }
1585 
1586 
1587 SWIGINTERN swig_type_info*
SWIG_pchar_descriptor(void)1588 SWIG_pchar_descriptor(void)
1589 {
1590   static int init = 0;
1591   static swig_type_info* info = 0;
1592   if (!init) {
1593     info = SWIG_TypeQuery("_p_char");
1594     init = 1;
1595   }
1596   return info;
1597 }
1598 
1599 
1600 SWIGINTERN int
SWIG_AsCharPtrAndSize(SV * obj,char ** cptr,size_t * psize,int * alloc)1601 SWIG_AsCharPtrAndSize(SV *obj, char** cptr, size_t* psize, int *alloc)
1602 {
1603   if (SvMAGICAL(obj)) {
1604      SV *tmp = sv_newmortal();
1605      SvSetSV(tmp, obj);
1606      obj = tmp;
1607   }
1608   if (SvPOK(obj)) {
1609     STRLEN len = 0;
1610     char *cstr = SvPV(obj, len);
1611     size_t size = len + 1;
1612     if (cptr)  {
1613       if (alloc) {
1614 	if (*alloc == SWIG_NEWOBJ) {
1615 	  *cptr = (char *)memcpy(malloc((size)*sizeof(char)), cstr, sizeof(char)*(size));
1616 	} else {
1617 	  *cptr = cstr;
1618 	  *alloc = SWIG_OLDOBJ;
1619 	}
1620       }
1621     }
1622     if (psize) *psize = size;
1623     return SWIG_OK;
1624   } else {
1625     swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
1626     if (pchar_descriptor) {
1627       char* vptr = 0;
1628       if (SWIG_ConvertPtr(obj, (void**)&vptr, pchar_descriptor, 0) == SWIG_OK) {
1629 	if (cptr) *cptr = vptr;
1630 	if (psize) *psize = vptr ? (strlen(vptr) + 1) : 0;
1631 	if (alloc) *alloc = SWIG_OLDOBJ;
1632 	return SWIG_OK;
1633       }
1634     }
1635   }
1636   return SWIG_TypeError;
1637 }
1638 
1639 
1640 
1641 
1642 
1643 #include <limits.h>
1644 #if !defined(SWIG_NO_LLONG_MAX)
1645 # if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
1646 #   define LLONG_MAX __LONG_LONG_MAX__
1647 #   define LLONG_MIN (-LLONG_MAX - 1LL)
1648 #   define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
1649 # endif
1650 #endif
1651 
1652 
1653 #include <stdlib.h>
1654 #ifdef _MSC_VER
1655 # ifndef strtoull
1656 #  define strtoull _strtoui64
1657 # endif
1658 # ifndef strtoll
1659 #  define strtoll _strtoi64
1660 # endif
1661 #endif
1662 
1663 
1664 SWIGINTERN int
SWIG_PERL_DECL_ARGS_2(SV * obj,double * val)1665 SWIG_AsVal_double SWIG_PERL_DECL_ARGS_2(SV *obj, double *val)
1666 {
1667   if (SvNIOK(obj)) {
1668     if (val) *val = SvNV(obj);
1669     return SWIG_OK;
1670   } else if (SvIOK(obj)) {
1671     if (val) *val = (double) SvIV(obj);
1672     return SWIG_AddCast(SWIG_OK);
1673   } else {
1674     const char *nptr = SvPV_nolen(obj);
1675     if (nptr) {
1676       char *endptr;
1677       double v;
1678       errno = 0;
1679       v = strtod(nptr, &endptr);
1680       if (errno == ERANGE) {
1681 	errno = 0;
1682 	return SWIG_OverflowError;
1683       } else {
1684 	if (*endptr == '\0') {
1685 	  if (val) *val = v;
1686 	  return SWIG_Str2NumCast(SWIG_OK);
1687 	}
1688       }
1689     }
1690   }
1691   return SWIG_TypeError;
1692 }
1693 
1694 
1695 #include <float.h>
1696 
1697 
1698 #include <math.h>
1699 
1700 
1701 SWIGINTERNINLINE int
SWIG_CanCastAsInteger(double * d,double min,double max)1702 SWIG_CanCastAsInteger(double *d, double min, double max) {
1703   double x = *d;
1704   if ((min <= x && x <= max)) {
1705    double fx = floor(x);
1706    double cx = ceil(x);
1707    double rd =  ((x - fx) < 0.5) ? fx : cx; /* simple rint */
1708    if ((errno == EDOM) || (errno == ERANGE)) {
1709      errno = 0;
1710    } else {
1711      double summ, reps, diff;
1712      if (rd < x) {
1713        diff = x - rd;
1714      } else if (rd > x) {
1715        diff = rd - x;
1716      } else {
1717        return 1;
1718      }
1719      summ = rd + x;
1720      reps = diff/summ;
1721      if (reps < 8*DBL_EPSILON) {
1722        *d = rd;
1723        return 1;
1724      }
1725    }
1726   }
1727   return 0;
1728 }
1729 
1730 
1731 SWIGINTERN int
SWIG_PERL_DECL_ARGS_2(SV * obj,long * val)1732 SWIG_AsVal_long SWIG_PERL_DECL_ARGS_2(SV *obj, long* val)
1733 {
1734   if (SvUOK(obj)) {
1735     UV v = SvUV(obj);
1736     if (UVSIZE < sizeof(*val) || v <= LONG_MAX) {
1737       if (val) *val = v;
1738       return SWIG_OK;
1739     }
1740     return SWIG_OverflowError;
1741   } else if (SvIOK(obj)) {
1742     IV v = SvIV(obj);
1743     if (IVSIZE <= sizeof(*val) || (v >= LONG_MIN && v <= LONG_MAX)) {
1744       if(val) *val = v;
1745       return SWIG_OK;
1746     }
1747     return SWIG_OverflowError;
1748   } else {
1749     int dispatch = 0;
1750     const char *nptr = SvPV_nolen(obj);
1751     if (nptr) {
1752       char *endptr;
1753       long v;
1754       errno = 0;
1755       v = strtol(nptr, &endptr,0);
1756       if (errno == ERANGE) {
1757 	errno = 0;
1758 	return SWIG_OverflowError;
1759       } else {
1760 	if (*endptr == '\0') {
1761 	  if (val) *val = v;
1762 	  return SWIG_Str2NumCast(SWIG_OK);
1763 	}
1764       }
1765     }
1766     if (!dispatch) {
1767       double d;
1768       int res = SWIG_AddCast(SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(obj,&d));
1769       if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, LONG_MIN, LONG_MAX)) {
1770 	if (val) *val = (long)(d);
1771 	return res;
1772       }
1773     }
1774   }
1775   return SWIG_TypeError;
1776 }
1777 
1778 
1779 SWIGINTERN int
SWIG_PERL_DECL_ARGS_2(SV * obj,int * val)1780 SWIG_AsVal_int SWIG_PERL_DECL_ARGS_2(SV * obj, int *val)
1781 {
1782   long v;
1783   int res = SWIG_AsVal_long SWIG_PERL_CALL_ARGS_2(obj, &v);
1784   if (SWIG_IsOK(res)) {
1785     if ((v < INT_MIN || v > INT_MAX)) {
1786       return SWIG_OverflowError;
1787     } else {
1788       if (val) *val = (int)(v);
1789     }
1790   }
1791   return res;
1792 }
1793 
1794 
1795 SWIGINTERNINLINE SV *
SWIG_FromCharPtrAndSize(const char * carray,size_t size)1796 SWIG_FromCharPtrAndSize(const char* carray, size_t size)
1797 {
1798   SV *obj = sv_newmortal();
1799   if (carray) {
1800     sv_setpvn(obj, carray, size);
1801   } else {
1802     sv_setsv(obj, &PL_sv_undef);
1803   }
1804   return obj;
1805 }
1806 
1807 
1808 SWIGINTERNINLINE SV *
SWIG_FromCharPtr(const char * cptr)1809 SWIG_FromCharPtr(const char *cptr)
1810 {
1811   return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));
1812 }
1813 
1814 
1815     #include "gsl/gsl_nan.h"
1816     #include "gsl/gsl_errno.h"
1817     #include "gsl/gsl_math.h"
1818     #include "gsl/gsl_monte.h"
1819 
1820 
1821     struct perl_array {
1822         I32 len;
1823         AV *array;
1824     };
1825 
1826 
1827 
1828 enum awType { awDouble, awFloat, awInt, awUnsigned };
1829 
1830 typedef struct {
1831     I32 size;
1832     enum awType type;
1833     void * data;
1834 } array_wrapper;
1835 
array_wrapper_alloc(int numelem,enum awType type)1836 array_wrapper * array_wrapper_alloc(int numelem, enum awType type){
1837     array_wrapper * rv =  malloc(sizeof(array_wrapper));
1838 
1839     if (rv == NULL)
1840         croak("array_wrapper_alloc: can't malloc wrapper\n");
1841 
1842     switch (type){
1843         case awDouble:
1844             rv->data = malloc(sizeof(double) * numelem);
1845             break;
1846         case awFloat:
1847             rv->data = malloc(sizeof(float) * numelem);
1848             break;
1849         case awInt:
1850             rv->data = malloc(sizeof(int) * numelem);
1851             break;
1852         case awUnsigned:
1853             rv->data = malloc(sizeof(unsigned int) * numelem);
1854             break;
1855         default:
1856             croak("array_wrapper_alloc: type should be awDouble, awFloat, awInt, or awUnsigned");
1857     }
1858 
1859     if (rv->data == NULL)
1860         croak("array_wrapper_alloc: can't malloc data");
1861 
1862     rv->size = numelem;
1863     rv->type = type;
1864     return rv;
1865 }
1866 
array_wrapper_free(array_wrapper * daw)1867 void array_wrapper_free(array_wrapper * daw){
1868     free(daw->data);
1869     free(daw);
1870 }
1871 
1872 
1873     /* structure to hold required information while the gsl function call
1874        for each callback
1875      */
1876     struct gsl_function_perl {
1877         gsl_function C_gsl_function;
1878         SV * function;
1879         SV * params;
1880     };
1881 
1882     struct gsl_function_fdf_perl {
1883         gsl_function_fdf C_gsl_function_fdf;
1884         SV * f;
1885         SV * df;
1886         SV * fdf;
1887         SV * params;
1888     };
1889 
1890     struct gsl_monte_function_perl {
1891         gsl_monte_function C_gsl_monte_function;
1892         SV * f;
1893         SV * dim;
1894         SV * params;
1895     };
1896 
gsl_function_perl_free(struct gsl_function_perl * perl_f)1897     void gsl_function_perl_free(struct gsl_function_perl * perl_f){
1898         if (perl_f != NULL) {
1899             SvREFCNT_dec(perl_f->function);
1900             SvREFCNT_dec(perl_f->params);
1901             Safefree(perl_f);
1902         }
1903     }
1904 
gsl_function_fdf_perl_free(struct gsl_function_fdf_perl * perl_fdf)1905     void gsl_function_fdf_perl_free(struct gsl_function_fdf_perl * perl_fdf){
1906         if (perl_fdf != NULL) {
1907 	  SvREFCNT_dec(perl_fdf->f);
1908 	  SvREFCNT_dec(perl_fdf->df);
1909 	  SvREFCNT_dec(perl_fdf->fdf);
1910 	  SvREFCNT_dec(perl_fdf->params);
1911 	  Safefree(perl_fdf);
1912         }
1913     }
1914 
1915     /* These functions (C callbacks) calls the perl callbacks.
1916        Info for perl callback can be found using the 'void*params' parameter
1917     */
call_gsl_function_x_params(SV * function,double x,SV * params)1918     double call_gsl_function_x_params(SV* function, double x, SV *params){
1919         unsigned int count;
1920         double y;
1921         dSP;
1922 
1923         //fprintf(stderr, "LOOKUP CALLBACK\n");
1924         ENTER;
1925         SAVETMPS;
1926 
1927         PUSHMARK(SP);
1928         XPUSHs(sv_2mortal(newSVnv((double)x)));
1929         XPUSHs(params);
1930         PUTBACK;                                /* make local stack pointer global */
1931 
1932         count = call_sv(function, G_SCALAR);
1933         SPAGAIN;
1934 
1935         if (count != 1)
1936                 croak("Expected to call subroutine in scalar context!");
1937 
1938         y = POPn;
1939 
1940         PUTBACK;                                /* make local stack pointer global */
1941         FREETMPS;
1942         LEAVE;
1943 
1944         return y;
1945     }
1946 
call_gsl_function(double x,void * params)1947     double call_gsl_function(double x , void *params){
1948         struct gsl_function_perl *F=(struct gsl_function_perl*)params;
1949 	return call_gsl_function_x_params( F->function, x, F->params );
1950     }
1951 
call_gsl_function_fdf_f(double x,void * params)1952     double call_gsl_function_fdf_f(double x , void *params){
1953         struct gsl_function_fdf_perl *F=(struct gsl_function_fdf_perl*)params;
1954 	return call_gsl_function_x_params( F->f, x, F->params );
1955     }
1956 
call_gsl_function_fdf_df(double x,void * params)1957     double call_gsl_function_fdf_df(double x , void *params){
1958         struct gsl_function_fdf_perl *F=(struct gsl_function_fdf_perl*)params;
1959 	return call_gsl_function_x_params( F->df, x, F->params );
1960     }
1961 
call_gsl_function_fdf_fdf(double x,void * params,double * f,double * df)1962     void call_gsl_function_fdf_fdf(double x , void *params, double *f, double *df ){
1963         struct gsl_function_fdf_perl *F=(struct gsl_function_fdf_perl*)params;
1964 
1965         dSP;
1966 
1967         ENTER;
1968         SAVETMPS;
1969 
1970         PUSHMARK(SP);
1971 	EXTEND(SP, 2);
1972         PUSHs(sv_2mortal(newSVnv((double)x)));
1973         PUSHs(F->params);
1974         PUTBACK;                                /* make local stack pointer global */
1975 
1976 	{
1977 	  unsigned int count = call_sv(F->fdf, G_ARRAY);
1978 	  SPAGAIN;
1979 
1980 	  if (count != 2)
1981 	    croak( "Expected two return values, got %d", count );
1982 	}
1983 
1984 	*df = POPn;
1985         *f = POPn;
1986 
1987         PUTBACK;                                /* make local stack pointer global */
1988         FREETMPS;
1989         LEAVE;
1990     }
1991 
call_gsl_monte_function(double * x_array,size_t dim,void * params)1992     double call_gsl_monte_function(double *x_array , size_t dim, void *params){
1993         struct gsl_monte_function_perl *F=(struct gsl_monte_function_perl*)params;
1994         unsigned int count;
1995         unsigned int i;
1996         AV* perl_array;
1997         double y;
1998         dSP;
1999 
2000         //fprintf(stderr, "LOOKUP CALLBACK\n");
2001         ENTER;
2002         SAVETMPS;
2003 
2004         PUSHMARK(SP);
2005         perl_array=newAV();
2006         sv_2mortal((SV*)perl_array);
2007         XPUSHs(sv_2mortal(newRV((SV *)perl_array)));
2008         for(i=0; i<dim; i++) {
2009                 /* no mortal : it is referenced by the array */
2010                 av_push(perl_array, newSVnv(x_array[i]));
2011         }
2012         XPUSHs(sv_2mortal(newSViv(dim)));
2013         XPUSHs(F->params);
2014         PUTBACK;                                /* make local stack pointer global */
2015 
2016         count = call_sv(F->f, G_SCALAR);
2017         SPAGAIN;
2018 
2019         if (count != 1)
2020                 croak("Expected to call subroutine in scalar context!");
2021 
2022         y = POPn;
2023 
2024         PUTBACK;                                /* make local stack pointer global */
2025         FREETMPS;
2026         LEAVE;
2027 
2028         return y;
2029     }
2030 
2031 
gsl_function_fdf_extract(char * param_name,HV * hash,SV * func[])2032   void gsl_function_fdf_extract( char* param_name, HV* hash, SV* func[] ) {
2033     static const char *keys[3] = { "f", "df", "fdf" };
2034 
2035     int ikey;
2036 
2037     for ( ikey = 0 ; ikey < 3 ; ++ikey ) {
2038       func[ikey] = 0;
2039       const char* key = keys[ikey];
2040       /* it just so happens that strlen(keys[ikey]) == ikey + 1 */
2041       SV** pp_sv = hv_fetch( hash, key, ikey+1, 0 );
2042       SV* function;
2043 
2044       if ( !pp_sv )
2045 	croak("Math::GSL : %s: missing key %s!", param_name, key);
2046 
2047       function = *pp_sv;
2048 
2049       if ( SvPOK(function) || ( SvROK( function ) && SvTYPE(SvRV(function)) == SVt_PVCV ) ) {
2050         /* hold on to SV after the enclosing hash goes away */
2051         SvREFCNT_inc( function );
2052 	func[ikey] = function;
2053       }
2054       else {
2055 	croak( "Math::GSL : %s:  key %s is not a reference to code!", param_name, key);
2056       }
2057     }
2058   }
2059 
2060 
2061 
2062     #include "gsl/gsl_histogram2d.h"
2063 
2064 
2065 SWIGINTERN int
SWIG_PERL_DECL_ARGS_2(SV * obj,unsigned long * val)2066 SWIG_AsVal_unsigned_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, unsigned long *val)
2067 {
2068   if (SvUOK(obj)) {
2069     UV v = SvUV(obj);
2070     if (UVSIZE <= sizeof(*val) || v <= ULONG_MAX) {
2071       if (val) *val = v;
2072       return SWIG_OK;
2073     }
2074     return SWIG_OverflowError;
2075   } else if (SvIOK(obj)) {
2076     IV v = SvIV(obj);
2077     if (v >= 0 && (IVSIZE <= sizeof(*val) || v <= ULONG_MAX)) {
2078       if (val) *val = v;
2079       return SWIG_OK;
2080     }
2081     return SWIG_OverflowError;
2082   } else {
2083     int dispatch = 0;
2084     const char *nptr = SvPV_nolen(obj);
2085     if (nptr) {
2086       char *endptr;
2087       unsigned long v;
2088       errno = 0;
2089       v = strtoul(nptr, &endptr,0);
2090       if (errno == ERANGE) {
2091 	errno = 0;
2092 	return SWIG_OverflowError;
2093       } else {
2094 	if (*endptr == '\0') {
2095 	  if (val) *val = v;
2096 	  return SWIG_Str2NumCast(SWIG_OK);
2097 	}
2098       }
2099     }
2100     if (!dispatch) {
2101       double d;
2102       int res = SWIG_AddCast(SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(obj,&d));
2103       if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, ULONG_MAX)) {
2104 	if (val) *val = (unsigned long)(d);
2105 	return res;
2106       }
2107     }
2108   }
2109   return SWIG_TypeError;
2110 }
2111 
2112 
2113 #if defined(LLONG_MAX) && !defined(SWIG_LONG_LONG_AVAILABLE)
2114 #  define SWIG_LONG_LONG_AVAILABLE
2115 #endif
2116 
2117 
2118 #ifdef SWIG_LONG_LONG_AVAILABLE
2119 SWIGINTERN int
SWIG_PERL_DECL_ARGS_2(SV * obj,unsigned long long * val)2120 SWIG_AsVal_unsigned_SS_long_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, unsigned long long *val)
2121 {
2122   if (SvUOK(obj)) {
2123     /* pretty sure this should be conditional on
2124      * (UVSIZE <= sizeof(*val) || v <= ULLONG_MAX) */
2125     if (val) *val = SvUV(obj);
2126     return SWIG_OK;
2127   } else  if (SvIOK(obj)) {
2128     IV v = SvIV(obj);
2129     if (v >= 0 && (IVSIZE <= sizeof(*val) || v <= ULLONG_MAX)) {
2130       if (val) *val = v;
2131       return SWIG_OK;
2132     } else {
2133       return SWIG_OverflowError;
2134     }
2135   } else {
2136     int dispatch = 0;
2137     const char *nptr = SvPV_nolen(obj);
2138     if (nptr) {
2139       char *endptr;
2140       unsigned long long v;
2141       errno = 0;
2142       v = strtoull(nptr, &endptr,0);
2143       if (errno == ERANGE) {
2144 	errno = 0;
2145 	return SWIG_OverflowError;
2146       } else {
2147 	if (*endptr == '\0') {
2148 	  if (val) *val = v;
2149 	  return SWIG_Str2NumCast(SWIG_OK);
2150 	}
2151       }
2152     }
2153     if (!dispatch) {
2154       const double mant_max = 1LL << DBL_MANT_DIG;
2155       double d;
2156       int res = SWIG_AddCast(SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(obj,&d));
2157       if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, mant_max)) {
2158 	if (val) *val = (unsigned long long)(d);
2159 	return res;
2160       }
2161     }
2162   }
2163   return SWIG_TypeError;
2164 }
2165 #endif
2166 
2167 
2168 SWIGINTERNINLINE int
SWIG_PERL_DECL_ARGS_2(SV * obj,size_t * val)2169 SWIG_AsVal_size_t SWIG_PERL_DECL_ARGS_2(SV * obj, size_t *val)
2170 {
2171   int res = SWIG_TypeError;
2172 #ifdef SWIG_LONG_LONG_AVAILABLE
2173   if (sizeof(size_t) <= sizeof(unsigned long)) {
2174 #endif
2175     unsigned long v;
2176     res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(obj, val ? &v : 0);
2177     if (SWIG_IsOK(res) && val) *val = (size_t)(v);
2178 #ifdef SWIG_LONG_LONG_AVAILABLE
2179   } else if (sizeof(size_t) <= sizeof(unsigned long long)) {
2180     unsigned long long v;
2181     res = SWIG_AsVal_unsigned_SS_long_SS_long SWIG_PERL_CALL_ARGS_2(obj, val ? &v : 0);
2182     if (SWIG_IsOK(res) && val) *val = (size_t)(v);
2183   }
2184 #endif
2185   return res;
2186 }
2187 
2188 
2189 SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(unsigned long value)2190 SWIG_From_unsigned_SS_long  SWIG_PERL_DECL_ARGS_1(unsigned long value)
2191 {
2192   SV *sv;
2193   if (UVSIZE >= sizeof(value) || value <= UV_MAX)
2194     sv = newSVuv(value);
2195   else
2196     sv = newSVpvf("%lu", value);
2197   return sv_2mortal(sv);
2198 }
2199 
2200 
2201 #include <stdio.h>
2202 #if (defined(_MSC_VER) && (_MSC_VER < 1900)) || defined(__BORLANDC__) || defined(_WATCOM)
2203 # ifndef snprintf
2204 #  define snprintf _snprintf
2205 # endif
2206 #endif
2207 
2208 
2209 #ifdef SWIG_LONG_LONG_AVAILABLE
2210 SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(unsigned long long value)2211 SWIG_From_unsigned_SS_long_SS_long  SWIG_PERL_DECL_ARGS_1(unsigned long long value)
2212 {
2213   SV *sv;
2214   if (UVSIZE >= sizeof(value) || value <= UV_MAX)
2215     sv = newSVuv((UV)(value));
2216   else {
2217     //sv = newSVpvf("%llu", value); doesn't work in non 64bit Perl
2218     char temp[256];
2219     sprintf(temp, "%llu", value);
2220     sv = newSVpv(temp, 0);
2221   }
2222   return sv_2mortal(sv);
2223 }
2224 #endif
2225 
2226 
2227 SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(size_t value)2228 SWIG_From_size_t  SWIG_PERL_DECL_ARGS_1(size_t value)
2229 {
2230 #ifdef SWIG_LONG_LONG_AVAILABLE
2231   if (sizeof(size_t) <= sizeof(unsigned long)) {
2232 #endif
2233     return SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1((unsigned long)(value));
2234 #ifdef SWIG_LONG_LONG_AVAILABLE
2235   } else {
2236     /* assume sizeof(size_t) <= sizeof(unsigned long long) */
2237     return SWIG_From_unsigned_SS_long_SS_long  SWIG_PERL_CALL_ARGS_1((unsigned long long)(value));
2238   }
2239 #endif
2240 }
2241 
2242 #ifdef __cplusplus
2243 extern "C" {
2244 #endif
2245 
2246 #ifdef PERL_OBJECT
2247 #define MAGIC_CLASS _wrap_Math__GSL__Histogram2D_var::
2248 class _wrap_Math__GSL__Histogram2D_var : public CPerlObj {
2249 public:
2250 #else
2251 #define MAGIC_CLASS
2252 #endif
swig_magic_readonly(pTHX_ SV * SWIGUNUSEDPARM (sv),MAGIC * SWIGUNUSEDPARM (mg))2253 SWIGCLASS_STATIC int swig_magic_readonly(pTHX_ SV *SWIGUNUSEDPARM(sv), MAGIC *SWIGUNUSEDPARM(mg)) {
2254     MAGIC_PPERL
2255     croak("Value is read-only.");
2256     return 0;
2257 }
2258 
2259 
2260 #ifdef PERL_OBJECT
2261 };
2262 #endif
2263 
2264 #ifdef __cplusplus
2265 }
2266 #endif
2267 
2268 #ifdef __cplusplus
2269 extern "C" {
2270 #endif
XS(_wrap_gsl_error)2271 XS(_wrap_gsl_error) {
2272   {
2273     char *arg1 = (char *) 0 ;
2274     char *arg2 = (char *) 0 ;
2275     int arg3 ;
2276     int arg4 ;
2277     int res1 ;
2278     char *buf1 = 0 ;
2279     int alloc1 = 0 ;
2280     int res2 ;
2281     char *buf2 = 0 ;
2282     int alloc2 = 0 ;
2283     int val3 ;
2284     int ecode3 = 0 ;
2285     int val4 ;
2286     int ecode4 = 0 ;
2287     int argvi = 0;
2288     dXSARGS;
2289 
2290     if ((items < 4) || (items > 4)) {
2291       SWIG_croak("Usage: gsl_error(reason,file,line,gsl_errno);");
2292     }
2293     res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
2294     if (!SWIG_IsOK(res1)) {
2295       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_error" "', argument " "1"" of type '" "char const *""'");
2296     }
2297     arg1 = (char *)(buf1);
2298     res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
2299     if (!SWIG_IsOK(res2)) {
2300       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_error" "', argument " "2"" of type '" "char const *""'");
2301     }
2302     arg2 = (char *)(buf2);
2303     ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
2304     if (!SWIG_IsOK(ecode3)) {
2305       SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "gsl_error" "', argument " "3"" of type '" "int""'");
2306     }
2307     arg3 = (int)(val3);
2308     ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
2309     if (!SWIG_IsOK(ecode4)) {
2310       SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "gsl_error" "', argument " "4"" of type '" "int""'");
2311     }
2312     arg4 = (int)(val4);
2313     gsl_error((char const *)arg1,(char const *)arg2,arg3,arg4);
2314     ST(argvi) = &PL_sv_undef;
2315     if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
2316     if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
2317 
2318 
2319     XSRETURN(argvi);
2320   fail:
2321     if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
2322     if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
2323 
2324 
2325     SWIG_croak_null();
2326   }
2327 }
2328 
2329 
XS(_wrap_gsl_stream_printf)2330 XS(_wrap_gsl_stream_printf) {
2331   {
2332     char *arg1 = (char *) 0 ;
2333     char *arg2 = (char *) 0 ;
2334     int arg3 ;
2335     char *arg4 = (char *) 0 ;
2336     int res1 ;
2337     char *buf1 = 0 ;
2338     int alloc1 = 0 ;
2339     int res2 ;
2340     char *buf2 = 0 ;
2341     int alloc2 = 0 ;
2342     int val3 ;
2343     int ecode3 = 0 ;
2344     int res4 ;
2345     char *buf4 = 0 ;
2346     int alloc4 = 0 ;
2347     int argvi = 0;
2348     dXSARGS;
2349 
2350     if ((items < 4) || (items > 4)) {
2351       SWIG_croak("Usage: gsl_stream_printf(label,file,line,reason);");
2352     }
2353     res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
2354     if (!SWIG_IsOK(res1)) {
2355       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_stream_printf" "', argument " "1"" of type '" "char const *""'");
2356     }
2357     arg1 = (char *)(buf1);
2358     res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
2359     if (!SWIG_IsOK(res2)) {
2360       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_stream_printf" "', argument " "2"" of type '" "char const *""'");
2361     }
2362     arg2 = (char *)(buf2);
2363     ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
2364     if (!SWIG_IsOK(ecode3)) {
2365       SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "gsl_stream_printf" "', argument " "3"" of type '" "int""'");
2366     }
2367     arg3 = (int)(val3);
2368     res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
2369     if (!SWIG_IsOK(res4)) {
2370       SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "gsl_stream_printf" "', argument " "4"" of type '" "char const *""'");
2371     }
2372     arg4 = (char *)(buf4);
2373     gsl_stream_printf((char const *)arg1,(char const *)arg2,arg3,(char const *)arg4);
2374     ST(argvi) = &PL_sv_undef;
2375     if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
2376     if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
2377 
2378     if (alloc4 == SWIG_NEWOBJ) free((char*)buf4);
2379     XSRETURN(argvi);
2380   fail:
2381     if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
2382     if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
2383 
2384     if (alloc4 == SWIG_NEWOBJ) free((char*)buf4);
2385     SWIG_croak_null();
2386   }
2387 }
2388 
2389 
XS(_wrap_gsl_strerror)2390 XS(_wrap_gsl_strerror) {
2391   {
2392     int arg1 ;
2393     int val1 ;
2394     int ecode1 = 0 ;
2395     int argvi = 0;
2396     char *result = 0 ;
2397     dXSARGS;
2398 
2399     if ((items < 1) || (items > 1)) {
2400       SWIG_croak("Usage: gsl_strerror(gsl_errno);");
2401     }
2402     ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
2403     if (!SWIG_IsOK(ecode1)) {
2404       SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "gsl_strerror" "', argument " "1"" of type '" "int""'");
2405     }
2406     arg1 = (int)(val1);
2407     result = (char *)gsl_strerror(arg1);
2408     ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
2409 
2410     XSRETURN(argvi);
2411   fail:
2412 
2413     SWIG_croak_null();
2414   }
2415 }
2416 
2417 
XS(_wrap_gsl_set_error_handler)2418 XS(_wrap_gsl_set_error_handler) {
2419   {
2420     gsl_error_handler_t *arg1 = (gsl_error_handler_t *) 0 ;
2421     int argvi = 0;
2422     gsl_error_handler_t *result = 0 ;
2423     dXSARGS;
2424 
2425     if ((items < 1) || (items > 1)) {
2426       SWIG_croak("Usage: gsl_set_error_handler(new_handler);");
2427     }
2428     {
2429       int res = SWIG_ConvertFunctionPtr(ST(0), (void**)(&arg1), SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_int__void);
2430       if (!SWIG_IsOK(res)) {
2431         SWIG_exception_fail(SWIG_ArgError(res), "in method '" "gsl_set_error_handler" "', argument " "1"" of type '" "gsl_error_handler_t *""'");
2432       }
2433     }
2434     result = (gsl_error_handler_t *)gsl_set_error_handler(arg1);
2435     ST(argvi) = SWIG_NewFunctionPtrObj((void *)(result), SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_int__void); argvi++ ;
2436 
2437     XSRETURN(argvi);
2438   fail:
2439 
2440     SWIG_croak_null();
2441   }
2442 }
2443 
2444 
XS(_wrap_gsl_set_error_handler_off)2445 XS(_wrap_gsl_set_error_handler_off) {
2446   {
2447     int argvi = 0;
2448     gsl_error_handler_t *result = 0 ;
2449     dXSARGS;
2450 
2451     if ((items < 0) || (items > 0)) {
2452       SWIG_croak("Usage: gsl_set_error_handler_off();");
2453     }
2454     result = (gsl_error_handler_t *)gsl_set_error_handler_off();
2455     ST(argvi) = SWIG_NewFunctionPtrObj((void *)(result), SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_int__void); argvi++ ;
2456     XSRETURN(argvi);
2457   fail:
2458     SWIG_croak_null();
2459   }
2460 }
2461 
2462 
XS(_wrap_gsl_set_stream_handler)2463 XS(_wrap_gsl_set_stream_handler) {
2464   {
2465     gsl_stream_handler_t *arg1 = (gsl_stream_handler_t *) 0 ;
2466     int argvi = 0;
2467     gsl_stream_handler_t *result = 0 ;
2468     dXSARGS;
2469 
2470     if ((items < 1) || (items > 1)) {
2471       SWIG_croak("Usage: gsl_set_stream_handler(new_handler);");
2472     }
2473     {
2474       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);
2475       if (!SWIG_IsOK(res)) {
2476         SWIG_exception_fail(SWIG_ArgError(res), "in method '" "gsl_set_stream_handler" "', argument " "1"" of type '" "gsl_stream_handler_t *""'");
2477       }
2478     }
2479     result = (gsl_stream_handler_t *)gsl_set_stream_handler(arg1);
2480     ST(argvi) = SWIG_NewFunctionPtrObj((void *)(result), SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_q_const__char__void); argvi++ ;
2481 
2482     XSRETURN(argvi);
2483   fail:
2484 
2485     SWIG_croak_null();
2486   }
2487 }
2488 
2489 
XS(_wrap_gsl_set_stream)2490 XS(_wrap_gsl_set_stream) {
2491   {
2492     FILE *arg1 = (FILE *) 0 ;
2493     void *argp1 = 0 ;
2494     int res1 = 0 ;
2495     int argvi = 0;
2496     FILE *result = 0 ;
2497     dXSARGS;
2498 
2499     if ((items < 1) || (items > 1)) {
2500       SWIG_croak("Usage: gsl_set_stream(new_stream);");
2501     }
2502     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FILE, 0 |  0 );
2503     if (!SWIG_IsOK(res1)) {
2504       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_set_stream" "', argument " "1"" of type '" "FILE *""'");
2505     }
2506     arg1 = (FILE *)(argp1);
2507     result = (FILE *)gsl_set_stream(arg1);
2508     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FILE, 0 | 0); argvi++ ;
2509 
2510     XSRETURN(argvi);
2511   fail:
2512 
2513     SWIG_croak_null();
2514   }
2515 }
2516 
2517 
XS(_wrap_gsl_histogram2d_nx_set)2518 XS(_wrap_gsl_histogram2d_nx_set) {
2519   {
2520     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
2521     size_t arg2 ;
2522     void *argp1 = 0 ;
2523     int res1 = 0 ;
2524     size_t val2 ;
2525     int ecode2 = 0 ;
2526     int argvi = 0;
2527     dXSARGS;
2528 
2529     if ((items < 2) || (items > 2)) {
2530       SWIG_croak("Usage: gsl_histogram2d_nx_set(self,nx);");
2531     }
2532     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
2533     if (!SWIG_IsOK(res1)) {
2534       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_nx_set" "', argument " "1"" of type '" "gsl_histogram2d *""'");
2535     }
2536     arg1 = (gsl_histogram2d *)(argp1);
2537     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
2538     if (!SWIG_IsOK(ecode2)) {
2539       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram2d_nx_set" "', argument " "2"" of type '" "size_t""'");
2540     }
2541     arg2 = (size_t)(val2);
2542     if (arg1) (arg1)->nx = arg2;
2543     ST(argvi) = &PL_sv_undef;
2544 
2545 
2546     XSRETURN(argvi);
2547   fail:
2548 
2549 
2550     SWIG_croak_null();
2551   }
2552 }
2553 
2554 
XS(_wrap_gsl_histogram2d_nx_get)2555 XS(_wrap_gsl_histogram2d_nx_get) {
2556   {
2557     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
2558     void *argp1 = 0 ;
2559     int res1 = 0 ;
2560     int argvi = 0;
2561     size_t result;
2562     dXSARGS;
2563 
2564     if ((items < 1) || (items > 1)) {
2565       SWIG_croak("Usage: gsl_histogram2d_nx_get(self);");
2566     }
2567     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
2568     if (!SWIG_IsOK(res1)) {
2569       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_nx_get" "', argument " "1"" of type '" "gsl_histogram2d *""'");
2570     }
2571     arg1 = (gsl_histogram2d *)(argp1);
2572     result =  ((arg1)->nx);
2573     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1((size_t)(result)); argvi++ ;
2574 
2575     XSRETURN(argvi);
2576   fail:
2577 
2578     SWIG_croak_null();
2579   }
2580 }
2581 
2582 
XS(_wrap_gsl_histogram2d_ny_set)2583 XS(_wrap_gsl_histogram2d_ny_set) {
2584   {
2585     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
2586     size_t arg2 ;
2587     void *argp1 = 0 ;
2588     int res1 = 0 ;
2589     size_t val2 ;
2590     int ecode2 = 0 ;
2591     int argvi = 0;
2592     dXSARGS;
2593 
2594     if ((items < 2) || (items > 2)) {
2595       SWIG_croak("Usage: gsl_histogram2d_ny_set(self,ny);");
2596     }
2597     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
2598     if (!SWIG_IsOK(res1)) {
2599       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_ny_set" "', argument " "1"" of type '" "gsl_histogram2d *""'");
2600     }
2601     arg1 = (gsl_histogram2d *)(argp1);
2602     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
2603     if (!SWIG_IsOK(ecode2)) {
2604       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram2d_ny_set" "', argument " "2"" of type '" "size_t""'");
2605     }
2606     arg2 = (size_t)(val2);
2607     if (arg1) (arg1)->ny = arg2;
2608     ST(argvi) = &PL_sv_undef;
2609 
2610 
2611     XSRETURN(argvi);
2612   fail:
2613 
2614 
2615     SWIG_croak_null();
2616   }
2617 }
2618 
2619 
XS(_wrap_gsl_histogram2d_ny_get)2620 XS(_wrap_gsl_histogram2d_ny_get) {
2621   {
2622     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
2623     void *argp1 = 0 ;
2624     int res1 = 0 ;
2625     int argvi = 0;
2626     size_t result;
2627     dXSARGS;
2628 
2629     if ((items < 1) || (items > 1)) {
2630       SWIG_croak("Usage: gsl_histogram2d_ny_get(self);");
2631     }
2632     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
2633     if (!SWIG_IsOK(res1)) {
2634       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_ny_get" "', argument " "1"" of type '" "gsl_histogram2d *""'");
2635     }
2636     arg1 = (gsl_histogram2d *)(argp1);
2637     result =  ((arg1)->ny);
2638     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1((size_t)(result)); argvi++ ;
2639 
2640     XSRETURN(argvi);
2641   fail:
2642 
2643     SWIG_croak_null();
2644   }
2645 }
2646 
2647 
XS(_wrap_gsl_histogram2d_xrange_set)2648 XS(_wrap_gsl_histogram2d_xrange_set) {
2649   {
2650     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
2651     double *arg2 = (double *) 0 ;
2652     void *argp1 = 0 ;
2653     int res1 = 0 ;
2654     void *argp2 = 0 ;
2655     int res2 = 0 ;
2656     int argvi = 0;
2657     dXSARGS;
2658 
2659     if ((items < 2) || (items > 2)) {
2660       SWIG_croak("Usage: gsl_histogram2d_xrange_set(self,xrange);");
2661     }
2662     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
2663     if (!SWIG_IsOK(res1)) {
2664       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_xrange_set" "', argument " "1"" of type '" "gsl_histogram2d *""'");
2665     }
2666     arg1 = (gsl_histogram2d *)(argp1);
2667     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_double, SWIG_POINTER_DISOWN |  0 );
2668     if (!SWIG_IsOK(res2)) {
2669       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram2d_xrange_set" "', argument " "2"" of type '" "double *""'");
2670     }
2671     arg2 = (double *)(argp2);
2672     if (arg1) (arg1)->xrange = arg2;
2673     ST(argvi) = &PL_sv_undef;
2674 
2675 
2676     XSRETURN(argvi);
2677   fail:
2678 
2679 
2680     SWIG_croak_null();
2681   }
2682 }
2683 
2684 
XS(_wrap_gsl_histogram2d_xrange_get)2685 XS(_wrap_gsl_histogram2d_xrange_get) {
2686   {
2687     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
2688     void *argp1 = 0 ;
2689     int res1 = 0 ;
2690     int argvi = 0;
2691     double *result = 0 ;
2692     dXSARGS;
2693 
2694     if ((items < 1) || (items > 1)) {
2695       SWIG_croak("Usage: gsl_histogram2d_xrange_get(self);");
2696     }
2697     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
2698     if (!SWIG_IsOK(res1)) {
2699       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_xrange_get" "', argument " "1"" of type '" "gsl_histogram2d *""'");
2700     }
2701     arg1 = (gsl_histogram2d *)(argp1);
2702     result = (double *) ((arg1)->xrange);
2703     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, 0 | 0); argvi++ ;
2704 
2705     XSRETURN(argvi);
2706   fail:
2707 
2708     SWIG_croak_null();
2709   }
2710 }
2711 
2712 
XS(_wrap_gsl_histogram2d_yrange_set)2713 XS(_wrap_gsl_histogram2d_yrange_set) {
2714   {
2715     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
2716     double *arg2 = (double *) 0 ;
2717     void *argp1 = 0 ;
2718     int res1 = 0 ;
2719     void *argp2 = 0 ;
2720     int res2 = 0 ;
2721     int argvi = 0;
2722     dXSARGS;
2723 
2724     if ((items < 2) || (items > 2)) {
2725       SWIG_croak("Usage: gsl_histogram2d_yrange_set(self,yrange);");
2726     }
2727     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
2728     if (!SWIG_IsOK(res1)) {
2729       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_yrange_set" "', argument " "1"" of type '" "gsl_histogram2d *""'");
2730     }
2731     arg1 = (gsl_histogram2d *)(argp1);
2732     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_double, SWIG_POINTER_DISOWN |  0 );
2733     if (!SWIG_IsOK(res2)) {
2734       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram2d_yrange_set" "', argument " "2"" of type '" "double *""'");
2735     }
2736     arg2 = (double *)(argp2);
2737     if (arg1) (arg1)->yrange = arg2;
2738     ST(argvi) = &PL_sv_undef;
2739 
2740 
2741     XSRETURN(argvi);
2742   fail:
2743 
2744 
2745     SWIG_croak_null();
2746   }
2747 }
2748 
2749 
XS(_wrap_gsl_histogram2d_yrange_get)2750 XS(_wrap_gsl_histogram2d_yrange_get) {
2751   {
2752     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
2753     void *argp1 = 0 ;
2754     int res1 = 0 ;
2755     int argvi = 0;
2756     double *result = 0 ;
2757     dXSARGS;
2758 
2759     if ((items < 1) || (items > 1)) {
2760       SWIG_croak("Usage: gsl_histogram2d_yrange_get(self);");
2761     }
2762     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
2763     if (!SWIG_IsOK(res1)) {
2764       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_yrange_get" "', argument " "1"" of type '" "gsl_histogram2d *""'");
2765     }
2766     arg1 = (gsl_histogram2d *)(argp1);
2767     result = (double *) ((arg1)->yrange);
2768     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, 0 | 0); argvi++ ;
2769 
2770     XSRETURN(argvi);
2771   fail:
2772 
2773     SWIG_croak_null();
2774   }
2775 }
2776 
2777 
XS(_wrap_gsl_histogram2d_bin_set)2778 XS(_wrap_gsl_histogram2d_bin_set) {
2779   {
2780     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
2781     double *arg2 = (double *) 0 ;
2782     void *argp1 = 0 ;
2783     int res1 = 0 ;
2784     void *argp2 = 0 ;
2785     int res2 = 0 ;
2786     int argvi = 0;
2787     dXSARGS;
2788 
2789     if ((items < 2) || (items > 2)) {
2790       SWIG_croak("Usage: gsl_histogram2d_bin_set(self,bin);");
2791     }
2792     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
2793     if (!SWIG_IsOK(res1)) {
2794       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_bin_set" "', argument " "1"" of type '" "gsl_histogram2d *""'");
2795     }
2796     arg1 = (gsl_histogram2d *)(argp1);
2797     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_double, SWIG_POINTER_DISOWN |  0 );
2798     if (!SWIG_IsOK(res2)) {
2799       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram2d_bin_set" "', argument " "2"" of type '" "double *""'");
2800     }
2801     arg2 = (double *)(argp2);
2802     if (arg1) (arg1)->bin = arg2;
2803     ST(argvi) = &PL_sv_undef;
2804 
2805 
2806     XSRETURN(argvi);
2807   fail:
2808 
2809 
2810     SWIG_croak_null();
2811   }
2812 }
2813 
2814 
XS(_wrap_gsl_histogram2d_bin_get)2815 XS(_wrap_gsl_histogram2d_bin_get) {
2816   {
2817     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
2818     void *argp1 = 0 ;
2819     int res1 = 0 ;
2820     int argvi = 0;
2821     double *result = 0 ;
2822     dXSARGS;
2823 
2824     if ((items < 1) || (items > 1)) {
2825       SWIG_croak("Usage: gsl_histogram2d_bin_get(self);");
2826     }
2827     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
2828     if (!SWIG_IsOK(res1)) {
2829       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_bin_get" "', argument " "1"" of type '" "gsl_histogram2d *""'");
2830     }
2831     arg1 = (gsl_histogram2d *)(argp1);
2832     result = (double *) ((arg1)->bin);
2833     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, 0 | 0); argvi++ ;
2834 
2835     XSRETURN(argvi);
2836   fail:
2837 
2838     SWIG_croak_null();
2839   }
2840 }
2841 
2842 
XS(_wrap_new_gsl_histogram2d)2843 XS(_wrap_new_gsl_histogram2d) {
2844   {
2845     int argvi = 0;
2846     gsl_histogram2d *result = 0 ;
2847     dXSARGS;
2848 
2849     if ((items < 0) || (items > 0)) {
2850       SWIG_croak("Usage: new_gsl_histogram2d();");
2851     }
2852     result = (gsl_histogram2d *)calloc(1, sizeof(gsl_histogram2d));
2853     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_histogram2d, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
2854     XSRETURN(argvi);
2855   fail:
2856     SWIG_croak_null();
2857   }
2858 }
2859 
2860 
XS(_wrap_delete_gsl_histogram2d)2861 XS(_wrap_delete_gsl_histogram2d) {
2862   {
2863     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
2864     void *argp1 = 0 ;
2865     int res1 = 0 ;
2866     int argvi = 0;
2867     dXSARGS;
2868 
2869     if ((items < 1) || (items > 1)) {
2870       SWIG_croak("Usage: delete_gsl_histogram2d(self);");
2871     }
2872     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, SWIG_POINTER_DISOWN |  0 );
2873     if (!SWIG_IsOK(res1)) {
2874       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_gsl_histogram2d" "', argument " "1"" of type '" "gsl_histogram2d *""'");
2875     }
2876     arg1 = (gsl_histogram2d *)(argp1);
2877     free((char *) arg1);
2878     ST(argvi) = &PL_sv_undef;
2879 
2880     XSRETURN(argvi);
2881   fail:
2882 
2883     SWIG_croak_null();
2884   }
2885 }
2886 
2887 
XS(_wrap_gsl_histogram2d_pdf_nx_set)2888 XS(_wrap_gsl_histogram2d_pdf_nx_set) {
2889   {
2890     gsl_histogram2d_pdf *arg1 = (gsl_histogram2d_pdf *) 0 ;
2891     size_t arg2 ;
2892     void *argp1 = 0 ;
2893     int res1 = 0 ;
2894     size_t val2 ;
2895     int ecode2 = 0 ;
2896     int argvi = 0;
2897     dXSARGS;
2898 
2899     if ((items < 2) || (items > 2)) {
2900       SWIG_croak("Usage: gsl_histogram2d_pdf_nx_set(self,nx);");
2901     }
2902     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d_pdf, 0 |  0 );
2903     if (!SWIG_IsOK(res1)) {
2904       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_pdf_nx_set" "', argument " "1"" of type '" "gsl_histogram2d_pdf *""'");
2905     }
2906     arg1 = (gsl_histogram2d_pdf *)(argp1);
2907     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
2908     if (!SWIG_IsOK(ecode2)) {
2909       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram2d_pdf_nx_set" "', argument " "2"" of type '" "size_t""'");
2910     }
2911     arg2 = (size_t)(val2);
2912     if (arg1) (arg1)->nx = arg2;
2913     ST(argvi) = &PL_sv_undef;
2914 
2915 
2916     XSRETURN(argvi);
2917   fail:
2918 
2919 
2920     SWIG_croak_null();
2921   }
2922 }
2923 
2924 
XS(_wrap_gsl_histogram2d_pdf_nx_get)2925 XS(_wrap_gsl_histogram2d_pdf_nx_get) {
2926   {
2927     gsl_histogram2d_pdf *arg1 = (gsl_histogram2d_pdf *) 0 ;
2928     void *argp1 = 0 ;
2929     int res1 = 0 ;
2930     int argvi = 0;
2931     size_t result;
2932     dXSARGS;
2933 
2934     if ((items < 1) || (items > 1)) {
2935       SWIG_croak("Usage: gsl_histogram2d_pdf_nx_get(self);");
2936     }
2937     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d_pdf, 0 |  0 );
2938     if (!SWIG_IsOK(res1)) {
2939       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_pdf_nx_get" "', argument " "1"" of type '" "gsl_histogram2d_pdf *""'");
2940     }
2941     arg1 = (gsl_histogram2d_pdf *)(argp1);
2942     result =  ((arg1)->nx);
2943     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1((size_t)(result)); argvi++ ;
2944 
2945     XSRETURN(argvi);
2946   fail:
2947 
2948     SWIG_croak_null();
2949   }
2950 }
2951 
2952 
XS(_wrap_gsl_histogram2d_pdf_ny_set)2953 XS(_wrap_gsl_histogram2d_pdf_ny_set) {
2954   {
2955     gsl_histogram2d_pdf *arg1 = (gsl_histogram2d_pdf *) 0 ;
2956     size_t arg2 ;
2957     void *argp1 = 0 ;
2958     int res1 = 0 ;
2959     size_t val2 ;
2960     int ecode2 = 0 ;
2961     int argvi = 0;
2962     dXSARGS;
2963 
2964     if ((items < 2) || (items > 2)) {
2965       SWIG_croak("Usage: gsl_histogram2d_pdf_ny_set(self,ny);");
2966     }
2967     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d_pdf, 0 |  0 );
2968     if (!SWIG_IsOK(res1)) {
2969       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_pdf_ny_set" "', argument " "1"" of type '" "gsl_histogram2d_pdf *""'");
2970     }
2971     arg1 = (gsl_histogram2d_pdf *)(argp1);
2972     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
2973     if (!SWIG_IsOK(ecode2)) {
2974       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram2d_pdf_ny_set" "', argument " "2"" of type '" "size_t""'");
2975     }
2976     arg2 = (size_t)(val2);
2977     if (arg1) (arg1)->ny = arg2;
2978     ST(argvi) = &PL_sv_undef;
2979 
2980 
2981     XSRETURN(argvi);
2982   fail:
2983 
2984 
2985     SWIG_croak_null();
2986   }
2987 }
2988 
2989 
XS(_wrap_gsl_histogram2d_pdf_ny_get)2990 XS(_wrap_gsl_histogram2d_pdf_ny_get) {
2991   {
2992     gsl_histogram2d_pdf *arg1 = (gsl_histogram2d_pdf *) 0 ;
2993     void *argp1 = 0 ;
2994     int res1 = 0 ;
2995     int argvi = 0;
2996     size_t result;
2997     dXSARGS;
2998 
2999     if ((items < 1) || (items > 1)) {
3000       SWIG_croak("Usage: gsl_histogram2d_pdf_ny_get(self);");
3001     }
3002     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d_pdf, 0 |  0 );
3003     if (!SWIG_IsOK(res1)) {
3004       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_pdf_ny_get" "', argument " "1"" of type '" "gsl_histogram2d_pdf *""'");
3005     }
3006     arg1 = (gsl_histogram2d_pdf *)(argp1);
3007     result =  ((arg1)->ny);
3008     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1((size_t)(result)); argvi++ ;
3009 
3010     XSRETURN(argvi);
3011   fail:
3012 
3013     SWIG_croak_null();
3014   }
3015 }
3016 
3017 
XS(_wrap_gsl_histogram2d_pdf_xrange_set)3018 XS(_wrap_gsl_histogram2d_pdf_xrange_set) {
3019   {
3020     gsl_histogram2d_pdf *arg1 = (gsl_histogram2d_pdf *) 0 ;
3021     double *arg2 = (double *) 0 ;
3022     void *argp1 = 0 ;
3023     int res1 = 0 ;
3024     void *argp2 = 0 ;
3025     int res2 = 0 ;
3026     int argvi = 0;
3027     dXSARGS;
3028 
3029     if ((items < 2) || (items > 2)) {
3030       SWIG_croak("Usage: gsl_histogram2d_pdf_xrange_set(self,xrange);");
3031     }
3032     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d_pdf, 0 |  0 );
3033     if (!SWIG_IsOK(res1)) {
3034       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_pdf_xrange_set" "', argument " "1"" of type '" "gsl_histogram2d_pdf *""'");
3035     }
3036     arg1 = (gsl_histogram2d_pdf *)(argp1);
3037     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_double, SWIG_POINTER_DISOWN |  0 );
3038     if (!SWIG_IsOK(res2)) {
3039       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram2d_pdf_xrange_set" "', argument " "2"" of type '" "double *""'");
3040     }
3041     arg2 = (double *)(argp2);
3042     if (arg1) (arg1)->xrange = arg2;
3043     ST(argvi) = &PL_sv_undef;
3044 
3045 
3046     XSRETURN(argvi);
3047   fail:
3048 
3049 
3050     SWIG_croak_null();
3051   }
3052 }
3053 
3054 
XS(_wrap_gsl_histogram2d_pdf_xrange_get)3055 XS(_wrap_gsl_histogram2d_pdf_xrange_get) {
3056   {
3057     gsl_histogram2d_pdf *arg1 = (gsl_histogram2d_pdf *) 0 ;
3058     void *argp1 = 0 ;
3059     int res1 = 0 ;
3060     int argvi = 0;
3061     double *result = 0 ;
3062     dXSARGS;
3063 
3064     if ((items < 1) || (items > 1)) {
3065       SWIG_croak("Usage: gsl_histogram2d_pdf_xrange_get(self);");
3066     }
3067     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d_pdf, 0 |  0 );
3068     if (!SWIG_IsOK(res1)) {
3069       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_pdf_xrange_get" "', argument " "1"" of type '" "gsl_histogram2d_pdf *""'");
3070     }
3071     arg1 = (gsl_histogram2d_pdf *)(argp1);
3072     result = (double *) ((arg1)->xrange);
3073     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, 0 | 0); argvi++ ;
3074 
3075     XSRETURN(argvi);
3076   fail:
3077 
3078     SWIG_croak_null();
3079   }
3080 }
3081 
3082 
XS(_wrap_gsl_histogram2d_pdf_yrange_set)3083 XS(_wrap_gsl_histogram2d_pdf_yrange_set) {
3084   {
3085     gsl_histogram2d_pdf *arg1 = (gsl_histogram2d_pdf *) 0 ;
3086     double *arg2 = (double *) 0 ;
3087     void *argp1 = 0 ;
3088     int res1 = 0 ;
3089     void *argp2 = 0 ;
3090     int res2 = 0 ;
3091     int argvi = 0;
3092     dXSARGS;
3093 
3094     if ((items < 2) || (items > 2)) {
3095       SWIG_croak("Usage: gsl_histogram2d_pdf_yrange_set(self,yrange);");
3096     }
3097     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d_pdf, 0 |  0 );
3098     if (!SWIG_IsOK(res1)) {
3099       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_pdf_yrange_set" "', argument " "1"" of type '" "gsl_histogram2d_pdf *""'");
3100     }
3101     arg1 = (gsl_histogram2d_pdf *)(argp1);
3102     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_double, SWIG_POINTER_DISOWN |  0 );
3103     if (!SWIG_IsOK(res2)) {
3104       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram2d_pdf_yrange_set" "', argument " "2"" of type '" "double *""'");
3105     }
3106     arg2 = (double *)(argp2);
3107     if (arg1) (arg1)->yrange = arg2;
3108     ST(argvi) = &PL_sv_undef;
3109 
3110 
3111     XSRETURN(argvi);
3112   fail:
3113 
3114 
3115     SWIG_croak_null();
3116   }
3117 }
3118 
3119 
XS(_wrap_gsl_histogram2d_pdf_yrange_get)3120 XS(_wrap_gsl_histogram2d_pdf_yrange_get) {
3121   {
3122     gsl_histogram2d_pdf *arg1 = (gsl_histogram2d_pdf *) 0 ;
3123     void *argp1 = 0 ;
3124     int res1 = 0 ;
3125     int argvi = 0;
3126     double *result = 0 ;
3127     dXSARGS;
3128 
3129     if ((items < 1) || (items > 1)) {
3130       SWIG_croak("Usage: gsl_histogram2d_pdf_yrange_get(self);");
3131     }
3132     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d_pdf, 0 |  0 );
3133     if (!SWIG_IsOK(res1)) {
3134       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_pdf_yrange_get" "', argument " "1"" of type '" "gsl_histogram2d_pdf *""'");
3135     }
3136     arg1 = (gsl_histogram2d_pdf *)(argp1);
3137     result = (double *) ((arg1)->yrange);
3138     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, 0 | 0); argvi++ ;
3139 
3140     XSRETURN(argvi);
3141   fail:
3142 
3143     SWIG_croak_null();
3144   }
3145 }
3146 
3147 
XS(_wrap_gsl_histogram2d_pdf_sum_set)3148 XS(_wrap_gsl_histogram2d_pdf_sum_set) {
3149   {
3150     gsl_histogram2d_pdf *arg1 = (gsl_histogram2d_pdf *) 0 ;
3151     double *arg2 = (double *) 0 ;
3152     void *argp1 = 0 ;
3153     int res1 = 0 ;
3154     void *argp2 = 0 ;
3155     int res2 = 0 ;
3156     int argvi = 0;
3157     dXSARGS;
3158 
3159     if ((items < 2) || (items > 2)) {
3160       SWIG_croak("Usage: gsl_histogram2d_pdf_sum_set(self,sum);");
3161     }
3162     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d_pdf, 0 |  0 );
3163     if (!SWIG_IsOK(res1)) {
3164       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_pdf_sum_set" "', argument " "1"" of type '" "gsl_histogram2d_pdf *""'");
3165     }
3166     arg1 = (gsl_histogram2d_pdf *)(argp1);
3167     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_double, SWIG_POINTER_DISOWN |  0 );
3168     if (!SWIG_IsOK(res2)) {
3169       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram2d_pdf_sum_set" "', argument " "2"" of type '" "double *""'");
3170     }
3171     arg2 = (double *)(argp2);
3172     if (arg1) (arg1)->sum = arg2;
3173     ST(argvi) = &PL_sv_undef;
3174 
3175 
3176     XSRETURN(argvi);
3177   fail:
3178 
3179 
3180     SWIG_croak_null();
3181   }
3182 }
3183 
3184 
XS(_wrap_gsl_histogram2d_pdf_sum_get)3185 XS(_wrap_gsl_histogram2d_pdf_sum_get) {
3186   {
3187     gsl_histogram2d_pdf *arg1 = (gsl_histogram2d_pdf *) 0 ;
3188     void *argp1 = 0 ;
3189     int res1 = 0 ;
3190     int argvi = 0;
3191     double *result = 0 ;
3192     dXSARGS;
3193 
3194     if ((items < 1) || (items > 1)) {
3195       SWIG_croak("Usage: gsl_histogram2d_pdf_sum_get(self);");
3196     }
3197     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d_pdf, 0 |  0 );
3198     if (!SWIG_IsOK(res1)) {
3199       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_pdf_sum_get" "', argument " "1"" of type '" "gsl_histogram2d_pdf *""'");
3200     }
3201     arg1 = (gsl_histogram2d_pdf *)(argp1);
3202     result = (double *) ((arg1)->sum);
3203     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, 0 | 0); argvi++ ;
3204 
3205     XSRETURN(argvi);
3206   fail:
3207 
3208     SWIG_croak_null();
3209   }
3210 }
3211 
3212 
XS(_wrap_new_gsl_histogram2d_pdf)3213 XS(_wrap_new_gsl_histogram2d_pdf) {
3214   {
3215     int argvi = 0;
3216     gsl_histogram2d_pdf *result = 0 ;
3217     dXSARGS;
3218 
3219     if ((items < 0) || (items > 0)) {
3220       SWIG_croak("Usage: new_gsl_histogram2d_pdf();");
3221     }
3222     result = (gsl_histogram2d_pdf *)calloc(1, sizeof(gsl_histogram2d_pdf));
3223     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_histogram2d_pdf, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
3224     XSRETURN(argvi);
3225   fail:
3226     SWIG_croak_null();
3227   }
3228 }
3229 
3230 
XS(_wrap_delete_gsl_histogram2d_pdf)3231 XS(_wrap_delete_gsl_histogram2d_pdf) {
3232   {
3233     gsl_histogram2d_pdf *arg1 = (gsl_histogram2d_pdf *) 0 ;
3234     void *argp1 = 0 ;
3235     int res1 = 0 ;
3236     int argvi = 0;
3237     dXSARGS;
3238 
3239     if ((items < 1) || (items > 1)) {
3240       SWIG_croak("Usage: delete_gsl_histogram2d_pdf(self);");
3241     }
3242     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d_pdf, SWIG_POINTER_DISOWN |  0 );
3243     if (!SWIG_IsOK(res1)) {
3244       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_gsl_histogram2d_pdf" "', argument " "1"" of type '" "gsl_histogram2d_pdf *""'");
3245     }
3246     arg1 = (gsl_histogram2d_pdf *)(argp1);
3247     free((char *) arg1);
3248     ST(argvi) = &PL_sv_undef;
3249 
3250     XSRETURN(argvi);
3251   fail:
3252 
3253     SWIG_croak_null();
3254   }
3255 }
3256 
3257 
XS(_wrap_gsl_histogram2d_alloc)3258 XS(_wrap_gsl_histogram2d_alloc) {
3259   {
3260     size_t arg1 ;
3261     size_t arg2 ;
3262     size_t val1 ;
3263     int ecode1 = 0 ;
3264     size_t val2 ;
3265     int ecode2 = 0 ;
3266     int argvi = 0;
3267     gsl_histogram2d *result = 0 ;
3268     dXSARGS;
3269 
3270     if ((items < 2) || (items > 2)) {
3271       SWIG_croak("Usage: gsl_histogram2d_alloc(nx,ny);");
3272     }
3273     ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
3274     if (!SWIG_IsOK(ecode1)) {
3275       SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "gsl_histogram2d_alloc" "', argument " "1"" of type '" "size_t""'");
3276     }
3277     arg1 = (size_t)(val1);
3278     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
3279     if (!SWIG_IsOK(ecode2)) {
3280       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram2d_alloc" "', argument " "2"" of type '" "size_t""'");
3281     }
3282     arg2 = (size_t)(val2);
3283     result = (gsl_histogram2d *)gsl_histogram2d_alloc(arg1,arg2);
3284     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_histogram2d, 0 | SWIG_SHADOW); argvi++ ;
3285 
3286 
3287     XSRETURN(argvi);
3288   fail:
3289 
3290 
3291     SWIG_croak_null();
3292   }
3293 }
3294 
3295 
XS(_wrap_gsl_histogram2d_calloc)3296 XS(_wrap_gsl_histogram2d_calloc) {
3297   {
3298     size_t arg1 ;
3299     size_t arg2 ;
3300     size_t val1 ;
3301     int ecode1 = 0 ;
3302     size_t val2 ;
3303     int ecode2 = 0 ;
3304     int argvi = 0;
3305     gsl_histogram2d *result = 0 ;
3306     dXSARGS;
3307 
3308     if ((items < 2) || (items > 2)) {
3309       SWIG_croak("Usage: gsl_histogram2d_calloc(nx,ny);");
3310     }
3311     ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
3312     if (!SWIG_IsOK(ecode1)) {
3313       SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "gsl_histogram2d_calloc" "', argument " "1"" of type '" "size_t""'");
3314     }
3315     arg1 = (size_t)(val1);
3316     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
3317     if (!SWIG_IsOK(ecode2)) {
3318       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram2d_calloc" "', argument " "2"" of type '" "size_t""'");
3319     }
3320     arg2 = (size_t)(val2);
3321     result = (gsl_histogram2d *)gsl_histogram2d_calloc(arg1,arg2);
3322     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_histogram2d, 0 | SWIG_SHADOW); argvi++ ;
3323 
3324 
3325     XSRETURN(argvi);
3326   fail:
3327 
3328 
3329     SWIG_croak_null();
3330   }
3331 }
3332 
3333 
XS(_wrap_gsl_histogram2d_calloc_uniform)3334 XS(_wrap_gsl_histogram2d_calloc_uniform) {
3335   {
3336     size_t arg1 ;
3337     size_t arg2 ;
3338     double arg3 ;
3339     double arg4 ;
3340     double arg5 ;
3341     double arg6 ;
3342     size_t val1 ;
3343     int ecode1 = 0 ;
3344     size_t val2 ;
3345     int ecode2 = 0 ;
3346     double val3 ;
3347     int ecode3 = 0 ;
3348     double val4 ;
3349     int ecode4 = 0 ;
3350     double val5 ;
3351     int ecode5 = 0 ;
3352     double val6 ;
3353     int ecode6 = 0 ;
3354     int argvi = 0;
3355     gsl_histogram2d *result = 0 ;
3356     dXSARGS;
3357 
3358     if ((items < 6) || (items > 6)) {
3359       SWIG_croak("Usage: gsl_histogram2d_calloc_uniform(nx,ny,xmin,xmax,ymin,ymax);");
3360     }
3361     ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
3362     if (!SWIG_IsOK(ecode1)) {
3363       SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "gsl_histogram2d_calloc_uniform" "', argument " "1"" of type '" "size_t""'");
3364     }
3365     arg1 = (size_t)(val1);
3366     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
3367     if (!SWIG_IsOK(ecode2)) {
3368       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram2d_calloc_uniform" "', argument " "2"" of type '" "size_t""'");
3369     }
3370     arg2 = (size_t)(val2);
3371     ecode3 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
3372     if (!SWIG_IsOK(ecode3)) {
3373       SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "gsl_histogram2d_calloc_uniform" "', argument " "3"" of type '" "double""'");
3374     }
3375     arg3 = (double)(val3);
3376     ecode4 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
3377     if (!SWIG_IsOK(ecode4)) {
3378       SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "gsl_histogram2d_calloc_uniform" "', argument " "4"" of type '" "double""'");
3379     }
3380     arg4 = (double)(val4);
3381     ecode5 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
3382     if (!SWIG_IsOK(ecode5)) {
3383       SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "gsl_histogram2d_calloc_uniform" "', argument " "5"" of type '" "double""'");
3384     }
3385     arg5 = (double)(val5);
3386     ecode6 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
3387     if (!SWIG_IsOK(ecode6)) {
3388       SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "gsl_histogram2d_calloc_uniform" "', argument " "6"" of type '" "double""'");
3389     }
3390     arg6 = (double)(val6);
3391     result = (gsl_histogram2d *)gsl_histogram2d_calloc_uniform(arg1,arg2,arg3,arg4,arg5,arg6);
3392     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_histogram2d, 0 | SWIG_SHADOW); argvi++ ;
3393 
3394 
3395 
3396 
3397 
3398 
3399     XSRETURN(argvi);
3400   fail:
3401 
3402 
3403 
3404 
3405 
3406 
3407     SWIG_croak_null();
3408   }
3409 }
3410 
3411 
XS(_wrap_gsl_histogram2d_free)3412 XS(_wrap_gsl_histogram2d_free) {
3413   {
3414     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
3415     void *argp1 = 0 ;
3416     int res1 = 0 ;
3417     int argvi = 0;
3418     dXSARGS;
3419 
3420     if ((items < 1) || (items > 1)) {
3421       SWIG_croak("Usage: gsl_histogram2d_free(h);");
3422     }
3423     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
3424     if (!SWIG_IsOK(res1)) {
3425       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_free" "', argument " "1"" of type '" "gsl_histogram2d *""'");
3426     }
3427     arg1 = (gsl_histogram2d *)(argp1);
3428     gsl_histogram2d_free(arg1);
3429     ST(argvi) = &PL_sv_undef;
3430 
3431     XSRETURN(argvi);
3432   fail:
3433 
3434     SWIG_croak_null();
3435   }
3436 }
3437 
3438 
XS(_wrap_gsl_histogram2d_increment)3439 XS(_wrap_gsl_histogram2d_increment) {
3440   {
3441     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
3442     double arg2 ;
3443     double arg3 ;
3444     void *argp1 = 0 ;
3445     int res1 = 0 ;
3446     double val2 ;
3447     int ecode2 = 0 ;
3448     double val3 ;
3449     int ecode3 = 0 ;
3450     int argvi = 0;
3451     int result;
3452     dXSARGS;
3453 
3454     if ((items < 3) || (items > 3)) {
3455       SWIG_croak("Usage: gsl_histogram2d_increment(h,x,y);");
3456     }
3457     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
3458     if (!SWIG_IsOK(res1)) {
3459       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_increment" "', argument " "1"" of type '" "gsl_histogram2d *""'");
3460     }
3461     arg1 = (gsl_histogram2d *)(argp1);
3462     ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
3463     if (!SWIG_IsOK(ecode2)) {
3464       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram2d_increment" "', argument " "2"" of type '" "double""'");
3465     }
3466     arg2 = (double)(val2);
3467     ecode3 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
3468     if (!SWIG_IsOK(ecode3)) {
3469       SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "gsl_histogram2d_increment" "', argument " "3"" of type '" "double""'");
3470     }
3471     arg3 = (double)(val3);
3472     result = (int)gsl_histogram2d_increment(arg1,arg2,arg3);
3473     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
3474 
3475 
3476 
3477     XSRETURN(argvi);
3478   fail:
3479 
3480 
3481 
3482     SWIG_croak_null();
3483   }
3484 }
3485 
3486 
XS(_wrap_gsl_histogram2d_accumulate)3487 XS(_wrap_gsl_histogram2d_accumulate) {
3488   {
3489     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
3490     double arg2 ;
3491     double arg3 ;
3492     double arg4 ;
3493     void *argp1 = 0 ;
3494     int res1 = 0 ;
3495     double val2 ;
3496     int ecode2 = 0 ;
3497     double val3 ;
3498     int ecode3 = 0 ;
3499     double val4 ;
3500     int ecode4 = 0 ;
3501     int argvi = 0;
3502     int result;
3503     dXSARGS;
3504 
3505     if ((items < 4) || (items > 4)) {
3506       SWIG_croak("Usage: gsl_histogram2d_accumulate(h,x,y,weight);");
3507     }
3508     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
3509     if (!SWIG_IsOK(res1)) {
3510       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_accumulate" "', argument " "1"" of type '" "gsl_histogram2d *""'");
3511     }
3512     arg1 = (gsl_histogram2d *)(argp1);
3513     ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
3514     if (!SWIG_IsOK(ecode2)) {
3515       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram2d_accumulate" "', argument " "2"" of type '" "double""'");
3516     }
3517     arg2 = (double)(val2);
3518     ecode3 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
3519     if (!SWIG_IsOK(ecode3)) {
3520       SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "gsl_histogram2d_accumulate" "', argument " "3"" of type '" "double""'");
3521     }
3522     arg3 = (double)(val3);
3523     ecode4 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
3524     if (!SWIG_IsOK(ecode4)) {
3525       SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "gsl_histogram2d_accumulate" "', argument " "4"" of type '" "double""'");
3526     }
3527     arg4 = (double)(val4);
3528     result = (int)gsl_histogram2d_accumulate(arg1,arg2,arg3,arg4);
3529     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
3530 
3531 
3532 
3533 
3534     XSRETURN(argvi);
3535   fail:
3536 
3537 
3538 
3539 
3540     SWIG_croak_null();
3541   }
3542 }
3543 
3544 
XS(_wrap_gsl_histogram2d_find)3545 XS(_wrap_gsl_histogram2d_find) {
3546   {
3547     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
3548     double arg2 ;
3549     double arg3 ;
3550     size_t *arg4 = (size_t *) 0 ;
3551     size_t *arg5 = (size_t *) 0 ;
3552     void *argp1 = 0 ;
3553     int res1 = 0 ;
3554     double val2 ;
3555     int ecode2 = 0 ;
3556     double val3 ;
3557     int ecode3 = 0 ;
3558     size_t temp4 ;
3559     int res4 = SWIG_TMPOBJ ;
3560     size_t temp5 ;
3561     int res5 = SWIG_TMPOBJ ;
3562     int argvi = 0;
3563     int result;
3564     dXSARGS;
3565 
3566     arg4 = &temp4;
3567     arg5 = &temp5;
3568     if ((items < 3) || (items > 3)) {
3569       SWIG_croak("Usage: gsl_histogram2d_find(h,x,y);");
3570     }
3571     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
3572     if (!SWIG_IsOK(res1)) {
3573       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_find" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
3574     }
3575     arg1 = (gsl_histogram2d *)(argp1);
3576     ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
3577     if (!SWIG_IsOK(ecode2)) {
3578       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram2d_find" "', argument " "2"" of type '" "double""'");
3579     }
3580     arg2 = (double)(val2);
3581     ecode3 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
3582     if (!SWIG_IsOK(ecode3)) {
3583       SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "gsl_histogram2d_find" "', argument " "3"" of type '" "double""'");
3584     }
3585     arg3 = (double)(val3);
3586     result = (int)gsl_histogram2d_find((gsl_histogram2d const *)arg1,arg2,arg3,arg4,arg5);
3587     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
3588     if (SWIG_IsTmpObj(res4)) {
3589       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
3590     } else {
3591       int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
3592       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_size_t, new_flags); argvi++  ;
3593     }
3594     if (SWIG_IsTmpObj(res5)) {
3595       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg5)); argvi++  ;
3596     } else {
3597       int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN | 0) : 0;
3598       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_size_t, new_flags); argvi++  ;
3599     }
3600 
3601 
3602 
3603 
3604 
3605     XSRETURN(argvi);
3606   fail:
3607 
3608 
3609 
3610 
3611 
3612     SWIG_croak_null();
3613   }
3614 }
3615 
3616 
XS(_wrap_gsl_histogram2d_get)3617 XS(_wrap_gsl_histogram2d_get) {
3618   {
3619     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
3620     size_t arg2 ;
3621     size_t arg3 ;
3622     void *argp1 = 0 ;
3623     int res1 = 0 ;
3624     size_t val2 ;
3625     int ecode2 = 0 ;
3626     size_t val3 ;
3627     int ecode3 = 0 ;
3628     int argvi = 0;
3629     double result;
3630     dXSARGS;
3631 
3632     if ((items < 3) || (items > 3)) {
3633       SWIG_croak("Usage: gsl_histogram2d_get(h,i,j);");
3634     }
3635     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
3636     if (!SWIG_IsOK(res1)) {
3637       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_get" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
3638     }
3639     arg1 = (gsl_histogram2d *)(argp1);
3640     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
3641     if (!SWIG_IsOK(ecode2)) {
3642       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram2d_get" "', argument " "2"" of type '" "size_t""'");
3643     }
3644     arg2 = (size_t)(val2);
3645     ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
3646     if (!SWIG_IsOK(ecode3)) {
3647       SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "gsl_histogram2d_get" "', argument " "3"" of type '" "size_t""'");
3648     }
3649     arg3 = (size_t)(val3);
3650     result = (double)gsl_histogram2d_get((gsl_histogram2d const *)arg1,arg2,arg3);
3651     ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
3652 
3653 
3654 
3655     XSRETURN(argvi);
3656   fail:
3657 
3658 
3659 
3660     SWIG_croak_null();
3661   }
3662 }
3663 
3664 
XS(_wrap_gsl_histogram2d_get_xrange)3665 XS(_wrap_gsl_histogram2d_get_xrange) {
3666   {
3667     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
3668     size_t arg2 ;
3669     double *arg3 = (double *) 0 ;
3670     double *arg4 = (double *) 0 ;
3671     void *argp1 = 0 ;
3672     int res1 = 0 ;
3673     size_t val2 ;
3674     int ecode2 = 0 ;
3675     double temp3 ;
3676     int res3 = SWIG_TMPOBJ ;
3677     double temp4 ;
3678     int res4 = SWIG_TMPOBJ ;
3679     int argvi = 0;
3680     int result;
3681     dXSARGS;
3682 
3683     arg3 = &temp3;
3684     arg4 = &temp4;
3685     if ((items < 2) || (items > 2)) {
3686       SWIG_croak("Usage: gsl_histogram2d_get_xrange(h,i);");
3687     }
3688     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
3689     if (!SWIG_IsOK(res1)) {
3690       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_get_xrange" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
3691     }
3692     arg1 = (gsl_histogram2d *)(argp1);
3693     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
3694     if (!SWIG_IsOK(ecode2)) {
3695       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram2d_get_xrange" "', argument " "2"" of type '" "size_t""'");
3696     }
3697     arg2 = (size_t)(val2);
3698     result = (int)gsl_histogram2d_get_xrange((gsl_histogram2d const *)arg1,arg2,arg3,arg4);
3699     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
3700     if (SWIG_IsTmpObj(res3)) {
3701       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
3702     } else {
3703       int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
3704       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_double, new_flags); argvi++  ;
3705     }
3706     if (SWIG_IsTmpObj(res4)) {
3707       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
3708     } else {
3709       int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
3710       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_double, new_flags); argvi++  ;
3711     }
3712 
3713 
3714 
3715 
3716     XSRETURN(argvi);
3717   fail:
3718 
3719 
3720 
3721 
3722     SWIG_croak_null();
3723   }
3724 }
3725 
3726 
XS(_wrap_gsl_histogram2d_get_yrange)3727 XS(_wrap_gsl_histogram2d_get_yrange) {
3728   {
3729     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
3730     size_t arg2 ;
3731     double *arg3 = (double *) 0 ;
3732     double *arg4 = (double *) 0 ;
3733     void *argp1 = 0 ;
3734     int res1 = 0 ;
3735     size_t val2 ;
3736     int ecode2 = 0 ;
3737     double temp3 ;
3738     int res3 = SWIG_TMPOBJ ;
3739     double temp4 ;
3740     int res4 = SWIG_TMPOBJ ;
3741     int argvi = 0;
3742     int result;
3743     dXSARGS;
3744 
3745     arg3 = &temp3;
3746     arg4 = &temp4;
3747     if ((items < 2) || (items > 2)) {
3748       SWIG_croak("Usage: gsl_histogram2d_get_yrange(h,j);");
3749     }
3750     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
3751     if (!SWIG_IsOK(res1)) {
3752       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_get_yrange" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
3753     }
3754     arg1 = (gsl_histogram2d *)(argp1);
3755     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
3756     if (!SWIG_IsOK(ecode2)) {
3757       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram2d_get_yrange" "', argument " "2"" of type '" "size_t""'");
3758     }
3759     arg2 = (size_t)(val2);
3760     result = (int)gsl_histogram2d_get_yrange((gsl_histogram2d const *)arg1,arg2,arg3,arg4);
3761     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
3762     if (SWIG_IsTmpObj(res3)) {
3763       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
3764     } else {
3765       int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
3766       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_double, new_flags); argvi++  ;
3767     }
3768     if (SWIG_IsTmpObj(res4)) {
3769       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
3770     } else {
3771       int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
3772       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_double, new_flags); argvi++  ;
3773     }
3774 
3775 
3776 
3777 
3778     XSRETURN(argvi);
3779   fail:
3780 
3781 
3782 
3783 
3784     SWIG_croak_null();
3785   }
3786 }
3787 
3788 
XS(_wrap_gsl_histogram2d_xmax)3789 XS(_wrap_gsl_histogram2d_xmax) {
3790   {
3791     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
3792     void *argp1 = 0 ;
3793     int res1 = 0 ;
3794     int argvi = 0;
3795     double result;
3796     dXSARGS;
3797 
3798     if ((items < 1) || (items > 1)) {
3799       SWIG_croak("Usage: gsl_histogram2d_xmax(h);");
3800     }
3801     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
3802     if (!SWIG_IsOK(res1)) {
3803       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_xmax" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
3804     }
3805     arg1 = (gsl_histogram2d *)(argp1);
3806     result = (double)gsl_histogram2d_xmax((gsl_histogram2d const *)arg1);
3807     ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
3808 
3809     XSRETURN(argvi);
3810   fail:
3811 
3812     SWIG_croak_null();
3813   }
3814 }
3815 
3816 
XS(_wrap_gsl_histogram2d_xmin)3817 XS(_wrap_gsl_histogram2d_xmin) {
3818   {
3819     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
3820     void *argp1 = 0 ;
3821     int res1 = 0 ;
3822     int argvi = 0;
3823     double result;
3824     dXSARGS;
3825 
3826     if ((items < 1) || (items > 1)) {
3827       SWIG_croak("Usage: gsl_histogram2d_xmin(h);");
3828     }
3829     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
3830     if (!SWIG_IsOK(res1)) {
3831       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_xmin" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
3832     }
3833     arg1 = (gsl_histogram2d *)(argp1);
3834     result = (double)gsl_histogram2d_xmin((gsl_histogram2d const *)arg1);
3835     ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
3836 
3837     XSRETURN(argvi);
3838   fail:
3839 
3840     SWIG_croak_null();
3841   }
3842 }
3843 
3844 
XS(_wrap_gsl_histogram2d_nx)3845 XS(_wrap_gsl_histogram2d_nx) {
3846   {
3847     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
3848     void *argp1 = 0 ;
3849     int res1 = 0 ;
3850     int argvi = 0;
3851     size_t result;
3852     dXSARGS;
3853 
3854     if ((items < 1) || (items > 1)) {
3855       SWIG_croak("Usage: gsl_histogram2d_nx(h);");
3856     }
3857     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
3858     if (!SWIG_IsOK(res1)) {
3859       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_nx" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
3860     }
3861     arg1 = (gsl_histogram2d *)(argp1);
3862     result = gsl_histogram2d_nx((gsl_histogram2d const *)arg1);
3863     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1((size_t)(result)); argvi++ ;
3864 
3865     XSRETURN(argvi);
3866   fail:
3867 
3868     SWIG_croak_null();
3869   }
3870 }
3871 
3872 
XS(_wrap_gsl_histogram2d_ymax)3873 XS(_wrap_gsl_histogram2d_ymax) {
3874   {
3875     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
3876     void *argp1 = 0 ;
3877     int res1 = 0 ;
3878     int argvi = 0;
3879     double result;
3880     dXSARGS;
3881 
3882     if ((items < 1) || (items > 1)) {
3883       SWIG_croak("Usage: gsl_histogram2d_ymax(h);");
3884     }
3885     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
3886     if (!SWIG_IsOK(res1)) {
3887       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_ymax" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
3888     }
3889     arg1 = (gsl_histogram2d *)(argp1);
3890     result = (double)gsl_histogram2d_ymax((gsl_histogram2d const *)arg1);
3891     ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
3892 
3893     XSRETURN(argvi);
3894   fail:
3895 
3896     SWIG_croak_null();
3897   }
3898 }
3899 
3900 
XS(_wrap_gsl_histogram2d_ymin)3901 XS(_wrap_gsl_histogram2d_ymin) {
3902   {
3903     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
3904     void *argp1 = 0 ;
3905     int res1 = 0 ;
3906     int argvi = 0;
3907     double result;
3908     dXSARGS;
3909 
3910     if ((items < 1) || (items > 1)) {
3911       SWIG_croak("Usage: gsl_histogram2d_ymin(h);");
3912     }
3913     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
3914     if (!SWIG_IsOK(res1)) {
3915       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_ymin" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
3916     }
3917     arg1 = (gsl_histogram2d *)(argp1);
3918     result = (double)gsl_histogram2d_ymin((gsl_histogram2d const *)arg1);
3919     ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
3920 
3921     XSRETURN(argvi);
3922   fail:
3923 
3924     SWIG_croak_null();
3925   }
3926 }
3927 
3928 
XS(_wrap_gsl_histogram2d_ny)3929 XS(_wrap_gsl_histogram2d_ny) {
3930   {
3931     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
3932     void *argp1 = 0 ;
3933     int res1 = 0 ;
3934     int argvi = 0;
3935     size_t result;
3936     dXSARGS;
3937 
3938     if ((items < 1) || (items > 1)) {
3939       SWIG_croak("Usage: gsl_histogram2d_ny(h);");
3940     }
3941     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
3942     if (!SWIG_IsOK(res1)) {
3943       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_ny" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
3944     }
3945     arg1 = (gsl_histogram2d *)(argp1);
3946     result = gsl_histogram2d_ny((gsl_histogram2d const *)arg1);
3947     ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1((size_t)(result)); argvi++ ;
3948 
3949     XSRETURN(argvi);
3950   fail:
3951 
3952     SWIG_croak_null();
3953   }
3954 }
3955 
3956 
XS(_wrap_gsl_histogram2d_reset)3957 XS(_wrap_gsl_histogram2d_reset) {
3958   {
3959     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
3960     void *argp1 = 0 ;
3961     int res1 = 0 ;
3962     int argvi = 0;
3963     dXSARGS;
3964 
3965     if ((items < 1) || (items > 1)) {
3966       SWIG_croak("Usage: gsl_histogram2d_reset(h);");
3967     }
3968     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
3969     if (!SWIG_IsOK(res1)) {
3970       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_reset" "', argument " "1"" of type '" "gsl_histogram2d *""'");
3971     }
3972     arg1 = (gsl_histogram2d *)(argp1);
3973     gsl_histogram2d_reset(arg1);
3974     ST(argvi) = &PL_sv_undef;
3975 
3976     XSRETURN(argvi);
3977   fail:
3978 
3979     SWIG_croak_null();
3980   }
3981 }
3982 
3983 
XS(_wrap_gsl_histogram2d_calloc_range)3984 XS(_wrap_gsl_histogram2d_calloc_range) {
3985   {
3986     size_t arg1 ;
3987     size_t arg2 ;
3988     double *arg3 = (double *) 0 ;
3989     double *arg4 = (double *) 0 ;
3990     size_t val1 ;
3991     int ecode1 = 0 ;
3992     size_t val2 ;
3993     int ecode2 = 0 ;
3994     void *argp3 = 0 ;
3995     int res3 = 0 ;
3996     void *argp4 = 0 ;
3997     int res4 = 0 ;
3998     int argvi = 0;
3999     gsl_histogram2d *result = 0 ;
4000     dXSARGS;
4001 
4002     if ((items < 4) || (items > 4)) {
4003       SWIG_croak("Usage: gsl_histogram2d_calloc_range(nx,ny,xrange,yrange);");
4004     }
4005     ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
4006     if (!SWIG_IsOK(ecode1)) {
4007       SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "gsl_histogram2d_calloc_range" "', argument " "1"" of type '" "size_t""'");
4008     }
4009     arg1 = (size_t)(val1);
4010     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
4011     if (!SWIG_IsOK(ecode2)) {
4012       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram2d_calloc_range" "', argument " "2"" of type '" "size_t""'");
4013     }
4014     arg2 = (size_t)(val2);
4015     res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_double, 0 |  0 );
4016     if (!SWIG_IsOK(res3)) {
4017       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "gsl_histogram2d_calloc_range" "', argument " "3"" of type '" "double *""'");
4018     }
4019     arg3 = (double *)(argp3);
4020     res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_double, 0 |  0 );
4021     if (!SWIG_IsOK(res4)) {
4022       SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "gsl_histogram2d_calloc_range" "', argument " "4"" of type '" "double *""'");
4023     }
4024     arg4 = (double *)(argp4);
4025     result = (gsl_histogram2d *)gsl_histogram2d_calloc_range(arg1,arg2,arg3,arg4);
4026     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_histogram2d, 0 | SWIG_SHADOW); argvi++ ;
4027 
4028 
4029 
4030 
4031     XSRETURN(argvi);
4032   fail:
4033 
4034 
4035 
4036 
4037     SWIG_croak_null();
4038   }
4039 }
4040 
4041 
XS(_wrap_gsl_histogram2d_set_ranges_uniform)4042 XS(_wrap_gsl_histogram2d_set_ranges_uniform) {
4043   {
4044     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
4045     double arg2 ;
4046     double arg3 ;
4047     double arg4 ;
4048     double arg5 ;
4049     void *argp1 = 0 ;
4050     int res1 = 0 ;
4051     double val2 ;
4052     int ecode2 = 0 ;
4053     double val3 ;
4054     int ecode3 = 0 ;
4055     double val4 ;
4056     int ecode4 = 0 ;
4057     double val5 ;
4058     int ecode5 = 0 ;
4059     int argvi = 0;
4060     int result;
4061     dXSARGS;
4062 
4063     if ((items < 5) || (items > 5)) {
4064       SWIG_croak("Usage: gsl_histogram2d_set_ranges_uniform(h,xmin,xmax,ymin,ymax);");
4065     }
4066     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4067     if (!SWIG_IsOK(res1)) {
4068       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_set_ranges_uniform" "', argument " "1"" of type '" "gsl_histogram2d *""'");
4069     }
4070     arg1 = (gsl_histogram2d *)(argp1);
4071     ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
4072     if (!SWIG_IsOK(ecode2)) {
4073       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram2d_set_ranges_uniform" "', argument " "2"" of type '" "double""'");
4074     }
4075     arg2 = (double)(val2);
4076     ecode3 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
4077     if (!SWIG_IsOK(ecode3)) {
4078       SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "gsl_histogram2d_set_ranges_uniform" "', argument " "3"" of type '" "double""'");
4079     }
4080     arg3 = (double)(val3);
4081     ecode4 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
4082     if (!SWIG_IsOK(ecode4)) {
4083       SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "gsl_histogram2d_set_ranges_uniform" "', argument " "4"" of type '" "double""'");
4084     }
4085     arg4 = (double)(val4);
4086     ecode5 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
4087     if (!SWIG_IsOK(ecode5)) {
4088       SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "gsl_histogram2d_set_ranges_uniform" "', argument " "5"" of type '" "double""'");
4089     }
4090     arg5 = (double)(val5);
4091     result = (int)gsl_histogram2d_set_ranges_uniform(arg1,arg2,arg3,arg4,arg5);
4092     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4093 
4094 
4095 
4096 
4097 
4098     XSRETURN(argvi);
4099   fail:
4100 
4101 
4102 
4103 
4104 
4105     SWIG_croak_null();
4106   }
4107 }
4108 
4109 
XS(_wrap_gsl_histogram2d_set_ranges)4110 XS(_wrap_gsl_histogram2d_set_ranges) {
4111   {
4112     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
4113     double *arg2 ;
4114     size_t arg3 ;
4115     double *arg4 ;
4116     size_t arg5 ;
4117     void *argp1 = 0 ;
4118     int res1 = 0 ;
4119     size_t val3 ;
4120     int ecode3 = 0 ;
4121     size_t val5 ;
4122     int ecode5 = 0 ;
4123     int argvi = 0;
4124     int result;
4125     dXSARGS;
4126 
4127     if ((items < 5) || (items > 5)) {
4128       SWIG_croak("Usage: gsl_histogram2d_set_ranges(h,xrange,xsize,yrange,ysize);");
4129     }
4130     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4131     if (!SWIG_IsOK(res1)) {
4132       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_set_ranges" "', argument " "1"" of type '" "gsl_histogram2d *""'");
4133     }
4134     arg1 = (gsl_histogram2d *)(argp1);
4135     {
4136       AV *tempav;
4137       I32 len;
4138       int i;
4139       SV **tv;
4140       if (!SvROK(ST(1)))
4141       croak("Math::GSL : $xrange is not a reference!");
4142       if (SvTYPE(SvRV(ST(1))) != SVt_PVAV)
4143       croak("Math::GSL : $xrange is not an array ref!");
4144 
4145       tempav = (AV*)SvRV(ST(1));
4146       len = av_len(tempav);
4147       arg2 = (double *) malloc((len+2)*sizeof(double));
4148       for (i = 0; i <= len; i++) {
4149         tv = av_fetch(tempav, i, 0);
4150         arg2[i] = (double) SvNV(*tv);
4151       }
4152     }
4153     ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
4154     if (!SWIG_IsOK(ecode3)) {
4155       SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "gsl_histogram2d_set_ranges" "', argument " "3"" of type '" "size_t""'");
4156     }
4157     arg3 = (size_t)(val3);
4158     {
4159       AV *tempav;
4160       I32 len;
4161       int i;
4162       SV **tv;
4163       if (!SvROK(ST(3)))
4164       croak("Math::GSL : $yrange is not a reference!");
4165       if (SvTYPE(SvRV(ST(3))) != SVt_PVAV)
4166       croak("Math::GSL : $yrange is not an array ref!");
4167 
4168       tempav = (AV*)SvRV(ST(3));
4169       len = av_len(tempav);
4170       arg4 = (double *) malloc((len+2)*sizeof(double));
4171       for (i = 0; i <= len; i++) {
4172         tv = av_fetch(tempav, i, 0);
4173         arg4[i] = (double) SvNV(*tv);
4174       }
4175     }
4176     ecode5 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
4177     if (!SWIG_IsOK(ecode5)) {
4178       SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "gsl_histogram2d_set_ranges" "', argument " "5"" of type '" "size_t""'");
4179     }
4180     arg5 = (size_t)(val5);
4181     result = (int)gsl_histogram2d_set_ranges(arg1,(double const (*))arg2,arg3,(double const (*))arg4,arg5);
4182     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4183 
4184     {
4185       if (arg2) free(arg2);
4186     }
4187 
4188     {
4189       if (arg4) free(arg4);
4190     }
4191 
4192     XSRETURN(argvi);
4193   fail:
4194 
4195     {
4196       if (arg2) free(arg2);
4197     }
4198 
4199     {
4200       if (arg4) free(arg4);
4201     }
4202 
4203     SWIG_croak_null();
4204   }
4205 }
4206 
4207 
XS(_wrap_gsl_histogram2d_memcpy)4208 XS(_wrap_gsl_histogram2d_memcpy) {
4209   {
4210     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
4211     gsl_histogram2d *arg2 = (gsl_histogram2d *) 0 ;
4212     void *argp1 = 0 ;
4213     int res1 = 0 ;
4214     void *argp2 = 0 ;
4215     int res2 = 0 ;
4216     int argvi = 0;
4217     int result;
4218     dXSARGS;
4219 
4220     if ((items < 2) || (items > 2)) {
4221       SWIG_croak("Usage: gsl_histogram2d_memcpy(dest,source);");
4222     }
4223     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4224     if (!SWIG_IsOK(res1)) {
4225       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_memcpy" "', argument " "1"" of type '" "gsl_histogram2d *""'");
4226     }
4227     arg1 = (gsl_histogram2d *)(argp1);
4228     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4229     if (!SWIG_IsOK(res2)) {
4230       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram2d_memcpy" "', argument " "2"" of type '" "gsl_histogram2d const *""'");
4231     }
4232     arg2 = (gsl_histogram2d *)(argp2);
4233     result = (int)gsl_histogram2d_memcpy(arg1,(gsl_histogram2d const *)arg2);
4234     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4235 
4236 
4237     XSRETURN(argvi);
4238   fail:
4239 
4240 
4241     SWIG_croak_null();
4242   }
4243 }
4244 
4245 
XS(_wrap_gsl_histogram2d_clone)4246 XS(_wrap_gsl_histogram2d_clone) {
4247   {
4248     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
4249     void *argp1 = 0 ;
4250     int res1 = 0 ;
4251     int argvi = 0;
4252     gsl_histogram2d *result = 0 ;
4253     dXSARGS;
4254 
4255     if ((items < 1) || (items > 1)) {
4256       SWIG_croak("Usage: gsl_histogram2d_clone(source);");
4257     }
4258     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4259     if (!SWIG_IsOK(res1)) {
4260       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_clone" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
4261     }
4262     arg1 = (gsl_histogram2d *)(argp1);
4263     result = (gsl_histogram2d *)gsl_histogram2d_clone((gsl_histogram2d const *)arg1);
4264     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_histogram2d, 0 | SWIG_SHADOW); argvi++ ;
4265 
4266     XSRETURN(argvi);
4267   fail:
4268 
4269     SWIG_croak_null();
4270   }
4271 }
4272 
4273 
XS(_wrap_gsl_histogram2d_max_val)4274 XS(_wrap_gsl_histogram2d_max_val) {
4275   {
4276     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
4277     void *argp1 = 0 ;
4278     int res1 = 0 ;
4279     int argvi = 0;
4280     double result;
4281     dXSARGS;
4282 
4283     if ((items < 1) || (items > 1)) {
4284       SWIG_croak("Usage: gsl_histogram2d_max_val(h);");
4285     }
4286     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4287     if (!SWIG_IsOK(res1)) {
4288       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_max_val" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
4289     }
4290     arg1 = (gsl_histogram2d *)(argp1);
4291     result = (double)gsl_histogram2d_max_val((gsl_histogram2d const *)arg1);
4292     ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
4293 
4294     XSRETURN(argvi);
4295   fail:
4296 
4297     SWIG_croak_null();
4298   }
4299 }
4300 
4301 
XS(_wrap_gsl_histogram2d_max_bin)4302 XS(_wrap_gsl_histogram2d_max_bin) {
4303   {
4304     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
4305     size_t *arg2 = (size_t *) 0 ;
4306     size_t *arg3 = (size_t *) 0 ;
4307     void *argp1 = 0 ;
4308     int res1 = 0 ;
4309     size_t temp2 ;
4310     int res2 = SWIG_TMPOBJ ;
4311     size_t temp3 ;
4312     int res3 = SWIG_TMPOBJ ;
4313     int argvi = 0;
4314     dXSARGS;
4315 
4316     arg2 = &temp2;
4317     arg3 = &temp3;
4318     if ((items < 1) || (items > 1)) {
4319       SWIG_croak("Usage: gsl_histogram2d_max_bin(h);");
4320     }
4321     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4322     if (!SWIG_IsOK(res1)) {
4323       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_max_bin" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
4324     }
4325     arg1 = (gsl_histogram2d *)(argp1);
4326     gsl_histogram2d_max_bin((gsl_histogram2d const *)arg1,arg2,arg3);
4327     ST(argvi) = &PL_sv_undef;
4328     if (SWIG_IsTmpObj(res2)) {
4329       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
4330     } else {
4331       int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
4332       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_size_t, new_flags); argvi++  ;
4333     }
4334     if (SWIG_IsTmpObj(res3)) {
4335       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
4336     } else {
4337       int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
4338       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_size_t, new_flags); argvi++  ;
4339     }
4340 
4341 
4342 
4343     XSRETURN(argvi);
4344   fail:
4345 
4346 
4347 
4348     SWIG_croak_null();
4349   }
4350 }
4351 
4352 
XS(_wrap_gsl_histogram2d_min_val)4353 XS(_wrap_gsl_histogram2d_min_val) {
4354   {
4355     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
4356     void *argp1 = 0 ;
4357     int res1 = 0 ;
4358     int argvi = 0;
4359     double result;
4360     dXSARGS;
4361 
4362     if ((items < 1) || (items > 1)) {
4363       SWIG_croak("Usage: gsl_histogram2d_min_val(h);");
4364     }
4365     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4366     if (!SWIG_IsOK(res1)) {
4367       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_min_val" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
4368     }
4369     arg1 = (gsl_histogram2d *)(argp1);
4370     result = (double)gsl_histogram2d_min_val((gsl_histogram2d const *)arg1);
4371     ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
4372 
4373     XSRETURN(argvi);
4374   fail:
4375 
4376     SWIG_croak_null();
4377   }
4378 }
4379 
4380 
XS(_wrap_gsl_histogram2d_min_bin)4381 XS(_wrap_gsl_histogram2d_min_bin) {
4382   {
4383     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
4384     size_t *arg2 = (size_t *) 0 ;
4385     size_t *arg3 = (size_t *) 0 ;
4386     void *argp1 = 0 ;
4387     int res1 = 0 ;
4388     size_t temp2 ;
4389     int res2 = SWIG_TMPOBJ ;
4390     size_t temp3 ;
4391     int res3 = SWIG_TMPOBJ ;
4392     int argvi = 0;
4393     dXSARGS;
4394 
4395     arg2 = &temp2;
4396     arg3 = &temp3;
4397     if ((items < 1) || (items > 1)) {
4398       SWIG_croak("Usage: gsl_histogram2d_min_bin(h);");
4399     }
4400     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4401     if (!SWIG_IsOK(res1)) {
4402       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_min_bin" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
4403     }
4404     arg1 = (gsl_histogram2d *)(argp1);
4405     gsl_histogram2d_min_bin((gsl_histogram2d const *)arg1,arg2,arg3);
4406     ST(argvi) = &PL_sv_undef;
4407     if (SWIG_IsTmpObj(res2)) {
4408       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
4409     } else {
4410       int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
4411       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_size_t, new_flags); argvi++  ;
4412     }
4413     if (SWIG_IsTmpObj(res3)) {
4414       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
4415     } else {
4416       int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
4417       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_size_t, new_flags); argvi++  ;
4418     }
4419 
4420 
4421 
4422     XSRETURN(argvi);
4423   fail:
4424 
4425 
4426 
4427     SWIG_croak_null();
4428   }
4429 }
4430 
4431 
XS(_wrap_gsl_histogram2d_xmean)4432 XS(_wrap_gsl_histogram2d_xmean) {
4433   {
4434     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
4435     void *argp1 = 0 ;
4436     int res1 = 0 ;
4437     int argvi = 0;
4438     double result;
4439     dXSARGS;
4440 
4441     if ((items < 1) || (items > 1)) {
4442       SWIG_croak("Usage: gsl_histogram2d_xmean(h);");
4443     }
4444     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4445     if (!SWIG_IsOK(res1)) {
4446       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_xmean" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
4447     }
4448     arg1 = (gsl_histogram2d *)(argp1);
4449     result = (double)gsl_histogram2d_xmean((gsl_histogram2d const *)arg1);
4450     ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
4451 
4452     XSRETURN(argvi);
4453   fail:
4454 
4455     SWIG_croak_null();
4456   }
4457 }
4458 
4459 
XS(_wrap_gsl_histogram2d_ymean)4460 XS(_wrap_gsl_histogram2d_ymean) {
4461   {
4462     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
4463     void *argp1 = 0 ;
4464     int res1 = 0 ;
4465     int argvi = 0;
4466     double result;
4467     dXSARGS;
4468 
4469     if ((items < 1) || (items > 1)) {
4470       SWIG_croak("Usage: gsl_histogram2d_ymean(h);");
4471     }
4472     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4473     if (!SWIG_IsOK(res1)) {
4474       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_ymean" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
4475     }
4476     arg1 = (gsl_histogram2d *)(argp1);
4477     result = (double)gsl_histogram2d_ymean((gsl_histogram2d const *)arg1);
4478     ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
4479 
4480     XSRETURN(argvi);
4481   fail:
4482 
4483     SWIG_croak_null();
4484   }
4485 }
4486 
4487 
XS(_wrap_gsl_histogram2d_xsigma)4488 XS(_wrap_gsl_histogram2d_xsigma) {
4489   {
4490     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
4491     void *argp1 = 0 ;
4492     int res1 = 0 ;
4493     int argvi = 0;
4494     double result;
4495     dXSARGS;
4496 
4497     if ((items < 1) || (items > 1)) {
4498       SWIG_croak("Usage: gsl_histogram2d_xsigma(h);");
4499     }
4500     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4501     if (!SWIG_IsOK(res1)) {
4502       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_xsigma" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
4503     }
4504     arg1 = (gsl_histogram2d *)(argp1);
4505     result = (double)gsl_histogram2d_xsigma((gsl_histogram2d const *)arg1);
4506     ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
4507 
4508     XSRETURN(argvi);
4509   fail:
4510 
4511     SWIG_croak_null();
4512   }
4513 }
4514 
4515 
XS(_wrap_gsl_histogram2d_ysigma)4516 XS(_wrap_gsl_histogram2d_ysigma) {
4517   {
4518     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
4519     void *argp1 = 0 ;
4520     int res1 = 0 ;
4521     int argvi = 0;
4522     double result;
4523     dXSARGS;
4524 
4525     if ((items < 1) || (items > 1)) {
4526       SWIG_croak("Usage: gsl_histogram2d_ysigma(h);");
4527     }
4528     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4529     if (!SWIG_IsOK(res1)) {
4530       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_ysigma" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
4531     }
4532     arg1 = (gsl_histogram2d *)(argp1);
4533     result = (double)gsl_histogram2d_ysigma((gsl_histogram2d const *)arg1);
4534     ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
4535 
4536     XSRETURN(argvi);
4537   fail:
4538 
4539     SWIG_croak_null();
4540   }
4541 }
4542 
4543 
XS(_wrap_gsl_histogram2d_cov)4544 XS(_wrap_gsl_histogram2d_cov) {
4545   {
4546     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
4547     void *argp1 = 0 ;
4548     int res1 = 0 ;
4549     int argvi = 0;
4550     double result;
4551     dXSARGS;
4552 
4553     if ((items < 1) || (items > 1)) {
4554       SWIG_croak("Usage: gsl_histogram2d_cov(h);");
4555     }
4556     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4557     if (!SWIG_IsOK(res1)) {
4558       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_cov" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
4559     }
4560     arg1 = (gsl_histogram2d *)(argp1);
4561     result = (double)gsl_histogram2d_cov((gsl_histogram2d const *)arg1);
4562     ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
4563 
4564     XSRETURN(argvi);
4565   fail:
4566 
4567     SWIG_croak_null();
4568   }
4569 }
4570 
4571 
XS(_wrap_gsl_histogram2d_sum)4572 XS(_wrap_gsl_histogram2d_sum) {
4573   {
4574     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
4575     void *argp1 = 0 ;
4576     int res1 = 0 ;
4577     int argvi = 0;
4578     double result;
4579     dXSARGS;
4580 
4581     if ((items < 1) || (items > 1)) {
4582       SWIG_croak("Usage: gsl_histogram2d_sum(h);");
4583     }
4584     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4585     if (!SWIG_IsOK(res1)) {
4586       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_sum" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
4587     }
4588     arg1 = (gsl_histogram2d *)(argp1);
4589     result = (double)gsl_histogram2d_sum((gsl_histogram2d const *)arg1);
4590     ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
4591 
4592     XSRETURN(argvi);
4593   fail:
4594 
4595     SWIG_croak_null();
4596   }
4597 }
4598 
4599 
XS(_wrap_gsl_histogram2d_equal_bins_p)4600 XS(_wrap_gsl_histogram2d_equal_bins_p) {
4601   {
4602     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
4603     gsl_histogram2d *arg2 = (gsl_histogram2d *) 0 ;
4604     void *argp1 = 0 ;
4605     int res1 = 0 ;
4606     void *argp2 = 0 ;
4607     int res2 = 0 ;
4608     int argvi = 0;
4609     int result;
4610     dXSARGS;
4611 
4612     if ((items < 2) || (items > 2)) {
4613       SWIG_croak("Usage: gsl_histogram2d_equal_bins_p(h1,h2);");
4614     }
4615     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4616     if (!SWIG_IsOK(res1)) {
4617       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_equal_bins_p" "', argument " "1"" of type '" "gsl_histogram2d const *""'");
4618     }
4619     arg1 = (gsl_histogram2d *)(argp1);
4620     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4621     if (!SWIG_IsOK(res2)) {
4622       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram2d_equal_bins_p" "', argument " "2"" of type '" "gsl_histogram2d const *""'");
4623     }
4624     arg2 = (gsl_histogram2d *)(argp2);
4625     result = (int)gsl_histogram2d_equal_bins_p((gsl_histogram2d const *)arg1,(gsl_histogram2d const *)arg2);
4626     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4627 
4628 
4629     XSRETURN(argvi);
4630   fail:
4631 
4632 
4633     SWIG_croak_null();
4634   }
4635 }
4636 
4637 
XS(_wrap_gsl_histogram2d_add)4638 XS(_wrap_gsl_histogram2d_add) {
4639   {
4640     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
4641     gsl_histogram2d *arg2 = (gsl_histogram2d *) 0 ;
4642     void *argp1 = 0 ;
4643     int res1 = 0 ;
4644     void *argp2 = 0 ;
4645     int res2 = 0 ;
4646     int argvi = 0;
4647     int result;
4648     dXSARGS;
4649 
4650     if ((items < 2) || (items > 2)) {
4651       SWIG_croak("Usage: gsl_histogram2d_add(h1,h2);");
4652     }
4653     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4654     if (!SWIG_IsOK(res1)) {
4655       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_add" "', argument " "1"" of type '" "gsl_histogram2d *""'");
4656     }
4657     arg1 = (gsl_histogram2d *)(argp1);
4658     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4659     if (!SWIG_IsOK(res2)) {
4660       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram2d_add" "', argument " "2"" of type '" "gsl_histogram2d const *""'");
4661     }
4662     arg2 = (gsl_histogram2d *)(argp2);
4663     result = (int)gsl_histogram2d_add(arg1,(gsl_histogram2d const *)arg2);
4664     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4665 
4666 
4667     XSRETURN(argvi);
4668   fail:
4669 
4670 
4671     SWIG_croak_null();
4672   }
4673 }
4674 
4675 
XS(_wrap_gsl_histogram2d_sub)4676 XS(_wrap_gsl_histogram2d_sub) {
4677   {
4678     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
4679     gsl_histogram2d *arg2 = (gsl_histogram2d *) 0 ;
4680     void *argp1 = 0 ;
4681     int res1 = 0 ;
4682     void *argp2 = 0 ;
4683     int res2 = 0 ;
4684     int argvi = 0;
4685     int result;
4686     dXSARGS;
4687 
4688     if ((items < 2) || (items > 2)) {
4689       SWIG_croak("Usage: gsl_histogram2d_sub(h1,h2);");
4690     }
4691     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4692     if (!SWIG_IsOK(res1)) {
4693       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_sub" "', argument " "1"" of type '" "gsl_histogram2d *""'");
4694     }
4695     arg1 = (gsl_histogram2d *)(argp1);
4696     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4697     if (!SWIG_IsOK(res2)) {
4698       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram2d_sub" "', argument " "2"" of type '" "gsl_histogram2d const *""'");
4699     }
4700     arg2 = (gsl_histogram2d *)(argp2);
4701     result = (int)gsl_histogram2d_sub(arg1,(gsl_histogram2d const *)arg2);
4702     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4703 
4704 
4705     XSRETURN(argvi);
4706   fail:
4707 
4708 
4709     SWIG_croak_null();
4710   }
4711 }
4712 
4713 
XS(_wrap_gsl_histogram2d_mul)4714 XS(_wrap_gsl_histogram2d_mul) {
4715   {
4716     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
4717     gsl_histogram2d *arg2 = (gsl_histogram2d *) 0 ;
4718     void *argp1 = 0 ;
4719     int res1 = 0 ;
4720     void *argp2 = 0 ;
4721     int res2 = 0 ;
4722     int argvi = 0;
4723     int result;
4724     dXSARGS;
4725 
4726     if ((items < 2) || (items > 2)) {
4727       SWIG_croak("Usage: gsl_histogram2d_mul(h1,h2);");
4728     }
4729     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4730     if (!SWIG_IsOK(res1)) {
4731       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_mul" "', argument " "1"" of type '" "gsl_histogram2d *""'");
4732     }
4733     arg1 = (gsl_histogram2d *)(argp1);
4734     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4735     if (!SWIG_IsOK(res2)) {
4736       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram2d_mul" "', argument " "2"" of type '" "gsl_histogram2d const *""'");
4737     }
4738     arg2 = (gsl_histogram2d *)(argp2);
4739     result = (int)gsl_histogram2d_mul(arg1,(gsl_histogram2d const *)arg2);
4740     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4741 
4742 
4743     XSRETURN(argvi);
4744   fail:
4745 
4746 
4747     SWIG_croak_null();
4748   }
4749 }
4750 
4751 
XS(_wrap_gsl_histogram2d_div)4752 XS(_wrap_gsl_histogram2d_div) {
4753   {
4754     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
4755     gsl_histogram2d *arg2 = (gsl_histogram2d *) 0 ;
4756     void *argp1 = 0 ;
4757     int res1 = 0 ;
4758     void *argp2 = 0 ;
4759     int res2 = 0 ;
4760     int argvi = 0;
4761     int result;
4762     dXSARGS;
4763 
4764     if ((items < 2) || (items > 2)) {
4765       SWIG_croak("Usage: gsl_histogram2d_div(h1,h2);");
4766     }
4767     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4768     if (!SWIG_IsOK(res1)) {
4769       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_div" "', argument " "1"" of type '" "gsl_histogram2d *""'");
4770     }
4771     arg1 = (gsl_histogram2d *)(argp1);
4772     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4773     if (!SWIG_IsOK(res2)) {
4774       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram2d_div" "', argument " "2"" of type '" "gsl_histogram2d const *""'");
4775     }
4776     arg2 = (gsl_histogram2d *)(argp2);
4777     result = (int)gsl_histogram2d_div(arg1,(gsl_histogram2d const *)arg2);
4778     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4779 
4780 
4781     XSRETURN(argvi);
4782   fail:
4783 
4784 
4785     SWIG_croak_null();
4786   }
4787 }
4788 
4789 
XS(_wrap_gsl_histogram2d_scale)4790 XS(_wrap_gsl_histogram2d_scale) {
4791   {
4792     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
4793     double arg2 ;
4794     void *argp1 = 0 ;
4795     int res1 = 0 ;
4796     double val2 ;
4797     int ecode2 = 0 ;
4798     int argvi = 0;
4799     int result;
4800     dXSARGS;
4801 
4802     if ((items < 2) || (items > 2)) {
4803       SWIG_croak("Usage: gsl_histogram2d_scale(h,scale);");
4804     }
4805     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4806     if (!SWIG_IsOK(res1)) {
4807       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_scale" "', argument " "1"" of type '" "gsl_histogram2d *""'");
4808     }
4809     arg1 = (gsl_histogram2d *)(argp1);
4810     ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
4811     if (!SWIG_IsOK(ecode2)) {
4812       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram2d_scale" "', argument " "2"" of type '" "double""'");
4813     }
4814     arg2 = (double)(val2);
4815     result = (int)gsl_histogram2d_scale(arg1,arg2);
4816     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4817 
4818 
4819     XSRETURN(argvi);
4820   fail:
4821 
4822 
4823     SWIG_croak_null();
4824   }
4825 }
4826 
4827 
XS(_wrap_gsl_histogram2d_shift)4828 XS(_wrap_gsl_histogram2d_shift) {
4829   {
4830     gsl_histogram2d *arg1 = (gsl_histogram2d *) 0 ;
4831     double arg2 ;
4832     void *argp1 = 0 ;
4833     int res1 = 0 ;
4834     double val2 ;
4835     int ecode2 = 0 ;
4836     int argvi = 0;
4837     int result;
4838     dXSARGS;
4839 
4840     if ((items < 2) || (items > 2)) {
4841       SWIG_croak("Usage: gsl_histogram2d_shift(h,shift);");
4842     }
4843     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4844     if (!SWIG_IsOK(res1)) {
4845       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_shift" "', argument " "1"" of type '" "gsl_histogram2d *""'");
4846     }
4847     arg1 = (gsl_histogram2d *)(argp1);
4848     ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
4849     if (!SWIG_IsOK(ecode2)) {
4850       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram2d_shift" "', argument " "2"" of type '" "double""'");
4851     }
4852     arg2 = (double)(val2);
4853     result = (int)gsl_histogram2d_shift(arg1,arg2);
4854     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4855 
4856 
4857     XSRETURN(argvi);
4858   fail:
4859 
4860 
4861     SWIG_croak_null();
4862   }
4863 }
4864 
4865 
XS(_wrap_gsl_histogram2d_fwrite)4866 XS(_wrap_gsl_histogram2d_fwrite) {
4867   {
4868     FILE *arg1 = (FILE *) 0 ;
4869     gsl_histogram2d *arg2 = (gsl_histogram2d *) 0 ;
4870     void *argp1 = 0 ;
4871     int res1 = 0 ;
4872     void *argp2 = 0 ;
4873     int res2 = 0 ;
4874     int argvi = 0;
4875     int result;
4876     dXSARGS;
4877 
4878     if ((items < 2) || (items > 2)) {
4879       SWIG_croak("Usage: gsl_histogram2d_fwrite(stream,h);");
4880     }
4881     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FILE, 0 |  0 );
4882     if (!SWIG_IsOK(res1)) {
4883       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_fwrite" "', argument " "1"" of type '" "FILE *""'");
4884     }
4885     arg1 = (FILE *)(argp1);
4886     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4887     if (!SWIG_IsOK(res2)) {
4888       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram2d_fwrite" "', argument " "2"" of type '" "gsl_histogram2d const *""'");
4889     }
4890     arg2 = (gsl_histogram2d *)(argp2);
4891     result = (int)gsl_histogram2d_fwrite(arg1,(gsl_histogram2d const *)arg2);
4892     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4893 
4894 
4895     XSRETURN(argvi);
4896   fail:
4897 
4898 
4899     SWIG_croak_null();
4900   }
4901 }
4902 
4903 
XS(_wrap_gsl_histogram2d_fread)4904 XS(_wrap_gsl_histogram2d_fread) {
4905   {
4906     FILE *arg1 = (FILE *) 0 ;
4907     gsl_histogram2d *arg2 = (gsl_histogram2d *) 0 ;
4908     void *argp1 = 0 ;
4909     int res1 = 0 ;
4910     void *argp2 = 0 ;
4911     int res2 = 0 ;
4912     int argvi = 0;
4913     int result;
4914     dXSARGS;
4915 
4916     if ((items < 2) || (items > 2)) {
4917       SWIG_croak("Usage: gsl_histogram2d_fread(stream,h);");
4918     }
4919     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FILE, 0 |  0 );
4920     if (!SWIG_IsOK(res1)) {
4921       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_fread" "', argument " "1"" of type '" "FILE *""'");
4922     }
4923     arg1 = (FILE *)(argp1);
4924     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4925     if (!SWIG_IsOK(res2)) {
4926       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram2d_fread" "', argument " "2"" of type '" "gsl_histogram2d *""'");
4927     }
4928     arg2 = (gsl_histogram2d *)(argp2);
4929     result = (int)gsl_histogram2d_fread(arg1,arg2);
4930     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4931 
4932 
4933     XSRETURN(argvi);
4934   fail:
4935 
4936 
4937     SWIG_croak_null();
4938   }
4939 }
4940 
4941 
XS(_wrap_gsl_histogram2d_fprintf)4942 XS(_wrap_gsl_histogram2d_fprintf) {
4943   {
4944     FILE *arg1 = (FILE *) 0 ;
4945     gsl_histogram2d *arg2 = (gsl_histogram2d *) 0 ;
4946     char *arg3 = (char *) 0 ;
4947     char *arg4 = (char *) 0 ;
4948     void *argp1 = 0 ;
4949     int res1 = 0 ;
4950     void *argp2 = 0 ;
4951     int res2 = 0 ;
4952     int res3 ;
4953     char *buf3 = 0 ;
4954     int alloc3 = 0 ;
4955     int res4 ;
4956     char *buf4 = 0 ;
4957     int alloc4 = 0 ;
4958     int argvi = 0;
4959     int result;
4960     dXSARGS;
4961 
4962     if ((items < 4) || (items > 4)) {
4963       SWIG_croak("Usage: gsl_histogram2d_fprintf(stream,h,range_format,bin_format);");
4964     }
4965     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FILE, 0 |  0 );
4966     if (!SWIG_IsOK(res1)) {
4967       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_fprintf" "', argument " "1"" of type '" "FILE *""'");
4968     }
4969     arg1 = (FILE *)(argp1);
4970     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
4971     if (!SWIG_IsOK(res2)) {
4972       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram2d_fprintf" "', argument " "2"" of type '" "gsl_histogram2d const *""'");
4973     }
4974     arg2 = (gsl_histogram2d *)(argp2);
4975     res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
4976     if (!SWIG_IsOK(res3)) {
4977       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "gsl_histogram2d_fprintf" "', argument " "3"" of type '" "char const *""'");
4978     }
4979     arg3 = (char *)(buf3);
4980     res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
4981     if (!SWIG_IsOK(res4)) {
4982       SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "gsl_histogram2d_fprintf" "', argument " "4"" of type '" "char const *""'");
4983     }
4984     arg4 = (char *)(buf4);
4985     result = (int)gsl_histogram2d_fprintf(arg1,(gsl_histogram2d const *)arg2,(char const *)arg3,(char const *)arg4);
4986     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4987 
4988 
4989     if (alloc3 == SWIG_NEWOBJ) free((char*)buf3);
4990     if (alloc4 == SWIG_NEWOBJ) free((char*)buf4);
4991     XSRETURN(argvi);
4992   fail:
4993 
4994 
4995     if (alloc3 == SWIG_NEWOBJ) free((char*)buf3);
4996     if (alloc4 == SWIG_NEWOBJ) free((char*)buf4);
4997     SWIG_croak_null();
4998   }
4999 }
5000 
5001 
XS(_wrap_gsl_histogram2d_fscanf)5002 XS(_wrap_gsl_histogram2d_fscanf) {
5003   {
5004     FILE *arg1 = (FILE *) 0 ;
5005     gsl_histogram2d *arg2 = (gsl_histogram2d *) 0 ;
5006     void *argp1 = 0 ;
5007     int res1 = 0 ;
5008     void *argp2 = 0 ;
5009     int res2 = 0 ;
5010     int argvi = 0;
5011     int result;
5012     dXSARGS;
5013 
5014     if ((items < 2) || (items > 2)) {
5015       SWIG_croak("Usage: gsl_histogram2d_fscanf(stream,h);");
5016     }
5017     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FILE, 0 |  0 );
5018     if (!SWIG_IsOK(res1)) {
5019       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_fscanf" "', argument " "1"" of type '" "FILE *""'");
5020     }
5021     arg1 = (FILE *)(argp1);
5022     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
5023     if (!SWIG_IsOK(res2)) {
5024       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram2d_fscanf" "', argument " "2"" of type '" "gsl_histogram2d *""'");
5025     }
5026     arg2 = (gsl_histogram2d *)(argp2);
5027     result = (int)gsl_histogram2d_fscanf(arg1,arg2);
5028     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
5029 
5030 
5031     XSRETURN(argvi);
5032   fail:
5033 
5034 
5035     SWIG_croak_null();
5036   }
5037 }
5038 
5039 
XS(_wrap_gsl_histogram2d_pdf_alloc)5040 XS(_wrap_gsl_histogram2d_pdf_alloc) {
5041   {
5042     size_t arg1 ;
5043     size_t arg2 ;
5044     size_t val1 ;
5045     int ecode1 = 0 ;
5046     size_t val2 ;
5047     int ecode2 = 0 ;
5048     int argvi = 0;
5049     gsl_histogram2d_pdf *result = 0 ;
5050     dXSARGS;
5051 
5052     if ((items < 2) || (items > 2)) {
5053       SWIG_croak("Usage: gsl_histogram2d_pdf_alloc(nx,ny);");
5054     }
5055     ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
5056     if (!SWIG_IsOK(ecode1)) {
5057       SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "gsl_histogram2d_pdf_alloc" "', argument " "1"" of type '" "size_t""'");
5058     }
5059     arg1 = (size_t)(val1);
5060     ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
5061     if (!SWIG_IsOK(ecode2)) {
5062       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram2d_pdf_alloc" "', argument " "2"" of type '" "size_t""'");
5063     }
5064     arg2 = (size_t)(val2);
5065     result = (gsl_histogram2d_pdf *)gsl_histogram2d_pdf_alloc(arg1,arg2);
5066     ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_histogram2d_pdf, 0 | SWIG_SHADOW); argvi++ ;
5067 
5068 
5069     XSRETURN(argvi);
5070   fail:
5071 
5072 
5073     SWIG_croak_null();
5074   }
5075 }
5076 
5077 
XS(_wrap_gsl_histogram2d_pdf_init)5078 XS(_wrap_gsl_histogram2d_pdf_init) {
5079   {
5080     gsl_histogram2d_pdf *arg1 = (gsl_histogram2d_pdf *) 0 ;
5081     gsl_histogram2d *arg2 = (gsl_histogram2d *) 0 ;
5082     void *argp1 = 0 ;
5083     int res1 = 0 ;
5084     void *argp2 = 0 ;
5085     int res2 = 0 ;
5086     int argvi = 0;
5087     int result;
5088     dXSARGS;
5089 
5090     if ((items < 2) || (items > 2)) {
5091       SWIG_croak("Usage: gsl_histogram2d_pdf_init(p,h);");
5092     }
5093     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d_pdf, 0 |  0 );
5094     if (!SWIG_IsOK(res1)) {
5095       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_pdf_init" "', argument " "1"" of type '" "gsl_histogram2d_pdf *""'");
5096     }
5097     arg1 = (gsl_histogram2d_pdf *)(argp1);
5098     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram2d, 0 |  0 );
5099     if (!SWIG_IsOK(res2)) {
5100       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram2d_pdf_init" "', argument " "2"" of type '" "gsl_histogram2d const *""'");
5101     }
5102     arg2 = (gsl_histogram2d *)(argp2);
5103     result = (int)gsl_histogram2d_pdf_init(arg1,(gsl_histogram2d const *)arg2);
5104     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
5105 
5106 
5107     XSRETURN(argvi);
5108   fail:
5109 
5110 
5111     SWIG_croak_null();
5112   }
5113 }
5114 
5115 
XS(_wrap_gsl_histogram2d_pdf_free)5116 XS(_wrap_gsl_histogram2d_pdf_free) {
5117   {
5118     gsl_histogram2d_pdf *arg1 = (gsl_histogram2d_pdf *) 0 ;
5119     void *argp1 = 0 ;
5120     int res1 = 0 ;
5121     int argvi = 0;
5122     dXSARGS;
5123 
5124     if ((items < 1) || (items > 1)) {
5125       SWIG_croak("Usage: gsl_histogram2d_pdf_free(p);");
5126     }
5127     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d_pdf, 0 |  0 );
5128     if (!SWIG_IsOK(res1)) {
5129       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_pdf_free" "', argument " "1"" of type '" "gsl_histogram2d_pdf *""'");
5130     }
5131     arg1 = (gsl_histogram2d_pdf *)(argp1);
5132     gsl_histogram2d_pdf_free(arg1);
5133     ST(argvi) = &PL_sv_undef;
5134 
5135     XSRETURN(argvi);
5136   fail:
5137 
5138     SWIG_croak_null();
5139   }
5140 }
5141 
5142 
XS(_wrap_gsl_histogram2d_pdf_sample)5143 XS(_wrap_gsl_histogram2d_pdf_sample) {
5144   {
5145     gsl_histogram2d_pdf *arg1 = (gsl_histogram2d_pdf *) 0 ;
5146     double arg2 ;
5147     double arg3 ;
5148     double *arg4 = (double *) 0 ;
5149     double *arg5 = (double *) 0 ;
5150     void *argp1 = 0 ;
5151     int res1 = 0 ;
5152     double val2 ;
5153     int ecode2 = 0 ;
5154     double val3 ;
5155     int ecode3 = 0 ;
5156     double temp4 ;
5157     int res4 = SWIG_TMPOBJ ;
5158     double temp5 ;
5159     int res5 = SWIG_TMPOBJ ;
5160     int argvi = 0;
5161     int result;
5162     dXSARGS;
5163 
5164     arg4 = &temp4;
5165     arg5 = &temp5;
5166     if ((items < 3) || (items > 3)) {
5167       SWIG_croak("Usage: gsl_histogram2d_pdf_sample(p,r1,r2);");
5168     }
5169     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram2d_pdf, 0 |  0 );
5170     if (!SWIG_IsOK(res1)) {
5171       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram2d_pdf_sample" "', argument " "1"" of type '" "gsl_histogram2d_pdf const *""'");
5172     }
5173     arg1 = (gsl_histogram2d_pdf *)(argp1);
5174     ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
5175     if (!SWIG_IsOK(ecode2)) {
5176       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram2d_pdf_sample" "', argument " "2"" of type '" "double""'");
5177     }
5178     arg2 = (double)(val2);
5179     ecode3 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
5180     if (!SWIG_IsOK(ecode3)) {
5181       SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "gsl_histogram2d_pdf_sample" "', argument " "3"" of type '" "double""'");
5182     }
5183     arg3 = (double)(val3);
5184     result = (int)gsl_histogram2d_pdf_sample((gsl_histogram2d_pdf const *)arg1,arg2,arg3,arg4,arg5);
5185     ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
5186     if (SWIG_IsTmpObj(res4)) {
5187       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
5188     } else {
5189       int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
5190       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_double, new_flags); argvi++  ;
5191     }
5192     if (SWIG_IsTmpObj(res5)) {
5193       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1((*arg5)); argvi++  ;
5194     } else {
5195       int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN | 0) : 0;
5196       if (argvi >= items) EXTEND(sp, argvi+1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_double, new_flags); argvi++  ;
5197     }
5198 
5199 
5200 
5201 
5202 
5203     XSRETURN(argvi);
5204   fail:
5205 
5206 
5207 
5208 
5209 
5210     SWIG_croak_null();
5211   }
5212 }
5213 
5214 
5215 
5216 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
5217 
5218 static swig_type_info _swigt__p_FILE = {"_p_FILE", "FILE *", 0, 0, (void*)0, 0};
5219 static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
5220 static swig_type_info _swigt__p_double = {"_p_double", "double *", 0, 0, (void*)0, 0};
5221 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};
5222 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};
5223 static swig_type_info _swigt__p_gsl_histogram2d = {"_p_gsl_histogram2d", "gsl_histogram2d *", 0, 0, (void*)"Math::GSL::Histogram2D::gsl_histogram2d", 0};
5224 static swig_type_info _swigt__p_gsl_histogram2d_pdf = {"_p_gsl_histogram2d_pdf", "gsl_histogram2d_pdf *", 0, 0, (void*)"Math::GSL::Histogram2D::gsl_histogram2d_pdf", 0};
5225 static swig_type_info _swigt__p_size_t = {"_p_size_t", "size_t *", 0, 0, (void*)0, 0};
5226 
5227 static swig_type_info *swig_type_initial[] = {
5228   &_swigt__p_FILE,
5229   &_swigt__p_char,
5230   &_swigt__p_double,
5231   &_swigt__p_f_p_q_const__char_p_q_const__char_int_int__void,
5232   &_swigt__p_f_p_q_const__char_p_q_const__char_int_p_q_const__char__void,
5233   &_swigt__p_gsl_histogram2d,
5234   &_swigt__p_gsl_histogram2d_pdf,
5235   &_swigt__p_size_t,
5236 };
5237 
5238 static swig_cast_info _swigc__p_FILE[] = {  {&_swigt__p_FILE, 0, 0, 0},{0, 0, 0, 0}};
5239 static swig_cast_info _swigc__p_char[] = {  {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
5240 static swig_cast_info _swigc__p_double[] = {  {&_swigt__p_double, 0, 0, 0},{0, 0, 0, 0}};
5241 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}};
5242 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}};
5243 static swig_cast_info _swigc__p_gsl_histogram2d[] = {  {&_swigt__p_gsl_histogram2d, 0, 0, 0},{0, 0, 0, 0}};
5244 static swig_cast_info _swigc__p_gsl_histogram2d_pdf[] = {  {&_swigt__p_gsl_histogram2d_pdf, 0, 0, 0},{0, 0, 0, 0}};
5245 static swig_cast_info _swigc__p_size_t[] = {  {&_swigt__p_size_t, 0, 0, 0},{0, 0, 0, 0}};
5246 
5247 static swig_cast_info *swig_cast_initial[] = {
5248   _swigc__p_FILE,
5249   _swigc__p_char,
5250   _swigc__p_double,
5251   _swigc__p_f_p_q_const__char_p_q_const__char_int_int__void,
5252   _swigc__p_f_p_q_const__char_p_q_const__char_int_p_q_const__char__void,
5253   _swigc__p_gsl_histogram2d,
5254   _swigc__p_gsl_histogram2d_pdf,
5255   _swigc__p_size_t,
5256 };
5257 
5258 
5259 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
5260 
5261 static swig_constant_info swig_constants[] = {
5262 {0,0,0,0,0,0}
5263 };
5264 #ifdef __cplusplus
5265 }
5266 #endif
5267 static swig_variable_info swig_variables[] = {
5268 {0,0,0,0}
5269 };
5270 static swig_command_info swig_commands[] = {
5271 {"Math::GSL::Histogram2Dc::gsl_error", _wrap_gsl_error},
5272 {"Math::GSL::Histogram2Dc::gsl_stream_printf", _wrap_gsl_stream_printf},
5273 {"Math::GSL::Histogram2Dc::gsl_strerror", _wrap_gsl_strerror},
5274 {"Math::GSL::Histogram2Dc::gsl_set_error_handler", _wrap_gsl_set_error_handler},
5275 {"Math::GSL::Histogram2Dc::gsl_set_error_handler_off", _wrap_gsl_set_error_handler_off},
5276 {"Math::GSL::Histogram2Dc::gsl_set_stream_handler", _wrap_gsl_set_stream_handler},
5277 {"Math::GSL::Histogram2Dc::gsl_set_stream", _wrap_gsl_set_stream},
5278 {"Math::GSL::Histogram2Dc::gsl_histogram2d_nx_set", _wrap_gsl_histogram2d_nx_set},
5279 {"Math::GSL::Histogram2Dc::gsl_histogram2d_nx_get", _wrap_gsl_histogram2d_nx_get},
5280 {"Math::GSL::Histogram2Dc::gsl_histogram2d_ny_set", _wrap_gsl_histogram2d_ny_set},
5281 {"Math::GSL::Histogram2Dc::gsl_histogram2d_ny_get", _wrap_gsl_histogram2d_ny_get},
5282 {"Math::GSL::Histogram2Dc::gsl_histogram2d_xrange_set", _wrap_gsl_histogram2d_xrange_set},
5283 {"Math::GSL::Histogram2Dc::gsl_histogram2d_xrange_get", _wrap_gsl_histogram2d_xrange_get},
5284 {"Math::GSL::Histogram2Dc::gsl_histogram2d_yrange_set", _wrap_gsl_histogram2d_yrange_set},
5285 {"Math::GSL::Histogram2Dc::gsl_histogram2d_yrange_get", _wrap_gsl_histogram2d_yrange_get},
5286 {"Math::GSL::Histogram2Dc::gsl_histogram2d_bin_set", _wrap_gsl_histogram2d_bin_set},
5287 {"Math::GSL::Histogram2Dc::gsl_histogram2d_bin_get", _wrap_gsl_histogram2d_bin_get},
5288 {"Math::GSL::Histogram2Dc::new_gsl_histogram2d", _wrap_new_gsl_histogram2d},
5289 {"Math::GSL::Histogram2Dc::delete_gsl_histogram2d", _wrap_delete_gsl_histogram2d},
5290 {"Math::GSL::Histogram2Dc::gsl_histogram2d_pdf_nx_set", _wrap_gsl_histogram2d_pdf_nx_set},
5291 {"Math::GSL::Histogram2Dc::gsl_histogram2d_pdf_nx_get", _wrap_gsl_histogram2d_pdf_nx_get},
5292 {"Math::GSL::Histogram2Dc::gsl_histogram2d_pdf_ny_set", _wrap_gsl_histogram2d_pdf_ny_set},
5293 {"Math::GSL::Histogram2Dc::gsl_histogram2d_pdf_ny_get", _wrap_gsl_histogram2d_pdf_ny_get},
5294 {"Math::GSL::Histogram2Dc::gsl_histogram2d_pdf_xrange_set", _wrap_gsl_histogram2d_pdf_xrange_set},
5295 {"Math::GSL::Histogram2Dc::gsl_histogram2d_pdf_xrange_get", _wrap_gsl_histogram2d_pdf_xrange_get},
5296 {"Math::GSL::Histogram2Dc::gsl_histogram2d_pdf_yrange_set", _wrap_gsl_histogram2d_pdf_yrange_set},
5297 {"Math::GSL::Histogram2Dc::gsl_histogram2d_pdf_yrange_get", _wrap_gsl_histogram2d_pdf_yrange_get},
5298 {"Math::GSL::Histogram2Dc::gsl_histogram2d_pdf_sum_set", _wrap_gsl_histogram2d_pdf_sum_set},
5299 {"Math::GSL::Histogram2Dc::gsl_histogram2d_pdf_sum_get", _wrap_gsl_histogram2d_pdf_sum_get},
5300 {"Math::GSL::Histogram2Dc::new_gsl_histogram2d_pdf", _wrap_new_gsl_histogram2d_pdf},
5301 {"Math::GSL::Histogram2Dc::delete_gsl_histogram2d_pdf", _wrap_delete_gsl_histogram2d_pdf},
5302 {"Math::GSL::Histogram2Dc::gsl_histogram2d_alloc", _wrap_gsl_histogram2d_alloc},
5303 {"Math::GSL::Histogram2Dc::gsl_histogram2d_calloc", _wrap_gsl_histogram2d_calloc},
5304 {"Math::GSL::Histogram2Dc::gsl_histogram2d_calloc_uniform", _wrap_gsl_histogram2d_calloc_uniform},
5305 {"Math::GSL::Histogram2Dc::gsl_histogram2d_free", _wrap_gsl_histogram2d_free},
5306 {"Math::GSL::Histogram2Dc::gsl_histogram2d_increment", _wrap_gsl_histogram2d_increment},
5307 {"Math::GSL::Histogram2Dc::gsl_histogram2d_accumulate", _wrap_gsl_histogram2d_accumulate},
5308 {"Math::GSL::Histogram2Dc::gsl_histogram2d_find", _wrap_gsl_histogram2d_find},
5309 {"Math::GSL::Histogram2Dc::gsl_histogram2d_get", _wrap_gsl_histogram2d_get},
5310 {"Math::GSL::Histogram2Dc::gsl_histogram2d_get_xrange", _wrap_gsl_histogram2d_get_xrange},
5311 {"Math::GSL::Histogram2Dc::gsl_histogram2d_get_yrange", _wrap_gsl_histogram2d_get_yrange},
5312 {"Math::GSL::Histogram2Dc::gsl_histogram2d_xmax", _wrap_gsl_histogram2d_xmax},
5313 {"Math::GSL::Histogram2Dc::gsl_histogram2d_xmin", _wrap_gsl_histogram2d_xmin},
5314 {"Math::GSL::Histogram2Dc::gsl_histogram2d_nx", _wrap_gsl_histogram2d_nx},
5315 {"Math::GSL::Histogram2Dc::gsl_histogram2d_ymax", _wrap_gsl_histogram2d_ymax},
5316 {"Math::GSL::Histogram2Dc::gsl_histogram2d_ymin", _wrap_gsl_histogram2d_ymin},
5317 {"Math::GSL::Histogram2Dc::gsl_histogram2d_ny", _wrap_gsl_histogram2d_ny},
5318 {"Math::GSL::Histogram2Dc::gsl_histogram2d_reset", _wrap_gsl_histogram2d_reset},
5319 {"Math::GSL::Histogram2Dc::gsl_histogram2d_calloc_range", _wrap_gsl_histogram2d_calloc_range},
5320 {"Math::GSL::Histogram2Dc::gsl_histogram2d_set_ranges_uniform", _wrap_gsl_histogram2d_set_ranges_uniform},
5321 {"Math::GSL::Histogram2Dc::gsl_histogram2d_set_ranges", _wrap_gsl_histogram2d_set_ranges},
5322 {"Math::GSL::Histogram2Dc::gsl_histogram2d_memcpy", _wrap_gsl_histogram2d_memcpy},
5323 {"Math::GSL::Histogram2Dc::gsl_histogram2d_clone", _wrap_gsl_histogram2d_clone},
5324 {"Math::GSL::Histogram2Dc::gsl_histogram2d_max_val", _wrap_gsl_histogram2d_max_val},
5325 {"Math::GSL::Histogram2Dc::gsl_histogram2d_max_bin", _wrap_gsl_histogram2d_max_bin},
5326 {"Math::GSL::Histogram2Dc::gsl_histogram2d_min_val", _wrap_gsl_histogram2d_min_val},
5327 {"Math::GSL::Histogram2Dc::gsl_histogram2d_min_bin", _wrap_gsl_histogram2d_min_bin},
5328 {"Math::GSL::Histogram2Dc::gsl_histogram2d_xmean", _wrap_gsl_histogram2d_xmean},
5329 {"Math::GSL::Histogram2Dc::gsl_histogram2d_ymean", _wrap_gsl_histogram2d_ymean},
5330 {"Math::GSL::Histogram2Dc::gsl_histogram2d_xsigma", _wrap_gsl_histogram2d_xsigma},
5331 {"Math::GSL::Histogram2Dc::gsl_histogram2d_ysigma", _wrap_gsl_histogram2d_ysigma},
5332 {"Math::GSL::Histogram2Dc::gsl_histogram2d_cov", _wrap_gsl_histogram2d_cov},
5333 {"Math::GSL::Histogram2Dc::gsl_histogram2d_sum", _wrap_gsl_histogram2d_sum},
5334 {"Math::GSL::Histogram2Dc::gsl_histogram2d_equal_bins_p", _wrap_gsl_histogram2d_equal_bins_p},
5335 {"Math::GSL::Histogram2Dc::gsl_histogram2d_add", _wrap_gsl_histogram2d_add},
5336 {"Math::GSL::Histogram2Dc::gsl_histogram2d_sub", _wrap_gsl_histogram2d_sub},
5337 {"Math::GSL::Histogram2Dc::gsl_histogram2d_mul", _wrap_gsl_histogram2d_mul},
5338 {"Math::GSL::Histogram2Dc::gsl_histogram2d_div", _wrap_gsl_histogram2d_div},
5339 {"Math::GSL::Histogram2Dc::gsl_histogram2d_scale", _wrap_gsl_histogram2d_scale},
5340 {"Math::GSL::Histogram2Dc::gsl_histogram2d_shift", _wrap_gsl_histogram2d_shift},
5341 {"Math::GSL::Histogram2Dc::gsl_histogram2d_fwrite", _wrap_gsl_histogram2d_fwrite},
5342 {"Math::GSL::Histogram2Dc::gsl_histogram2d_fread", _wrap_gsl_histogram2d_fread},
5343 {"Math::GSL::Histogram2Dc::gsl_histogram2d_fprintf", _wrap_gsl_histogram2d_fprintf},
5344 {"Math::GSL::Histogram2Dc::gsl_histogram2d_fscanf", _wrap_gsl_histogram2d_fscanf},
5345 {"Math::GSL::Histogram2Dc::gsl_histogram2d_pdf_alloc", _wrap_gsl_histogram2d_pdf_alloc},
5346 {"Math::GSL::Histogram2Dc::gsl_histogram2d_pdf_init", _wrap_gsl_histogram2d_pdf_init},
5347 {"Math::GSL::Histogram2Dc::gsl_histogram2d_pdf_free", _wrap_gsl_histogram2d_pdf_free},
5348 {"Math::GSL::Histogram2Dc::gsl_histogram2d_pdf_sample", _wrap_gsl_histogram2d_pdf_sample},
5349 {0,0}
5350 };
5351 /* -----------------------------------------------------------------------------
5352  * Type initialization:
5353  * This problem is tough by the requirement that no dynamic
5354  * memory is used. Also, since swig_type_info structures store pointers to
5355  * swig_cast_info structures and swig_cast_info structures store pointers back
5356  * to swig_type_info structures, we need some lookup code at initialization.
5357  * The idea is that swig generates all the structures that are needed.
5358  * The runtime then collects these partially filled structures.
5359  * The SWIG_InitializeModule function takes these initial arrays out of
5360  * swig_module, and does all the lookup, filling in the swig_module.types
5361  * array with the correct data and linking the correct swig_cast_info
5362  * structures together.
5363  *
5364  * The generated swig_type_info structures are assigned statically to an initial
5365  * array. We just loop through that array, and handle each type individually.
5366  * First we lookup if this type has been already loaded, and if so, use the
5367  * loaded structure instead of the generated one. Then we have to fill in the
5368  * cast linked list. The cast data is initially stored in something like a
5369  * two-dimensional array. Each row corresponds to a type (there are the same
5370  * number of rows as there are in the swig_type_initial array). Each entry in
5371  * a column is one of the swig_cast_info structures for that type.
5372  * The cast_initial array is actually an array of arrays, because each row has
5373  * a variable number of columns. So to actually build the cast linked list,
5374  * we find the array of casts associated with the type, and loop through it
5375  * adding the casts to the list. The one last trick we need to do is making
5376  * sure the type pointer in the swig_cast_info struct is correct.
5377  *
5378  * First off, we lookup the cast->type name to see if it is already loaded.
5379  * There are three cases to handle:
5380  *  1) If the cast->type has already been loaded AND the type we are adding
5381  *     casting info to has not been loaded (it is in this module), THEN we
5382  *     replace the cast->type pointer with the type pointer that has already
5383  *     been loaded.
5384  *  2) If BOTH types (the one we are adding casting info to, and the
5385  *     cast->type) are loaded, THEN the cast info has already been loaded by
5386  *     the previous module so we just ignore it.
5387  *  3) Finally, if cast->type has not already been loaded, then we add that
5388  *     swig_cast_info to the linked list (because the cast->type) pointer will
5389  *     be correct.
5390  * ----------------------------------------------------------------------------- */
5391 
5392 #ifdef __cplusplus
5393 extern "C" {
5394 #if 0
5395 } /* c-mode */
5396 #endif
5397 #endif
5398 
5399 #if 0
5400 #define SWIGRUNTIME_DEBUG
5401 #endif
5402 
5403 
5404 SWIGRUNTIME void
SWIG_InitializeModule(void * clientdata)5405 SWIG_InitializeModule(void *clientdata) {
5406   size_t i;
5407   swig_module_info *module_head, *iter;
5408   int init;
5409 
5410   /* check to see if the circular list has been setup, if not, set it up */
5411   if (swig_module.next==0) {
5412     /* Initialize the swig_module */
5413     swig_module.type_initial = swig_type_initial;
5414     swig_module.cast_initial = swig_cast_initial;
5415     swig_module.next = &swig_module;
5416     init = 1;
5417   } else {
5418     init = 0;
5419   }
5420 
5421   /* Try and load any already created modules */
5422   module_head = SWIG_GetModule(clientdata);
5423   if (!module_head) {
5424     /* This is the first module loaded for this interpreter */
5425     /* so set the swig module into the interpreter */
5426     SWIG_SetModule(clientdata, &swig_module);
5427   } else {
5428     /* the interpreter has loaded a SWIG module, but has it loaded this one? */
5429     iter=module_head;
5430     do {
5431       if (iter==&swig_module) {
5432         /* Our module is already in the list, so there's nothing more to do. */
5433         return;
5434       }
5435       iter=iter->next;
5436     } while (iter!= module_head);
5437 
5438     /* otherwise we must add our module into the list */
5439     swig_module.next = module_head->next;
5440     module_head->next = &swig_module;
5441   }
5442 
5443   /* When multiple interpreters are used, a module could have already been initialized in
5444        a different interpreter, but not yet have a pointer in this interpreter.
5445        In this case, we do not want to continue adding types... everything should be
5446        set up already */
5447   if (init == 0) return;
5448 
5449   /* Now work on filling in swig_module.types */
5450 #ifdef SWIGRUNTIME_DEBUG
5451   printf("SWIG_InitializeModule: size %lu\n", (unsigned long)swig_module.size);
5452 #endif
5453   for (i = 0; i < swig_module.size; ++i) {
5454     swig_type_info *type = 0;
5455     swig_type_info *ret;
5456     swig_cast_info *cast;
5457 
5458 #ifdef SWIGRUNTIME_DEBUG
5459     printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
5460 #endif
5461 
5462     /* if there is another module already loaded */
5463     if (swig_module.next != &swig_module) {
5464       type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name);
5465     }
5466     if (type) {
5467       /* Overwrite clientdata field */
5468 #ifdef SWIGRUNTIME_DEBUG
5469       printf("SWIG_InitializeModule: found type %s\n", type->name);
5470 #endif
5471       if (swig_module.type_initial[i]->clientdata) {
5472         type->clientdata = swig_module.type_initial[i]->clientdata;
5473 #ifdef SWIGRUNTIME_DEBUG
5474         printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name);
5475 #endif
5476       }
5477     } else {
5478       type = swig_module.type_initial[i];
5479     }
5480 
5481     /* Insert casting types */
5482     cast = swig_module.cast_initial[i];
5483     while (cast->type) {
5484       /* Don't need to add information already in the list */
5485       ret = 0;
5486 #ifdef SWIGRUNTIME_DEBUG
5487       printf("SWIG_InitializeModule: look cast %s\n", cast->type->name);
5488 #endif
5489       if (swig_module.next != &swig_module) {
5490         ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name);
5491 #ifdef SWIGRUNTIME_DEBUG
5492         if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name);
5493 #endif
5494       }
5495       if (ret) {
5496         if (type == swig_module.type_initial[i]) {
5497 #ifdef SWIGRUNTIME_DEBUG
5498           printf("SWIG_InitializeModule: skip old type %s\n", ret->name);
5499 #endif
5500           cast->type = ret;
5501           ret = 0;
5502         } else {
5503           /* Check for casting already in the list */
5504           swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type);
5505 #ifdef SWIGRUNTIME_DEBUG
5506           if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name);
5507 #endif
5508           if (!ocast) ret = 0;
5509         }
5510       }
5511 
5512       if (!ret) {
5513 #ifdef SWIGRUNTIME_DEBUG
5514         printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name);
5515 #endif
5516         if (type->cast) {
5517           type->cast->prev = cast;
5518           cast->next = type->cast;
5519         }
5520         type->cast = cast;
5521       }
5522       cast++;
5523     }
5524     /* Set entry in modules->types array equal to the type */
5525     swig_module.types[i] = type;
5526   }
5527   swig_module.types[i] = 0;
5528 
5529 #ifdef SWIGRUNTIME_DEBUG
5530   printf("**** SWIG_InitializeModule: Cast List ******\n");
5531   for (i = 0; i < swig_module.size; ++i) {
5532     int j = 0;
5533     swig_cast_info *cast = swig_module.cast_initial[i];
5534     printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
5535     while (cast->type) {
5536       printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
5537       cast++;
5538       ++j;
5539     }
5540     printf("---- Total casts: %d\n",j);
5541   }
5542   printf("**** SWIG_InitializeModule: Cast List ******\n");
5543 #endif
5544 }
5545 
5546 /* This function will propagate the clientdata field of type to
5547 * any new swig_type_info structures that have been added into the list
5548 * of equivalent types.  It is like calling
5549 * SWIG_TypeClientData(type, clientdata) a second time.
5550 */
5551 SWIGRUNTIME void
SWIG_PropagateClientData(void)5552 SWIG_PropagateClientData(void) {
5553   size_t i;
5554   swig_cast_info *equiv;
5555   static int init_run = 0;
5556 
5557   if (init_run) return;
5558   init_run = 1;
5559 
5560   for (i = 0; i < swig_module.size; i++) {
5561     if (swig_module.types[i]->clientdata) {
5562       equiv = swig_module.types[i]->cast;
5563       while (equiv) {
5564         if (!equiv->converter) {
5565           if (equiv->type && !equiv->type->clientdata)
5566           SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata);
5567         }
5568         equiv = equiv->next;
5569       }
5570     }
5571   }
5572 }
5573 
5574 #ifdef __cplusplus
5575 #if 0
5576 {
5577   /* c-mode */
5578 #endif
5579 }
5580 #endif
5581 
5582 
5583 
5584 #if defined(__cplusplus) && ! defined(XSPROTO)
5585 extern "C"
5586 #endif
5587 
XS(SWIG_init)5588 XS(SWIG_init) {
5589   dXSARGS;
5590   int i;
5591   (void)items;
5592 
5593   SWIG_InitializeModule(0);
5594 
5595   /* Install commands */
5596   for (i = 0; swig_commands[i].name; i++) {
5597     /* Casts only needed for Perl < 5.10. */
5598 #ifdef __cplusplus
5599     newXS(const_cast<char*>(swig_commands[i].name), swig_commands[i].wrapper, const_cast<char*>(__FILE__));
5600 #else
5601     newXS((char*)swig_commands[i].name, swig_commands[i].wrapper, (char*)__FILE__);
5602 #endif
5603   }
5604 
5605   /* Install variables */
5606   for (i = 0; swig_variables[i].name; i++) {
5607     SV *sv;
5608     sv = get_sv(swig_variables[i].name, TRUE | 0x2 | GV_ADDMULTI);
5609     if (swig_variables[i].type) {
5610       SWIG_MakePtr(sv,(void *)1, *swig_variables[i].type,0);
5611     } else {
5612       sv_setiv(sv,(IV) 0);
5613     }
5614     swig_create_magic(sv, swig_variables[i].name, swig_variables[i].set, swig_variables[i].get);
5615   }
5616 
5617   /* Install constant */
5618   for (i = 0; swig_constants[i].type; i++) {
5619     SV *sv;
5620     sv = get_sv(swig_constants[i].name, TRUE | 0x2 | GV_ADDMULTI);
5621     switch(swig_constants[i].type) {
5622     case SWIG_INT:
5623       sv_setiv(sv, (IV) swig_constants[i].lvalue);
5624       break;
5625     case SWIG_FLOAT:
5626       sv_setnv(sv, (double) swig_constants[i].dvalue);
5627       break;
5628     case SWIG_STRING:
5629       sv_setpv(sv, (const char *) swig_constants[i].pvalue);
5630       break;
5631     case SWIG_POINTER:
5632       SWIG_MakePtr(sv, swig_constants[i].pvalue, *(swig_constants[i].ptype),0);
5633       break;
5634     case SWIG_BINARY:
5635       SWIG_MakePackedObj(sv, swig_constants[i].pvalue, swig_constants[i].lvalue, *(swig_constants[i].ptype));
5636       break;
5637     default:
5638       break;
5639     }
5640     SvREADONLY_on(sv);
5641   }
5642 
5643   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5644     SV *sv = get_sv((char*) SWIG_prefix "GSL_VERSION", TRUE | 0x2 | GV_ADDMULTI);
5645     sv_setsv(sv, SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)(2.7)));
5646     SvREADONLY_on(sv);
5647   } while(0) /*@SWIG@*/;
5648   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5649     SV *sv = get_sv((char*) SWIG_prefix "GSL_MAJOR_VERSION", TRUE | 0x2 | GV_ADDMULTI);
5650     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(2)));
5651     SvREADONLY_on(sv);
5652   } while(0) /*@SWIG@*/;
5653   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5654     SV *sv = get_sv((char*) SWIG_prefix "GSL_MINOR_VERSION", TRUE | 0x2 | GV_ADDMULTI);
5655     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(7)));
5656     SvREADONLY_on(sv);
5657   } while(0) /*@SWIG@*/;
5658   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5659     SV *sv = get_sv((char*) SWIG_prefix "GSL_POSZERO", TRUE | 0x2 | GV_ADDMULTI);
5660     sv_setsv(sv, SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)((+0.0))));
5661     SvREADONLY_on(sv);
5662   } while(0) /*@SWIG@*/;
5663   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5664     SV *sv = get_sv((char*) SWIG_prefix "GSL_NEGZERO", TRUE | 0x2 | GV_ADDMULTI);
5665     sv_setsv(sv, SWIG_From_double  SWIG_PERL_CALL_ARGS_1((double)((-0.0))));
5666     SvREADONLY_on(sv);
5667   } while(0) /*@SWIG@*/;
5668   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5669     SV *sv = get_sv((char*) SWIG_prefix "GSL_SUCCESS", TRUE | 0x2 | GV_ADDMULTI);
5670     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_SUCCESS)));
5671     SvREADONLY_on(sv);
5672   } while(0) /*@SWIG@*/;
5673   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5674     SV *sv = get_sv((char*) SWIG_prefix "GSL_FAILURE", TRUE | 0x2 | GV_ADDMULTI);
5675     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_FAILURE)));
5676     SvREADONLY_on(sv);
5677   } while(0) /*@SWIG@*/;
5678   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5679     SV *sv = get_sv((char*) SWIG_prefix "GSL_CONTINUE", TRUE | 0x2 | GV_ADDMULTI);
5680     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_CONTINUE)));
5681     SvREADONLY_on(sv);
5682   } while(0) /*@SWIG@*/;
5683   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5684     SV *sv = get_sv((char*) SWIG_prefix "GSL_EDOM", TRUE | 0x2 | GV_ADDMULTI);
5685     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EDOM)));
5686     SvREADONLY_on(sv);
5687   } while(0) /*@SWIG@*/;
5688   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5689     SV *sv = get_sv((char*) SWIG_prefix "GSL_ERANGE", TRUE | 0x2 | GV_ADDMULTI);
5690     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ERANGE)));
5691     SvREADONLY_on(sv);
5692   } while(0) /*@SWIG@*/;
5693   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5694     SV *sv = get_sv((char*) SWIG_prefix "GSL_EFAULT", TRUE | 0x2 | GV_ADDMULTI);
5695     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EFAULT)));
5696     SvREADONLY_on(sv);
5697   } while(0) /*@SWIG@*/;
5698   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5699     SV *sv = get_sv((char*) SWIG_prefix "GSL_EINVAL", TRUE | 0x2 | GV_ADDMULTI);
5700     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EINVAL)));
5701     SvREADONLY_on(sv);
5702   } while(0) /*@SWIG@*/;
5703   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5704     SV *sv = get_sv((char*) SWIG_prefix "GSL_EFAILED", TRUE | 0x2 | GV_ADDMULTI);
5705     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EFAILED)));
5706     SvREADONLY_on(sv);
5707   } while(0) /*@SWIG@*/;
5708   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5709     SV *sv = get_sv((char*) SWIG_prefix "GSL_EFACTOR", TRUE | 0x2 | GV_ADDMULTI);
5710     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EFACTOR)));
5711     SvREADONLY_on(sv);
5712   } while(0) /*@SWIG@*/;
5713   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5714     SV *sv = get_sv((char*) SWIG_prefix "GSL_ESANITY", TRUE | 0x2 | GV_ADDMULTI);
5715     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ESANITY)));
5716     SvREADONLY_on(sv);
5717   } while(0) /*@SWIG@*/;
5718   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5719     SV *sv = get_sv((char*) SWIG_prefix "GSL_ENOMEM", TRUE | 0x2 | GV_ADDMULTI);
5720     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ENOMEM)));
5721     SvREADONLY_on(sv);
5722   } while(0) /*@SWIG@*/;
5723   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5724     SV *sv = get_sv((char*) SWIG_prefix "GSL_EBADFUNC", TRUE | 0x2 | GV_ADDMULTI);
5725     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EBADFUNC)));
5726     SvREADONLY_on(sv);
5727   } while(0) /*@SWIG@*/;
5728   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5729     SV *sv = get_sv((char*) SWIG_prefix "GSL_ERUNAWAY", TRUE | 0x2 | GV_ADDMULTI);
5730     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ERUNAWAY)));
5731     SvREADONLY_on(sv);
5732   } while(0) /*@SWIG@*/;
5733   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5734     SV *sv = get_sv((char*) SWIG_prefix "GSL_EMAXITER", TRUE | 0x2 | GV_ADDMULTI);
5735     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EMAXITER)));
5736     SvREADONLY_on(sv);
5737   } while(0) /*@SWIG@*/;
5738   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5739     SV *sv = get_sv((char*) SWIG_prefix "GSL_EZERODIV", TRUE | 0x2 | GV_ADDMULTI);
5740     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EZERODIV)));
5741     SvREADONLY_on(sv);
5742   } while(0) /*@SWIG@*/;
5743   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5744     SV *sv = get_sv((char*) SWIG_prefix "GSL_EBADTOL", TRUE | 0x2 | GV_ADDMULTI);
5745     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EBADTOL)));
5746     SvREADONLY_on(sv);
5747   } while(0) /*@SWIG@*/;
5748   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5749     SV *sv = get_sv((char*) SWIG_prefix "GSL_ETOL", TRUE | 0x2 | GV_ADDMULTI);
5750     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ETOL)));
5751     SvREADONLY_on(sv);
5752   } while(0) /*@SWIG@*/;
5753   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5754     SV *sv = get_sv((char*) SWIG_prefix "GSL_EUNDRFLW", TRUE | 0x2 | GV_ADDMULTI);
5755     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EUNDRFLW)));
5756     SvREADONLY_on(sv);
5757   } while(0) /*@SWIG@*/;
5758   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5759     SV *sv = get_sv((char*) SWIG_prefix "GSL_EOVRFLW", TRUE | 0x2 | GV_ADDMULTI);
5760     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EOVRFLW)));
5761     SvREADONLY_on(sv);
5762   } while(0) /*@SWIG@*/;
5763   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5764     SV *sv = get_sv((char*) SWIG_prefix "GSL_ELOSS", TRUE | 0x2 | GV_ADDMULTI);
5765     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ELOSS)));
5766     SvREADONLY_on(sv);
5767   } while(0) /*@SWIG@*/;
5768   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5769     SV *sv = get_sv((char*) SWIG_prefix "GSL_EROUND", TRUE | 0x2 | GV_ADDMULTI);
5770     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EROUND)));
5771     SvREADONLY_on(sv);
5772   } while(0) /*@SWIG@*/;
5773   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5774     SV *sv = get_sv((char*) SWIG_prefix "GSL_EBADLEN", TRUE | 0x2 | GV_ADDMULTI);
5775     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EBADLEN)));
5776     SvREADONLY_on(sv);
5777   } while(0) /*@SWIG@*/;
5778   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5779     SV *sv = get_sv((char*) SWIG_prefix "GSL_ENOTSQR", TRUE | 0x2 | GV_ADDMULTI);
5780     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ENOTSQR)));
5781     SvREADONLY_on(sv);
5782   } while(0) /*@SWIG@*/;
5783   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5784     SV *sv = get_sv((char*) SWIG_prefix "GSL_ESING", TRUE | 0x2 | GV_ADDMULTI);
5785     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ESING)));
5786     SvREADONLY_on(sv);
5787   } while(0) /*@SWIG@*/;
5788   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5789     SV *sv = get_sv((char*) SWIG_prefix "GSL_EDIVERGE", TRUE | 0x2 | GV_ADDMULTI);
5790     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EDIVERGE)));
5791     SvREADONLY_on(sv);
5792   } while(0) /*@SWIG@*/;
5793   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5794     SV *sv = get_sv((char*) SWIG_prefix "GSL_EUNSUP", TRUE | 0x2 | GV_ADDMULTI);
5795     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EUNSUP)));
5796     SvREADONLY_on(sv);
5797   } while(0) /*@SWIG@*/;
5798   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5799     SV *sv = get_sv((char*) SWIG_prefix "GSL_EUNIMPL", TRUE | 0x2 | GV_ADDMULTI);
5800     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EUNIMPL)));
5801     SvREADONLY_on(sv);
5802   } while(0) /*@SWIG@*/;
5803   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5804     SV *sv = get_sv((char*) SWIG_prefix "GSL_ECACHE", TRUE | 0x2 | GV_ADDMULTI);
5805     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ECACHE)));
5806     SvREADONLY_on(sv);
5807   } while(0) /*@SWIG@*/;
5808   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5809     SV *sv = get_sv((char*) SWIG_prefix "GSL_ETABLE", TRUE | 0x2 | GV_ADDMULTI);
5810     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ETABLE)));
5811     SvREADONLY_on(sv);
5812   } while(0) /*@SWIG@*/;
5813   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5814     SV *sv = get_sv((char*) SWIG_prefix "GSL_ENOPROG", TRUE | 0x2 | GV_ADDMULTI);
5815     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ENOPROG)));
5816     SvREADONLY_on(sv);
5817   } while(0) /*@SWIG@*/;
5818   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5819     SV *sv = get_sv((char*) SWIG_prefix "GSL_ENOPROGJ", TRUE | 0x2 | GV_ADDMULTI);
5820     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ENOPROGJ)));
5821     SvREADONLY_on(sv);
5822   } while(0) /*@SWIG@*/;
5823   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5824     SV *sv = get_sv((char*) SWIG_prefix "GSL_ETOLF", TRUE | 0x2 | GV_ADDMULTI);
5825     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ETOLF)));
5826     SvREADONLY_on(sv);
5827   } while(0) /*@SWIG@*/;
5828   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5829     SV *sv = get_sv((char*) SWIG_prefix "GSL_ETOLX", TRUE | 0x2 | GV_ADDMULTI);
5830     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ETOLX)));
5831     SvREADONLY_on(sv);
5832   } while(0) /*@SWIG@*/;
5833   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5834     SV *sv = get_sv((char*) SWIG_prefix "GSL_ETOLG", TRUE | 0x2 | GV_ADDMULTI);
5835     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_ETOLG)));
5836     SvREADONLY_on(sv);
5837   } while(0) /*@SWIG@*/;
5838   /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5839     SV *sv = get_sv((char*) SWIG_prefix "GSL_EOF", TRUE | 0x2 | GV_ADDMULTI);
5840     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GSL_EOF)));
5841     SvREADONLY_on(sv);
5842   } while(0) /*@SWIG@*/;
5843   SWIG_TypeClientData(SWIGTYPE_p_gsl_histogram2d, (void*) "Math::GSL::Histogram2D::gsl_histogram2d");
5844   SWIG_TypeClientData(SWIGTYPE_p_gsl_histogram2d_pdf, (void*) "Math::GSL::Histogram2D::gsl_histogram2d_pdf");
5845   ST(0) = &PL_sv_yes;
5846   XSRETURN(1);
5847 }
5848 
5849