Cython has moved to github.

pyrex

view Tests/Bugs/becker/Reference/becker1.c @ 86:da6e97bb7e6d

Multiple compilation fixed
author Gregory Ewing <greg.ewing@canterbury.ac.nz>
date Sat May 24 15:50:12 2008 +1200 (4 years ago)
parents 6c5f5271ebab
children 3b20cb4923eb
line source
1 /* Generated by Pyrex */
3 #define PY_SSIZE_T_CLEAN
4 #include "Python.h"
5 #include "structmember.h"
6 #ifndef PY_LONG_LONG
7 #define PY_LONG_LONG LONG_LONG
8 #endif
9 #if PY_VERSION_HEX < 0x02050000
10 typedef int Py_ssize_t;
11 #define PY_SSIZE_T_MAX INT_MAX
12 #define PY_SSIZE_T_MIN INT_MIN
13 #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
14 #define PyInt_AsSsize_t(o) PyInt_AsLong(o)
15 #endif
16 #ifndef WIN32
17 #ifndef __stdcall
18 #define __stdcall
19 #endif
20 #ifndef __cdecl
21 #define __cdecl
22 #endif
23 #endif
24 #ifdef __cplusplus
25 #define __PYX_EXTERN_C extern "C"
26 #else
27 #define __PYX_EXTERN_C extern
28 #endif
29 #include <math.h>
32 typedef struct {PyObject **p; char *s;} __Pyx_InternTabEntry; /*proto*/
33 typedef struct {PyObject **p; char *s; long n;} __Pyx_StringTabEntry; /*proto*/
35 static PyObject *__pyx_m;
36 static PyObject *__pyx_b;
37 static int __pyx_lineno;
38 static char *__pyx_filename;
39 static char **__pyx_f;
41 static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/
43 static void __Pyx_AddTraceback(char *funcname); /*proto*/
45 /* Declarations from becker1 */
47 struct __pyx_obj_7becker1__Box {
48 PyObject_HEAD
49 int penalty;
50 int flagged;
51 int is_glue;
52 int is_penalty;
53 int is_box;
54 char *character;
55 double width;
56 double stretch;
57 double shrink;
58 };
60 struct __pyx_obj_7becker1_Box {
61 struct __pyx_obj_7becker1__Box __pyx_base;
62 };
64 struct __pyx_obj_7becker1_Glue {
65 struct __pyx_obj_7becker1__Box __pyx_base;
66 struct __pyx_vtabstruct_7becker1_Glue *__pyx_vtab;
67 };
72 struct __pyx_vtabstruct_7becker1_Glue {
73 PyObject *(*compute_width)(struct __pyx_obj_7becker1_Glue *,double);
74 };
75 static struct __pyx_vtabstruct_7becker1_Glue *__pyx_vtabptr_7becker1_Glue;
77 static PyTypeObject *__pyx_ptype_7becker1__Box = 0;
78 static PyTypeObject *__pyx_ptype_7becker1_Box = 0;
79 static PyTypeObject *__pyx_ptype_7becker1_Glue = 0;
82 static __Pyx_StringTabEntry __pyx_string_tab[] = {
83 {0, 0, 0, 0}
84 };
86 /* Implementation of becker1 */
88 static int __pyx_f_7becker1_3Box___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
89 static int __pyx_f_7becker1_3Box___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
90 double __pyx_v_width;
91 char *__pyx_v_character;
92 int __pyx_r;
93 static char *__pyx_argnames[] = {"width","character",0};
94 if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "ds", __pyx_argnames, &__pyx_v_width, &__pyx_v_character)) return -1;
95 Py_INCREF((PyObject *)__pyx_v_self);
97 /* "/Local/Projects/D/Pyrex/Source/Tests/Bugs/becker/becker1.pyx":11 */
98 ((struct __pyx_obj_7becker1_Box *)__pyx_v_self)->__pyx_base.character = __pyx_v_character;
100 /* "/Local/Projects/D/Pyrex/Source/Tests/Bugs/becker/becker1.pyx":12 */
101 ((struct __pyx_obj_7becker1_Box *)__pyx_v_self)->__pyx_base.width = __pyx_v_width;
103 /* "/Local/Projects/D/Pyrex/Source/Tests/Bugs/becker/becker1.pyx":13 */
104 ((struct __pyx_obj_7becker1_Box *)__pyx_v_self)->__pyx_base.stretch = 0;
105 ((struct __pyx_obj_7becker1_Box *)__pyx_v_self)->__pyx_base.shrink = 0;
106 ((struct __pyx_obj_7becker1_Box *)__pyx_v_self)->__pyx_base.penalty = 0;
107 ((struct __pyx_obj_7becker1_Box *)__pyx_v_self)->__pyx_base.flagged = 0;
108 ((struct __pyx_obj_7becker1_Box *)__pyx_v_self)->__pyx_base.is_glue = 0;
109 ((struct __pyx_obj_7becker1_Box *)__pyx_v_self)->__pyx_base.is_penalty = 0;
111 /* "/Local/Projects/D/Pyrex/Source/Tests/Bugs/becker/becker1.pyx":14 */
112 ((struct __pyx_obj_7becker1_Box *)__pyx_v_self)->__pyx_base.is_box = 1;
114 __pyx_r = 0;
115 Py_DECREF((PyObject *)__pyx_v_self);
116 return __pyx_r;
117 }
119 static int __pyx_f_7becker1_4Glue___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
120 static int __pyx_f_7becker1_4Glue___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
121 double __pyx_v_width;
122 double __pyx_v_stretch;
123 double __pyx_v_shrink;
124 int __pyx_r;
125 static char *__pyx_argnames[] = {"width","stretch","shrink",0};
126 if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "ddd", __pyx_argnames, &__pyx_v_width, &__pyx_v_stretch, &__pyx_v_shrink)) return -1;
127 Py_INCREF((PyObject *)__pyx_v_self);
129 /* "/Local/Projects/D/Pyrex/Source/Tests/Bugs/becker/becker1.pyx":23 */
130 ((struct __pyx_obj_7becker1_Glue *)__pyx_v_self)->__pyx_base.width = __pyx_v_width;
132 /* "/Local/Projects/D/Pyrex/Source/Tests/Bugs/becker/becker1.pyx":24 */
133 ((struct __pyx_obj_7becker1_Glue *)__pyx_v_self)->__pyx_base.stretch = __pyx_v_stretch;
135 /* "/Local/Projects/D/Pyrex/Source/Tests/Bugs/becker/becker1.pyx":25 */
136 ((struct __pyx_obj_7becker1_Glue *)__pyx_v_self)->__pyx_base.shrink = __pyx_v_shrink;
138 /* "/Local/Projects/D/Pyrex/Source/Tests/Bugs/becker/becker1.pyx":26 */
139 ((struct __pyx_obj_7becker1_Glue *)__pyx_v_self)->__pyx_base.is_glue = 1;
141 /* "/Local/Projects/D/Pyrex/Source/Tests/Bugs/becker/becker1.pyx":27 */
142 ((struct __pyx_obj_7becker1_Glue *)__pyx_v_self)->__pyx_base.is_box = 0;
143 ((struct __pyx_obj_7becker1_Glue *)__pyx_v_self)->__pyx_base.is_penalty = 0;
145 __pyx_r = 0;
146 Py_DECREF((PyObject *)__pyx_v_self);
147 return __pyx_r;
148 }
150 static PyObject *__pyx_f_7becker1_4Glue_compute_width(struct __pyx_obj_7becker1_Glue *__pyx_v_self,double __pyx_v_r) {
151 PyObject *__pyx_r;
152 int __pyx_1;
153 PyObject *__pyx_2 = 0;
154 Py_INCREF((PyObject *)__pyx_v_self);
155 __pyx_1 = (__pyx_v_r < 0);
156 if (__pyx_1) {
157 __pyx_2 = PyFloat_FromDouble((__pyx_v_self->__pyx_base.width + (__pyx_v_r * __pyx_v_self->__pyx_base.shrink))); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; goto __pyx_L1;}
158 __pyx_r = __pyx_2;
159 __pyx_2 = 0;
160 goto __pyx_L0;
161 goto __pyx_L2;
162 }
163 /*else*/ {
164 __pyx_2 = PyFloat_FromDouble((__pyx_v_self->__pyx_base.width + (__pyx_v_r * __pyx_v_self->__pyx_base.stretch))); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; goto __pyx_L1;}
165 __pyx_r = __pyx_2;
166 __pyx_2 = 0;
167 goto __pyx_L0;
168 }
169 __pyx_L2:;
171 __pyx_r = Py_None; Py_INCREF(Py_None);
172 goto __pyx_L0;
173 __pyx_L1:;
174 Py_XDECREF(__pyx_2);
175 __Pyx_AddTraceback("becker1.Glue.compute_width");
176 __pyx_r = 0;
177 __pyx_L0:;
178 Py_DECREF((PyObject *)__pyx_v_self);
179 return __pyx_r;
180 }
182 static PyObject *__pyx_tp_new_7becker1__Box(PyTypeObject *t, PyObject *a, PyObject *k) {
183 PyObject *o = (*t->tp_alloc)(t, 0);
184 if (!o) return 0;
185 return o;
186 }
188 static void __pyx_tp_dealloc_7becker1__Box(PyObject *o) {
189 (*o->ob_type->tp_free)(o);
190 }
192 static struct PyMethodDef __pyx_methods_7becker1__Box[] = {
193 {0, 0, 0, 0}
194 };
196 static struct PyMemberDef __pyx_members_7becker1__Box[] = {
197 {"penalty", T_INT, offsetof(struct __pyx_obj_7becker1__Box, penalty), READONLY, 0},
198 {"flagged", T_INT, offsetof(struct __pyx_obj_7becker1__Box, flagged), READONLY, 0},
199 {"is_glue", T_INT, offsetof(struct __pyx_obj_7becker1__Box, is_glue), READONLY, 0},
200 {"is_penalty", T_INT, offsetof(struct __pyx_obj_7becker1__Box, is_penalty), READONLY, 0},
201 {"is_box", T_INT, offsetof(struct __pyx_obj_7becker1__Box, is_box), READONLY, 0},
202 {0, 0, 0, 0, 0}
203 };
205 static PyNumberMethods __pyx_tp_as_number__Box = {
206 0, /*nb_add*/
207 0, /*nb_subtract*/
208 0, /*nb_multiply*/
209 0, /*nb_divide*/
210 0, /*nb_remainder*/
211 0, /*nb_divmod*/
212 0, /*nb_power*/
213 0, /*nb_negative*/
214 0, /*nb_positive*/
215 0, /*nb_absolute*/
216 0, /*nb_nonzero*/
217 0, /*nb_invert*/
218 0, /*nb_lshift*/
219 0, /*nb_rshift*/
220 0, /*nb_and*/
221 0, /*nb_xor*/
222 0, /*nb_or*/
223 0, /*nb_coerce*/
224 0, /*nb_int*/
225 0, /*nb_long*/
226 0, /*nb_float*/
227 0, /*nb_oct*/
228 0, /*nb_hex*/
229 0, /*nb_inplace_add*/
230 0, /*nb_inplace_subtract*/
231 0, /*nb_inplace_multiply*/
232 0, /*nb_inplace_divide*/
233 0, /*nb_inplace_remainder*/
234 0, /*nb_inplace_power*/
235 0, /*nb_inplace_lshift*/
236 0, /*nb_inplace_rshift*/
237 0, /*nb_inplace_and*/
238 0, /*nb_inplace_xor*/
239 0, /*nb_inplace_or*/
240 0, /*nb_floor_divide*/
241 0, /*nb_true_divide*/
242 0, /*nb_inplace_floor_divide*/
243 0, /*nb_inplace_true_divide*/
244 #if Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX
245 0, /*nb_index*/
246 #endif
247 };
249 static PySequenceMethods __pyx_tp_as_sequence__Box = {
250 0, /*sq_length*/
251 0, /*sq_concat*/
252 0, /*sq_repeat*/
253 0, /*sq_item*/
254 0, /*sq_slice*/
255 0, /*sq_ass_item*/
256 0, /*sq_ass_slice*/
257 0, /*sq_contains*/
258 0, /*sq_inplace_concat*/
259 0, /*sq_inplace_repeat*/
260 };
262 static PyMappingMethods __pyx_tp_as_mapping__Box = {
263 0, /*mp_length*/
264 0, /*mp_subscript*/
265 0, /*mp_ass_subscript*/
266 };
268 static PyBufferProcs __pyx_tp_as_buffer__Box = {
269 0, /*bf_getreadbuffer*/
270 0, /*bf_getwritebuffer*/
271 0, /*bf_getsegcount*/
272 0, /*bf_getcharbuffer*/
273 };
275 PyTypeObject __pyx_type_7becker1__Box = {
276 PyObject_HEAD_INIT(0)
277 0, /*ob_size*/
278 "becker1._Box", /*tp_name*/
279 sizeof(struct __pyx_obj_7becker1__Box), /*tp_basicsize*/
280 0, /*tp_itemsize*/
281 __pyx_tp_dealloc_7becker1__Box, /*tp_dealloc*/
282 0, /*tp_print*/
283 0, /*tp_getattr*/
284 0, /*tp_setattr*/
285 0, /*tp_compare*/
286 0, /*tp_repr*/
287 &__pyx_tp_as_number__Box, /*tp_as_number*/
288 &__pyx_tp_as_sequence__Box, /*tp_as_sequence*/
289 &__pyx_tp_as_mapping__Box, /*tp_as_mapping*/
290 0, /*tp_hash*/
291 0, /*tp_call*/
292 0, /*tp_str*/
293 0, /*tp_getattro*/
294 0, /*tp_setattro*/
295 &__pyx_tp_as_buffer__Box, /*tp_as_buffer*/
296 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE, /*tp_flags*/
297 0, /*tp_doc*/
298 0, /*tp_traverse*/
299 0, /*tp_clear*/
300 0, /*tp_richcompare*/
301 0, /*tp_weaklistoffset*/
302 0, /*tp_iter*/
303 0, /*tp_iternext*/
304 __pyx_methods_7becker1__Box, /*tp_methods*/
305 __pyx_members_7becker1__Box, /*tp_members*/
306 0, /*tp_getset*/
307 0, /*tp_base*/
308 0, /*tp_dict*/
309 0, /*tp_descr_get*/
310 0, /*tp_descr_set*/
311 0, /*tp_dictoffset*/
312 0, /*tp_init*/
313 0, /*tp_alloc*/
314 __pyx_tp_new_7becker1__Box, /*tp_new*/
315 0, /*tp_free*/
316 0, /*tp_is_gc*/
317 0, /*tp_bases*/
318 0, /*tp_mro*/
319 0, /*tp_cache*/
320 0, /*tp_subclasses*/
321 0, /*tp_weaklist*/
322 };
324 static PyObject *__pyx_tp_new_7becker1_Box(PyTypeObject *t, PyObject *a, PyObject *k) {
325 PyObject *o = __pyx_ptype_7becker1__Box->tp_new(t, a, k);
326 if (!o) return 0;
327 return o;
328 }
330 static void __pyx_tp_dealloc_7becker1_Box(PyObject *o) {
331 __pyx_ptype_7becker1__Box->tp_dealloc(o);
332 }
334 static struct PyMethodDef __pyx_methods_7becker1_Box[] = {
335 {0, 0, 0, 0}
336 };
338 static PyNumberMethods __pyx_tp_as_number_Box = {
339 0, /*nb_add*/
340 0, /*nb_subtract*/
341 0, /*nb_multiply*/
342 0, /*nb_divide*/
343 0, /*nb_remainder*/
344 0, /*nb_divmod*/
345 0, /*nb_power*/
346 0, /*nb_negative*/
347 0, /*nb_positive*/
348 0, /*nb_absolute*/
349 0, /*nb_nonzero*/
350 0, /*nb_invert*/
351 0, /*nb_lshift*/
352 0, /*nb_rshift*/
353 0, /*nb_and*/
354 0, /*nb_xor*/
355 0, /*nb_or*/
356 0, /*nb_coerce*/
357 0, /*nb_int*/
358 0, /*nb_long*/
359 0, /*nb_float*/
360 0, /*nb_oct*/
361 0, /*nb_hex*/
362 0, /*nb_inplace_add*/
363 0, /*nb_inplace_subtract*/
364 0, /*nb_inplace_multiply*/
365 0, /*nb_inplace_divide*/
366 0, /*nb_inplace_remainder*/
367 0, /*nb_inplace_power*/
368 0, /*nb_inplace_lshift*/
369 0, /*nb_inplace_rshift*/
370 0, /*nb_inplace_and*/
371 0, /*nb_inplace_xor*/
372 0, /*nb_inplace_or*/
373 0, /*nb_floor_divide*/
374 0, /*nb_true_divide*/
375 0, /*nb_inplace_floor_divide*/
376 0, /*nb_inplace_true_divide*/
377 #if Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX
378 0, /*nb_index*/
379 #endif
380 };
382 static PySequenceMethods __pyx_tp_as_sequence_Box = {
383 0, /*sq_length*/
384 0, /*sq_concat*/
385 0, /*sq_repeat*/
386 0, /*sq_item*/
387 0, /*sq_slice*/
388 0, /*sq_ass_item*/
389 0, /*sq_ass_slice*/
390 0, /*sq_contains*/
391 0, /*sq_inplace_concat*/
392 0, /*sq_inplace_repeat*/
393 };
395 static PyMappingMethods __pyx_tp_as_mapping_Box = {
396 0, /*mp_length*/
397 0, /*mp_subscript*/
398 0, /*mp_ass_subscript*/
399 };
401 static PyBufferProcs __pyx_tp_as_buffer_Box = {
402 0, /*bf_getreadbuffer*/
403 0, /*bf_getwritebuffer*/
404 0, /*bf_getsegcount*/
405 0, /*bf_getcharbuffer*/
406 };
408 PyTypeObject __pyx_type_7becker1_Box = {
409 PyObject_HEAD_INIT(0)
410 0, /*ob_size*/
411 "becker1.Box", /*tp_name*/
412 sizeof(struct __pyx_obj_7becker1_Box), /*tp_basicsize*/
413 0, /*tp_itemsize*/
414 __pyx_tp_dealloc_7becker1_Box, /*tp_dealloc*/
415 0, /*tp_print*/
416 0, /*tp_getattr*/
417 0, /*tp_setattr*/
418 0, /*tp_compare*/
419 0, /*tp_repr*/
420 &__pyx_tp_as_number_Box, /*tp_as_number*/
421 &__pyx_tp_as_sequence_Box, /*tp_as_sequence*/
422 &__pyx_tp_as_mapping_Box, /*tp_as_mapping*/
423 0, /*tp_hash*/
424 0, /*tp_call*/
425 0, /*tp_str*/
426 0, /*tp_getattro*/
427 0, /*tp_setattro*/
428 &__pyx_tp_as_buffer_Box, /*tp_as_buffer*/
429 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE, /*tp_flags*/
430 "Class representing a glyph or character. Boxes have a fixed\n width that doesn\'t change.\n ", /*tp_doc*/
431 0, /*tp_traverse*/
432 0, /*tp_clear*/
433 0, /*tp_richcompare*/
434 0, /*tp_weaklistoffset*/
435 0, /*tp_iter*/
436 0, /*tp_iternext*/
437 __pyx_methods_7becker1_Box, /*tp_methods*/
438 0, /*tp_members*/
439 0, /*tp_getset*/
440 0, /*tp_base*/
441 0, /*tp_dict*/
442 0, /*tp_descr_get*/
443 0, /*tp_descr_set*/
444 0, /*tp_dictoffset*/
445 __pyx_f_7becker1_3Box___init__, /*tp_init*/
446 0, /*tp_alloc*/
447 __pyx_tp_new_7becker1_Box, /*tp_new*/
448 0, /*tp_free*/
449 0, /*tp_is_gc*/
450 0, /*tp_bases*/
451 0, /*tp_mro*/
452 0, /*tp_cache*/
453 0, /*tp_subclasses*/
454 0, /*tp_weaklist*/
455 };
456 static struct __pyx_vtabstruct_7becker1_Glue __pyx_vtable_7becker1_Glue;
458 static PyObject *__pyx_tp_new_7becker1_Glue(PyTypeObject *t, PyObject *a, PyObject *k) {
459 struct __pyx_obj_7becker1_Glue *p;
460 PyObject *o = __pyx_ptype_7becker1__Box->tp_new(t, a, k);
461 if (!o) return 0;
462 p = ((struct __pyx_obj_7becker1_Glue *)o);
463 *(struct __pyx_vtabstruct_7becker1_Glue **)&p->__pyx_vtab = __pyx_vtabptr_7becker1_Glue;
464 return o;
465 }
467 static void __pyx_tp_dealloc_7becker1_Glue(PyObject *o) {
468 __pyx_ptype_7becker1__Box->tp_dealloc(o);
469 }
471 static struct PyMethodDef __pyx_methods_7becker1_Glue[] = {
472 {0, 0, 0, 0}
473 };
475 static PyNumberMethods __pyx_tp_as_number_Glue = {
476 0, /*nb_add*/
477 0, /*nb_subtract*/
478 0, /*nb_multiply*/
479 0, /*nb_divide*/
480 0, /*nb_remainder*/
481 0, /*nb_divmod*/
482 0, /*nb_power*/
483 0, /*nb_negative*/
484 0, /*nb_positive*/
485 0, /*nb_absolute*/
486 0, /*nb_nonzero*/
487 0, /*nb_invert*/
488 0, /*nb_lshift*/
489 0, /*nb_rshift*/
490 0, /*nb_and*/
491 0, /*nb_xor*/
492 0, /*nb_or*/
493 0, /*nb_coerce*/
494 0, /*nb_int*/
495 0, /*nb_long*/
496 0, /*nb_float*/
497 0, /*nb_oct*/
498 0, /*nb_hex*/
499 0, /*nb_inplace_add*/
500 0, /*nb_inplace_subtract*/
501 0, /*nb_inplace_multiply*/
502 0, /*nb_inplace_divide*/
503 0, /*nb_inplace_remainder*/
504 0, /*nb_inplace_power*/
505 0, /*nb_inplace_lshift*/
506 0, /*nb_inplace_rshift*/
507 0, /*nb_inplace_and*/
508 0, /*nb_inplace_xor*/
509 0, /*nb_inplace_or*/
510 0, /*nb_floor_divide*/
511 0, /*nb_true_divide*/
512 0, /*nb_inplace_floor_divide*/
513 0, /*nb_inplace_true_divide*/
514 #if Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX
515 0, /*nb_index*/
516 #endif
517 };
519 static PySequenceMethods __pyx_tp_as_sequence_Glue = {
520 0, /*sq_length*/
521 0, /*sq_concat*/
522 0, /*sq_repeat*/
523 0, /*sq_item*/
524 0, /*sq_slice*/
525 0, /*sq_ass_item*/
526 0, /*sq_ass_slice*/
527 0, /*sq_contains*/
528 0, /*sq_inplace_concat*/
529 0, /*sq_inplace_repeat*/
530 };
532 static PyMappingMethods __pyx_tp_as_mapping_Glue = {
533 0, /*mp_length*/
534 0, /*mp_subscript*/
535 0, /*mp_ass_subscript*/
536 };
538 static PyBufferProcs __pyx_tp_as_buffer_Glue = {
539 0, /*bf_getreadbuffer*/
540 0, /*bf_getwritebuffer*/
541 0, /*bf_getsegcount*/
542 0, /*bf_getcharbuffer*/
543 };
545 PyTypeObject __pyx_type_7becker1_Glue = {
546 PyObject_HEAD_INIT(0)
547 0, /*ob_size*/
548 "becker1.Glue", /*tp_name*/
549 sizeof(struct __pyx_obj_7becker1_Glue), /*tp_basicsize*/
550 0, /*tp_itemsize*/
551 __pyx_tp_dealloc_7becker1_Glue, /*tp_dealloc*/
552 0, /*tp_print*/
553 0, /*tp_getattr*/
554 0, /*tp_setattr*/
555 0, /*tp_compare*/
556 0, /*tp_repr*/
557 &__pyx_tp_as_number_Glue, /*tp_as_number*/
558 &__pyx_tp_as_sequence_Glue, /*tp_as_sequence*/
559 &__pyx_tp_as_mapping_Glue, /*tp_as_mapping*/
560 0, /*tp_hash*/
561 0, /*tp_call*/
562 0, /*tp_str*/
563 0, /*tp_getattro*/
564 0, /*tp_setattro*/
565 &__pyx_tp_as_buffer_Glue, /*tp_as_buffer*/
566 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE, /*tp_flags*/
567 "Class representing a bit of glue. Glue has a preferred width,\n but it can stretch up to an additional distance, and can shrink\n by a certain amount. Line breaks can be placed at any point where\n glue immediately follows a box.\n ", /*tp_doc*/
568 0, /*tp_traverse*/
569 0, /*tp_clear*/
570 0, /*tp_richcompare*/
571 0, /*tp_weaklistoffset*/
572 0, /*tp_iter*/
573 0, /*tp_iternext*/
574 __pyx_methods_7becker1_Glue, /*tp_methods*/
575 0, /*tp_members*/
576 0, /*tp_getset*/
577 0, /*tp_base*/
578 0, /*tp_dict*/
579 0, /*tp_descr_get*/
580 0, /*tp_descr_set*/
581 0, /*tp_dictoffset*/
582 __pyx_f_7becker1_4Glue___init__, /*tp_init*/
583 0, /*tp_alloc*/
584 __pyx_tp_new_7becker1_Glue, /*tp_new*/
585 0, /*tp_free*/
586 0, /*tp_is_gc*/
587 0, /*tp_bases*/
588 0, /*tp_mro*/
589 0, /*tp_cache*/
590 0, /*tp_subclasses*/
591 0, /*tp_weaklist*/
592 };
594 static struct PyMethodDef __pyx_methods[] = {
595 {0, 0, 0, 0}
596 };
598 static void __pyx_init_filenames(void); /*proto*/
600 PyMODINIT_FUNC initbecker1(void); /*proto*/
601 PyMODINIT_FUNC initbecker1(void) {
602 __pyx_init_filenames();
603 __pyx_m = Py_InitModule4("becker1", __pyx_methods, 0, 0, PYTHON_API_VERSION);
604 if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; goto __pyx_L1;};
605 Py_INCREF(__pyx_m);
606 __pyx_b = PyImport_AddModule("__builtin__");
607 if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; goto __pyx_L1;};
608 if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; goto __pyx_L1;};
609 if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; goto __pyx_L1;};
610 if (PyType_Ready(&__pyx_type_7becker1__Box) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; goto __pyx_L1;}
611 if (PyObject_SetAttrString(__pyx_m, "_Box", (PyObject *)&__pyx_type_7becker1__Box) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; goto __pyx_L1;}
612 __pyx_ptype_7becker1__Box = &__pyx_type_7becker1__Box;
613 __pyx_type_7becker1_Box.tp_base = __pyx_ptype_7becker1__Box;
614 if (PyType_Ready(&__pyx_type_7becker1_Box) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; goto __pyx_L1;}
615 if (PyObject_SetAttrString(__pyx_m, "Box", (PyObject *)&__pyx_type_7becker1_Box) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; goto __pyx_L1;}
616 __pyx_ptype_7becker1_Box = &__pyx_type_7becker1_Box;
617 __pyx_vtabptr_7becker1_Glue = &__pyx_vtable_7becker1_Glue;
618 *(void(**)(void))&__pyx_vtable_7becker1_Glue.compute_width = (void(*)(void))__pyx_f_7becker1_4Glue_compute_width;
619 __pyx_type_7becker1_Glue.tp_base = __pyx_ptype_7becker1__Box;
620 if (PyType_Ready(&__pyx_type_7becker1_Glue) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; goto __pyx_L1;}
621 if (__Pyx_SetVtable(__pyx_type_7becker1_Glue.tp_dict, __pyx_vtabptr_7becker1_Glue) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; goto __pyx_L1;}
622 if (PyObject_SetAttrString(__pyx_m, "Glue", (PyObject *)&__pyx_type_7becker1_Glue) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; goto __pyx_L1;}
623 __pyx_ptype_7becker1_Glue = &__pyx_type_7becker1_Glue;
625 /* "/Local/Projects/D/Pyrex/Source/Tests/Bugs/becker/becker1.pyx":29 */
626 return;
627 __pyx_L1:;
628 __Pyx_AddTraceback("becker1");
629 }
631 static char *__pyx_filenames[] = {
632 "becker1.pyx",
633 };
635 /* Runtime support code */
637 static void __pyx_init_filenames(void) {
638 __pyx_f = __pyx_filenames;
639 }
641 static int __Pyx_SetVtable(PyObject *dict, void *vtable) {
642 PyObject *pycobj = 0;
643 int result;
645 pycobj = PyCObject_FromVoidPtr(vtable, 0);
646 if (!pycobj)
647 goto bad;
648 if (PyDict_SetItemString(dict, "__pyx_vtable__", pycobj) < 0)
649 goto bad;
650 result = 0;
651 goto done;
653 bad:
654 result = -1;
655 done:
656 Py_XDECREF(pycobj);
657 return result;
658 }
660 #include "compile.h"
661 #include "frameobject.h"
662 #include "traceback.h"
664 static void __Pyx_AddTraceback(char *funcname) {
665 PyObject *py_srcfile = 0;
666 PyObject *py_funcname = 0;
667 PyObject *py_globals = 0;
668 PyObject *empty_tuple = 0;
669 PyObject *empty_string = 0;
670 PyCodeObject *py_code = 0;
671 PyFrameObject *py_frame = 0;
673 py_srcfile = PyString_FromString(__pyx_filename);
674 if (!py_srcfile) goto bad;
675 py_funcname = PyString_FromString(funcname);
676 if (!py_funcname) goto bad;
677 py_globals = PyModule_GetDict(__pyx_m);
678 if (!py_globals) goto bad;
679 empty_tuple = PyTuple_New(0);
680 if (!empty_tuple) goto bad;
681 empty_string = PyString_FromString("");
682 if (!empty_string) goto bad;
683 py_code = PyCode_New(
684 0, /*int argcount,*/
685 0, /*int nlocals,*/
686 0, /*int stacksize,*/
687 0, /*int flags,*/
688 empty_string, /*PyObject *code,*/
689 empty_tuple, /*PyObject *consts,*/
690 empty_tuple, /*PyObject *names,*/
691 empty_tuple, /*PyObject *varnames,*/
692 empty_tuple, /*PyObject *freevars,*/
693 empty_tuple, /*PyObject *cellvars,*/
694 py_srcfile, /*PyObject *filename,*/
695 py_funcname, /*PyObject *name,*/
696 __pyx_lineno, /*int firstlineno,*/
697 empty_string /*PyObject *lnotab*/
698 );
699 if (!py_code) goto bad;
700 py_frame = PyFrame_New(
701 PyThreadState_Get(), /*PyThreadState *tstate,*/
702 py_code, /*PyCodeObject *code,*/
703 py_globals, /*PyObject *globals,*/
704 0 /*PyObject *locals*/
705 );
706 if (!py_frame) goto bad;
707 py_frame->f_lineno = __pyx_lineno;
708 PyTraceBack_Here(py_frame);
709 bad:
710 Py_XDECREF(py_srcfile);
711 Py_XDECREF(py_funcname);
712 Py_XDECREF(empty_tuple);
713 Py_XDECREF(empty_string);
714 Py_XDECREF(py_code);
715 Py_XDECREF(py_frame);
716 }