1 /* ---------------------------------------------------------------------------- 
   2  * This file was automatically generated by SWIG (http://www.swig.org). 
   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  * ----------------------------------------------------------------------------- */ 
  18 /*************************************************************** -*- c -*- 
  19  * python/precommon.swg 
  21  * Rename all exported symbols from common.swg, to avoid symbol 
  22  * clashes if multiple interpreters are included 
  24  ************************************************************************/ 
  26 #define SWIG_TypeRegister    SWIG_Python_TypeRegister 
  27 #define SWIG_TypeCheck       SWIG_Python_TypeCheck 
  28 #define SWIG_TypeCast        SWIG_Python_TypeCast 
  29 #define SWIG_TypeDynamicCast SWIG_Python_TypeDynamicCast 
  30 #define SWIG_TypeName        SWIG_Python_TypeName 
  31 #define SWIG_TypePrettyName  SWIG_Python_TypePrettyName 
  32 #define SWIG_TypeQuery       SWIG_Python_TypeQuery 
  33 #define SWIG_TypeClientData  SWIG_Python_TypeClientData 
  34 #define SWIG_PackData        SWIG_Python_PackData  
  35 #define SWIG_UnpackData      SWIG_Python_UnpackData  
  38 /*********************************************************************** 
  41  *     This file contains generic SWIG runtime support for pointer 
  42  *     type checking as well as a few commonly used macros to control 
  45  * Author : David Beazley (beazley@cs.uchicago.edu) 
  47  * Copyright (c) 1999-2000, The University of Chicago 
  49  * This file may be freely redistributed without license or fee provided 
  50  * this copyright message remains intact. 
  51  ************************************************************************/ 
  55 #if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) 
  56 #  if defined(_MSC_VER) || defined(__GNUC__) 
  57 #    if defined(STATIC_LINKED) 
  58 #      define SWIGEXPORT(a) a 
  59 #      define SWIGIMPORT(a) extern a 
  61 #      define SWIGEXPORT(a) __declspec(dllexport) a 
  62 #      define SWIGIMPORT(a) extern a 
  65 #    if defined(__BORLANDC__) 
  66 #      define SWIGEXPORT(a) a _export 
  67 #      define SWIGIMPORT(a) a _export 
  69 #      define SWIGEXPORT(a) a 
  70 #      define SWIGIMPORT(a) a 
  74 #  define SWIGEXPORT(a) a 
  75 #  define SWIGIMPORT(a) a 
  79 #  define SWIGRUNTIME(a) SWIGEXPORT(a) 
  81 #  define SWIGRUNTIME(a) static a 
  88 typedef void *(*swig_converter_func
)(void *); 
  89 typedef struct swig_type_info 
*(*swig_dycast_func
)(void **); 
  91 typedef struct swig_type_info 
{ 
  93   swig_converter_func     converter
; 
  96   swig_dycast_func        dcast
; 
  97   struct swig_type_info  
*next
; 
  98   struct swig_type_info  
*prev
; 
 101 #ifdef SWIG_NOINCLUDE 
 103 SWIGIMPORT(swig_type_info 
*) SWIG_TypeRegister(swig_type_info 
*); 
 104 SWIGIMPORT(swig_type_info 
*) SWIG_TypeCheck(char *c
, swig_type_info 
*); 
 105 SWIGIMPORT(void *)           SWIG_TypeCast(swig_type_info 
*, void *); 
 106 SWIGIMPORT(swig_type_info 
*) SWIG_TypeDynamicCast(swig_type_info 
*, void **); 
 107 SWIGIMPORT(const char *)     SWIG_TypeName(const swig_type_info 
*); 
 108 SWIGIMPORT(const char *)     SWIG_TypePrettyName(const swig_type_info 
*); 
 109 SWIGIMPORT(swig_type_info 
*) SWIG_TypeQuery(const char *); 
 110 SWIGIMPORT(void)             SWIG_TypeClientData(swig_type_info 
*, void *); 
 111 SWIGIMPORT(char *)           SWIG_PackData(char *, void *, int); 
 112 SWIGIMPORT(char *)           SWIG_UnpackData(char *, void *, int); 
 116 static swig_type_info 
*swig_type_list 
= 0; 
 117 static swig_type_info 
**swig_type_list_handle 
= &swig_type_list
; 
 119 /* Register a type mapping with the type-checking */ 
 120 SWIGRUNTIME(swig_type_info 
*) 
 121 SWIG_TypeRegister(swig_type_info 
*ti
) { 
 122   swig_type_info 
*tc
, *head
, *ret
, *next
; 
 123   /* Check to see if this type has already been registered */ 
 124   tc 
= *swig_type_list_handle
; 
 126     if (strcmp(tc
->name
, ti
->name
) == 0) { 
 127       /* Already exists in the table.  Just add additional types to the list */ 
 128       if (tc
->clientdata
) ti
->clientdata 
= tc
->clientdata
; 
 139   ti
->prev 
= *swig_type_list_handle
; 
 140   *swig_type_list_handle 
= ti
; 
 142   /* Build linked lists */ 
 146   /* Patch up the rest of the links */ 
 153   if (next
) next
->prev 
= head
; 
 158 /* Check the typename */ 
 159 SWIGRUNTIME(swig_type_info 
*)  
 160 SWIG_TypeCheck(char *c
, swig_type_info 
*ty
) { 
 162   if (!ty
) return 0;        /* Void pointer */ 
 163   s 
= ty
->next
;             /* First element always just a name */ 
 165     if (strcmp(s
->name
,c
) == 0) { 
 166       if (s 
== ty
->next
) return s
; 
 167       /* Move s to the top of the linked list */ 
 168       s
->prev
->next 
= s
->next
; 
 170         s
->next
->prev 
= s
->prev
; 
 172       /* Insert s as second element in the list */ 
 174       if (ty
->next
) ty
->next
->prev 
= s
; 
 180   } while (s 
&& (s 
!= ty
->next
)); 
 184 /* Cast a pointer up an inheritance hierarchy */ 
 186 SWIG_TypeCast(swig_type_info 
*ty
, void *ptr
) { 
 187   if ((!ty
) || (!ty
->converter
)) return ptr
; 
 188   return (*ty
->converter
)(ptr
); 
 191 /* Dynamic pointer casting. Down an inheritance hierarchy */ 
 192 SWIGRUNTIME(swig_type_info 
*)  
 193 SWIG_TypeDynamicCast(swig_type_info 
*ty
, void **ptr
) { 
 194   swig_type_info 
*lastty 
= ty
; 
 195   if (!ty 
|| !ty
->dcast
) return ty
; 
 196   while (ty 
&& (ty
->dcast
)) { 
 197     ty 
= (*ty
->dcast
)(ptr
); 
 203 /* Return the name associated with this type */ 
 204 SWIGRUNTIME(const char *) 
 205 SWIG_TypeName(const swig_type_info 
*ty
) { 
 209 /* Return the pretty name associated with this type, 
 210    that is an unmangled type name in a form presentable to the user. 
 212 SWIGRUNTIME(const char *) 
 213 SWIG_TypePrettyName(const swig_type_info 
*type
) { 
 214   /* The "str" field contains the equivalent pretty names of the 
 215      type, separated by vertical-bar characters.  We choose 
 216      to print the last name, as it is often (?) the most 
 218   if (type
->str 
!= NULL
) { 
 219     const char *last_name 
= type
->str
; 
 221     for (s 
= type
->str
; *s
; s
++) 
 222       if (*s 
== '|') last_name 
= s
+1; 
 230    Compare two type names skipping the space characters, therefore 
 231    "char*" == "char *" and "Class<int>" == "Class<int >", etc. 
 233    Return 0 when the two name types are equivalent, as in 
 234    strncmp, but skipping ' '. 
 237 SWIG_TypeNameComp(const char *f1
, const char *l1
, 
 238                   const char *f2
, const char *l2
) { 
 239   for (;(f1 
!= l1
) && (f2 
!= l2
); ++f1
, ++f2
) { 
 240     while ((*f1 
== ' ') && (f1 
!= l1
)) ++f1
; 
 241     while ((*f2 
== ' ') && (f2 
!= l2
)) ++f2
; 
 242     if (*f1 
!= *f2
) return *f1 
- *f2
; 
 244   return (l1 
- f1
) - (l2 
- f2
); 
 248   Check type equivalence in a name list like <name1>|<name2>|... 
 251 SWIG_TypeEquiv(const char *nb
, const char *tb
) { 
 253   const char* te 
= tb 
+ strlen(tb
); 
 255   while (!equiv 
&& *ne
) { 
 256     for (nb 
= ne
; *ne
; ++ne
) { 
 257       if (*ne 
== '|') break; 
 259     equiv 
= SWIG_TypeNameComp(nb
, ne
, tb
, te
) == 0; 
 266 /* Search for a swig_type_info structure */ 
 267 SWIGRUNTIME(swig_type_info 
*) 
 268 SWIG_TypeQuery(const char *name
) { 
 269   swig_type_info 
*ty 
= *swig_type_list_handle
; 
 271     if (ty
->str 
&& (SWIG_TypeEquiv(ty
->str
,name
))) return ty
; 
 272     if (ty
->name 
&& (strcmp(name
,ty
->name
) == 0)) return ty
; 
 278 /* Set the clientdata field for a type */ 
 280 SWIG_TypeClientData(swig_type_info 
*ti
, void *clientdata
) { 
 281   swig_type_info 
*tc
, *equiv
; 
 282   if (ti
->clientdata 
== clientdata
) return; 
 283   ti
->clientdata 
= clientdata
; 
 286     if (!equiv
->converter
) { 
 287       tc 
= *swig_type_list_handle
; 
 289         if ((strcmp(tc
->name
, equiv
->name
) == 0)) 
 290           SWIG_TypeClientData(tc
,clientdata
); 
 298 /* Pack binary data into a string */ 
 300 SWIG_PackData(char *c
, void *ptr
, int sz
) { 
 301   static char hex
[17] = "0123456789abcdef"; 
 302   unsigned char *u 
= (unsigned char *) ptr
; 
 303   const unsigned char *eu 
=  u 
+ sz
; 
 304   register unsigned char uu
; 
 305   for (; u 
!= eu
; ++u
) { 
 307     *(c
++) = hex
[(uu 
& 0xf0) >> 4]; 
 308     *(c
++) = hex
[uu 
& 0xf]; 
 313 /* Unpack binary data from a string */ 
 315 SWIG_UnpackData(char *c
, void *ptr
, int sz
) { 
 316   register unsigned char uu 
= 0; 
 318   unsigned char *u 
= (unsigned char *) ptr
; 
 319   const unsigned char *eu 
=  u 
+ sz
; 
 320   for (; u 
!= eu
; ++u
) { 
 322     if ((d 
>= '0') && (d 
<= '9')) 
 323       uu 
= ((d 
- '0') << 4); 
 324     else if ((d 
>= 'a') && (d 
<= 'f')) 
 325       uu 
= ((d 
- ('a'-10)) << 4); 
 327     if ((d 
>= '0') && (d 
<= '9')) 
 329     else if ((d 
>= 'a') && (d 
<= 'f')) 
 330       uu 
|= (d 
- ('a'-10)); 
 342 /*********************************************************************** 
 345  *     This file contains the runtime support for Python modules 
 346  *     and includes code for managing global variables and pointer 
 349  * Author : David Beazley (beazley@cs.uchicago.edu) 
 350  ************************************************************************/ 
 356 #define SWIG_PY_INT     1 
 357 #define SWIG_PY_FLOAT   2 
 358 #define SWIG_PY_STRING  3 
 359 #define SWIG_PY_POINTER 4 
 360 #define SWIG_PY_BINARY  5 
 362 /* Flags for pointer conversion */ 
 364 #define SWIG_POINTER_EXCEPTION     0x1 
 365 #define SWIG_POINTER_DISOWN        0x2 
 367 /* Exception handling in wrappers */ 
 368 #define SWIG_fail   goto fail 
 370 /* Constant information structure */ 
 371 typedef struct swig_const_info 
{ 
 377     swig_type_info 
**ptype
; 
 380 /* Common SWIG API */ 
 381 #define SWIG_ConvertPtr(obj, pp, type, flags) \ 
 382   SWIG_Python_ConvertPtr(obj, pp, type, flags) 
 383 #define SWIG_NewPointerObj(p, type, flags) \ 
 384   SWIG_Python_NewPointerObj(p, type, flags) 
 385 #define SWIG_MustGetPtr(p, type, argnum, flags) \ 
 386   SWIG_Python_MustGetPtr(p, type, argnum, flags) 
 388 /* Python-specific SWIG API */ 
 389 #define SWIG_newvarlink() \ 
 390   SWIG_Python_newvarlink() 
 391 #define SWIG_addvarlink(p, name, get_attr, set_attr) \ 
 392   SWIG_Python_addvarlink(p, name, get_attr, set_attr) 
 393 #define SWIG_ConvertPacked(obj, ptr, sz, ty, flags) \ 
 394   SWIG_Python_ConvertPacked(obj, ptr, sz, ty, flags) 
 395 #define SWIG_NewPackedObj(ptr, sz, type) \ 
 396   SWIG_Python_NewPackedObj(ptr, sz, type) 
 397 #define SWIG_InstallConstants(d, constants) \ 
 398   SWIG_Python_InstallConstants(d, constants) 
 400 typedef double (*py_objasdbl_conv
)(PyObject 
*obj
); 
 402 #ifdef SWIG_NOINCLUDE 
 404 SWIGIMPORT(int)               SWIG_Python_ConvertPtr(PyObject 
*, void **, swig_type_info 
*, int); 
 405 SWIGIMPORT(PyObject 
*)        SWIG_Python_NewPointerObj(void *, swig_type_info 
*,int own
); 
 406 SWIGIMPORT(void *)            SWIG_Python_MustGetPtr(PyObject 
*, swig_type_info 
*, int, int); 
 407 SWIGIMPORT(PyObject 
*)        SWIG_Python_newvarlink(void); 
 408 SWIGIMPORT(void)              SWIG_Python_addvarlink(PyObject 
*, char *, PyObject 
*(*)(void), int (*)(PyObject 
*)); 
 409 SWIGIMPORT(int)               SWIG_Python_ConvertPacked(PyObject 
*, void *, int sz
, swig_type_info 
*, int); 
 410 SWIGIMPORT(PyObject 
*)        SWIG_Python_NewPackedObj(void *, int sz
, swig_type_info 
*); 
 411 SWIGIMPORT(void)              SWIG_Python_InstallConstants(PyObject 
*d
, swig_const_info constants
[]); 
 417 /* ----------------------------------------------------------------------------- 
 418  * global variable support code. 
 419  * ----------------------------------------------------------------------------- */ 
 421 typedef struct swig_globalvar 
{    
 422   char       *name
;                  /* Name of global variable */ 
 423   PyObject 
*(*get_attr
)(void);       /* Return the current value */ 
 424   int       (*set_attr
)(PyObject 
*); /* Set the value */ 
 425   struct swig_globalvar 
*next
; 
 428 typedef struct swig_varlinkobject 
{ 
 430   swig_globalvar 
*vars
; 
 431 } swig_varlinkobject
; 
 434 swig_varlink_repr(swig_varlinkobject 
*v
) { 
 436   return PyString_FromString("<Global variables>"); 
 440 swig_varlink_print(swig_varlinkobject 
*v
, FILE *fp
, int flags
) { 
 443   fprintf(fp
,"Global variables { "); 
 444   for (var 
= v
->vars
; var
; var
=var
->next
) { 
 445     fprintf(fp
,"%s", var
->name
); 
 446     if (var
->next
) fprintf(fp
,", "); 
 453 swig_varlink_getattr(swig_varlinkobject 
*v
, char *n
) { 
 454   swig_globalvar 
*var 
= v
->vars
; 
 456     if (strcmp(var
->name
,n
) == 0) { 
 457       return (*var
->get_attr
)(); 
 461   PyErr_SetString(PyExc_NameError
,"Unknown C global variable"); 
 466 swig_varlink_setattr(swig_varlinkobject 
*v
, char *n
, PyObject 
*p
) { 
 467   swig_globalvar 
*var 
= v
->vars
; 
 469     if (strcmp(var
->name
,n
) == 0) { 
 470       return (*var
->set_attr
)(p
); 
 474   PyErr_SetString(PyExc_NameError
,"Unknown C global variable"); 
 478 statichere PyTypeObject varlinktype 
= { 
 479   PyObject_HEAD_INIT(0)               
 480   0,                                  /* Number of items in variable part (ob_size) */ 
 481   (char *)"swigvarlink",              /* Type name (tp_name) */ 
 482   sizeof(swig_varlinkobject
),         /* Basic size (tp_basicsize) */ 
 483   0,                                  /* Itemsize (tp_itemsize) */ 
 484   0,                                  /* Deallocator (tp_dealloc) */  
 485   (printfunc
) swig_varlink_print
,     /* Print (tp_print) */ 
 486   (getattrfunc
) swig_varlink_getattr
, /* get attr (tp_getattr) */ 
 487   (setattrfunc
) swig_varlink_setattr
, /* Set attr (tp_setattr) */ 
 489   (reprfunc
) swig_varlink_repr
,       /* tp_repr */ 
 490   0,                                  /* tp_as_number */ 
 491   0,                                  /* tp_as_sequence */ 
 492   0,                                  /* tp_as_mapping */ 
 498   0,                                  /* tp_as_buffer */ 
 503   0,                                  /* tp_richcompare */ 
 504   0,                                  /* tp_weaklistoffset */ 
 505 #if PY_VERSION_HEX >= 0x02020000 
 513   0,                                  /* tp_descr_get */ 
 514   0,                                  /* tp_descr_set */ 
 515   0,                                  /* tp_dictoffset */ 
 524   0,                                  /* tp_subclasses */ 
 527 #if PY_VERSION_HEX >= 0x02030200 
 531   /* these must be last */ 
 539 /* Create a variable linking object for use later */ 
 540 SWIGRUNTIME(PyObject 
*) 
 541 SWIG_Python_newvarlink(void) { 
 542   swig_varlinkobject 
*result 
= 0; 
 543   result 
= PyMem_NEW(swig_varlinkobject
,1); 
 544   varlinktype
.ob_type 
= &PyType_Type
;    /* Patch varlinktype into a PyType */ 
 545   result
->ob_type 
= &varlinktype
; 
 547   result
->ob_refcnt 
= 0; 
 548   Py_XINCREF((PyObject 
*) result
); 
 549   return ((PyObject
*) result
); 
 553 SWIG_Python_addvarlink(PyObject 
*p
, char *name
, PyObject 
*(*get_attr
)(void), int (*set_attr
)(PyObject 
*p
)) { 
 554   swig_varlinkobject 
*v
; 
 556   v
= (swig_varlinkobject 
*) p
; 
 557   gv 
= (swig_globalvar 
*) malloc(sizeof(swig_globalvar
)); 
 558   gv
->name 
= (char *) malloc(strlen(name
)+1); 
 559   strcpy(gv
->name
,name
); 
 560   gv
->get_attr 
= get_attr
; 
 561   gv
->set_attr 
= set_attr
; 
 566 /* Convert a pointer value */ 
 568 SWIG_Python_ConvertPtr(PyObject 
*obj
, void **ptr
, swig_type_info 
*ty
, int flags
) { 
 571   static PyObject 
*SWIG_this 
= 0; 
 576   if (obj 
== Py_None
) { 
 580 #ifdef SWIG_COBJECT_TYPES 
 581   if (!(PyCObject_Check(obj
))) { 
 583       SWIG_this 
= PyString_FromString("this"); 
 585     obj 
= PyObject_GetAttr(obj
,SWIG_this
); 
 587     if (!obj
) goto type_error
; 
 588     if (!PyCObject_Check(obj
)) { 
 593   *ptr 
= PyCObject_AsVoidPtr(obj
); 
 594   c 
= (char *) PyCObject_GetDesc(obj
); 
 595   if (newref
) Py_DECREF(obj
); 
 598   if (!(PyString_Check(obj
))) { 
 600       SWIG_this 
= PyString_FromString("this"); 
 602     obj 
= PyObject_GetAttr(obj
,SWIG_this
); 
 604     if (!obj
) goto type_error
; 
 605     if (!PyString_Check(obj
)) { 
 610   c 
= PyString_AS_STRING(obj
); 
 611   /* Pointer values must start with leading underscore */ 
 614     if (strcmp(c
,"NULL") == 0) { 
 615       if (newref
) { Py_DECREF(obj
); } 
 618       if (newref
) { Py_DECREF(obj
); } 
 623   c 
= SWIG_UnpackData(c
,ptr
,sizeof(void *)); 
 624   if (newref
) { Py_DECREF(obj
); } 
 627 #ifdef SWIG_COBJECT_TYPES 
 632     tc 
= SWIG_TypeCheck(c
,ty
); 
 633     if (!tc
) goto type_error
; 
 634     *ptr 
= SWIG_TypeCast(tc
,(void*) *ptr
); 
 637   if ((pyobj
) && (flags 
& SWIG_POINTER_DISOWN
)) { 
 638     PyObject_SetAttrString(pyobj
,(char*)"thisown",Py_False
); 
 644   if (flags 
& SWIG_POINTER_EXCEPTION
) { 
 646       PyErr_Format(PyExc_TypeError
,  
 647                    "Type error. Got %s, expected %s", 
 650       PyErr_SetString(PyExc_TypeError
,"Expected a pointer"); 
 656 /* Convert a pointer value, signal an exception on a type mismatch */ 
 658 SWIG_Python_MustGetPtr(PyObject 
*obj
, swig_type_info 
*ty
, int argnum
, int flags
) { 
 660   SWIG_Python_ConvertPtr(obj
, &result
, ty
, flags 
| SWIG_POINTER_EXCEPTION
); 
 664 /* Convert a packed value value */ 
 666 SWIG_Python_ConvertPacked(PyObject 
*obj
, void *ptr
, int sz
, swig_type_info 
*ty
, int flags
) { 
 670   if ((!obj
) || (!PyString_Check(obj
))) goto type_error
; 
 671   c 
= PyString_AS_STRING(obj
); 
 672   /* Pointer values must start with leading underscore */ 
 673   if (*c 
!= '_') goto type_error
; 
 675   c 
= SWIG_UnpackData(c
,ptr
,sz
); 
 677     tc 
= SWIG_TypeCheck(c
,ty
); 
 678     if (!tc
) goto type_error
; 
 686       PyErr_Format(PyExc_TypeError
,  
 687                    "Type error. Got %s, expected %s", 
 690       PyErr_SetString(PyExc_TypeError
,"Expected a pointer"); 
 696 /* Create a new pointer object */ 
 697 SWIGRUNTIME(PyObject 
*) 
 698 SWIG_Python_NewPointerObj(void *ptr
, swig_type_info 
*type
, int own
) { 
 704 #ifdef SWIG_COBJECT_TYPES 
 705   robj 
= PyCObject_FromVoidPtrAndDesc((void *) ptr
, (char *) type
->name
, NULL
); 
 711     r 
= SWIG_PackData(r
,&ptr
,sizeof(void *)); 
 712     strcpy(r
,type
->name
); 
 713     robj 
= PyString_FromString(result
); 
 716   if (!robj 
|| (robj 
== Py_None
)) return robj
; 
 717   if (type
->clientdata
) { 
 719     PyObject 
*args 
= Py_BuildValue((char*)"(O)", robj
); 
 721     inst 
= PyObject_CallObject((PyObject 
*) type
->clientdata
, args
); 
 725         PyObject_SetAttrString(inst
,(char*)"thisown",Py_True
); 
 733 SWIGRUNTIME(PyObject 
*) 
 734 SWIG_Python_NewPackedObj(void *ptr
, int sz
, swig_type_info 
*type
) { 
 737   if ((2*sz 
+ 1 + strlen(type
->name
)) > 1000) return 0; 
 739   r 
= SWIG_PackData(r
,ptr
,sz
); 
 740   strcpy(r
,type
->name
); 
 741   return PyString_FromString(result
); 
 744 /* Install Constants */ 
 746 SWIG_Python_InstallConstants(PyObject 
*d
, swig_const_info constants
[]) { 
 749   for (i 
= 0; constants
[i
].type
; i
++) { 
 750     switch(constants
[i
].type
) { 
 752       obj 
= PyInt_FromLong(constants
[i
].lvalue
); 
 755       obj 
= PyFloat_FromDouble(constants
[i
].dvalue
); 
 758       if (constants
[i
].pvalue
) { 
 759         obj 
= PyString_FromString((char *) constants
[i
].pvalue
); 
 765     case SWIG_PY_POINTER
: 
 766       obj 
= SWIG_NewPointerObj(constants
[i
].pvalue
, *(constants
[i
]).ptype
,0); 
 769       obj 
= SWIG_NewPackedObj(constants
[i
].pvalue
, constants
[i
].lvalue
, *(constants
[i
].ptype
)); 
 776       PyDict_SetItemString(d
,constants
[i
].name
,obj
); 
 784 /* Contract support */ 
 786 #define SWIG_contract_assert(expr, msg) if (!(expr)) { PyErr_SetString(PyExc_RuntimeError, (char *) msg ); goto fail; } else 
 793 /* -------- TYPES TABLE (BEGIN) -------- */ 
 795 #define  SWIGTYPE_p_char swig_types[0]  
 796 static swig_type_info 
*swig_types
[2]; 
 798 /* -------- TYPES TABLE (END) -------- */ 
 800 #define SWIG_init    initswigrun 
 802 #define SWIG_name    "swigrun" 
 804 /* Auxiliar swig  macros that appear in the header */ 
 806 #define SWIG_OLDOBJ  1 
 807 #define SWIG_NEWOBJ  SWIG_OLDOBJ + 1 
 808 #define SWIG_PYSTR   SWIG_NEWOBJ + 1 
 811 #define SWIGSTATICINLINE(a) static inline a 
 812 #define SWIGSTATIC(a) static a 
 813 #define swig_new_array(size,Type) (new Type[(size)]) 
 814 #define swig_delete(cptr) delete cptr 
 815 #define swig_delete_array(cptr) delete[] cptr 
 816 #define swig_const_cast(a,Type) const_cast<Type >(a) 
 817 #define swig_static_cast(a,Type) static_cast<Type >(a) 
 818 #define swig_reinterpret_cast(a,Type) reinterpret_cast<Type >(a) 
 819 #define swig_new_copy(ptr,Type) (new Type(*ptr)) 
 820 #define swig_numeric_cast(a,Type) static_cast<Type >(a) 
 824 #define SWIGSTATICINLINE(a) static a 
 825 #define SWIGSTATIC(a) static a 
 826 #define swig_new_array(size,Type) ((Type*) malloc((size)*sizeof(Type))) 
 827 #define swig_delete(cptr) free((char*)cptr) 
 828 #define swig_delete_array(cptr) free((char*)cptr) 
 829 #define swig_const_cast(a,Type) (Type)(a) 
 830 #define swig_static_cast(a,Type) (Type)(a) 
 831 #define swig_reinterpret_cast(a,Type) (Type)(a) 
 832 #define swig_numeric_cast(a,Type) (Type)(a) 
 833 #define swig_new_copy(ptr,Type)  ((Type*)memcpy(malloc(sizeof(Type)),ptr,sizeof(Type))) 
 835 #endif /* __cplusplus */ 
 838 /*@/opt/swig/share/swig/1.3.22/python/pymacros.swg,63,SWIG_define@*/ 
 839 #define SWIG_From_signed_SS_char PyInt_FromLong 
 841 /*@/opt/swig/share/swig/1.3.22/python/pymacros.swg,63,SWIG_define@*/ 
 842 #define SWIG_From_unsigned_SS_char PyInt_FromLong 
 844 /*@/opt/swig/share/swig/1.3.22/python/pymacros.swg,63,SWIG_define@*/ 
 845 #define SWIG_From_short PyInt_FromLong 
 847 /*@/opt/swig/share/swig/1.3.22/python/pymacros.swg,63,SWIG_define@*/ 
 848 #define SWIG_From_unsigned_SS_short PyInt_FromLong 
 850 /*@/opt/swig/share/swig/1.3.22/python/pymacros.swg,63,SWIG_define@*/ 
 851 #define SWIG_From_int PyInt_FromLong 
 853 /*@/opt/swig/share/swig/1.3.22/python/pymacros.swg,63,SWIG_define@*/ 
 854 #define SWIG_From_long PyInt_FromLong 
 856 /*@/opt/swig/share/swig/1.3.22/python/pymacros.swg,63,SWIG_define@*/ 
 857 #define SWIG_From_float PyFloat_FromDouble 
 859 /*@/opt/swig/share/swig/1.3.22/python/pymacros.swg,63,SWIG_define@*/ 
 860 #define SWIG_From_double PyFloat_FromDouble 
 866 static PyMethodDef SwigMethods
[] = { 
 867          { NULL
, NULL
, 0, NULL 
} 
 871 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ 
 873 static swig_type_info _swigt__p_char
[] = {{"_p_char", 0, "char *", 0, 0, 0, 0},{"_p_char", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; 
 875 static swig_type_info 
*swig_types_initial
[] = { 
 881 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */ 
 883 static swig_const_info swig_const_table
[] = { 
 884 {0, 0, 0, 0.0, 0, 0}}; 
 893 SWIGEXPORT(void) SWIG_init(void) { 
 894     static PyObject 
*SWIG_globals 
= 0;  
 895     static int       typeinit 
= 0; 
 898     if (!SWIG_globals
) SWIG_globals 
= SWIG_newvarlink(); 
 899     m 
= Py_InitModule((char *) SWIG_name
, SwigMethods
); 
 900     d 
= PyModule_GetDict(m
); 
 903         for (i 
= 0; swig_types_initial
[i
]; i
++) { 
 904             swig_types
[i
] = SWIG_TypeRegister(swig_types_initial
[i
]); 
 908     SWIG_InstallConstants(d
,swig_const_table
);