Re: C-API: A beginner's problem

2006-03-24 Thread baalbek
Fabian Steiner wrote: > What do I have to change in order to make the code work? I'm afraid to say: your knowledge of C :-) But don't worry, C is an easy language to learn, and a very valuable skill to have. Baalbek -- http://mail.python.org/mailman/listinfo/python-list

Re: C-API: A beginner's problem

2006-03-19 Thread Georg Brandl
Fabian Steiner wrote: > Georg Brandl wrote: >> Fabian Steiner wrote: >>> [...] >>> for (i = 0; i <= seqlen; i++) { >> >> That is one iteration too much. Use >> >> for (i = 0; i < seglen; i++) >> >>> item = PySequence_Fast_GET_ITEM(seq, i); >> >> Now item is a PyObject*.

Re: C-API: A beginner's problem

2006-03-19 Thread Fabian Steiner
Georg Brandl wrote: > Fabian Steiner wrote: >> [...] >> for (i = 0; i <= seqlen; i++) { > > That is one iteration too much. Use > > for (i = 0; i < seglen; i++) > >> item = PySequence_Fast_GET_ITEM(seq, i); > > Now item is a PyObject*. You'll have to convert it to an i

Re: C-API: A beginner's problem

2006-03-19 Thread Georg Brandl
Fabian Steiner wrote: > I recently started learning C since I want to be able to write Python > extension modules. In fact, there is no need for it, but I simply want > to try something new ... > > I tried to implement the bubblesort algorithm in C and to use it in > python; bubblesort.c compil

Re: C-API: A beginner's problem

2006-03-19 Thread Fabian Steiner
Heikki Salo wrote: > Heikki Salo wrote: >> Fabian Steiner wrote: >>> What did I do wrong? As I am quite new to C, I probably made many >>> mistakes, so please feel free to correct me. >> >> The following line: >> >> > for (i = 0; i <= seqlen; i++) { >> >> Should be "for (i = 0; i < seqlen; i+

Re: C-API: A beginner's problem

2006-03-19 Thread Duncan Booth
Nick Smallbone wrote: > Duncan Booth wrote: >> Heikki Salo wrote: >> >> > >> > And closer look tells that the code should not even compile. Is the >> > code cut & pasted directly? Line "list[i] = item;" tries to assign a >> > pointer to an int-array, which should not compile. There are other >> >

Re: C-API: A beginner's problem

2006-03-19 Thread Nick Smallbone
Duncan Booth wrote: > Heikki Salo wrote: > > > > > And closer look tells that the code should not even compile. Is the > > code cut & pasted directly? Line "list[i] = item;" tries to assign a > > pointer to an int-array, which should not compile. There are other > > similar oddities. > > ... such a

Re: C-API: A beginner's problem

2006-03-19 Thread Duncan Booth
Heikki Salo wrote: > > And closer look tells that the code should not even compile. Is the > code cut & pasted directly? Line "list[i] = item;" tries to assign a > pointer to an int-array, which should not compile. There are other > similar oddities. ... such as the declaration of list at a poi

Re: C-API: A beginner's problem

2006-03-19 Thread Heikki Salo
Heikki Salo wrote: > Fabian Steiner wrote: >> What did I do wrong? As I am quite new to C, I probably made many >> mistakes, so please feel free to correct me. > > The following line: > > > for (i = 0; i <= seqlen; i++) { > > Should be "for (i = 0; i < seqlen; i++) {". Otherwise the last

Re: C-API: A beginner's problem

2006-03-19 Thread Heikki Salo
Fabian Steiner wrote: > What did I do wrong? As I am quite new to C, I probably made many > mistakes, so please feel free to correct me. The following line: > for (i = 0; i <= seqlen; i++) { Should be "for (i = 0; i < seqlen; i++) {". Otherwise the last assignment will be out of bounds an

C-API: A beginner's problem

2006-03-19 Thread Fabian Steiner
I recently started learning C since I want to be able to write Python extension modules. In fact, there is no need for it, but I simply want to try something new ... I tried to implement the bubblesort algorithm in C and to use it in python; bubblesort.c compiles fine, but whenever I want to im