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