SWIG help, very new
Enrico Ng
ng at fnmail.com
Wed May 23 16:33:54 EDT 2001
Hi, I'm very new to SWIG.
I wrote a small stack program in C
and want to use swig to make a python module with it.
but it isnt working for me.
Most likely because I'm not really sure what should go in the interface
file.
--
Enrico Ng <enrico at fnal.gov>
stack.c
----------------------------------
#include <stdio.h>
#include <string.h>
typedef struct stk{int data; struct stk *next; struct stk *prev;} STACK;
void init(){STACK* stack;}
void push(int buffer,STACK **stack) {
(*stack)->data=buffer;
(*stack)->next=new STACK;
(*stack)->next->prev=(*stack);
(*stack)=(*stack)->next;
}
int pop(STACK **stack) {
(*stack)=(*stack)->prev;
delete (*stack)->next;
return (*stack)->data;}
void add(STACK* stack){push(pop(&stack)+pop(&stack),&stack);}
void sub(STACK* stack){push(-pop(&stack)+pop(&stack),&stack);}
void mul(STACK* stack){push(pop(&stack)*pop(&stack),&stack);}
void div(STACK* stack){push(1/(pop(&stack)/pop(&stack)),&stack);}
-------------------------------------------------------------------------
stack.i
--------------------------------------------------------------------
%module stack
typedef struct stk{int data; struct stk *next; struct stk *prev;}STACK;
STACK *stack;
More information about the Python-list
mailing list