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_histogram swig_types[5]
1525 #define SWIGTYPE_p_gsl_histogram_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__Histogram
1535
1536 #define SWIG_name "Math::GSL::Histogramc::boot_Math__GSL__Histogram"
1537 #define SWIG_prefix "Math::GSL::Histogramc::"
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_histogram.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__Histogram_var::
2248 class _wrap_Math__GSL__Histogram_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_histogram_n_set)2518 XS(_wrap_gsl_histogram_n_set) {
2519 {
2520 gsl_histogram *arg1 = (gsl_histogram *) 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_histogram_n_set(self,n);");
2531 }
2532 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
2533 if (!SWIG_IsOK(res1)) {
2534 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_n_set" "', argument " "1"" of type '" "gsl_histogram *""'");
2535 }
2536 arg1 = (gsl_histogram *)(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_histogram_n_set" "', argument " "2"" of type '" "size_t""'");
2540 }
2541 arg2 = (size_t)(val2);
2542 if (arg1) (arg1)->n = 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_histogram_n_get)2555 XS(_wrap_gsl_histogram_n_get) {
2556 {
2557 gsl_histogram *arg1 = (gsl_histogram *) 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_histogram_n_get(self);");
2566 }
2567 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
2568 if (!SWIG_IsOK(res1)) {
2569 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_n_get" "', argument " "1"" of type '" "gsl_histogram *""'");
2570 }
2571 arg1 = (gsl_histogram *)(argp1);
2572 result = ((arg1)->n);
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_histogram_range_set)2583 XS(_wrap_gsl_histogram_range_set) {
2584 {
2585 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
2586 double *arg2 = (double *) 0 ;
2587 void *argp1 = 0 ;
2588 int res1 = 0 ;
2589 void *argp2 = 0 ;
2590 int res2 = 0 ;
2591 int argvi = 0;
2592 dXSARGS;
2593
2594 if ((items < 2) || (items > 2)) {
2595 SWIG_croak("Usage: gsl_histogram_range_set(self,range);");
2596 }
2597 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
2598 if (!SWIG_IsOK(res1)) {
2599 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_range_set" "', argument " "1"" of type '" "gsl_histogram *""'");
2600 }
2601 arg1 = (gsl_histogram *)(argp1);
2602 res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_double, SWIG_POINTER_DISOWN | 0 );
2603 if (!SWIG_IsOK(res2)) {
2604 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram_range_set" "', argument " "2"" of type '" "double *""'");
2605 }
2606 arg2 = (double *)(argp2);
2607 if (arg1) (arg1)->range = 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_histogram_range_get)2620 XS(_wrap_gsl_histogram_range_get) {
2621 {
2622 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
2623 void *argp1 = 0 ;
2624 int res1 = 0 ;
2625 int argvi = 0;
2626 double *result = 0 ;
2627 dXSARGS;
2628
2629 if ((items < 1) || (items > 1)) {
2630 SWIG_croak("Usage: gsl_histogram_range_get(self);");
2631 }
2632 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
2633 if (!SWIG_IsOK(res1)) {
2634 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_range_get" "', argument " "1"" of type '" "gsl_histogram *""'");
2635 }
2636 arg1 = (gsl_histogram *)(argp1);
2637 result = (double *) ((arg1)->range);
2638 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, 0 | 0); argvi++ ;
2639
2640 XSRETURN(argvi);
2641 fail:
2642
2643 SWIG_croak_null();
2644 }
2645 }
2646
2647
XS(_wrap_gsl_histogram_bin_set)2648 XS(_wrap_gsl_histogram_bin_set) {
2649 {
2650 gsl_histogram *arg1 = (gsl_histogram *) 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_histogram_bin_set(self,bin);");
2661 }
2662 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
2663 if (!SWIG_IsOK(res1)) {
2664 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_bin_set" "', argument " "1"" of type '" "gsl_histogram *""'");
2665 }
2666 arg1 = (gsl_histogram *)(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_histogram_bin_set" "', argument " "2"" of type '" "double *""'");
2670 }
2671 arg2 = (double *)(argp2);
2672 if (arg1) (arg1)->bin = 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_histogram_bin_get)2685 XS(_wrap_gsl_histogram_bin_get) {
2686 {
2687 gsl_histogram *arg1 = (gsl_histogram *) 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_histogram_bin_get(self);");
2696 }
2697 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
2698 if (!SWIG_IsOK(res1)) {
2699 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_bin_get" "', argument " "1"" of type '" "gsl_histogram *""'");
2700 }
2701 arg1 = (gsl_histogram *)(argp1);
2702 result = (double *) ((arg1)->bin);
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_new_gsl_histogram)2713 XS(_wrap_new_gsl_histogram) {
2714 {
2715 int argvi = 0;
2716 gsl_histogram *result = 0 ;
2717 dXSARGS;
2718
2719 if ((items < 0) || (items > 0)) {
2720 SWIG_croak("Usage: new_gsl_histogram();");
2721 }
2722 result = (gsl_histogram *)calloc(1, sizeof(gsl_histogram));
2723 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_histogram, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
2724 XSRETURN(argvi);
2725 fail:
2726 SWIG_croak_null();
2727 }
2728 }
2729
2730
XS(_wrap_delete_gsl_histogram)2731 XS(_wrap_delete_gsl_histogram) {
2732 {
2733 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
2734 void *argp1 = 0 ;
2735 int res1 = 0 ;
2736 int argvi = 0;
2737 dXSARGS;
2738
2739 if ((items < 1) || (items > 1)) {
2740 SWIG_croak("Usage: delete_gsl_histogram(self);");
2741 }
2742 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, SWIG_POINTER_DISOWN | 0 );
2743 if (!SWIG_IsOK(res1)) {
2744 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_gsl_histogram" "', argument " "1"" of type '" "gsl_histogram *""'");
2745 }
2746 arg1 = (gsl_histogram *)(argp1);
2747 free((char *) arg1);
2748 ST(argvi) = &PL_sv_undef;
2749
2750 XSRETURN(argvi);
2751 fail:
2752
2753 SWIG_croak_null();
2754 }
2755 }
2756
2757
XS(_wrap_gsl_histogram_pdf_n_set)2758 XS(_wrap_gsl_histogram_pdf_n_set) {
2759 {
2760 gsl_histogram_pdf *arg1 = (gsl_histogram_pdf *) 0 ;
2761 size_t arg2 ;
2762 void *argp1 = 0 ;
2763 int res1 = 0 ;
2764 size_t val2 ;
2765 int ecode2 = 0 ;
2766 int argvi = 0;
2767 dXSARGS;
2768
2769 if ((items < 2) || (items > 2)) {
2770 SWIG_croak("Usage: gsl_histogram_pdf_n_set(self,n);");
2771 }
2772 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram_pdf, 0 | 0 );
2773 if (!SWIG_IsOK(res1)) {
2774 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_pdf_n_set" "', argument " "1"" of type '" "gsl_histogram_pdf *""'");
2775 }
2776 arg1 = (gsl_histogram_pdf *)(argp1);
2777 ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
2778 if (!SWIG_IsOK(ecode2)) {
2779 SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram_pdf_n_set" "', argument " "2"" of type '" "size_t""'");
2780 }
2781 arg2 = (size_t)(val2);
2782 if (arg1) (arg1)->n = arg2;
2783 ST(argvi) = &PL_sv_undef;
2784
2785
2786 XSRETURN(argvi);
2787 fail:
2788
2789
2790 SWIG_croak_null();
2791 }
2792 }
2793
2794
XS(_wrap_gsl_histogram_pdf_n_get)2795 XS(_wrap_gsl_histogram_pdf_n_get) {
2796 {
2797 gsl_histogram_pdf *arg1 = (gsl_histogram_pdf *) 0 ;
2798 void *argp1 = 0 ;
2799 int res1 = 0 ;
2800 int argvi = 0;
2801 size_t result;
2802 dXSARGS;
2803
2804 if ((items < 1) || (items > 1)) {
2805 SWIG_croak("Usage: gsl_histogram_pdf_n_get(self);");
2806 }
2807 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram_pdf, 0 | 0 );
2808 if (!SWIG_IsOK(res1)) {
2809 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_pdf_n_get" "', argument " "1"" of type '" "gsl_histogram_pdf *""'");
2810 }
2811 arg1 = (gsl_histogram_pdf *)(argp1);
2812 result = ((arg1)->n);
2813 ST(argvi) = SWIG_From_size_t SWIG_PERL_CALL_ARGS_1((size_t)(result)); argvi++ ;
2814
2815 XSRETURN(argvi);
2816 fail:
2817
2818 SWIG_croak_null();
2819 }
2820 }
2821
2822
XS(_wrap_gsl_histogram_pdf_range_set)2823 XS(_wrap_gsl_histogram_pdf_range_set) {
2824 {
2825 gsl_histogram_pdf *arg1 = (gsl_histogram_pdf *) 0 ;
2826 double *arg2 = (double *) 0 ;
2827 void *argp1 = 0 ;
2828 int res1 = 0 ;
2829 void *argp2 = 0 ;
2830 int res2 = 0 ;
2831 int argvi = 0;
2832 dXSARGS;
2833
2834 if ((items < 2) || (items > 2)) {
2835 SWIG_croak("Usage: gsl_histogram_pdf_range_set(self,range);");
2836 }
2837 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram_pdf, 0 | 0 );
2838 if (!SWIG_IsOK(res1)) {
2839 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_pdf_range_set" "', argument " "1"" of type '" "gsl_histogram_pdf *""'");
2840 }
2841 arg1 = (gsl_histogram_pdf *)(argp1);
2842 res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_double, SWIG_POINTER_DISOWN | 0 );
2843 if (!SWIG_IsOK(res2)) {
2844 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram_pdf_range_set" "', argument " "2"" of type '" "double *""'");
2845 }
2846 arg2 = (double *)(argp2);
2847 if (arg1) (arg1)->range = arg2;
2848 ST(argvi) = &PL_sv_undef;
2849
2850
2851 XSRETURN(argvi);
2852 fail:
2853
2854
2855 SWIG_croak_null();
2856 }
2857 }
2858
2859
XS(_wrap_gsl_histogram_pdf_range_get)2860 XS(_wrap_gsl_histogram_pdf_range_get) {
2861 {
2862 gsl_histogram_pdf *arg1 = (gsl_histogram_pdf *) 0 ;
2863 void *argp1 = 0 ;
2864 int res1 = 0 ;
2865 int argvi = 0;
2866 double *result = 0 ;
2867 dXSARGS;
2868
2869 if ((items < 1) || (items > 1)) {
2870 SWIG_croak("Usage: gsl_histogram_pdf_range_get(self);");
2871 }
2872 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram_pdf, 0 | 0 );
2873 if (!SWIG_IsOK(res1)) {
2874 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_pdf_range_get" "', argument " "1"" of type '" "gsl_histogram_pdf *""'");
2875 }
2876 arg1 = (gsl_histogram_pdf *)(argp1);
2877 result = (double *) ((arg1)->range);
2878 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, 0 | 0); argvi++ ;
2879
2880 XSRETURN(argvi);
2881 fail:
2882
2883 SWIG_croak_null();
2884 }
2885 }
2886
2887
XS(_wrap_gsl_histogram_pdf_sum_set)2888 XS(_wrap_gsl_histogram_pdf_sum_set) {
2889 {
2890 gsl_histogram_pdf *arg1 = (gsl_histogram_pdf *) 0 ;
2891 double *arg2 = (double *) 0 ;
2892 void *argp1 = 0 ;
2893 int res1 = 0 ;
2894 void *argp2 = 0 ;
2895 int res2 = 0 ;
2896 int argvi = 0;
2897 dXSARGS;
2898
2899 if ((items < 2) || (items > 2)) {
2900 SWIG_croak("Usage: gsl_histogram_pdf_sum_set(self,sum);");
2901 }
2902 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram_pdf, 0 | 0 );
2903 if (!SWIG_IsOK(res1)) {
2904 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_pdf_sum_set" "', argument " "1"" of type '" "gsl_histogram_pdf *""'");
2905 }
2906 arg1 = (gsl_histogram_pdf *)(argp1);
2907 res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_double, SWIG_POINTER_DISOWN | 0 );
2908 if (!SWIG_IsOK(res2)) {
2909 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram_pdf_sum_set" "', argument " "2"" of type '" "double *""'");
2910 }
2911 arg2 = (double *)(argp2);
2912 if (arg1) (arg1)->sum = 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_histogram_pdf_sum_get)2925 XS(_wrap_gsl_histogram_pdf_sum_get) {
2926 {
2927 gsl_histogram_pdf *arg1 = (gsl_histogram_pdf *) 0 ;
2928 void *argp1 = 0 ;
2929 int res1 = 0 ;
2930 int argvi = 0;
2931 double *result = 0 ;
2932 dXSARGS;
2933
2934 if ((items < 1) || (items > 1)) {
2935 SWIG_croak("Usage: gsl_histogram_pdf_sum_get(self);");
2936 }
2937 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram_pdf, 0 | 0 );
2938 if (!SWIG_IsOK(res1)) {
2939 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_pdf_sum_get" "', argument " "1"" of type '" "gsl_histogram_pdf *""'");
2940 }
2941 arg1 = (gsl_histogram_pdf *)(argp1);
2942 result = (double *) ((arg1)->sum);
2943 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, 0 | 0); argvi++ ;
2944
2945 XSRETURN(argvi);
2946 fail:
2947
2948 SWIG_croak_null();
2949 }
2950 }
2951
2952
XS(_wrap_new_gsl_histogram_pdf)2953 XS(_wrap_new_gsl_histogram_pdf) {
2954 {
2955 int argvi = 0;
2956 gsl_histogram_pdf *result = 0 ;
2957 dXSARGS;
2958
2959 if ((items < 0) || (items > 0)) {
2960 SWIG_croak("Usage: new_gsl_histogram_pdf();");
2961 }
2962 result = (gsl_histogram_pdf *)calloc(1, sizeof(gsl_histogram_pdf));
2963 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_histogram_pdf, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
2964 XSRETURN(argvi);
2965 fail:
2966 SWIG_croak_null();
2967 }
2968 }
2969
2970
XS(_wrap_delete_gsl_histogram_pdf)2971 XS(_wrap_delete_gsl_histogram_pdf) {
2972 {
2973 gsl_histogram_pdf *arg1 = (gsl_histogram_pdf *) 0 ;
2974 void *argp1 = 0 ;
2975 int res1 = 0 ;
2976 int argvi = 0;
2977 dXSARGS;
2978
2979 if ((items < 1) || (items > 1)) {
2980 SWIG_croak("Usage: delete_gsl_histogram_pdf(self);");
2981 }
2982 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram_pdf, SWIG_POINTER_DISOWN | 0 );
2983 if (!SWIG_IsOK(res1)) {
2984 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_gsl_histogram_pdf" "', argument " "1"" of type '" "gsl_histogram_pdf *""'");
2985 }
2986 arg1 = (gsl_histogram_pdf *)(argp1);
2987 free((char *) arg1);
2988 ST(argvi) = &PL_sv_undef;
2989
2990 XSRETURN(argvi);
2991 fail:
2992
2993 SWIG_croak_null();
2994 }
2995 }
2996
2997
XS(_wrap_gsl_histogram_alloc)2998 XS(_wrap_gsl_histogram_alloc) {
2999 {
3000 size_t arg1 ;
3001 size_t val1 ;
3002 int ecode1 = 0 ;
3003 int argvi = 0;
3004 gsl_histogram *result = 0 ;
3005 dXSARGS;
3006
3007 if ((items < 1) || (items > 1)) {
3008 SWIG_croak("Usage: gsl_histogram_alloc(n);");
3009 }
3010 ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
3011 if (!SWIG_IsOK(ecode1)) {
3012 SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "gsl_histogram_alloc" "', argument " "1"" of type '" "size_t""'");
3013 }
3014 arg1 = (size_t)(val1);
3015 result = (gsl_histogram *)gsl_histogram_alloc(arg1);
3016 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_histogram, 0 | SWIG_SHADOW); argvi++ ;
3017
3018 XSRETURN(argvi);
3019 fail:
3020
3021 SWIG_croak_null();
3022 }
3023 }
3024
3025
XS(_wrap_gsl_histogram_calloc)3026 XS(_wrap_gsl_histogram_calloc) {
3027 {
3028 size_t arg1 ;
3029 size_t val1 ;
3030 int ecode1 = 0 ;
3031 int argvi = 0;
3032 gsl_histogram *result = 0 ;
3033 dXSARGS;
3034
3035 if ((items < 1) || (items > 1)) {
3036 SWIG_croak("Usage: gsl_histogram_calloc(n);");
3037 }
3038 ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
3039 if (!SWIG_IsOK(ecode1)) {
3040 SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "gsl_histogram_calloc" "', argument " "1"" of type '" "size_t""'");
3041 }
3042 arg1 = (size_t)(val1);
3043 result = (gsl_histogram *)gsl_histogram_calloc(arg1);
3044 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_histogram, 0 | SWIG_SHADOW); argvi++ ;
3045
3046 XSRETURN(argvi);
3047 fail:
3048
3049 SWIG_croak_null();
3050 }
3051 }
3052
3053
XS(_wrap_gsl_histogram_calloc_uniform)3054 XS(_wrap_gsl_histogram_calloc_uniform) {
3055 {
3056 size_t arg1 ;
3057 double arg2 ;
3058 double arg3 ;
3059 size_t val1 ;
3060 int ecode1 = 0 ;
3061 double val2 ;
3062 int ecode2 = 0 ;
3063 double val3 ;
3064 int ecode3 = 0 ;
3065 int argvi = 0;
3066 gsl_histogram *result = 0 ;
3067 dXSARGS;
3068
3069 if ((items < 3) || (items > 3)) {
3070 SWIG_croak("Usage: gsl_histogram_calloc_uniform(n,xmin,xmax);");
3071 }
3072 ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
3073 if (!SWIG_IsOK(ecode1)) {
3074 SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "gsl_histogram_calloc_uniform" "', argument " "1"" of type '" "size_t""'");
3075 }
3076 arg1 = (size_t)(val1);
3077 ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
3078 if (!SWIG_IsOK(ecode2)) {
3079 SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram_calloc_uniform" "', argument " "2"" of type '" "double""'");
3080 }
3081 arg2 = (double)(val2);
3082 ecode3 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
3083 if (!SWIG_IsOK(ecode3)) {
3084 SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "gsl_histogram_calloc_uniform" "', argument " "3"" of type '" "double""'");
3085 }
3086 arg3 = (double)(val3);
3087 result = (gsl_histogram *)gsl_histogram_calloc_uniform(arg1,arg2,arg3);
3088 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_histogram, 0 | SWIG_SHADOW); argvi++ ;
3089
3090
3091
3092 XSRETURN(argvi);
3093 fail:
3094
3095
3096
3097 SWIG_croak_null();
3098 }
3099 }
3100
3101
XS(_wrap_gsl_histogram_free)3102 XS(_wrap_gsl_histogram_free) {
3103 {
3104 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3105 void *argp1 = 0 ;
3106 int res1 = 0 ;
3107 int argvi = 0;
3108 dXSARGS;
3109
3110 if ((items < 1) || (items > 1)) {
3111 SWIG_croak("Usage: gsl_histogram_free(h);");
3112 }
3113 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3114 if (!SWIG_IsOK(res1)) {
3115 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_free" "', argument " "1"" of type '" "gsl_histogram *""'");
3116 }
3117 arg1 = (gsl_histogram *)(argp1);
3118 gsl_histogram_free(arg1);
3119 ST(argvi) = &PL_sv_undef;
3120
3121 XSRETURN(argvi);
3122 fail:
3123
3124 SWIG_croak_null();
3125 }
3126 }
3127
3128
XS(_wrap_gsl_histogram_increment)3129 XS(_wrap_gsl_histogram_increment) {
3130 {
3131 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3132 double arg2 ;
3133 void *argp1 = 0 ;
3134 int res1 = 0 ;
3135 double val2 ;
3136 int ecode2 = 0 ;
3137 int argvi = 0;
3138 int result;
3139 dXSARGS;
3140
3141 if ((items < 2) || (items > 2)) {
3142 SWIG_croak("Usage: gsl_histogram_increment(h,x);");
3143 }
3144 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3145 if (!SWIG_IsOK(res1)) {
3146 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_increment" "', argument " "1"" of type '" "gsl_histogram *""'");
3147 }
3148 arg1 = (gsl_histogram *)(argp1);
3149 ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
3150 if (!SWIG_IsOK(ecode2)) {
3151 SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram_increment" "', argument " "2"" of type '" "double""'");
3152 }
3153 arg2 = (double)(val2);
3154 result = (int)gsl_histogram_increment(arg1,arg2);
3155 ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
3156
3157
3158 XSRETURN(argvi);
3159 fail:
3160
3161
3162 SWIG_croak_null();
3163 }
3164 }
3165
3166
XS(_wrap_gsl_histogram_accumulate)3167 XS(_wrap_gsl_histogram_accumulate) {
3168 {
3169 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3170 double arg2 ;
3171 double arg3 ;
3172 void *argp1 = 0 ;
3173 int res1 = 0 ;
3174 double val2 ;
3175 int ecode2 = 0 ;
3176 double val3 ;
3177 int ecode3 = 0 ;
3178 int argvi = 0;
3179 int result;
3180 dXSARGS;
3181
3182 if ((items < 3) || (items > 3)) {
3183 SWIG_croak("Usage: gsl_histogram_accumulate(h,x,weight);");
3184 }
3185 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3186 if (!SWIG_IsOK(res1)) {
3187 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_accumulate" "', argument " "1"" of type '" "gsl_histogram *""'");
3188 }
3189 arg1 = (gsl_histogram *)(argp1);
3190 ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
3191 if (!SWIG_IsOK(ecode2)) {
3192 SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram_accumulate" "', argument " "2"" of type '" "double""'");
3193 }
3194 arg2 = (double)(val2);
3195 ecode3 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
3196 if (!SWIG_IsOK(ecode3)) {
3197 SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "gsl_histogram_accumulate" "', argument " "3"" of type '" "double""'");
3198 }
3199 arg3 = (double)(val3);
3200 result = (int)gsl_histogram_accumulate(arg1,arg2,arg3);
3201 ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
3202
3203
3204
3205 XSRETURN(argvi);
3206 fail:
3207
3208
3209
3210 SWIG_croak_null();
3211 }
3212 }
3213
3214
XS(_wrap_gsl_histogram_find)3215 XS(_wrap_gsl_histogram_find) {
3216 {
3217 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3218 double arg2 ;
3219 size_t *arg3 = (size_t *) 0 ;
3220 void *argp1 = 0 ;
3221 int res1 = 0 ;
3222 double val2 ;
3223 int ecode2 = 0 ;
3224 size_t temp3 ;
3225 int res3 = SWIG_TMPOBJ ;
3226 int argvi = 0;
3227 int result;
3228 dXSARGS;
3229
3230 arg3 = &temp3;
3231 if ((items < 2) || (items > 2)) {
3232 SWIG_croak("Usage: gsl_histogram_find(h,x);");
3233 }
3234 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3235 if (!SWIG_IsOK(res1)) {
3236 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_find" "', argument " "1"" of type '" "gsl_histogram const *""'");
3237 }
3238 arg1 = (gsl_histogram *)(argp1);
3239 ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
3240 if (!SWIG_IsOK(ecode2)) {
3241 SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram_find" "', argument " "2"" of type '" "double""'");
3242 }
3243 arg2 = (double)(val2);
3244 result = (int)gsl_histogram_find((gsl_histogram const *)arg1,arg2,arg3);
3245 ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
3246 if (SWIG_IsTmpObj(res3)) {
3247 if (argvi >= items) EXTEND(sp, argvi+1); ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++ ;
3248 } else {
3249 int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
3250 if (argvi >= items) EXTEND(sp, argvi+1); ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_size_t, new_flags); argvi++ ;
3251 }
3252
3253
3254
3255 XSRETURN(argvi);
3256 fail:
3257
3258
3259
3260 SWIG_croak_null();
3261 }
3262 }
3263
3264
XS(_wrap_gsl_histogram_get)3265 XS(_wrap_gsl_histogram_get) {
3266 {
3267 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3268 size_t arg2 ;
3269 void *argp1 = 0 ;
3270 int res1 = 0 ;
3271 size_t val2 ;
3272 int ecode2 = 0 ;
3273 int argvi = 0;
3274 double result;
3275 dXSARGS;
3276
3277 if ((items < 2) || (items > 2)) {
3278 SWIG_croak("Usage: gsl_histogram_get(h,i);");
3279 }
3280 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3281 if (!SWIG_IsOK(res1)) {
3282 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_get" "', argument " "1"" of type '" "gsl_histogram const *""'");
3283 }
3284 arg1 = (gsl_histogram *)(argp1);
3285 ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
3286 if (!SWIG_IsOK(ecode2)) {
3287 SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram_get" "', argument " "2"" of type '" "size_t""'");
3288 }
3289 arg2 = (size_t)(val2);
3290 result = (double)gsl_histogram_get((gsl_histogram const *)arg1,arg2);
3291 ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
3292
3293
3294 XSRETURN(argvi);
3295 fail:
3296
3297
3298 SWIG_croak_null();
3299 }
3300 }
3301
3302
XS(_wrap_gsl_histogram_get_range)3303 XS(_wrap_gsl_histogram_get_range) {
3304 {
3305 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3306 size_t arg2 ;
3307 double *arg3 = (double *) 0 ;
3308 double *arg4 = (double *) 0 ;
3309 void *argp1 = 0 ;
3310 int res1 = 0 ;
3311 size_t val2 ;
3312 int ecode2 = 0 ;
3313 double temp3 ;
3314 int res3 = SWIG_TMPOBJ ;
3315 double temp4 ;
3316 int res4 = SWIG_TMPOBJ ;
3317 int argvi = 0;
3318 int result;
3319 dXSARGS;
3320
3321 arg3 = &temp3;
3322 arg4 = &temp4;
3323 if ((items < 2) || (items > 2)) {
3324 SWIG_croak("Usage: gsl_histogram_get_range(h,i);");
3325 }
3326 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3327 if (!SWIG_IsOK(res1)) {
3328 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_get_range" "', argument " "1"" of type '" "gsl_histogram const *""'");
3329 }
3330 arg1 = (gsl_histogram *)(argp1);
3331 ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
3332 if (!SWIG_IsOK(ecode2)) {
3333 SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram_get_range" "', argument " "2"" of type '" "size_t""'");
3334 }
3335 arg2 = (size_t)(val2);
3336 result = (int)gsl_histogram_get_range((gsl_histogram const *)arg1,arg2,arg3,arg4);
3337 ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
3338 if (SWIG_IsTmpObj(res3)) {
3339 if (argvi >= items) EXTEND(sp, argvi+1); ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++ ;
3340 } else {
3341 int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
3342 if (argvi >= items) EXTEND(sp, argvi+1); ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_double, new_flags); argvi++ ;
3343 }
3344 if (SWIG_IsTmpObj(res4)) {
3345 if (argvi >= items) EXTEND(sp, argvi+1); ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++ ;
3346 } else {
3347 int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
3348 if (argvi >= items) EXTEND(sp, argvi+1); ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_double, new_flags); argvi++ ;
3349 }
3350
3351
3352
3353
3354 XSRETURN(argvi);
3355 fail:
3356
3357
3358
3359
3360 SWIG_croak_null();
3361 }
3362 }
3363
3364
XS(_wrap_gsl_histogram_max)3365 XS(_wrap_gsl_histogram_max) {
3366 {
3367 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3368 void *argp1 = 0 ;
3369 int res1 = 0 ;
3370 int argvi = 0;
3371 double result;
3372 dXSARGS;
3373
3374 if ((items < 1) || (items > 1)) {
3375 SWIG_croak("Usage: gsl_histogram_max(h);");
3376 }
3377 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3378 if (!SWIG_IsOK(res1)) {
3379 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_max" "', argument " "1"" of type '" "gsl_histogram const *""'");
3380 }
3381 arg1 = (gsl_histogram *)(argp1);
3382 result = (double)gsl_histogram_max((gsl_histogram const *)arg1);
3383 ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
3384
3385 XSRETURN(argvi);
3386 fail:
3387
3388 SWIG_croak_null();
3389 }
3390 }
3391
3392
XS(_wrap_gsl_histogram_min)3393 XS(_wrap_gsl_histogram_min) {
3394 {
3395 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3396 void *argp1 = 0 ;
3397 int res1 = 0 ;
3398 int argvi = 0;
3399 double result;
3400 dXSARGS;
3401
3402 if ((items < 1) || (items > 1)) {
3403 SWIG_croak("Usage: gsl_histogram_min(h);");
3404 }
3405 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3406 if (!SWIG_IsOK(res1)) {
3407 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_min" "', argument " "1"" of type '" "gsl_histogram const *""'");
3408 }
3409 arg1 = (gsl_histogram *)(argp1);
3410 result = (double)gsl_histogram_min((gsl_histogram const *)arg1);
3411 ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
3412
3413 XSRETURN(argvi);
3414 fail:
3415
3416 SWIG_croak_null();
3417 }
3418 }
3419
3420
XS(_wrap_gsl_histogram_bins)3421 XS(_wrap_gsl_histogram_bins) {
3422 {
3423 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3424 void *argp1 = 0 ;
3425 int res1 = 0 ;
3426 int argvi = 0;
3427 size_t result;
3428 dXSARGS;
3429
3430 if ((items < 1) || (items > 1)) {
3431 SWIG_croak("Usage: gsl_histogram_bins(h);");
3432 }
3433 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3434 if (!SWIG_IsOK(res1)) {
3435 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_bins" "', argument " "1"" of type '" "gsl_histogram const *""'");
3436 }
3437 arg1 = (gsl_histogram *)(argp1);
3438 result = gsl_histogram_bins((gsl_histogram const *)arg1);
3439 ST(argvi) = SWIG_From_size_t SWIG_PERL_CALL_ARGS_1((size_t)(result)); argvi++ ;
3440
3441 XSRETURN(argvi);
3442 fail:
3443
3444 SWIG_croak_null();
3445 }
3446 }
3447
3448
XS(_wrap_gsl_histogram_reset)3449 XS(_wrap_gsl_histogram_reset) {
3450 {
3451 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3452 void *argp1 = 0 ;
3453 int res1 = 0 ;
3454 int argvi = 0;
3455 dXSARGS;
3456
3457 if ((items < 1) || (items > 1)) {
3458 SWIG_croak("Usage: gsl_histogram_reset(h);");
3459 }
3460 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3461 if (!SWIG_IsOK(res1)) {
3462 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_reset" "', argument " "1"" of type '" "gsl_histogram *""'");
3463 }
3464 arg1 = (gsl_histogram *)(argp1);
3465 gsl_histogram_reset(arg1);
3466 ST(argvi) = &PL_sv_undef;
3467
3468 XSRETURN(argvi);
3469 fail:
3470
3471 SWIG_croak_null();
3472 }
3473 }
3474
3475
XS(_wrap_gsl_histogram_calloc_range)3476 XS(_wrap_gsl_histogram_calloc_range) {
3477 {
3478 size_t arg1 ;
3479 double *arg2 = (double *) 0 ;
3480 size_t val1 ;
3481 int ecode1 = 0 ;
3482 void *argp2 = 0 ;
3483 int res2 = 0 ;
3484 int argvi = 0;
3485 gsl_histogram *result = 0 ;
3486 dXSARGS;
3487
3488 if ((items < 2) || (items > 2)) {
3489 SWIG_croak("Usage: gsl_histogram_calloc_range(n,range);");
3490 }
3491 ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
3492 if (!SWIG_IsOK(ecode1)) {
3493 SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "gsl_histogram_calloc_range" "', argument " "1"" of type '" "size_t""'");
3494 }
3495 arg1 = (size_t)(val1);
3496 res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_double, 0 | 0 );
3497 if (!SWIG_IsOK(res2)) {
3498 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram_calloc_range" "', argument " "2"" of type '" "double *""'");
3499 }
3500 arg2 = (double *)(argp2);
3501 result = (gsl_histogram *)gsl_histogram_calloc_range(arg1,arg2);
3502 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_histogram, 0 | SWIG_SHADOW); argvi++ ;
3503
3504
3505 XSRETURN(argvi);
3506 fail:
3507
3508
3509 SWIG_croak_null();
3510 }
3511 }
3512
3513
XS(_wrap_gsl_histogram_set_ranges)3514 XS(_wrap_gsl_histogram_set_ranges) {
3515 {
3516 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3517 double *arg2 ;
3518 size_t arg3 ;
3519 void *argp1 = 0 ;
3520 int res1 = 0 ;
3521 size_t val3 ;
3522 int ecode3 = 0 ;
3523 int argvi = 0;
3524 int result;
3525 dXSARGS;
3526
3527 if ((items < 3) || (items > 3)) {
3528 SWIG_croak("Usage: gsl_histogram_set_ranges(h,range,size);");
3529 }
3530 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3531 if (!SWIG_IsOK(res1)) {
3532 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_set_ranges" "', argument " "1"" of type '" "gsl_histogram *""'");
3533 }
3534 arg1 = (gsl_histogram *)(argp1);
3535 {
3536 AV *tempav;
3537 I32 len;
3538 int i;
3539 SV **tv;
3540 if (!SvROK(ST(1)))
3541 croak("Math::GSL : $range is not a reference!");
3542 if (SvTYPE(SvRV(ST(1))) != SVt_PVAV)
3543 croak("Math::GSL : $range is not an array ref!");
3544
3545 tempav = (AV*)SvRV(ST(1));
3546 len = av_len(tempav);
3547 arg2 = (double *) malloc((len+2)*sizeof(double));
3548 for (i = 0; i <= len; i++) {
3549 tv = av_fetch(tempav, i, 0);
3550 arg2[i] = (double) SvNV(*tv);
3551 }
3552 }
3553 ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
3554 if (!SWIG_IsOK(ecode3)) {
3555 SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "gsl_histogram_set_ranges" "', argument " "3"" of type '" "size_t""'");
3556 }
3557 arg3 = (size_t)(val3);
3558 result = (int)gsl_histogram_set_ranges(arg1,(double const (*))arg2,arg3);
3559 ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
3560
3561 {
3562 if (arg2) free(arg2);
3563 }
3564
3565 XSRETURN(argvi);
3566 fail:
3567
3568 {
3569 if (arg2) free(arg2);
3570 }
3571
3572 SWIG_croak_null();
3573 }
3574 }
3575
3576
XS(_wrap_gsl_histogram_set_ranges_uniform)3577 XS(_wrap_gsl_histogram_set_ranges_uniform) {
3578 {
3579 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3580 double arg2 ;
3581 double arg3 ;
3582 void *argp1 = 0 ;
3583 int res1 = 0 ;
3584 double val2 ;
3585 int ecode2 = 0 ;
3586 double val3 ;
3587 int ecode3 = 0 ;
3588 int argvi = 0;
3589 int result;
3590 dXSARGS;
3591
3592 if ((items < 3) || (items > 3)) {
3593 SWIG_croak("Usage: gsl_histogram_set_ranges_uniform(h,xmin,xmax);");
3594 }
3595 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3596 if (!SWIG_IsOK(res1)) {
3597 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_set_ranges_uniform" "', argument " "1"" of type '" "gsl_histogram *""'");
3598 }
3599 arg1 = (gsl_histogram *)(argp1);
3600 ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
3601 if (!SWIG_IsOK(ecode2)) {
3602 SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram_set_ranges_uniform" "', argument " "2"" of type '" "double""'");
3603 }
3604 arg2 = (double)(val2);
3605 ecode3 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
3606 if (!SWIG_IsOK(ecode3)) {
3607 SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "gsl_histogram_set_ranges_uniform" "', argument " "3"" of type '" "double""'");
3608 }
3609 arg3 = (double)(val3);
3610 result = (int)gsl_histogram_set_ranges_uniform(arg1,arg2,arg3);
3611 ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
3612
3613
3614
3615 XSRETURN(argvi);
3616 fail:
3617
3618
3619
3620 SWIG_croak_null();
3621 }
3622 }
3623
3624
XS(_wrap_gsl_histogram_memcpy)3625 XS(_wrap_gsl_histogram_memcpy) {
3626 {
3627 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3628 gsl_histogram *arg2 = (gsl_histogram *) 0 ;
3629 void *argp1 = 0 ;
3630 int res1 = 0 ;
3631 void *argp2 = 0 ;
3632 int res2 = 0 ;
3633 int argvi = 0;
3634 int result;
3635 dXSARGS;
3636
3637 if ((items < 2) || (items > 2)) {
3638 SWIG_croak("Usage: gsl_histogram_memcpy(dest,source);");
3639 }
3640 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3641 if (!SWIG_IsOK(res1)) {
3642 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_memcpy" "', argument " "1"" of type '" "gsl_histogram *""'");
3643 }
3644 arg1 = (gsl_histogram *)(argp1);
3645 res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3646 if (!SWIG_IsOK(res2)) {
3647 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram_memcpy" "', argument " "2"" of type '" "gsl_histogram const *""'");
3648 }
3649 arg2 = (gsl_histogram *)(argp2);
3650 result = (int)gsl_histogram_memcpy(arg1,(gsl_histogram const *)arg2);
3651 ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
3652
3653
3654 XSRETURN(argvi);
3655 fail:
3656
3657
3658 SWIG_croak_null();
3659 }
3660 }
3661
3662
XS(_wrap_gsl_histogram_clone)3663 XS(_wrap_gsl_histogram_clone) {
3664 {
3665 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3666 void *argp1 = 0 ;
3667 int res1 = 0 ;
3668 int argvi = 0;
3669 gsl_histogram *result = 0 ;
3670 dXSARGS;
3671
3672 if ((items < 1) || (items > 1)) {
3673 SWIG_croak("Usage: gsl_histogram_clone(source);");
3674 }
3675 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3676 if (!SWIG_IsOK(res1)) {
3677 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_clone" "', argument " "1"" of type '" "gsl_histogram const *""'");
3678 }
3679 arg1 = (gsl_histogram *)(argp1);
3680 result = (gsl_histogram *)gsl_histogram_clone((gsl_histogram const *)arg1);
3681 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_histogram, 0 | SWIG_SHADOW); argvi++ ;
3682
3683 XSRETURN(argvi);
3684 fail:
3685
3686 SWIG_croak_null();
3687 }
3688 }
3689
3690
XS(_wrap_gsl_histogram_max_val)3691 XS(_wrap_gsl_histogram_max_val) {
3692 {
3693 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3694 void *argp1 = 0 ;
3695 int res1 = 0 ;
3696 int argvi = 0;
3697 double result;
3698 dXSARGS;
3699
3700 if ((items < 1) || (items > 1)) {
3701 SWIG_croak("Usage: gsl_histogram_max_val(h);");
3702 }
3703 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3704 if (!SWIG_IsOK(res1)) {
3705 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_max_val" "', argument " "1"" of type '" "gsl_histogram const *""'");
3706 }
3707 arg1 = (gsl_histogram *)(argp1);
3708 result = (double)gsl_histogram_max_val((gsl_histogram const *)arg1);
3709 ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
3710
3711 XSRETURN(argvi);
3712 fail:
3713
3714 SWIG_croak_null();
3715 }
3716 }
3717
3718
XS(_wrap_gsl_histogram_max_bin)3719 XS(_wrap_gsl_histogram_max_bin) {
3720 {
3721 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3722 void *argp1 = 0 ;
3723 int res1 = 0 ;
3724 int argvi = 0;
3725 size_t result;
3726 dXSARGS;
3727
3728 if ((items < 1) || (items > 1)) {
3729 SWIG_croak("Usage: gsl_histogram_max_bin(h);");
3730 }
3731 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3732 if (!SWIG_IsOK(res1)) {
3733 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_max_bin" "', argument " "1"" of type '" "gsl_histogram const *""'");
3734 }
3735 arg1 = (gsl_histogram *)(argp1);
3736 result = gsl_histogram_max_bin((gsl_histogram const *)arg1);
3737 ST(argvi) = SWIG_From_size_t SWIG_PERL_CALL_ARGS_1((size_t)(result)); argvi++ ;
3738
3739 XSRETURN(argvi);
3740 fail:
3741
3742 SWIG_croak_null();
3743 }
3744 }
3745
3746
XS(_wrap_gsl_histogram_min_val)3747 XS(_wrap_gsl_histogram_min_val) {
3748 {
3749 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3750 void *argp1 = 0 ;
3751 int res1 = 0 ;
3752 int argvi = 0;
3753 double result;
3754 dXSARGS;
3755
3756 if ((items < 1) || (items > 1)) {
3757 SWIG_croak("Usage: gsl_histogram_min_val(h);");
3758 }
3759 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3760 if (!SWIG_IsOK(res1)) {
3761 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_min_val" "', argument " "1"" of type '" "gsl_histogram const *""'");
3762 }
3763 arg1 = (gsl_histogram *)(argp1);
3764 result = (double)gsl_histogram_min_val((gsl_histogram const *)arg1);
3765 ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
3766
3767 XSRETURN(argvi);
3768 fail:
3769
3770 SWIG_croak_null();
3771 }
3772 }
3773
3774
XS(_wrap_gsl_histogram_min_bin)3775 XS(_wrap_gsl_histogram_min_bin) {
3776 {
3777 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3778 void *argp1 = 0 ;
3779 int res1 = 0 ;
3780 int argvi = 0;
3781 size_t result;
3782 dXSARGS;
3783
3784 if ((items < 1) || (items > 1)) {
3785 SWIG_croak("Usage: gsl_histogram_min_bin(h);");
3786 }
3787 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3788 if (!SWIG_IsOK(res1)) {
3789 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_min_bin" "', argument " "1"" of type '" "gsl_histogram const *""'");
3790 }
3791 arg1 = (gsl_histogram *)(argp1);
3792 result = gsl_histogram_min_bin((gsl_histogram const *)arg1);
3793 ST(argvi) = SWIG_From_size_t SWIG_PERL_CALL_ARGS_1((size_t)(result)); argvi++ ;
3794
3795 XSRETURN(argvi);
3796 fail:
3797
3798 SWIG_croak_null();
3799 }
3800 }
3801
3802
XS(_wrap_gsl_histogram_equal_bins_p)3803 XS(_wrap_gsl_histogram_equal_bins_p) {
3804 {
3805 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3806 gsl_histogram *arg2 = (gsl_histogram *) 0 ;
3807 void *argp1 = 0 ;
3808 int res1 = 0 ;
3809 void *argp2 = 0 ;
3810 int res2 = 0 ;
3811 int argvi = 0;
3812 int result;
3813 dXSARGS;
3814
3815 if ((items < 2) || (items > 2)) {
3816 SWIG_croak("Usage: gsl_histogram_equal_bins_p(h1,h2);");
3817 }
3818 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3819 if (!SWIG_IsOK(res1)) {
3820 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_equal_bins_p" "', argument " "1"" of type '" "gsl_histogram const *""'");
3821 }
3822 arg1 = (gsl_histogram *)(argp1);
3823 res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3824 if (!SWIG_IsOK(res2)) {
3825 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram_equal_bins_p" "', argument " "2"" of type '" "gsl_histogram const *""'");
3826 }
3827 arg2 = (gsl_histogram *)(argp2);
3828 result = (int)gsl_histogram_equal_bins_p((gsl_histogram const *)arg1,(gsl_histogram const *)arg2);
3829 ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
3830
3831
3832 XSRETURN(argvi);
3833 fail:
3834
3835
3836 SWIG_croak_null();
3837 }
3838 }
3839
3840
XS(_wrap_gsl_histogram_add)3841 XS(_wrap_gsl_histogram_add) {
3842 {
3843 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3844 gsl_histogram *arg2 = (gsl_histogram *) 0 ;
3845 void *argp1 = 0 ;
3846 int res1 = 0 ;
3847 void *argp2 = 0 ;
3848 int res2 = 0 ;
3849 int argvi = 0;
3850 int result;
3851 dXSARGS;
3852
3853 if ((items < 2) || (items > 2)) {
3854 SWIG_croak("Usage: gsl_histogram_add(h1,h2);");
3855 }
3856 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3857 if (!SWIG_IsOK(res1)) {
3858 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_add" "', argument " "1"" of type '" "gsl_histogram *""'");
3859 }
3860 arg1 = (gsl_histogram *)(argp1);
3861 res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3862 if (!SWIG_IsOK(res2)) {
3863 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram_add" "', argument " "2"" of type '" "gsl_histogram const *""'");
3864 }
3865 arg2 = (gsl_histogram *)(argp2);
3866 result = (int)gsl_histogram_add(arg1,(gsl_histogram const *)arg2);
3867 ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
3868
3869
3870 XSRETURN(argvi);
3871 fail:
3872
3873
3874 SWIG_croak_null();
3875 }
3876 }
3877
3878
XS(_wrap_gsl_histogram_sub)3879 XS(_wrap_gsl_histogram_sub) {
3880 {
3881 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3882 gsl_histogram *arg2 = (gsl_histogram *) 0 ;
3883 void *argp1 = 0 ;
3884 int res1 = 0 ;
3885 void *argp2 = 0 ;
3886 int res2 = 0 ;
3887 int argvi = 0;
3888 int result;
3889 dXSARGS;
3890
3891 if ((items < 2) || (items > 2)) {
3892 SWIG_croak("Usage: gsl_histogram_sub(h1,h2);");
3893 }
3894 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3895 if (!SWIG_IsOK(res1)) {
3896 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_sub" "', argument " "1"" of type '" "gsl_histogram *""'");
3897 }
3898 arg1 = (gsl_histogram *)(argp1);
3899 res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3900 if (!SWIG_IsOK(res2)) {
3901 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram_sub" "', argument " "2"" of type '" "gsl_histogram const *""'");
3902 }
3903 arg2 = (gsl_histogram *)(argp2);
3904 result = (int)gsl_histogram_sub(arg1,(gsl_histogram const *)arg2);
3905 ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
3906
3907
3908 XSRETURN(argvi);
3909 fail:
3910
3911
3912 SWIG_croak_null();
3913 }
3914 }
3915
3916
XS(_wrap_gsl_histogram_mul)3917 XS(_wrap_gsl_histogram_mul) {
3918 {
3919 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3920 gsl_histogram *arg2 = (gsl_histogram *) 0 ;
3921 void *argp1 = 0 ;
3922 int res1 = 0 ;
3923 void *argp2 = 0 ;
3924 int res2 = 0 ;
3925 int argvi = 0;
3926 int result;
3927 dXSARGS;
3928
3929 if ((items < 2) || (items > 2)) {
3930 SWIG_croak("Usage: gsl_histogram_mul(h1,h2);");
3931 }
3932 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3933 if (!SWIG_IsOK(res1)) {
3934 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_mul" "', argument " "1"" of type '" "gsl_histogram *""'");
3935 }
3936 arg1 = (gsl_histogram *)(argp1);
3937 res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3938 if (!SWIG_IsOK(res2)) {
3939 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram_mul" "', argument " "2"" of type '" "gsl_histogram const *""'");
3940 }
3941 arg2 = (gsl_histogram *)(argp2);
3942 result = (int)gsl_histogram_mul(arg1,(gsl_histogram const *)arg2);
3943 ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
3944
3945
3946 XSRETURN(argvi);
3947 fail:
3948
3949
3950 SWIG_croak_null();
3951 }
3952 }
3953
3954
XS(_wrap_gsl_histogram_div)3955 XS(_wrap_gsl_histogram_div) {
3956 {
3957 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3958 gsl_histogram *arg2 = (gsl_histogram *) 0 ;
3959 void *argp1 = 0 ;
3960 int res1 = 0 ;
3961 void *argp2 = 0 ;
3962 int res2 = 0 ;
3963 int argvi = 0;
3964 int result;
3965 dXSARGS;
3966
3967 if ((items < 2) || (items > 2)) {
3968 SWIG_croak("Usage: gsl_histogram_div(h1,h2);");
3969 }
3970 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3971 if (!SWIG_IsOK(res1)) {
3972 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_div" "', argument " "1"" of type '" "gsl_histogram *""'");
3973 }
3974 arg1 = (gsl_histogram *)(argp1);
3975 res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram, 0 | 0 );
3976 if (!SWIG_IsOK(res2)) {
3977 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram_div" "', argument " "2"" of type '" "gsl_histogram const *""'");
3978 }
3979 arg2 = (gsl_histogram *)(argp2);
3980 result = (int)gsl_histogram_div(arg1,(gsl_histogram const *)arg2);
3981 ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
3982
3983
3984 XSRETURN(argvi);
3985 fail:
3986
3987
3988 SWIG_croak_null();
3989 }
3990 }
3991
3992
XS(_wrap_gsl_histogram_scale)3993 XS(_wrap_gsl_histogram_scale) {
3994 {
3995 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
3996 double arg2 ;
3997 void *argp1 = 0 ;
3998 int res1 = 0 ;
3999 double val2 ;
4000 int ecode2 = 0 ;
4001 int argvi = 0;
4002 int result;
4003 dXSARGS;
4004
4005 if ((items < 2) || (items > 2)) {
4006 SWIG_croak("Usage: gsl_histogram_scale(h,scale);");
4007 }
4008 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
4009 if (!SWIG_IsOK(res1)) {
4010 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_scale" "', argument " "1"" of type '" "gsl_histogram *""'");
4011 }
4012 arg1 = (gsl_histogram *)(argp1);
4013 ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
4014 if (!SWIG_IsOK(ecode2)) {
4015 SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram_scale" "', argument " "2"" of type '" "double""'");
4016 }
4017 arg2 = (double)(val2);
4018 result = (int)gsl_histogram_scale(arg1,arg2);
4019 ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4020
4021
4022 XSRETURN(argvi);
4023 fail:
4024
4025
4026 SWIG_croak_null();
4027 }
4028 }
4029
4030
XS(_wrap_gsl_histogram_shift)4031 XS(_wrap_gsl_histogram_shift) {
4032 {
4033 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
4034 double arg2 ;
4035 void *argp1 = 0 ;
4036 int res1 = 0 ;
4037 double val2 ;
4038 int ecode2 = 0 ;
4039 int argvi = 0;
4040 int result;
4041 dXSARGS;
4042
4043 if ((items < 2) || (items > 2)) {
4044 SWIG_croak("Usage: gsl_histogram_shift(h,shift);");
4045 }
4046 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
4047 if (!SWIG_IsOK(res1)) {
4048 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_shift" "', argument " "1"" of type '" "gsl_histogram *""'");
4049 }
4050 arg1 = (gsl_histogram *)(argp1);
4051 ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
4052 if (!SWIG_IsOK(ecode2)) {
4053 SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram_shift" "', argument " "2"" of type '" "double""'");
4054 }
4055 arg2 = (double)(val2);
4056 result = (int)gsl_histogram_shift(arg1,arg2);
4057 ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4058
4059
4060 XSRETURN(argvi);
4061 fail:
4062
4063
4064 SWIG_croak_null();
4065 }
4066 }
4067
4068
XS(_wrap_gsl_histogram_sigma)4069 XS(_wrap_gsl_histogram_sigma) {
4070 {
4071 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
4072 void *argp1 = 0 ;
4073 int res1 = 0 ;
4074 int argvi = 0;
4075 double result;
4076 dXSARGS;
4077
4078 if ((items < 1) || (items > 1)) {
4079 SWIG_croak("Usage: gsl_histogram_sigma(h);");
4080 }
4081 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
4082 if (!SWIG_IsOK(res1)) {
4083 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_sigma" "', argument " "1"" of type '" "gsl_histogram const *""'");
4084 }
4085 arg1 = (gsl_histogram *)(argp1);
4086 result = (double)gsl_histogram_sigma((gsl_histogram const *)arg1);
4087 ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
4088
4089 XSRETURN(argvi);
4090 fail:
4091
4092 SWIG_croak_null();
4093 }
4094 }
4095
4096
XS(_wrap_gsl_histogram_mean)4097 XS(_wrap_gsl_histogram_mean) {
4098 {
4099 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
4100 void *argp1 = 0 ;
4101 int res1 = 0 ;
4102 int argvi = 0;
4103 double result;
4104 dXSARGS;
4105
4106 if ((items < 1) || (items > 1)) {
4107 SWIG_croak("Usage: gsl_histogram_mean(h);");
4108 }
4109 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
4110 if (!SWIG_IsOK(res1)) {
4111 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_mean" "', argument " "1"" of type '" "gsl_histogram const *""'");
4112 }
4113 arg1 = (gsl_histogram *)(argp1);
4114 result = (double)gsl_histogram_mean((gsl_histogram const *)arg1);
4115 ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
4116
4117 XSRETURN(argvi);
4118 fail:
4119
4120 SWIG_croak_null();
4121 }
4122 }
4123
4124
XS(_wrap_gsl_histogram_sum)4125 XS(_wrap_gsl_histogram_sum) {
4126 {
4127 gsl_histogram *arg1 = (gsl_histogram *) 0 ;
4128 void *argp1 = 0 ;
4129 int res1 = 0 ;
4130 int argvi = 0;
4131 double result;
4132 dXSARGS;
4133
4134 if ((items < 1) || (items > 1)) {
4135 SWIG_croak("Usage: gsl_histogram_sum(h);");
4136 }
4137 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram, 0 | 0 );
4138 if (!SWIG_IsOK(res1)) {
4139 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_sum" "', argument " "1"" of type '" "gsl_histogram const *""'");
4140 }
4141 arg1 = (gsl_histogram *)(argp1);
4142 result = (double)gsl_histogram_sum((gsl_histogram const *)arg1);
4143 ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
4144
4145 XSRETURN(argvi);
4146 fail:
4147
4148 SWIG_croak_null();
4149 }
4150 }
4151
4152
XS(_wrap_gsl_histogram_fwrite)4153 XS(_wrap_gsl_histogram_fwrite) {
4154 {
4155 FILE *arg1 = (FILE *) 0 ;
4156 gsl_histogram *arg2 = (gsl_histogram *) 0 ;
4157 void *argp1 = 0 ;
4158 int res1 = 0 ;
4159 void *argp2 = 0 ;
4160 int res2 = 0 ;
4161 int argvi = 0;
4162 int result;
4163 dXSARGS;
4164
4165 if ((items < 2) || (items > 2)) {
4166 SWIG_croak("Usage: gsl_histogram_fwrite(stream,h);");
4167 }
4168 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FILE, 0 | 0 );
4169 if (!SWIG_IsOK(res1)) {
4170 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_fwrite" "', argument " "1"" of type '" "FILE *""'");
4171 }
4172 arg1 = (FILE *)(argp1);
4173 res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram, 0 | 0 );
4174 if (!SWIG_IsOK(res2)) {
4175 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram_fwrite" "', argument " "2"" of type '" "gsl_histogram const *""'");
4176 }
4177 arg2 = (gsl_histogram *)(argp2);
4178 result = (int)gsl_histogram_fwrite(arg1,(gsl_histogram const *)arg2);
4179 ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4180
4181
4182 XSRETURN(argvi);
4183 fail:
4184
4185
4186 SWIG_croak_null();
4187 }
4188 }
4189
4190
XS(_wrap_gsl_histogram_fread)4191 XS(_wrap_gsl_histogram_fread) {
4192 {
4193 FILE *arg1 = (FILE *) 0 ;
4194 gsl_histogram *arg2 = (gsl_histogram *) 0 ;
4195 void *argp1 = 0 ;
4196 int res1 = 0 ;
4197 void *argp2 = 0 ;
4198 int res2 = 0 ;
4199 int argvi = 0;
4200 int result;
4201 dXSARGS;
4202
4203 if ((items < 2) || (items > 2)) {
4204 SWIG_croak("Usage: gsl_histogram_fread(stream,h);");
4205 }
4206 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FILE, 0 | 0 );
4207 if (!SWIG_IsOK(res1)) {
4208 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_fread" "', argument " "1"" of type '" "FILE *""'");
4209 }
4210 arg1 = (FILE *)(argp1);
4211 res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram, 0 | 0 );
4212 if (!SWIG_IsOK(res2)) {
4213 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram_fread" "', argument " "2"" of type '" "gsl_histogram *""'");
4214 }
4215 arg2 = (gsl_histogram *)(argp2);
4216 result = (int)gsl_histogram_fread(arg1,arg2);
4217 ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4218
4219
4220 XSRETURN(argvi);
4221 fail:
4222
4223
4224 SWIG_croak_null();
4225 }
4226 }
4227
4228
XS(_wrap_gsl_histogram_fprintf)4229 XS(_wrap_gsl_histogram_fprintf) {
4230 {
4231 FILE *arg1 = (FILE *) 0 ;
4232 gsl_histogram *arg2 = (gsl_histogram *) 0 ;
4233 char *arg3 = (char *) 0 ;
4234 char *arg4 = (char *) 0 ;
4235 void *argp1 = 0 ;
4236 int res1 = 0 ;
4237 void *argp2 = 0 ;
4238 int res2 = 0 ;
4239 int res3 ;
4240 char *buf3 = 0 ;
4241 int alloc3 = 0 ;
4242 int res4 ;
4243 char *buf4 = 0 ;
4244 int alloc4 = 0 ;
4245 int argvi = 0;
4246 int result;
4247 dXSARGS;
4248
4249 if ((items < 4) || (items > 4)) {
4250 SWIG_croak("Usage: gsl_histogram_fprintf(stream,h,range_format,bin_format);");
4251 }
4252 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FILE, 0 | 0 );
4253 if (!SWIG_IsOK(res1)) {
4254 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_fprintf" "', argument " "1"" of type '" "FILE *""'");
4255 }
4256 arg1 = (FILE *)(argp1);
4257 res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram, 0 | 0 );
4258 if (!SWIG_IsOK(res2)) {
4259 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram_fprintf" "', argument " "2"" of type '" "gsl_histogram const *""'");
4260 }
4261 arg2 = (gsl_histogram *)(argp2);
4262 res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
4263 if (!SWIG_IsOK(res3)) {
4264 SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "gsl_histogram_fprintf" "', argument " "3"" of type '" "char const *""'");
4265 }
4266 arg3 = (char *)(buf3);
4267 res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
4268 if (!SWIG_IsOK(res4)) {
4269 SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "gsl_histogram_fprintf" "', argument " "4"" of type '" "char const *""'");
4270 }
4271 arg4 = (char *)(buf4);
4272 result = (int)gsl_histogram_fprintf(arg1,(gsl_histogram const *)arg2,(char const *)arg3,(char const *)arg4);
4273 ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4274
4275
4276 if (alloc3 == SWIG_NEWOBJ) free((char*)buf3);
4277 if (alloc4 == SWIG_NEWOBJ) free((char*)buf4);
4278 XSRETURN(argvi);
4279 fail:
4280
4281
4282 if (alloc3 == SWIG_NEWOBJ) free((char*)buf3);
4283 if (alloc4 == SWIG_NEWOBJ) free((char*)buf4);
4284 SWIG_croak_null();
4285 }
4286 }
4287
4288
XS(_wrap_gsl_histogram_fscanf)4289 XS(_wrap_gsl_histogram_fscanf) {
4290 {
4291 FILE *arg1 = (FILE *) 0 ;
4292 gsl_histogram *arg2 = (gsl_histogram *) 0 ;
4293 void *argp1 = 0 ;
4294 int res1 = 0 ;
4295 void *argp2 = 0 ;
4296 int res2 = 0 ;
4297 int argvi = 0;
4298 int result;
4299 dXSARGS;
4300
4301 if ((items < 2) || (items > 2)) {
4302 SWIG_croak("Usage: gsl_histogram_fscanf(stream,h);");
4303 }
4304 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FILE, 0 | 0 );
4305 if (!SWIG_IsOK(res1)) {
4306 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_fscanf" "', argument " "1"" of type '" "FILE *""'");
4307 }
4308 arg1 = (FILE *)(argp1);
4309 res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram, 0 | 0 );
4310 if (!SWIG_IsOK(res2)) {
4311 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram_fscanf" "', argument " "2"" of type '" "gsl_histogram *""'");
4312 }
4313 arg2 = (gsl_histogram *)(argp2);
4314 result = (int)gsl_histogram_fscanf(arg1,arg2);
4315 ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4316
4317
4318 XSRETURN(argvi);
4319 fail:
4320
4321
4322 SWIG_croak_null();
4323 }
4324 }
4325
4326
XS(_wrap_gsl_histogram_pdf_alloc)4327 XS(_wrap_gsl_histogram_pdf_alloc) {
4328 {
4329 size_t arg1 ;
4330 size_t val1 ;
4331 int ecode1 = 0 ;
4332 int argvi = 0;
4333 gsl_histogram_pdf *result = 0 ;
4334 dXSARGS;
4335
4336 if ((items < 1) || (items > 1)) {
4337 SWIG_croak("Usage: gsl_histogram_pdf_alloc(n);");
4338 }
4339 ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
4340 if (!SWIG_IsOK(ecode1)) {
4341 SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "gsl_histogram_pdf_alloc" "', argument " "1"" of type '" "size_t""'");
4342 }
4343 arg1 = (size_t)(val1);
4344 result = (gsl_histogram_pdf *)gsl_histogram_pdf_alloc(arg1);
4345 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gsl_histogram_pdf, 0 | SWIG_SHADOW); argvi++ ;
4346
4347 XSRETURN(argvi);
4348 fail:
4349
4350 SWIG_croak_null();
4351 }
4352 }
4353
4354
XS(_wrap_gsl_histogram_pdf_init)4355 XS(_wrap_gsl_histogram_pdf_init) {
4356 {
4357 gsl_histogram_pdf *arg1 = (gsl_histogram_pdf *) 0 ;
4358 gsl_histogram *arg2 = (gsl_histogram *) 0 ;
4359 void *argp1 = 0 ;
4360 int res1 = 0 ;
4361 void *argp2 = 0 ;
4362 int res2 = 0 ;
4363 int argvi = 0;
4364 int result;
4365 dXSARGS;
4366
4367 if ((items < 2) || (items > 2)) {
4368 SWIG_croak("Usage: gsl_histogram_pdf_init(p,h);");
4369 }
4370 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram_pdf, 0 | 0 );
4371 if (!SWIG_IsOK(res1)) {
4372 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_pdf_init" "', argument " "1"" of type '" "gsl_histogram_pdf *""'");
4373 }
4374 arg1 = (gsl_histogram_pdf *)(argp1);
4375 res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_gsl_histogram, 0 | 0 );
4376 if (!SWIG_IsOK(res2)) {
4377 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gsl_histogram_pdf_init" "', argument " "2"" of type '" "gsl_histogram const *""'");
4378 }
4379 arg2 = (gsl_histogram *)(argp2);
4380 result = (int)gsl_histogram_pdf_init(arg1,(gsl_histogram const *)arg2);
4381 ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
4382
4383
4384 XSRETURN(argvi);
4385 fail:
4386
4387
4388 SWIG_croak_null();
4389 }
4390 }
4391
4392
XS(_wrap_gsl_histogram_pdf_free)4393 XS(_wrap_gsl_histogram_pdf_free) {
4394 {
4395 gsl_histogram_pdf *arg1 = (gsl_histogram_pdf *) 0 ;
4396 void *argp1 = 0 ;
4397 int res1 = 0 ;
4398 int argvi = 0;
4399 dXSARGS;
4400
4401 if ((items < 1) || (items > 1)) {
4402 SWIG_croak("Usage: gsl_histogram_pdf_free(p);");
4403 }
4404 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram_pdf, 0 | 0 );
4405 if (!SWIG_IsOK(res1)) {
4406 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_pdf_free" "', argument " "1"" of type '" "gsl_histogram_pdf *""'");
4407 }
4408 arg1 = (gsl_histogram_pdf *)(argp1);
4409 gsl_histogram_pdf_free(arg1);
4410 ST(argvi) = &PL_sv_undef;
4411
4412 XSRETURN(argvi);
4413 fail:
4414
4415 SWIG_croak_null();
4416 }
4417 }
4418
4419
XS(_wrap_gsl_histogram_pdf_sample)4420 XS(_wrap_gsl_histogram_pdf_sample) {
4421 {
4422 gsl_histogram_pdf *arg1 = (gsl_histogram_pdf *) 0 ;
4423 double arg2 ;
4424 void *argp1 = 0 ;
4425 int res1 = 0 ;
4426 double val2 ;
4427 int ecode2 = 0 ;
4428 int argvi = 0;
4429 double result;
4430 dXSARGS;
4431
4432 if ((items < 2) || (items > 2)) {
4433 SWIG_croak("Usage: gsl_histogram_pdf_sample(p,r);");
4434 }
4435 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_gsl_histogram_pdf, 0 | 0 );
4436 if (!SWIG_IsOK(res1)) {
4437 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gsl_histogram_pdf_sample" "', argument " "1"" of type '" "gsl_histogram_pdf const *""'");
4438 }
4439 arg1 = (gsl_histogram_pdf *)(argp1);
4440 ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
4441 if (!SWIG_IsOK(ecode2)) {
4442 SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "gsl_histogram_pdf_sample" "', argument " "2"" of type '" "double""'");
4443 }
4444 arg2 = (double)(val2);
4445 result = (double)gsl_histogram_pdf_sample((gsl_histogram_pdf const *)arg1,arg2);
4446 ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1((double)(result)); argvi++ ;
4447
4448
4449 XSRETURN(argvi);
4450 fail:
4451
4452
4453 SWIG_croak_null();
4454 }
4455 }
4456
4457
4458
4459 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
4460
4461 static swig_type_info _swigt__p_FILE = {"_p_FILE", "FILE *", 0, 0, (void*)0, 0};
4462 static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
4463 static swig_type_info _swigt__p_double = {"_p_double", "double *", 0, 0, (void*)0, 0};
4464 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};
4465 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};
4466 static swig_type_info _swigt__p_gsl_histogram = {"_p_gsl_histogram", "gsl_histogram *", 0, 0, (void*)"Math::GSL::Histogram::gsl_histogram", 0};
4467 static swig_type_info _swigt__p_gsl_histogram_pdf = {"_p_gsl_histogram_pdf", "gsl_histogram_pdf *", 0, 0, (void*)"Math::GSL::Histogram::gsl_histogram_pdf", 0};
4468 static swig_type_info _swigt__p_size_t = {"_p_size_t", "size_t *", 0, 0, (void*)0, 0};
4469
4470 static swig_type_info *swig_type_initial[] = {
4471 &_swigt__p_FILE,
4472 &_swigt__p_char,
4473 &_swigt__p_double,
4474 &_swigt__p_f_p_q_const__char_p_q_const__char_int_int__void,
4475 &_swigt__p_f_p_q_const__char_p_q_const__char_int_p_q_const__char__void,
4476 &_swigt__p_gsl_histogram,
4477 &_swigt__p_gsl_histogram_pdf,
4478 &_swigt__p_size_t,
4479 };
4480
4481 static swig_cast_info _swigc__p_FILE[] = { {&_swigt__p_FILE, 0, 0, 0},{0, 0, 0, 0}};
4482 static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
4483 static swig_cast_info _swigc__p_double[] = { {&_swigt__p_double, 0, 0, 0},{0, 0, 0, 0}};
4484 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}};
4485 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}};
4486 static swig_cast_info _swigc__p_gsl_histogram[] = { {&_swigt__p_gsl_histogram, 0, 0, 0},{0, 0, 0, 0}};
4487 static swig_cast_info _swigc__p_gsl_histogram_pdf[] = { {&_swigt__p_gsl_histogram_pdf, 0, 0, 0},{0, 0, 0, 0}};
4488 static swig_cast_info _swigc__p_size_t[] = { {&_swigt__p_size_t, 0, 0, 0},{0, 0, 0, 0}};
4489
4490 static swig_cast_info *swig_cast_initial[] = {
4491 _swigc__p_FILE,
4492 _swigc__p_char,
4493 _swigc__p_double,
4494 _swigc__p_f_p_q_const__char_p_q_const__char_int_int__void,
4495 _swigc__p_f_p_q_const__char_p_q_const__char_int_p_q_const__char__void,
4496 _swigc__p_gsl_histogram,
4497 _swigc__p_gsl_histogram_pdf,
4498 _swigc__p_size_t,
4499 };
4500
4501
4502 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
4503
4504 static swig_constant_info swig_constants[] = {
4505 {0,0,0,0,0,0}
4506 };
4507 #ifdef __cplusplus
4508 }
4509 #endif
4510 static swig_variable_info swig_variables[] = {
4511 {0,0,0,0}
4512 };
4513 static swig_command_info swig_commands[] = {
4514 {"Math::GSL::Histogramc::gsl_error", _wrap_gsl_error},
4515 {"Math::GSL::Histogramc::gsl_stream_printf", _wrap_gsl_stream_printf},
4516 {"Math::GSL::Histogramc::gsl_strerror", _wrap_gsl_strerror},
4517 {"Math::GSL::Histogramc::gsl_set_error_handler", _wrap_gsl_set_error_handler},
4518 {"Math::GSL::Histogramc::gsl_set_error_handler_off", _wrap_gsl_set_error_handler_off},
4519 {"Math::GSL::Histogramc::gsl_set_stream_handler", _wrap_gsl_set_stream_handler},
4520 {"Math::GSL::Histogramc::gsl_set_stream", _wrap_gsl_set_stream},
4521 {"Math::GSL::Histogramc::gsl_histogram_n_set", _wrap_gsl_histogram_n_set},
4522 {"Math::GSL::Histogramc::gsl_histogram_n_get", _wrap_gsl_histogram_n_get},
4523 {"Math::GSL::Histogramc::gsl_histogram_range_set", _wrap_gsl_histogram_range_set},
4524 {"Math::GSL::Histogramc::gsl_histogram_range_get", _wrap_gsl_histogram_range_get},
4525 {"Math::GSL::Histogramc::gsl_histogram_bin_set", _wrap_gsl_histogram_bin_set},
4526 {"Math::GSL::Histogramc::gsl_histogram_bin_get", _wrap_gsl_histogram_bin_get},
4527 {"Math::GSL::Histogramc::new_gsl_histogram", _wrap_new_gsl_histogram},
4528 {"Math::GSL::Histogramc::delete_gsl_histogram", _wrap_delete_gsl_histogram},
4529 {"Math::GSL::Histogramc::gsl_histogram_pdf_n_set", _wrap_gsl_histogram_pdf_n_set},
4530 {"Math::GSL::Histogramc::gsl_histogram_pdf_n_get", _wrap_gsl_histogram_pdf_n_get},
4531 {"Math::GSL::Histogramc::gsl_histogram_pdf_range_set", _wrap_gsl_histogram_pdf_range_set},
4532 {"Math::GSL::Histogramc::gsl_histogram_pdf_range_get", _wrap_gsl_histogram_pdf_range_get},
4533 {"Math::GSL::Histogramc::gsl_histogram_pdf_sum_set", _wrap_gsl_histogram_pdf_sum_set},
4534 {"Math::GSL::Histogramc::gsl_histogram_pdf_sum_get", _wrap_gsl_histogram_pdf_sum_get},
4535 {"Math::GSL::Histogramc::new_gsl_histogram_pdf", _wrap_new_gsl_histogram_pdf},
4536 {"Math::GSL::Histogramc::delete_gsl_histogram_pdf", _wrap_delete_gsl_histogram_pdf},
4537 {"Math::GSL::Histogramc::gsl_histogram_alloc", _wrap_gsl_histogram_alloc},
4538 {"Math::GSL::Histogramc::gsl_histogram_calloc", _wrap_gsl_histogram_calloc},
4539 {"Math::GSL::Histogramc::gsl_histogram_calloc_uniform", _wrap_gsl_histogram_calloc_uniform},
4540 {"Math::GSL::Histogramc::gsl_histogram_free", _wrap_gsl_histogram_free},
4541 {"Math::GSL::Histogramc::gsl_histogram_increment", _wrap_gsl_histogram_increment},
4542 {"Math::GSL::Histogramc::gsl_histogram_accumulate", _wrap_gsl_histogram_accumulate},
4543 {"Math::GSL::Histogramc::gsl_histogram_find", _wrap_gsl_histogram_find},
4544 {"Math::GSL::Histogramc::gsl_histogram_get", _wrap_gsl_histogram_get},
4545 {"Math::GSL::Histogramc::gsl_histogram_get_range", _wrap_gsl_histogram_get_range},
4546 {"Math::GSL::Histogramc::gsl_histogram_max", _wrap_gsl_histogram_max},
4547 {"Math::GSL::Histogramc::gsl_histogram_min", _wrap_gsl_histogram_min},
4548 {"Math::GSL::Histogramc::gsl_histogram_bins", _wrap_gsl_histogram_bins},
4549 {"Math::GSL::Histogramc::gsl_histogram_reset", _wrap_gsl_histogram_reset},
4550 {"Math::GSL::Histogramc::gsl_histogram_calloc_range", _wrap_gsl_histogram_calloc_range},
4551 {"Math::GSL::Histogramc::gsl_histogram_set_ranges", _wrap_gsl_histogram_set_ranges},
4552 {"Math::GSL::Histogramc::gsl_histogram_set_ranges_uniform", _wrap_gsl_histogram_set_ranges_uniform},
4553 {"Math::GSL::Histogramc::gsl_histogram_memcpy", _wrap_gsl_histogram_memcpy},
4554 {"Math::GSL::Histogramc::gsl_histogram_clone", _wrap_gsl_histogram_clone},
4555 {"Math::GSL::Histogramc::gsl_histogram_max_val", _wrap_gsl_histogram_max_val},
4556 {"Math::GSL::Histogramc::gsl_histogram_max_bin", _wrap_gsl_histogram_max_bin},
4557 {"Math::GSL::Histogramc::gsl_histogram_min_val", _wrap_gsl_histogram_min_val},
4558 {"Math::GSL::Histogramc::gsl_histogram_min_bin", _wrap_gsl_histogram_min_bin},
4559 {"Math::GSL::Histogramc::gsl_histogram_equal_bins_p", _wrap_gsl_histogram_equal_bins_p},
4560 {"Math::GSL::Histogramc::gsl_histogram_add", _wrap_gsl_histogram_add},
4561 {"Math::GSL::Histogramc::gsl_histogram_sub", _wrap_gsl_histogram_sub},
4562 {"Math::GSL::Histogramc::gsl_histogram_mul", _wrap_gsl_histogram_mul},
4563 {"Math::GSL::Histogramc::gsl_histogram_div", _wrap_gsl_histogram_div},
4564 {"Math::GSL::Histogramc::gsl_histogram_scale", _wrap_gsl_histogram_scale},
4565 {"Math::GSL::Histogramc::gsl_histogram_shift", _wrap_gsl_histogram_shift},
4566 {"Math::GSL::Histogramc::gsl_histogram_sigma", _wrap_gsl_histogram_sigma},
4567 {"Math::GSL::Histogramc::gsl_histogram_mean", _wrap_gsl_histogram_mean},
4568 {"Math::GSL::Histogramc::gsl_histogram_sum", _wrap_gsl_histogram_sum},
4569 {"Math::GSL::Histogramc::gsl_histogram_fwrite", _wrap_gsl_histogram_fwrite},
4570 {"Math::GSL::Histogramc::gsl_histogram_fread", _wrap_gsl_histogram_fread},
4571 {"Math::GSL::Histogramc::gsl_histogram_fprintf", _wrap_gsl_histogram_fprintf},
4572 {"Math::GSL::Histogramc::gsl_histogram_fscanf", _wrap_gsl_histogram_fscanf},
4573 {"Math::GSL::Histogramc::gsl_histogram_pdf_alloc", _wrap_gsl_histogram_pdf_alloc},
4574 {"Math::GSL::Histogramc::gsl_histogram_pdf_init", _wrap_gsl_histogram_pdf_init},
4575 {"Math::GSL::Histogramc::gsl_histogram_pdf_free", _wrap_gsl_histogram_pdf_free},
4576 {"Math::GSL::Histogramc::gsl_histogram_pdf_sample", _wrap_gsl_histogram_pdf_sample},
4577 {0,0}
4578 };
4579 /* -----------------------------------------------------------------------------
4580 * Type initialization:
4581 * This problem is tough by the requirement that no dynamic
4582 * memory is used. Also, since swig_type_info structures store pointers to
4583 * swig_cast_info structures and swig_cast_info structures store pointers back
4584 * to swig_type_info structures, we need some lookup code at initialization.
4585 * The idea is that swig generates all the structures that are needed.
4586 * The runtime then collects these partially filled structures.
4587 * The SWIG_InitializeModule function takes these initial arrays out of
4588 * swig_module, and does all the lookup, filling in the swig_module.types
4589 * array with the correct data and linking the correct swig_cast_info
4590 * structures together.
4591 *
4592 * The generated swig_type_info structures are assigned statically to an initial
4593 * array. We just loop through that array, and handle each type individually.
4594 * First we lookup if this type has been already loaded, and if so, use the
4595 * loaded structure instead of the generated one. Then we have to fill in the
4596 * cast linked list. The cast data is initially stored in something like a
4597 * two-dimensional array. Each row corresponds to a type (there are the same
4598 * number of rows as there are in the swig_type_initial array). Each entry in
4599 * a column is one of the swig_cast_info structures for that type.
4600 * The cast_initial array is actually an array of arrays, because each row has
4601 * a variable number of columns. So to actually build the cast linked list,
4602 * we find the array of casts associated with the type, and loop through it
4603 * adding the casts to the list. The one last trick we need to do is making
4604 * sure the type pointer in the swig_cast_info struct is correct.
4605 *
4606 * First off, we lookup the cast->type name to see if it is already loaded.
4607 * There are three cases to handle:
4608 * 1) If the cast->type has already been loaded AND the type we are adding
4609 * casting info to has not been loaded (it is in this module), THEN we
4610 * replace the cast->type pointer with the type pointer that has already
4611 * been loaded.
4612 * 2) If BOTH types (the one we are adding casting info to, and the
4613 * cast->type) are loaded, THEN the cast info has already been loaded by
4614 * the previous module so we just ignore it.
4615 * 3) Finally, if cast->type has not already been loaded, then we add that
4616 * swig_cast_info to the linked list (because the cast->type) pointer will
4617 * be correct.
4618 * ----------------------------------------------------------------------------- */
4619
4620 #ifdef __cplusplus
4621 extern "C" {
4622 #if 0
4623 } /* c-mode */
4624 #endif
4625 #endif
4626
4627 #if 0
4628 #define SWIGRUNTIME_DEBUG
4629 #endif
4630
4631
4632 SWIGRUNTIME void
SWIG_InitializeModule(void * clientdata)4633 SWIG_InitializeModule(void *clientdata) {
4634 size_t i;
4635 swig_module_info *module_head, *iter;
4636 int init;
4637
4638 /* check to see if the circular list has been setup, if not, set it up */
4639 if (swig_module.next==0) {
4640 /* Initialize the swig_module */
4641 swig_module.type_initial = swig_type_initial;
4642 swig_module.cast_initial = swig_cast_initial;
4643 swig_module.next = &swig_module;
4644 init = 1;
4645 } else {
4646 init = 0;
4647 }
4648
4649 /* Try and load any already created modules */
4650 module_head = SWIG_GetModule(clientdata);
4651 if (!module_head) {
4652 /* This is the first module loaded for this interpreter */
4653 /* so set the swig module into the interpreter */
4654 SWIG_SetModule(clientdata, &swig_module);
4655 } else {
4656 /* the interpreter has loaded a SWIG module, but has it loaded this one? */
4657 iter=module_head;
4658 do {
4659 if (iter==&swig_module) {
4660 /* Our module is already in the list, so there's nothing more to do. */
4661 return;
4662 }
4663 iter=iter->next;
4664 } while (iter!= module_head);
4665
4666 /* otherwise we must add our module into the list */
4667 swig_module.next = module_head->next;
4668 module_head->next = &swig_module;
4669 }
4670
4671 /* When multiple interpreters are used, a module could have already been initialized in
4672 a different interpreter, but not yet have a pointer in this interpreter.
4673 In this case, we do not want to continue adding types... everything should be
4674 set up already */
4675 if (init == 0) return;
4676
4677 /* Now work on filling in swig_module.types */
4678 #ifdef SWIGRUNTIME_DEBUG
4679 printf("SWIG_InitializeModule: size %lu\n", (unsigned long)swig_module.size);
4680 #endif
4681 for (i = 0; i < swig_module.size; ++i) {
4682 swig_type_info *type = 0;
4683 swig_type_info *ret;
4684 swig_cast_info *cast;
4685
4686 #ifdef SWIGRUNTIME_DEBUG
4687 printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
4688 #endif
4689
4690 /* if there is another module already loaded */
4691 if (swig_module.next != &swig_module) {
4692 type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name);
4693 }
4694 if (type) {
4695 /* Overwrite clientdata field */
4696 #ifdef SWIGRUNTIME_DEBUG
4697 printf("SWIG_InitializeModule: found type %s\n", type->name);
4698 #endif
4699 if (swig_module.type_initial[i]->clientdata) {
4700 type->clientdata = swig_module.type_initial[i]->clientdata;
4701 #ifdef SWIGRUNTIME_DEBUG
4702 printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name);
4703 #endif
4704 }
4705 } else {
4706 type = swig_module.type_initial[i];
4707 }
4708
4709 /* Insert casting types */
4710 cast = swig_module.cast_initial[i];
4711 while (cast->type) {
4712 /* Don't need to add information already in the list */
4713 ret = 0;
4714 #ifdef SWIGRUNTIME_DEBUG
4715 printf("SWIG_InitializeModule: look cast %s\n", cast->type->name);
4716 #endif
4717 if (swig_module.next != &swig_module) {
4718 ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name);
4719 #ifdef SWIGRUNTIME_DEBUG
4720 if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name);
4721 #endif
4722 }
4723 if (ret) {
4724 if (type == swig_module.type_initial[i]) {
4725 #ifdef SWIGRUNTIME_DEBUG
4726 printf("SWIG_InitializeModule: skip old type %s\n", ret->name);
4727 #endif
4728 cast->type = ret;
4729 ret = 0;
4730 } else {
4731 /* Check for casting already in the list */
4732 swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type);
4733 #ifdef SWIGRUNTIME_DEBUG
4734 if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name);
4735 #endif
4736 if (!ocast) ret = 0;
4737 }
4738 }
4739
4740 if (!ret) {
4741 #ifdef SWIGRUNTIME_DEBUG
4742 printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name);
4743 #endif
4744 if (type->cast) {
4745 type->cast->prev = cast;
4746 cast->next = type->cast;
4747 }
4748 type->cast = cast;
4749 }
4750 cast++;
4751 }
4752 /* Set entry in modules->types array equal to the type */
4753 swig_module.types[i] = type;
4754 }
4755 swig_module.types[i] = 0;
4756
4757 #ifdef SWIGRUNTIME_DEBUG
4758 printf("**** SWIG_InitializeModule: Cast List ******\n");
4759 for (i = 0; i < swig_module.size; ++i) {
4760 int j = 0;
4761 swig_cast_info *cast = swig_module.cast_initial[i];
4762 printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
4763 while (cast->type) {
4764 printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
4765 cast++;
4766 ++j;
4767 }
4768 printf("---- Total casts: %d\n",j);
4769 }
4770 printf("**** SWIG_InitializeModule: Cast List ******\n");
4771 #endif
4772 }
4773
4774 /* This function will propagate the clientdata field of type to
4775 * any new swig_type_info structures that have been added into the list
4776 * of equivalent types. It is like calling
4777 * SWIG_TypeClientData(type, clientdata) a second time.
4778 */
4779 SWIGRUNTIME void
SWIG_PropagateClientData(void)4780 SWIG_PropagateClientData(void) {
4781 size_t i;
4782 swig_cast_info *equiv;
4783 static int init_run = 0;
4784
4785 if (init_run) return;
4786 init_run = 1;
4787
4788 for (i = 0; i < swig_module.size; i++) {
4789 if (swig_module.types[i]->clientdata) {
4790 equiv = swig_module.types[i]->cast;
4791 while (equiv) {
4792 if (!equiv->converter) {
4793 if (equiv->type && !equiv->type->clientdata)
4794 SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata);
4795 }
4796 equiv = equiv->next;
4797 }
4798 }
4799 }
4800 }
4801
4802 #ifdef __cplusplus
4803 #if 0
4804 {
4805 /* c-mode */
4806 #endif
4807 }
4808 #endif
4809
4810
4811
4812 #if defined(__cplusplus) && ! defined(XSPROTO)
4813 extern "C"
4814 #endif
4815
XS(SWIG_init)4816 XS(SWIG_init) {
4817 dXSARGS;
4818 int i;
4819 (void)items;
4820
4821 SWIG_InitializeModule(0);
4822
4823 /* Install commands */
4824 for (i = 0; swig_commands[i].name; i++) {
4825 /* Casts only needed for Perl < 5.10. */
4826 #ifdef __cplusplus
4827 newXS(const_cast<char*>(swig_commands[i].name), swig_commands[i].wrapper, const_cast<char*>(__FILE__));
4828 #else
4829 newXS((char*)swig_commands[i].name, swig_commands[i].wrapper, (char*)__FILE__);
4830 #endif
4831 }
4832
4833 /* Install variables */
4834 for (i = 0; swig_variables[i].name; i++) {
4835 SV *sv;
4836 sv = get_sv(swig_variables[i].name, TRUE | 0x2 | GV_ADDMULTI);
4837 if (swig_variables[i].type) {
4838 SWIG_MakePtr(sv,(void *)1, *swig_variables[i].type,0);
4839 } else {
4840 sv_setiv(sv,(IV) 0);
4841 }
4842 swig_create_magic(sv, swig_variables[i].name, swig_variables[i].set, swig_variables[i].get);
4843 }
4844
4845 /* Install constant */
4846 for (i = 0; swig_constants[i].type; i++) {
4847 SV *sv;
4848 sv = get_sv(swig_constants[i].name, TRUE | 0x2 | GV_ADDMULTI);
4849 switch(swig_constants[i].type) {
4850 case SWIG_INT:
4851 sv_setiv(sv, (IV) swig_constants[i].lvalue);
4852 break;
4853 case SWIG_FLOAT:
4854 sv_setnv(sv, (double) swig_constants[i].dvalue);
4855 break;
4856 case SWIG_STRING:
4857 sv_setpv(sv, (const char *) swig_constants[i].pvalue);
4858 break;
4859 case SWIG_POINTER:
4860 SWIG_MakePtr(sv, swig_constants[i].pvalue, *(swig_constants[i].ptype),0);
4861 break;
4862 case SWIG_BINARY:
4863 SWIG_MakePackedObj(sv, swig_constants[i].pvalue, swig_constants[i].lvalue, *(swig_constants[i].ptype));
4864 break;
4865 default:
4866 break;
4867 }
4868 SvREADONLY_on(sv);
4869 }
4870
4871 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4872 SV *sv = get_sv((char*) SWIG_prefix "GSL_VERSION", TRUE | 0x2 | GV_ADDMULTI);
4873 sv_setsv(sv, SWIG_From_double SWIG_PERL_CALL_ARGS_1((double)(2.7)));
4874 SvREADONLY_on(sv);
4875 } while(0) /*@SWIG@*/;
4876 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4877 SV *sv = get_sv((char*) SWIG_prefix "GSL_MAJOR_VERSION", TRUE | 0x2 | GV_ADDMULTI);
4878 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(2)));
4879 SvREADONLY_on(sv);
4880 } while(0) /*@SWIG@*/;
4881 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4882 SV *sv = get_sv((char*) SWIG_prefix "GSL_MINOR_VERSION", TRUE | 0x2 | GV_ADDMULTI);
4883 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(7)));
4884 SvREADONLY_on(sv);
4885 } while(0) /*@SWIG@*/;
4886 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4887 SV *sv = get_sv((char*) SWIG_prefix "GSL_POSZERO", TRUE | 0x2 | GV_ADDMULTI);
4888 sv_setsv(sv, SWIG_From_double SWIG_PERL_CALL_ARGS_1((double)((+0.0))));
4889 SvREADONLY_on(sv);
4890 } while(0) /*@SWIG@*/;
4891 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4892 SV *sv = get_sv((char*) SWIG_prefix "GSL_NEGZERO", TRUE | 0x2 | GV_ADDMULTI);
4893 sv_setsv(sv, SWIG_From_double SWIG_PERL_CALL_ARGS_1((double)((-0.0))));
4894 SvREADONLY_on(sv);
4895 } while(0) /*@SWIG@*/;
4896 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4897 SV *sv = get_sv((char*) SWIG_prefix "GSL_SUCCESS", TRUE | 0x2 | GV_ADDMULTI);
4898 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_SUCCESS)));
4899 SvREADONLY_on(sv);
4900 } while(0) /*@SWIG@*/;
4901 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4902 SV *sv = get_sv((char*) SWIG_prefix "GSL_FAILURE", TRUE | 0x2 | GV_ADDMULTI);
4903 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_FAILURE)));
4904 SvREADONLY_on(sv);
4905 } while(0) /*@SWIG@*/;
4906 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4907 SV *sv = get_sv((char*) SWIG_prefix "GSL_CONTINUE", TRUE | 0x2 | GV_ADDMULTI);
4908 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_CONTINUE)));
4909 SvREADONLY_on(sv);
4910 } while(0) /*@SWIG@*/;
4911 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4912 SV *sv = get_sv((char*) SWIG_prefix "GSL_EDOM", TRUE | 0x2 | GV_ADDMULTI);
4913 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_EDOM)));
4914 SvREADONLY_on(sv);
4915 } while(0) /*@SWIG@*/;
4916 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4917 SV *sv = get_sv((char*) SWIG_prefix "GSL_ERANGE", TRUE | 0x2 | GV_ADDMULTI);
4918 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_ERANGE)));
4919 SvREADONLY_on(sv);
4920 } while(0) /*@SWIG@*/;
4921 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4922 SV *sv = get_sv((char*) SWIG_prefix "GSL_EFAULT", TRUE | 0x2 | GV_ADDMULTI);
4923 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_EFAULT)));
4924 SvREADONLY_on(sv);
4925 } while(0) /*@SWIG@*/;
4926 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4927 SV *sv = get_sv((char*) SWIG_prefix "GSL_EINVAL", TRUE | 0x2 | GV_ADDMULTI);
4928 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_EINVAL)));
4929 SvREADONLY_on(sv);
4930 } while(0) /*@SWIG@*/;
4931 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4932 SV *sv = get_sv((char*) SWIG_prefix "GSL_EFAILED", TRUE | 0x2 | GV_ADDMULTI);
4933 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_EFAILED)));
4934 SvREADONLY_on(sv);
4935 } while(0) /*@SWIG@*/;
4936 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4937 SV *sv = get_sv((char*) SWIG_prefix "GSL_EFACTOR", TRUE | 0x2 | GV_ADDMULTI);
4938 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_EFACTOR)));
4939 SvREADONLY_on(sv);
4940 } while(0) /*@SWIG@*/;
4941 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4942 SV *sv = get_sv((char*) SWIG_prefix "GSL_ESANITY", TRUE | 0x2 | GV_ADDMULTI);
4943 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_ESANITY)));
4944 SvREADONLY_on(sv);
4945 } while(0) /*@SWIG@*/;
4946 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4947 SV *sv = get_sv((char*) SWIG_prefix "GSL_ENOMEM", TRUE | 0x2 | GV_ADDMULTI);
4948 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_ENOMEM)));
4949 SvREADONLY_on(sv);
4950 } while(0) /*@SWIG@*/;
4951 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4952 SV *sv = get_sv((char*) SWIG_prefix "GSL_EBADFUNC", TRUE | 0x2 | GV_ADDMULTI);
4953 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_EBADFUNC)));
4954 SvREADONLY_on(sv);
4955 } while(0) /*@SWIG@*/;
4956 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4957 SV *sv = get_sv((char*) SWIG_prefix "GSL_ERUNAWAY", TRUE | 0x2 | GV_ADDMULTI);
4958 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_ERUNAWAY)));
4959 SvREADONLY_on(sv);
4960 } while(0) /*@SWIG@*/;
4961 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4962 SV *sv = get_sv((char*) SWIG_prefix "GSL_EMAXITER", TRUE | 0x2 | GV_ADDMULTI);
4963 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_EMAXITER)));
4964 SvREADONLY_on(sv);
4965 } while(0) /*@SWIG@*/;
4966 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4967 SV *sv = get_sv((char*) SWIG_prefix "GSL_EZERODIV", TRUE | 0x2 | GV_ADDMULTI);
4968 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_EZERODIV)));
4969 SvREADONLY_on(sv);
4970 } while(0) /*@SWIG@*/;
4971 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4972 SV *sv = get_sv((char*) SWIG_prefix "GSL_EBADTOL", TRUE | 0x2 | GV_ADDMULTI);
4973 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_EBADTOL)));
4974 SvREADONLY_on(sv);
4975 } while(0) /*@SWIG@*/;
4976 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4977 SV *sv = get_sv((char*) SWIG_prefix "GSL_ETOL", TRUE | 0x2 | GV_ADDMULTI);
4978 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_ETOL)));
4979 SvREADONLY_on(sv);
4980 } while(0) /*@SWIG@*/;
4981 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4982 SV *sv = get_sv((char*) SWIG_prefix "GSL_EUNDRFLW", TRUE | 0x2 | GV_ADDMULTI);
4983 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_EUNDRFLW)));
4984 SvREADONLY_on(sv);
4985 } while(0) /*@SWIG@*/;
4986 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4987 SV *sv = get_sv((char*) SWIG_prefix "GSL_EOVRFLW", TRUE | 0x2 | GV_ADDMULTI);
4988 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_EOVRFLW)));
4989 SvREADONLY_on(sv);
4990 } while(0) /*@SWIG@*/;
4991 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4992 SV *sv = get_sv((char*) SWIG_prefix "GSL_ELOSS", TRUE | 0x2 | GV_ADDMULTI);
4993 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_ELOSS)));
4994 SvREADONLY_on(sv);
4995 } while(0) /*@SWIG@*/;
4996 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4997 SV *sv = get_sv((char*) SWIG_prefix "GSL_EROUND", TRUE | 0x2 | GV_ADDMULTI);
4998 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_EROUND)));
4999 SvREADONLY_on(sv);
5000 } while(0) /*@SWIG@*/;
5001 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5002 SV *sv = get_sv((char*) SWIG_prefix "GSL_EBADLEN", TRUE | 0x2 | GV_ADDMULTI);
5003 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_EBADLEN)));
5004 SvREADONLY_on(sv);
5005 } while(0) /*@SWIG@*/;
5006 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5007 SV *sv = get_sv((char*) SWIG_prefix "GSL_ENOTSQR", TRUE | 0x2 | GV_ADDMULTI);
5008 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_ENOTSQR)));
5009 SvREADONLY_on(sv);
5010 } while(0) /*@SWIG@*/;
5011 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5012 SV *sv = get_sv((char*) SWIG_prefix "GSL_ESING", TRUE | 0x2 | GV_ADDMULTI);
5013 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_ESING)));
5014 SvREADONLY_on(sv);
5015 } while(0) /*@SWIG@*/;
5016 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5017 SV *sv = get_sv((char*) SWIG_prefix "GSL_EDIVERGE", TRUE | 0x2 | GV_ADDMULTI);
5018 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_EDIVERGE)));
5019 SvREADONLY_on(sv);
5020 } while(0) /*@SWIG@*/;
5021 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5022 SV *sv = get_sv((char*) SWIG_prefix "GSL_EUNSUP", TRUE | 0x2 | GV_ADDMULTI);
5023 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_EUNSUP)));
5024 SvREADONLY_on(sv);
5025 } while(0) /*@SWIG@*/;
5026 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5027 SV *sv = get_sv((char*) SWIG_prefix "GSL_EUNIMPL", TRUE | 0x2 | GV_ADDMULTI);
5028 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_EUNIMPL)));
5029 SvREADONLY_on(sv);
5030 } while(0) /*@SWIG@*/;
5031 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5032 SV *sv = get_sv((char*) SWIG_prefix "GSL_ECACHE", TRUE | 0x2 | GV_ADDMULTI);
5033 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_ECACHE)));
5034 SvREADONLY_on(sv);
5035 } while(0) /*@SWIG@*/;
5036 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5037 SV *sv = get_sv((char*) SWIG_prefix "GSL_ETABLE", TRUE | 0x2 | GV_ADDMULTI);
5038 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_ETABLE)));
5039 SvREADONLY_on(sv);
5040 } while(0) /*@SWIG@*/;
5041 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5042 SV *sv = get_sv((char*) SWIG_prefix "GSL_ENOPROG", TRUE | 0x2 | GV_ADDMULTI);
5043 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_ENOPROG)));
5044 SvREADONLY_on(sv);
5045 } while(0) /*@SWIG@*/;
5046 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5047 SV *sv = get_sv((char*) SWIG_prefix "GSL_ENOPROGJ", TRUE | 0x2 | GV_ADDMULTI);
5048 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_ENOPROGJ)));
5049 SvREADONLY_on(sv);
5050 } while(0) /*@SWIG@*/;
5051 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5052 SV *sv = get_sv((char*) SWIG_prefix "GSL_ETOLF", TRUE | 0x2 | GV_ADDMULTI);
5053 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_ETOLF)));
5054 SvREADONLY_on(sv);
5055 } while(0) /*@SWIG@*/;
5056 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5057 SV *sv = get_sv((char*) SWIG_prefix "GSL_ETOLX", TRUE | 0x2 | GV_ADDMULTI);
5058 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_ETOLX)));
5059 SvREADONLY_on(sv);
5060 } while(0) /*@SWIG@*/;
5061 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5062 SV *sv = get_sv((char*) SWIG_prefix "GSL_ETOLG", TRUE | 0x2 | GV_ADDMULTI);
5063 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_ETOLG)));
5064 SvREADONLY_on(sv);
5065 } while(0) /*@SWIG@*/;
5066 /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5067 SV *sv = get_sv((char*) SWIG_prefix "GSL_EOF", TRUE | 0x2 | GV_ADDMULTI);
5068 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(GSL_EOF)));
5069 SvREADONLY_on(sv);
5070 } while(0) /*@SWIG@*/;
5071 SWIG_TypeClientData(SWIGTYPE_p_gsl_histogram, (void*) "Math::GSL::Histogram::gsl_histogram");
5072 SWIG_TypeClientData(SWIGTYPE_p_gsl_histogram_pdf, (void*) "Math::GSL::Histogram::gsl_histogram_pdf");
5073 ST(0) = &PL_sv_yes;
5074 XSRETURN(1);
5075 }
5076
5077