From cournape at gmail.com Tue Jun 1 03:59:47 2010 From: cournape at gmail.com (David Cournapeau) Date: Tue, 1 Jun 2010 16:59:47 +0900 Subject: [Numpy-discussion] Technicalities of the SVN -> GIT transition Message-ID: Hi there, I have looked back into the way to convert the existing numpy svn repository into git. It went quite smoothly using svn2git (developed by the KDE team for their own transition), but there are a few questions which need to be answered: - Shall we keep the old svn branches ? I think most of them are just cruft, and can be safely removed We would then just keep the release branches (in maintenance/***) - Tag conversion: svn has no notion of tags, so translating them into git tags cannot be done automatically in a safely manner (and we do have some rewritten tags in the svn repo). I was thinking about creating a small script to create them manually afterwards for the releases, in the svntags/***. - Author conversion: according to git, there are around 50 committers in numpy. Several of them are double and should be be merged I think (kern vs rkern, Travis' accounts as well), but there is also the option to set up real emails. Since email are "private", I don't want to just "scrape" them without asking permission first. I don't know how we should proceed here. The author conversion needs to be decided upfront (as changing name in committers will cause to change every sha256), tags and scrapping branches may be done later. Last time we discussed things, there were some concerns about space: the numpy git repo is around 17 Mb for the full history, 36 Mb if one includes the working tree, compared to 43 Mb for a trunk checkout from svn. The master branch (the "trunk" in git) has ~ 6500 commits. cheers, David From pav at iki.fi Tue Jun 1 05:03:11 2010 From: pav at iki.fi (Pauli Virtanen) Date: Tue, 1 Jun 2010 09:03:11 +0000 (UTC) Subject: [Numpy-discussion] Technicalities of the SVN -> GIT transition References: Message-ID: Tue, 01 Jun 2010 16:59:47 +0900, David Cournapeau wrote: > I have looked back into the way to convert the existing numpy svn > repository into git. It went quite smoothly using svn2git (developed by > the KDE team for their own transition), but there are a few questions > which need to be answered: > > - Shall we keep the old svn branches ? I think most of them are just > cruft, and can be safely removed. We would then just keep the release > branches They mostly seem like leftovers and mostly merged to trunk, that's true. At least a prefix "svnbranch/**" should be added to them, if we are going to keep them at all. Personally, I don't see problems in leaving them out. > (in maintenance/***) Why not release/** or releases/**? I'd suggest singular form here. What do other projects use? Does having a prefix here imply something to clones? > - Tag conversion: svn has no notion of tags, so translating them into > git tags cannot be done automatically in a safely manner (and we do > have some rewritten tags in the svn repo). I was thinking about creating > a small script to create them manually afterwards for the releases, in > the svntags/***. Sounds OK. > - Author conversion: according to git, there are around 50 committers > in numpy. Several of them are double and should be be merged I think > (kern vs rkern, Travis' accounts as well), but there is also the option > to set up real emails. Since email are "private", I don't want to just > "scrape" them without asking permission first. I don't know how we > should proceed here. I don't think correcting the email addresses in the SVN history is very useful. Best probably just use some dummy form, maybe or something similar to keep things simple. -- Pauli Virtanen From david at silveregg.co.jp Tue Jun 1 05:17:14 2010 From: david at silveregg.co.jp (David) Date: Tue, 01 Jun 2010 18:17:14 +0900 Subject: [Numpy-discussion] Technicalities of the SVN -> GIT transition In-Reply-To: References: Message-ID: <4C04D01A.7060108@silveregg.co.jp> On 06/01/2010 06:03 PM, Pauli Virtanen wrote: > > Personally, I don't see problems in leaving them out. > >> (in maintenance/***) > > Why not release/** or releases/**? Right, release is a better word. > > Does having a prefix here imply something to clones? Not that I am aware of: it is just that / is allowed in branches, so that gives some nesting, and I think we should have naming conventions for branches. >> - Tag conversion: svn has no notion of tags, so translating them into >> git tags cannot be done automatically in a safely manner (and we do >> have some rewritten tags in the svn repo). I was thinking about creating >> a small script to create them manually afterwards for the releases, in >> the svntags/***. > > Sounds OK. > >> - Author conversion: according to git, there are around 50 committers >> in numpy. Several of them are double and should be be merged I think >> (kern vs rkern, Travis' accounts as well), but there is also the option >> to set up real emails. Since email are "private", I don't want to just >> "scrape" them without asking permission first. I don't know how we >> should proceed here. > > I don't think correcting the email addresses in the SVN history is very > useful. Best probably just use some dummy form, maybe That's what svn2git already does, so that would be less work for me :) It may not matter much, but I think there is at least one argument for having real emails: to avoid having duplicate committers (i.e. pvirtanen is the same committer before and after the git transition). But this is only significant for current committers. David From ndbecker2 at gmail.com Tue Jun 1 09:47:25 2010 From: ndbecker2 at gmail.com (Neal Becker) Date: Tue, 01 Jun 2010 09:47:25 -0400 Subject: [Numpy-discussion] computing some running sums Message-ID: Not sure what to call this. Any suggestion on computing the vector: sum(u[i*M:i*M+N]) for i in range (len(u)/M) From kwgoodman at gmail.com Tue Jun 1 09:56:19 2010 From: kwgoodman at gmail.com (Keith Goodman) Date: Tue, 1 Jun 2010 06:56:19 -0700 Subject: [Numpy-discussion] computing some running sums In-Reply-To: References: Message-ID: On Tue, Jun 1, 2010 at 6:47 AM, Neal Becker wrote: > Not sure what to call this. > > Any suggestion on computing the vector: > > sum(u[i*M:i*M+N]) for i in range (len(u)/M) How about a cumsum and then a loop to take the differences of the desired indices of the cumsum? Might be faster to convert the cumsum to a list (looks like you are interested in 1d?) for use in the loop. Converting the loop to cython would be the next step. From kwgoodman at gmail.com Tue Jun 1 11:02:15 2010 From: kwgoodman at gmail.com (Keith Goodman) Date: Tue, 1 Jun 2010 08:02:15 -0700 Subject: [Numpy-discussion] computing some running sums In-Reply-To: References: Message-ID: On Tue, Jun 1, 2010 at 6:56 AM, Keith Goodman wrote: > On Tue, Jun 1, 2010 at 6:47 AM, Neal Becker wrote: >> Not sure what to call this. >> >> Any suggestion on computing the vector: >> >> sum(u[i*M:i*M+N]) for i in range (len(u)/M) > > How about a cumsum and then a loop to take the differences of the > desired indices of the cumsum? Might be faster to convert the cumsum > to a list (looks like you are interested in 1d?) for use in the loop. > Converting the loop to cython would be the next step. c = cumsum c.take(idx_left, axis=0) - c.take(idx_right, axis=0) From bbelson at princeton.edu Tue Jun 1 12:00:12 2010 From: bbelson at princeton.edu (Brandt Belson) Date: Tue, 1 Jun 2010 12:00:12 -0400 Subject: [Numpy-discussion] f2py unrecognized vendors Message-ID: Hello, I'm not sure if f2py questions are appropriate here, but I have a question. I had been using f2py without problems, but recently it stopped working. It's worth mentioning that I'm working remotely on a cluster, and I don't have root access, so it's possible that the system admins changed something without my knowledge. Also, this version of python, numpy, and f2py are installed locally on a drive that is sometimes purged. Unfortunately I had no other way to install things. I use f2py with intel's ifort, and the following compile command used to work. $WORK/local/bin/f2py -c -m readBlaFortran readBlaFortran.f putxyp.f rdiscr.f --fcompiler=intelem However, now it gives the following messages: Unknown vendor: "intelem" running build running config_cc unifing config_cc, config, build_clib, build_ext, build commands --compiler options running config_fc unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options running build_src building extension "readBlaFortran" sources f2py options: [] f2py:> /tmp/tmpRerO2Q/src.linux-x86_64-2.6/readBlaFortranmodule.c creating /tmp/tmpRerO2Q creating /tmp/tmpRerO2Q/src.linux-x86_64-2.6 Reading fortran codes... Reading file 'readBlaFortran.f' (format:fix,strict) Reading file 'par.f' (format:fix,strict) Reading file 'putxyp.f' (format:fix,strict) Reading file 'par.f' (format:fix,strict) Reading file 'rdiscr.f' (format:fix,strict) Reading file 'par.f' (format:fix,strict) Post-processing... Block: readBlaFortran Block: readbla Block: putxyp Block: rdiscr Post-processing (stage 2)... Building modules... Building module "readBlaFortran"... Constructing wrapper function "readbla"... ur,re,xl,zl,t,xs,dstar,fltype,bparams = readbla(blafile,m,header) Constructing wrapper function "putxyp"... putxyp(pln,z,i,ur) Constructing wrapper function "rdiscr"... rdiscr(ur,re,xl,zl,t,xs,dstar,fltype,bparams,namnin,m,pln,urx,header) Wrote C/API module "readBlaFortran" to file "/tmp/tmpRerO2Q/src.linux-x86_64-2.6/readBlaFortranmodule.c" adding '/tmp/tmpRerO2Q/src.linux-x86_64-2.6/fortranobject.c' to sources. adding '/tmp/tmpRerO2Q/src.linux-x86_64-2.6' to include_dirs. copying /work/01225/bbelson/local/lib/python2.6/site-packages/numpy/f2py/src/fortranobject.c -> /tmp/tmpRerO2Q/src.linux-x86_64-2.6 copying /work/01225/bbelson/local/lib/python2.6/site-packages/numpy/f2py/src/fortranobject.h -> /tmp/tmpRerO2Q/src.linux-x86_64-2.6 running build_ext customize UnixCCompiler customize UnixCCompiler using build_ext don't know how to compile Fortran code on platform 'posix' with 'intelem' compiler. Supported compilers are: ) warning: build_ext: f77_compiler=intelem is not available. building 'readBlaFortran' extension error: extension 'readBlaFortran' has Fortran sources but no Fortran compiler found It seems that it's not recognizing any fortran compilers. I've tried specifying the path to ifort and changing the vendor name to intel and ifort, but none changed the result. Does anyone know a possible cause for this? Thank you -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthew.brett at gmail.com Tue Jun 1 14:09:39 2010 From: matthew.brett at gmail.com (Matthew Brett) Date: Tue, 1 Jun 2010 11:09:39 -0700 Subject: [Numpy-discussion] Technicalities of the SVN -> GIT transition In-Reply-To: <4C04D01A.7060108@silveregg.co.jp> References: <4C04D01A.7060108@silveregg.co.jp> Message-ID: Hi, >> I don't think correcting the email addresses in the SVN history is very >> useful. Best probably just use some dummy form, maybe > > That's what svn2git already does, so that would be less work for me :) > It may not matter much, but I think there is at least one argument for > having real emails: to avoid having duplicate committers (i.e. pvirtanen > is the same committer before and after the git transition). But this is > only significant for current committers. It seems right to try and keep the commit author the same for pre and post SVN commits if possible. Maybe you could put up a list of those people whose emails you need to scrape (obviously without the email addresses) and ask for opt-out? Or opt-in if you think that's better? Thanks for looking into this. Matthew From friedrichromstedt at gmail.com Tue Jun 1 14:28:19 2010 From: friedrichromstedt at gmail.com (Friedrich Romstedt) Date: Tue, 1 Jun 2010 20:28:19 +0200 Subject: [Numpy-discussion] Finding Star Images on a Photo (Video chip) Plate? In-Reply-To: <4C029B47.2040005@sbcglobal.net> References: <4C005591.1060900@sbcglobal.net> <4C008326.3060404@sbcglobal.net> <4C015D24.30905@sbcglobal.net> <4C029B47.2040005@sbcglobal.net> Message-ID: One can also try to use photometry software like Daophot, it uses MIDAS by ESO http://www.eso.org/sci/data-processing/software/esomidas// , which everyone can download. It seems that Daophot http://www.star.bris.ac.uk/~mbt/daophot/ isn't for free :-(, I never cared, since it's installed on our institute's computers .... Here is first a *very* introductory (german-language) page I used that time: http://members.galev.org/rkotulla/mrmiller-stepbystep-daophot.php If you want to know every gory detail about Daophot, http://www.astro.wisc.edu/sirtf/daophot2.pdf is a good point to start. It's the reference docu by the author if I'm not mistaken. I can give some little advice with using Daophot and MIDAS if you want to. My knowledge is that gained by a conscientous project in studies during several monthes, where I analysed an open star cluster. (With cosmic rejection etc. pp. blah blah) I would not recommend using a DIY approach, since the thing is in my opinion quite cumbersome. An approach used by Daophot to reject artifacts is to calculate sharpness and roundedness parameters, see the Daophot docu above for reference how it works. Friedrich From mat.yeates at gmail.com Tue Jun 1 16:07:58 2010 From: mat.yeates at gmail.com (Mathew Yeates) Date: Tue, 1 Jun 2010 13:07:58 -0700 Subject: [Numpy-discussion] 2D binning Message-ID: Hi Can anyone think of a clever (non-lopping) solution to the following? A have a list of latitudes, a list of longitudes, and list of data values. All lists are the same length. I want to compute an average of data values for each lat/lon pair. e.g. if lat[1001] lon[1001] = lat[2001] [lon [2001] then data[1001] = (data[1001] + data[2001])/2 Looping is going to take wayyyy to long. Mathew -------------- next part -------------- An HTML attachment was scrubbed... URL: From kwgoodman at gmail.com Tue Jun 1 16:22:33 2010 From: kwgoodman at gmail.com (Keith Goodman) Date: Tue, 1 Jun 2010 13:22:33 -0700 Subject: [Numpy-discussion] 2D binning In-Reply-To: References: Message-ID: On Tue, Jun 1, 2010 at 1:07 PM, Mathew Yeates wrote: > Hi > Can anyone think of a clever (non-lopping) solution to the following? > A have a list of latitudes, a list of longitudes, and list of data values. > All lists are the same length. > I want to compute an average ?of data values for each lat/lon pair. e.g. if > lat[1001] lon[1001] = lat[2001] [lon [2001] then > data[1001] = (data[1001] + data[2001])/2 > Looping is going to take wayyyy to long. Looping N and searching in N would be O(N^2). But would it be too long just to loop, so O(N)? If you need to find all averages you could try something like this: from collections import defaultdict def aggdict(x): "Convert [(1, 'a'), (2, 'b'), (1, 'A')] to {1: ['a', 'A'], 2: ['b']}." d = defaultdict(list) for k, v in x: d[k].append(v) return dict(d) From zachary.pincus at yale.edu Tue Jun 1 16:49:16 2010 From: zachary.pincus at yale.edu (Zachary Pincus) Date: Tue, 1 Jun 2010 16:49:16 -0400 Subject: [Numpy-discussion] 2D binning In-Reply-To: References: Message-ID: > Hi > Can anyone think of a clever (non-lopping) solution to the following? > > A have a list of latitudes, a list of longitudes, and list of data > values. All lists are the same length. > > I want to compute an average of data values for each lat/lon pair. > e.g. if lat[1001] lon[1001] = lat[2001] [lon [2001] then > data[1001] = (data[1001] + data[2001])/2 > > Looping is going to take wayyyy to long. As a start, are the "equal" lat/lon pairs exactly equal (i.e. either not floating-point, or floats that will always compare equal, that is, the floating-point bit-patterns will be guaranteed to be identical) or approximately equal to float tolerance? If you're in the approx-equal case, then look at the KD-tree in scipy for doing near-neighbors queries. If you're in the exact-equal case, you could consider hashing the lat/ lon pairs or something. At least then the looping is O(N) and not O(N^2): import collections grouped = collections.defaultdict(list) for lt, ln, da in zip(lat, lon, data): grouped[(lt, ln)].append(da) averaged = dict((ltln, numpy.mean(da)) for ltln, da in grouped.items()) Is that fast enough? Zach From wesmckinn at gmail.com Tue Jun 1 16:51:32 2010 From: wesmckinn at gmail.com (Wes McKinney) Date: Tue, 1 Jun 2010 16:51:32 -0400 Subject: [Numpy-discussion] 2D binning In-Reply-To: References: Message-ID: On Tue, Jun 1, 2010 at 4:49 PM, Zachary Pincus wrote: >> Hi >> Can anyone think of a clever (non-lopping) solution to the following? >> >> A have a list of latitudes, a list of longitudes, and list of data >> values. All lists are the same length. >> >> I want to compute an average ?of data values for each lat/lon pair. >> e.g. if lat[1001] lon[1001] = lat[2001] [lon [2001] then >> data[1001] = (data[1001] + data[2001])/2 >> >> Looping is going to take wayyyy to long. > > As a start, are the "equal" lat/lon pairs exactly equal (i.e. either > not floating-point, or floats that will always compare equal, that is, > the floating-point bit-patterns will be guaranteed to be identical) or > approximately equal to float tolerance? > > If you're in the approx-equal case, then look at the KD-tree in scipy > for doing near-neighbors queries. > > If you're in the exact-equal case, you could consider hashing the lat/ > lon pairs or something. At least then the looping is O(N) and not > O(N^2): > > import collections > grouped = collections.defaultdict(list) > for lt, ln, da in zip(lat, lon, data): > ? grouped[(lt, ln)].append(da) > > averaged = dict((ltln, numpy.mean(da)) for ltln, da in grouped.items()) > > Is that fast enough? > > Zach > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > This is a pretty good example of the "group-by" problem that will hopefully work its way into a future edition of NumPy. Given that, a good approach would be to produce a unique key from the lat and lon vectors, and pass that off to the groupby routine (when it exists). From mat.yeates at gmail.com Tue Jun 1 18:43:02 2010 From: mat.yeates at gmail.com (Mathew Yeates) Date: Tue, 1 Jun 2010 15:43:02 -0700 Subject: [Numpy-discussion] 2D binning In-Reply-To: References: Message-ID: I guess it's as fast as I'm going to get. I don't really see any other way. BTW, the lat/lons are integers) -Mathew On Tue, Jun 1, 2010 at 1:49 PM, Zachary Pincus wrote: > > Hi > > Can anyone think of a clever (non-lopping) solution to the following? > > > > A have a list of latitudes, a list of longitudes, and list of data > > values. All lists are the same length. > > > > I want to compute an average of data values for each lat/lon pair. > > e.g. if lat[1001] lon[1001] = lat[2001] [lon [2001] then > > data[1001] = (data[1001] + data[2001])/2 > > > > Looping is going to take wayyyy to long. > > As a start, are the "equal" lat/lon pairs exactly equal (i.e. either > not floating-point, or floats that will always compare equal, that is, > the floating-point bit-patterns will be guaranteed to be identical) or > approximately equal to float tolerance? > > If you're in the approx-equal case, then look at the KD-tree in scipy > for doing near-neighbors queries. > > If you're in the exact-equal case, you could consider hashing the lat/ > lon pairs or something. At least then the looping is O(N) and not > O(N^2): > > import collections > grouped = collections.defaultdict(list) > for lt, ln, da in zip(lat, lon, data): > grouped[(lt, ln)].append(da) > > averaged = dict((ltln, numpy.mean(da)) for ltln, da in grouped.items()) > > Is that fast enough? > > Zach > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From zachary.pincus at yale.edu Tue Jun 1 21:57:35 2010 From: zachary.pincus at yale.edu (Zachary Pincus) Date: Tue, 1 Jun 2010 21:57:35 -0400 Subject: [Numpy-discussion] 2D binning In-Reply-To: References: Message-ID: <52C04D76-ED22-42F0-8B1B-04ED434207E8@yale.edu> > I guess it's as fast as I'm going to get. I don't really see any > other way. BTW, the lat/lons are integers) You could (in c or cython) try a brain-dead "hashtable" with no collision detection: for lat, long, data in dataset: bin = (lat ^ long) % num_bins hashtable[bin] = update_incremental_mean(hashtable[bin], data) you'll of course want to do some experiments to see if your data are sufficiently sparse and/or you can afford a large enough hashtable array that you won't get spurious hash collisions. Adding error- checking to ensure that there are no collisions would be pretty trivial (just keep a table of the lat/long for each hash value, which you'll need anyway, and check that different lat/long pairs don't get assigned the same bin). Zach > -Mathew > > On Tue, Jun 1, 2010 at 1:49 PM, Zachary Pincus > wrote: > > Hi > > Can anyone think of a clever (non-lopping) solution to the > following? > > > > A have a list of latitudes, a list of longitudes, and list of data > > values. All lists are the same length. > > > > I want to compute an average of data values for each lat/lon pair. > > e.g. if lat[1001] lon[1001] = lat[2001] [lon [2001] then > > data[1001] = (data[1001] + data[2001])/2 > > > > Looping is going to take wayyyy to long. > > As a start, are the "equal" lat/lon pairs exactly equal (i.e. either > not floating-point, or floats that will always compare equal, that is, > the floating-point bit-patterns will be guaranteed to be identical) or > approximately equal to float tolerance? > > If you're in the approx-equal case, then look at the KD-tree in scipy > for doing near-neighbors queries. > > If you're in the exact-equal case, you could consider hashing the lat/ > lon pairs or something. At least then the looping is O(N) and not > O(N^2): > > import collections > grouped = collections.defaultdict(list) > for lt, ln, da in zip(lat, lon, data): > grouped[(lt, ln)].append(da) > > averaged = dict((ltln, numpy.mean(da)) for ltln, da in > grouped.items()) > > Is that fast enough? > > Zach > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion From josef.pktd at gmail.com Tue Jun 1 22:52:34 2010 From: josef.pktd at gmail.com (josef.pktd at gmail.com) Date: Tue, 1 Jun 2010 22:52:34 -0400 Subject: [Numpy-discussion] 2D binning In-Reply-To: <52C04D76-ED22-42F0-8B1B-04ED434207E8@yale.edu> References: <52C04D76-ED22-42F0-8B1B-04ED434207E8@yale.edu> Message-ID: On Tue, Jun 1, 2010 at 9:57 PM, Zachary Pincus wrote: >> I guess it's as fast as I'm going to get. I don't really see any >> other way. BTW, the lat/lons are integers) > > You could (in c or cython) try a brain-dead "hashtable" with no > collision detection: > > for lat, long, data in dataset: > ? bin = (lat ^ long) % num_bins > ? hashtable[bin] = update_incremental_mean(hashtable[bin], data) > > you'll of course want to do some experiments to see if your data are > sufficiently sparse and/or you can afford a large enough hashtable > array that you won't get spurious hash collisions. Adding error- > checking to ensure that there are no collisions would be pretty > trivial (just keep a table of the lat/long for each hash value, which > you'll need anyway, and check that different lat/long pairs don't get > assigned the same bin). > > Zach > > > >> -Mathew >> >> On Tue, Jun 1, 2010 at 1:49 PM, Zachary Pincus > > wrote: >> > Hi >> > Can anyone think of a clever (non-lopping) solution to the >> following? >> > >> > A have a list of latitudes, a list of longitudes, and list of data >> > values. All lists are the same length. >> > >> > I want to compute an average ?of data values for each lat/lon pair. >> > e.g. if lat[1001] lon[1001] = lat[2001] [lon [2001] then >> > data[1001] = (data[1001] + data[2001])/2 >> > >> > Looping is going to take wayyyy to long. >> >> As a start, are the "equal" lat/lon pairs exactly equal (i.e. either >> not floating-point, or floats that will always compare equal, that is, >> the floating-point bit-patterns will be guaranteed to be identical) or >> approximately equal to float tolerance? >> >> If you're in the approx-equal case, then look at the KD-tree in scipy >> for doing near-neighbors queries. >> >> If you're in the exact-equal case, you could consider hashing the lat/ >> lon pairs or something. At least then the looping is O(N) and not >> O(N^2): >> >> import collections >> grouped = collections.defaultdict(list) >> for lt, ln, da in zip(lat, lon, data): >> ? grouped[(lt, ln)].append(da) >> >> averaged = dict((ltln, numpy.mean(da)) for ltln, da in >> grouped.items()) >> >> Is that fast enough? If the lat lon can be converted to a 1d label as Wes suggested, then in a similar timing exercise ndimage was the fastest. http://mail.scipy.org/pipermail/scipy-user/2009-February/019850.html (this was for python 2.4, also later I found np.bincount which requires that the labels are consecutive integers, but is as fast as ndimage) I don't know how it would compare to the new suggestions. Josef >> >> Zach >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From sierra_mtnview at sbcglobal.net Tue Jun 1 23:33:18 2010 From: sierra_mtnview at sbcglobal.net (Wayne Watson) Date: Tue, 01 Jun 2010 20:33:18 -0700 Subject: [Numpy-discussion] Numerical Recipes (for Python)? Message-ID: <4C05D0FE.7010300@sbcglobal.net> Subject is a book title from some many years ago, I wonder if it ever got to Python? I know there were C and Fortran versions. -- Wayne Watson (Watson Adventures, Prop., Nevada City, CA) (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) Obz Site: 39? 15' 7" N, 121? 2' 32" W, 2700 feet "Science and democracy are based on the rejection "of dogma." -- Dick Taverne, The March of Unreason Web Page: From sierra_mtnview at sbcglobal.net Tue Jun 1 23:44:03 2010 From: sierra_mtnview at sbcglobal.net (Wayne Watson) Date: Tue, 01 Jun 2010 20:44:03 -0700 Subject: [Numpy-discussion] Finding Star Images on a Photo (Video chip) Plate? In-Reply-To: References: <4C005591.1060900@sbcglobal.net> <4C008326.3060404@sbcglobal.net> <4C015D24.30905@sbcglobal.net> <4C029B47.2040005@sbcglobal.net> Message-ID: <4C05D383.2020100@sbcglobal.net> Thanks for the info. By, DIY I mean borrowing only what seems necessary to get started. For example the FORTRAN code that I mentioned, I suppose the opposite of this is trying to understand what's going on by trying to learn some library of functions that go far beyond my needs. Sort of just getting down to a basic approach rather than trying to encompass large amounts of info on a subject. It's sort of like learning to ride a tricycle before learning to ride a bicycle. On 6/1/2010 11:28 AM, Friedrich Romstedt wrote: > One can also try to use photometry software like Daophot, it uses > MIDAS by ESO http://www.eso.org/sci/data-processing/software/esomidas// > , which everyone can download. > > It seems that Daophot http://www.star.bris.ac.uk/~mbt/daophot/ isn't > for free :-(, I never cared, since it's installed on our institute's > computers .... > > Here is first a *very* introductory (german-language) page I used that time: > http://members.galev.org/rkotulla/mrmiller-stepbystep-daophot.php > > If you want to know every gory detail about Daophot, > http://www.astro.wisc.edu/sirtf/daophot2.pdf is a good point to start. > It's the reference docu by the author if I'm not mistaken. > > I can give some little advice with using Daophot and MIDAS if you want > to. My knowledge is that gained by a conscientous project in studies > during several monthes, where I analysed an open star cluster. (With > cosmic rejection etc. pp. blah blah) > > I would not recommend using a DIY approach, since the thing is in my > opinion quite cumbersome. > > An approach used by Daophot to reject artifacts is to calculate > sharpness and roundedness parameters, see the Daophot docu above for > reference how it works. > > Friedrich > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > -- Wayne Watson (Watson Adventures, Prop., Nevada City, CA) (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) Obz Site: 39? 15' 7" N, 121? 2' 32" W, 2700 feet "Science and democracy are based on the rejection "of dogma." -- Dick Taverne, The March of Unreason Web Page: From aarchiba at physics.mcgill.ca Wed Jun 2 00:04:26 2010 From: aarchiba at physics.mcgill.ca (Anne Archibald) Date: Wed, 2 Jun 2010 01:04:26 -0300 Subject: [Numpy-discussion] Numerical Recipes (for Python)? In-Reply-To: <4C05D0FE.7010300@sbcglobal.net> References: <4C05D0FE.7010300@sbcglobal.net> Message-ID: On 2 June 2010 00:33, Wayne Watson wrote: > Subject is a book title from some many years ago, I wonder if it ever > got to Python? I know there were C and Fortran versions. There is no Numerical Recipes for python. The main reason there isn't a NR for python is that practically everything they discuss is already implemented as python libraries, and most of it is in numpy and/or scipy. (Their algorithms are also not suitable for pure-python implementation, but that's a whole other discussion.) I should also say that while NR is justifiably famous for its explanations of numerical issues, its code is not under a free license (so you may not use it without the authors' permission) and many people feel it has many bugs. The algorithms they discuss are also not always the best available. I generally recommend that people doing scientific programming read all or part of NR to understand the algorithms' limitations but then use the implementations available in numpy/scipy/scikits/IRAF/whatever. Anne > -- > ? ? ? ? ? ?Wayne Watson (Watson Adventures, Prop., Nevada City, CA) > > ? ? ? ? ? ? ?(121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) > ? ? ? ? ? ? ? Obz Site: ?39? 15' 7" N, 121? 2' 32" W, 2700 feet > > ? ? ? ? ? ? ? ?"Science and democracy are based on the rejection > ? ? ? ? ? ? ? ?"of dogma." ?-- Dick Taverne, The March of Unreason > > > ? ? ? ? ? ? ? ? ? ? Web Page: > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From bpederse at gmail.com Wed Jun 2 01:15:39 2010 From: bpederse at gmail.com (Brent Pedersen) Date: Tue, 1 Jun 2010 22:15:39 -0700 Subject: [Numpy-discussion] 2D binning In-Reply-To: References: Message-ID: On Tue, Jun 1, 2010 at 1:51 PM, Wes McKinney wrote: > On Tue, Jun 1, 2010 at 4:49 PM, Zachary Pincus wrote: >>> Hi >>> Can anyone think of a clever (non-lopping) solution to the following? >>> >>> A have a list of latitudes, a list of longitudes, and list of data >>> values. All lists are the same length. >>> >>> I want to compute an average ?of data values for each lat/lon pair. >>> e.g. if lat[1001] lon[1001] = lat[2001] [lon [2001] then >>> data[1001] = (data[1001] + data[2001])/2 >>> >>> Looping is going to take wayyyy to long. >> >> As a start, are the "equal" lat/lon pairs exactly equal (i.e. either >> not floating-point, or floats that will always compare equal, that is, >> the floating-point bit-patterns will be guaranteed to be identical) or >> approximately equal to float tolerance? >> >> If you're in the approx-equal case, then look at the KD-tree in scipy >> for doing near-neighbors queries. >> >> If you're in the exact-equal case, you could consider hashing the lat/ >> lon pairs or something. At least then the looping is O(N) and not >> O(N^2): >> >> import collections >> grouped = collections.defaultdict(list) >> for lt, ln, da in zip(lat, lon, data): >> ? grouped[(lt, ln)].append(da) >> >> averaged = dict((ltln, numpy.mean(da)) for ltln, da in grouped.items()) >> >> Is that fast enough? >> >> Zach >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > > This is a pretty good example of the "group-by" problem that will > hopefully work its way into a future edition of NumPy. Given that, a > good approach would be to produce a unique key from the lat and lon > vectors, and pass that off to the groupby routine (when it exists). > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > meanwhile groupby from itertools will work but might be a bit slower since it'll have to convert every row to tuple and group in a list. import numpy as np import itertools # fake data N = 10000 lats = np.repeat(180 * (np.random.ranf(N/ 250) - 0.5), 250) lons = np.repeat(360 * (np.random.ranf(N/ 250) - 0.5), 250) np.random.shuffle(lats) np.random.shuffle(lons) vals = np.arange(N) ##################################### inds = np.lexsort((lons, lats)) sorted_lats = lats[inds] sorted_lons = lons[inds] sorted_vals = vals[inds] llv = np.array((sorted_lats, sorted_lons, sorted_vals)).T for (lat, lon), group in itertools.groupby(llv, lambda row: tuple(row[:2])): group_vals = [g[-1] for g in group] print lat, lon, np.mean(group_vals) # make sure the mean for the last lat/lon from the loop matches the mean # for that lat/lon from original data. tests_idx, = np.where((lats == lat) & (lons == lon)) assert np.mean(vals[tests_idx]) == np.mean(group_vals) From schut at sarvision.nl Wed Jun 2 03:41:06 2010 From: schut at sarvision.nl (Vincent Schut) Date: Wed, 02 Jun 2010 09:41:06 +0200 Subject: [Numpy-discussion] 2D binning In-Reply-To: References: <52C04D76-ED22-42F0-8B1B-04ED434207E8@yale.edu> Message-ID: On 06/02/2010 04:52 AM, josef.pktd at gmail.com wrote: > On Tue, Jun 1, 2010 at 9:57 PM, Zachary Pincus wrote: >>> I guess it's as fast as I'm going to get. I don't really see any >>> other way. BTW, the lat/lons are integers) >> >> You could (in c or cython) try a brain-dead "hashtable" with no >> collision detection: >> >> for lat, long, data in dataset: >> bin = (lat ^ long) % num_bins >> hashtable[bin] = update_incremental_mean(hashtable[bin], data) >> >> you'll of course want to do some experiments to see if your data are >> sufficiently sparse and/or you can afford a large enough hashtable >> array that you won't get spurious hash collisions. Adding error- >> checking to ensure that there are no collisions would be pretty >> trivial (just keep a table of the lat/long for each hash value, which >> you'll need anyway, and check that different lat/long pairs don't get >> assigned the same bin). >> >> Zach >> >> >> >>> -Mathew >>> >>> On Tue, Jun 1, 2010 at 1:49 PM, Zachary Pincus>>> wrote: >>>> Hi >>>> Can anyone think of a clever (non-lopping) solution to the >>> following? >>>> >>>> A have a list of latitudes, a list of longitudes, and list of data >>>> values. All lists are the same length. >>>> >>>> I want to compute an average of data values for each lat/lon pair. >>>> e.g. if lat[1001] lon[1001] = lat[2001] [lon [2001] then >>>> data[1001] = (data[1001] + data[2001])/2 >>>> >>>> Looping is going to take wayyyy to long. >>> >>> As a start, are the "equal" lat/lon pairs exactly equal (i.e. either >>> not floating-point, or floats that will always compare equal, that is, >>> the floating-point bit-patterns will be guaranteed to be identical) or >>> approximately equal to float tolerance? >>> >>> If you're in the approx-equal case, then look at the KD-tree in scipy >>> for doing near-neighbors queries. >>> >>> If you're in the exact-equal case, you could consider hashing the lat/ >>> lon pairs or something. At least then the looping is O(N) and not >>> O(N^2): >>> >>> import collections >>> grouped = collections.defaultdict(list) >>> for lt, ln, da in zip(lat, lon, data): >>> grouped[(lt, ln)].append(da) >>> >>> averaged = dict((ltln, numpy.mean(da)) for ltln, da in >>> grouped.items()) >>> >>> Is that fast enough? > > If the lat lon can be converted to a 1d label as Wes suggested, then > in a similar timing exercise ndimage was the fastest. > http://mail.scipy.org/pipermail/scipy-user/2009-February/019850.html And as you said your lats and lons are integers, you could simply do ll = lat*1000 + lon to get unique 'hashes' or '1d labels' for you latlon pairs, as a lat or lon will never exceed 360 (degrees). After that, either use the ndimage approach, or you could use histogramming with weighting by data values and divide by histogram withouth weighting, or just loop. Vincent > > (this was for python 2.4, also later I found np.bincount which > requires that the labels are consecutive integers, but is as fast as > ndimage) > > I don't know how it would compare to the new suggestions. > > Josef > > > >>> >>> Zach >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> From cournape at gmail.com Wed Jun 2 05:11:47 2010 From: cournape at gmail.com (David Cournapeau) Date: Wed, 2 Jun 2010 18:11:47 +0900 Subject: [Numpy-discussion] Technicalities of the SVN -> GIT transition In-Reply-To: References: <4C04D01A.7060108@silveregg.co.jp> Message-ID: On Wed, Jun 2, 2010 at 3:09 AM, Matthew Brett wrote: > Maybe you could put up a list of those people whose emails you need to > scrape (obviously without the email addresses) and ask for opt-out? > Or opt-in if you think that's better? So here is the list of authors: abaecker alan.mcintyre ariver cdavid chanley charris chris.barker chris.burns christoph.weidemann cookedm darren.dale dhuard dmorrill edschofield ej eric fperez ilan jarrod.millman jmiller joe jswhit kern madhusudancs martin matthew.brett mdroe nobody oliphant patmiller paul.ivanov pearu peridot pierregm prabhu ptvirtan rc rgommers rkern sasha skip stefan test tim_hochberg timl travis travo wfspotz (for wfspotz and matthew.brett, I removed the email suffix). I guess rkern and kern are the same person, as well as travo/oliphant. cheers, David From ben.root at ou.edu Wed Jun 2 10:42:19 2010 From: ben.root at ou.edu (Benjamin Root) Date: Wed, 2 Jun 2010 09:42:19 -0500 Subject: [Numpy-discussion] 2D binning In-Reply-To: References: <52C04D76-ED22-42F0-8B1B-04ED434207E8@yale.edu> Message-ID: Why not simply use a set? uniquePoints = set(zip(lats, lons)) Ben Root On Wed, Jun 2, 2010 at 2:41 AM, Vincent Schut wrote: > On 06/02/2010 04:52 AM, josef.pktd at gmail.com wrote: > > On Tue, Jun 1, 2010 at 9:57 PM, Zachary Pincus > wrote: > >>> I guess it's as fast as I'm going to get. I don't really see any > >>> other way. BTW, the lat/lons are integers) > >> > >> You could (in c or cython) try a brain-dead "hashtable" with no > >> collision detection: > >> > >> for lat, long, data in dataset: > >> bin = (lat ^ long) % num_bins > >> hashtable[bin] = update_incremental_mean(hashtable[bin], data) > >> > >> you'll of course want to do some experiments to see if your data are > >> sufficiently sparse and/or you can afford a large enough hashtable > >> array that you won't get spurious hash collisions. Adding error- > >> checking to ensure that there are no collisions would be pretty > >> trivial (just keep a table of the lat/long for each hash value, which > >> you'll need anyway, and check that different lat/long pairs don't get > >> assigned the same bin). > >> > >> Zach > >> > >> > >> > >>> -Mathew > >>> > >>> On Tue, Jun 1, 2010 at 1:49 PM, Zachary Pincus >>>> wrote: > >>>> Hi > >>>> Can anyone think of a clever (non-lopping) solution to the > >>> following? > >>>> > >>>> A have a list of latitudes, a list of longitudes, and list of data > >>>> values. All lists are the same length. > >>>> > >>>> I want to compute an average of data values for each lat/lon pair. > >>>> e.g. if lat[1001] lon[1001] = lat[2001] [lon [2001] then > >>>> data[1001] = (data[1001] + data[2001])/2 > >>>> > >>>> Looping is going to take wayyyy to long. > >>> > >>> As a start, are the "equal" lat/lon pairs exactly equal (i.e. either > >>> not floating-point, or floats that will always compare equal, that is, > >>> the floating-point bit-patterns will be guaranteed to be identical) or > >>> approximately equal to float tolerance? > >>> > >>> If you're in the approx-equal case, then look at the KD-tree in scipy > >>> for doing near-neighbors queries. > >>> > >>> If you're in the exact-equal case, you could consider hashing the lat/ > >>> lon pairs or something. At least then the looping is O(N) and not > >>> O(N^2): > >>> > >>> import collections > >>> grouped = collections.defaultdict(list) > >>> for lt, ln, da in zip(lat, lon, data): > >>> grouped[(lt, ln)].append(da) > >>> > >>> averaged = dict((ltln, numpy.mean(da)) for ltln, da in > >>> grouped.items()) > >>> > >>> Is that fast enough? > > > > If the lat lon can be converted to a 1d label as Wes suggested, then > > in a similar timing exercise ndimage was the fastest. > > http://mail.scipy.org/pipermail/scipy-user/2009-February/019850.html > > And as you said your lats and lons are integers, you could simply do > > ll = lat*1000 + lon > > to get unique 'hashes' or '1d labels' for you latlon pairs, as a lat or > lon will never exceed 360 (degrees). > > After that, either use the ndimage approach, or you could use > histogramming with weighting by data values and divide by histogram > withouth weighting, or just loop. > > Vincent > > > > > (this was for python 2.4, also later I found np.bincount which > > requires that the labels are consecutive integers, but is as fast as > > ndimage) > > > > I don't know how it would compare to the new suggestions. > > > > Josef > > > > > > > >>> > >>> Zach > >>> _______________________________________________ > >>> NumPy-Discussion mailing list > >>> NumPy-Discussion at scipy.org > >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion > >>> > >>> _______________________________________________ > >>> NumPy-Discussion mailing list > >>> NumPy-Discussion at scipy.org > >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion > >> > >> _______________________________________________ > >> NumPy-Discussion mailing list > >> NumPy-Discussion at scipy.org > >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > >> > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From lists at hilboll.de Wed Jun 2 11:40:15 2010 From: lists at hilboll.de (Andreas Hilboll) Date: Wed, 2 Jun 2010 17:40:15 +0200 (CEST) Subject: [Numpy-discussion] 2d binning on regular grid Message-ID: <94aac46e601fa4ed432b86859b6bea8b.squirrel@srv2.hilboll.net> Hi there, I'm interested in the solution to a special case of the parallel thread '2D binning', which is going on at the moment. My data is on a fine global grid, say .125x.125 degrees. I'm looking for a way to do calculations on coarser grids, e.g. * calculate means() * calculate std() * ... on a, say, 2.5x3.75 degree grid. One very crude approach would be to iterate through latitudes and longitudes, like this: latstep_orig = .125 lonstep_orig = .125 data_orig = np.arange((180./latstep_orig)*(360./lonstep_orig)).reshape((180./latstep_orig,360./lonstep_orig)) latstep_new = 2.5 lonstep_new = 3.75 latstep = int(latstep_new / latstep_orig) lonstep = int(lonstep_new / lonstep_orig) print 'one new lat equals',latstep,'new lats' print 'one new lon equals',lonstep,'new lons' result = ma.zeros((180./latstep_new,360./lonstep_new)) latidx = 0 while latidx*latstep_new < 180.: lonidx = 0 while lonidx*lonstep_new < 360.: m = np.mean( \ data_orig[latidx*latstep:(latidx+1)*latstep, \ lonidx*lonstep:(lonidx+1)*lonstep]) result[latidx,lonidx] = m lonidx += 1 latidx += 1 However, this is very crude, and I was wondering if there's any more elegant way to do it ... Thanks for your insight! A. From wesmckinn at gmail.com Wed Jun 2 12:40:03 2010 From: wesmckinn at gmail.com (Wes McKinney) Date: Wed, 2 Jun 2010 12:40:03 -0400 Subject: [Numpy-discussion] 2D binning In-Reply-To: References: <52C04D76-ED22-42F0-8B1B-04ED434207E8@yale.edu> Message-ID: On Wed, Jun 2, 2010 at 3:41 AM, Vincent Schut wrote: > On 06/02/2010 04:52 AM, josef.pktd at gmail.com wrote: >> On Tue, Jun 1, 2010 at 9:57 PM, Zachary Pincus ?wrote: >>>> I guess it's as fast as I'm going to get. I don't really see any >>>> other way. BTW, the lat/lons are integers) >>> >>> You could (in c or cython) try a brain-dead "hashtable" with no >>> collision detection: >>> >>> for lat, long, data in dataset: >>> ? ?bin = (lat ^ long) % num_bins >>> ? ?hashtable[bin] = update_incremental_mean(hashtable[bin], data) >>> >>> you'll of course want to do some experiments to see if your data are >>> sufficiently sparse and/or you can afford a large enough hashtable >>> array that you won't get spurious hash collisions. Adding error- >>> checking to ensure that there are no collisions would be pretty >>> trivial (just keep a table of the lat/long for each hash value, which >>> you'll need anyway, and check that different lat/long pairs don't get >>> assigned the same bin). >>> >>> Zach >>> >>> >>> >>>> -Mathew >>>> >>>> On Tue, Jun 1, 2010 at 1:49 PM, Zachary Pincus>>>> wrote: >>>>> Hi >>>>> Can anyone think of a clever (non-lopping) solution to the >>>> following? >>>>> >>>>> A have a list of latitudes, a list of longitudes, and list of data >>>>> values. All lists are the same length. >>>>> >>>>> I want to compute an average ?of data values for each lat/lon pair. >>>>> e.g. if lat[1001] lon[1001] = lat[2001] [lon [2001] then >>>>> data[1001] = (data[1001] + data[2001])/2 >>>>> >>>>> Looping is going to take wayyyy to long. >>>> >>>> As a start, are the "equal" lat/lon pairs exactly equal (i.e. either >>>> not floating-point, or floats that will always compare equal, that is, >>>> the floating-point bit-patterns will be guaranteed to be identical) or >>>> approximately equal to float tolerance? >>>> >>>> If you're in the approx-equal case, then look at the KD-tree in scipy >>>> for doing near-neighbors queries. >>>> >>>> If you're in the exact-equal case, you could consider hashing the lat/ >>>> lon pairs or something. At least then the looping is O(N) and not >>>> O(N^2): >>>> >>>> import collections >>>> grouped = collections.defaultdict(list) >>>> for lt, ln, da in zip(lat, lon, data): >>>> ? ?grouped[(lt, ln)].append(da) >>>> >>>> averaged = dict((ltln, numpy.mean(da)) for ltln, da in >>>> grouped.items()) >>>> >>>> Is that fast enough? >> >> If the lat lon can be converted to a 1d label as Wes suggested, then >> in a similar timing exercise ndimage was the fastest. >> http://mail.scipy.org/pipermail/scipy-user/2009-February/019850.html > > And as you said your lats and lons are integers, you could simply do > > ll = lat*1000 + lon > > to get unique 'hashes' or '1d labels' for you latlon pairs, as a lat or > lon will never exceed 360 (degrees). > > After that, either use the ndimage approach, or you could use > histogramming with weighting by data values and divide by histogram > withouth weighting, or just loop. > > Vincent > >> >> (this was for python 2.4, also later I found np.bincount which >> requires that the labels are consecutive integers, but is as fast as >> ndimage) >> >> I don't know how it would compare to the new suggestions. >> >> Josef >> >> >> >>>> >>>> Zach >>>> _______________________________________________ >>>> NumPy-Discussion mailing list >>>> NumPy-Discussion at scipy.org >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>>> >>>> _______________________________________________ >>>> NumPy-Discussion mailing list >>>> NumPy-Discussion at scipy.org >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > I was curious about how fast ndimage was for this operation so here's the complete function. import scipy.ndimage as ndi N = 10000 lat = np.random.randint(0, 360, N) lon = np.random.randint(0, 360, N) data = np.random.randn(N) def group_mean(lat, lon, data): indexer = np.lexsort((lon, lat)) lat = lat.take(indexer) lon = lon.take(indexer) sorted_data = data.take(indexer) keys = 1000 * lat + lon unique_keys = np.unique(keys) result = ndi.mean(sorted_data, labels=keys, index=unique_keys) decoder = keys.searchsorted(unique_keys) return dict(zip(zip(lat.take(decoder), lon.take(decoder)), result)) Appears to be about 13x faster (and could be made faster still) than the naive version on my machine: def group_mean_naive(lat, lon, data): grouped = collections.defaultdict(list) for lt, ln, da in zip(lat, lon, data): grouped[(lt, ln)].append(da) averaged = dict((ltln, np.mean(da)) for ltln, da in grouped.items()) return averaged I had to get the latest scipy trunk to not get an error from ndimage.mean From matthew.brett at gmail.com Wed Jun 2 13:08:36 2010 From: matthew.brett at gmail.com (Matthew Brett) Date: Wed, 2 Jun 2010 10:08:36 -0700 Subject: [Numpy-discussion] Technicalities of the SVN -> GIT transition In-Reply-To: References: <4C04D01A.7060108@silveregg.co.jp> Message-ID: Hi. >> Maybe you could put up a list of those people whose emails you need to >> scrape (obviously without the email addresses) and ask for opt-out? >> Or opt-in if you think that's better? > > So here is the list of authors: Do y'all think opt-in? Or opt-out? If it's opt-in I guess you'll catch most of the current committers, and most of the others you'll lose, but maybe that's good enough. See you, Matthew From mat.yeates at gmail.com Wed Jun 2 13:23:29 2010 From: mat.yeates at gmail.com (Mathew Yeates) Date: Wed, 2 Jun 2010 10:23:29 -0700 Subject: [Numpy-discussion] 2D binning In-Reply-To: References: <52C04D76-ED22-42F0-8B1B-04ED434207E8@yale.edu> Message-ID: thanks. I am also getting an error in ndi.mean Were you getting the error "RuntimeError: data type not supported"? -Mathew On Wed, Jun 2, 2010 at 9:40 AM, Wes McKinney wrote: > On Wed, Jun 2, 2010 at 3:41 AM, Vincent Schut wrote: > > On 06/02/2010 04:52 AM, josef.pktd at gmail.com wrote: > >> On Tue, Jun 1, 2010 at 9:57 PM, Zachary Pincus > wrote: > >>>> I guess it's as fast as I'm going to get. I don't really see any > >>>> other way. BTW, the lat/lons are integers) > >>> > >>> You could (in c or cython) try a brain-dead "hashtable" with no > >>> collision detection: > >>> > >>> for lat, long, data in dataset: > >>> bin = (lat ^ long) % num_bins > >>> hashtable[bin] = update_incremental_mean(hashtable[bin], data) > >>> > >>> you'll of course want to do some experiments to see if your data are > >>> sufficiently sparse and/or you can afford a large enough hashtable > >>> array that you won't get spurious hash collisions. Adding error- > >>> checking to ensure that there are no collisions would be pretty > >>> trivial (just keep a table of the lat/long for each hash value, which > >>> you'll need anyway, and check that different lat/long pairs don't get > >>> assigned the same bin). > >>> > >>> Zach > >>> > >>> > >>> > >>>> -Mathew > >>>> > >>>> On Tue, Jun 1, 2010 at 1:49 PM, Zachary Pincus< > zachary.pincus at yale.edu > >>>>> wrote: > >>>>> Hi > >>>>> Can anyone think of a clever (non-lopping) solution to the > >>>> following? > >>>>> > >>>>> A have a list of latitudes, a list of longitudes, and list of data > >>>>> values. All lists are the same length. > >>>>> > >>>>> I want to compute an average of data values for each lat/lon pair. > >>>>> e.g. if lat[1001] lon[1001] = lat[2001] [lon [2001] then > >>>>> data[1001] = (data[1001] + data[2001])/2 > >>>>> > >>>>> Looping is going to take wayyyy to long. > >>>> > >>>> As a start, are the "equal" lat/lon pairs exactly equal (i.e. either > >>>> not floating-point, or floats that will always compare equal, that is, > >>>> the floating-point bit-patterns will be guaranteed to be identical) or > >>>> approximately equal to float tolerance? > >>>> > >>>> If you're in the approx-equal case, then look at the KD-tree in scipy > >>>> for doing near-neighbors queries. > >>>> > >>>> If you're in the exact-equal case, you could consider hashing the lat/ > >>>> lon pairs or something. At least then the looping is O(N) and not > >>>> O(N^2): > >>>> > >>>> import collections > >>>> grouped = collections.defaultdict(list) > >>>> for lt, ln, da in zip(lat, lon, data): > >>>> grouped[(lt, ln)].append(da) > >>>> > >>>> averaged = dict((ltln, numpy.mean(da)) for ltln, da in > >>>> grouped.items()) > >>>> > >>>> Is that fast enough? > >> > >> If the lat lon can be converted to a 1d label as Wes suggested, then > >> in a similar timing exercise ndimage was the fastest. > >> http://mail.scipy.org/pipermail/scipy-user/2009-February/019850.html > > > > And as you said your lats and lons are integers, you could simply do > > > > ll = lat*1000 + lon > > > > to get unique 'hashes' or '1d labels' for you latlon pairs, as a lat or > > lon will never exceed 360 (degrees). > > > > After that, either use the ndimage approach, or you could use > > histogramming with weighting by data values and divide by histogram > > withouth weighting, or just loop. > > > > Vincent > > > >> > >> (this was for python 2.4, also later I found np.bincount which > >> requires that the labels are consecutive integers, but is as fast as > >> ndimage) > >> > >> I don't know how it would compare to the new suggestions. > >> > >> Josef > >> > >> > >> > >>>> > >>>> Zach > >>>> _______________________________________________ > >>>> NumPy-Discussion mailing list > >>>> NumPy-Discussion at scipy.org > >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion > >>>> > >>>> _______________________________________________ > >>>> NumPy-Discussion mailing list > >>>> NumPy-Discussion at scipy.org > >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion > >>> > >>> _______________________________________________ > >>> NumPy-Discussion mailing list > >>> NumPy-Discussion at scipy.org > >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion > >>> > > > > _______________________________________________ > > NumPy-Discussion mailing list > > NumPy-Discussion at scipy.org > > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > > I was curious about how fast ndimage was for this operation so here's > the complete function. > > import scipy.ndimage as ndi > > N = 10000 > > lat = np.random.randint(0, 360, N) > lon = np.random.randint(0, 360, N) > data = np.random.randn(N) > > def group_mean(lat, lon, data): > indexer = np.lexsort((lon, lat)) > lat = lat.take(indexer) > lon = lon.take(indexer) > sorted_data = data.take(indexer) > > keys = 1000 * lat + lon > unique_keys = np.unique(keys) > > result = ndi.mean(sorted_data, labels=keys, index=unique_keys) > decoder = keys.searchsorted(unique_keys) > > return dict(zip(zip(lat.take(decoder), lon.take(decoder)), result)) > > Appears to be about 13x faster (and could be made faster still) than > the naive version on my machine: > > def group_mean_naive(lat, lon, data): > grouped = collections.defaultdict(list) > for lt, ln, da in zip(lat, lon, data): > grouped[(lt, ln)].append(da) > > averaged = dict((ltln, np.mean(da)) for ltln, da in grouped.items()) > > return averaged > > I had to get the latest scipy trunk to not get an error from ndimage.mean > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wesmckinn at gmail.com Wed Jun 2 13:45:58 2010 From: wesmckinn at gmail.com (Wes McKinney) Date: Wed, 2 Jun 2010 13:45:58 -0400 Subject: [Numpy-discussion] 2D binning In-Reply-To: References: <52C04D76-ED22-42F0-8B1B-04ED434207E8@yale.edu> Message-ID: On Wed, Jun 2, 2010 at 1:23 PM, Mathew Yeates wrote: > thanks. I am also getting an error in ndi.mean > Were you getting the error > "RuntimeError: data type not supported"? > > -Mathew > > On Wed, Jun 2, 2010 at 9:40 AM, Wes McKinney wrote: >> >> On Wed, Jun 2, 2010 at 3:41 AM, Vincent Schut wrote: >> > On 06/02/2010 04:52 AM, josef.pktd at gmail.com wrote: >> >> On Tue, Jun 1, 2010 at 9:57 PM, Zachary Pincus >> >> ?wrote: >> >>>> I guess it's as fast as I'm going to get. I don't really see any >> >>>> other way. BTW, the lat/lons are integers) >> >>> >> >>> You could (in c or cython) try a brain-dead "hashtable" with no >> >>> collision detection: >> >>> >> >>> for lat, long, data in dataset: >> >>> ? ?bin = (lat ^ long) % num_bins >> >>> ? ?hashtable[bin] = update_incremental_mean(hashtable[bin], data) >> >>> >> >>> you'll of course want to do some experiments to see if your data are >> >>> sufficiently sparse and/or you can afford a large enough hashtable >> >>> array that you won't get spurious hash collisions. Adding error- >> >>> checking to ensure that there are no collisions would be pretty >> >>> trivial (just keep a table of the lat/long for each hash value, which >> >>> you'll need anyway, and check that different lat/long pairs don't get >> >>> assigned the same bin). >> >>> >> >>> Zach >> >>> >> >>> >> >>> >> >>>> -Mathew >> >>>> >> >>>> On Tue, Jun 1, 2010 at 1:49 PM, Zachary >> >>>> Pincus> >>>>> wrote: >> >>>>> Hi >> >>>>> Can anyone think of a clever (non-lopping) solution to the >> >>>> following? >> >>>>> >> >>>>> A have a list of latitudes, a list of longitudes, and list of data >> >>>>> values. All lists are the same length. >> >>>>> >> >>>>> I want to compute an average ?of data values for each lat/lon pair. >> >>>>> e.g. if lat[1001] lon[1001] = lat[2001] [lon [2001] then >> >>>>> data[1001] = (data[1001] + data[2001])/2 >> >>>>> >> >>>>> Looping is going to take wayyyy to long. >> >>>> >> >>>> As a start, are the "equal" lat/lon pairs exactly equal (i.e. either >> >>>> not floating-point, or floats that will always compare equal, that >> >>>> is, >> >>>> the floating-point bit-patterns will be guaranteed to be identical) >> >>>> or >> >>>> approximately equal to float tolerance? >> >>>> >> >>>> If you're in the approx-equal case, then look at the KD-tree in scipy >> >>>> for doing near-neighbors queries. >> >>>> >> >>>> If you're in the exact-equal case, you could consider hashing the >> >>>> lat/ >> >>>> lon pairs or something. At least then the looping is O(N) and not >> >>>> O(N^2): >> >>>> >> >>>> import collections >> >>>> grouped = collections.defaultdict(list) >> >>>> for lt, ln, da in zip(lat, lon, data): >> >>>> ? ?grouped[(lt, ln)].append(da) >> >>>> >> >>>> averaged = dict((ltln, numpy.mean(da)) for ltln, da in >> >>>> grouped.items()) >> >>>> >> >>>> Is that fast enough? >> >> >> >> If the lat lon can be converted to a 1d label as Wes suggested, then >> >> in a similar timing exercise ndimage was the fastest. >> >> http://mail.scipy.org/pipermail/scipy-user/2009-February/019850.html >> > >> > And as you said your lats and lons are integers, you could simply do >> > >> > ll = lat*1000 + lon >> > >> > to get unique 'hashes' or '1d labels' for you latlon pairs, as a lat or >> > lon will never exceed 360 (degrees). >> > >> > After that, either use the ndimage approach, or you could use >> > histogramming with weighting by data values and divide by histogram >> > withouth weighting, or just loop. >> > >> > Vincent >> > >> >> >> >> (this was for python 2.4, also later I found np.bincount which >> >> requires that the labels are consecutive integers, but is as fast as >> >> ndimage) >> >> >> >> I don't know how it would compare to the new suggestions. >> >> >> >> Josef >> >> >> >> >> >> >> >>>> >> >>>> Zach >> >>>> _______________________________________________ >> >>>> NumPy-Discussion mailing list >> >>>> NumPy-Discussion at scipy.org >> >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >>>> >> >>>> _______________________________________________ >> >>>> NumPy-Discussion mailing list >> >>>> NumPy-Discussion at scipy.org >> >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >>> >> >>> _______________________________________________ >> >>> NumPy-Discussion mailing list >> >>> NumPy-Discussion at scipy.org >> >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >>> >> > >> > _______________________________________________ >> > NumPy-Discussion mailing list >> > NumPy-Discussion at scipy.org >> > http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > >> >> I was curious about how fast ndimage was for this operation so here's >> the complete function. >> >> import scipy.ndimage as ndi >> >> N = 10000 >> >> lat = np.random.randint(0, 360, N) >> lon = np.random.randint(0, 360, N) >> data = np.random.randn(N) >> >> def group_mean(lat, lon, data): >> ? ?indexer = np.lexsort((lon, lat)) >> ? ?lat = lat.take(indexer) >> ? ?lon = lon.take(indexer) >> ? ?sorted_data = data.take(indexer) >> >> ? ?keys = 1000 * lat + lon >> ? ?unique_keys = np.unique(keys) >> >> ? ?result = ndi.mean(sorted_data, labels=keys, index=unique_keys) >> ? ?decoder = keys.searchsorted(unique_keys) >> >> ? ?return dict(zip(zip(lat.take(decoder), lon.take(decoder)), result)) >> >> Appears to be about 13x faster (and could be made faster still) than >> the naive version on my machine: >> >> def group_mean_naive(lat, lon, data): >> ? ?grouped = collections.defaultdict(list) >> ? ?for lt, ln, da in zip(lat, lon, data): >> ? ? ?grouped[(lt, ln)].append(da) >> >> ? ?averaged = dict((ltln, np.mean(da)) for ltln, da in grouped.items()) >> >> ? ?return averaged >> >> I had to get the latest scipy trunk to not get an error from ndimage.mean >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > That's the error I was getting. Depending on your OS upgrading to the scipy trunk should be the easiest fix. From mat.yeates at gmail.com Wed Jun 2 14:09:32 2010 From: mat.yeates at gmail.com (Mathew Yeates) Date: Wed, 2 Jun 2010 11:09:32 -0700 Subject: [Numpy-discussion] 2D binning In-Reply-To: References: <52C04D76-ED22-42F0-8B1B-04ED434207E8@yale.edu> Message-ID: I'm on Windows, using a precompiled binary. I never built numpy/scipy on Windows. On Wed, Jun 2, 2010 at 10:45 AM, Wes McKinney wrote: > On Wed, Jun 2, 2010 at 1:23 PM, Mathew Yeates > wrote: > > thanks. I am also getting an error in ndi.mean > > Were you getting the error > > "RuntimeError: data type not supported"? > > > > -Mathew > > > > On Wed, Jun 2, 2010 at 9:40 AM, Wes McKinney > wrote: > >> > >> On Wed, Jun 2, 2010 at 3:41 AM, Vincent Schut > wrote: > >> > On 06/02/2010 04:52 AM, josef.pktd at gmail.com wrote: > >> >> On Tue, Jun 1, 2010 at 9:57 PM, Zachary Pincus< > zachary.pincus at yale.edu> > >> >> wrote: > >> >>>> I guess it's as fast as I'm going to get. I don't really see any > >> >>>> other way. BTW, the lat/lons are integers) > >> >>> > >> >>> You could (in c or cython) try a brain-dead "hashtable" with no > >> >>> collision detection: > >> >>> > >> >>> for lat, long, data in dataset: > >> >>> bin = (lat ^ long) % num_bins > >> >>> hashtable[bin] = update_incremental_mean(hashtable[bin], data) > >> >>> > >> >>> you'll of course want to do some experiments to see if your data are > >> >>> sufficiently sparse and/or you can afford a large enough hashtable > >> >>> array that you won't get spurious hash collisions. Adding error- > >> >>> checking to ensure that there are no collisions would be pretty > >> >>> trivial (just keep a table of the lat/long for each hash value, > which > >> >>> you'll need anyway, and check that different lat/long pairs don't > get > >> >>> assigned the same bin). > >> >>> > >> >>> Zach > >> >>> > >> >>> > >> >>> > >> >>>> -Mathew > >> >>>> > >> >>>> On Tue, Jun 1, 2010 at 1:49 PM, Zachary > >> >>>> Pincus >> >>>>> wrote: > >> >>>>> Hi > >> >>>>> Can anyone think of a clever (non-lopping) solution to the > >> >>>> following? > >> >>>>> > >> >>>>> A have a list of latitudes, a list of longitudes, and list of data > >> >>>>> values. All lists are the same length. > >> >>>>> > >> >>>>> I want to compute an average of data values for each lat/lon > pair. > >> >>>>> e.g. if lat[1001] lon[1001] = lat[2001] [lon [2001] then > >> >>>>> data[1001] = (data[1001] + data[2001])/2 > >> >>>>> > >> >>>>> Looping is going to take wayyyy to long. > >> >>>> > >> >>>> As a start, are the "equal" lat/lon pairs exactly equal (i.e. > either > >> >>>> not floating-point, or floats that will always compare equal, that > >> >>>> is, > >> >>>> the floating-point bit-patterns will be guaranteed to be identical) > >> >>>> or > >> >>>> approximately equal to float tolerance? > >> >>>> > >> >>>> If you're in the approx-equal case, then look at the KD-tree in > scipy > >> >>>> for doing near-neighbors queries. > >> >>>> > >> >>>> If you're in the exact-equal case, you could consider hashing the > >> >>>> lat/ > >> >>>> lon pairs or something. At least then the looping is O(N) and not > >> >>>> O(N^2): > >> >>>> > >> >>>> import collections > >> >>>> grouped = collections.defaultdict(list) > >> >>>> for lt, ln, da in zip(lat, lon, data): > >> >>>> grouped[(lt, ln)].append(da) > >> >>>> > >> >>>> averaged = dict((ltln, numpy.mean(da)) for ltln, da in > >> >>>> grouped.items()) > >> >>>> > >> >>>> Is that fast enough? > >> >> > >> >> If the lat lon can be converted to a 1d label as Wes suggested, then > >> >> in a similar timing exercise ndimage was the fastest. > >> >> http://mail.scipy.org/pipermail/scipy-user/2009-February/019850.html > >> > > >> > And as you said your lats and lons are integers, you could simply do > >> > > >> > ll = lat*1000 + lon > >> > > >> > to get unique 'hashes' or '1d labels' for you latlon pairs, as a lat > or > >> > lon will never exceed 360 (degrees). > >> > > >> > After that, either use the ndimage approach, or you could use > >> > histogramming with weighting by data values and divide by histogram > >> > withouth weighting, or just loop. > >> > > >> > Vincent > >> > > >> >> > >> >> (this was for python 2.4, also later I found np.bincount which > >> >> requires that the labels are consecutive integers, but is as fast as > >> >> ndimage) > >> >> > >> >> I don't know how it would compare to the new suggestions. > >> >> > >> >> Josef > >> >> > >> >> > >> >> > >> >>>> > >> >>>> Zach > >> >>>> _______________________________________________ > >> >>>> NumPy-Discussion mailing list > >> >>>> NumPy-Discussion at scipy.org > >> >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion > >> >>>> > >> >>>> _______________________________________________ > >> >>>> NumPy-Discussion mailing list > >> >>>> NumPy-Discussion at scipy.org > >> >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion > >> >>> > >> >>> _______________________________________________ > >> >>> NumPy-Discussion mailing list > >> >>> NumPy-Discussion at scipy.org > >> >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion > >> >>> > >> > > >> > _______________________________________________ > >> > NumPy-Discussion mailing list > >> > NumPy-Discussion at scipy.org > >> > http://mail.scipy.org/mailman/listinfo/numpy-discussion > >> > > >> > >> I was curious about how fast ndimage was for this operation so here's > >> the complete function. > >> > >> import scipy.ndimage as ndi > >> > >> N = 10000 > >> > >> lat = np.random.randint(0, 360, N) > >> lon = np.random.randint(0, 360, N) > >> data = np.random.randn(N) > >> > >> def group_mean(lat, lon, data): > >> indexer = np.lexsort((lon, lat)) > >> lat = lat.take(indexer) > >> lon = lon.take(indexer) > >> sorted_data = data.take(indexer) > >> > >> keys = 1000 * lat + lon > >> unique_keys = np.unique(keys) > >> > >> result = ndi.mean(sorted_data, labels=keys, index=unique_keys) > >> decoder = keys.searchsorted(unique_keys) > >> > >> return dict(zip(zip(lat.take(decoder), lon.take(decoder)), result)) > >> > >> Appears to be about 13x faster (and could be made faster still) than > >> the naive version on my machine: > >> > >> def group_mean_naive(lat, lon, data): > >> grouped = collections.defaultdict(list) > >> for lt, ln, da in zip(lat, lon, data): > >> grouped[(lt, ln)].append(da) > >> > >> averaged = dict((ltln, np.mean(da)) for ltln, da in grouped.items()) > >> > >> return averaged > >> > >> I had to get the latest scipy trunk to not get an error from > ndimage.mean > >> _______________________________________________ > >> NumPy-Discussion mailing list > >> NumPy-Discussion at scipy.org > >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > > > > _______________________________________________ > > NumPy-Discussion mailing list > > NumPy-Discussion at scipy.org > > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > > > > That's the error I was getting. Depending on your OS upgrading to the > scipy trunk should be the easiest fix. > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From josef.pktd at gmail.com Wed Jun 2 14:26:02 2010 From: josef.pktd at gmail.com (josef.pktd at gmail.com) Date: Wed, 2 Jun 2010 14:26:02 -0400 Subject: [Numpy-discussion] 2D binning In-Reply-To: References: <52C04D76-ED22-42F0-8B1B-04ED434207E8@yale.edu> Message-ID: On Wed, Jun 2, 2010 at 2:09 PM, Mathew Yeates wrote: > I'm on Windows, using a precompiled binary. I never built numpy/scipy on > Windows. ndimage measurements has been recently rewritten. ndimage is very fast but (the old version) has insufficient type checking and may crash on wrong inputs. I managed to work with it in the past on Windows. Maybe you could try to check the dtypes of the arguments for ndi.mean. (Preferably in an interpreter session where you don't mind if it crashes) I don't remember the type restrictions, but there are/were several tickets for it. Josef > > On Wed, Jun 2, 2010 at 10:45 AM, Wes McKinney wrote: >> >> On Wed, Jun 2, 2010 at 1:23 PM, Mathew Yeates >> wrote: >> > thanks. I am also getting an error in ndi.mean >> > Were you getting the error >> > "RuntimeError: data type not supported"? >> > >> > -Mathew >> > >> > On Wed, Jun 2, 2010 at 9:40 AM, Wes McKinney >> > wrote: >> >> >> >> On Wed, Jun 2, 2010 at 3:41 AM, Vincent Schut >> >> wrote: >> >> > On 06/02/2010 04:52 AM, josef.pktd at gmail.com wrote: >> >> >> On Tue, Jun 1, 2010 at 9:57 PM, Zachary >> >> >> Pincus >> >> >> ?wrote: >> >> >>>> I guess it's as fast as I'm going to get. I don't really see any >> >> >>>> other way. BTW, the lat/lons are integers) >> >> >>> >> >> >>> You could (in c or cython) try a brain-dead "hashtable" with no >> >> >>> collision detection: >> >> >>> >> >> >>> for lat, long, data in dataset: >> >> >>> ? ?bin = (lat ^ long) % num_bins >> >> >>> ? ?hashtable[bin] = update_incremental_mean(hashtable[bin], data) >> >> >>> >> >> >>> you'll of course want to do some experiments to see if your data >> >> >>> are >> >> >>> sufficiently sparse and/or you can afford a large enough hashtable >> >> >>> array that you won't get spurious hash collisions. Adding error- >> >> >>> checking to ensure that there are no collisions would be pretty >> >> >>> trivial (just keep a table of the lat/long for each hash value, >> >> >>> which >> >> >>> you'll need anyway, and check that different lat/long pairs don't >> >> >>> get >> >> >>> assigned the same bin). >> >> >>> >> >> >>> Zach >> >> >>> >> >> >>> >> >> >>> >> >> >>>> -Mathew >> >> >>>> >> >> >>>> On Tue, Jun 1, 2010 at 1:49 PM, Zachary >> >> >>>> Pincus> >> >>>>> wrote: >> >> >>>>> Hi >> >> >>>>> Can anyone think of a clever (non-lopping) solution to the >> >> >>>> following? >> >> >>>>> >> >> >>>>> A have a list of latitudes, a list of longitudes, and list of >> >> >>>>> data >> >> >>>>> values. All lists are the same length. >> >> >>>>> >> >> >>>>> I want to compute an average ?of data values for each lat/lon >> >> >>>>> pair. >> >> >>>>> e.g. if lat[1001] lon[1001] = lat[2001] [lon [2001] then >> >> >>>>> data[1001] = (data[1001] + data[2001])/2 >> >> >>>>> >> >> >>>>> Looping is going to take wayyyy to long. >> >> >>>> >> >> >>>> As a start, are the "equal" lat/lon pairs exactly equal (i.e. >> >> >>>> either >> >> >>>> not floating-point, or floats that will always compare equal, that >> >> >>>> is, >> >> >>>> the floating-point bit-patterns will be guaranteed to be >> >> >>>> identical) >> >> >>>> or >> >> >>>> approximately equal to float tolerance? >> >> >>>> >> >> >>>> If you're in the approx-equal case, then look at the KD-tree in >> >> >>>> scipy >> >> >>>> for doing near-neighbors queries. >> >> >>>> >> >> >>>> If you're in the exact-equal case, you could consider hashing the >> >> >>>> lat/ >> >> >>>> lon pairs or something. At least then the looping is O(N) and not >> >> >>>> O(N^2): >> >> >>>> >> >> >>>> import collections >> >> >>>> grouped = collections.defaultdict(list) >> >> >>>> for lt, ln, da in zip(lat, lon, data): >> >> >>>> ? ?grouped[(lt, ln)].append(da) >> >> >>>> >> >> >>>> averaged = dict((ltln, numpy.mean(da)) for ltln, da in >> >> >>>> grouped.items()) >> >> >>>> >> >> >>>> Is that fast enough? >> >> >> >> >> >> If the lat lon can be converted to a 1d label as Wes suggested, then >> >> >> in a similar timing exercise ndimage was the fastest. >> >> >> http://mail.scipy.org/pipermail/scipy-user/2009-February/019850.html >> >> > >> >> > And as you said your lats and lons are integers, you could simply do >> >> > >> >> > ll = lat*1000 + lon >> >> > >> >> > to get unique 'hashes' or '1d labels' for you latlon pairs, as a lat >> >> > or >> >> > lon will never exceed 360 (degrees). >> >> > >> >> > After that, either use the ndimage approach, or you could use >> >> > histogramming with weighting by data values and divide by histogram >> >> > withouth weighting, or just loop. >> >> > >> >> > Vincent >> >> > >> >> >> >> >> >> (this was for python 2.4, also later I found np.bincount which >> >> >> requires that the labels are consecutive integers, but is as fast as >> >> >> ndimage) >> >> >> >> >> >> I don't know how it would compare to the new suggestions. >> >> >> >> >> >> Josef >> >> >> >> >> >> >> >> >> >> >> >>>> >> >> >>>> Zach >> >> >>>> _______________________________________________ >> >> >>>> NumPy-Discussion mailing list >> >> >>>> NumPy-Discussion at scipy.org >> >> >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> >>>> >> >> >>>> _______________________________________________ >> >> >>>> NumPy-Discussion mailing list >> >> >>>> NumPy-Discussion at scipy.org >> >> >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> >>> >> >> >>> _______________________________________________ >> >> >>> NumPy-Discussion mailing list >> >> >>> NumPy-Discussion at scipy.org >> >> >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> >>> >> >> > >> >> > _______________________________________________ >> >> > NumPy-Discussion mailing list >> >> > NumPy-Discussion at scipy.org >> >> > http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> > >> >> >> >> I was curious about how fast ndimage was for this operation so here's >> >> the complete function. >> >> >> >> import scipy.ndimage as ndi >> >> >> >> N = 10000 >> >> >> >> lat = np.random.randint(0, 360, N) >> >> lon = np.random.randint(0, 360, N) >> >> data = np.random.randn(N) >> >> >> >> def group_mean(lat, lon, data): >> >> ? ?indexer = np.lexsort((lon, lat)) >> >> ? ?lat = lat.take(indexer) >> >> ? ?lon = lon.take(indexer) >> >> ? ?sorted_data = data.take(indexer) >> >> >> >> ? ?keys = 1000 * lat + lon >> >> ? ?unique_keys = np.unique(keys) >> >> >> >> ? ?result = ndi.mean(sorted_data, labels=keys, index=unique_keys) >> >> ? ?decoder = keys.searchsorted(unique_keys) >> >> >> >> ? ?return dict(zip(zip(lat.take(decoder), lon.take(decoder)), result)) >> >> >> >> Appears to be about 13x faster (and could be made faster still) than >> >> the naive version on my machine: >> >> >> >> def group_mean_naive(lat, lon, data): >> >> ? ?grouped = collections.defaultdict(list) >> >> ? ?for lt, ln, da in zip(lat, lon, data): >> >> ? ? ?grouped[(lt, ln)].append(da) >> >> >> >> ? ?averaged = dict((ltln, np.mean(da)) for ltln, da in grouped.items()) >> >> >> >> ? ?return averaged >> >> >> >> I had to get the latest scipy trunk to not get an error from >> >> ndimage.mean >> >> _______________________________________________ >> >> NumPy-Discussion mailing list >> >> NumPy-Discussion at scipy.org >> >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > >> > >> > _______________________________________________ >> > NumPy-Discussion mailing list >> > NumPy-Discussion at scipy.org >> > http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > >> > >> >> That's the error I was getting. Depending on your OS upgrading to the >> scipy trunk should be the easiest fix. >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > From wesmckinn at gmail.com Wed Jun 2 15:29:06 2010 From: wesmckinn at gmail.com (Wes McKinney) Date: Wed, 2 Jun 2010 15:29:06 -0400 Subject: [Numpy-discussion] 2D binning In-Reply-To: References: <52C04D76-ED22-42F0-8B1B-04ED434207E8@yale.edu> Message-ID: On Wed, Jun 2, 2010 at 2:26 PM, wrote: > On Wed, Jun 2, 2010 at 2:09 PM, Mathew Yeates wrote: >> I'm on Windows, using a precompiled binary. I never built numpy/scipy on >> Windows. > > ndimage measurements has been recently rewritten. ndimage is very fast > but (the old version) has insufficient type checking and may crash on > wrong inputs. > > I managed to work with it in the past on Windows. Maybe you could try > to check the dtypes of the arguments for ndi.mean. (Preferably in an > interpreter session where you don't mind if it crashes) > > I don't remember the type restrictions, but there are/were several > tickets for it. > > Josef > > >> >> On Wed, Jun 2, 2010 at 10:45 AM, Wes McKinney wrote: >>> >>> On Wed, Jun 2, 2010 at 1:23 PM, Mathew Yeates >>> wrote: >>> > thanks. I am also getting an error in ndi.mean >>> > Were you getting the error >>> > "RuntimeError: data type not supported"? >>> > >>> > -Mathew >>> > >>> > On Wed, Jun 2, 2010 at 9:40 AM, Wes McKinney >>> > wrote: >>> >> >>> >> On Wed, Jun 2, 2010 at 3:41 AM, Vincent Schut >>> >> wrote: >>> >> > On 06/02/2010 04:52 AM, josef.pktd at gmail.com wrote: >>> >> >> On Tue, Jun 1, 2010 at 9:57 PM, Zachary >>> >> >> Pincus >>> >> >> ?wrote: >>> >> >>>> I guess it's as fast as I'm going to get. I don't really see any >>> >> >>>> other way. BTW, the lat/lons are integers) >>> >> >>> >>> >> >>> You could (in c or cython) try a brain-dead "hashtable" with no >>> >> >>> collision detection: >>> >> >>> >>> >> >>> for lat, long, data in dataset: >>> >> >>> ? ?bin = (lat ^ long) % num_bins >>> >> >>> ? ?hashtable[bin] = update_incremental_mean(hashtable[bin], data) >>> >> >>> >>> >> >>> you'll of course want to do some experiments to see if your data >>> >> >>> are >>> >> >>> sufficiently sparse and/or you can afford a large enough hashtable >>> >> >>> array that you won't get spurious hash collisions. Adding error- >>> >> >>> checking to ensure that there are no collisions would be pretty >>> >> >>> trivial (just keep a table of the lat/long for each hash value, >>> >> >>> which >>> >> >>> you'll need anyway, and check that different lat/long pairs don't >>> >> >>> get >>> >> >>> assigned the same bin). >>> >> >>> >>> >> >>> Zach >>> >> >>> >>> >> >>> >>> >> >>> >>> >> >>>> -Mathew >>> >> >>>> >>> >> >>>> On Tue, Jun 1, 2010 at 1:49 PM, Zachary >>> >> >>>> Pincus>> >> >>>>> wrote: >>> >> >>>>> Hi >>> >> >>>>> Can anyone think of a clever (non-lopping) solution to the >>> >> >>>> following? >>> >> >>>>> >>> >> >>>>> A have a list of latitudes, a list of longitudes, and list of >>> >> >>>>> data >>> >> >>>>> values. All lists are the same length. >>> >> >>>>> >>> >> >>>>> I want to compute an average ?of data values for each lat/lon >>> >> >>>>> pair. >>> >> >>>>> e.g. if lat[1001] lon[1001] = lat[2001] [lon [2001] then >>> >> >>>>> data[1001] = (data[1001] + data[2001])/2 >>> >> >>>>> >>> >> >>>>> Looping is going to take wayyyy to long. >>> >> >>>> >>> >> >>>> As a start, are the "equal" lat/lon pairs exactly equal (i.e. >>> >> >>>> either >>> >> >>>> not floating-point, or floats that will always compare equal, that >>> >> >>>> is, >>> >> >>>> the floating-point bit-patterns will be guaranteed to be >>> >> >>>> identical) >>> >> >>>> or >>> >> >>>> approximately equal to float tolerance? >>> >> >>>> >>> >> >>>> If you're in the approx-equal case, then look at the KD-tree in >>> >> >>>> scipy >>> >> >>>> for doing near-neighbors queries. >>> >> >>>> >>> >> >>>> If you're in the exact-equal case, you could consider hashing the >>> >> >>>> lat/ >>> >> >>>> lon pairs or something. At least then the looping is O(N) and not >>> >> >>>> O(N^2): >>> >> >>>> >>> >> >>>> import collections >>> >> >>>> grouped = collections.defaultdict(list) >>> >> >>>> for lt, ln, da in zip(lat, lon, data): >>> >> >>>> ? ?grouped[(lt, ln)].append(da) >>> >> >>>> >>> >> >>>> averaged = dict((ltln, numpy.mean(da)) for ltln, da in >>> >> >>>> grouped.items()) >>> >> >>>> >>> >> >>>> Is that fast enough? >>> >> >> >>> >> >> If the lat lon can be converted to a 1d label as Wes suggested, then >>> >> >> in a similar timing exercise ndimage was the fastest. >>> >> >> http://mail.scipy.org/pipermail/scipy-user/2009-February/019850.html >>> >> > >>> >> > And as you said your lats and lons are integers, you could simply do >>> >> > >>> >> > ll = lat*1000 + lon >>> >> > >>> >> > to get unique 'hashes' or '1d labels' for you latlon pairs, as a lat >>> >> > or >>> >> > lon will never exceed 360 (degrees). >>> >> > >>> >> > After that, either use the ndimage approach, or you could use >>> >> > histogramming with weighting by data values and divide by histogram >>> >> > withouth weighting, or just loop. >>> >> > >>> >> > Vincent >>> >> > >>> >> >> >>> >> >> (this was for python 2.4, also later I found np.bincount which >>> >> >> requires that the labels are consecutive integers, but is as fast as >>> >> >> ndimage) >>> >> >> >>> >> >> I don't know how it would compare to the new suggestions. >>> >> >> >>> >> >> Josef >>> >> >> >>> >> >> >>> >> >> >>> >> >>>> >>> >> >>>> Zach >>> >> >>>> _______________________________________________ >>> >> >>>> NumPy-Discussion mailing list >>> >> >>>> NumPy-Discussion at scipy.org >>> >> >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >> >>>> >>> >> >>>> _______________________________________________ >>> >> >>>> NumPy-Discussion mailing list >>> >> >>>> NumPy-Discussion at scipy.org >>> >> >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >> >>> >>> >> >>> _______________________________________________ >>> >> >>> NumPy-Discussion mailing list >>> >> >>> NumPy-Discussion at scipy.org >>> >> >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >> >>> >>> >> > >>> >> > _______________________________________________ >>> >> > NumPy-Discussion mailing list >>> >> > NumPy-Discussion at scipy.org >>> >> > http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >> > >>> >> >>> >> I was curious about how fast ndimage was for this operation so here's >>> >> the complete function. >>> >> >>> >> import scipy.ndimage as ndi >>> >> >>> >> N = 10000 >>> >> >>> >> lat = np.random.randint(0, 360, N) >>> >> lon = np.random.randint(0, 360, N) >>> >> data = np.random.randn(N) >>> >> >>> >> def group_mean(lat, lon, data): >>> >> ? ?indexer = np.lexsort((lon, lat)) >>> >> ? ?lat = lat.take(indexer) >>> >> ? ?lon = lon.take(indexer) >>> >> ? ?sorted_data = data.take(indexer) >>> >> >>> >> ? ?keys = 1000 * lat + lon >>> >> ? ?unique_keys = np.unique(keys) >>> >> >>> >> ? ?result = ndi.mean(sorted_data, labels=keys, index=unique_keys) >>> >> ? ?decoder = keys.searchsorted(unique_keys) >>> >> >>> >> ? ?return dict(zip(zip(lat.take(decoder), lon.take(decoder)), result)) >>> >> >>> >> Appears to be about 13x faster (and could be made faster still) than >>> >> the naive version on my machine: >>> >> >>> >> def group_mean_naive(lat, lon, data): >>> >> ? ?grouped = collections.defaultdict(list) >>> >> ? ?for lt, ln, da in zip(lat, lon, data): >>> >> ? ? ?grouped[(lt, ln)].append(da) >>> >> >>> >> ? ?averaged = dict((ltln, np.mean(da)) for ltln, da in grouped.items()) >>> >> >>> >> ? ?return averaged >>> >> >>> >> I had to get the latest scipy trunk to not get an error from >>> >> ndimage.mean >>> >> _______________________________________________ >>> >> NumPy-Discussion mailing list >>> >> NumPy-Discussion at scipy.org >>> >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> > >>> > >>> > _______________________________________________ >>> > NumPy-Discussion mailing list >>> > NumPy-Discussion at scipy.org >>> > http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> > >>> > >>> >>> That's the error I was getting. Depending on your OS upgrading to the >>> scipy trunk should be the easiest fix. >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > If you're on Python 2.6 the binary on here might work for you: http://www.lfd.uci.edu/~gohlke/pythonlibs/ It looks recent enough to have the rewritten ndimage From mat.yeates at gmail.com Wed Jun 2 17:32:03 2010 From: mat.yeates at gmail.com (Mathew Yeates) Date: Wed, 2 Jun 2010 14:32:03 -0700 Subject: [Numpy-discussion] 2D binning In-Reply-To: References: <52C04D76-ED22-42F0-8B1B-04ED434207E8@yale.edu> Message-ID: Nope. This version didn't work either. > > If you're on Python 2.6 the binary on here might work for you: > > http://www.lfd.uci.edu/~gohlke/pythonlibs/ > > It looks recent enough to have the rewritten ndimage > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pgmdevlist at gmail.com Wed Jun 2 17:42:31 2010 From: pgmdevlist at gmail.com (Pierre GM) Date: Wed, 2 Jun 2010 17:42:31 -0400 Subject: [Numpy-discussion] masked constant Message-ID: <92E4DE15-B162-4102-BF80-83CB1B439E07@gmail.com> I'm about to commit some changes in the numpy trunk regarding the masked constant. Namely, 'masked' is now its own object. It inherits from MaskedArray, but doesn't have a fill_value and is represented slightly differently: >>> repr(ma.masked) 'masked' The reason behind that is to reduce the headaches of new users (who tend to wonder why a masked item has a different fill_value than the original array (that's because it's a *constant*)). Any objections ? (I could have silently committed that a while ago, but I don't want to mess w/ anybody's supplies of chill-pills...) P. From cgohlke at uci.edu Wed Jun 2 17:48:51 2010 From: cgohlke at uci.edu (Christoph Gohlke) Date: Wed, 02 Jun 2010 14:48:51 -0700 Subject: [Numpy-discussion] 2D binning In-Reply-To: References: <52C04D76-ED22-42F0-8B1B-04ED434207E8@yale.edu> Message-ID: <4C06D1C3.6040605@uci.edu> On 6/2/2010 2:32 PM, Mathew Yeates wrote: > Nope. This version didn't work either. > > > > If you're on Python 2.6 the binary on here might work for you: > > http://www.lfd.uci.edu/~gohlke/pythonlibs/ > > It looks recent enough to have the rewritten ndimage On 6/2/2010 2:32 PM, Mathew Yeates wrote: > Nope. This version didn't work either. > Please note that in order to use the ndimage package from you have to use "import ndimage as ndi" instead of "import scipy.ndimage as ndi". The code posted by Wes works for me on Windows after that change. -- Christoph From mail at stevesimmons.com Wed Jun 2 18:18:23 2010 From: mail at stevesimmons.com (Stephen Simmons) Date: Thu, 03 Jun 2010 00:18:23 +0200 Subject: [Numpy-discussion] 2D binning In-Reply-To: References: Message-ID: <4C06D8AF.1050501@stevesimmons.com> On 1/06/2010 10:51 PM, Wes McKinney wrote: > > This is a pretty good example of the "group-by" problem that will > hopefully work its way into a future edition of NumPy. Wes (or anyone else), please can you elaborate on any plans for groupby? I've made my own modification to numpy.bincount for doing groupby-type operations but not contributed anything back to the numpy community. Is there any interest from European-based people to work on groupby etc at the Euro SciPy sprints in July? If others are interested, maybe we could work out requirements beforehand and then do some coding in Paris. Cheers Stephen From efiring at hawaii.edu Wed Jun 2 21:11:00 2010 From: efiring at hawaii.edu (Eric Firing) Date: Wed, 02 Jun 2010 15:11:00 -1000 Subject: [Numpy-discussion] 2 bugs related to isinf and isfinite generate crazy warnings Message-ID: <4C070124.70902@hawaii.edu> http://www.mail-archive.com/numpy-discussion at scipy.org/msg23912.html On some systems--but evidently not for most numpy users, or there would have been a steady stream of screams--the appearance of np.inf in any call to np.isfinite or np.isinf yields this: In [1]:import numpy as np In [2]:np.isinf(np.inf) Warning: invalid value encountered in isinf Out[2]:True This generates streams of warnings if np.isinf or np.isfinite is applied to an array with many inf values. The problem is a combination of two bugs: 1) When building with setup.py, but perhaps not with scons (which I haven't tried yet), NPY_HAVE_DECL_ISFINITE and friends are never defined, even though they should be--this is all on ubuntu 10.4, in my case, and isfinite and isinf most definitely are in math.h. It looks to me like the only mechanism for defining these is in SConstruct. 2) So, with no access to the built-in isinf etc., npy_math.h falls back on the compact but slow macros that replace the much nicer ones that were in numpy a year or so ago. Here is the relevant part of npy_math.h: #ifndef NPY_HAVE_DECL_ISFINITE #define npy_isfinite(x) !npy_isnan((x) + (-x)) #else #define npy_isfinite(x) isfinite((x)) #endif #ifndef NPY_HAVE_DECL_ISINF #define npy_isinf(x) (!npy_isfinite(x) && !npy_isnan(x)) #else #define npy_isinf(x) isinf((x)) #endif isinf calls isfinite, and isfinite calls isnan(x-x). If x is inf, this generates a nan, so the return value is correct--but generating that nan set the INVALID flag, hence the warning. Sorry I don't have a patch to offer. Eric From wesmckinn at gmail.com Wed Jun 2 21:19:36 2010 From: wesmckinn at gmail.com (Wes McKinney) Date: Wed, 2 Jun 2010 21:19:36 -0400 Subject: [Numpy-discussion] 2D binning In-Reply-To: <4C06D8AF.1050501@stevesimmons.com> References: <4C06D8AF.1050501@stevesimmons.com> Message-ID: On Wed, Jun 2, 2010 at 6:18 PM, Stephen Simmons wrote: > > On 1/06/2010 10:51 PM, Wes McKinney wrote: > ?> > ?> This is a pretty good example of the "group-by" problem that will > ?> hopefully work its way into a future edition of NumPy. > > Wes (or anyone else), please can you elaborate on any plans for groupby? > > I've made my own modification to numpy.bincount for doing groupby-type > operations but not contributed anything back to the numpy community. > > Is there any interest from European-based people to work on groupby etc > at the Euro SciPy sprints in July? If others are interested, maybe we > could work out requirements beforehand and then do some coding in Paris. > > Cheers > Stephen > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > I know we're planning to discuss at SciPy in Austin and will hopefully have a gameplan. We should coordinate the discussions / implementation somewhere. I've implemented some groupby functionality in pandas but I guess at a higher level than what's been proposed to add to NumPy. On the pystatsmodels mailing list we've been starting to have some discussions about statistically-oriented data structures in general-- I'll be sending an e-mail to the NumPy mailing list soon to start a broader discussion which will hopefully lead to some good things at the conferences. From charlesr.harris at gmail.com Wed Jun 2 21:24:06 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Wed, 2 Jun 2010 19:24:06 -0600 Subject: [Numpy-discussion] 2 bugs related to isinf and isfinite generate crazy warnings In-Reply-To: <4C070124.70902@hawaii.edu> References: <4C070124.70902@hawaii.edu> Message-ID: On Wed, Jun 2, 2010 at 7:11 PM, Eric Firing wrote: > http://www.mail-archive.com/numpy-discussion at scipy.org/msg23912.html > > On some systems--but evidently not for most numpy users, or there would > have been a steady stream of screams--the appearance of np.inf in any > call to np.isfinite or np.isinf yields this: > > In [1]:import numpy as np > > In [2]:np.isinf(np.inf) > Warning: invalid value encountered in isinf > Out[2]:True > > > This generates streams of warnings if np.isinf or np.isfinite is applied > to an array with many inf values. > > The problem is a combination of two bugs: > > 1) When building with setup.py, but perhaps not with scons (which I > haven't tried yet), NPY_HAVE_DECL_ISFINITE and friends are never > defined, even though they should be--this is all on ubuntu 10.4, in my > case, and isfinite and isinf most definitely are in math.h. It looks to > me like the only mechanism for defining these is in SConstruct. > > 2) So, with no access to the built-in isinf etc., npy_math.h falls back > on the compact but slow macros that replace the much nicer ones that > were in numpy a year or so ago. Here is the relevant part of npy_math.h: > > #ifndef NPY_HAVE_DECL_ISFINITE > #define npy_isfinite(x) !npy_isnan((x) + (-x)) > #else > #define npy_isfinite(x) isfinite((x)) > #endif > > #ifndef NPY_HAVE_DECL_ISINF > #define npy_isinf(x) (!npy_isfinite(x) && !npy_isnan(x)) > #else > #define npy_isinf(x) isinf((x)) > #endif > > isinf calls isfinite, and isfinite calls isnan(x-x). If x is inf, this > generates a nan, so the return value is correct--but generating that nan > set the INVALID flag, hence the warning. > > Sorry I don't have a patch to offer. > > Open a ticket. Since this looks fixable we should get it fixed for 1.5. Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From millman at berkeley.edu Wed Jun 2 21:24:04 2010 From: millman at berkeley.edu (Jarrod Millman) Date: Wed, 2 Jun 2010 18:24:04 -0700 Subject: [Numpy-discussion] Technicalities of the SVN -> GIT transition In-Reply-To: References: <4C04D01A.7060108@silveregg.co.jp> Message-ID: On Wed, Jun 2, 2010 at 10:08 AM, Matthew Brett wrote: > Do y'all think opt-in? ?Or opt-out? ? ?If it's opt-in I guess you'll > catch most of the current committers, and most of the others you'll > lose, but maybe that's good enough. I think it should be opt-in. How would opt-out work? Would someone create new accounts for all the contributors and then give them access? If that is the case, I would really rather avoid this. If someone wants an account on github, they should register an account on their own. Or am I missing something? Thanks, Jarro From david at silveregg.co.jp Wed Jun 2 21:58:41 2010 From: david at silveregg.co.jp (David) Date: Thu, 03 Jun 2010 10:58:41 +0900 Subject: [Numpy-discussion] Technicalities of the SVN -> GIT transition In-Reply-To: References: <4C04D01A.7060108@silveregg.co.jp> Message-ID: <4C070C51.3090207@silveregg.co.jp> On 06/03/2010 10:24 AM, Jarrod Millman wrote: > On Wed, Jun 2, 2010 at 10:08 AM, Matthew Brett wrote: >> Do y'all think opt-in? Or opt-out? If it's opt-in I guess you'll >> catch most of the current committers, and most of the others you'll >> lose, but maybe that's good enough. > > I think it should be opt-in. How would opt-out work? Would someone > create new accounts for all the contributors and then give them > access? Just to be clear, this has nothing to do with accounts on github, or any registered thing. This is *only* about username/email as recognized by git itself (as recorded in the commit objects). Several people already answered me privately to give me their email, I think that's the way to go, cheers, David From charlesr.harris at gmail.com Wed Jun 2 22:12:17 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Wed, 2 Jun 2010 20:12:17 -0600 Subject: [Numpy-discussion] 2 bugs related to isinf and isfinite generate crazy warnings In-Reply-To: <4C070124.70902@hawaii.edu> References: <4C070124.70902@hawaii.edu> Message-ID: On Wed, Jun 2, 2010 at 7:11 PM, Eric Firing wrote: > http://www.mail-archive.com/numpy-discussion at scipy.org/msg23912.html > > On some systems--but evidently not for most numpy users, or there would > have been a steady stream of screams--the appearance of np.inf in any > call to np.isfinite or np.isinf yields this: > > In [1]:import numpy as np > > In [2]:np.isinf(np.inf) > Warning: invalid value encountered in isinf > Out[2]:True > > > This generates streams of warnings if np.isinf or np.isfinite is applied > to an array with many inf values. > > The problem is a combination of two bugs: > > 1) When building with setup.py, but perhaps not with scons (which I > haven't tried yet), NPY_HAVE_DECL_ISFINITE and friends are never > defined, even though they should be--this is all on ubuntu 10.4, in my > case, and isfinite and isinf most definitely are in math.h. It looks to > me like the only mechanism for defining these is in SConstruct. > > 2) So, with no access to the built-in isinf etc., npy_math.h falls back > on the compact but slow macros that replace the much nicer ones that > were in numpy a year or so ago. Here is the relevant part of npy_math.h: > > #ifndef NPY_HAVE_DECL_ISFINITE > #define npy_isfinite(x) !npy_isnan((x) + (-x)) > #else > #define npy_isfinite(x) isfinite((x)) > #endif > > #ifndef NPY_HAVE_DECL_ISINF > #define npy_isinf(x) (!npy_isfinite(x) && !npy_isnan(x)) > #else > #define npy_isinf(x) isinf((x)) > #endif > > isinf calls isfinite, and isfinite calls isnan(x-x). If x is inf, this > generates a nan, so the return value is correct--but generating that nan > set the INVALID flag, hence the warning. > > Sorry I don't have a patch to offer. > > I'm guessing that the problem is that in gcc isinf is a macro, the relevant functions are actually __isinff, __isinf, and __isinfl. The library itself yields: $[charris at ubuntu lib]$ nm -D libc.so.6 | grep isinf 0000000000032d10 T __isinf 0000000000033110 T __isinff 0000000000033420 T __isinfl 0000000000032d10 W isinf 0000000000033110 W isinff 0000000000033420 W isinfl Where the symbols without the underscores are weak. I have no idea what the implications of that are ;) Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From david at silveregg.co.jp Wed Jun 2 23:00:25 2010 From: david at silveregg.co.jp (David) Date: Thu, 03 Jun 2010 12:00:25 +0900 Subject: [Numpy-discussion] 2 bugs related to isinf and isfinite generate crazy warnings In-Reply-To: <4C070124.70902@hawaii.edu> References: <4C070124.70902@hawaii.edu> Message-ID: <4C071AC9.7020305@silveregg.co.jp> On 06/03/2010 10:11 AM, Eric Firing wrote: > http://www.mail-archive.com/numpy-discussion at scipy.org/msg23912.html > > On some systems--but evidently not for most numpy users, or there would > have been a steady stream of screams--the appearance of np.inf in any > call to np.isfinite or np.isinf yields this: > > In [1]:import numpy as np > > In [2]:np.isinf(np.inf) > Warning: invalid value encountered in isinf > Out[2]:True > > > This generates streams of warnings if np.isinf or np.isfinite is applied > to an array with many inf values. > > The problem is a combination of two bugs: > > 1) When building with setup.py, but perhaps not with scons (which I > haven't tried yet), NPY_HAVE_DECL_ISFINITE and friends are never > defined, even though they should be--this is all on ubuntu 10.4, in my > case, and isfinite and isinf most definitely are in math.h. It looks to > me like the only mechanism for defining these is in SConstruct. Actually, there is a bug in setup.py to detect those for python >= 2.6, I have fixed this. > > 2) So, with no access to the built-in isinf etc., npy_math.h falls back > on the compact but slow macros that replace the much nicer ones that > were in numpy a year or so ago. Which one are you thinking about: the ones using fpclassify ? Could you show the code where the current version is slower ? cheers, David From charlesr.harris at gmail.com Wed Jun 2 23:06:11 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Wed, 2 Jun 2010 21:06:11 -0600 Subject: [Numpy-discussion] 2 bugs related to isinf and isfinite generate crazy warnings In-Reply-To: <4C070124.70902@hawaii.edu> References: <4C070124.70902@hawaii.edu> Message-ID: On Wed, Jun 2, 2010 at 7:11 PM, Eric Firing wrote: > http://www.mail-archive.com/numpy-discussion at scipy.org/msg23912.html > > On some systems--but evidently not for most numpy users, or there would > have been a steady stream of screams--the appearance of np.inf in any > call to np.isfinite or np.isinf yields this: > > In [1]:import numpy as np > > In [2]:np.isinf(np.inf) > Warning: invalid value encountered in isinf > Out[2]:True > > > This generates streams of warnings if np.isinf or np.isfinite is applied > to an array with many inf values. > > The problem is a combination of two bugs: > > 1) When building with setup.py, but perhaps not with scons (which I > haven't tried yet), NPY_HAVE_DECL_ISFINITE and friends are never > defined, even though they should be--this is all on ubuntu 10.4, in my > case, and isfinite and isinf most definitely are in math.h. It looks to > me like the only mechanism for defining these is in SConstruct. > > 2) So, with no access to the built-in isinf etc., npy_math.h falls back > on the compact but slow macros that replace the much nicer ones that > were in numpy a year or so ago. Here is the relevant part of npy_math.h: > > #ifndef NPY_HAVE_DECL_ISFINITE > #define npy_isfinite(x) !npy_isnan((x) + (-x)) > #else > #define npy_isfinite(x) isfinite((x)) > #endif > > #ifndef NPY_HAVE_DECL_ISINF > #define npy_isinf(x) (!npy_isfinite(x) && !npy_isnan(x)) > #else > #define npy_isinf(x) isinf((x)) > #endif > > isinf calls isfinite, and isfinite calls isnan(x-x). If x is inf, this > generates a nan, so the return value is correct--but generating that nan > set the INVALID flag, hence the warning. > > More precisely, it looks like HAVE_DECL_ISINF and friends are defined in Python.h, hence NPY_HAVE_DECL_ISINF doesn't get defined. Hmm... So maybe Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From charlesr.harris at gmail.com Wed Jun 2 23:13:56 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Wed, 2 Jun 2010 21:13:56 -0600 Subject: [Numpy-discussion] 2 bugs related to isinf and isfinite generate crazy warnings In-Reply-To: <4C071AC9.7020305@silveregg.co.jp> References: <4C070124.70902@hawaii.edu> <4C071AC9.7020305@silveregg.co.jp> Message-ID: On Wed, Jun 2, 2010 at 9:00 PM, David wrote: > On 06/03/2010 10:11 AM, Eric Firing wrote: > > http://www.mail-archive.com/numpy-discussion at scipy.org/msg23912.html > > > > On some systems--but evidently not for most numpy users, or there would > > have been a steady stream of screams--the appearance of np.inf in any > > call to np.isfinite or np.isinf yields this: > > > > In [1]:import numpy as np > > > > In [2]:np.isinf(np.inf) > > Warning: invalid value encountered in isinf > > Out[2]:True > > > > > > This generates streams of warnings if np.isinf or np.isfinite is applied > > to an array with many inf values. > > > > The problem is a combination of two bugs: > > > > 1) When building with setup.py, but perhaps not with scons (which I > > haven't tried yet), NPY_HAVE_DECL_ISFINITE and friends are never > > defined, even though they should be--this is all on ubuntu 10.4, in my > > case, and isfinite and isinf most definitely are in math.h. It looks to > > me like the only mechanism for defining these is in SConstruct. > > Actually, there is a bug in setup.py to detect those for python >= 2.6, > I have fixed this. > > Beat me to it ;) Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From efiring at hawaii.edu Thu Jun 3 00:02:08 2010 From: efiring at hawaii.edu (Eric Firing) Date: Wed, 02 Jun 2010 18:02:08 -1000 Subject: [Numpy-discussion] 2 bugs related to isinf and isfinite generate crazy warnings In-Reply-To: <4C071AC9.7020305@silveregg.co.jp> References: <4C070124.70902@hawaii.edu> <4C071AC9.7020305@silveregg.co.jp> Message-ID: <4C072940.7090509@hawaii.edu> On 06/02/2010 05:00 PM, David wrote: > On 06/03/2010 10:11 AM, Eric Firing wrote: >> http://www.mail-archive.com/numpy-discussion at scipy.org/msg23912.html >> >> On some systems--but evidently not for most numpy users, or there would >> have been a steady stream of screams--the appearance of np.inf in any >> call to np.isfinite or np.isinf yields this: >> >> In [1]:import numpy as np >> >> In [2]:np.isinf(np.inf) >> Warning: invalid value encountered in isinf >> Out[2]:True >> >> >> This generates streams of warnings if np.isinf or np.isfinite is applied >> to an array with many inf values. >> >> The problem is a combination of two bugs: >> >> 1) When building with setup.py, but perhaps not with scons (which I >> haven't tried yet), NPY_HAVE_DECL_ISFINITE and friends are never >> defined, even though they should be--this is all on ubuntu 10.4, in my >> case, and isfinite and isinf most definitely are in math.h. It looks to >> me like the only mechanism for defining these is in SConstruct. > > Actually, there is a bug in setup.py to detect those for python>= 2.6, > I have fixed this. David, Thank you. > >> >> 2) So, with no access to the built-in isinf etc., npy_math.h falls back >> on the compact but slow macros that replace the much nicer ones that >> were in numpy a year or so ago. > > Which one are you thinking about: the ones using fpclassify ? Could you > show the code where the current version is slower ? OK, my memory was off as usual. What I was remembering was actually this: http://currents.soest.hawaii.edu/hgstage/hgwebdir.cgi/mpl_hg/file/4ab6f2159bea/matplotlib/src/MPL_isnan.h So the macro versions were in mpl, and derived from numarray, but apparently were never in numpy. In any case, in MPL_isnan.h, isfinite is fast, because it involves only a single bitwise-and plus comparison; isnan and isinf are slower, because they involve about twice as much work. Given that the present numpy isfinite macro is broken--it raises an fp error--there is not much point in talking about its performance. What I don't know is whether there is some reason not to use the MPL_isnan.h macros as the backups in numpy, for platforms that do not have their own isnan, isfinite, and isinf. I do know (or think...) that two or three years ago I timed numpy.isnan and numpy.isfinite, and found that the latter was notably faster than the former, consistent with what I would have expected if the implementation was as in MPL_isnan.h. Presumably, at that time my numpy build was using the system versions, and maybe they are implemented in a similar way. Looking in /usr/include/bits/*.h, I gave up trying to figure out what the system macros really are doing. Eric > > cheers, > > David > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion From david at silveregg.co.jp Thu Jun 3 00:16:04 2010 From: david at silveregg.co.jp (David) Date: Thu, 03 Jun 2010 13:16:04 +0900 Subject: [Numpy-discussion] 2 bugs related to isinf and isfinite generate crazy warnings In-Reply-To: <4C072940.7090509@hawaii.edu> References: <4C070124.70902@hawaii.edu> <4C071AC9.7020305@silveregg.co.jp> <4C072940.7090509@hawaii.edu> Message-ID: <4C072C84.5060100@silveregg.co.jp> On 06/03/2010 01:02 PM, Eric Firing wrote: > > In any case, in MPL_isnan.h, isfinite is fast, because it involves only > a single bitwise-and plus comparison; isnan and isinf are slower, > because they involve about twice as much work. Concerning speed, the problem is that it depends a lot on the compiler/architecture. When I timed some implementations of isnan, just changing from Pentium 4 to Pentium M with the exact same compiler/options gave mixed results. It also depends on the input - some methods are faster for finite numbers but slower for nan/inf, etc... > > Given that the present numpy isfinite macro is broken--it raises an fp > error--there is not much point in talking about its performance. Indeed :) > > What I don't know is whether there is some reason not to use the > MPL_isnan.h macros as the backups in numpy, for platforms that do not > have their own isnan, isfinite, and isinf. The problem is that it is actually quite some work. Float and double are not so difficult (two cases to deal with for endianness), but long double is a huge PITA - we have already 5 different implementations to deal with, and we are missing some (linux PPC). > Presumably, at that time my numpy > build was using the system versions, and maybe they are implemented in a > similar way. Looking in /usr/include/bits/*.h, I gave up trying to > figure out what the system macros really are doing. You have to look into sysdeps/ directory inside glibc sources (on Linux). They use clever tricks to avoid branching, but when I benchmarked those, things like x != x where much faster on the computer I tested this on. Most likely very CPU dependent. cheers, David From nicolas.gruel at gmail.com Thu Jun 3 05:03:24 2010 From: nicolas.gruel at gmail.com (Nicolas Gruel) Date: Thu, 3 Jun 2010 11:03:24 +0200 Subject: [Numpy-discussion] numpy documentation Message-ID: Hello, I would like to document one of my project using sphinx and as it's a scientific project I would like to use the same thing than numpy for consistancy. I am using the sphinx extension provided by numpy. It's working fine but for one thing I do have a problem. The summary of the methods creating using autodoc does not contains the description of the methods, the table contains only the name with a blanck description. I join the rst file and the python file I am using for the test perhaps it's something I missed inside. Another question, it's seems that the rst file for each function in numpy are autogenerated. Can you give me any information how to do it, please? I didn't find it on numpy website but I probably miss the good link... Thank you for any help. Nicolas here the two files: foo.rst ------------------------------------------ Foo === :mod:`foo` ---------- .. automodule:: foo :members: .. autosummary:: :toctree: Modules/ func ------------------------------------------------------ foo.py ----------------------------------------------------- #!/usr/bin/env python # -*- coding: utf-8 -*- __docformat__ = 'restructuredtext en' __version__ = '1.0' class Bar(object): r""" A description of the class Attributes ---------- a : float an attribute. b : float another attribute Methods ------- func : description toto """ def __init__(self, a, b): self.a = a self.b = b def func(self, a, b): r""" A simple function describe here. Parameters ---------- a : float a number b : float another number Return ------ func : float a number Examples -------- >>> a = 2; b = 3 >>> foo.Bar(a,b).func(a+1,b+1) 2 3 4 5 See Also -------- f1 : Function with its description. """ print self.a, self.b print a, b -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Thu Jun 3 06:05:00 2010 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Thu, 3 Jun 2010 03:05:00 -0700 Subject: [Numpy-discussion] numpy documentation In-Reply-To: References: Message-ID: Hi Nicolas On 3 June 2010 02:03, Nicolas Gruel wrote: > Another question, it's seems that the rst file for each function in numpy > are autogenerated. Can you give me any information how to do it, please? I > didn't find it on numpy website but I probably miss the good link... For auto-generating an API, have a look at this thread: http://groups.google.com/group/sphinx-dev/browse_thread/thread/595ef2eff60084c5/ Regards St?fan From nicolas.gruel at gmail.com Thu Jun 3 06:32:55 2010 From: nicolas.gruel at gmail.com (Nicolas Gruel) Date: Thu, 3 Jun 2010 12:32:55 +0200 Subject: [Numpy-discussion] numpy documentation In-Reply-To: References: Message-ID: Hi Stefan, It's seems that can be very useful indeed. I will give a try. Thank you. Nicolas 2010/6/3 St?fan van der Walt > Hi Nicolas > > On 3 June 2010 02:03, Nicolas Gruel wrote: > > Another question, it's seems that the rst file for each function in numpy > > are autogenerated. Can you give me any information how to do it, please? > I > > didn't find it on numpy website but I probably miss the good link... > > For auto-generating an API, have a look at this thread: > > > http://groups.google.com/group/sphinx-dev/browse_thread/thread/595ef2eff60084c5/ > > Regards > St?fan > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From arthurdeconihout at gmail.com Thu Jun 3 06:49:34 2010 From: arthurdeconihout at gmail.com (arthur de conihout) Date: Thu, 3 Jun 2010 12:49:34 +0200 Subject: [Numpy-discussion] "Dynamic convolution" in Numpy Message-ID: Hello everybody i m fighting with a dynamic binaural synthesis(can give more hints on it if necessary). i would like to modify the sound playing according to listener's head position. I got special filters(binaural ones) per head position that i convolve in real time with a monophonic sound.When the head moves i want to be able to play the next position version of the stereo generated sound but from the playing position(bit number in the unpacked datas) of the previous one.My problem is to hamper audible artefacts due to transition. At moment i m only using *short audio wav* that i play and repeat if necessary entirely because my positionning resolution is 15? degrees.Evolution of head angle position let time for the whole process to operate (getting position->choosing corresponding filter->convolution->play sound) *For long **audio wav* I could make a fade-in fade-out from the transition point but i have no idea how to implement it(i m using audiolab and numpy for convolution) An other solution could be dynamic filtering means when i change position i convolve the next position filter from the place the playing must stop for the previous one(but won't pratically stop to let the next convolution operates on enough frames) in accordance with the filter frame length(all the filters are impulse response of the same lenght 128). The "drawing" i introduce just below is my mental representation of what i m looking to implement, i already apologize for its crapitude (and one of my brain too): t0_________t1__t2__t3___________________________________________________________t=len(stimulus) monophonic sound(time and bit position in the unpacked datas) C1C1C1C1C1C1C1C1C1C1C1... running convolution with filter 1 corresponding to position 1 (ex: angle from reference=15?) P1_______ sound playing 1 ^ position 2 detection(angle=30?) C2C2C2C2C2C2C2C2C2C2C2... running convolution with filter 2 P1_____x keep playing 1 for convolution 2 to operate on enough frames (latency) FIFO fade in fade out P2_________ sound playing 2 I don't know if i made myself very clear. if anyone has suggestions or has already operated a dynamic filtering i would be well interested. Cheers Arthur -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.huard at gmail.com Thu Jun 3 09:17:37 2010 From: david.huard at gmail.com (David Huard) Date: Thu, 3 Jun 2010 09:17:37 -0400 Subject: [Numpy-discussion] "Dynamic convolution" in Numpy In-Reply-To: References: Message-ID: Hi Arthur, I've no experience whatsoever with what you are doing, but my first thought was why don't you compute all possible versions beforehand and then progressively switch from one version to another by interpolation between the different versions. If the resolution is 15 degrees, there aren't that many versions to compute beforehand. David On Thu, Jun 3, 2010 at 6:49 AM, arthur de conihout < arthurdeconihout at gmail.com> wrote: > Hello everybody > > i m fighting with a dynamic binaural synthesis(can give more hints on it if > necessary). > > i would like to modify the sound playing according to listener's head > position. I got special filters(binaural ones) per head position that i > convolve in real time with a monophonic sound.When the head moves i want to > be able to play the next position version of the stereo generated sound but > from the playing position(bit number in the unpacked datas) of the previous > one.My problem is to hamper audible artefacts due to transition. > At moment i m only using *short audio wav* that i play and repeat if > necessary entirely because my positionning resolution is 15? > degrees.Evolution of head angle position let time for the whole process to > operate (getting position->choosing corresponding filter->convolution->play > sound) > > *For long **audio wav* I could make a fade-in fade-out from the transition > point but i have no idea how to implement it(i m using audiolab and numpy > for convolution) > > An other solution could be dynamic filtering means when i change position i > convolve the next position filter from the place the playing must stop for > the previous one(but won't pratically stop to let the next convolution > operates on enough frames) in accordance with the filter frame length(all > the filters are impulse response of the same lenght 128). > > The "drawing" i introduce just below is my mental representation of what i > m looking to implement, i already apologize for its crapitude (and one of my > brain too): > > > t0_________t1__t2__t3___________________________________________________________t=len(stimulus) > monophonic sound(time and bit position in the unpacked datas) > > C1C1C1C1C1C1C1C1C1C1C1... > running convolution with filter 1 corresponding to position 1 (ex: angle > from reference=15?) > > P1_______ > sound playing 1 > > ^ > position 2 detection(angle=30?) > > C2C2C2C2C2C2C2C2C2C2C2... > running convolution with filter 2 > > P1_____x > keep playing 1 for convolution 2 to operate on enough > frames (latency) > > FIFO > fade in fade out > > P2_________ > sound playing 2 > > > I don't know if i made myself very clear. > > if anyone has suggestions or has already operated a dynamic filtering i > would be well interested. > > Cheers > > Arthur > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From arthurdeconihout at gmail.com Thu Jun 3 09:52:53 2010 From: arthurdeconihout at gmail.com (arthur de conihout) Date: Thu, 3 Jun 2010 15:52:53 +0200 Subject: [Numpy-discussion] "Dynamic convolution" in Numpy In-Reply-To: References: Message-ID: Hi, thanks for your answer *why don't you compute all possible versions beforehand* thats exactly what i m doing presently cause i m using a 187 filters database(azimuth and elevation).I would love to be able to reduce the angle thread under 5? which triggers around 1000 files to produce.For a 3Mb original sound file, it becomes huge. Thanks Arthur 2010/6/3 David Huard > Hi Arthur, > > I've no experience whatsoever with what you are doing, but my first thought > was why don't you compute all possible versions beforehand and then > progressively switch from one version to another by interpolation between > the different versions. If the resolution is 15 degrees, there aren't that > many versions to compute beforehand. > > David > > On Thu, Jun 3, 2010 at 6:49 AM, arthur de conihout < > arthurdeconihout at gmail.com> wrote: > >> Hello everybody >> >> i m fighting with a dynamic binaural synthesis(can give more hints on it >> if necessary). >> >> i would like to modify the sound playing according to listener's head >> position. I got special filters(binaural ones) per head position that i >> convolve in real time with a monophonic sound.When the head moves i want to >> be able to play the next position version of the stereo generated sound but >> from the playing position(bit number in the unpacked datas) of the previous >> one.My problem is to hamper audible artefacts due to transition. >> At moment i m only using *short audio wav* that i play and repeat if >> necessary entirely because my positionning resolution is 15? >> degrees.Evolution of head angle position let time for the whole process to >> operate (getting position->choosing corresponding filter->convolution->play >> sound) >> >> *For long **audio wav* I could make a fade-in fade-out from the >> transition point but i have no idea how to implement it(i m using audiolab >> and numpy for convolution) >> >> An other solution could be dynamic filtering means when i change position >> i convolve the next position filter from the place the playing must stop for >> the previous one(but won't pratically stop to let the next convolution >> operates on enough frames) in accordance with the filter frame length(all >> the filters are impulse response of the same lenght 128). >> >> The "drawing" i introduce just below is my mental representation of what i >> m looking to implement, i already apologize for its crapitude (and one of my >> brain too): >> >> >> t0_________t1__t2__t3___________________________________________________________t=len(stimulus) >> monophonic sound(time and bit position in the unpacked datas) >> >> C1C1C1C1C1C1C1C1C1C1C1... >> running convolution with filter 1 corresponding to position 1 (ex: angle >> from reference=15?) >> >> P1_______ >> sound playing 1 >> >> ^ >> position 2 detection(angle=30?) >> >> C2C2C2C2C2C2C2C2C2C2C2... >> running convolution with filter 2 >> >> P1_____x >> keep playing 1 for convolution 2 to operate on enough >> frames (latency) >> >> FIFO >> fade in fade out >> >> P2_________ >> sound playing 2 >> >> >> I don't know if i made myself very clear. >> >> if anyone has suggestions or has already operated a dynamic filtering i >> would be well interested. >> >> Cheers >> >> Arthur >> >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sierra_mtnview at sbcglobal.net Thu Jun 3 11:32:58 2010 From: sierra_mtnview at sbcglobal.net (Wayne Watson) Date: Thu, 03 Jun 2010 08:32:58 -0700 Subject: [Numpy-discussion] Coordinate Camera Optics for Astrophotography -- sin(zenith) Message-ID: <4C07CB2A.4090406@sbcglobal.net> It's been quite awhile since I've dealt with spherical geometry and related matters. I'm looking at a paper involving a camera and a photographic plate. The author is trying to determine the center of projection, (x0,y0), on the plate,and the rotation (or the lens, a0 (azimuth), for a lens on the plate. He forms a difference function to solve for these parameters for a0, x0, and y0. In doing so, he mentions that he needs to introduce sin(zi(cat)), "..., which converts differences in azimuth to the great-circle angular distances comparable to differences in zi." zi is the i-th observation in the zenith angle (measured from the zenith) and (cat) is the cataloged angle for a star on the plate. My question is where does the sin(zenith) come from? Does it have something to do with measuring an arc on a sphere for a plane that cuts through the sphere perpendicular to the x-y axis? In other words, something like measuring an arc of latitude at 60 degrees for someone who lives between a longitude of say 121 and 125 degrees of longitude. Is there a book or source that gets into such matters for various lens used in astronomy? The topic is more or less trying to determine properties of an objective lens that may have non-linear features. I can provide an excerpt from the paper, if the above is not clear. -- Wayne Watson (Watson Adventures, Prop., Nevada City, CA) (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) Obz Site: 39? 15' 7" N, 121? 2' 32" W, 2700 feet "Science and democracy are based on the rejection "of dogma." -- Dick Taverne, The March of Unreason Web Page: From friedrichromstedt at gmail.com Thu Jun 3 12:00:33 2010 From: friedrichromstedt at gmail.com (Friedrich Romstedt) Date: Thu, 3 Jun 2010 18:00:33 +0200 Subject: [Numpy-discussion] 2d binning on regular grid In-Reply-To: <94aac46e601fa4ed432b86859b6bea8b.squirrel@srv2.hilboll.net> References: <94aac46e601fa4ed432b86859b6bea8b.squirrel@srv2.hilboll.net> Message-ID: Hello Andreas, please see this as a side remark. A colleague of mine made me aware of a very beautiful thing about covering spheres by evenly spaced points: http://healpix.jpl.nasa.gov/ Since you want to calculate mean and stddev, to my understanding a grid in longitude/latitude is without proper weighting factors problematic. Do you use weighting factors? If yes, of what kind? For Healpix, there exists exists a Python binding, but I never worked with it. Friedrich From friedrichromstedt at gmail.com Thu Jun 3 12:28:22 2010 From: friedrichromstedt at gmail.com (Friedrich Romstedt) Date: Thu, 3 Jun 2010 18:28:22 +0200 Subject: [Numpy-discussion] "Dynamic convolution" in Numpy In-Reply-To: References: Message-ID: Have you ever considered using pygame? Afaik, it is based on SDL and therefore should support realtime mixing and writing to the sound buffer simultaneously as it is played back. I did not check the gory details but it seems that pygame has the Mixer interface from SDL, good luck! For your thing in principle, when your HRIRs are not tooo long, why not calculate each frame of audio by integrating the convolution integral only at time t? Or you could do a cyclic buffer, and add each time instance the current HRIR to it, as multiplied with the current frame. You even do not have to do this in advance. In principle, just copy the cyclic generator buffer to the audio buffer as the time instances arrive? Friedrich From friedrichromstedt at gmail.com Thu Jun 3 12:36:36 2010 From: friedrichromstedt at gmail.com (Friedrich Romstedt) Date: Thu, 3 Jun 2010 18:36:36 +0200 Subject: [Numpy-discussion] Coordinate Camera Optics for Astrophotography -- sin(zenith) In-Reply-To: <4C07CB2A.4090406@sbcglobal.net> References: <4C07CB2A.4090406@sbcglobal.net> Message-ID: Maybe it has to do with the fact that at the zenith any difference in rectascension means essentially no change? Friedrich From kwgoodman at gmail.com Thu Jun 3 13:07:01 2010 From: kwgoodman at gmail.com (Keith Goodman) Date: Thu, 3 Jun 2010 10:07:01 -0700 Subject: [Numpy-discussion] actual, desired versus x, y Message-ID: Some of the numpy.testing assert functions call the input x and y, others call it actual and desired: >> actual = np.array([1+1j]) >> desired = np.array([2+2j]) >> assert_almost_equal(actual, desired) AssertionError: Items are not equal: ACTUAL: [ 1.+1.j] DESIRED: [ 2.+2.j] >> assert_almost_equal(actual.real, desired.real) (mismatch 100.0%) x: array([ 1.]) y: array([ 2.]) I like the actual and desired, helps me remember which is which. BTW: numpy.testing is very handy! From kwgoodman at gmail.com Thu Jun 3 13:12:26 2010 From: kwgoodman at gmail.com (Keith Goodman) Date: Thu, 3 Jun 2010 10:12:26 -0700 Subject: [Numpy-discussion] actual, desired versus x, y In-Reply-To: References: Message-ID: On Thu, Jun 3, 2010 at 10:07 AM, Keith Goodman wrote: > Some of the numpy.testing assert functions call the input x and y, > others call it actual and desired: > >>> actual = np.array([1+1j]) >>> desired = np.array([2+2j]) > >>> assert_almost_equal(actual, desired) > > AssertionError: Items are not equal: > ACTUAL: [ 1.+1.j] > DESIRED: [ 2.+2.j] > >>> assert_almost_equal(actual.real, desired.real) > > (mismatch 100.0%) > ?x: array([ 1.]) > ?y: array([ 2.]) > > I like the actual and desired, helps me remember which is which. > > BTW: numpy.testing is very handy! I think it would be easier to read the output if the x or actual was on a separate line. Then the rows of the arrays would line up. current: (mismatch 62.5%) x: array([[ 1., NaN, 2., NaN, NaN], [ 2., 2., NaN, NaN, NaN], [ 3., 4., 4., 1., NaN]]) y: array([[ 1., NaN, 1., NaN, NaN], [ 2., 1., NaN, NaN, NaN], [ 3., 3., 3., 2., NaN]]) suggested (but alignment will be lost unless you're reading this in a fix width font): (mismatch 62.5%) x: array([[ 1., NaN, 2., NaN, NaN], [ 2., 2., NaN, NaN, NaN], [ 3., 4., 4., 1., NaN]]) y: array([[ 1., NaN, 1., NaN, NaN], [ 2., 1., NaN, NaN, NaN], [ 3., 3., 3., 2., NaN]]) From efiring at hawaii.edu Thu Jun 3 13:13:49 2010 From: efiring at hawaii.edu (Eric Firing) Date: Thu, 03 Jun 2010 07:13:49 -1000 Subject: [Numpy-discussion] 2 bugs related to isinf and isfinite generate crazy warnings In-Reply-To: References: <4C070124.70902@hawaii.edu> Message-ID: <4C07E2CD.5050003@hawaii.edu> On 06/02/2010 03:24 PM, Charles R Harris wrote: > > > On Wed, Jun 2, 2010 at 7:11 PM, Eric Firing > wrote: > > http://www.mail-archive.com/numpy-discussion at scipy.org/msg23912.html > > On some systems--but evidently not for most numpy users, or there would > have been a steady stream of screams--the appearance of np.inf in any > call to np.isfinite or np.isinf yields this: > > In [1]:import numpy as np > > In [2]:np.isinf(np.inf) > Warning: invalid value encountered in isinf > Out[2]:True > > > This generates streams of warnings if np.isinf or np.isfinite is applied > to an array with many inf values. > > The problem is a combination of two bugs: > > 1) When building with setup.py, but perhaps not with scons (which I > haven't tried yet), NPY_HAVE_DECL_ISFINITE and friends are never > defined, even though they should be--this is all on ubuntu 10.4, in my > case, and isfinite and isinf most definitely are in math.h. It looks to > me like the only mechanism for defining these is in SConstruct. (Already fixed by David C.) > > 2) So, with no access to the built-in isinf etc., npy_math.h falls back > on the compact but slow macros that replace the much nicer ones that > were in numpy a year or so ago. Here is the relevant part of > npy_math.h: > > #ifndef NPY_HAVE_DECL_ISFINITE > #define npy_isfinite(x) !npy_isnan((x) + (-x)) > #else > #define npy_isfinite(x) isfinite((x)) > #endif > > #ifndef NPY_HAVE_DECL_ISINF > #define npy_isinf(x) (!npy_isfinite(x) && !npy_isnan(x)) > #else > #define npy_isinf(x) isinf((x)) > #endif > > isinf calls isfinite, and isfinite calls isnan(x-x). If x is inf, this > generates a nan, so the return value is correct--but generating that nan > set the INVALID flag, hence the warning. > > Sorry I don't have a patch to offer. > > > Open a ticket. Since this looks fixable we should get it fixed for 1.5. Done. http://projects.scipy.org/numpy/ticket/1500 Eric > > Chuck > > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion From josef.pktd at gmail.com Thu Jun 3 17:11:34 2010 From: josef.pktd at gmail.com (josef.pktd at gmail.com) Date: Thu, 3 Jun 2010 17:11:34 -0400 Subject: [Numpy-discussion] 2d binning on regular grid In-Reply-To: <94aac46e601fa4ed432b86859b6bea8b.squirrel@srv2.hilboll.net> References: <94aac46e601fa4ed432b86859b6bea8b.squirrel@srv2.hilboll.net> Message-ID: On Wed, Jun 2, 2010 at 11:40 AM, Andreas Hilboll wrote: > Hi there, > > I'm interested in the solution to a special case of the parallel thread > '2D binning', which is going on at the moment. My data is on a fine global > grid, say .125x.125 degrees. I'm looking for a way to do calculations on > coarser grids, e.g. > > * calculate means() > * calculate std() > * ... > > on a, say, 2.5x3.75 degree grid. One very crude approach would be to > iterate through latitudes and longitudes, like this: > > > latstep_orig = .125 > lonstep_orig = .125 > data_orig = > np.arange((180./latstep_orig)*(360./lonstep_orig)).reshape((180./latstep_orig,360./lonstep_orig)) > latstep_new = 2.5 > lonstep_new = 3.75 > latstep = int(latstep_new / latstep_orig) > lonstep = int(lonstep_new / lonstep_orig) > > print 'one new lat equals',latstep,'new lats' > print 'one new lon equals',lonstep,'new lons' > > result = ma.zeros((180./latstep_new,360./lonstep_new)) > latidx = 0 > while latidx*latstep_new < 180.: > ? ?lonidx = 0 > ? ?while lonidx*lonstep_new < 360.: > ? ? ? ?m = np.mean( \ > ? ? ? ? ? ?data_orig[latidx*latstep:(latidx+1)*latstep, \ > ? ? ? ? ? ?lonidx*lonstep:(lonidx+1)*lonstep]) > ? ? ? ?result[latidx,lonidx] = m > ? ? ? ?lonidx += 1 > ? ?latidx += 1 > > However, this is very crude, and I was wondering if there's any more > elegant way to do it ... > > Thanks for your insight! I thought maybe there is something in ndimage for this, but since nobody mentions it, maybe not. If there are no memory problems and my interpretation of the question is correct, then something like this might work: >>> x = np.arange(16).reshape(4,-1) >>> d = np.kron(np.eye(2),np.ones(2)) >>> s = np.dot(np.dot(d,x),d.T) >>> m = np.dot(np.dot(d,x),d.T)/4 >>> v = np.dot(np.dot(d,x**2),d.T)/4 - m**2 >>> x array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11], [12, 13, 14, 15]]) >>> s array([[ 10., 18.], [ 42., 50.]]) >>> m array([[ 2.5, 4.5], [ 10.5, 12.5]]) >>> v array([[ 4.25, 4.25], [ 4.25, 4.25]]) >>> x[:2,:2].sum() 10 >>> x[:2,:2].mean() 2.5 >>> x[:2,:2].var() 4.25 Josef > A. > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From sierra_mtnview at sbcglobal.net Thu Jun 3 21:51:08 2010 From: sierra_mtnview at sbcglobal.net (Wayne Watson) Date: Thu, 03 Jun 2010 18:51:08 -0700 Subject: [Numpy-discussion] Coordinate Camera Optics for Astrophotography -- sin(zenith) In-Reply-To: References: <4C07CB2A.4090406@sbcglobal.net> Message-ID: <4C085C0C.4040505@sbcglobal.net> Certainly azimuth arcs get smaller as one gets closer to the zenith, so I think it's a formulation of that. It's sort of like the latitude example. On 6/3/2010 9:36 AM, Friedrich Romstedt wrote: > Maybe it has to do with the fact that at the zenith any difference in > rectascension means essentially no change? > > Friedrich > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > -- Wayne Watson (Watson Adventures, Prop., Nevada City, CA) (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) Obz Site: 39? 15' 7" N, 121? 2' 32" W, 2700 feet "Science and democracy are based on the rejection "of dogma." -- Dick Taverne, The March of Unreason Web Page: From sierra_mtnview at sbcglobal.net Fri Jun 4 00:24:07 2010 From: sierra_mtnview at sbcglobal.net (Wayne Watson) Date: Thu, 03 Jun 2010 21:24:07 -0700 Subject: [Numpy-discussion] Numerical Recipes (for Python)? In-Reply-To: References: <4C05D0FE.7010300@sbcglobal.net> Message-ID: <4C087FE7.6010503@sbcglobal.net> The link below leads me to http://numpy.scipy.org/, with or without the whatever. IRAF is not mentioned on the home page. On 6/1/2010 9:04 PM, Anne Archibald wrote: > On 2 June 2010 00:33, Wayne Watson wrote: > >> Subject is a book title from some many years ago, I wonder if it ever >> got to Python? I know there were C and Fortran versions. >> > There is no Numerical Recipes for python. The main reason there isn't > a NR for python is that practically everything they discuss is already > implemented as python libraries, and most of it is in numpy and/or > scipy. (Their algorithms are also not suitable for pure-python > implementation, but that's a whole other discussion.) > > I should also say that while NR is justifiably famous for its > explanations of numerical issues, its code is not under a free license > (so you may not use it without the authors' permission) and many > people feel it has many bugs. The algorithms they discuss are also not > always the best available. > > I generally recommend that people doing scientific programming read > all or part of NR to understand the algorithms' limitations but then > use the implementations available in > numpy/scipy/scikits/IRAF/whatever. > > Anne > > >> -- >> Wayne Watson (Watson Adventures, Prop., Nevada City, CA) >> >> (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) >> Obz Site: 39? 15' 7" N, 121? 2' 32" W, 2700 feet >> >> "Science and democracy are based on the rejection >> "of dogma." -- Dick Taverne, The March of Unreason >> >> >> Web Page: >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -- Wayne Watson (Watson Adventures, Prop., Nevada City, CA) (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) Obz Site: 39? 15' 7" N, 121? 2' 32" W, 2700 feet "Science and democracy are based on the rejection "of dogma." -- Dick Taverne, The March of Unreason Web Page: From aarchiba at physics.mcgill.ca Fri Jun 4 02:09:31 2010 From: aarchiba at physics.mcgill.ca (Anne Archibald) Date: Fri, 4 Jun 2010 02:09:31 -0400 Subject: [Numpy-discussion] Numerical Recipes (for Python)? In-Reply-To: <4C087FE7.6010503@sbcglobal.net> References: <4C05D0FE.7010300@sbcglobal.net> <4C087FE7.6010503@sbcglobal.net> Message-ID: On 4 June 2010 00:24, Wayne Watson wrote: > The link below leads me to http://numpy.scipy.org/, with or without the > whatever. IRAF is not mentioned on the home page. Um. I was not being specific. For a concrete example of what I mean, suppose you wanted to solve an ordinary differential equation. I would recommend you read the chapter on ODEs in Numerical Recipes in (say) C. This would talk about adaptive versus fixed step sizes, how to convert higher-order ODEs into first-order ODEs, how to formulate and solve boundary value problems, and so on. It would also describe in detail one particular adaptive integrator, a Runge-Kutta 4/5 integrator. My recommendation would be to take that understanding of what integrators can and can't do and how they should be treated, and then use scipy.integrate.odeint or scipy.integrate.ode to solve your actual problem. These two packages contain careful thoroughly-tested implementations of adaptive integrators of the sort described in NR. They will correctly handle all sorts of awkward special cases, and are fairly hard to fool. If these are not sufficient (and I know their interface in scipy is not ideal) I'd recommend going to pydstool, which has a much more flexible interface, better performance, and more modern algorithms under the hood. Only in extremis would I consider implementing my own ODE solver: perhaps if I needed one with special features (a symplectic integrator, perhaps) and I couldn't find public well-tested code to do that. So: read Numerical Recipes, by all means, in any programming language you like; but use, if at all possible, existing libraries rather than implementing anything described in NR. Getting numerical code right is really hard. Let someone else do it for you. In the case of python, scipy itself is pretty much a library providing what's in NR. Anne > On 6/1/2010 9:04 PM, Anne Archibald wrote: >> On 2 June 2010 00:33, Wayne Watson ?wrote: >> >>> Subject is a book title from some many years ago, I wonder if it ever >>> got to Python? I know there were C and Fortran versions. >>> >> There is no Numerical Recipes for python. The main reason there isn't >> a NR for python is that practically everything they discuss is already >> implemented as python libraries, and most of it is in numpy and/or >> scipy. (Their algorithms are also not suitable for pure-python >> implementation, but that's a whole other discussion.) >> >> I should also say that while NR is justifiably famous for its >> explanations of numerical issues, its code is not under a free license >> (so you may not use it without the authors' permission) and many >> people feel it has many bugs. The algorithms they discuss are also not >> always the best available. >> >> I generally recommend that people doing scientific programming read >> all or part of NR to understand the algorithms' limitations but then >> use the implementations available in >> numpy/scipy/scikits/IRAF/whatever. >> >> Anne >> >> >>> -- >>> ? ? ? ? ? ? Wayne Watson (Watson Adventures, Prop., Nevada City, CA) >>> >>> ? ? ? ? ? ? ? (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) >>> ? ? ? ? ? ? ? ?Obz Site: ?39? 15' 7" N, 121? 2' 32" W, 2700 feet >>> >>> ? ? ? ? ? ? ? ? "Science and democracy are based on the rejection >>> ? ? ? ? ? ? ? ? "of dogma." ?-- Dick Taverne, The March of Unreason >>> >>> >>> ? ? ? ? ? ? ? ? ? ? ?Web Page: >>> >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >>> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > > -- > ? ? ? ? ? ?Wayne Watson (Watson Adventures, Prop., Nevada City, CA) > > ? ? ? ? ? ? ?(121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) > ? ? ? ? ? ? ? Obz Site: ?39? 15' 7" N, 121? 2' 32" W, 2700 feet > > ? ? ? ? ? ? ? ?"Science and democracy are based on the rejection > ? ? ? ? ? ? ? ?"of dogma." ?-- Dick Taverne, The March of Unreason > > > ? ? ? ? ? ? ? ? ? ? Web Page: > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From vs at it.uu.se Fri Jun 4 10:04:05 2010 From: vs at it.uu.se (Virgil Stokes) Date: Fri, 04 Jun 2010 16:04:05 +0200 Subject: [Numpy-discussion] Numerical Recipes (for Python)? In-Reply-To: References: <4C05D0FE.7010300@sbcglobal.net> <4C087FE7.6010503@sbcglobal.net> Message-ID: <4C0907D5.6050908@it.uu.se> On 04-Jun-2010 08:09, Anne Archibald wrote: > On 4 June 2010 00:24, Wayne Watson wrote: > >> The link below leads me to http://numpy.scipy.org/, with or without the >> whatever. IRAF is not mentioned on the home page. >> > Um. I was not being specific. For a concrete example of what I mean, > suppose you wanted to solve an ordinary differential equation. I would > recommend you read the chapter on ODEs in Numerical Recipes in (say) > C. This would talk about adaptive versus fixed step sizes, how to > convert higher-order ODEs into first-order ODEs, how to formulate and > solve boundary value problems, and so on. It would also describe in > detail one particular adaptive integrator, a Runge-Kutta 4/5 > integrator. My recommendation would be to take that understanding of > what integrators can and can't do and how they should be treated, and > then use scipy.integrate.odeint or scipy.integrate.ode to solve your > actual problem. These two packages contain careful thoroughly-tested > implementations of adaptive integrators of the sort described in NR. > They will correctly handle all sorts of awkward special cases, and are > fairly hard to fool. If these are not sufficient (and I know their > interface in scipy is not ideal) I'd recommend going to pydstool, > which has a much more flexible interface, better performance, and more > modern algorithms under the hood. Only in extremis would I consider > implementing my own ODE solver: perhaps if I needed one with special > features (a symplectic integrator, perhaps) and I couldn't find public > well-tested code to do that. > > So: read Numerical Recipes, by all means, in any programming language > you like; but use, if at all possible, existing libraries rather than > implementing anything described in NR. Getting numerical code right is > really hard. Let someone else do it for you. In the case of python, > scipy itself is pretty much a library providing what's in NR. > > Anne > > > >> On 6/1/2010 9:04 PM, Anne Archibald wrote: >> >>> On 2 June 2010 00:33, Wayne Watson ? wrote: >>> >>> >>>> Subject is a book title from some many years ago, I wonder if it ever >>>> got to Python? I know there were C and Fortran versions. >>>> >>>> >>> There is no Numerical Recipes for python. The main reason there isn't >>> a NR for python is that practically everything they discuss is already >>> implemented as python libraries, and most of it is in numpy and/or >>> scipy. (Their algorithms are also not suitable for pure-python >>> implementation, but that's a whole other discussion.) >>> >>> I should also say that while NR is justifiably famous for its >>> explanations of numerical issues, its code is not under a free license >>> (so you may not use it without the authors' permission) and many >>> people feel it has many bugs. The algorithms they discuss are also not >>> always the best available. >>> >>> I generally recommend that people doing scientific programming read >>> all or part of NR to understand the algorithms' limitations but then >>> use the implementations available in >>> numpy/scipy/scikits/IRAF/whatever. >>> >>> Anne >>> >>> >>> >>>> -- >>>> ? ? ? ? ? ? Wayne Watson (Watson Adventures, Prop., Nevada City, CA) >>>> >>>> ? ? ? ? ? ? ? (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) >>>> ? ? ? ? ? ? ? ? Obz Site: ? 39?? 15' 7" N, 121?? 2' 32" W, 2700 feet >>>> >>>> ? ? ? ? ? ? ? ? "Science and democracy are based on the rejection >>>> ? ? ? ? ? ? ? ? "of dogma." ? -- Dick Taverne, The March of Unreason >>>> >>>> >>>> ? ? ? ? ? ? ? ? ? ? ? Web Page: >>>> >>>> _______________________________________________ >>>> NumPy-Discussion mailing list >>>> NumPy-Discussion at scipy.org >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>>> >>>> >>>> >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >>> >> -- >> ? ? ? ? ? ? Wayne Watson (Watson Adventures, Prop., Nevada City, CA) >> >> ? ? ? ? ? ? ? (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) >> ? ? ? ? ? ? ? Obz Site: ? 39?? 15' 7" N, 121?? 2' 32" W, 2700 feet >> >> ? ? ? ? ? ? ? ? "Science and democracy are based on the rejection >> ? ? ? ? ? ? ? ? "of dogma." ? -- Dick Taverne, The March of Unreason >> >> >> ? ? ? ? ? ? ? ? ? ? Web Page: >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > I agree with you Anne! --V. Stokes IT dept., Uppsala University From david.huard at gmail.com Fri Jun 4 10:55:20 2010 From: david.huard at gmail.com (David Huard) Date: Fri, 4 Jun 2010 10:55:20 -0400 Subject: [Numpy-discussion] "Dynamic convolution" in Numpy In-Reply-To: References: Message-ID: On Thu, Jun 3, 2010 at 9:52 AM, arthur de conihout < arthurdeconihout at gmail.com> wrote: > Hi, > thanks for your answer > > *why don't you compute all possible versions beforehand* > > > thats exactly what i m doing presently cause i m using a 187 filters > database(azimuth and elevation).I would love to be able to reduce the angle > thread under 5? which triggers around 1000 files to produce.For a 3Mb > original sound file, it becomes huge. > > Indeed ! I'll be curious to see what solutions ends up working best. Keep us posted. David > Thanks > > Arthur > > > 2010/6/3 David Huard > > Hi Arthur, >> >> I've no experience whatsoever with what you are doing, but my first >> thought was why don't you compute all possible versions beforehand and then >> progressively switch from one version to another by interpolation between >> the different versions. If the resolution is 15 degrees, there aren't that >> many versions to compute beforehand. >> >> David >> >> On Thu, Jun 3, 2010 at 6:49 AM, arthur de conihout < >> arthurdeconihout at gmail.com> wrote: >> >>> Hello everybody >>> >>> i m fighting with a dynamic binaural synthesis(can give more hints on it >>> if necessary). >>> >>> i would like to modify the sound playing according to listener's head >>> position. I got special filters(binaural ones) per head position that i >>> convolve in real time with a monophonic sound.When the head moves i want to >>> be able to play the next position version of the stereo generated sound but >>> from the playing position(bit number in the unpacked datas) of the previous >>> one.My problem is to hamper audible artefacts due to transition. >>> At moment i m only using *short audio wav* that i play and repeat if >>> necessary entirely because my positionning resolution is 15? >>> degrees.Evolution of head angle position let time for the whole process to >>> operate (getting position->choosing corresponding filter->convolution->play >>> sound) >>> >>> *For long **audio wav* I could make a fade-in fade-out from the >>> transition point but i have no idea how to implement it(i m using audiolab >>> and numpy for convolution) >>> >>> An other solution could be dynamic filtering means when i change position >>> i convolve the next position filter from the place the playing must stop for >>> the previous one(but won't pratically stop to let the next convolution >>> operates on enough frames) in accordance with the filter frame length(all >>> the filters are impulse response of the same lenght 128). >>> >>> The "drawing" i introduce just below is my mental representation of what >>> i m looking to implement, i already apologize for its crapitude (and one of >>> my brain too): >>> >>> >>> t0_________t1__t2__t3___________________________________________________________t=len(stimulus) >>> monophonic sound(time and bit position in the unpacked datas) >>> >>> C1C1C1C1C1C1C1C1C1C1C1... >>> running convolution with filter 1 corresponding to position 1 (ex: angle >>> from reference=15?) >>> >>> P1_______ >>> sound playing 1 >>> >>> ^ >>> position 2 detection(angle=30?) >>> >>> C2C2C2C2C2C2C2C2C2C2C2... >>> running convolution with filter 2 >>> >>> P1_____x >>> keep playing 1 for convolution 2 to operate on enough >>> frames (latency) >>> >>> FIFO >>> fade in fade out >>> >>> P2_________ >>> sound playing 2 >>> >>> >>> I don't know if i made myself very clear. >>> >>> if anyone has suggestions or has already operated a dynamic filtering i >>> would be well interested. >>> >>> Cheers >>> >>> Arthur >>> >>> >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >>> >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sierra_mtnview at sbcglobal.net Fri Jun 4 14:32:46 2010 From: sierra_mtnview at sbcglobal.net (Wayne Watson) Date: Fri, 04 Jun 2010 11:32:46 -0700 Subject: [Numpy-discussion] Numerical Recipes (for Python)? In-Reply-To: References: <4C05D0FE.7010300@sbcglobal.net> <4C087FE7.6010503@sbcglobal.net> Message-ID: <4C0946CE.1010803@sbcglobal.net> At one point in my career I was very familiar, and that's an understatement :-), with many of these methods (NR and beyond). I have zero interest in implementing them.I do not need explanations of the theory behind them. What I need to know is where some of these methods exist in libraries? Optimization (linear, nonlinear), regression (multiple, stepwise, and others), matrix inverse, eigenvalues, Fourier transforms, ..., on and on I would expect to find a site that lists all of them, and I can pick the ones I need. Python of course. On 6/3/2010 11:09 PM, Anne Archibald wrote: > On 4 June 2010 00:24, Wayne Watson wrote: > >> The link below leads me to http://numpy.scipy.org/, with or without the >> whatever. IRAF is not mentioned on the home page. >> > Um. I was not being specific. For a concrete example of what I mean, > suppose you wanted to solve an ordinary differential equation. I would > recommend you read the chapter on ODEs in Numerical Recipes in (say) > C. This would talk about adaptive versus fixed step sizes, how to > convert higher-order ODEs into first-order ODEs, how to formulate and > solve boundary value problems, and so on. It would also describe in > detail one particular adaptive integrator, a Runge-Kutta 4/5 > integrator. My recommendation would be to take that understanding of > what integrators can and can't do and how they should be treated, and > then use scipy.integrate.odeint or scipy.integrate.ode to solve your > actual problem. These two packages contain careful thoroughly-tested > implementations of adaptive integrators of the sort described in NR. > They will correctly handle all sorts of awkward special cases, and are > fairly hard to fool. If these are not sufficient (and I know their > interface in scipy is not ideal) I'd recommend going to pydstool, > which has a much more flexible interface, better performance, and more > modern algorithms under the hood. Only in extremis would I consider > implementing my own ODE solver: perhaps if I needed one with special > features (a symplectic integrator, perhaps) and I couldn't find public > well-tested code to do that. > > So: read Numerical Recipes, by all means, in any programming language > you like; but use, if at all possible, existing libraries rather than > implementing anything described in NR. Getting numerical code right is > really hard. Let someone else do it for you. In the case of python, > scipy itself is pretty much a library providing what's in NR. > > Anne > > > >> On 6/1/2010 9:04 PM, Anne Archibald wrote: >> >>> On 2 June 2010 00:33, Wayne Watson wrote: >>> >>> >>>> Subject is a book title from some many years ago, I wonder if it ever >>>> got to Python? I know there were C and Fortran versions. >>>> >>>> >>> There is no Numerical Recipes for python. The main reason there isn't >>> a NR for python is that practically everything they discuss is already >>> implemented as python libraries, and most of it is in numpy and/or >>> scipy. (Their algorithms are also not suitable for pure-python >>> implementation, but that's a whole other discussion.) >>> >>> I should also say that while NR is justifiably famous for its >>> explanations of numerical issues, its code is not under a free license >>> (so you may not use it without the authors' permission) and many >>> people feel it has many bugs. The algorithms they discuss are also not >>> always the best available. >>> >>> I generally recommend that people doing scientific programming read >>> all or part of NR to understand the algorithms' limitations but then >>> use the implementations available in >>> numpy/scipy/scikits/IRAF/whatever. >>> >>> Anne >>> >>> >>> >>>> -- >>>> Wayne Watson (Watson Adventures, Prop., Nevada City, CA) >>>> >>>> (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) >>>> Obz Site: 39? 15' 7" N, 121? 2' 32" W, 2700 feet >>>> >>>> "Science and democracy are based on the rejection >>>> "of dogma." -- Dick Taverne, The March of Unreason >>>> >>>> >>>> Web Page: >>>> >>>> _______________________________________________ >>>> NumPy-Discussion mailing list >>>> NumPy-Discussion at scipy.org >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>>> >>>> >>>> >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >>> >> -- >> Wayne Watson (Watson Adventures, Prop., Nevada City, CA) >> >> (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) >> Obz Site: 39? 15' 7" N, 121? 2' 32" W, 2700 feet >> >> "Science and democracy are based on the rejection >> "of dogma." -- Dick Taverne, The March of Unreason >> >> >> Web Page: >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -- Wayne Watson (Watson Adventures, Prop., Nevada City, CA) (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) Obz Site: 39? 15' 7" N, 121? 2' 32" W, 2700 feet "Science and democracy are based on the rejection "of dogma." -- Dick Taverne, The March of Unreason Web Page: From aarchiba at physics.mcgill.ca Fri Jun 4 14:50:03 2010 From: aarchiba at physics.mcgill.ca (Anne Archibald) Date: Fri, 4 Jun 2010 14:50:03 -0400 Subject: [Numpy-discussion] Numerical Recipes (for Python)? In-Reply-To: <4C0946CE.1010803@sbcglobal.net> References: <4C05D0FE.7010300@sbcglobal.net> <4C087FE7.6010503@sbcglobal.net> <4C0946CE.1010803@sbcglobal.net> Message-ID: On 4 June 2010 14:32, Wayne Watson wrote: > At one point in my career I was very familiar, and that's an > understatement :-), with many of these methods (NR and beyond). I have > zero interest in implementing them.I do not need explanations of the > theory behind them. What I need to know is where some of these methods > exist in libraries? Optimization (linear, nonlinear), regression > (multiple, stepwise, and others), matrix inverse, eigenvalues, Fourier > transforms, ..., on and on I would expect to find a site that lists > all of them, and I can pick the ones I need. Python of course. Read the scipy documentation. Anne > > On 6/3/2010 11:09 PM, Anne Archibald wrote: >> On 4 June 2010 00:24, Wayne Watson wrote: >> >>> The link below leads me to http://numpy.scipy.org/, with or without the >>> whatever. IRAF is not mentioned on the home page. >>> >> Um. I was not being specific. For a concrete example of what I mean, >> suppose you wanted to solve an ordinary differential equation. I would >> recommend you read the chapter on ODEs in Numerical Recipes in (say) >> C. This would talk about adaptive versus fixed step sizes, how to >> convert higher-order ODEs into first-order ODEs, how to formulate and >> solve boundary value problems, and so on. It would also describe in >> detail one particular adaptive integrator, a Runge-Kutta 4/5 >> integrator. My recommendation would be to take that understanding of >> what integrators can and can't do and how they should be treated, and >> then use scipy.integrate.odeint or scipy.integrate.ode to solve your >> actual problem. These two packages contain careful thoroughly-tested >> implementations of adaptive integrators of the sort described in NR. >> They will correctly handle all sorts of awkward special cases, and are >> fairly hard to fool. If these are not sufficient (and I know their >> interface in scipy is not ideal) I'd recommend going to pydstool, >> which has a much more flexible interface, better performance, and more >> modern algorithms under the hood. Only in extremis would I consider >> implementing my own ODE solver: perhaps if I needed one with special >> features (a symplectic integrator, perhaps) and I couldn't find public >> well-tested code to do that. >> >> So: read Numerical Recipes, by all means, in any programming language >> you like; but use, if at all possible, existing libraries rather than >> implementing anything described in NR. Getting numerical code right is >> really hard. Let someone else do it for you. In the case of python, >> scipy itself is pretty much a library providing what's in NR. >> >> Anne >> >> >> >>> On 6/1/2010 9:04 PM, Anne Archibald wrote: >>> >>>> On 2 June 2010 00:33, Wayne Watson wrote: >>>> >>>> >>>>> Subject is a book title from some many years ago, I wonder if it ever >>>>> got to Python? I know there were C and Fortran versions. >>>>> >>>>> >>>> There is no Numerical Recipes for python. The main reason there isn't >>>> a NR for python is that practically everything they discuss is already >>>> implemented as python libraries, and most of it is in numpy and/or >>>> scipy. (Their algorithms are also not suitable for pure-python >>>> implementation, but that's a whole other discussion.) >>>> >>>> I should also say that while NR is justifiably famous for its >>>> explanations of numerical issues, its code is not under a free license >>>> (so you may not use it without the authors' permission) and many >>>> people feel it has many bugs. The algorithms they discuss are also not >>>> always the best available. >>>> >>>> I generally recommend that people doing scientific programming read >>>> all or part of NR to understand the algorithms' limitations but then >>>> use the implementations available in >>>> numpy/scipy/scikits/IRAF/whatever. >>>> >>>> Anne >>>> >>>> >>>> >>>>> -- >>>>> Wayne Watson (Watson Adventures, Prop., Nevada City, CA) >>>>> >>>>> (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) >>>>> Obz Site: 39? 15' 7" N, 121? 2' 32" W, 2700 feet >>>>> >>>>> "Science and democracy are based on the rejection >>>>> "of dogma." -- Dick Taverne, The March of Unreason >>>>> >>>>> >>>>> Web Page: >>>>> >>>>> _______________________________________________ >>>>> NumPy-Discussion mailing list >>>>> NumPy-Discussion at scipy.org >>>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>>>> >>>>> >>>>> >>>> _______________________________________________ >>>> NumPy-Discussion mailing list >>>> NumPy-Discussion at scipy.org >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>>> >>>> >>> -- >>> Wayne Watson (Watson Adventures, Prop., Nevada City, CA) >>> >>> (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) >>> Obz Site: 39? 15' 7" N, 121? 2' 32" W, 2700 feet >>> >>> "Science and democracy are based on the rejection >>> "of dogma." -- Dick Taverne, The March of Unreason >>> >>> >>> Web Page: >>> >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >>> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > > -- > Wayne Watson (Watson Adventures, Prop., Nevada City, CA) > > (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) > Obz Site: 39? 15' 7" N, 121? 2' 32" W, 2700 feet > > "Science and democracy are based on the rejection > "of dogma." -- Dick Taverne, The March of Unreason > > > Web Page: > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From ademan555 at gmail.com Fri Jun 4 18:19:27 2010 From: ademan555 at gmail.com (Dan Roberts) Date: Fri, 4 Jun 2010 15:19:27 -0700 Subject: [Numpy-discussion] Technicalities of the SVN -> GIT transition In-Reply-To: References: Message-ID: Sorry to interrupt, but do you have a usable, up to date cloneable git repository somewhere? I noticed that you had a repository on github, but it's about a month out of date. I understand if what you're working on isn't ready to be cloned from yet. In the meantime I can use git-svn, but I figured if you had something better, I'd use that. Thanks, Dan On Jun 1, 2010 12:59 AM, "David Cournapeau" wrote: Hi there, I have looked back into the way to convert the existing numpy svn repository into git. It went quite smoothly using svn2git (developed by the KDE team for their own transition), but there are a few questions which need to be answered: - Shall we keep the old svn branches ? I think most of them are just cruft, and can be safely removed We would then just keep the release branches (in maintenance/***) - Tag conversion: svn has no notion of tags, so translating them into git tags cannot be done automatically in a safely manner (and we do have some rewritten tags in the svn repo). I was thinking about creating a small script to create them manually afterwards for the releases, in the svntags/***. - Author conversion: according to git, there are around 50 committers in numpy. Several of them are double and should be be merged I think (kern vs rkern, Travis' accounts as well), but there is also the option to set up real emails. Since email are "private", I don't want to just "scrape" them without asking permission first. I don't know how we should proceed here. The author conversion needs to be decided upfront (as changing name in committers will cause to change every sha256), tags and scrapping branches may be done later. Last time we discussed things, there were some concerns about space: the numpy git repo is around 17 Mb for the full history, 36 Mb if one includes the working tree, compared to 43 Mb for a trunk checkout from svn. The master branch (the "trunk" in git) has ~ 6500 commits. cheers, David _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion at scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthew.brett at gmail.com Fri Jun 4 18:28:52 2010 From: matthew.brett at gmail.com (Matthew Brett) Date: Fri, 4 Jun 2010 15:28:52 -0700 Subject: [Numpy-discussion] Technicalities of the SVN -> GIT transition In-Reply-To: <4C070C51.3090207@silveregg.co.jp> References: <4C04D01A.7060108@silveregg.co.jp> <4C070C51.3090207@silveregg.co.jp> Message-ID: Hi, >> I think it should be opt-in. ?How would opt-out work? ?Would someone >> create new accounts for all the contributors and then give them >> access? > > Just to be clear, this has nothing to do with accounts on github, or any > registered thing. This is *only* about username/email as recognized by > git itself (as recorded in the commit objects). Actually - isn't it better if people do give you their github username / email combo - assuming that's the easiest combo to work with later? Mine is 'matthew-brett' with this (my usual) email address, See you, Matthew From stefan at sun.ac.za Fri Jun 4 19:20:59 2010 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Fri, 4 Jun 2010 16:20:59 -0700 Subject: [Numpy-discussion] Technicalities of the SVN -> GIT transition In-Reply-To: References: Message-ID: On 4 June 2010 15:19, Dan Roberts wrote: > Sorry to interrupt, but do you have a usable, up to date cloneable git > repository somewhere? I noticed that you had a repository on github, but > it's about a month out of date.? I understand if what you're working on > isn't ready to be cloned from yet.? In the meantime I can use git-svn, but I > figured if you had something better, I'd use that. This one should be up to date: http://projects.scipy.org/git/numpy.git Regards St?fan From sierra_mtnview at sbcglobal.net Fri Jun 4 23:00:57 2010 From: sierra_mtnview at sbcglobal.net (Wayne Watson) Date: Fri, 04 Jun 2010 20:00:57 -0700 Subject: [Numpy-discussion] Numerical Recipes (for Python)? In-Reply-To: References: <4C05D0FE.7010300@sbcglobal.net> <4C087FE7.6010503@sbcglobal.net> <4C0946CE.1010803@sbcglobal.net> Message-ID: <4C09BDE9.3020805@sbcglobal.net> Got it. Thusly, . On 6/4/2010 11:50 AM, Anne Archibald wrote: > On 4 June 2010 14:32, Wayne Watson wrote: > >> At one point in my career I was very familiar, and that's an >> understatement :-), with many of these methods (NR and beyond). I have >> zero interest in implementing them.I do not need explanations of the >> theory behind them. What I need to know is where some of these methods >> exist in libraries? Optimization (linear, nonlinear), regression >> (multiple, stepwise, and others), matrix inverse, eigenvalues, Fourier >> transforms, ..., on and on I would expect to find a site that lists >> all of them, and I can pick the ones I need. Python of course. >> > Read the scipy documentation. > > Anne > > >> On 6/3/2010 11:09 PM, Anne Archibald wrote: >> >>> On 4 June 2010 00:24, Wayne Watson wrote: >>> >>> >>>> The link below leads me to http://numpy.scipy.org/, with or without the >>>> whatever. IRAF is not mentioned on the home page. >>>> >>>> >>> Um. I was not being specific. For a concrete example of what I mean, >>> suppose you wanted to solve an ordinary differential equation. I would >>> recommend you read the chapter on ODEs in Numerical Recipes in (say) >>> C. This would talk about adaptive versus fixed step sizes, how to >>> convert higher-order ODEs into first-order ODEs, how to formulate and >>> solve boundary value problems, and so on. It would also describe in >>> detail one particular adaptive integrator, a Runge-Kutta 4/5 >>> integrator. My recommendation would be to take that understanding of >>> what integrators can and can't do and how they should be treated, and >>> then use scipy.integrate.odeint or scipy.integrate.ode to solve your >>> actual problem. These two packages contain careful thoroughly-tested >>> implementations of adaptive integrators of the sort described in NR. >>> They will correctly handle all sorts of awkward special cases, and are >>> fairly hard to fool. If these are not sufficient (and I know their >>> interface in scipy is not ideal) I'd recommend going to pydstool, >>> which has a much more flexible interface, better performance, and more >>> modern algorithms under the hood. Only in extremis would I consider >>> implementing my own ODE solver: perhaps if I needed one with special >>> features (a symplectic integrator, perhaps) and I couldn't find public >>> well-tested code to do that. >>> >>> So: read Numerical Recipes, by all means, in any programming language >>> you like; but use, if at all possible, existing libraries rather than >>> implementing anything described in NR. Getting numerical code right is >>> really hard. Let someone else do it for you. In the case of python, >>> scipy itself is pretty much a library providing what's in NR. >>> >>> Anne >>> >>> >>> >>> >>>> On 6/1/2010 9:04 PM, Anne Archibald wrote: >>>> >>>> >>>>> On 2 June 2010 00:33, Wayne Watson wrote: >>>>> >>>>> >>>>> >>>>>> Subject is a book title from some many years ago, I wonder if it ever >>>>>> got to Python? I know there were C and Fortran versions. >>>>>> >>>>>> >>>>>> >>>>> There is no Numerical Recipes for python. The main reason there isn't >>>>> a NR for python is that practically everything they discuss is already >>>>> implemented as python libraries, and most of it is in numpy and/or >>>>> scipy. (Their algorithms are also not suitable for pure-python >>>>> implementation, but that's a whole other discussion.) >>>>> >>>>> I should also say that while NR is justifiably famous for its >>>>> explanations of numerical issues, its code is not under a free license >>>>> (so you may not use it without the authors' permission) and many >>>>> people feel it has many bugs. The algorithms they discuss are also not >>>>> always the best available. >>>>> >>>>> I generally recommend that people doing scientific programming read >>>>> all or part of NR to understand the algorithms' limitations but then >>>>> use the implementations available in >>>>> numpy/scipy/scikits/IRAF/whatever. >>>>> >>>>> Anne >>>>> >>>>> >>>>> >>>>> >>>>>> -- >>>>>> Wayne Watson (Watson Adventures, Prop., Nevada City, CA) >>>>>> >>>>>> (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) >>>>>> Obz Site: 39? 15' 7" N, 121? 2' 32" W, 2700 feet >>>>>> >>>>>> "Science and democracy are based on the rejection >>>>>> "of dogma." -- Dick Taverne, The March of Unreason >>>>>> >>>>>> >>>>>> Web Page: >>>>>> >>>>>> _______________________________________________ >>>>>> NumPy-Discussion mailing list >>>>>> NumPy-Discussion at scipy.org >>>>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>>>>> >>>>>> >>>>>> >>>>>> >>>>> _______________________________________________ >>>>> NumPy-Discussion mailing list >>>>> NumPy-Discussion at scipy.org >>>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>>>> >>>>> >>>>> >>>> -- >>>> Wayne Watson (Watson Adventures, Prop., Nevada City, CA) >>>> >>>> (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) >>>> Obz Site: 39? 15' 7" N, 121? 2' 32" W, 2700 feet >>>> >>>> "Science and democracy are based on the rejection >>>> "of dogma." -- Dick Taverne, The March of Unreason >>>> >>>> >>>> Web Page: >>>> >>>> _______________________________________________ >>>> NumPy-Discussion mailing list >>>> NumPy-Discussion at scipy.org >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>>> >>>> >>>> >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >>> >> -- >> Wayne Watson (Watson Adventures, Prop., Nevada City, CA) >> >> (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) >> Obz Site: 39? 15' 7" N, 121? 2' 32" W, 2700 feet >> >> "Science and democracy are based on the rejection >> "of dogma." -- Dick Taverne, The March of Unreason >> >> >> Web Page: >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -- Wayne Watson (Watson Adventures, Prop., Nevada City, CA) (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) Obz Site: 39? 15' 7" N, 121? 2' 32" W, 2700 feet "Science and democracy are based on the rejection "of dogma." -- Dick Taverne, The March of Unreason Web Page: From pav at iki.fi Sat Jun 5 10:43:19 2010 From: pav at iki.fi (Pauli Virtanen) Date: Sat, 5 Jun 2010 14:43:19 +0000 (UTC) Subject: [Numpy-discussion] Technicalities of the SVN -> GIT transition References: <4C04D01A.7060108@silveregg.co.jp> <4C070C51.3090207@silveregg.co.jp> Message-ID: Fri, 04 Jun 2010 15:28:52 -0700, Matthew Brett wrote: >>> I think it should be opt-in. ?How would opt-out work? ?Would someone >>> create new accounts for all the contributors and then give them >>> access? >> >> Just to be clear, this has nothing to do with accounts on github, or >> any registered thing. This is *only* about username/email as recognized >> by git itself (as recorded in the commit objects). > > Actually - isn't it better if people do give you their github username / > email combo - assuming that's the easiest combo to work with later? I think the Github user name is not really needed here, as what goes into the history is the Git ID: name + email address. -- Pauli Virtanen From pav at iki.fi Sat Jun 5 10:46:33 2010 From: pav at iki.fi (Pauli Virtanen) Date: Sat, 5 Jun 2010 14:46:33 +0000 (UTC) Subject: [Numpy-discussion] Technicalities of the SVN -> GIT transition References: Message-ID: Fri, 04 Jun 2010 15:19:27 -0700, Dan Roberts wrote: > Sorry to interrupt, but do you have a usable, up to date cloneable git > repository somewhere? I noticed that you had a repository on github, but > it's about a month out of date. I understand if what you're working on > isn't ready to be cloned from yet. In the meantime I can use git-svn, > but I figured if you had something better, I'd use that. See also http://projects.scipy.org/numpy/wiki/GitMirror From matthew.brett at gmail.com Sat Jun 5 11:59:05 2010 From: matthew.brett at gmail.com (Matthew Brett) Date: Sat, 5 Jun 2010 16:59:05 +0100 Subject: [Numpy-discussion] Technicalities of the SVN -> GIT transition In-Reply-To: References: <4C04D01A.7060108@silveregg.co.jp> <4C070C51.3090207@silveregg.co.jp> Message-ID: Hi, >> Actually - isn't it better if people do give you their github username / >> email combo - assuming that's the easiest combo to work with later? > > I think the Github user name is not really needed here, as what goes into > the history is the Git ID: name + email address. Yes, sorry, of course you're right, the 'name' is nothing to do with the github username. I guess we do need to send the Git ID we like to use though (in my case "Matthew Brett "). See you, Matthew From cournape at gmail.com Sun Jun 6 04:44:22 2010 From: cournape at gmail.com (David Cournapeau) Date: Sun, 6 Jun 2010 17:44:22 +0900 Subject: [Numpy-discussion] "Dynamic convolution" in Numpy In-Reply-To: References: Message-ID: On Thu, Jun 3, 2010 at 7:49 PM, arthur de conihout wrote: > I don't know if i made myself very clear. > if anyone has suggestions or has already operated a dynamic filtering i > would be well interested. Does fade-in/fade-out actually works ? I would have thought that it had killed the properties of your filters ? There are two issues: - how to do convolution fast - how to go from one filter to the other The main issue with changing filters is that your system is not LTI anymore. If your filters have finite impulse answer, I guess it should not be too much of an issue. To do convolution quickly, you need to use FFT, which is a bit tricky if you want to do things in real-time, as you need to partition the impulse response. Using "partitioned impulse answer" as keywords should give you plenty of references on how to do it, David From aarchiba at physics.mcgill.ca Sun Jun 6 11:08:06 2010 From: aarchiba at physics.mcgill.ca (Anne Archibald) Date: Sun, 6 Jun 2010 11:08:06 -0400 Subject: [Numpy-discussion] "Dynamic convolution" in Numpy In-Reply-To: References: Message-ID: On 6 June 2010 04:44, David Cournapeau wrote: > On Thu, Jun 3, 2010 at 7:49 PM, arthur de conihout > wrote: > >> I don't know if i made myself very clear. >> if anyone has suggestions or has already operated a dynamic filtering i >> would be well interested. > > Does fade-in/fade-out actually works ? I would have thought that it > had killed the properties of your filters ? > > There are two issues: > ?- how to do convolution fast > ?- how to go from one filter to the other I think the kicker is here: what is the right way to interpolate between filters? If you have, or can generate, a lot of filters, then at least you can evaluate the quality of the interpolation. The right way to understand what kind of interpolation to is to have some idea of the physics you're dealing with. In this case, as I understand it, you're dealing with the auditory effects of the head, seen from different angles. I would say that the ear senses something integrated power in logarithmically-spaced frequency bins over roughly twentieth-of-a-second time intervals. So the relevant effects you care about are amplitude absorption and time delays, if they are as long as a twentieth of a second. Doing simple linear interpolation, unfortunately, will probably get you in trouble - imagine, for example, that two impulse responses have the same amplitude at 440 Hz but different phases. A linear interpolation will change the amplitude (for example if they're 180 degrees apart it'll pass through zero). You might do better with interpolating in polar coordinates, though you might have phase wrapping issues. A really thorough approach might be to take a granular-synthesis approach to the impulse responses, breaking them up into orthogonal time-domain channels within which the response is defined by an amplitude and a time delay, which you'd interpolate in the natural way. I'd try polar interpolation on the FFTs of the amplitudes first, though (since in fact it's the same thing with the minimal possible frequency channels). I suspect that some interpolation, however unrealistic (even linear interpolation) is necessary or listeners may perceive sounds "snapping" from place to place in the aural field. > The main issue with changing filters is that your system is not LTI > anymore. If your filters have finite impulse answer, I guess it should > not be too much of an issue. To do convolution quickly, you need to > use FFT, which is a bit tricky if you want to do things in real-time, > as you need to partition the impulse response. Using "partitioned > impulse answer" as keywords should give you plenty of references on > how to do it, As far as convolution, as David says, take a look at existing algorithms and maybe even music software - there's a trade-off between the n^2 computation of a brute-force FIR filter and the delay introduced by an FFT approach, but on-the-fly convolution is a well-studied problem. Anne > David > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From pearu.peterson at gmail.com Sun Jun 6 15:19:35 2010 From: pearu.peterson at gmail.com (Pearu Peterson) Date: Sun, 6 Jun 2010 22:19:35 +0300 Subject: [Numpy-discussion] How to resize numpy.memmap? Message-ID: Hi, I am creating a rather large file (typically 100MBi-1GBi) with numpy.memmap but in some cases the initial estimate to the file size is just few bytes too small. So, I was trying to resize the memmap with a failure as demonstrated with the following example: >>> fp = numpy.memmap('test.dat', shape=(10,), mode='w+') >>> fp.resize(11, refcheck=False) ... ValueError: cannot resize this array: it does not own its data My question is, is there a way to "fix" this or may be there exist some other technique to resize memmap. I have tried resizing memmap's _mmap attribute directly: >>> fp._mmap.resize(11) >>> fp._mmap.size() 11 but the size of memmap instance remains unchanged: >>> fp.size 10 Thanks, Pearu From pearu.peterson at gmail.com Sun Jun 6 16:08:07 2010 From: pearu.peterson at gmail.com (Pearu Peterson) Date: Sun, 6 Jun 2010 23:08:07 +0300 Subject: [Numpy-discussion] How to resize numpy.memmap? In-Reply-To: References: Message-ID: Hi again, To answer to the second part of my question, here follows an example demonstrating how to "resize" a memmap: >>> fp = numpy.memmap('test.dat', shape=(10,), mode='w+') >>> fp._mmap.resize(11) >>> cp = numpy.ndarray.__new__(numpy.memmap, (fp._mmap.size(),), dtype=fp.dtype, buffer=fp._mmap, offset=0, order='C') >>> cp[-1] = 99 >>> cp[1] = 33 >>> cp memmap([ 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 99], dtype=uint8) >>> fp memmap([ 0, 33, 0, 0, 0, 0, 0, 0, 0, 0], dtype=uint8) >>> del fp, cp >>> fp = numpy.memmap('test.dat', mode='r') >>> fp memmap([ 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 99], dtype=uint8) Would there be any interest in turning the above code to numpy.memmap method, say, to resized(newshape)? For example, for resolving the original problem, one could have fp = numpy.memmap('test.dat', shape=(10,), mode='w+') fp = fp.resized(11) Regards, Pearu On Sun, Jun 6, 2010 at 10:19 PM, Pearu Peterson wrote: > Hi, > > I am creating a rather large file (typically 100MBi-1GBi) with numpy.memmap > but in some cases the initial estimate to the file size is just few > bytes too small. > So, I was trying to resize the memmap with a failure as demonstrated > with the following > example: > >>>> fp = numpy.memmap('test.dat', shape=(10,), mode='w+') >>>> fp.resize(11, refcheck=False) > ... > ValueError: cannot resize this array: ?it does not own its data > > My question is, is there a way to "fix" this or may be there exist some other > technique to resize memmap. I have tried resizing memmap's _mmap attribute > directly: > >>>> fp._mmap.resize(11) >>>> fp._mmap.size() > ? ?11 > > but the size of memmap instance remains unchanged: >>>> fp.size > ? ?10 > > Thanks, > Pearu > From kuiper at jpl.nasa.gov Sun Jun 6 20:17:47 2010 From: kuiper at jpl.nasa.gov (Tom Kuiper) Date: Sun, 06 Jun 2010 17:17:47 -0700 Subject: [Numpy-discussion] memory usage question Message-ID: <4C0C3AAB.1080209@jpl.nasa.gov> Greetings all. I have a feeling that, coming at this with a background in FORTRAN and C, I'm missing some subtlety, possibly of an OO nature. Basically, I'm looping over very large data arrays and memory usage just keeps growing even though I re-use the arrays. Below is a stripped down version of what I'm doing. You'll recognize it as gulping a great quantity of data (1 million complex samples), Fourier transforming these by 1000 sample blocks into spectra, co-adding the spectra, and doing this 255 times, for a grand 1000 point total spectrum. At iteration 108 of the outer loop, I get a memory error. By then, according to 'top', ipython (or python) is using around 85% of 3.5 GB of memory. P = zeros(fft_size) nsecs = 255 fft_size = 1000 for i in range(nsecs): header,data = get_raw_record(fd_in) num_bytes = len(data) label, reclen, recver, softver, spcid, vsrid, schanid, bits_per_sample, \ ksamps_per_sec, sdplr, prdx_dss_id, prdx_sc_id, prdx_pass_num, \ prdx_uplink_band,prdx_downlink_band, trk_mode, uplink_dss_id, ddc_lo, \ rf_to_if_lo, data_error, year, doy, sec, data_time_offset, frov, fro, \ frr, sfro,rf_freq, schan_accum_phase, (scpp0,scpp1,scpp2,scpp3), \ schan_label = header # ksamp_per_sec = 1e3, number of complex samples in 'data' = 1e6 num_32bit_words = len(data)*8/BITS_PER_32BIT_WORD cmplx_samp_per_word = (BITS_PER_32BIT_WORD/(2*bits_per_sample)) cmplx_samples = unpack_vdr_data(num_32bit_words,cmplx_samp_per_word,data) del(data) # This makes no difference for j in range(0,ksamps_per_sec*1000/fft_size): index = int(j*fft_size) S = fft(cmplx_samples[index:index+fft_size]) P += S*conjugate(S) del(cmplx_samples) # This makes no difference if (i % 20) == 0: gc.collect(0) # This makes no difference P /= nsecs sample_period = 1./ksamps_per_sec # kHz f = fftfreq(fft_size, d=sample_period) What am I missing? Best regards Tom p.s. Many of you will see this twice, for which I apologize. From efiring at hawaii.edu Sun Jun 6 21:00:16 2010 From: efiring at hawaii.edu (Eric Firing) Date: Sun, 06 Jun 2010 15:00:16 -1000 Subject: [Numpy-discussion] memory usage question In-Reply-To: <4C0C3AAB.1080209@jpl.nasa.gov> References: <4C0C3AAB.1080209@jpl.nasa.gov> Message-ID: <4C0C44A0.10102@hawaii.edu> On 06/06/2010 02:17 PM, Tom Kuiper wrote: > Greetings all. > > I have a feeling that, coming at this with a background in FORTRAN and > C, I'm missing some subtlety, possibly of an OO nature. Basically, I'm > looping over very large data arrays and memory usage just keeps growing > even though I re-use the arrays. Below is a stripped down version of > what I'm doing. You'll recognize it as gulping a great quantity of data > (1 million complex samples), Fourier transforming these by 1000 sample > blocks into spectra, co-adding the spectra, and doing this 255 times, > for a grand 1000 point total spectrum. At iteration 108 of the outer > loop, I get a memory error. By then, according to 'top', ipython (or > python) is using around 85% of 3.5 GB of memory. > > P = zeros(fft_size) > nsecs = 255 > fft_size = 1000 > for i in range(nsecs): > header,data = get_raw_record(fd_in) > num_bytes = len(data) > label, reclen, recver, softver, spcid, vsrid, schanid, > bits_per_sample, \ > ksamps_per_sec, sdplr, prdx_dss_id, prdx_sc_id, prdx_pass_num, \ > prdx_uplink_band,prdx_downlink_band, trk_mode, uplink_dss_id, > ddc_lo, \ > rf_to_if_lo, data_error, year, doy, sec, data_time_offset, frov, > fro, \ > frr, sfro,rf_freq, schan_accum_phase, (scpp0,scpp1,scpp2,scpp3), \ > schan_label = header > # ksamp_per_sec = 1e3, number of complex samples in 'data' = 1e6 > num_32bit_words = len(data)*8/BITS_PER_32BIT_WORD > cmplx_samp_per_word = (BITS_PER_32BIT_WORD/(2*bits_per_sample)) > cmplx_samples = > unpack_vdr_data(num_32bit_words,cmplx_samp_per_word,data) > del(data) # This makes no difference > for j in range(0,ksamps_per_sec*1000/fft_size): > index = int(j*fft_size) > S = fft(cmplx_samples[index:index+fft_size]) > P += S*conjugate(S) > del(cmplx_samples) # This makes no difference > if (i % 20) == 0: > gc.collect(0) # This makes no difference > P /= nsecs > sample_period = 1./ksamps_per_sec # kHz > f = fftfreq(fft_size, d=sample_period) > > What am I missing? I don't know, but I would suggest that you strip the example down further: instead of reading data from a file, use numpy.random.randn to generate fake data as needed. In other words, use only numpy functions--no readers, no unpackers. Put this minimal script into a file and run it from the command line, not in ipython. (Have you verified that you get the same result running a standalone script from the command line as running from ipython?) Put a memory-monitoring step inside, maybe at each outer loop iteration. You can use the matplotlib.cbook.report_memory function or similar: def report_memory(i=0): # argument may go away 'return the memory consumed by process' from subprocess import Popen, PIPE pid = os.getpid() if sys.platform=='sunos5': a2 = Popen('ps -p %d -o osz' % pid, shell=True, stdout=PIPE).stdout.readlines() mem = int(a2[-1].strip()) elif sys.platform.startswith('linux'): a2 = Popen('ps -p %d -o rss,sz' % pid, shell=True, stdout=PIPE).stdout.readlines() mem = int(a2[1].split()[1]) elif sys.platform.startswith('darwin'): a2 = Popen('ps -p %d -o rss,vsz' % pid, shell=True, stdout=PIPE).stdout.readlines() mem = int(a2[1].split()[0]) return mem I'm suspecting the problem may be in your data reader and/or unpacker, not in the application of numpy functions. Also, ipython can confuse the issue by keeping references to objects. In any case, with a simpler test script and regular memory monitoring, it should be easier for you to track down the problem. Eric > > Best regards > > Tom > > p.s. Many of you will see this twice, for which I apologize. > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion From david at silveregg.co.jp Sun Jun 6 21:39:02 2010 From: david at silveregg.co.jp (David) Date: Mon, 07 Jun 2010 10:39:02 +0900 Subject: [Numpy-discussion] "Dynamic convolution" in Numpy In-Reply-To: References: Message-ID: <4C0C4DB6.9060400@silveregg.co.jp> On 06/07/2010 12:08 AM, Anne Archibald wrote: > > I think the kicker is here: what is the right way to interpolate > between filters? There is no right way that I know of, it really depends on what you are doing. The big issue here is that a filter which changes is obviously not time independent anymore. For IIR, this has the unfortunate consequence that even if your filter is stable at every interpolation point, transitioning from one to the other can still blow up. For filters used in music processing, it is common to have filters changing really fast, for example in synthesizers (up to a few hundred times / sec) - and interesting effects are obtained for filters with very high and concentrated resonance. The solution is usually a mix of upsampling to avoid big transitions and using filter representations which are more stable (state-based representation instead of direct filters coefficients, for example). I don't think it is directly applicable to your problem, but the series of papers by Dattorro ten years ago is a goldmine: "Effect Design Part 1|2|3, Jon Dattorro, J. Audio Eng. Soc., Vol 45, No. 9, 1997 September" > As far as convolution, as David says, take a look at existing > algorithms and maybe even music software - there's a trade-off between > the n^2 computation of a brute-force FIR filter and the delay > introduced by an FFT approach, but on-the-fly convolution is a > well-studied problem. It may be pretty cool to have an implementation of scipy, now that I think of it :) One issue is that there are several patents on those techniques, but I was told there are ways around it in term of implementation. Not sure how to proceed here for scipy, David From david at silveregg.co.jp Sun Jun 6 21:43:41 2010 From: david at silveregg.co.jp (David) Date: Mon, 07 Jun 2010 10:43:41 +0900 Subject: [Numpy-discussion] Technicalities of the SVN -> GIT transition In-Reply-To: References: <4C04D01A.7060108@silveregg.co.jp> <4C070C51.3090207@silveregg.co.jp> Message-ID: <4C0C4ECD.50401@silveregg.co.jp> On 06/05/2010 11:43 PM, Pauli Virtanen wrote: > Fri, 04 Jun 2010 15:28:52 -0700, Matthew Brett wrote: >>>> I think it should be opt-in. How would opt-out work? Would someone >>>> create new accounts for all the contributors and then give them >>>> access? >>> >>> Just to be clear, this has nothing to do with accounts on github, or >>> any registered thing. This is *only* about username/email as recognized >>> by git itself (as recorded in the commit objects). >> >> Actually - isn't it better if people do give you their github username / >> email combo - assuming that's the easiest combo to work with later? > > I think the Github user name is not really needed here, as what goes into > the history is the Git ID: name + email address. Indeed. IOW, the output of git config user.name git config user.email if you already use git is all that I need, David From charlesr.harris at gmail.com Sun Jun 6 23:44:19 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Sun, 6 Jun 2010 21:44:19 -0600 Subject: [Numpy-discussion] Bug in nanmin called with unsigned integers In-Reply-To: <02130541-D982-43F9-BD33-B92EC34E63E1@gmail.com> References: <60119391-07E5-4E79-9283-B1960E524B5F@gmail.com> <02130541-D982-43F9-BD33-B92EC34E63E1@gmail.com> Message-ID: On Wed, May 26, 2010 at 7:59 AM, Tony S Yu wrote: > > On May 25, 2010, at 10:57 PM, Charles R Harris wrote: > > > > On Tue, May 25, 2010 at 8:21 PM, Tony S Yu wrote: > >> I got bit again by this bug with unsigned integers. >> (My original changes got overwritten when I updated from svn and, >> unfortunately, merged conflicts without actually looking over the changes.) >> >> In any case, I thought it'd be a good time to bump the issue (with patch >> ). >> >> Cheers, >> -Tony >> >> PS: Just for context, this issue comes up when displaying images with >> Chaco (which converts images to unsigned integer arrays and calls nanmin). >> >> > Fixed in r8445. Please add some tests. > > > > I'm not totally sure what's appropriate to test, so I just added a simple > test to the comments for the ticket > . > > On a side note, I noticed that all the nan-ops degenerate to their > non-nan-ops counterparts (i.e. nanmin --> min) when called with integer > dtypes. Below is a diff where that's made a little more obvious by returning > early for integer dtypes. > > Cheers, > -Tony > > > Index: numpy/lib/function_base.py > =================================================================== > --- numpy/lib/function_base.py (revision 8445) > +++ numpy/lib/function_base.py (working copy) > @@ -1295,15 +1295,15 @@ > > """ > y = array(a, subok=True) > - mask = isnan(a) > > # We only need to take care of NaN's in floating point arrays > - if not np.issubdtype(y.dtype, np.integer): > - # y[mask] = fill > - # We can't use fancy indexing here as it'll mess w/ MaskedArrays > - # Instead, let's fill the array directly... > - np.putmask(y, mask, fill) > - > + if np.issubdtype(y.dtype, np.integer): > + return op(y, axis=axis) > + mask = isnan(a) > + # y[mask] = fill > + # We can't use fancy indexing here as it'll mess w/ MaskedArrays > + # Instead, let's fill the array directly... > + np.putmask(y, mask, fill) > res = op(y, axis=axis) > mask_all_along_axis = mask.all(axis=axis) > > > Applied. Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Mon Jun 7 01:36:22 2010 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Sun, 6 Jun 2010 22:36:22 -0700 Subject: [Numpy-discussion] [Numpy-svn] r8457 - trunk In-Reply-To: <20100607034308.0715639CB04@scipy.org> References: <20100607034308.0715639CB04@scipy.org> Message-ID: I guess this changeset is up for discussion, but I'd be very glad if we could track the .gitignore. This makes life a lot easier for everybody using git-svn. Cheers St?fan On 6 June 2010 20:43, wrote: > Author: charris > Date: 2010-06-06 22:43:07 -0500 (Sun, 06 Jun 2010) > New Revision: 8457 > > Removed: > ? trunk/.gitignore > Log: > Don't track .gitignore file. > > Deleted: trunk/.gitignore > =================================================================== > --- trunk/.gitignore ? ?2010-06-05 15:02:50 UTC (rev 8456) > +++ trunk/.gitignore ? ?2010-06-07 03:43:07 UTC (rev 8457) > @@ -1,13 +0,0 @@ > -*.pyc > -*.so > -*~ > -\#* > -__* > - > -build > -/dist > -/numpy.egg-inf > -/numpy/version.py > - > -/tools/win32build/misc/msvcrt90/msvcr90.def > -/doc/source/reference/generated From david at silveregg.co.jp Mon Jun 7 01:49:18 2010 From: david at silveregg.co.jp (David) Date: Mon, 07 Jun 2010 14:49:18 +0900 Subject: [Numpy-discussion] [Numpy-svn] r8457 - trunk In-Reply-To: References: <20100607034308.0715639CB04@scipy.org> Message-ID: <4C0C885E.9090808@silveregg.co.jp> On 06/07/2010 02:36 PM, St?fan van der Walt wrote: > I guess this changeset is up for discussion, but I'd be very glad if > we could track the .gitignore. I don't think we should. It is easy to set it up by yourself, and it may hide things that some people may want to see - different people may want to hide different things. cheers, David From stefan at sun.ac.za Mon Jun 7 01:57:31 2010 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Sun, 6 Jun 2010 22:57:31 -0700 Subject: [Numpy-discussion] [Numpy-svn] r8457 - trunk In-Reply-To: <4C0C885E.9090808@silveregg.co.jp> References: <20100607034308.0715639CB04@scipy.org> <4C0C885E.9090808@silveregg.co.jp> Message-ID: On 6 June 2010 22:49, David wrote: > On 06/07/2010 02:36 PM, St?fan van der Walt wrote: >> I guess this changeset is up for discussion, but I'd be very glad if >> we could track the .gitignore. > > I don't think we should. It is easy to set it up by yourself, and it may > hide things that some people may want to see - different people may want > to hide different things. That doesn't seem to stop us from using svn-ignore? S. From daniele at grinta.net Mon Jun 7 06:19:09 2010 From: daniele at grinta.net (Daniele Nicolodi) Date: Mon, 07 Jun 2010 12:19:09 +0200 Subject: [Numpy-discussion] Greater common divisor Message-ID: <4C0CC79D.6070905@grinta.net> Hello. There is a method in numpy to compute the greater common divisor of the elements of an array? Searching through the documentation I didn't find it. Thanks. Cheers, -- Daniele From MaxPlanck at seznam.cz Mon Jun 7 07:52:49 2010 From: MaxPlanck at seznam.cz (=?us-ascii?Q?Pavel=20Bazant?=) Date: Mon, 07 Jun 2010 13:52:49 +0200 (CEST) Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? Message-ID: <27929.2630.4404-3702-810528772-1275911569@seznam.cz> Correct me if I am wrong, but the paragraph Note to those used to IDL or Fortran memory order as it relates to indexing. Numpy uses C-order indexing. That means that the last index usually (see xxx for exceptions) represents the most rapidly changing memory location, unlike Fortran or IDL, where the first index represents the most rapidly changing location in memory. This difference represents a great potential for confusion. in http://docs.scipy.org/doc/numpy/user/basics.indexing.html is quite misleading, as C-order means that the last index changes rapidly, not the memory location. Pavel From arthurdeconihout at gmail.com Mon Jun 7 09:31:26 2010 From: arthurdeconihout at gmail.com (arthur de conihout) Date: Mon, 7 Jun 2010 15:31:26 +0200 Subject: [Numpy-discussion] "Dynamic convolution" in Numpy In-Reply-To: <4C0C4DB6.9060400@silveregg.co.jp> References: <4C0C4DB6.9060400@silveregg.co.jp> Message-ID: Hello thanks for all your answers. I had a look at some references in this field. Mostly in R. Nicoll Monograph on Binaural Technology, which is the best recent overview i could find (on AES). All the solutions mentionned in the ones you submitted are included ;) You might do better with interpolating in polar coordinates, though you might have phase wrapping issues. It appears that filters interpolation gives the best results by operating a reconstruction by basis functions using for example spherical thin plate splines performed separately on the magnitude and phase spectra. There is no right way that I know of, it really depends on what you are doing. The big issue here is that a filter which changes is obviously not time independent anymore. For IIR, this has the unfortunate consequence that even if your filter is stable at every interpolation point, transitioning from one to the other can still blow up. > You re so right and here is given cross-fading as a "convenient" solution as dynamic update of filters requires the rapid commutation between sets of coefficients leading to signal discontinuities. I'll have a look at J.Dattorro's tutorials on effect design. If you have, or can generate, a lot of filters, then at least you can evaluate the quality of the interpolation. I m actually using public HRTF databases( there are plenty of :IRCAM, CIPIC...). It may be pretty cool to have an implementation of scipy I think it to :) i would love trying my luck with the zero-delay Gardner's algorithm(in the same prolific years as Dattorro...) which lead to reduced convolution delay.(Cf. W.G Gardner,"efficient Convolution without Input-Output delay",AES.org)but.... my present problem is even more simple. I actually get head position(head-tracking) then deduced associated filters(from a public hrtf database), convolve them with a short stimulus(0.25s) and then play using audiolab.play on numpy arrays. And this process is so long that i can't even get an "unproper" solution(without considering interpolation and filtering on long stimuli using filters commutation...) just playing short stimuli according to head position. Should i code parrallel convolution and play? i think i also multiplied operations cost in the part of the code getting proper filters filenames according to transmitted position information(i m using a wiimote IR camera for my head-tracking solution). So before i go further and i would love to, does anyone could give hints on these basis points? I can provide the code i m using even if it's really messy...due to my recent dealing with coding. Thank you. 2010/6/7 David > On 06/07/2010 12:08 AM, Anne Archibald wrote: > > > > > I think the kicker is here: what is the right way to interpolate > > between filters? > > There is no right way that I know of, it really depends on what you are > doing. The big issue here is that a filter which changes is obviously > not time independent anymore. For IIR, this has the unfortunate > consequence that even if your filter is stable at every interpolation > point, transitioning from one to the other can still blow up. > > For filters used in music processing, it is common to have filters > changing really fast, for example in synthesizers (up to a few hundred > times / sec) - and interesting effects are obtained for filters with > very high and concentrated resonance. The solution is usually a mix of > upsampling to avoid big transitions and using filter representations > which are more stable (state-based representation instead of direct > filters coefficients, for example). > > I don't think it is directly applicable to your problem, but the series > of papers by Dattorro ten years ago is a goldmine: > > "Effect Design Part 1|2|3, Jon Dattorro, J. Audio Eng. Soc., Vol 45, No. > 9, 1997 September" > > > As far as convolution, as David says, take a look at existing > > algorithms and maybe even music software - there's a trade-off between > > the n^2 computation of a brute-force FIR filter and the delay > > introduced by an FFT approach, but on-the-fly convolution is a > > well-studied problem. > > It may be pretty cool to have an implementation of scipy, now that I > think of it :) One issue is that there are several patents on those > techniques, but I was told there are ways around it in term of > implementation. Not sure how to proceed here for scipy, > > David > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From josef.pktd at gmail.com Mon Jun 7 09:59:53 2010 From: josef.pktd at gmail.com (josef.pktd at gmail.com) Date: Mon, 7 Jun 2010 09:59:53 -0400 Subject: [Numpy-discussion] allbut2ax_iterator Message-ID: Maybe I missed something, but I didn't find anything like this in numpy a kind of apply along 2axis, iterates over all 2d arrays defined by axes argument in a n-dim array with n>2 useful for functions that operate on a 2d array (chisquare_twoway, np.corrcoef ? ...) awful function name Josef def allbut2ax_iterator(table, axes=(-2,-1)): axes = np.arange(table.ndim)[list(axes)] othax = [i for i in np.arange(table.ndim) if not i in axes] othshape = np.array(table.shape)[othax] for othind in np.ndindex(*othshape): index = np.array([slice(None)]*table.ndim) index[othax] = othind yield index.tolist() >>> for i in allbut2ax_iterator(np.arange(3*2*4*4).reshape(3,2,4,4), axes=(-2,-1)): print i [0, 0, slice(None, None, None), slice(None, None, None)] [0, 1, slice(None, None, None), slice(None, None, None)] [1, 0, slice(None, None, None), slice(None, None, None)] [1, 1, slice(None, None, None), slice(None, None, None)] [2, 0, slice(None, None, None), slice(None, None, None)] [2, 1, slice(None, None, None), slice(None, None, None)] >>> for i in allbut2ax_iterator(np.arange(3*2*4*4).reshape(3,2,4,4), axes=(0,3)): print i [slice(None, None, None), 0, 0, slice(None, None, None)] [slice(None, None, None), 0, 1, slice(None, None, None)] [slice(None, None, None), 0, 2, slice(None, None, None)] [slice(None, None, None), 0, 3, slice(None, None, None)] [slice(None, None, None), 1, 0, slice(None, None, None)] [slice(None, None, None), 1, 1, slice(None, None, None)] [slice(None, None, None), 1, 2, slice(None, None, None)] [slice(None, None, None), 1, 3, slice(None, None, None)] >>> for i in allbut2ax_iterator(np.arange(3*2*4*4).reshape(3,2,4,4), axes=(1,2)): print i [0, slice(None, None, None), slice(None, None, None), 0] [0, slice(None, None, None), slice(None, None, None), 1] [0, slice(None, None, None), slice(None, None, None), 2] [0, slice(None, None, None), slice(None, None, None), 3] [1, slice(None, None, None), slice(None, None, None), 0] [1, slice(None, None, None), slice(None, None, None), 1] [1, slice(None, None, None), slice(None, None, None), 2] [1, slice(None, None, None), slice(None, None, None), 3] [2, slice(None, None, None), slice(None, None, None), 0] [2, slice(None, None, None), slice(None, None, None), 1] [2, slice(None, None, None), slice(None, None, None), 2] [2, slice(None, None, None), slice(None, None, None), 3] >>> for i in allbut2ax_iterator(np.arange(2*4*4).reshape(2,4,4), axes=(1,2)): print i [0, slice(None, None, None), slice(None, None, None)] [1, slice(None, None, None), slice(None, None, None)] >>> for i in allbut2ax_iterator(np.arange(2*4*4).reshape(2,4,4), axes=(0,2)): print i [slice(None, None, None), 0, slice(None, None, None)] [slice(None, None, None), 1, slice(None, None, None)] [slice(None, None, None), 2, slice(None, None, None)] [slice(None, None, None), 3, slice(None, None, None)] >>> for i in allbut2ax_iterator(np.arange(2*4).reshape(2,4), axes=(0,1)): print i [slice(None, None, None), slice(None, None, None)] >>> table = np.arange(2*4*4).reshape(2,4,4) >>> for i in allbut2ax_iterator(table, axes=(1,2)): print table[i] [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11] [12 13 14 15]] [[16 17 18 19] [20 21 22 23] [24 25 26 27] [28 29 30 31]] From charlesr.harris at gmail.com Mon Jun 7 09:57:46 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Mon, 7 Jun 2010 07:57:46 -0600 Subject: [Numpy-discussion] [Numpy-svn] r8457 - trunk In-Reply-To: References: <20100607034308.0715639CB04@scipy.org> Message-ID: 2010/6/6 St?fan van der Walt > I guess this changeset is up for discussion, but I'd be very glad if > we could track the .gitignore. This makes life a lot easier for > everybody using git-svn. > > Do you really want to see all the various files that I want to ignore? It bothered me that when I edited .gitignore it would need to get committed, possibly stepping on other peoples pet version. That said, there are other options in git for ignoring files and maybe we can decide on a policy for splitting the work between them. Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From vincent at vincentdavis.net Mon Jun 7 15:14:02 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Mon, 7 Jun 2010 13:14:02 -0600 Subject: [Numpy-discussion] Is there really a moderator that reviews posts? Message-ID: I just tried a post and got this. Should I repost without the long section of the terminal output I pasted in ? Your mail to 'NumPy-Discussion' with the subject Installing numpy from source on py 3.1.2, osx Is being held until the list moderator can review it for approval. The reason it is being held: Message body is too big: 72148 bytes with a limit of 40 KB Either the message will get posted to the list, or you will receive notification of the moderator's decision. If you would like to cancel this posting, please visit the following URL: From josef.pktd at gmail.com Mon Jun 7 15:32:30 2010 From: josef.pktd at gmail.com (josef.pktd at gmail.com) Date: Mon, 7 Jun 2010 15:32:30 -0400 Subject: [Numpy-discussion] Is there really a moderator that reviews posts? In-Reply-To: References: Message-ID: On Mon, Jun 7, 2010 at 3:14 PM, Vincent Davis wrote: > I just tried a post and got this. Should I repost without the long > section of the terminal output I pasted in ? > > Your mail to 'NumPy-Discussion' with the subject > > ? Installing numpy from source on py 3.1.2, osx > > Is being held until the list moderator can review it for approval. > > The reason it is being held: > > ? Message body is too big: 72148 bytes with a limit of 40 KB > > Either the message will get posted to the list, or you will receive > notification of the moderator's decision. ?If you would like to cancel > this posting, please visit the following URL: There is no moderator, and, I think, messages that are held because they are too large are in permanent limbo. The only way to get through is with smaller messages, maybe paste it somewhere. Josef > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From vincent at vincentdavis.net Mon Jun 7 16:02:58 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Mon, 7 Jun 2010 14:02:58 -0600 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx Message-ID: Going down the prerequisite list I have. Python 3.1.2 (r312:79360M, Mar 24 2010, 01:33:18) [GCC 4.0.1 (Apple Inc. build 5493)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> nose.__version__ '0.11.0' I don't really understand the fortran stuff so so I just entered MacBookPro-new-2:numpy vmd$ python3 setup.py Converting to Python3 via 2to3... RefactoringTool: Skipping implicit fixer: buffer RefactoringTool: Skipping implicit fixer: idioms RefactoringTool: Skipping implicit fixer: set_literal RefactoringTool: Skipping implicit fixer: ws_comma RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/__init__.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/num ......... Long list Then I get this Starting interactive session ------------------------------------------------------------------------ Tasks: i - Show python/platform/machine information ie - Show environment information c - Show C compilers information c - Set C compiler (current:None) f - Show Fortran compilers information f - Set Fortran compiler (current:None) e - Edit proposed sys.argv[1:]. Task aliases: 0 - Configure 1 - Build 2 - Install 2 - Install with prefix. 3 - Inplace build 4 - Source distribution 5 - Binary distribution Proposed sys.argv = ['setup.py'] Running from numpy source directory.Choose a task (^D to quit, Enter to continue with setup): So I try task "f" and get Running from numpy source directory.Choose a task (^D to quit, Enter to continue with setup): f -------------------------------------------------------------------- Fortran compilers found: Compilers available for this platform, but not found: --fcompiler=absoft Absoft Corp Fortran Compiler --fcompiler=g95 G95 Fortran Compiler --fcompiler=gnu GNU Fortran 77 compiler --fcompiler=gnu95 GNU Fortran 95 compiler --fcompiler=ibm IBM XL Fortran Compiler --fcompiler=intel Intel Fortran Compiler for 32-bit apps --fcompiler=nag NAGWare Fortran 95 Compiler Compilers not available on this platform: --fcompiler=compaq Compaq Fortran Compiler --fcompiler=hpux HP Fortran 90 Compiler --fcompiler=intele Intel Fortran Compiler for Itanium apps --fcompiler=intelem Intel Fortran Compiler for EM64T-based apps --fcompiler=intelev Intel Visual Fortran Compiler for Itanium apps --fcompiler=intelv Intel Visual Fortran Compiler for 32-bit apps --fcompiler=intelvem Intel Visual Fortran Compiler for 64-bit apps --fcompiler=lahey Lahey/Fujitsu Fortran 95 Compiler --fcompiler=mips MIPSpro Fortran Compiler --fcompiler=none Fake Fortran compiler --fcompiler=pg Portland Group Fortran Compiler --fcompiler=sun Sun or Forte Fortran 95 Compiler --fcompiler=vast Pacific-Sierra Research Fortran 90 Compiler For compiler details, run 'config_fc --verbose' setup command. Which gives me the impression I do not have a fortran compiler. Not sure which one I should get, any recommendations? If I type python build I get (See below) Thanks Vincent It seems that it is to much to post soI have clipped it. /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:635: error: syntax error before '*' token CLIP lipo: can't figure out the architecture type of: /var/folders/2f/2fiXYQSSE+CgAzDQPp9+k++++TI/-Tmp-//ccsi6RLR.out failure. removing: _configtest.c _configtest.o Traceback (most recent call last): File "setup.py", line 210, in setup_package() File "setup.py", line 203, in setup_package configuration=configuration ) File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/core.py", line 186, in setup return old_setup(**new_attr) File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/core.py", line 149, in setup dist.run_commands() File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/dist.py", line 919, in run_commands self.run_command(cmd) File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/dist.py", line 938, in run_command cmd_obj.run() File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build.py", line 37, in run old_build.run(self) File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/command/build.py", line 128, in run self.run_command(cmd_name) File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/cmd.py", line 315, in run_command self.distribution.run_command(command) File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/dist.py", line 938, in run_command cmd_obj.run() File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py", line 152, in run self.build_sources() File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py", line 169, in build_sources self.build_extension_sources(ext) File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py", line 328, in build_extension_sources sources = self.generate_sources(sources, ext) File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py", line 385, in generate_sources source = func(extension, build_dir) File "numpy/core/setup.py", line 395, in generate_config_h moredefs, ignored = cocache.check_types(config_cmd, ext, build_dir) File "numpy/core/setup.py", line 41, in check_types out = check_types(*a, **kw) File "numpy/core/setup.py", line 260, in check_types "Cannot compile 'Python.h'. Perhaps you need to "\ SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev|python-devel. From cgohlke at uci.edu Mon Jun 7 16:07:04 2010 From: cgohlke at uci.edu (Christoph Gohlke) Date: Mon, 07 Jun 2010 13:07:04 -0700 Subject: [Numpy-discussion] numscons and Python 2.7 problems Message-ID: <4C0D5168.3060001@uci.edu> Dear NumPy developers, I was trying to build numpy 2.0.dev and scipy 0.9.dev using numscons 0.12.dev and Python 2.7b2 (32 bit) on Windows 7 64 bit and ran into two problems. First, Python 2.7's UserDict is now a new-style class (http://docs.python.org/dev/whatsnew/2.7.html). Apparently scons 1.2, which is part of numscons, is not compatible with this change and an AttributeError is thrown: AttributeError: NumpyEnvironment instance has no attribute 'SubstInFile': File "D:\numpy-trunk\numpy\core\SConstruct", line 2: GetInitEnvironment(ARGUMENTS).DistutilsSConscript('SConscript') File "C:\Python27\lib\site-packages\numscons\core\numpyenv.py", line 135: build_dir = '$build_dir', src_dir = '$src_dir') File "C:\Python27\lib\site-packages\numscons\scons-local\scons-local-1.2.0\SCons\Script\SConscript.py", line 553: return apply(_SConscript, [self.fs,] + files, subst_kw) File "C:\Python27\lib\site-packages\numscons\scons-local\scons-local-1.2.0\SCons\Script\SConscript.py", line 262: exec _file_ in call_stack[-1].globals File "D:\numpy-trunk\build\scons\numpy\core\SConscript", line 353: target = env.SubstInFile(pjoin(include_dir, '_numpyconfig.h'), Turns out that the env['BUILDERS'] dictionary is empty after the config.Finish() call in SConscript. A workaround is to copy the UserDict.py file from Python27\Lib to numscons\scons-local\scons-local-1.2.0\SCons and change UserDict back to an old-style class: @@ -1,6 +1,6 @@ """A more or less complete user-defined wrapper around dictionary objects.""" -class UserDict(object): +class UserDict: def __init__(self, dict=None, **kwargs): self.data = {} if dict is not None: @@ -80,10 +80,7 @@ def __iter__(self): return iter(self.data) -import _abcoll -_abcoll.MutableMapping.register(IterableUserDict) - class DictMixin: # Mixin defining all dictionary methods for classes that already have # a minimum dictionary interface including getitem, setitem, delitem, Second, when Python 2.7 is run on a 64 bit host, sys.platform.machine() is 'AMD64' even if Python is 32 bit (http://bugs.python.org/issue7860). Hence numscons always uses the win64 configuration on Python 2.7. This can be fixed by using "if '64 bit' in sys.version" or "platform.architecture()[0] == '64bit'" instead of "platform.machine() == 'AMD64'": diff --git a/numscons/checkers/config.py b/numscons/checkers/config.py index 4ca1079..198ccdb 100644 --- a/numscons/checkers/config.py +++ b/numscons/checkers/config.py @@ -18,7 +18,7 @@ def _get_win32_config_files(): import platform files = [pjoin(_CONFDIR, 'win32', 'perflib.cfg')] - if platform.machine() == 'AMD64': + if platform.architecture()[0] == '64bit': files.append(pjoin(_CONFDIR, 'win64', 'perflib.cfg')) return files diff --git a/numscons/core/compiler_config.py b/numscons/core/compiler_config.py index d6a79d9..606963e 100644 --- a/numscons/core/compiler_config.py +++ b/numscons/core/compiler_config.py @@ -29,7 +29,7 @@ def _get_win32_config_files(filename): import platform files = [pjoin(_CONFDIR, 'win32', filename)] - if platform.machine() == 'AMD64': + if platform.architecture()[0] == '64bit': files.append(pjoin(_CONFDIR, 'win64', filename)) return files diff --git a/numscons/core/misc.py b/numscons/core/misc.py index a546122..42836b9 100644 --- a/numscons/core/misc.py +++ b/numscons/core/misc.py @@ -59,7 +59,7 @@ def built_with_ifort(env): def is_python_win64(): # XXX: import it here because it takes some time import platform - return sys.platform == "win32" and platform.machine() == "AMD64" + return sys.platform == "win32" and platform.architecture()[0] == '64bit' def get_pythonlib_name(debug = 0): """Return the name of python library (necessary to link on NT with -- Christoph From jsseabold at gmail.com Mon Jun 7 16:11:50 2010 From: jsseabold at gmail.com (Skipper Seabold) Date: Mon, 7 Jun 2010 16:11:50 -0400 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: References: Message-ID: On Mon, Jun 7, 2010 at 4:02 PM, Vincent Davis wrote: > Going down the prerequisite list I have. > > Python 3.1.2 (r312:79360M, Mar 24 2010, 01:33:18) > [GCC 4.0.1 (Apple Inc. build 5493)] on darwin > Type "help", "copyright", "credits" or "license" for more information. > >>>> nose.__version__ > '0.11.0' > > I don't really understand the fortran stuff so so I just entered > > MacBookPro-new-2:numpy vmd$ python3 setup.py > Converting to Python3 via 2to3... > RefactoringTool: Skipping implicit fixer: buffer > RefactoringTool: Skipping implicit fixer: idioms > RefactoringTool: Skipping implicit fixer: set_literal > RefactoringTool: Skipping implicit fixer: ws_comma > RefactoringTool: Refactored > /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/__init__.py > RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/num > ......... > Long list > > Then I get this > > Starting interactive session > ------------------------------------------------------------------------ > > Tasks: > ?i ? ? ? - Show python/platform/machine information > ?ie ? ? ?- Show environment information > ?c ? ? ? - Show C compilers information > ?c - Set C compiler (current:None) > ?f ? ? ? - Show Fortran compilers information > ?f - Set Fortran compiler (current:None) > ?e ? ? ? - Edit proposed sys.argv[1:]. > > Task aliases: > ?0 ? ? ? ? - Configure > ?1 ? ? ? ? - Build > ?2 ? ? ? ? - Install > ?2 - Install with prefix. > ?3 ? ? ? ? - Inplace build > ?4 ? ? ? ? - Source distribution > ?5 ? ? ? ? - Binary distribution > > Proposed sys.argv = ['setup.py'] > > Running from numpy source directory.Choose a task (^D to quit, Enter > to continue with setup): > > So I try task "f" and get > > Running from numpy source directory.Choose a task (^D to quit, Enter > to continue with setup): f > -------------------------------------------------------------------- > Fortran compilers found: > Compilers available for this platform, but not found: > ?--fcompiler=absoft ?Absoft Corp Fortran Compiler > ?--fcompiler=g95 ? ? G95 Fortran Compiler > ?--fcompiler=gnu ? ? GNU Fortran 77 compiler > ?--fcompiler=gnu95 ? GNU Fortran 95 compiler > ?--fcompiler=ibm ? ? IBM XL Fortran Compiler > ?--fcompiler=intel ? Intel Fortran Compiler for 32-bit apps > ?--fcompiler=nag ? ? NAGWare Fortran 95 Compiler > Compilers not available on this platform: > ?--fcompiler=compaq ? ?Compaq Fortran Compiler > ?--fcompiler=hpux ? ? ?HP Fortran 90 Compiler > ?--fcompiler=intele ? ?Intel Fortran Compiler for Itanium apps > ?--fcompiler=intelem ? Intel Fortran Compiler for EM64T-based apps > ?--fcompiler=intelev ? Intel Visual Fortran Compiler for Itanium apps > ?--fcompiler=intelv ? ?Intel Visual Fortran Compiler for 32-bit apps > ?--fcompiler=intelvem ?Intel Visual Fortran Compiler for 64-bit apps > ?--fcompiler=lahey ? ? Lahey/Fujitsu Fortran 95 Compiler > ?--fcompiler=mips ? ? ?MIPSpro Fortran Compiler > ?--fcompiler=none ? ? ?Fake Fortran compiler > ?--fcompiler=pg ? ? ? ?Portland Group Fortran Compiler > ?--fcompiler=sun ? ? ? Sun or Forte Fortran 95 Compiler > ?--fcompiler=vast ? ? ?Pacific-Sierra Research Fortran 90 Compiler > For compiler details, run 'config_fc --verbose' setup command. > > Which gives me the impression I do not have a fortran compiler. Not > sure which one I should get, any recommendations? > See here for full instructions: http://scipy.org/Installing_SciPy/Mac_OS_X The fortran compiler always recommended for mac is here: http://r.research.att.com/tools/ Also noted in the instructions above. > If I type python build I get (See below) > > Thanks > Vincent > > It seems that it is to much to post soI have clipped it. > > > /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: > error: syntax error before '*' token > /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: > warning: data definition has no type or storage class > /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:635: > error: syntax error before '*' token > > CLIP > > lipo: can't figure out the architecture type of: > /var/folders/2f/2fiXYQSSE+CgAzDQPp9+k++++TI/-Tmp-//ccsi6RLR.out > failure. > removing: _configtest.c _configtest.o > Traceback (most recent call last): > ?File "setup.py", line 210, in > ? setup_package() > ?File "setup.py", line 203, in setup_package > ? configuration=configuration ) > ?File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/core.py", > line 186, in setup > ? return old_setup(**new_attr) > ?File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/core.py", > line 149, in setup > ? dist.run_commands() > ?File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/dist.py", > line 919, in run_commands > ? self.run_command(cmd) > ?File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/dist.py", > line 938, in run_command > ? cmd_obj.run() > ?File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build.py", > line 37, in run > ? old_build.run(self) > ?File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/command/build.py", > line 128, in run > ? self.run_command(cmd_name) > ?File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/cmd.py", > line 315, in run_command > ? self.distribution.run_command(command) > ?File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/dist.py", > line 938, in run_command > ? cmd_obj.run() > ?File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py", > line 152, in run > ? self.build_sources() > ?File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py", > line 169, in build_sources > ? self.build_extension_sources(ext) > ?File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py", > line 328, in build_extension_sources > ? sources = self.generate_sources(sources, ext) > ?File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py", > line 385, in generate_sources > ? source = func(extension, build_dir) > ?File "numpy/core/setup.py", line 395, in generate_config_h > ? moredefs, ignored = cocache.check_types(config_cmd, ext, build_dir) > ?File "numpy/core/setup.py", line 41, in check_types > ? out = check_types(*a, **kw) > ?File "numpy/core/setup.py", line 260, in check_types > ? "Cannot compile 'Python.h'. Perhaps you need to "\ > SystemError: Cannot compile 'Python.h'. Perhaps you need to install > python-dev|python-devel. Not sure about this. Might be the compiler issue, but I know on Linux you need to install the python-dev (or python-devel) package, but I don't see that as a pre-req on the Mac page. Skipper From vincent at vincentdavis.net Mon Jun 7 16:46:12 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Mon, 7 Jun 2010 14:46:12 -0600 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: References: Message-ID: On Mon, Jun 7, 2010 at 2:11 PM, Skipper Seabold wrote: > On Mon, Jun 7, 2010 at 4:02 PM, Vincent Davis wrote: >> Going down the prerequisite list I have. >> >> Python 3.1.2 (r312:79360M, Mar 24 2010, 01:33:18) >> [GCC 4.0.1 (Apple Inc. build 5493)] on darwin >> Type "help", "copyright", "credits" or "license" for more information. >> >>>>> nose.__version__ >> '0.11.0' >> >> I don't really understand the fortran stuff so so I just entered >> >> MacBookPro-new-2:numpy vmd$ python3 setup.py >> Converting to Python3 via 2to3... >> RefactoringTool: Skipping implicit fixer: buffer >> RefactoringTool: Skipping implicit fixer: idioms >> RefactoringTool: Skipping implicit fixer: set_literal >> RefactoringTool: Skipping implicit fixer: ws_comma >> RefactoringTool: Refactored >> /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/__init__.py >> RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/num >> ......... >> Long list >> >> Then I get this >> >> Starting interactive session >> ------------------------------------------------------------------------ >> >> Tasks: >> ?i ? ? ? - Show python/platform/machine information >> ?ie ? ? ?- Show environment information >> ?c ? ? ? - Show C compilers information >> ?c - Set C compiler (current:None) >> ?f ? ? ? - Show Fortran compilers information >> ?f - Set Fortran compiler (current:None) >> ?e ? ? ? - Edit proposed sys.argv[1:]. >> >> Task aliases: >> ?0 ? ? ? ? - Configure >> ?1 ? ? ? ? - Build >> ?2 ? ? ? ? - Install >> ?2 - Install with prefix. >> ?3 ? ? ? ? - Inplace build >> ?4 ? ? ? ? - Source distribution >> ?5 ? ? ? ? - Binary distribution >> >> Proposed sys.argv = ['setup.py'] >> >> Running from numpy source directory.Choose a task (^D to quit, Enter >> to continue with setup): >> >> So I try task "f" and get >> >> Running from numpy source directory.Choose a task (^D to quit, Enter >> to continue with setup): f >> -------------------------------------------------------------------- >> Fortran compilers found: >> Compilers available for this platform, but not found: >> ?--fcompiler=absoft ?Absoft Corp Fortran Compiler >> ?--fcompiler=g95 ? ? G95 Fortran Compiler >> ?--fcompiler=gnu ? ? GNU Fortran 77 compiler >> ?--fcompiler=gnu95 ? GNU Fortran 95 compiler >> ?--fcompiler=ibm ? ? IBM XL Fortran Compiler >> ?--fcompiler=intel ? Intel Fortran Compiler for 32-bit apps >> ?--fcompiler=nag ? ? NAGWare Fortran 95 Compiler >> Compilers not available on this platform: >> ?--fcompiler=compaq ? ?Compaq Fortran Compiler >> ?--fcompiler=hpux ? ? ?HP Fortran 90 Compiler >> ?--fcompiler=intele ? ?Intel Fortran Compiler for Itanium apps >> ?--fcompiler=intelem ? Intel Fortran Compiler for EM64T-based apps >> ?--fcompiler=intelev ? Intel Visual Fortran Compiler for Itanium apps >> ?--fcompiler=intelv ? ?Intel Visual Fortran Compiler for 32-bit apps >> ?--fcompiler=intelvem ?Intel Visual Fortran Compiler for 64-bit apps >> ?--fcompiler=lahey ? ? Lahey/Fujitsu Fortran 95 Compiler >> ?--fcompiler=mips ? ? ?MIPSpro Fortran Compiler >> ?--fcompiler=none ? ? ?Fake Fortran compiler >> ?--fcompiler=pg ? ? ? ?Portland Group Fortran Compiler >> ?--fcompiler=sun ? ? ? Sun or Forte Fortran 95 Compiler >> ?--fcompiler=vast ? ? ?Pacific-Sierra Research Fortran 90 Compiler >> For compiler details, run 'config_fc --verbose' setup command. >> >> Which gives me the impression I do not have a fortran compiler. Not >> sure which one I should get, any recommendations? >> > > See here for full instructions: http://scipy.org/Installing_SciPy/Mac_OS_X > > The fortran compiler always recommended for mac is here: > http://r.research.att.com/tools/ > > Also noted in the instructions above. > >> If I type python build I get (See below) >> >> Thanks >> Vincent >> >> It seems that it is to much to post soI have clipped it. >> >> >> /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: >> error: syntax error before '*' token >> /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: >> warning: data definition has no type or storage class >> /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:635: >> error: syntax error before '*' token >> >> CLIP >> >> lipo: can't figure out the architecture type of: >> /var/folders/2f/2fiXYQSSE+CgAzDQPp9+k++++TI/-Tmp-//ccsi6RLR.out >> failure. >> removing: _configtest.c _configtest.o >> Traceback (most recent call last): >> ?File "setup.py", line 210, in >> ? setup_package() >> ?File "setup.py", line 203, in setup_package >> ? configuration=configuration ) >> ?File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/core.py", >> line 186, in setup >> ? return old_setup(**new_attr) >> ?File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/core.py", >> line 149, in setup >> ? dist.run_commands() >> ?File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/dist.py", >> line 919, in run_commands >> ? self.run_command(cmd) >> ?File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/dist.py", >> line 938, in run_command >> ? cmd_obj.run() >> ?File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build.py", >> line 37, in run >> ? old_build.run(self) >> ?File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/command/build.py", >> line 128, in run >> ? self.run_command(cmd_name) >> ?File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/cmd.py", >> line 315, in run_command >> ? self.distribution.run_command(command) >> ?File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/dist.py", >> line 938, in run_command >> ? cmd_obj.run() >> ?File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py", >> line 152, in run >> ? self.build_sources() >> ?File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py", >> line 169, in build_sources >> ? self.build_extension_sources(ext) >> ?File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py", >> line 328, in build_extension_sources >> ? sources = self.generate_sources(sources, ext) >> ?File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py", >> line 385, in generate_sources >> ? source = func(extension, build_dir) >> ?File "numpy/core/setup.py", line 395, in generate_config_h >> ? moredefs, ignored = cocache.check_types(config_cmd, ext, build_dir) >> ?File "numpy/core/setup.py", line 41, in check_types >> ? out = check_types(*a, **kw) >> ?File "numpy/core/setup.py", line 260, in check_types >> ? "Cannot compile 'Python.h'. Perhaps you need to "\ >> SystemError: Cannot compile 'Python.h'. Perhaps you need to install >> python-dev|python-devel. > > Not sure about this. ?Might be the compiler issue, but I know on Linux > you need to install the python-dev (or python-devel) package, but I > don't see that as a pre-req on the Mac page. So it seems to be seeing the newly installed fortran, but I do get an error at the end. File "numpy/core/setup.py", line 260, in check_types "Cannot compile 'Python.h'. Perhaps you need to "\ SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev|python-devel. Any ideas, I looked into how python-dev|python-devel applied to python but could make much of what I found. I tried to build python 3.1.2 from source but that didn't work out. If I need to go that direction I guess I need to. Vincent > > Skipper > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From vincent at vincentdavis.net Mon Jun 7 15:07:38 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Mon, 7 Jun 2010 13:07:38 -0600 Subject: [Numpy-discussion] Installing numpy from source on py 3.1.2, osx Message-ID: Going down the prerequisite list I have. Python 3.1.2 (r312:79360M, Mar 24 2010, 01:33:18) [GCC 4.0.1 (Apple Inc. build 5493)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> nose.__version__ '0.11.0' I don't really understand the fortran stuff so so I just entered MacBookPro-new-2:numpy vmd$ python3 setup.py Converting to Python3 via 2to3... RefactoringTool: Skipping implicit fixer: buffer RefactoringTool: Skipping implicit fixer: idioms RefactoringTool: Skipping implicit fixer: set_literal RefactoringTool: Skipping implicit fixer: ws_comma RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/__init__.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/num ......... Long list Then I get this Starting interactive session ------------------------------------------------------------------------ Tasks: i - Show python/platform/machine information ie - Show environment information c - Show C compilers information c - Set C compiler (current:None) f - Show Fortran compilers information f - Set Fortran compiler (current:None) e - Edit proposed sys.argv[1:]. Task aliases: 0 - Configure 1 - Build 2 - Install 2 - Install with prefix. 3 - Inplace build 4 - Source distribution 5 - Binary distribution Proposed sys.argv = ['setup.py'] Running from numpy source directory.Choose a task (^D to quit, Enter to continue with setup): So I try task "f" and get Running from numpy source directory.Choose a task (^D to quit, Enter to continue with setup): f -------------------------------------------------------------------- Fortran compilers found: Compilers available for this platform, but not found: --fcompiler=absoft Absoft Corp Fortran Compiler --fcompiler=g95 G95 Fortran Compiler --fcompiler=gnu GNU Fortran 77 compiler --fcompiler=gnu95 GNU Fortran 95 compiler --fcompiler=ibm IBM XL Fortran Compiler --fcompiler=intel Intel Fortran Compiler for 32-bit apps --fcompiler=nag NAGWare Fortran 95 Compiler Compilers not available on this platform: --fcompiler=compaq Compaq Fortran Compiler --fcompiler=hpux HP Fortran 90 Compiler --fcompiler=intele Intel Fortran Compiler for Itanium apps --fcompiler=intelem Intel Fortran Compiler for EM64T-based apps --fcompiler=intelev Intel Visual Fortran Compiler for Itanium apps --fcompiler=intelv Intel Visual Fortran Compiler for 32-bit apps --fcompiler=intelvem Intel Visual Fortran Compiler for 64-bit apps --fcompiler=lahey Lahey/Fujitsu Fortran 95 Compiler --fcompiler=mips MIPSpro Fortran Compiler --fcompiler=none Fake Fortran compiler --fcompiler=pg Portland Group Fortran Compiler --fcompiler=sun Sun or Forte Fortran 95 Compiler --fcompiler=vast Pacific-Sierra Research Fortran 90 Compiler For compiler details, run 'config_fc --verbose' setup command. Which gives me the impression I do not have a fortran compiler. Not sure which one I should get, any recommendations? If I type python build I get (See below) Thanks Vincent It seems that the top got clipped /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:635: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:635: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:635: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:643: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:643: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:643: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:651: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:651: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:651: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:659: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:659: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:659: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:667: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:667: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:668: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:676: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:676: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:676: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:683: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:683: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:683: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:690: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:690: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:690: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:697: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:697: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:697: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:705: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:705: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:705: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:713: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:713: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:713: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:721: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:721: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:721: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:730: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:730: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:730: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:738: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:738: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:738: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:750: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:750: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:750: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:757: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:757: error: 'PyNumber_AsSsize_t' declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:768: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:769: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:770: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:780: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:780: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:780: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:788: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:788: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:788: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:798: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:798: error: syntax error before '*' token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:115, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:265: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:265: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:266: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:274: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:274: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:275: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:285: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:285: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:286: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:298: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:298: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:299: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:310: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:310: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:311: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:312: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:312: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:314: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:316: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:316: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:317: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:328: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:328: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:329: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:368: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:368: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:368: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:376: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:376: error: 'PyObject_Size' declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:387: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:387: error: 'PyObject_Length' declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:390: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:390: error: '_PyObject_LengthHint' declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:398: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:398: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:398: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:406: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:414: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:422: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:435: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:450: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:458: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:473: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:496: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:506: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:519: error: syntax error before 'Py_buffer' /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:522: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:542: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:547: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:562: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:572: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:577: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:577: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:578: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:586: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:586: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:586: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:595: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:595: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:595: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:603: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:612: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:612: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:612: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:798: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:806: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:806: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:806: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:814: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:814: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:814: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:822: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:822: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:823: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:832: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:832: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:833: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:842: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:842: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:842: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:850: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:850: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:851: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:859: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:859: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:859: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:867: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:867: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:867: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:875: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:875: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:875: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:883: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:883: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:883: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:891: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:891: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:891: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:899: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:899: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:899: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:910: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:919: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:919: error: 'PySequence_Size' declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:927: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:927: error: 'PySequence_Length' declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:931: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:931: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:931: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:939: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:939: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:939: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:947: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:947: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:947: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:954: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:954: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:954: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:962: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:970: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:978: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:987: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:995: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:995: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:995: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1003: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1003: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1003: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1009: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1009: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1009: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1045: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1045: error: 'PySequence_Count' declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1054: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1063: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1064: error: '_PySequence_IterSearch' declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1078: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1089: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1089: error: 'PySequence_Index' declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1099: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1099: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1099: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1108: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1108: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1108: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1119: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1128: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1128: error: 'PyMapping_Size' declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1138: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1138: error: 'PyMapping_Length' declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1162: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1172: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1183: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1183: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1183: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1190: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1190: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1190: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1197: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1197: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1197: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1206: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1206: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1206: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1214: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1224: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1227: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1231: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1233: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:619: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:619: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:619: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:635: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:635: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:635: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:643: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:643: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:643: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:651: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:651: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:651: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:659: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:659: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:659: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:667: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:667: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:668: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:676: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:676: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:676: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:116, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:7: error: syntax error before 'PyFilter_Type' /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:7: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:8: error: syntax error before 'PyMap_Type' /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:8: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:9: error: syntax error before 'PyZip_Type' /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:9: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:683: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:683: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:683: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:690: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:690: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:690: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:697: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:697: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:697: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:705: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:705: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:705: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:713: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:713: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:713: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:721: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:721: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:721: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:730: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:730: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:730: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:738: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:738: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:738: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:750: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:750: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:750: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:757: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:757: error: 'PyNumber_AsSsize_t' declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:768: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:769: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:770: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:780: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:780: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:780: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:788: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:788: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:788: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:798: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:798: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:798: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:806: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:806: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:806: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:814: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:814: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:814: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:822: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:822: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:823: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:832: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:832: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:833: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:842: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:842: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:842: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:850: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:850: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:851: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:859: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:859: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:859: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:867: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:867: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:867: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:875: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:875: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:875: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:5, from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:118, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:11: error: syntax error before 'PyObject' /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:11: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:17: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:17: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:18: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:19: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:20: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:21: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:22: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:24: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:25: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:27: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:29: error: syntax error before '}' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:64: error: syntax error before 'PyCode_Type' /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:64: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:70: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:71: error: syntax error before 'PyObject' /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:73: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:75: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:90: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:93: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:93: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:94: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:118, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:13: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:13: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:32: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:33: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:883: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:883: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:883: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:891: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:891: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:891: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:899: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:899: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:899: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:910: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:919: error: syntax error before '*' tokenIn file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:119, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:10: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:10: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:12: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:12: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:20: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:20: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:919: error: 'PySequence_Size' declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:927: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:927: error: 'PySequence_Length' declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:931: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:931: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:931: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:939: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:939: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:939: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:947: error: syntax error before '*' token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:122, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystrtod.h:11: error: syntax error before 'size_t'/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:947: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:947: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:954: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:954: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:954: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:962: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:970: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:978: error: syntax error before '*' token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystrtod.h:14: error: syntax error before 'PyObject' /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:987: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:995: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:995: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:995: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1003: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1003: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1003: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1009: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1009: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1009: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1045: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1045: error: 'PySequence_Count' declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1054: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1063: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1064: error: '_PySequence_IterSearch' declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1078: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1089: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1089: error: 'PySequence_Index' declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1099: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1099: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1099: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1108: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1108: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1108: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1119: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1128: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1128: error: 'PyMapping_Size' declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1138: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1138: error: 'PyMapping_Length' declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1162: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1172: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1183: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1183: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1183: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1190: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1190: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1190: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1197: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1197: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1197: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1206: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1206: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1206: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1214: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1224: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1227: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1231: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1233: error: syntax error before '*' token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:116, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:7: error: syntax error before 'PyFilter_Type' /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:7: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:8: error: syntax error before 'PyMap_Type' /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:8: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:9: error: syntax error before 'PyZip_Type' /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:9: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:5, from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:118, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:11: error: syntax error before 'PyObject' /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:11: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:17: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:17: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:18: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:19: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:20: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:21: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:22: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:24: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:25: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:27: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:29: error: syntax error before '}' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:64: error: syntax error before 'PyCode_Type' /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:64: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:70: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:71: error: syntax error before 'PyObject' /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:73: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:75: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:90: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:93: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:93: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:94: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:118, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:13: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:13: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:32: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:33: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:119, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:10: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:10: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:12: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:12: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:20: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:20: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:20: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:122, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystrtod.h:11: error: syntax error before 'size_t' /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystrtod.h:14: error: syntax error before 'PyObject' In file included from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:127: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:127: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:127: warning: data definition has no type or storage class In file included from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:127: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:127: error: syntax error before '*' token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:127: warning: data definition has no type or storage class lipo: can't figure out the architecture type of: /var/folders/2f/2fiXYQSSE+CgAzDQPp9+k++++TI/-Tmp-//ccsi6RLR.out failure. removing: _configtest.c _configtest.o Traceback (most recent call last): File "setup.py", line 210, in setup_package() File "setup.py", line 203, in setup_package configuration=configuration ) File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/core.py", line 186, in setup return old_setup(**new_attr) File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/core.py", line 149, in setup dist.run_commands() File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/dist.py", line 919, in run_commands self.run_command(cmd) File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/dist.py", line 938, in run_command cmd_obj.run() File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build.py", line 37, in run old_build.run(self) File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/command/build.py", line 128, in run self.run_command(cmd_name) File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/cmd.py", line 315, in run_command self.distribution.run_command(command) File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/dist.py", line 938, in run_command cmd_obj.run() File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py", line 152, in run self.build_sources() File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py", line 169, in build_sources self.build_extension_sources(ext) File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py", line 328, in build_extension_sources sources = self.generate_sources(sources, ext) File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py", line 385, in generate_sources source = func(extension, build_dir) File "numpy/core/setup.py", line 395, in generate_config_h moredefs, ignored = cocache.check_types(config_cmd, ext, build_dir) File "numpy/core/setup.py", line 41, in check_types out = check_types(*a, **kw) File "numpy/core/setup.py", line 260, in check_types "Cannot compile 'Python.h'. Perhaps you need to "\ SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev|python-devel. From zachary.pincus at yale.edu Mon Jun 7 16:54:30 2010 From: zachary.pincus at yale.edu (Zachary Pincus) Date: Mon, 7 Jun 2010 16:54:30 -0400 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: References: Message-ID: <16C880B8-C114-41AD-B106-B143458EFA08@yale.edu> Hi Vincent, (1) Fortran compiler isn't necessary for numpy, but is for scipy, which isn't ported to python 3 yet. (2) Could you put up on pastebin or somewhere online the full error you got? The problem isn't one of not finding the Python.h header file, which will be present in the Python 3 framework that you installed, but some sort of obscure compilation error that got misinterpreted as a missing header by the python build process. Unfortunately, the [CLIP] in your previous email may have obscured the source of the error. Zach From charlesr.harris at gmail.com Mon Jun 7 16:58:13 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Mon, 7 Jun 2010 14:58:13 -0600 Subject: [Numpy-discussion] numscons and Python 2.7 problems In-Reply-To: <4C0D5168.3060001@uci.edu> References: <4C0D5168.3060001@uci.edu> Message-ID: On Mon, Jun 7, 2010 at 2:07 PM, Christoph Gohlke wrote: > Dear NumPy developers, > > I was trying to build numpy 2.0.dev and scipy 0.9.dev using numscons > 0.12.dev and Python 2.7b2 (32 bit) on Windows 7 64 bit and ran into two > problems. > > > First, Python 2.7's UserDict is now a new-style class > (http://docs.python.org/dev/whatsnew/2.7.html). Apparently scons 1.2, > which is part of numscons, is not compatible with this change and an > AttributeError is thrown: > > I wonder sometimes if it is worth supporting python versions 2.x > 2.6. The developers seem intent on breaking the API as much as possible and support could become a burden. At least 3.x has a policy of keeping the API intact. I'm only half joking here,. Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From postmaster at enthought.com Mon Jun 7 17:04:17 2010 From: postmaster at enthought.com (PostMaster) Date: Mon, 7 Jun 2010 16:04:17 -0500 Subject: [Numpy-discussion] Is there really a moderator that reviews posts? In-Reply-To: References: Message-ID: On Mon, Jun 7, 2010 at 14:32, wrote: > On Mon, Jun 7, 2010 at 3:14 PM, Vincent Davis wrote: >> I just tried a post and got this. Should I repost without the long >> section of the terminal output I pasted in ? >> >> Your mail to 'NumPy-Discussion' with the subject >> >> ? Installing numpy from source on py 3.1.2, osx >> >> Is being held until the list moderator can review it for approval. >> >> The reason it is being held: >> >> ? Message body is too big: 72148 bytes with a limit of 40 KB >> >> Either the message will get posted to the list, or you will receive >> notification of the moderator's decision. ?If you would like to cancel >> this posting, please visit the following URL: > There is no moderator, and, I think, messages that are held because > they are too large are in permanent limbo. The only way to get through > is with smaller messages, maybe paste it somewhere. Not only is there a moderator, the moderator is also subscribed to the list, and that moderator is ... ... ... {oh, i see, it's a drum-roll.} ... ... {seriously?} ... ... {oh, yeah, great use of everyone's time.} ... ... {great. i said drum-roll, and now i want sushi.} ... me! I also bumped up the archaically small message size limit a bit. Yay! -- Aaron From vincent at vincentdavis.net Mon Jun 7 17:19:18 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Mon, 7 Jun 2010 15:19:18 -0600 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: <16C880B8-C114-41AD-B106-B143458EFA08@yale.edu> References: <16C880B8-C114-41AD-B106-B143458EFA08@yale.edu> Message-ID: On Mon, Jun 7, 2010 at 2:54 PM, Zachary Pincus wrote: > Hi Vincent, > > (1) Fortran compiler isn't necessary for numpy, but is for scipy, > which isn't ported to python 3 yet. > (2) Could you put up on pastebin or somewhere online the full error > you got? > > The problem isn't one of not finding the Python.h header file, which > will be present in the Python 3 framework that you installed, but some > sort of obscure compilation error that got misinterpreted as a missing > header by the python build process. Unfortunately, the [CLIP] in your > previous email may have obscured the source of the error. Here is a link to the full output after typing python setup.py build. https://docs.google.com/Doc?docid=0AVQgwG2qUDgdZGYyaGo0NjNfMjI5Z3BraHd6ZDg&hl=en Thanks Vincent > > Zach > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From vincent at vincentdavis.net Mon Jun 7 17:24:51 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Mon, 7 Jun 2010 15:24:51 -0600 Subject: [Numpy-discussion] Is there really a moderator that reviews posts? In-Reply-To: References: Message-ID: On Mon, Jun 7, 2010 at 3:04 PM, PostMaster wrote: > On Mon, Jun 7, 2010 at 14:32, ? wrote: >> On Mon, Jun 7, 2010 at 3:14 PM, Vincent Davis wrote: >>> I just tried a post and got this. Should I repost without the long >>> section of the terminal output I pasted in ? >>> >>> Your mail to 'NumPy-Discussion' with the subject >>> >>> ? Installing numpy from source on py 3.1.2, osx >>> >>> Is being held until the list moderator can review it for approval. >>> >>> The reason it is being held: >>> >>> ? Message body is too big: 72148 bytes with a limit of 40 KB >>> >>> Either the message will get posted to the list, or you will receive >>> notification of the moderator's decision. ?If you would like to cancel >>> this posting, please visit the following URL: > >> There is no moderator, and, I think, messages that are held because >> they are too large are in permanent limbo. The only way to get through >> is with smaller messages, maybe paste it somewhere. > > Not only is there a moderator, > the moderator is also subscribed to the list, > and that moderator is ... > ... > ... {oh, i see, it's a drum-roll.} > ... > ... {seriously?} > ... > ... {oh, yeah, great use of everyone's time.} > ... > ... {great. i said drum-roll, and now i want sushi.} > ... > me! > > I also bumped up the archaically small message size limit a bit. > > Yay! > > -- > Aaron Well thanks Aaron for keeping track of all our email it must be tough to keep it all straight. :) But really thanks Vincent > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From zachary.pincus at yale.edu Mon Jun 7 17:34:27 2010 From: zachary.pincus at yale.edu (Zachary Pincus) Date: Mon, 7 Jun 2010 17:34:27 -0400 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: References: <16C880B8-C114-41AD-B106-B143458EFA08@yale.edu> Message-ID: <4A593790-A251-4330-B6C8-395D40663EC8@yale.edu> On Jun 7, 2010, at 5:19 PM, Vincent Davis wrote: > Here is a link to the full output after typing python setup.py build. > https://docs.google.com/Doc?docid=0AVQgwG2qUDgdZGYyaGo0NjNfMjI5Z3BraHd6ZDg&hl=en that's just bringing up an empty document page for me... From vincent at vincentdavis.net Mon Jun 7 17:40:42 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Mon, 7 Jun 2010 15:40:42 -0600 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: <4A593790-A251-4330-B6C8-395D40663EC8@yale.edu> References: <16C880B8-C114-41AD-B106-B143458EFA08@yale.edu> <4A593790-A251-4330-B6C8-395D40663EC8@yale.edu> Message-ID: Well I am way from my computer so I am not sure what's up. You might give it a bit? Vincent On Monday, June 7, 2010, Zachary Pincus wrote: > > On Jun 7, 2010, at 5:19 PM, Vincent Davis wrote: > >> Here is a link to the full output after typing python setup.py build. >> https://docs.google.com/Doc?docid=0AVQgwG2qUDgdZGYyaGo0NjNfMjI5Z3BraHd6ZDg&hl=en > > that's just bringing up an empty document page for me... > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From charlesr.harris at gmail.com Mon Jun 7 17:49:06 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Mon, 7 Jun 2010 15:49:06 -0600 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: References: <16C880B8-C114-41AD-B106-B143458EFA08@yale.edu> Message-ID: On Mon, Jun 7, 2010 at 3:19 PM, Vincent Davis wrote: > On Mon, Jun 7, 2010 at 2:54 PM, Zachary Pincus > wrote: > > Hi Vincent, > > > > (1) Fortran compiler isn't necessary for numpy, but is for scipy, > > which isn't ported to python 3 yet. > > (2) Could you put up on pastebin or somewhere online the full error > > you got? > > > > The problem isn't one of not finding the Python.h header file, which > > will be present in the Python 3 framework that you installed, but some > > sort of obscure compilation error that got misinterpreted as a missing > > header by the python build process. Unfortunately, the [CLIP] in your > > previous email may have obscured the source of the error. > > Here is a link to the full output after typing python setup.py build. > > https://docs.google.com/Doc?docid=0AVQgwG2qUDgdZGYyaGo0NjNfMjI5Z3BraHd6ZDg&hl=en > > You can also try zipping the file. IIRC, the limit for posts is about 40K. Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From vincent at vincentdavis.net Mon Jun 7 18:45:33 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Mon, 7 Jun 2010 16:45:33 -0600 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: References: <16C880B8-C114-41AD-B106-B143458EFA08@yale.edu> Message-ID: Not sure why the link is not working, I have attached a zipped text file. Vincent On Mon, Jun 7, 2010 at 3:49 PM, Charles R Harris wrote: > > > On Mon, Jun 7, 2010 at 3:19 PM, Vincent Davis > wrote: >> >> On Mon, Jun 7, 2010 at 2:54 PM, Zachary Pincus >> wrote: >> > Hi Vincent, >> > >> > (1) Fortran compiler isn't necessary for numpy, but is for scipy, >> > which isn't ported to python 3 yet. >> > (2) Could you put up on pastebin or somewhere online the full error >> > you got? >> > >> > The problem isn't one of not finding the Python.h header file, which >> > will be present in the Python 3 framework that you installed, but some >> > sort of obscure compilation error that got misinterpreted as a missing >> > header by the python build process. Unfortunately, the [CLIP] in your >> > previous email may have obscured the source of the error. >> >> Here is a link to the full output after typing python setup.py build. >> >> https://docs.google.com/Doc?docid=0AVQgwG2qUDgdZGYyaGo0NjNfMjI5Z3BraHd6ZDg&hl=en >> > > You can also try zipping the file. IIRC, the limit for posts is about 40K. > > Chuck > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > -------------- next part -------------- A non-text attachment was scrubbed... Name: numpy build osx.rtf.zip Type: application/zip Size: 40028 bytes Desc: not available URL: From ralf.gommers at googlemail.com Mon Jun 7 21:26:39 2010 From: ralf.gommers at googlemail.com (Ralf Gommers) Date: Tue, 8 Jun 2010 09:26:39 +0800 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: References: Message-ID: On Tue, Jun 8, 2010 at 4:46 AM, Vincent Davis wrote: > On Mon, Jun 7, 2010 at 2:11 PM, Skipper Seabold > wrote: > > On Mon, Jun 7, 2010 at 4:02 PM, Vincent Davis > wrote: > >> "Cannot compile 'Python.h'. Perhaps you need to "\ > >> SystemError: Cannot compile 'Python.h'. Perhaps you need to install > >> python-dev|python-devel. > > > > Not sure about this. Might be the compiler issue, but I know on Linux > > you need to install the python-dev (or python-devel) package, but I > > don't see that as a pre-req on the Mac page. > > So it seems to be seeing the newly installed fortran, but I do get an > error at the end. > File "numpy/core/setup.py", line 260, in check_types > "Cannot compile 'Python.h'. Perhaps you need to "\ > SystemError: Cannot compile 'Python.h'. Perhaps you need to install > python-dev|python-devel. > > Any ideas, I looked into how python-dev|python-devel applied to python > but could make much of what I found. I tried to build python 3.1.2 > from source but that didn't work out. If I need to go that direction I > guess I need to. > > You are probably missing the 10.4 SDK. It's an optional install of XCode on your Snow Leopard DVD. Cheers, Ralf -------------- next part -------------- An HTML attachment was scrubbed... URL: From vincent at vincentdavis.net Mon Jun 7 21:59:39 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Mon, 7 Jun 2010 19:59:39 -0600 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: References: Message-ID: On Mon, Jun 7, 2010 at 7:26 PM, Ralf Gommers wrote: > > > On Tue, Jun 8, 2010 at 4:46 AM, Vincent Davis > wrote: >> >> On Mon, Jun 7, 2010 at 2:11 PM, Skipper Seabold >> wrote: >> > On Mon, Jun 7, 2010 at 4:02 PM, Vincent Davis >> > wrote: >> >> ? "Cannot compile 'Python.h'. Perhaps you need to "\ >> >> SystemError: Cannot compile 'Python.h'. Perhaps you need to install >> >> python-dev|python-devel. >> > >> > Not sure about this. ?Might be the compiler issue, but I know on Linux >> > you need to install the python-dev (or python-devel) package, but I >> > don't see that as a pre-req on the Mac page. >> >> So it seems to be seeing the newly installed fortran, but I do get an >> error at the end. >> ?File "numpy/core/setup.py", line 260, in check_types >> ? ?"Cannot compile 'Python.h'. Perhaps you need to "\ >> SystemError: Cannot compile 'Python.h'. Perhaps you need to install >> python-dev|python-devel. >> >> Any ideas, I looked into how python-dev|python-devel applied to python >> but could make much of what I found. I tried to build python 3.1.2 >> from source but that didn't work out. If I need to go that direction I >> guess I need to. >> > You are probably missing the 10.4 SDK. It's an optional install of XCode on > your Snow Leopard DVD. True I have 10.5 and 10.6 SDK I will install the 10.4 and try again. Thanks Vincent > > Cheers, > Ralf > > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > From ralf.gommers at googlemail.com Mon Jun 7 22:37:21 2010 From: ralf.gommers at googlemail.com (Ralf Gommers) Date: Tue, 8 Jun 2010 10:37:21 +0800 Subject: [Numpy-discussion] numscons and Python 2.7 problems In-Reply-To: References: <4C0D5168.3060001@uci.edu> Message-ID: On Tue, Jun 8, 2010 at 4:58 AM, Charles R Harris wrote: > > > On Mon, Jun 7, 2010 at 2:07 PM, Christoph Gohlke wrote: > >> Dear NumPy developers, >> >> I was trying to build numpy 2.0.dev and scipy 0.9.dev using numscons >> 0.12.dev and Python 2.7b2 (32 bit) on Windows 7 64 bit and ran into two >> problems. >> >> >> First, Python 2.7's UserDict is now a new-style class >> (http://docs.python.org/dev/whatsnew/2.7.html). Apparently scons 1.2, >> which is part of numscons, is not compatible with this change and an >> AttributeError is thrown: >> >> > I wonder sometimes if it is worth supporting python versions 2.x > 2.6. The > developers seem intent on breaking the API as much as possible and support > could become a burden. At least 3.x has a policy of keeping the API intact. > I'm only half joking here,. > > Is it really that much worse than for earlier versions? The support burden is probably more because of having too many Python versions at the same time. It's now 2.4-2.6, soon it may be 2.4-2.7 + 3.1-3.2. Cheers, Ralf -------------- next part -------------- An HTML attachment was scrubbed... URL: From david at silveregg.co.jp Mon Jun 7 22:47:31 2010 From: david at silveregg.co.jp (David) Date: Tue, 08 Jun 2010 11:47:31 +0900 Subject: [Numpy-discussion] numscons and Python 2.7 problems In-Reply-To: References: <4C0D5168.3060001@uci.edu> Message-ID: <4C0DAF43.7050704@silveregg.co.jp> On 06/08/2010 11:37 AM, Ralf Gommers wrote: > > Is it really that much worse than for earlier versions? The support > burden is probably more because of having too many Python versions at > the same time. It's now 2.4-2.6, soon it may be 2.4-2.7 + 3.1-3.2. I don't think scons issues should affect our policy here - it is not officially part of numpy. I would not be surprised if the issue were solved already, and if it isn't, it should be easy to fix. 2.7 is also likely to be the long-term supported version from the 2.x branch, so supporting it is important IMHO. David From vincent at vincentdavis.net Mon Jun 7 23:49:40 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Mon, 7 Jun 2010 21:49:40 -0600 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: References: Message-ID: On Mon, Jun 7, 2010 at 7:59 PM, Vincent Davis wrote: > On Mon, Jun 7, 2010 at 7:26 PM, Ralf Gommers > wrote: >> >> >> On Tue, Jun 8, 2010 at 4:46 AM, Vincent Davis >> wrote: >>> >>> On Mon, Jun 7, 2010 at 2:11 PM, Skipper Seabold >>> wrote: >>> > On Mon, Jun 7, 2010 at 4:02 PM, Vincent Davis >>> > wrote: >>> >> ? "Cannot compile 'Python.h'. Perhaps you need to "\ >>> >> SystemError: Cannot compile 'Python.h'. Perhaps you need to install >>> >> python-dev|python-devel. >>> > >>> > Not sure about this. ?Might be the compiler issue, but I know on Linux >>> > you need to install the python-dev (or python-devel) package, but I >>> > don't see that as a pre-req on the Mac page. >>> >>> So it seems to be seeing the newly installed fortran, but I do get an >>> error at the end. >>> ?File "numpy/core/setup.py", line 260, in check_types >>> ? ?"Cannot compile 'Python.h'. Perhaps you need to "\ >>> SystemError: Cannot compile 'Python.h'. Perhaps you need to install >>> python-dev|python-devel. >>> >>> Any ideas, I looked into how python-dev|python-devel applied to python >>> but could make much of what I found. I tried to build python 3.1.2 >>> from source but that didn't work out. If I need to go that direction I >>> guess I need to. >>> >> You are probably missing the 10.4 SDK. It's an optional install of XCode on >> your Snow Leopard DVD. > > True I have 10.5 and 10.6 SDK I will install the 10.4 and try again. > Thanks > Vincent Still no go after installing 10.4 sdk Attached terminal output. >> >> Cheers, >> Ralf >> >> >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> > -------------- next part -------------- A non-text attachment was scrubbed... Name: Terminal Saved Output.txt.zip Type: application/zip Size: 43615 bytes Desc: not available URL: From d.l.goldsmith at gmail.com Tue Jun 8 02:10:39 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Mon, 7 Jun 2010 23:10:39 -0700 Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? In-Reply-To: <27929.2630.4404-3702-810528772-1275911569@seznam.cz> References: <27929.2630.4404-3702-810528772-1275911569@seznam.cz> Message-ID: On Mon, Jun 7, 2010 at 4:52 AM, Pavel Bazant wrote: > Correct me if I am wrong, but the paragraph > > Note to those used to IDL or Fortran memory order as it relates to > indexing. Numpy uses C-order indexing. That means that the last index > usually (see xxx for exceptions) represents the most rapidly changing memory > location, unlike Fortran or IDL, where the first index represents the most > rapidly changing location in memory. This difference represents a great > potential for confusion. > > in > > http://docs.scipy.org/doc/numpy/user/basics.indexing.html > > is quite misleading, as C-order means that the last index changes rapidly, > not the > memory location. > > Pavel > Sounds correct (your criticism, that is) but I'm no expert, so I'm going to wait another 12 hours or so - to give others a chance to chime in - before correcting it. DG -- Mathematician: noun, someone who disavows certainty when their uncertainty set is non-empty, even if that set has measure zero. Hope: noun, that delusive spirit which escaped Pandora's jar and, with her lies, prevents mankind from committing a general suicide. (As interpreted by Robert Graves) -------------- next part -------------- An HTML attachment was scrubbed... URL: From seb.haase at gmail.com Tue Jun 8 03:10:50 2010 From: seb.haase at gmail.com (Sebastian Haase) Date: Tue, 8 Jun 2010 09:10:50 +0200 Subject: [Numpy-discussion] Is there really a moderator that reviews posts? In-Reply-To: References: Message-ID: I don't want to complain .... But what is wrong with a limit of 40kB ? There are enough places where one could upload larger files for everyone interested... My 2 cents, Sebastian Haase PS: what is the limit now set to ? On Mon, Jun 7, 2010 at 11:24 PM, Vincent Davis wrote: > On Mon, Jun 7, 2010 at 3:04 PM, PostMaster wrote: >> On Mon, Jun 7, 2010 at 14:32, ? wrote: >>> On Mon, Jun 7, 2010 at 3:14 PM, Vincent Davis wrote: >>>> I just tried a post and got this. Should I repost without the long >>>> section of the terminal output I pasted in ? >>>> >>>> Your mail to 'NumPy-Discussion' with the subject >>>> >>>> ? Installing numpy from source on py 3.1.2, osx >>>> >>>> Is being held until the list moderator can review it for approval. >>>> >>>> The reason it is being held: >>>> >>>> ? Message body is too big: 72148 bytes with a limit of 40 KB >>>> >>>> Either the message will get posted to the list, or you will receive >>>> notification of the moderator's decision. ?If you would like to cancel >>>> this posting, please visit the following URL: >> >>> There is no moderator, and, I think, messages that are held because >>> they are too large are in permanent limbo. The only way to get through >>> is with smaller messages, maybe paste it somewhere. >> >> Not only is there a moderator, >> the moderator is also subscribed to the list, >> and that moderator is ... >> ... >> ... {oh, i see, it's a drum-roll.} >> ... >> ... {seriously?} >> ... >> ... {oh, yeah, great use of everyone's time.} >> ... >> ... {great. i said drum-roll, and now i want sushi.} >> ... >> me! >> >> I also bumped up the archaically small message size limit a bit. >> >> Yay! >> >> -- >> Aaron > > Well thanks Aaron for keeping track of all our email it must be tough > to keep it all straight. :) > > But really thanks > Vincent > >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From seb.haase at gmail.com Tue Jun 8 03:46:49 2010 From: seb.haase at gmail.com (Sebastian Haase) Date: Tue, 8 Jun 2010 09:46:49 +0200 Subject: [Numpy-discussion] typo in docs Message-ID: Hi, http://docs.scipy.org/doc/numpy/reference/arrays.dtypes.html#specifying-and-constructing-data-types says "f2" instead of "f1" Numarray introduced a short-hand notation for specifying the format of a record as a comma-separated string of basic formats. ... The generated data-type fields are named 'f0', 'f2', ..., 'f' Is there a way for me to directly fix this kind of bug ? - -Sebastian Haase From meine at informatik.uni-hamburg.de Tue Jun 8 03:48:53 2010 From: meine at informatik.uni-hamburg.de (Hans Meine) Date: Tue, 8 Jun 2010 09:48:53 +0200 Subject: [Numpy-discussion] numpy.savez does /not/ compress!? Message-ID: <201006080948.53692.meine@informatik.uni-hamburg.de> Hi, I just wondered why numpy.load("foo.npz") was so much faster than loading (gzip-compressed) hdf5 file contents, and found that numpy.savez did not compress my files at all. So there is currently no point in using numpy.savez instead of numpy.save when you're not using the multiple-arrays-per-file feature. (To the contrary, it even complicates loading and you need to choose and remember a name for the archive member.) But is that intended? The numpy.savez docstring says "Save several arrays into a single, *compressed* file in ``.npz`` format." (emphasis mine), so I guess this might be a bug, or at least a missing feature. In fact, the implementation simply uses the zipfile.ZipFile class, without specifying the 'compression' argument to the constructor. From http://docs.python.org/library/zipfile.html : > `compression` is the ZIP compression method to use when writing the archive, > and should be ZIP_STORED or ZIP_DEFLATED; unrecognized values will cause > RuntimeError to be raised. If ZIP_DEFLATED is specified but the zlib module > is not available, RuntimeError is also raised. The default is ZIP_STORED. Greetings, Hans From seb.haase at gmail.com Tue Jun 8 04:37:08 2010 From: seb.haase at gmail.com (Sebastian Haase) Date: Tue, 8 Jun 2010 10:37:08 +0200 Subject: [Numpy-discussion] typo in docs In-Reply-To: References: Message-ID: another note: http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#arrays-indexing-rec should not say "record array" - because recarray a "special" in that they can even access the named fields via attribute access rather than using the dictionary-like syntax. -S. PS: I guess I should have filed two bug reports .... sorry. On Tue, Jun 8, 2010 at 9:46 AM, Sebastian Haase wrote: > Hi, > > http://docs.scipy.org/doc/numpy/reference/arrays.dtypes.html#specifying-and-constructing-data-types > > says "f2" instead of "f1" > > Numarray introduced a short-hand notation for specifying the format of > a record as a comma-separated string of basic formats. > ... > The generated data-type fields are named 'f0', 'f2', ..., 'f' > > > Is there a way for me to directly fix this kind of bug ? - > > -Sebastian Haase > From scott.sinclair.za at gmail.com Tue Jun 8 05:19:31 2010 From: scott.sinclair.za at gmail.com (Scott Sinclair) Date: Tue, 8 Jun 2010 11:19:31 +0200 Subject: [Numpy-discussion] typo in docs In-Reply-To: References: Message-ID: >On 8 June 2010 09:46, Sebastian Haase wrote: > Hi, > > http://docs.scipy.org/doc/numpy/reference/arrays.dtypes.html#specifying-and-constructing-data-types > > says "f2" instead of "f1" > > Numarray introduced a short-hand notation for specifying the format of > a record as a comma-separated string of basic formats. > ... > The generated data-type fields are named 'f0', 'f2', ..., 'f' > > > Is there a way for me to directly fix this kind of bug ? - Yes. You can edit documentation using the Documentation editor. Register a user name here http://docs.scipy.org/numpy/accounts/register/ and then post your user name to the scipy-dev list for someone to give your account edit rights (see "Before you start" at http://docs.scipy.org/numpy/Front Page/ for more detail) The page with the typo you spotted is at http://docs.scipy.org/numpy/docs/numpy-docs/reference/arrays.dtypes.rst/. It's been corrected now. Cheers, Scott From nwagner at iam.uni-stuttgart.de Tue Jun 8 05:29:55 2010 From: nwagner at iam.uni-stuttgart.de (Nils Wagner) Date: Tue, 08 Jun 2010 11:29:55 +0200 Subject: [Numpy-discussion] python setup.py bdist --format=rpm Message-ID: Hi all, I tried to build a rpm of numpy using python setup.py bdist --format=rpm removing 'numpy-2.0.0.dev8460' (and everything under it) copying dist/numpy-2.0.0.dev8460.tar.gz -> build/bdist.linux-x86_64/rpm/SOURCES building RPMs rpm -ba --define _topdir /data/home/nwagner/svn/numpy/build/bdist.linux-x86_64/rpm --clean build/bdist.linux-x86_64/rpm/SPECS/numpy.spec -ba: unknown option error: command 'rpm' failed with exit status 1 How can I fix the problem ? Nils From scott.sinclair.za at gmail.com Tue Jun 8 05:40:59 2010 From: scott.sinclair.za at gmail.com (Scott Sinclair) Date: Tue, 8 Jun 2010 11:40:59 +0200 Subject: [Numpy-discussion] numpy.savez does /not/ compress!? In-Reply-To: <201006080948.53692.meine@informatik.uni-hamburg.de> References: <201006080948.53692.meine@informatik.uni-hamburg.de> Message-ID: >2010/6/8 Hans Meine : > I just wondered why numpy.load("foo.npz") was so much faster than loading > (gzip-compressed) hdf5 file contents, and found that numpy.savez did not > compress my files at all. > > But is that intended? ?The numpy.savez docstring says "Save several arrays > into a single, *compressed* file in ``.npz`` format." (emphasis mine), so I > guess this might be a bug, or at least a missing feature. ?In fact, the > implementation simply uses the zipfile.ZipFile class, without specifying the > 'compression' argument to the constructor. > > >From http://docs.python.org/library/zipfile.html : >> `compression` is the ZIP compression method to use when writing the archive, >> and should be ZIP_STORED or ZIP_DEFLATED; unrecognized values will cause >> RuntimeError to be raised. If ZIP_DEFLATED is specified but the zlib module >> is not available, RuntimeError is also raised. The default is ZIP_STORED. The savez docstring should probably be clarified to provide this information. I guess that the default (uncompressed Zip) is used because specifying the compression as ZIP_DEFLATED requires zlib to be installed on the system (see zipfile.ZipFile docstring). Cheers, Scott From meine at informatik.uni-hamburg.de Tue Jun 8 06:03:46 2010 From: meine at informatik.uni-hamburg.de (Hans Meine) Date: Tue, 8 Jun 2010 12:03:46 +0200 Subject: [Numpy-discussion] numpy.savez does /not/ compress!? In-Reply-To: References: <201006080948.53692.meine@informatik.uni-hamburg.de> Message-ID: <201006081203.46937.meine@informatik.uni-hamburg.de> On Tuesday 08 June 2010 11:40:59 Scott Sinclair wrote: > The savez docstring should probably be clarified to provide this > information. I would prefer to actually offer compression to the user. Unfortunately, adding another argument to this function will never be 100% secure, since currently, all kwargs will be saved into the zip, so it could count as behaviour change. I would propose sth. like the attached patch. (I only chose ZIP_STORED as default for maximum backward compatibility.) > I guess that the default (uncompressed Zip) is used because specifying > the compression as ZIP_DEFLATED requires zlib to be installed on the > system (see zipfile.ZipFile docstring). Yes, that was my thought, too. Nevertheless, numpy might make a different decision, no? Ciao, Hans -------------- next part -------------- A non-text attachment was scrubbed... Name: numpy_compressed_savez.diff Type: text/x-patch Size: 2130 bytes Desc: not available URL: From pav at iki.fi Tue Jun 8 06:11:28 2010 From: pav at iki.fi (Pauli Virtanen) Date: Tue, 08 Jun 2010 12:11:28 +0200 Subject: [Numpy-discussion] numpy.savez does /not/ compress!? In-Reply-To: <201006081203.46937.meine@informatik.uni-hamburg.de> References: <201006080948.53692.meine@informatik.uni-hamburg.de> <201006081203.46937.meine@informatik.uni-hamburg.de> Message-ID: <1275991889.2246.2.camel@talisman> ti, 2010-06-08 kello 12:03 +0200, Hans Meine kirjoitti: > On Tuesday 08 June 2010 11:40:59 Scott Sinclair wrote: > > The savez docstring should probably be clarified to provide this > > information. > > I would prefer to actually offer compression to the user. Unfortunately, > adding another argument to this function will never be 100% secure, since > currently, all kwargs will be saved into the zip, so it could count as > behaviour change. Yep, that's the only question to be resolved. I suppose "compression" is not so usual as a variable name, so it probably wouldn't break anyone's code. -- Pauli Virtanen From seb.haase at gmail.com Tue Jun 8 06:19:39 2010 From: seb.haase at gmail.com (Sebastian Haase) Date: Tue, 8 Jun 2010 12:19:39 +0200 Subject: [Numpy-discussion] np.append converts recarray to ndarray -- np.insert works Message-ID: Hi, Is there a reason that np.append converts recarray to ndarray while np.insert keeps recarray: >>> type(a) >>> type(N.append(a,a)) >>> type(N.insert(a,-1, a)) Thanks, Sebastian Haase From meine at informatik.uni-hamburg.de Tue Jun 8 06:52:09 2010 From: meine at informatik.uni-hamburg.de (Hans Meine) Date: Tue, 8 Jun 2010 12:52:09 +0200 Subject: [Numpy-discussion] numpy.savez does /not/ compress!? In-Reply-To: <1275991889.2246.2.camel@talisman> References: <201006080948.53692.meine@informatik.uni-hamburg.de> <201006081203.46937.meine@informatik.uni-hamburg.de> <1275991889.2246.2.camel@talisman> Message-ID: <201006081252.11461.meine@informatik.uni-hamburg.de> On Tuesday 08 June 2010 12:11:28 Pauli Virtanen wrote: > ti, 2010-06-08 kello 12:03 +0200, Hans Meine kirjoitti: > > I would prefer to actually offer compression to the user. Unfortunately, > > adding another argument to this function will never be 100% secure, since > > currently, all kwargs will be saved into the zip, so it could count as > > behaviour change. > > Yep, that's the only question to be resolved. Actually, one could also briefly think about whether the default should be ZIP_DEFLATE (if available). Apart from that, what should we(/I) do to get my patch in? (It wouldn't be my first one which goes into the bitrot department..) Have a nice day, Hans From aarchiba at physics.mcgill.ca Tue Jun 8 06:53:51 2010 From: aarchiba at physics.mcgill.ca (Anne Archibald) Date: Tue, 8 Jun 2010 06:53:51 -0400 Subject: [Numpy-discussion] numpy.savez does /not/ compress!? In-Reply-To: <1275991889.2246.2.camel@talisman> References: <201006080948.53692.meine@informatik.uni-hamburg.de> <201006081203.46937.meine@informatik.uni-hamburg.de> <1275991889.2246.2.camel@talisman> Message-ID: On 8 June 2010 06:11, Pauli Virtanen wrote: > ti, 2010-06-08 kello 12:03 +0200, Hans Meine kirjoitti: >> On Tuesday 08 June 2010 11:40:59 Scott Sinclair wrote: >> > The savez docstring should probably be clarified to provide this >> > information. >> >> I would prefer to actually offer compression to the user. ?Unfortunately, >> adding another argument to this function will never be 100% secure, since >> currently, all kwargs will be saved into the zip, so it could count as >> behaviour change. > > Yep, that's the only question to be resolved. I suppose "compression" is > not so usual as a variable name, so it probably wouldn't break anyone's > code. This sounds like trouble, not just now but for any future additions to the interface. Perhaps it would be better to provide a function with a different, more extensible interface? (For example, one that accepts an explicit dictionary?) I'm also a little dubious about making compression the default. np.savez provides a feature - storing multiple arrays - that is not otherwise available. I suspect many users care more about speed than size. Anne > -- > Pauli Virtanen > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From meine at informatik.uni-hamburg.de Tue Jun 8 07:25:52 2010 From: meine at informatik.uni-hamburg.de (Hans Meine) Date: Tue, 8 Jun 2010 13:25:52 +0200 Subject: [Numpy-discussion] numpy.savez does /not/ compress!? In-Reply-To: References: <201006080948.53692.meine@informatik.uni-hamburg.de> <1275991889.2246.2.camel@talisman> Message-ID: <201006081325.53333.meine@informatik.uni-hamburg.de> Hi Anne, thanks for your input, too. On Tuesday 08 June 2010 12:53:51 Anne Archibald wrote: > I'm also a little dubious about making compression the default. > np.savez provides a feature - storing multiple arrays - that is not > otherwise available. I suspect many users care more about speed than > size. You're probably right. Together with the behaviour change, I'd say it's a bad idea to change the default. And you're right concerning the API - it would've been better to explicitly pass a dict, but I don't want to introduce a new function for this reason. Best, Hans From charlesr.harris at gmail.com Tue Jun 8 07:48:21 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Tue, 8 Jun 2010 05:48:21 -0600 Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? In-Reply-To: <27929.2630.4404-3702-810528772-1275911569@seznam.cz> References: <27929.2630.4404-3702-810528772-1275911569@seznam.cz> Message-ID: On Mon, Jun 7, 2010 at 5:52 AM, Pavel Bazant wrote: > Correct me if I am wrong, but the paragraph > > Note to those used to IDL or Fortran memory order as it relates to > indexing. Numpy uses C-order indexing. That means that the last index > usually (see xxx for exceptions) represents the most rapidly changing memory > location, unlike Fortran or IDL, where the first index represents the most > rapidly changing location in memory. This difference represents a great > potential for confusion. > > in > > http://docs.scipy.org/doc/numpy/user/basics.indexing.html > > is quite misleading, as C-order means that the last index changes rapidly, > not the > memory location. > > Any index can change rapidly, depending on whether is in an inner loop or not. The important distinction between C and Fortran order is how indices translate to memory locations. The documentation seems correct to me, although it might make more sense to say the last index addresses a contiguous range of memory. Of course, with modern processors, actual physical memory can be mapped all over the place. Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From scott.sinclair.za at gmail.com Tue Jun 8 07:57:54 2010 From: scott.sinclair.za at gmail.com (Scott Sinclair) Date: Tue, 8 Jun 2010 13:57:54 +0200 Subject: [Numpy-discussion] numpy.savez does /not/ compress!? In-Reply-To: <201006081203.46937.meine@informatik.uni-hamburg.de> References: <201006080948.53692.meine@informatik.uni-hamburg.de> <201006081203.46937.meine@informatik.uni-hamburg.de> Message-ID: >2010/6/8 Hans Meine : > On Tuesday 08 June 2010 11:40:59 Scott Sinclair wrote: >> The savez docstring should probably be clarified to provide this >> information. > > I would prefer to actually offer compression to the user. In the meantime, I've edited the docstring to reflect the current behaviour (http://docs.scipy.org/numpy/docs/numpy.lib.npyio.savez/). Cheers, Scott From martin.raspaud at smhi.se Tue Jun 8 08:04:10 2010 From: martin.raspaud at smhi.se (Martin Raspaud) Date: Tue, 08 Jun 2010 14:04:10 +0200 Subject: [Numpy-discussion] Reading 12bits numbers ? Message-ID: <4C0E31BA.1020704@smhi.se> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, Is it possible to read an array of 12bit encoded numbers from file (or string) using numpy ? Thanks, Martin -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJMDjG6AAoJEBdvyODiyJI4ksQH/01OMIm59V3XDpcWv6oYTSBw zFZ/Q7mtyvHhTC9LQAgBWsIrdVze2qZP8Azsv73VjHx8QggTI8Z++U7v1HuHNyhs CAT7DsSLYKcNC4sZ2tCkMNfTQZ8Xm0hTxObylr+V98LcPO+CSjRyERZSA0S3+X6A xPZlRKLNErIGqMWiyr25r7wjuYPTK8iICqYdzZI33w7eZPcMtvP40GNDUaG7aOno mcMwSzPHnKHCuPlfj3p2rCkDs5OEhmEP9fobVIhR0Y7LxusrewPuTlwL1M+e/tqe Uf0Drjymo9i3d0VqCKAKBwd9d0kJPzVCbbwQnynu87cOj9CjwhiZ4lFufc+S+m4= =CrwA -----END PGP SIGNATURE----- -------------- next part -------------- A non-text attachment was scrubbed... Name: martin_raspaud.vcf Type: text/x-vcard Size: 260 bytes Desc: not available URL: From nadavh at visionsense.com Tue Jun 8 08:28:16 2010 From: nadavh at visionsense.com (Nadav Horesh) Date: Tue, 8 Jun 2010 15:28:16 +0300 Subject: [Numpy-discussion] Reading 12bits numbers ? References: <4C0E31BA.1020704@smhi.se> Message-ID: <710F2847B0018641891D9A21602763605AD47A@ex3.envision.co.il> You can. If each number occupies 2 bytes (16 bits) it is straight forward. If it is a continues 12 bits stream you have to unpack by your self: data = np.fromstring(str12bits, dtype=np.uint8) data1 = data.astype(no.uint16) data1[::3] = data1[::3]*256 + data1[1::3] // 16 data1[1::3] = (data[1::3] & 0x0f)*16 + data[2::3] If you have even number of 12 bits you can continue as the follows: result = np.ravel(data1.reshape(-1,3)[:,:2]) I might have mistakes, but I hope you grasped the idea. Nadav -----Original Message----- From: numpy-discussion-bounces at scipy.org on behalf of Martin Raspaud Sent: Tue 08-Jun-10 15:04 To: Discussion of Numerical Python Subject: [Numpy-discussion] Reading 12bits numbers ? -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, Is it possible to read an array of 12bit encoded numbers from file (or string) using numpy ? Thanks, Martin -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJMDjG6AAoJEBdvyODiyJI4ksQH/01OMIm59V3XDpcWv6oYTSBw zFZ/Q7mtyvHhTC9LQAgBWsIrdVze2qZP8Azsv73VjHx8QggTI8Z++U7v1HuHNyhs CAT7DsSLYKcNC4sZ2tCkMNfTQZ8Xm0hTxObylr+V98LcPO+CSjRyERZSA0S3+X6A xPZlRKLNErIGqMWiyr25r7wjuYPTK8iICqYdzZI33w7eZPcMtvP40GNDUaG7aOno mcMwSzPHnKHCuPlfj3p2rCkDs5OEhmEP9fobVIhR0Y7LxusrewPuTlwL1M+e/tqe Uf0Drjymo9i3d0VqCKAKBwd9d0kJPzVCbbwQnynu87cOj9CjwhiZ4lFufc+S+m4= =CrwA -----END PGP SIGNATURE----- -------------- next part -------------- A non-text attachment was scrubbed... Name: winmail.dat Type: application/ms-tnef Size: 3536 bytes Desc: not available URL: From jeffhsu3 at gmail.com Tue Jun 8 09:47:41 2010 From: jeffhsu3 at gmail.com (Jeff Hsu) Date: Tue, 8 Jun 2010 09:47:41 -0400 Subject: [Numpy-discussion] Problems with get_info installing scipy Message-ID: I tried to install scipy, but I get the error with not being able to find get_info() from numpy.distutils.misc_util. I read that you need the SVN version of numpy to fix this. I recompiled numpy and reinstalled from the SVN, which says is version 1.3.0 (was using 1.4.1 version before) and that function is not found within either versions. What version of numpy should I use? Or maybe I'm not removing numpy correctly. Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From zachary.pincus at yale.edu Tue Jun 8 09:58:58 2010 From: zachary.pincus at yale.edu (Zachary Pincus) Date: Tue, 8 Jun 2010 09:58:58 -0400 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: References: Message-ID: <06C7B542-A7ED-4C33-B23F-7BEC08A15517@yale.edu> This is unexpected, from the error log: > /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ > Python.h:11:20: error: limits.h: No such file or directory No good... it can't find basic system headers. Perhaps it's due to the MACOSX_DEPLOYMENT_TARGET environment variable that was warned about earlier? (I think I'd seen that sort of thing before... regardless of whether you have the 10.4 SDK, if MACOSX_DEPLOYMENT_TARGET is 10.3 I think it doesn't get used? Not sure.) Try setting MACOSX_DEPLOYMENT_TARGET to 10.4: MACOSX_DEPLOYMENT_TARGET=10.4 export MACOSX_DEPLOYMENT_TARGET (if you're using bash, the default OS X shell; for tcsh use "setenv MACOSX_DEPLOYMENT_TARGET 10.4") If this fixes things, I suspect that the build process should probably give an error about MACOSX_DEPLOYMENT_TARGET instead of a warning... Zach On Jun 7, 2010, at 11:49 PM, Vincent Davis wrote: > On Mon, Jun 7, 2010 at 7:59 PM, Vincent Davis > wrote: >> On Mon, Jun 7, 2010 at 7:26 PM, Ralf Gommers >> wrote: >>> >>> >>> On Tue, Jun 8, 2010 at 4:46 AM, Vincent Davis >> > >>> wrote: >>>> >>>> On Mon, Jun 7, 2010 at 2:11 PM, Skipper Seabold >>> > >>>> wrote: >>>>> On Mon, Jun 7, 2010 at 4:02 PM, Vincent Davis >>>> > >>>>> wrote: >>>>>> "Cannot compile 'Python.h'. Perhaps you need to "\ >>>>>> SystemError: Cannot compile 'Python.h'. Perhaps you need to >>>>>> install >>>>>> python-dev|python-devel. >>>>> >>>>> Not sure about this. Might be the compiler issue, but I know on >>>>> Linux >>>>> you need to install the python-dev (or python-devel) package, >>>>> but I >>>>> don't see that as a pre-req on the Mac page. >>>> >>>> So it seems to be seeing the newly installed fortran, but I do >>>> get an >>>> error at the end. >>>> File "numpy/core/setup.py", line 260, in check_types >>>> "Cannot compile 'Python.h'. Perhaps you need to "\ >>>> SystemError: Cannot compile 'Python.h'. Perhaps you need to install >>>> python-dev|python-devel. >>>> >>>> Any ideas, I looked into how python-dev|python-devel applied to >>>> python >>>> but could make much of what I found. I tried to build python 3.1.2 >>>> from source but that didn't work out. If I need to go that >>>> direction I >>>> guess I need to. >>>> >>> You are probably missing the 10.4 SDK. It's an optional install of >>> XCode on >>> your Snow Leopard DVD. >> >> True I have 10.5 and 10.6 SDK I will install the 10.4 and try again. >> Thanks >> Vincent > > Still no go after installing 10.4 sdk > Attached terminal output. > >>> >>> Cheers, >>> Ralf >>> >>> >>> >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >>> >> > Output.txt.zip>_______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion From pav at iki.fi Tue Jun 8 10:41:53 2010 From: pav at iki.fi (Pauli Virtanen) Date: Tue, 8 Jun 2010 14:41:53 +0000 (UTC) Subject: [Numpy-discussion] Problems with get_info installing scipy References: Message-ID: Tue, 08 Jun 2010 09:47:41 -0400, Jeff Hsu wrote: > I tried to install scipy, but I get the error with not being able to > find get_info() from numpy.distutils.misc_util. I read that you need > the SVN version of numpy to fix this. I recompiled numpy and > reinstalled from the SVN, which says is version 1.3.0 (was using 1.4.1 > version before) and that function is not found within either versions. > What version of numpy should I use? Or maybe I'm not removing numpy > correctly. It's included in 1.4.1 and in SVN (which is 1.5.x). You almost certainly have an older version of numpy installed somewhere that overrides the new one. Check "import numpy; print numpy.__file__" to see which one is imported. -- Pauli Virtanen From vincent at vincentdavis.net Tue Jun 8 10:55:41 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Tue, 8 Jun 2010 08:55:41 -0600 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: <06C7B542-A7ED-4C33-B23F-7BEC08A15517@yale.edu> References: <06C7B542-A7ED-4C33-B23F-7BEC08A15517@yale.edu> Message-ID: On Tue, Jun 8, 2010 at 7:58 AM, Zachary Pincus wrote: > This is unexpected, from the error log: >> /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ >> Python.h:11:20: error: limits.h: No such file or directory > > No good... it can't find basic system headers. Perhaps it's due to the > MACOSX_DEPLOYMENT_TARGET environment variable that was warned about > earlier? (I think I'd seen that sort of thing before... regardless of > whether you have the 10.4 SDK, if MACOSX_DEPLOYMENT_TARGET is 10.3 I > think it doesn't get used? Not sure.) Try setting > MACOSX_DEPLOYMENT_TARGET to 10.4: > MACOSX_DEPLOYMENT_TARGET=10.4 > export MACOSX_DEPLOYMENT_TARGET > (if you're using bash, the default OS X shell; for tcsh use "setenv > MACOSX_DEPLOYMENT_TARGET 10.4") > Before I make any changes I wanted to make sure I kinda know what I am doing and how :) I have several versions of python installed. The python 3.1.2 is clean except for nose being installed. to access python 3 on my system I have a terminal alias to py 3.1.2 as python3 So when in the terminal typing env returns MacBookPro-new-2:numpy vmd$ env TERM_PROGRAM=Apple_Terminal TERM=xterm-color SHELL=/bin/bash TMPDIR=/var/folders/2f/2fiXYQSSE+CgAzDQPp9+k++++TI/-Tmp-/ Apple_PubSub_Socket_Render=/tmp/launch-4g8LJN/Render TERM_PROGRAM_VERSION=273 OLDPWD=/Users/vmd/DropBox/numpy USER=vmd COMMAND_MODE=unix2003 SSH_AUTH_SOCK=/tmp/launch-fxsj0I/Listeners __CF_USER_TEXT_ENCODING=0x1F5:0:0 PATH=/Library/Frameworks/EPD64.framework/Versions/Current/bin:/Library/Frameworks/EPD64.framework/Versions/Current/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin:/opt/local/bin MKL_NUM_THREADS=1 PWD=/Users/vmd/DropBox/numpy/numpy LANG=en_US.UTF-8 SHLVL=1 HOME=/Users/vmd LOGNAME=vmd DISPLAY=/tmp/launch-HlM7T8/org.x:0 _=/usr/bin/env MacBookPro-new-2:numpy vmd$ So looking into this a bit more. MacBookPro-new-2:numpy vmd$ python3 Python 3.1.2 (r312:79360M, Mar 24 2010, 01:33:18) [GCC 4.0.1 (Apple Inc. build 5493)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import os >>> for x in os.environ.items(): print(x) ... ('MKL_NUM_THREADS', '1') ('LANG', 'en_US.UTF-8') ('TERM', 'xterm-color') ('Apple_PubSub_Socket_Render', '/tmp/launch-4g8LJN/Render') ('TMPDIR', '/var/folders/2f/2fiXYQSSE+CgAzDQPp9+k++++TI/-Tmp-/') ('SHLVL', '1') ('OLDPWD', '/Users/vmd/DropBox/numpy') ('SSH_AUTH_SOCK', '/tmp/launch-fxsj0I/Listeners') ('TERM_PROGRAM_VERSION', '273') ('__CF_USER_TEXT_ENCODING', '0x1F5:0:0') ('PWD', '/Users/vmd/DropBox/numpy/numpy') ('SHELL', '/bin/bash') ('LOGNAME', 'vmd') ('USER', 'vmd') ('PATH', '/Library/Frameworks/EPD64.framework/Versions/Current/bin:/Library/Frameworks/EPD64.framework/Versions/Current/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin:/opt/local/bin') ('HOME', '/Users/vmd') ('TERM_PROGRAM', 'Apple_Terminal') ('DISPLAY', '/tmp/launch-HlM7T8/org.x:0') ('_', '/usr/local/bin/python3') ('COMMAND_MODE', 'legacy') >>> In the end I am not sure how to set the what env belongs to, is this a python setting or a system setting? Does setting env as you suggest apply to py3.1.2 as I have it installed? setenv MACOSX_DEPLOYMENT_TARGET 10.4 Thanks Vincent > If this fixes things, I suspect that the build process should probably > give an error about MACOSX_DEPLOYMENT_TARGET instead of a warning... > > Zach > > > > On Jun 7, 2010, at 11:49 PM, Vincent Davis wrote: > >> On Mon, Jun 7, 2010 at 7:59 PM, Vincent Davis > > wrote: >>> On Mon, Jun 7, 2010 at 7:26 PM, Ralf Gommers >>> wrote: >>>> >>>> >>>> On Tue, Jun 8, 2010 at 4:46 AM, Vincent Davis >>> > >>>> wrote: >>>>> >>>>> On Mon, Jun 7, 2010 at 2:11 PM, Skipper Seabold >>>> > >>>>> wrote: >>>>>> On Mon, Jun 7, 2010 at 4:02 PM, Vincent Davis >>>>> > >>>>>> wrote: >>>>>>> ? "Cannot compile 'Python.h'. Perhaps you need to "\ >>>>>>> SystemError: Cannot compile 'Python.h'. Perhaps you need to >>>>>>> install >>>>>>> python-dev|python-devel. >>>>>> >>>>>> Not sure about this. ?Might be the compiler issue, but I know on >>>>>> Linux >>>>>> you need to install the python-dev (or python-devel) package, >>>>>> but I >>>>>> don't see that as a pre-req on the Mac page. >>>>> >>>>> So it seems to be seeing the newly installed fortran, but I do >>>>> get an >>>>> error at the end. >>>>> ?File "numpy/core/setup.py", line 260, in check_types >>>>> ? ?"Cannot compile 'Python.h'. Perhaps you need to "\ >>>>> SystemError: Cannot compile 'Python.h'. Perhaps you need to install >>>>> python-dev|python-devel. >>>>> >>>>> Any ideas, I looked into how python-dev|python-devel applied to >>>>> python >>>>> but could make much of what I found. I tried to build python 3.1.2 >>>>> from source but that didn't work out. If I need to go that >>>>> direction I >>>>> guess I need to. >>>>> >>>> You are probably missing the 10.4 SDK. It's an optional install of >>>> XCode on >>>> your Snow Leopard DVD. >>> >>> True I have 10.5 and 10.6 SDK I will install the 10.4 and try again. >>> Thanks >>> Vincent >> >> Still no go after installing 10.4 sdk >> Attached terminal output. >> >>>> >>>> Cheers, >>>> Ralf >>>> >>>> >>>> >>>> _______________________________________________ >>>> NumPy-Discussion mailing list >>>> NumPy-Discussion at scipy.org >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>>> >>>> >>> >> > Output.txt.zip>_______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From martin.raspaud at smhi.se Tue Jun 8 11:03:12 2010 From: martin.raspaud at smhi.se (Martin Raspaud) Date: Tue, 08 Jun 2010 17:03:12 +0200 Subject: [Numpy-discussion] Reading 12bits numbers ? In-Reply-To: <710F2847B0018641891D9A21602763605AD47A@ex3.envision.co.il> References: <710F2847B0018641891D9A21602763605AD47A@ex3.envision.co.il> Message-ID: <4C0E5BB0.40103@smhi.se> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Nadav Horesh skrev: > You can. If each number occupies 2 bytes (16 bits) it is straight > forward. If it is a continues 12 bits stream you have to unpack by your > self: > > data = np.fromstring(str12bits, dtype=np.uint8) > data1 = data.astype(no.uint16) > data1[::3] = data1[::3]*256 + data1[1::3] // 16 > data1[1::3] = (data[1::3] & 0x0f)*16 + data[2::3] > > If you have even number of 12 bits you can continue as the follows: > > result = np.ravel(data1.reshape(-1,3)[:,:2]) > > I might have mistakes, but I hope you grasped the idea. Thanks a lot. I was more thinking along the lines of having a special dtype that would read 12 bits at a time, but I couldn't find anything, and you confirmed that I had to unpack myself. I'll try your solution, thanks again, Martin -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJMDluwAAoJEBdvyODiyJI4/A4H/RraUFD/aQHqUxttufT042IZ f1khHhkCJ4STZcNqHOMRg47c/VbaECRPg6xGkt1Gst0dtf3sr9BheAl47Iwr/J3e YVwu/Q6Pu185ydvJ9b5JkwOwYZw5tNyMY7nRluyAjIJwx6E8ZehlI27K7fcxxWng K0CnuV5dQPPNOoun4eC0OdCtZnGhAi4vEgeK4C9ZX+0fTkVmhLLlAbpLmRmKvMPb VwXD0fBkIqai3uP0VQ6KjAWFZJ8IHeZM9CzDoz11SBnwQRGfQEP+0O4p8IS6FB1V V8IrcVAgztq3BaARPCjk9EhengMtiSKO9Md/4OAJ/lho7jIOWz4vkOHGv8et1h0= =uRz2 -----END PGP SIGNATURE----- -------------- next part -------------- A non-text attachment was scrubbed... Name: martin_raspaud.vcf Type: text/x-vcard Size: 260 bytes Desc: not available URL: From Andrew.MACKEITH at 3ds.com Tue Jun 8 11:08:33 2010 From: Andrew.MACKEITH at 3ds.com (MACKEITH Andrew) Date: Tue, 8 Jun 2010 11:08:33 -0400 Subject: [Numpy-discussion] NumPy equivalent to PyFloat_Check In-Reply-To: <4C070124.70902@hawaii.edu> References: <4C070124.70902@hawaii.edu> Message-ID: I am working in C, and I want to check whether a Python object (PyObject*) is a numpy float object. i.e. numpy.float32, numpy.float64 etc. I have looked at the docs and the NumPy Manual Part II C-API, but I am not sure which of the many type checking functions to use. Could someone please give me an example? Thanks. Andrew This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged. If you are not one of the named recipients or have received this email in error, (i) you should not read, disclose, or copy it, (ii) please notify sender of your receipt by reply email and delete this email and all attachments, (iii) Dassault Systemes does not accept or assume any liability or responsibility for any use of or reliance on this email.For other languages, go to http://www.3ds.com/terms/email-disclaimer. From d.l.goldsmith at gmail.com Tue Jun 8 11:23:59 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Tue, 8 Jun 2010 08:23:59 -0700 Subject: [Numpy-discussion] Is there really a moderator that reviews posts? In-Reply-To: References: Message-ID: On Tue, Jun 8, 2010 at 12:10 AM, Sebastian Haase wrote: > I don't want to complain .... > But what is wrong with a limit of 40kB ? There are enough places where > one could upload larger files for everyone interested... > Not everyone knows about 'em, though - can you list some here, please. Thanks! DG > > My 2 cents, > > Sebastian Haase > > PS: what is the limit now set to ? > > > > On Mon, Jun 7, 2010 at 11:24 PM, Vincent Davis > wrote: > > On Mon, Jun 7, 2010 at 3:04 PM, PostMaster > wrote: > >> On Mon, Jun 7, 2010 at 14:32, wrote: > >>> On Mon, Jun 7, 2010 at 3:14 PM, Vincent Davis < > vincent at vincentdavis.net> wrote: > >>>> I just tried a post and got this. Should I repost without the long > >>>> section of the terminal output I pasted in ? > >>>> > >>>> Your mail to 'NumPy-Discussion' with the subject > >>>> > >>>> Installing numpy from source on py 3.1.2, osx > >>>> > >>>> Is being held until the list moderator can review it for approval. > >>>> > >>>> The reason it is being held: > >>>> > >>>> Message body is too big: 72148 bytes with a limit of 40 KB > >>>> > >>>> Either the message will get posted to the list, or you will receive > >>>> notification of the moderator's decision. If you would like to cancel > >>>> this posting, please visit the following URL: > >> > >>> There is no moderator, and, I think, messages that are held because > >>> they are too large are in permanent limbo. The only way to get through > >>> is with smaller messages, maybe paste it somewhere. > >> > >> Not only is there a moderator, > >> the moderator is also subscribed to the list, > >> and that moderator is ... > >> ... > >> ... {oh, i see, it's a drum-roll.} > >> ... > >> ... {seriously?} > >> ... > >> ... {oh, yeah, great use of everyone's time.} > >> ... > >> ... {great. i said drum-roll, and now i want sushi.} > >> ... > >> me! > >> > >> I also bumped up the archaically small message size limit a bit. > >> > >> Yay! > >> > >> -- > >> Aaron > > > > Well thanks Aaron for keeping track of all our email it must be tough > > to keep it all straight. :) > > > > But really thanks > > Vincent > > > >> _______________________________________________ > >> NumPy-Discussion mailing list > >> NumPy-Discussion at scipy.org > >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > >> > > _______________________________________________ > > NumPy-Discussion mailing list > > NumPy-Discussion at scipy.org > > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -- Mathematician: noun, someone who disavows certainty when their uncertainty set is non-empty, even if that set has measure zero. Hope: noun, that delusive spirit which escaped Pandora's jar and, with her lies, prevents mankind from committing a general suicide. (As interpreted by Robert Graves) -------------- next part -------------- An HTML attachment was scrubbed... URL: From MaxPlanck at seznam.cz Tue Jun 8 11:27:01 2010 From: MaxPlanck at seznam.cz (=?us-ascii?Q?Pavel=20Bazant?=) Date: Tue, 08 Jun 2010 17:27:01 +0200 (CEST) Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? In-Reply-To: Message-ID: <27982.2678.4520-13877-724633140-1276010820@seznam.cz> > > Correct me if I am wrong, but the paragraph > > > > Note to those used to IDL or Fortran memory order as it relates to > > indexing. Numpy uses C-order indexing. That means that the last index > > usually (see xxx for exceptions) represents the most rapidly changing memory > > location, unlike Fortran or IDL, where the first index represents the most > > rapidly changing location in memory. This difference represents a great > > potential for confusion. > > > > in > > > > http://docs.scipy.org/doc/numpy/user/basics.indexing.html > > > > is quite misleading, as C-order means that the last index changes rapidly, > > not the > > memory location. > > > > > Any index can change rapidly, depending on whether is in an inner loop or > not. The important distinction between C and Fortran order is how indices > translate to memory locations. The documentation seems correct to me, > although it might make more sense to say the last index addresses a > contiguous range of memory. Of course, with modern processors, actual > physical memory can be mapped all over the place. > > Chuck To me, saying that the last index represents the most rapidly changing memory location means that if I change the last index, the memory location changes a lot, which is not true for C-order. So for C-order, supposed one scans the memory linearly (the desired scenario), it is the last *index* that changes most rapidly. The inverted picture looks like this: For C-order, changing the first index leads to the most rapid jump in *memory*. Still have the feeling the doc is very misleading at this important issue. Pavel From seb.haase at gmail.com Tue Jun 8 11:33:20 2010 From: seb.haase at gmail.com (Sebastian Haase) Date: Tue, 8 Jun 2010 17:33:20 +0200 Subject: [Numpy-discussion] Is there really a moderator that reviews posts? In-Reply-To: References: Message-ID: On Tue, Jun 8, 2010 at 5:23 PM, David Goldsmith wrote: > On Tue, Jun 8, 2010 at 12:10 AM, Sebastian Haase > wrote: >> >> I don't want to complain .... >> But what is wrong with a limit of 40kB ? There are enough places where >> one could upload larger files for everyone interested... > > Not everyone knows about 'em, though - can you list some here, please. > Thanks! I like http://drop.io - easy to use - up to 100MB also see http://yousendit.com (have not used it) for longish text there is http://pastebin.com (have not used it) others can be found here: http://en.wikipedia.org/wiki/Comparison_of_pastebins http://en.wikipedia.org/wiki/Drop.io -S. From charlesr.harris at gmail.com Tue Jun 8 11:37:44 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Tue, 8 Jun 2010 09:37:44 -0600 Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? In-Reply-To: <27982.2678.4520-13877-724633140-1276010820@seznam.cz> References: <27982.2678.4520-13877-724633140-1276010820@seznam.cz> Message-ID: On Tue, Jun 8, 2010 at 9:27 AM, Pavel Bazant wrote: > > > > Correct me if I am wrong, but the paragraph > > > > > > Note to those used to IDL or Fortran memory order as it relates to > > > indexing. Numpy uses C-order indexing. That means that the last index > > > usually (see xxx for exceptions) represents the most rapidly changing > memory > > > location, unlike Fortran or IDL, where the first index represents the > most > > > rapidly changing location in memory. This difference represents a great > > > potential for confusion. > > > > > > in > > > > > > http://docs.scipy.org/doc/numpy/user/basics.indexing.html > > > > > > is quite misleading, as C-order means that the last index changes > rapidly, > > > not the > > > memory location. > > > > > > > > Any index can change rapidly, depending on whether is in an inner loop or > > not. The important distinction between C and Fortran order is how indices > > translate to memory locations. The documentation seems correct to me, > > although it might make more sense to say the last index addresses a > > contiguous range of memory. Of course, with modern processors, actual > > physical memory can be mapped all over the place. > > > > Chuck > > To me, saying that the last index represents the most rapidly changing > memory > location means that if I change the last index, the memory location changes > a lot, which is not true for C-order. So for C-order, supposed one scans > the memory > linearly (the desired scenario), it is the last *index* that changes most > rapidly. > > The inverted picture looks like this: For C-order, changing the first > index > leads to the most rapid jump in *memory*. > > Good point, I can see that that could be a source of potential confusion. Perhaps something along the lines that 1) the memory is in one contiguous slab, and 2) it is accessed in order by changing the rightmost indices fastest, would be better. Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From d.l.goldsmith at gmail.com Tue Jun 8 11:39:52 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Tue, 8 Jun 2010 08:39:52 -0700 Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? In-Reply-To: <27982.2678.4520-13877-724633140-1276010820@seznam.cz> References: <27982.2678.4520-13877-724633140-1276010820@seznam.cz> Message-ID: On Tue, Jun 8, 2010 at 8:27 AM, Pavel Bazant wrote: > > > > Correct me if I am wrong, but the paragraph > > > > > > Note to those used to IDL or Fortran memory order as it relates to > > > indexing. Numpy uses C-order indexing. That means that the last index > > > usually (see xxx for exceptions) represents the most rapidly changing > memory > > > location, unlike Fortran or IDL, where the first index represents the > most > > > rapidly changing location in memory. This difference represents a great > > > potential for confusion. > > > > > > in > > > > > > http://docs.scipy.org/doc/numpy/user/basics.indexing.html > > > > > > is quite misleading, as C-order means that the last index changes > rapidly, > > > not the > > > memory location. > > > > > > > > Any index can change rapidly, depending on whether is in an inner loop or > > not. The important distinction between C and Fortran order is how indices > > translate to memory locations. The documentation seems correct to me, > > although it might make more sense to say the last index addresses a > > contiguous range of memory. Of course, with modern processors, actual > > physical memory can be mapped all over the place. > > > > Chuck > > To me, saying that the last index represents the most rapidly changing > memory > location means that if I change the last index, the memory location changes > a lot, which is not true for C-order. So for C-order, supposed one scans > the memory > linearly (the desired scenario), it is the last *index* that changes most > rapidly. > > The inverted picture looks like this: For C-order, changing the first > index > leads to the most rapid jump in *memory*. > > Still have the feeling the doc is very misleading at this important issue. > > Pavel > The distinction between your two perspectives is that one is using for-loop traversal of indices, the other is using pointer-increment traversal of memory; from each of your perspectives, your conclusions are "correct," but my inclination is that the pointer-increment traversal of memory perspective is closer to the "spirit" of the docstring, no? DG -------------- next part -------------- An HTML attachment was scrubbed... URL: From jdh2358 at gmail.com Tue Jun 8 11:43:34 2010 From: jdh2358 at gmail.com (John Hunter) Date: Tue, 8 Jun 2010 10:43:34 -0500 Subject: [Numpy-discussion] Is there really a moderator that reviews posts? In-Reply-To: References: Message-ID: On Tue, Jun 8, 2010 at 10:33 AM, Sebastian Haase wrote: > On Tue, Jun 8, 2010 at 5:23 PM, David Goldsmith wrote: >> On Tue, Jun 8, 2010 at 12:10 AM, Sebastian Haase >> wrote: >>> >>> I don't want to complain .... >>> But what is wrong with a limit of 40kB ? There are enough places where >>> one could upload larger files for everyone interested... >> >> Not everyone knows about 'em, though - can you list some here, please. >> Thanks! > > I like ? ? ? ? ? ? ? ? ? ? ? ? ? ?http://drop.io - easy to use - up to 100MB > ? also see ? ? ? ? ? ? ? ? ? ?http://yousendit.com ? ? ? ? ? ?(have > not used it) > for longish text there is ?http://pastebin.com ? ? ? ? ? ? ?(have not used it) For archival purposes (eg future googlers) having the data/images on-list is preferable to off-list, since drop.io and friends have less persistence in my experience. I agree there should be limits and the threshold should be fairly small, but the occasional small image or dataset shouldn't be too onerous. I admin the mpl list and upped the default to 200K, but we get more legitimate image submissions than most lists.... JDH From charlesr.harris at gmail.com Tue Jun 8 11:50:28 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Tue, 8 Jun 2010 09:50:28 -0600 Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? In-Reply-To: References: <27982.2678.4520-13877-724633140-1276010820@seznam.cz> Message-ID: On Tue, Jun 8, 2010 at 9:39 AM, David Goldsmith wrote: > On Tue, Jun 8, 2010 at 8:27 AM, Pavel Bazant wrote: > >> >> > > Correct me if I am wrong, but the paragraph >> > > >> > > Note to those used to IDL or Fortran memory order as it relates to >> > > indexing. Numpy uses C-order indexing. That means that the last index >> > > usually (see xxx for exceptions) represents the most rapidly changing >> memory >> > > location, unlike Fortran or IDL, where the first index represents the >> most >> > > rapidly changing location in memory. This difference represents a >> great >> > > potential for confusion. >> > > >> > > in >> > > >> > > http://docs.scipy.org/doc/numpy/user/basics.indexing.html >> > > >> > > is quite misleading, as C-order means that the last index changes >> rapidly, >> > > not the >> > > memory location. >> > > >> > > >> > Any index can change rapidly, depending on whether is in an inner loop >> or >> > not. The important distinction between C and Fortran order is how >> indices >> > translate to memory locations. The documentation seems correct to me, >> > although it might make more sense to say the last index addresses a >> > contiguous range of memory. Of course, with modern processors, actual >> > physical memory can be mapped all over the place. >> > >> > Chuck >> >> To me, saying that the last index represents the most rapidly changing >> memory >> location means that if I change the last index, the memory location >> changes >> a lot, which is not true for C-order. So for C-order, supposed one scans >> the memory >> linearly (the desired scenario), it is the last *index* that changes most >> rapidly. >> >> The inverted picture looks like this: For C-order, changing the first >> index >> leads to the most rapid jump in *memory*. >> >> Still have the feeling the doc is very misleading at this important issue. >> >> Pavel >> > > The distinction between your two perspectives is that one is using for-loop > traversal of indices, the other is using pointer-increment traversal of > memory; from each of your perspectives, your conclusions are "correct," but > my inclination is that the pointer-increment traversal of memory perspective > is closer to the "spirit" of the docstring, no? > > I think the confusion is in "most rapidly changing memory location", which is kind of ambiguous because a change in the indices is always a change in memory location if one hasn't used index tricks and such. So from a time perspective it means nothing, while from a memory perspective the largest address changes come from the leftmost indices. Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From d.l.goldsmith at gmail.com Tue Jun 8 12:00:53 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Tue, 8 Jun 2010 09:00:53 -0700 Subject: [Numpy-discussion] Is there really a moderator that reviews posts? In-Reply-To: References: Message-ID: On Tue, Jun 8, 2010 at 8:43 AM, John Hunter wrote: > On Tue, Jun 8, 2010 at 10:33 AM, Sebastian Haase > wrote: > > On Tue, Jun 8, 2010 at 5:23 PM, David Goldsmith > wrote: > >> On Tue, Jun 8, 2010 at 12:10 AM, Sebastian Haase > >> wrote: > >>> > >>> I don't want to complain .... > >>> But what is wrong with a limit of 40kB ? There are enough places where > >>> one could upload larger files for everyone interested... > >> > >> Not everyone knows about 'em, though - can you list some here, please. > >> Thanks! > > > > I like http://drop.io - easy to use - up to > 100MB > > also see http://yousendit.com (have > > not used it) > > for longish text there is http://pastebin.com (have not > used it) > > > > For archival purposes (eg future googlers) having the data/images > on-list is preferable to off-list, Excellent point! DG > since drop.io and friends have less > persistence in my experience. I agree there should be limits and the > threshold should be fairly small, but the occasional small image or > dataset shouldn't be too onerous. I admin the mpl list and upped the > default to 200K, but we get more legitimate image submissions than > most lists.... > > JDH > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -- Mathematician: noun, someone who disavows certainty when their uncertainty set is non-empty, even if that set has measure zero. Hope: noun, that delusive spirit which escaped Pandora's jar and, with her lies, prevents mankind from committing a general suicide. (As interpreted by Robert Graves) -------------- next part -------------- An HTML attachment was scrubbed... URL: From zachary.pincus at yale.edu Tue Jun 8 12:06:18 2010 From: zachary.pincus at yale.edu (Zachary Pincus) Date: Tue, 8 Jun 2010 12:06:18 -0400 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: References: <06C7B542-A7ED-4C33-B23F-7BEC08A15517@yale.edu> Message-ID: <74F07D9D-9098-41FD-8A85-E757566F51D3@yale.edu> > On Tue, Jun 8, 2010 at 7:58 AM, Zachary Pincus > wrote: >> This is unexpected, from the error log: >>> /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ >>> Python.h:11:20: error: limits.h: No such file or directory >> >> No good... it can't find basic system headers. Perhaps it's due to >> the >> MACOSX_DEPLOYMENT_TARGET environment variable that was warned about >> earlier? (I think I'd seen that sort of thing before... regardless of >> whether you have the 10.4 SDK, if MACOSX_DEPLOYMENT_TARGET is 10.3 I >> think it doesn't get used? Not sure.) Try setting >> MACOSX_DEPLOYMENT_TARGET to 10.4: >> MACOSX_DEPLOYMENT_TARGET=10.4 >> export MACOSX_DEPLOYMENT_TARGET >> (if you're using bash, the default OS X shell; for tcsh use "setenv >> MACOSX_DEPLOYMENT_TARGET 10.4") >> > Before I make any changes I wanted to make sure I kinda know what I am > doing and how :) > I have several versions of python installed. The python 3.1.2 is clean > except for nose being installed. to access python 3 on my system I > have a terminal alias to py 3.1.2 as python3 Basic summary of environment variables: http://en.wikipedia.org/wiki/Environment_variable In a unix shell, setting an environment variable will apply to the processes that are started from within that shell session. To permanently set environment variables, you'd need to add the relevant commands to the bash .profile or other startup files (a topic in and of itself). So the good news is that nothing you do will w/r/t environment vars will persist past exiting that particular shell. Anyhow, from the below, you don't have MACOSX_DEPLOYMENT_TARGET set at all, which is what would be expected. I wonder if perhaps the python/ numpy build process is setting MACOSX_DEPLOYMENT_TARGET to 10.3 when there is none already set? If so this is not good. Anyhow, given that you're using bash, here's what to do to try to build: cd /path/to/numpy/src MACOSX_DEPLOYMENT_TARGET=10.4 export MACOSX_DEPLOYMENT_TARGET python3 setup.py build and see if that fixes the issue? If so there's some bug in the numpy build process you've stumbled across. Zach > > So when in the terminal typing env returns > MacBookPro-new-2:numpy vmd$ env > TERM_PROGRAM=Apple_Terminal > TERM=xterm-color > SHELL=/bin/bash > TMPDIR=/var/folders/2f/2fiXYQSSE+CgAzDQPp9+k++++TI/-Tmp-/ > Apple_PubSub_Socket_Render=/tmp/launch-4g8LJN/Render > TERM_PROGRAM_VERSION=273 > OLDPWD=/Users/vmd/DropBox/numpy > USER=vmd > COMMAND_MODE=unix2003 > SSH_AUTH_SOCK=/tmp/launch-fxsj0I/Listeners > __CF_USER_TEXT_ENCODING=0x1F5:0:0 > PATH=/Library/Frameworks/EPD64.framework/Versions/Current/bin:/ > Library/Frameworks/EPD64.framework/Versions/Current/bin:/usr/bin:/ > bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin:/ > opt/local/bin > MKL_NUM_THREADS=1 > PWD=/Users/vmd/DropBox/numpy/numpy > LANG=en_US.UTF-8 > SHLVL=1 > HOME=/Users/vmd > LOGNAME=vmd > DISPLAY=/tmp/launch-HlM7T8/org.x:0 > _=/usr/bin/env > MacBookPro-new-2:numpy vmd$ > > So looking into this a bit more. > MacBookPro-new-2:numpy vmd$ python3 > Python 3.1.2 (r312:79360M, Mar 24 2010, 01:33:18) > [GCC 4.0.1 (Apple Inc. build 5493)] on darwin > Type "help", "copyright", "credits" or "license" for more information. > >>>> import os >>>> for x in os.environ.items(): print(x) > ... > ('MKL_NUM_THREADS', '1') > ('LANG', 'en_US.UTF-8') > ('TERM', 'xterm-color') > ('Apple_PubSub_Socket_Render', '/tmp/launch-4g8LJN/Render') > ('TMPDIR', '/var/folders/2f/2fiXYQSSE+CgAzDQPp9+k++++TI/-Tmp-/') > ('SHLVL', '1') > ('OLDPWD', '/Users/vmd/DropBox/numpy') > ('SSH_AUTH_SOCK', '/tmp/launch-fxsj0I/Listeners') > ('TERM_PROGRAM_VERSION', '273') > ('__CF_USER_TEXT_ENCODING', '0x1F5:0:0') > ('PWD', '/Users/vmd/DropBox/numpy/numpy') > ('SHELL', '/bin/bash') > ('LOGNAME', 'vmd') > ('USER', 'vmd') > ('PATH', '/Library/Frameworks/EPD64.framework/Versions/Current/bin:/ > Library/Frameworks/EPD64.framework/Versions/Current/bin:/usr/bin:/ > bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin:/ > opt/local/bin') > ('HOME', '/Users/vmd') > ('TERM_PROGRAM', 'Apple_Terminal') > ('DISPLAY', '/tmp/launch-HlM7T8/org.x:0') > ('_', '/usr/local/bin/python3') > ('COMMAND_MODE', 'legacy') >>>> > > > In the end I am not sure how to set the what env belongs to, is this a > python setting or a system setting? Does setting env as you suggest > apply to py3.1.2 as I have it installed? > setenv MACOSX_DEPLOYMENT_TARGET 10.4 > > Thanks > Vincent > > > >> If this fixes things, I suspect that the build process should >> probably >> give an error about MACOSX_DEPLOYMENT_TARGET instead of a warning... >> >> Zach >> >> >> >> On Jun 7, 2010, at 11:49 PM, Vincent Davis wrote: >> >>> On Mon, Jun 7, 2010 at 7:59 PM, Vincent Davis >>> wrote: >>>> On Mon, Jun 7, 2010 at 7:26 PM, Ralf Gommers >>>> wrote: >>>>> >>>>> >>>>> On Tue, Jun 8, 2010 at 4:46 AM, Vincent Davis >>>>> >>>>> wrote: >>>>>> >>>>>> On Mon, Jun 7, 2010 at 2:11 PM, Skipper Seabold >>>>>> >>>>>> wrote: >>>>>>> On Mon, Jun 7, 2010 at 4:02 PM, Vincent Davis >>>>>>> >>>>>>> wrote: >>>>>>>> "Cannot compile 'Python.h'. Perhaps you need to "\ >>>>>>>> SystemError: Cannot compile 'Python.h'. Perhaps you need to >>>>>>>> install >>>>>>>> python-dev|python-devel. >>>>>>> >>>>>>> Not sure about this. Might be the compiler issue, but I know on >>>>>>> Linux >>>>>>> you need to install the python-dev (or python-devel) package, >>>>>>> but I >>>>>>> don't see that as a pre-req on the Mac page. >>>>>> >>>>>> So it seems to be seeing the newly installed fortran, but I do >>>>>> get an >>>>>> error at the end. >>>>>> File "numpy/core/setup.py", line 260, in check_types >>>>>> "Cannot compile 'Python.h'. Perhaps you need to "\ >>>>>> SystemError: Cannot compile 'Python.h'. Perhaps you need to >>>>>> install >>>>>> python-dev|python-devel. >>>>>> >>>>>> Any ideas, I looked into how python-dev|python-devel applied to >>>>>> python >>>>>> but could make much of what I found. I tried to build python >>>>>> 3.1.2 >>>>>> from source but that didn't work out. If I need to go that >>>>>> direction I >>>>>> guess I need to. >>>>>> >>>>> You are probably missing the 10.4 SDK. It's an optional install of >>>>> XCode on >>>>> your Snow Leopard DVD. >>>> >>>> True I have 10.5 and 10.6 SDK I will install the 10.4 and try >>>> again. >>>> Thanks >>>> Vincent >>> >>> Still no go after installing 10.4 sdk >>> Attached terminal output. >>> >>>>> >>>>> Cheers, >>>>> Ralf >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> NumPy-Discussion mailing list >>>>> NumPy-Discussion at scipy.org >>>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>>>> >>>>> >>>> >>> >> Output.txt.zip>_______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion From lists at hilboll.de Tue Jun 8 12:24:51 2010 From: lists at hilboll.de (Andreas Hilboll) Date: Tue, 8 Jun 2010 18:24:51 +0200 (CEST) Subject: [Numpy-discussion] np.choose() question Message-ID: Hi there, I have a problem, which I'm sure can somehow be solved using np.choose() - but I cannot figure out how :( I have an array idx, which holds int values and has a 2d shape. All values inside idx are 0 <= idx < n. And I have a second array times, which is 1d, with times.shape = (n,). Out of these two arrays I now want to create a 2d array having the same shape as idx, and holding the values contained in times, as indexed by idx. A simple np.choose(idx,times) does not work (error "Need between 2 and (32) array objects (inclusive)."). Example: idx = [[4,2],[3,1]] times = [100,101,102,103,104] From these two I want to create an array result = [[104,102],[103,101]] How can this be done? Thanks a lot for your insight! Andreas From kuiper at jpl.nasa.gov Tue Jun 8 12:22:41 2010 From: kuiper at jpl.nasa.gov (Tom Kuiper) Date: Tue, 08 Jun 2010 09:22:41 -0700 Subject: [Numpy-discussion] Memory Usage Question In-Reply-To: References: Message-ID: <4C0E6E51.6090601@jpl.nasa.gov> Dear Eric, thank you for the insight and suggestion. Reading between the lines I developed the suspicion that the problem might be in the extension function 'unpack_vdr_data'. Previously the last part of that was Cmplx = PyComplex_FromCComplex(cmplx); if (PyList_SetItem(Clist, time_point_count, Cmplx)) { fprintf(stderr,"Could not set list item %d\n",time_point_count); } time_point_count++; } } return Py_BuildValue("O", Clist); } Your response made me realize that Clist was being retained as a Python object each time. The following works much better, PyObject * result; .... Cmplx = PyComplex_FromCComplex(cmplx); if (diag) { printf("Created Python complex object %d\n", time_point_count); } time_point_count++; } } result = Py_BuildValue("O", Clist); Py_CLEAR(Cmplx); Py_CLEAR(Clist); return result; } Memory still grows, but much more slowly and, for my purposes, it's no longer a problem. I will use the report_memory function to research this a little more. Thanks so much, Tom > Date: Sun, 06 Jun 2010 15:00:16 -1000 > From: Eric Firing > Subject: Re: [Numpy-discussion] memory usage question > To: numpy-discussion at scipy.org > > On 06/06/2010 02:17 PM, Tom Kuiper wrote: > >> Greetings all. >> >> I have a feeling that, coming at this with a background in FORTRAN and >> C, I'm missing some subtlety, possibly of an OO nature. Basically, I'm >> looping over very large data arrays and memory usage just keeps growing >> even though I re-use the arrays. Below is a stripped down version of >> what I'm doing. You'll recognize it as gulping a great quantity of data >> (1 million complex samples), Fourier transforming these by 1000 sample >> blocks into spectra, co-adding the spectra, and doing this 255 times, >> for a grand 1000 point total spectrum. At iteration 108 of the outer >> loop, I get a memory error. By then, according to 'top', ipython (or >> python) is using around 85% of 3.5 GB of memory. >> >> P = zeros(fft_size) >> nsecs = 255 >> fft_size = 1000 >> for i in range(nsecs): >> header,data = get_raw_record(fd_in) >> num_bytes = len(data) >> label, reclen, recver, softver, spcid, vsrid, schanid, >> bits_per_sample, \ >> ksamps_per_sec, sdplr, prdx_dss_id, prdx_sc_id, prdx_pass_num, \ >> prdx_uplink_band,prdx_downlink_band, trk_mode, uplink_dss_id, >> ddc_lo, \ >> rf_to_if_lo, data_error, year, doy, sec, data_time_offset, frov, >> fro, \ >> frr, sfro,rf_freq, schan_accum_phase, (scpp0,scpp1,scpp2,scpp3), \ >> schan_label = header >> # ksamp_per_sec = 1e3, number of complex samples in 'data' = 1e6 >> num_32bit_words = len(data)*8/BITS_PER_32BIT_WORD >> cmplx_samp_per_word = (BITS_PER_32BIT_WORD/(2*bits_per_sample)) >> cmplx_samples = >> unpack_vdr_data(num_32bit_words,cmplx_samp_per_word,data) >> del(data) # This makes no difference >> for j in range(0,ksamps_per_sec*1000/fft_size): >> index = int(j*fft_size) >> S = fft(cmplx_samples[index:index+fft_size]) >> P += S*conjugate(S) >> del(cmplx_samples) # This makes no difference >> if (i % 20) == 0: >> gc.collect(0) # This makes no difference >> P /= nsecs >> sample_period = 1./ksamps_per_sec # kHz >> f = fftfreq(fft_size, d=sample_period) >> >> What am I missing? >> > > I don't know, but I would suggest that you strip the example down > further: instead of reading data from a file, use numpy.random.randn to > generate fake data as needed. In other words, use only numpy > functions--no readers, no unpackers. Put this minimal script into a > file and run it from the command line, not in ipython. (Have you > verified that you get the same result running a standalone script from > the command line as running from ipython?) Put a memory-monitoring step > inside, maybe at each outer loop iteration. You can use the > matplotlib.cbook.report_memory function or similar: > > def report_memory(i=0): # argument may go away > 'return the memory consumed by process' > from subprocess import Popen, PIPE > pid = os.getpid() > if sys.platform=='sunos5': > a2 = Popen('ps -p %d -o osz' % pid, shell=True, > stdout=PIPE).stdout.readlines() > mem = int(a2[-1].strip()) > elif sys.platform.startswith('linux'): > a2 = Popen('ps -p %d -o rss,sz' % pid, shell=True, > stdout=PIPE).stdout.readlines() > mem = int(a2[1].split()[1]) > elif sys.platform.startswith('darwin'): > a2 = Popen('ps -p %d -o rss,vsz' % pid, shell=True, > stdout=PIPE).stdout.readlines() > mem = int(a2[1].split()[0]) > > return mem > > I'm suspecting the problem may be in your data reader and/or unpacker, > not in the application of numpy functions. Also, ipython can confuse > the issue by keeping references to objects. In any case, with a simpler > test script and regular memory monitoring, it should be easier for you > to track down the problem. > > Eric -------------- next part -------------- An HTML attachment was scrubbed... URL: From vincent at vincentdavis.net Tue Jun 8 12:29:09 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Tue, 8 Jun 2010 10:29:09 -0600 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: <74F07D9D-9098-41FD-8A85-E757566F51D3@yale.edu> References: <06C7B542-A7ED-4C33-B23F-7BEC08A15517@yale.edu> <74F07D9D-9098-41FD-8A85-E757566F51D3@yale.edu> Message-ID: On Tue, Jun 8, 2010 at 10:06 AM, Zachary Pincus wrote: >> On Tue, Jun 8, 2010 at 7:58 AM, Zachary Pincus > > wrote: >>> This is unexpected, from the error log: >>>> /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ >>>> Python.h:11:20: error: limits.h: No such file or directory >>> >>> No good... it can't find basic system headers. Perhaps it's due to >>> the >>> MACOSX_DEPLOYMENT_TARGET environment variable that was warned about >>> earlier? (I think I'd seen that sort of thing before... regardless of >>> whether you have the 10.4 SDK, if MACOSX_DEPLOYMENT_TARGET is 10.3 I >>> think it doesn't get used? Not sure.) Try setting >>> MACOSX_DEPLOYMENT_TARGET to 10.4: >>> MACOSX_DEPLOYMENT_TARGET=10.4 >>> export MACOSX_DEPLOYMENT_TARGET >>> (if you're using bash, the default OS X shell; for tcsh use "setenv >>> MACOSX_DEPLOYMENT_TARGET 10.4") >>> >> Before I make any changes I wanted to make sure I kinda know what I am >> doing and how :) >> I have several versions of python installed. The python 3.1.2 is clean >> except for nose being installed. to access python 3 on my system I >> have a terminal alias to py 3.1.2 as python3 > > Basic summary of environment variables: > http://en.wikipedia.org/wiki/Environment_variable > > In a unix shell, setting an environment variable will apply to the > processes that are started from within that shell session. To > permanently set environment variables, you'd need to add the relevant > commands to the bash .profile or other startup files (a topic in and > of itself). So the good news is that nothing you do will w/r/t > environment vars will persist past exiting that particular shell. > > Anyhow, from the below, you don't have MACOSX_DEPLOYMENT_TARGET set at > all, which is what would be expected. I wonder if perhaps the python/ > numpy build process is setting MACOSX_DEPLOYMENT_TARGET to 10.3 when > there is none already set? If so this is not good. > > Anyhow, given that you're using bash, here's what to do to try to build: > > cd /path/to/numpy/src > MACOSX_DEPLOYMENT_TARGET=10.4 > export MACOSX_DEPLOYMENT_TARGET > python3 setup.py build > > and see if that fixes the issue? If so there's some bug in the numpy > build process you've stumbled across. Failed again, I have attached the output including the execution of the above commands. Thanks for link to the environment variables, I need to read that. And Thanks again for your time Vincent > > Zach > > > >> >> So when in the terminal typing env returns >> MacBookPro-new-2:numpy vmd$ env >> TERM_PROGRAM=Apple_Terminal >> TERM=xterm-color >> SHELL=/bin/bash >> TMPDIR=/var/folders/2f/2fiXYQSSE+CgAzDQPp9+k++++TI/-Tmp-/ >> Apple_PubSub_Socket_Render=/tmp/launch-4g8LJN/Render >> TERM_PROGRAM_VERSION=273 >> OLDPWD=/Users/vmd/DropBox/numpy >> USER=vmd >> COMMAND_MODE=unix2003 >> SSH_AUTH_SOCK=/tmp/launch-fxsj0I/Listeners >> __CF_USER_TEXT_ENCODING=0x1F5:0:0 >> PATH=/Library/Frameworks/EPD64.framework/Versions/Current/bin:/ >> Library/Frameworks/EPD64.framework/Versions/Current/bin:/usr/bin:/ >> bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin:/ >> opt/local/bin >> MKL_NUM_THREADS=1 >> PWD=/Users/vmd/DropBox/numpy/numpy >> LANG=en_US.UTF-8 >> SHLVL=1 >> HOME=/Users/vmd >> LOGNAME=vmd >> DISPLAY=/tmp/launch-HlM7T8/org.x:0 >> _=/usr/bin/env >> MacBookPro-new-2:numpy vmd$ >> >> So looking into this a bit more. >> MacBookPro-new-2:numpy vmd$ python3 >> Python 3.1.2 (r312:79360M, Mar 24 2010, 01:33:18) >> [GCC 4.0.1 (Apple Inc. build 5493)] on darwin >> Type "help", "copyright", "credits" or "license" for more information. >> >>>>> import os >>>>> for x in os.environ.items(): print(x) >> ... >> ('MKL_NUM_THREADS', '1') >> ('LANG', 'en_US.UTF-8') >> ('TERM', 'xterm-color') >> ('Apple_PubSub_Socket_Render', '/tmp/launch-4g8LJN/Render') >> ('TMPDIR', '/var/folders/2f/2fiXYQSSE+CgAzDQPp9+k++++TI/-Tmp-/') >> ('SHLVL', '1') >> ('OLDPWD', '/Users/vmd/DropBox/numpy') >> ('SSH_AUTH_SOCK', '/tmp/launch-fxsj0I/Listeners') >> ('TERM_PROGRAM_VERSION', '273') >> ('__CF_USER_TEXT_ENCODING', '0x1F5:0:0') >> ('PWD', '/Users/vmd/DropBox/numpy/numpy') >> ('SHELL', '/bin/bash') >> ('LOGNAME', 'vmd') >> ('USER', 'vmd') >> ('PATH', '/Library/Frameworks/EPD64.framework/Versions/Current/bin:/ >> Library/Frameworks/EPD64.framework/Versions/Current/bin:/usr/bin:/ >> bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin:/ >> opt/local/bin') >> ('HOME', '/Users/vmd') >> ('TERM_PROGRAM', 'Apple_Terminal') >> ('DISPLAY', '/tmp/launch-HlM7T8/org.x:0') >> ('_', '/usr/local/bin/python3') >> ('COMMAND_MODE', 'legacy') >>>>> >> >> >> In the end I am not sure how to set the what env belongs to, is this a >> python setting or a system setting? Does setting env as you suggest >> apply to py3.1.2 as I have it installed? >> setenv MACOSX_DEPLOYMENT_TARGET 10.4 >> >> Thanks >> Vincent >> >> >> >>> If this fixes things, I suspect that the build process should >>> probably >>> give an error about MACOSX_DEPLOYMENT_TARGET instead of a warning... >>> >>> Zach >>> >>> >>> >>> On Jun 7, 2010, at 11:49 PM, Vincent Davis wrote: >>> >>>> On Mon, Jun 7, 2010 at 7:59 PM, Vincent Davis >>>> wrote: >>>>> On Mon, Jun 7, 2010 at 7:26 PM, Ralf Gommers >>>>> wrote: >>>>>> >>>>>> >>>>>> On Tue, Jun 8, 2010 at 4:46 AM, Vincent Davis >>>>>> >>>>>> wrote: >>>>>>> >>>>>>> On Mon, Jun 7, 2010 at 2:11 PM, Skipper Seabold >>>>>>> >>>>>>> wrote: >>>>>>>> On Mon, Jun 7, 2010 at 4:02 PM, Vincent Davis >>>>>>>> >>>>>>>> wrote: >>>>>>>>> ? "Cannot compile 'Python.h'. Perhaps you need to "\ >>>>>>>>> SystemError: Cannot compile 'Python.h'. Perhaps you need to >>>>>>>>> install >>>>>>>>> python-dev|python-devel. >>>>>>>> >>>>>>>> Not sure about this. ?Might be the compiler issue, but I know on >>>>>>>> Linux >>>>>>>> you need to install the python-dev (or python-devel) package, >>>>>>>> but I >>>>>>>> don't see that as a pre-req on the Mac page. >>>>>>> >>>>>>> So it seems to be seeing the newly installed fortran, but I do >>>>>>> get an >>>>>>> error at the end. >>>>>>> ?File "numpy/core/setup.py", line 260, in check_types >>>>>>> ? ?"Cannot compile 'Python.h'. Perhaps you need to "\ >>>>>>> SystemError: Cannot compile 'Python.h'. Perhaps you need to >>>>>>> install >>>>>>> python-dev|python-devel. >>>>>>> >>>>>>> Any ideas, I looked into how python-dev|python-devel applied to >>>>>>> python >>>>>>> but could make much of what I found. I tried to build python >>>>>>> 3.1.2 >>>>>>> from source but that didn't work out. If I need to go that >>>>>>> direction I >>>>>>> guess I need to. >>>>>>> >>>>>> You are probably missing the 10.4 SDK. It's an optional install of >>>>>> XCode on >>>>>> your Snow Leopard DVD. >>>>> >>>>> True I have 10.5 and 10.6 SDK I will install the 10.4 and try >>>>> again. >>>>> Thanks >>>>> Vincent >>>> >>>> Still no go after installing 10.4 sdk >>>> Attached terminal output. >>>> >>>>>> >>>>>> Cheers, >>>>>> Ralf >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> NumPy-Discussion mailing list >>>>>> NumPy-Discussion at scipy.org >>>>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>>>>> >>>>>> >>>>> >>>> >>> Output.txt.zip>_______________________________________________ >>>> NumPy-Discussion mailing list >>>> NumPy-Discussion at scipy.org >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- A non-text attachment was scrubbed... Name: Terminal Output V2.txt.zip Type: application/zip Size: 83508 bytes Desc: not available URL: From gokhansever at gmail.com Tue Jun 8 13:09:26 2010 From: gokhansever at gmail.com (=?UTF-8?Q?G=C3=B6khan_Sever?=) Date: Tue, 8 Jun 2010 12:09:26 -0500 Subject: [Numpy-discussion] np.choose() question In-Reply-To: References: Message-ID: On Tue, Jun 8, 2010 at 11:24 AM, Andreas Hilboll wrote: > Hi there, > > I have a problem, which I'm sure can somehow be solved using np.choose() > - but I cannot figure out how :( > > I have an array idx, which holds int values and has a 2d shape. All > values inside idx are 0 <= idx < n. And I have a second array times, > which is 1d, with times.shape = (n,). > > Out of these two arrays I now want to create a 2d array having the same > shape as idx, and holding the values contained in times, as indexed by > idx. > > A simple np.choose(idx,times) does not work (error "Need between 2 and > (32) array objects (inclusive)."). > > Example: > > idx = [[4,2],[3,1]] > times = [100,101,102,103,104] > > From these two I want to create an array > > result = [[104,102],[103,101]] > > How can this be done? > > Thanks a lot for your insight! > > Andreas > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > Here is a non numpy.choose solution: newtimes = [times[idx[x][y]] for x in range(2) for y in range(2)] np.array(newtimes).reshape(2,2) array([[104, 102], [103, 101]]) -- G?khan -------------- next part -------------- An HTML attachment was scrubbed... URL: From vincent at vincentdavis.net Tue Jun 8 13:13:44 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Tue, 8 Jun 2010 11:13:44 -0600 Subject: [Numpy-discussion] Mail list idea Message-ID: I accidentally posted this on scipy list also, I meant it to be here since we already have a tread going about the mail list and I now know there is a moderator :) I prefer the mail list but stackoverflow.com is good. But what I really like about stackoverflow is not the answers but the ability to search and even the dynamic search when I start to type a question. Here are a few ideas 1) When the first email of a tread is processed by the mail serve a search of similar question is done and the relevant posts are attached (as links) at the bottom of the message. 2) A web based interface that is similar to stackoverflow in that a user can search and post within the same page and as they type a question suggested relevant posts are shown. I probably should be posting this elsewhere, like on some mailman list. Do you think this is feasible (cost, benefit) or desirable? Vincent From jeffhsu3 at gmail.com Tue Jun 8 13:20:28 2010 From: jeffhsu3 at gmail.com (Jeff Hsu) Date: Tue, 8 Jun 2010 13:20:28 -0400 Subject: [Numpy-discussion] Problems with get_info installing scipy In-Reply-To: References: Message-ID: Thanks, that works. Unfortunately it uncovered another problem. When I try and reinstall numpy, it keeps building with intel mkl libraries even when I get a fresh install of numpy with the site.cfg set to default or no site.cfg at all. Giving me: FOUND: libraries = ['mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'pthread'] library_dirs = ['/opt/intel/Compiler/11.1/072/mkl/lib/em64t'] define_macros = [('SCIPY_MKL_H', None)] include_dirs = ['/opt/intel/Compiler/11.1/072/mkl/include'] ... On Tue, Jun 8, 2010 at 10:41 AM, Pauli Virtanen wrote: > Tue, 08 Jun 2010 09:47:41 -0400, Jeff Hsu wrote: > > I tried to install scipy, but I get the error with not being able to > > find get_info() from numpy.distutils.misc_util. I read that you need > > the SVN version of numpy to fix this. I recompiled numpy and > > reinstalled from the SVN, which says is version 1.3.0 (was using 1.4.1 > > version before) and that function is not found within either versions. > > What version of numpy should I use? Or maybe I'm not removing numpy > > correctly. > > It's included in 1.4.1 and in SVN (which is 1.5.x). > > You almost certainly have an older version of numpy installed somewhere > that overrides the new one. Check "import numpy; print numpy.__file__" to > see which one is imported. > > -- > Pauli Virtanen > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From markperrymiller at gmail.com Tue Jun 8 13:23:22 2010 From: markperrymiller at gmail.com (Mark Miller) Date: Tue, 8 Jun 2010 10:23:22 -0700 Subject: [Numpy-discussion] np.choose() question In-Reply-To: References: Message-ID: Not pretty, but it works: >>> idx array([[4, 2], [3, 1]]) >>> times array([100, 101, 102, 103, 104]) >>> numpy.reshape(times[idx.flatten()],idx.shape) array([[104, 102], [103, 101]]) >>> On Tue, Jun 8, 2010 at 10:09 AM, G?khan Sever wrote: > > > On Tue, Jun 8, 2010 at 11:24 AM, Andreas Hilboll wrote: >> >> Hi there, >> >> I have a problem, which I'm sure can somehow be solved using np.choose() >> - but I cannot figure out how :( >> >> I have an array idx, which holds int values and has a 2d shape. All >> values inside idx are 0 <= idx < n. And I have a second array times, >> which is 1d, with times.shape = (n,). >> >> Out of these two arrays I now want to create a 2d array having the same >> shape as idx, and holding the values contained in times, as indexed by >> idx. >> >> A simple np.choose(idx,times) does not work (error "Need between 2 and >> (32) array objects (inclusive)."). >> >> Example: >> >> idx = [[4,2],[3,1]] >> times = [100,101,102,103,104] >> >> ?From these two I want to create an array >> >> result = [[104,102],[103,101]] >> >> How can this be done? >> >> Thanks a lot for your insight! >> >> Andreas >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > > Here is a non numpy.choose solution: > newtimes = [times[idx[x][y]] for x in range(2) for y in range(2)] > np.array(newtimes).reshape(2,2) > array([[104, 102], > ?? ? ? ? ? [103, 101]]) > > -- > G?khan > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > From vincent at vincentdavis.net Mon Jun 7 23:48:26 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Mon, 7 Jun 2010 21:48:26 -0600 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: References: Message-ID: On Mon, Jun 7, 2010 at 7:59 PM, Vincent Davis wrote: > On Mon, Jun 7, 2010 at 7:26 PM, Ralf Gommers > wrote: >> >> >> On Tue, Jun 8, 2010 at 4:46 AM, Vincent Davis >> wrote: >>> >>> On Mon, Jun 7, 2010 at 2:11 PM, Skipper Seabold >>> wrote: >>> > On Mon, Jun 7, 2010 at 4:02 PM, Vincent Davis >>> > wrote: >>> >> ? "Cannot compile 'Python.h'. Perhaps you need to "\ >>> >> SystemError: Cannot compile 'Python.h'. Perhaps you need to install >>> >> python-dev|python-devel. >>> > >>> > Not sure about this. ?Might be the compiler issue, but I know on Linux >>> > you need to install the python-dev (or python-devel) package, but I >>> > don't see that as a pre-req on the Mac page. >>> >>> So it seems to be seeing the newly installed fortran, but I do get an >>> error at the end. >>> ?File "numpy/core/setup.py", line 260, in check_types >>> ? ?"Cannot compile 'Python.h'. Perhaps you need to "\ >>> SystemError: Cannot compile 'Python.h'. Perhaps you need to install >>> python-dev|python-devel. >>> >>> Any ideas, I looked into how python-dev|python-devel applied to python >>> but could make much of what I found. I tried to build python 3.1.2 >>> from source but that didn't work out. If I need to go that direction I >>> guess I need to. >>> >> You are probably missing the 10.4 SDK. It's an optional install of XCode on >> your Snow Leopard DVD. > > True I have 10.5 and 10.6 SDK I will install the 10.4 and try again. > Thanks > Vincent >> Still no go after installing 10.4 sdk Attached terminal output. Thanks again Vincent >> Cheers, >> Ralf >> >> >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> > -------------- next part -------------- Last login: Mon Jun 7 15:07:12 on ttys000 MacBookPro-new-2:~ vmd$ cd DropBox MacBookPro-new-2:DropBox vmd$ cd numpy MacBookPro-new-2:numpy vmd$ cd numpy MacBookPro-new-2:numpy vmd$ ls COMPATIBILITY THANKS.txt setup.py DEV_README.txt benchmarks setupegg.py INSTALL.txt branding setupscons.py LICENSE.txt doc setupsconsegg.py MANIFEST.in numpy site.cfg.example README.txt pavement.py tools TEST_COMMIT release.sh MacBookPro-new-2:numpy vmd$ python3 setup.py build Converting to Python3 via 2to3... RefactoringTool: Skipping implicit fixer: buffer RefactoringTool: Skipping implicit fixer: idioms RefactoringTool: Skipping implicit fixer: set_literal RefactoringTool: Skipping implicit fixer: ws_comma RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/__init__.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/_import_tools.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ctypeslib.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/dual.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/matlib.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/setupscons.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/compat/__init__.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/compat/_inspect.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/__init__.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/_internal.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/_mx_datetime_parser.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/arrayprint.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/fromnumeric.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/function_base.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/getlimits.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/machar.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/memmap.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/numeric.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/numerictypes.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/records.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/scons_support.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/setup_common.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/shape_base.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/code_generators/cversions.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/code_generators/genapi.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/code_generators/numpy_api.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/src/multiarray/testcalcs.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_blasdot.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_datetime.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_defchararray.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_dtype.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_errstate.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_function_base.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_getlimits.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_machar.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_memmap.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_multiarray.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_numeric.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_numerictypes.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_print.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_records.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_regression.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_scalarmath.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_shape_base.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_ufunc.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_umath.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_umath_complex.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_unicode.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/__init__.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/__version__.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/ccompiler.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/conv_template.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/core.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/cpuinfo.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/environment.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/exec_command.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/from_template.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/intelccompiler.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/interactive.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/lib2def.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/line_endings.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/log.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/mingw32ccompiler.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/misc_util.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/npy_pkg_config.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/unixccompiler.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/bdist_rpm.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_clib.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_ext.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_py.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/config.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/config_compiler.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/install_clib.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/install_headers.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/scons.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/__init__.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/absoft.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/compaq.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/g95.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/gnu.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/hpux.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/ibm.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/intel.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/lahey.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/mips.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/nag.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/none.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/pg.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/sun.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/vast.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/tests/test_misc_util.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/tests/test_npy_pkg_config.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/tests/f2py_ext/tests/test_fib2.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/tests/gen_ext/tests/test_fib3.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/__init__.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/__version__.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/capi_maps.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/cb_rules.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/cfuncs.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/common_rules.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/crackfortran.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/diagnose.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/f2py2e.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/f2py_testing.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/f90mod_rules.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/func2subr.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/rules.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/setupscons.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/use_rules.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/doc/collectinput.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/tests/test_array_from_pyobj.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/tests/test_callback.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/tests/test_return_character.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/tests/test_return_complex.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/tests/test_return_integer.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/tests/test_return_logical.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/tests/test_return_real.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/tests/util.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/fft/__init__.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/fft/fftpack.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/fft/helper.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/fft/tests/test_fftpack.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/fft/tests/test_helper.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/__init__.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/_datasource.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/_iotools.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/arraysetops.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/financial.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/format.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/function_base.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/index_tricks.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/npyio.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/polynomial.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/recfunctions.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/scimath.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/shape_base.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/stride_tricks.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/twodim_base.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/type_check.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/ufunclike.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/user_array.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/utils.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/benchmarks/bench_arraysetops.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test__datasource.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test__iotools.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_arraysetops.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_financial.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_format.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_function_base.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_index_tricks.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_io.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_polynomial.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_recfunctions.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_regression.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_shape_base.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_stride_tricks.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_twodim_base.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_type_check.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_ufunclike.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_utils.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/linalg/__init__.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/linalg/linalg.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/linalg/lapack_lite/clapack_scrub.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/linalg/lapack_lite/fortran.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/linalg/lapack_lite/make_lite.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/linalg/tests/test_build.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/linalg/tests/test_linalg.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/linalg/tests/test_regression.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/__init__.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/bench.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/extras.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/mrecords.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/testutils.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/version.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/tests/test_extras.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/tests/test_mrecords.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/tests/test_regression.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/tests/test_subclassing.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/matrixlib/__init__.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/matrixlib/defmatrix.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/matrixlib/tests/test_defmatrix.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/matrixlib/tests/test_regression.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/numarray/__init__.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/numarray/alter_code1.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/numarray/convolve.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/numarray/functions.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/numarray/image.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/numarray/matrix.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/numarray/nd_image.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/numarray/numerictypes.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/numarray/session.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/numarray/util.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/__init__.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/alter_code1.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/alter_code2.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/array_printer.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/arrayfns.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/compat.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/fix_default_axis.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/functions.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/linear_algebra.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/matrix.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/misc.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/mlab.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/precision.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/random_array.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/rng.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/rng_stats.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/typeconv.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/tests/test_oldnumeric.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/tests/test_regression.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/polynomial/__init__.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/polynomial/chebyshev.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/polynomial/polynomial.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/polynomial/polytemplate.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/polynomial/polyutils.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/polynomial/tests/test_chebyshev.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/polynomial/tests/test_polynomial.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/polynomial/tests/test_polyutils.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/random/__init__.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/random/mtrand/generate_mtrand_c.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/random/tests/test_random.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/testing/__init__.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/testing/decorators.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/testing/noseclasses.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/testing/nosetester.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/testing/nulltester.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/testing/numpytest.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/testing/utils.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/testing/tests/test_decorators.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/testing/tests/test_utils.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/tests/test_ctypeslib.py RefactoringTool: Files that were modified: RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/__init__.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/_import_tools.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ctypeslib.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/dual.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/matlib.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/setupscons.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/compat/__init__.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/compat/_inspect.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/__init__.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/_internal.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/_mx_datetime_parser.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/arrayprint.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/fromnumeric.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/function_base.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/getlimits.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/machar.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/memmap.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/numeric.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/numerictypes.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/records.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/scons_support.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/setup_common.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/shape_base.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/code_generators/cversions.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/code_generators/genapi.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/code_generators/numpy_api.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/src/multiarray/testcalcs.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_blasdot.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_datetime.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_defchararray.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_dtype.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_errstate.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_function_base.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_getlimits.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_machar.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_memmap.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_multiarray.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_numeric.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_numerictypes.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_print.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_records.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_regression.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_scalarmath.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_shape_base.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_ufunc.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_umath.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_umath_complex.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/tests/test_unicode.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/__init__.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/__version__.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/ccompiler.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/conv_template.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/core.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/cpuinfo.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/environment.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/exec_command.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/from_template.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/intelccompiler.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/interactive.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/lib2def.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/line_endings.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/log.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/mingw32ccompiler.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/misc_util.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/npy_pkg_config.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/unixccompiler.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/bdist_rpm.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_clib.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_ext.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_py.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/config.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/config_compiler.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/install_clib.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/install_headers.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/scons.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/__init__.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/absoft.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/compaq.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/g95.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/gnu.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/hpux.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/ibm.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/intel.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/lahey.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/mips.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/nag.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/none.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/pg.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/sun.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/vast.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/tests/test_misc_util.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/tests/test_npy_pkg_config.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/tests/f2py_ext/tests/test_fib2.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/tests/gen_ext/tests/test_fib3.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/__init__.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/__version__.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/capi_maps.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/cb_rules.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/cfuncs.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/common_rules.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/crackfortran.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/diagnose.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/f2py2e.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/f2py_testing.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/f90mod_rules.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/func2subr.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/rules.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/setupscons.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/use_rules.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/doc/collectinput.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/tests/test_array_from_pyobj.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/tests/test_callback.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/tests/test_return_character.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/tests/test_return_complex.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/tests/test_return_integer.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/tests/test_return_logical.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/tests/test_return_real.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/tests/util.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/fft/__init__.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/fft/fftpack.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/fft/helper.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/fft/tests/test_fftpack.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/fft/tests/test_helper.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/__init__.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/_datasource.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/_iotools.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/arraysetops.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/financial.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/format.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/function_base.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/index_tricks.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/npyio.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/polynomial.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/recfunctions.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/scimath.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/shape_base.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/stride_tricks.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/twodim_base.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/type_check.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/ufunclike.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/user_array.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/utils.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/benchmarks/bench_arraysetops.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test__datasource.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test__iotools.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_arraysetops.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_financial.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_format.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_function_base.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_index_tricks.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_io.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_polynomial.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_recfunctions.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_regression.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_shape_base.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_stride_tricks.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_twodim_base.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_type_check.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_ufunclike.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_utils.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/linalg/__init__.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/linalg/linalg.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/linalg/lapack_lite/clapack_scrub.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/linalg/lapack_lite/fortran.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/linalg/lapack_lite/make_lite.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/linalg/tests/test_build.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/linalg/tests/test_linalg.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/linalg/tests/test_regression.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/__init__.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/bench.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/extras.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/mrecords.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/testutils.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/version.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/tests/test_extras.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/tests/test_mrecords.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/tests/test_regression.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/tests/test_subclassing.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/matrixlib/__init__.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/matrixlib/defmatrix.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/matrixlib/tests/test_defmatrix.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/matrixlib/tests/test_regression.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/numarray/__init__.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/numarray/alter_code1.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/numarray/convolve.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/numarray/functions.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/numarray/image.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/numarray/matrix.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/numarray/nd_image.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/numarray/numerictypes.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/numarray/session.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/numarray/util.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/__init__.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/alter_code1.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/alter_code2.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/array_printer.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/arrayfns.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/compat.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/fix_default_axis.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/functions.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/linear_algebra.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/matrix.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/misc.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/mlab.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/precision.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/random_array.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/rng.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/rng_stats.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/typeconv.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/tests/test_oldnumeric.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/tests/test_regression.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/polynomial/__init__.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/polynomial/chebyshev.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/polynomial/polynomial.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/polynomial/polytemplate.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/polynomial/polyutils.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/polynomial/tests/test_chebyshev.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/polynomial/tests/test_polynomial.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/polynomial/tests/test_polyutils.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/random/__init__.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/random/mtrand/generate_mtrand_c.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/random/tests/test_random.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/testing/__init__.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/testing/decorators.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/testing/noseclasses.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/testing/nosetester.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/testing/nulltester.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/testing/numpytest.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/testing/utils.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/testing/tests/test_decorators.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/testing/tests/test_utils.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/tests/test_ctypeslib.py RefactoringTool: Warnings/messages while refactoring: RefactoringTool: ### In file /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/_iotools.py ### RefactoringTool: Line 689: You should use a for loop here RefactoringTool: Skipping implicit fixer: buffer RefactoringTool: Skipping implicit fixer: idioms RefactoringTool: Skipping implicit fixer: set_literal RefactoringTool: Skipping implicit fixer: ws_comma RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/system_info.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/auxfuncs.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/arrayterator.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_arrayterator.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/core.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/timer_comparison.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/tests/test_core.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/tests/test_old_ma.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/ma.py RefactoringTool: Files that were modified: RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/system_info.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/auxfuncs.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/arrayterator.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/lib/tests/test_arrayterator.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/core.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/timer_comparison.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/tests/test_core.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/ma/tests/test_old_ma.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/oldnumeric/ma.py RefactoringTool: Skipping implicit fixer: buffer RefactoringTool: Skipping implicit fixer: idioms RefactoringTool: Skipping implicit fixer: set_literal RefactoringTool: Skipping implicit fixer: ws_comma RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/setup.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/code_generators/generate_numpy_api.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/code_generators/generate_ufunc_api.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/code_generators/generate_umath.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/tests/f2py_f90_ext/setup.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/setup.py RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/linalg/setup.py RefactoringTool: Files that were modified: RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/setup.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/code_generators/generate_numpy_api.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/code_generators/generate_ufunc_api.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/code_generators/generate_umath.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/tests/f2py_f90_ext/setup.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/f2py/setup.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/linalg/setup.py RefactoringTool: Skipping implicit fixer: buffer RefactoringTool: Skipping implicit fixer: idioms RefactoringTool: Skipping implicit fixer: set_literal RefactoringTool: Skipping implicit fixer: ws_comma RefactoringTool: No changes to /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/compat/py3k.py RefactoringTool: Refactored /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/defchararray.py RefactoringTool: Files that were modified: RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/compat/py3k.py RefactoringTool: /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/core/defchararray.py non-existing path in 'numpy/distutils': 'site.cfg' F2PY Version 2_8459 Running from numpy source directory.numpy/core/code_generators/generate_umath.py:117: DeprecationWarning: string.maketrans is deprecated, use bytes.maketrans instead bytes(string.ascii_uppercase, "ascii")) blas_opt_info: FOUND: extra_link_args = ['-Wl,-framework', '-Wl,Accelerate'] define_macros = [('NO_ATLAS_INFO', 3)] extra_compile_args = ['-faltivec', '-I/System/Library/Frameworks/vecLib.framework/Headers'] lapack_opt_info: FOUND: extra_link_args = ['-Wl,-framework', '-Wl,Accelerate'] define_macros = [('NO_ATLAS_INFO', 3)] extra_compile_args = ['-faltivec'] could not resolve pattern in '': '*.txt' non-existing path in '': 'COMPATIBILITY' non-existing path in '': 'site.cfg.example' running build running config_cc unifing config_cc, config, build_clib, build_ext, build commands --compiler options running config_fc unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options running build_src build_src building py_modules sources creating build creating build/src.macosx-10.3-fat-3.1 creating build/src.macosx-10.3-fat-3.1/numpy creating build/src.macosx-10.3-fat-3.1/numpy/distutils building library "npymath" sources customize NAGFCompiler Could not locate executable f95 customize AbsoftFCompiler Could not locate executable f90 Could not locate executable f77 customize IBMFCompiler Could not locate executable xlf90 Could not locate executable xlf customize IntelFCompiler Could not locate executable ifort Could not locate executable ifc customize GnuFCompiler Could not locate executable g77 customize Gnu95FCompiler Found executable /usr/local/bin/gfortran /Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/fcompiler/gnu.py:126: UserWarning: Env. variable MACOSX_DEPLOYMENT_TARGET set to 10.3 warnings.warn(s) customize Gnu95FCompiler customize Gnu95FCompiler using config C compiler: gcc-4.0 -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 compile options: '-Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/include -I/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1 -c' gcc-4.0: _configtest.c gcc-4.0 _configtest.o -o _configtest success! removing: _configtest.c _configtest.o _configtest C compiler: gcc-4.0 -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 compile options: '-Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/include -I/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1 -c' gcc-4.0: _configtest.c _configtest.c:1: warning: conflicting types for built-in function ?exp? _configtest.c:1: warning: conflicting types for built-in function ?exp? gcc-4.0 _configtest.o -o _configtest success! removing: _configtest.c _configtest.o _configtest creating build/src.macosx-10.3-fat-3.1/numpy/core creating build/src.macosx-10.3-fat-3.1/numpy/core/src creating build/src.macosx-10.3-fat-3.1/numpy/core/src/npymath conv_template:> build/src.macosx-10.3-fat-3.1/numpy/core/src/npymath/npy_math.c conv_template:> build/src.macosx-10.3-fat-3.1/numpy/core/src/npymath/ieee754.c conv_template:> build/src.macosx-10.3-fat-3.1/numpy/core/src/npymath/npy_math_complex.c building extension "numpy.core._sort" sources Generating build/src.macosx-10.3-fat-3.1/numpy/core/include/numpy/config.h C compiler: gcc-4.0 -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 compile options: '-Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/include -I/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1 -c' gcc-4.0: _configtest.c In file included from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:11:20: error: limits.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:14:2: error: #error "Something's broken. UCHAR_MAX should be defined in limits.h." /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:18:2: error: #error "Python's source code assumes C's unsigned char is an 8-bit type." /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:25:19: error: stdio.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:27:5: error: #error "Python.h requires that stdio.h define NULL." /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:30:20: error: string.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:32:19: error: errno.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:34:20: error: stdlib.h: No such file or directory In file included from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:11:20: error: limits.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:14:2: error: #error "Something's broken. UCHAR_MAX should be defined in limits.h." /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:18:2: error: #error "Python's source code assumes C's unsigned char is an 8-bit type." /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:25:19: error: stdio.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:27:5: error: #error "Python.h requires that stdio.h define NULL." /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:30:20: error: string.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:32:19: error: errno.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:34:20: error: stdlib.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:36:20: error: unistd.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:36:20: error: unistd.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:48:20: error: assert.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:48:20: error: assert.h: No such file or directory In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:50, from _configtest.c:1In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:50, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:9:22: error: inttypes.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:13:20: error: stdint.h: No such file or directory In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:50, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:135: error: syntax error before ?Py_uintptr_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:135: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:136: error: syntax error before ?Py_intptr_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:136: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:159: error: syntax error before ?Py_ssize_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:159: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:282:76: error: math.h: No such file or directory : /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:9:22: error: inttypes.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:13:20: error: stdint.h: No such file or directory In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:50, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:135: error: syntax error before ?Py_uintptr_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:135: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:136: error: syntax error before ?Py_intptr_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:136: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:159: error: syntax error before ?Py_ssize_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:159: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:282:76: error: math.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:289:22: error: sys/time.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:290:18: error: time.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:307:24: error: sys/select.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:340:22: error: sys/stat.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:591:21: error: termios.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:592: warning: ?struct winsize? declared inside parameter list /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:592: warning: its scope is only this definition or declaration, which is probably not what you want /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:592: warning: ?struct termios? declared inside parameter list /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:593: error: syntax error before ?forkpty? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:593: warning: ?struct winsize? declared inside parameter list /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:593: warning: ?struct termios? declared inside parameter list /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:593: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:289:22: error: sys/time.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:290:18: error: time.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:307:24: error: sys/select.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:340:22: error: sys/stat.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:591:21: error: termios.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:592: warning: ?struct winsize? declared inside parameter list /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:592: warning: its scope is only this definition or declaration, which is probably not what you want /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:592: warning: ?struct termios? declared inside parameter list /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:593: error: syntax error before ?forkpty? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:593: warning: ?struct winsize? declared inside parameter list /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:593: warning: ?struct termios? declared inside parameter list /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:593: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:62, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pymem.h:52: warning: parameter names (without types) in function declaration /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pymem.h:53: error: syntax error before ?size_t? In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:64, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:103: error: syntax error before ?Py_ssize_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:103: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:105: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:105: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:108: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:108: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:109: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:110: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:131: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:131: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:131: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:132: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:132: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:132: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:133: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:133: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:133: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:134: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:135: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:135: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:135: error: ?Py_ssize_t? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:135: error: ?Py_ssize_t? redeclared as different kind of symbol /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:159: error: previous declaration of ?Py_ssize_t? was here /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:136: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:136: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:136: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:137: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:137: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:137: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:138: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:139: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:140: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:146: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:146: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:156: error: declaration of ?smalltable? as array of functions /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:159: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:159: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:161: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:162: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:196: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:197: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:198: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:205: error: syntax error before ?binaryfunc? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:205: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:206: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:207: error: syntax error before ?nb_multiply? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:207: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:208: error: syntax error before ?nb_remainder? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:208: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:209: error: syntax error before ?nb_divmod? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:209: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:210: error: syntax error before ?nb_power? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:210: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:211: error: syntax error before ?nb_negative? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:211: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:212: error: syntax error before ?nb_positive? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:212: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:213: error: syntax error before ?nb_absolute? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:213: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:215: error: syntax error before ?nb_invert? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:215: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:216: error: syntax error before ?nb_lshift? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:216: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:217: error: syntax error before ?nb_rshift? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:217: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:218: error: syntax error before ?nb_and? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:218: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:219: error: syntax error before ?nb_xor? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:219: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:220: error: syntax error before ?nb_or? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:220: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:221: error: syntax error before ?nb_int? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:221: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:223: error: syntax error before ?nb_float? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:223: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:225: error: syntax error before ?nb_inplace_add? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:225: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:226: error: syntax error before ?nb_inplace_subtract? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:226: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:227: error: syntax error before ?nb_inplace_multiply? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:227: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:228: error: syntax error before ?nb_inplace_remainder? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:228: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:229: error: syntax error before ?nb_inplace_power? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:229: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:230: error: syntax error before ?nb_inplace_lshift? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:230: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:231: error: syntax error before ?nb_inplace_rshift? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:231: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:232: error: syntax error before ?nb_inplace_and? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:232: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:233: error: syntax error before ?nb_inplace_xor? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:233: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:234: error: syntax error before ?nb_inplace_or? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:234: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:236: error: syntax error before ?nb_floor_divide? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:236: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:237: error: syntax error before ?nb_true_divide? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:237: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:238: error: syntax error before ?nb_inplace_floor_divide? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:238: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:239: error: syntax error before ?nb_inplace_true_divide? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:239: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:241: error: syntax error before ?nb_index? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:241: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:242: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:245: error: syntax error before ?lenfunc? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:245: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:246: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:247: error: syntax error before ?sq_repeat? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:247: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:248: error: syntax error before ?sq_item? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:248: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:254: error: syntax error before ?sq_inplace_concat? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:254: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:255: error: syntax error before ?sq_inplace_repeat? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:255: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:256: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:259: error: syntax error before ?lenfunc? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:259: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:260: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:262: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:262: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:271: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:272: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:273: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:273: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:273: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:274: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:274: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:274: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:275: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:276: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:277: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:277: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:277: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:278: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:279: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:279: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:279: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:280: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:280: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:280: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:281: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:281: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:281: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:282: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:282: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:282: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:283: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:284: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:285: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:285: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:285: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:286: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:286: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:289: error: syntax error before ?PyVarObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:289: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:297: error: syntax error before ?tp_getattr? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:297: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:300: error: syntax error before ?tp_repr? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:300: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:304: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:304: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:305: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:305: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:306: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:306: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:311: error: syntax error before ?tp_call? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:311: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:312: error: syntax error before ?tp_str? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:312: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:313: error: syntax error before ?tp_getattro? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:313: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:333: error: syntax error before ?tp_richcompare? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:333: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:339: error: syntax error before ?tp_iter? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:339: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:340: error: syntax error before ?tp_iternext? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:340: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:347: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:347: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:348: error: syntax error before ?tp_descr_get? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:348: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:352: error: syntax error before ?tp_alloc? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:352: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:353: error: syntax error before ?tp_new? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:353: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:356: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:356: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:357: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:357: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:358: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:358: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:359: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:359: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:360: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:360: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:374: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:374: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:381: error: syntax error before ?PyTypeObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:381: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:382: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:383: error: syntax error before ?as_mapping? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:383: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:384: error: syntax error before ?as_sequence? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:384: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:390: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:390: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:392: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:392: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:400: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:404: error: syntax error before ?PyType_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:404: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:405: error: syntax error before ?PyBaseObject_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:405: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:406: error: syntax error before ?PySuper_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:406: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:412: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:413: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:413: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:413: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:414: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:414: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:415: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:416: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:416: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:416: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:417: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:417: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:417: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:419: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:422: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:424: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:425: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:425: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:425: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:426: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:426: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:426: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:427: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:427: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:427: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:428: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:428: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:428: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:429: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:429: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:429: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:430: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:431: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:431: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:431: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:432: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:433: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:434: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:434: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:434: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:435: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:436: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:437: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:437: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:437: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:438: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:438: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:438: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:439: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:439: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:439: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:440: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:440: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:440: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:441: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:443: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:444: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:445: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:446: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:447: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:449: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:457: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:457: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:457: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:461: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:462: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:714: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:715: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:723: error: syntax error before ?_Py_NoneStruct? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:723: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:733: error: syntax error before ?_Py_NotImplementedStruct? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:733: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:844: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:847: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:847: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:65, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:97: warning: parameter names (without types) in function declaration /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:98: error: syntax error before ?size_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:140: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:140: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:140: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:141: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:141: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:142: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:143: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:143: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:143: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:144: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:144: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:144: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:225: error: ?PyGC_Collect? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:234: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:234: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:234: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:246: error: field ?gc_refs? declared as a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:296: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:296: warning: parameter names (without types) in function declaration /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:296: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:297: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:297: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:297: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:298: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:298: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:298: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:62, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pymem.h:52: warning: parameter names (without types) in function declaration /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pymem.h:53: error: syntax error before ?size_t? In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:64, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:103: error: syntax error before ?Py_ssize_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:103: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:105: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:105: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:108: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:108: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:109: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:110: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:131: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:131: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:131: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:132: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:132: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:132: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:133: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:133: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:133: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:134: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:135: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:135: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:135: error: ?Py_ssize_t? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:135: error: ?Py_ssize_t? redeclared as different kind of symbol /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:159: error: previous declaration of ?Py_ssize_t? was here /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:136: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:136: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:136: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:137: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:137: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:137: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:138: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:139: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:140: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:146: error: syntax error before ?PyObject?In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:69, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:9:20: error: stdarg.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:146: warning: no semicolon at end of struct or union In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:69, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:23: error: syntax error before ?PyVarObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:23: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:28: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:28: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:31: error: syntax error before ?PyByteArray_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:31: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:32: error: syntax error before ?PyByteArrayIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:39: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:39: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:39: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:40: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:40: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:40: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:41: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:41: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:42: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:42: error: ?PyByteArray_Size? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:43: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:44: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:156: error: declaration of ?smalltable? as array of functions /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:159: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:159: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:161: error: syntax error before ?*? tokenIn file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:70, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:31: error: syntax error before ?PyVarObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:31: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:40: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:40: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:42: error: syntax error before ?PyBytes_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:42: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:43: error: syntax error before ?PyBytesIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:162: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:49: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:49: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:50: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:196: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:51: error: syntax error before ?*? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:197: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:51: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:198: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:51: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:52: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:205: error: syntax error before ?binaryfunc? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:52: error: syntax error before ?va_list? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:53: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:54: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:55: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:56: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:56: error: ?PyBytes_Size? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:57: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:58: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:58: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:58: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:59: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:60: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:61: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:62: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:62: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:63: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:64: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:66: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:75: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:75: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:75: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:83: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:98: error: ?_PyBytes_InsertThousandsGroupingLocale? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:109: error: ?_PyBytes_InsertThousandsGrouping? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:205: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:206: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:207: error: syntax error before ?nb_multiply? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:207: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:208: error: syntax error before ?nb_remainder? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:208: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:209: error: syntax error before ?nb_divmod? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:209: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:210: error: syntax error before ?nb_power? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:210: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:211: error: syntax error before ?nb_negative? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:211: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:212: error: syntax error before ?nb_positive? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:212: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:213: error: syntax error before ?nb_absolute? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:213: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:215: error: syntax error before ?nb_invert? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:215: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:216: error: syntax error before ?nb_lshift? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:216: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:217: error: syntax error before ?nb_rshift? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:217: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:218: error: syntax error before ?nb_and? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:218: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:219: error: syntax error before ?nb_xor? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:219: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:220: error: syntax error before ?nb_or? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:220: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:221: error: syntax error before ?nb_int? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:221: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:223: error: syntax error before ?nb_float? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:223: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:225: error: syntax error before ?nb_inplace_add? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:225: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:226: error: syntax error before ?nb_inplace_subtract? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:226: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:227: error: syntax error before ?nb_inplace_multiply? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:227: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:228: error: syntax error before ?nb_inplace_remainder? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:228: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:229: error: syntax error before ?nb_inplace_power? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:229: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:230: error: syntax error before ?nb_inplace_lshift? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:230: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:231: error: syntax error before ?nb_inplace_rshift? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:231: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:232: error: syntax error before ?nb_inplace_and? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:232: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:233: error: syntax error before ?nb_inplace_xor? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:233: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:234: error: syntax error before ?nb_inplace_or? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:234: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:236: error: syntax error before ?nb_floor_divide? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:236: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:237: error: syntax error before ?nb_true_divide? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:237: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:238: error: syntax error before ?nb_inplace_floor_divide? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:238: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:239: error: syntax error before ?nb_inplace_true_divide? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:239: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:241: error: syntax error before ?nb_index? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:241: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:242: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:245: error: syntax error before ?lenfunc? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:245: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:246: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:247: error: syntax error before ?sq_repeat? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:247: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:248: error: syntax error before ?sq_item? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:248: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:254: error: syntax error before ?sq_inplace_concat? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:254: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:255: error: syntax error before ?sq_inplace_repeat? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:255: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:256: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:259: error: syntax error before ?lenfunc? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:259: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:260: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:262: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:262: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:271: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:272: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:273: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:273: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:273: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:274: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:274: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:274: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:275: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:276: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:277: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:277: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:277: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:278: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:279: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:279: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:279: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:280: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:280: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:280: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:281: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:281: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:281: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:282: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:282: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:282: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:283: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:284: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:285: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:285: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:285: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:286: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:286: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:289: error: syntax error before ?PyVarObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:289: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:297: error: syntax error before ?tp_getattr? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:297: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:300: error: syntax error before ?tp_repr? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:300: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:304: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:304: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:305: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:305: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:306: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:306: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:311: error: syntax error before ?tp_call? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:311: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:312: error: syntax error before ?tp_str? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:312: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:313: error: syntax error before ?tp_getattro? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:313: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:333: error: syntax error before ?tp_richcompare? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:333: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:339: error: syntax error before ?tp_iter? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:339: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:340: error: syntax error before ?tp_iternext? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:340: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:347: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:347: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:348: error: syntax error before ?tp_descr_get? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:348: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:352: error: syntax error before ?tp_alloc? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:352: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:353: error: syntax error before ?tp_new? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:353: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:356: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:356: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:357: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:357: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:358: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:358: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:359: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:359: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:360: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:360: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:374: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:374: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:381: error: syntax error before ?PyTypeObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:381: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:382: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:383: error: syntax error before ?as_mapping? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:383: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:384: error: syntax error before ?as_sequence? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:384: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:390: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:390: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:392: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:392: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:400: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:404: error: syntax error before ?PyType_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:404: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:405: error: syntax error before ?PyBaseObject_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:405: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:406: error: syntax error before ?PySuper_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:406: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:412: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:413: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:413: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:413: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:414: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:414: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:415: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:416: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:416: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:416: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:417: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:417: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:417: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:419: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:422: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:424: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:425: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:425: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:425: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:426: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:71, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:57:19: error: ctype.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:116:21: error: wchar.h: No such file or directory In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:71, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:438: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:438: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:445: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:445: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:448: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:448: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:450: error: syntax error before ?PyUnicode_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:450: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:451: error: syntax error before ?PyUnicodeIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:451: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:494: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:497: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:500: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:503: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:507: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:509: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:515: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:521: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:522: error: ?PyUnicodeUCS2_GetSize? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:542: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:563: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:564: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:567: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:582: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:583: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:584: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:586: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:586: error: syntax error before ?va_list? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:586: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:587: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:587: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:591: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:591: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:593: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:595: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:596: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:597: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:597: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:612: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:613: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:615: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:630: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:633: error: ?PyUnicodeUCS2_AsWideChar? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:647: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:647: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:694: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:695: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:696: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:713: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:730: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:758: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:763: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:768: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:769: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:772: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:777: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:778: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:781: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:786: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:791: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:796: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:797: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:800: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:805: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:806: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:809: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:814: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:815: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:818: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:822: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:823: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:824: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:828: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:832: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:834: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:839: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:841: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:847: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:851: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:855: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:857: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:862: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:864: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:865: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:866: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:868: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:872: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:899: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:906: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:908: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:916: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:921: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:922: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:923: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:941: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:946: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:973: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:426: error: syntax error before ?*? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:980: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:982: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:990: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:995: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:996: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:997: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1019: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1024: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1028: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1032: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1034: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1035: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1036: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1038: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1041: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1045: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1049: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1051: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1052: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1053: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1055: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1058: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1064: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1068: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1076: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1080: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1082: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1083: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1084: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1086: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1090: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1098: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1102: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1104: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1105: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1106: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1108: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1112: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1136: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1139: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1142: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1144: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1145: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1148: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1150: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1153: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1156: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1171: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1174: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1176: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:426: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1244: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1256: error: syntax error before ?*? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:427: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:427: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:427: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:428: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:428: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:428: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:429: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:429: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:429: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:430: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:431: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:431: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:431: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:432: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:433: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:434: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:434: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:434: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:435: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:436: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:437: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:437: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:437: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:438: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:438: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:438: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:439: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:439: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:439: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:440: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:440: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:440: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:441: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:443: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:444: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:445: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:446: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:447: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:449: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:457: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:457: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:457: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:461: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:462: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:714: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:715: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:723: error: syntax error before ?_Py_NoneStruct? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:723: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:733: error: syntax error before ?_Py_NotImplementedStruct? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:733: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:844: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:847: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:847: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:65, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:97: warning: parameter names (without types) in function declaration /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:98: error: syntax error before ?size_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:140: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:140: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:140: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:141: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:141: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:142: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:143: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:143: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:143: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:144: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:144: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:144: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:225: error: ?PyGC_Collect? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:234: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:234: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:234: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:246: error: field ?gc_refs? declared as a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:296: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:296: warning: parameter names (without types) in function declaration /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:296: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:297: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:297: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:297: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:298: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:298: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:298: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:69, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:9:20: error: stdarg.h: No such file or directory In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:69, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:23: error: syntax error before ?PyVarObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:23: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:28: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:28: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:31: error: syntax error before ?PyByteArray_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:31: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:32: error: syntax error before ?PyByteArrayIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:39: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:39: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:39: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:40: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:40: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:40: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:41: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:41: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:42: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:42: error: ?PyByteArray_Size? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:43: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:44: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:70, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:31: error: syntax error before ?PyVarObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:31: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:40: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:40: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:42: error: syntax error before ?PyBytes_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:42: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:43: error: syntax error before ?PyBytesIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:49: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:49: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:50: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:51: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:51: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:51: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:52: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:52: error: syntax error before ?va_list? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:53: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:54: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:55: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:56: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:56: error: ?PyBytes_Size? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:57: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:58: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:58: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:58: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:59: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:60: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:61: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:62: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:62: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:63: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:64: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:66: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:75: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:75: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:75: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:83: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:98: error: ?_PyBytes_InsertThousandsGroupingLocale? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:109: error: ?_PyBytes_InsertThousandsGrouping? declared as function returning a function In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:71, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:57:19: error: ctype.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:116:21: error: wchar.h: No such file or directory In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:71, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:438: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:438: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:445: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:445: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:448: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:448: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:450: error: syntax error before ?PyUnicode_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:450: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:451: error: syntax error before ?PyUnicodeIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:451: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:494: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:497: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:500: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:503: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:507: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:509: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:515: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:521: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:522: error: ?PyUnicodeUCS2_GetSize? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:542: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:563: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:564: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:567: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:582: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:583: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:584: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:586: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:586: error: syntax error before ?va_list? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:586: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:587: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:587: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:591: error: syntax error before ?*? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1258: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1260: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1263: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1273: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1274: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1276: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1282: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1290: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1305: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1306: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1309: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1316: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1317: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1319: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1323: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1324: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1326: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1331: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1332: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1334: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1349: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1350: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1353: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1367: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1368: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1371: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1376: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1377: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1379: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1385: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1390: error: ?PyUnicodeUCS2_Tailmatch? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1397: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1402: error: ?PyUnicodeUCS2_Find? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1407: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1411: error: ?PyUnicodeUCS2_Count? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1416: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1417: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1422: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1428: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1433: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1453: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1454: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1457: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1462: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1463: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1465: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1474: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1480: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1483: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1484: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1487: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1497: error: ?_PyUnicode_InsertThousandsGroupingLocale? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1508: error: ?_PyUnicode_InsertThousandsGrouping? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1594: error: syntax error before ?Py_UNICODE_strlen? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1594: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1600: error: syntax error before ?size_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:591: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:593: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:595: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:596: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:597: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:597: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:612: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:613: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:615: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:630: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:633: error: ?PyUnicodeUCS2_AsWideChar? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:647: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:647: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:694: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:695: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:696: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:713: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:730: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:758: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:763: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:768: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:769: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:772: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:777: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:778: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:781: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:786: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:791: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:796: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:797: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:800: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:805: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:806: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:809: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:814: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:815: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:818: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:822: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:823: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:824: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:828: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:832: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:834: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:839: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:841: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:847: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:851: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:855: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:857: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:862: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:864: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:865: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:866: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:868: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:872: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:899: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:906: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:908: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:916: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:921: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:922: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:923: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:941: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:946: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:973: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:980: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:982: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:990: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:995: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:996: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:997: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1019: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1024: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1028: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1032: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1034: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1035: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1036: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1038: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1041: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1045: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1049: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1051: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1052: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1053: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1055: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1058: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1064: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1068: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1076: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1080: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1082: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1083: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1084: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1086: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1090: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1098: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1102: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1104: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1105: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1106: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1108: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1112: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1136: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1139: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1142: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1144: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1145: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1148: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1150: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1153: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1156: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1171: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1174: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1176: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1244: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1256: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1258: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1260: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1263: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1273: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1274: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1276: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1282: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1290: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1305: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1306: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1309: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1316: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1317: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1319: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1323: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1324: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1326: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1331: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1332: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1334: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1349: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1350: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1353: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1367: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1368: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1371: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1376: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1377: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1379: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1385: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1390: error: ?PyUnicodeUCS2_Tailmatch? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1397: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1402: error: ?PyUnicodeUCS2_Find? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1407: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1411: error: ?PyUnicodeUCS2_Count? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1416: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1417: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1422: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1428: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1433: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1453: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1454: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1457: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1462: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1463: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1465: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1474: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1480: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1483: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1484: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1487: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1497: error: ?_PyUnicode_InsertThousandsGroupingLocale? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1508: error: ?_PyUnicode_InsertThousandsGrouping? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1594: error: syntax error before ?Py_UNICODE_strlen? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1594: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1600: error: syntax error before ?size_t? In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:72, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:12: error: syntax error before ?PyLong_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:12: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:18: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:20: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:20: warning: parameter names (without types) in function declaration /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:21: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:22: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:23: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:25: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:72, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:12: error: syntax error before ?PyLong_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:12: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:18: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:20: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:20: warning: parameter names (without types) in function declaration /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:21: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:22: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:23: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:25: error: ?PyLong_AsSsize_t? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:26: error: syntax error before ?PyLong_AsSize_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:26: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:27: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:28: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:29: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:25: error: ?PyLong_AsSsize_t? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:26: error: syntax error before ?PyLong_AsSize_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:26: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:53: error: syntax error before ?*? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:27: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:55: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:28: error: syntax error before ?*? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:56: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:29: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:56: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:57: error: syntax error before ?*? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:60: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:61: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:61: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:62: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:53: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:63: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:55: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:64: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:56: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:67: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:56: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:57: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:67: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:60: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:68: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:61: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:61: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:62: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:63: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:64: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:67: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:67: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:68: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:68: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:74: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:84: error: syntax error before ?_PyLong_NumBits? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:84: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:84: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:99: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:100: error: syntax error before ?size_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:101: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:123: error: syntax error before ?size_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:129: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:129: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:129: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:133: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:133: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:135: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:68: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:74: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:84: error: syntax error before ?_PyLong_NumBits? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:84: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:84: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:99: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:100: error: syntax error before ?size_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:101: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:123: error: syntax error before ?size_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:129: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:129: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:129: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:133: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:133: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:135: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:73, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longintrepr.h:85: error: syntax error before ?PyVarObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longintrepr.h:85: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longintrepr.h:87: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longintrepr.h:92: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longintrepr.h:92: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:73, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longintrepr.h:85: error: syntax error before ?PyVarObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longintrepr.h:85: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longintrepr.h:87: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longintrepr.h:92: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longintrepr.h:92: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:74, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/boolobject.h:10: error: syntax error before ?PyBool_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/boolobject.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/boolobject.h:29: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/boolobject.h:29: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:74, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/boolobject.h:10: error: syntax error before ?PyBool_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/boolobject.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/boolobject.h:29: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/boolobject.h:29: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:75, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:15: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:15: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:17: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:17: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:19: error: syntax error before ?PyFloat_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:43: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:46: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:46: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:46: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:49: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:49: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:53: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:94: error: syntax error before ?size_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:116: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:116: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:118: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:75, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:15: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:15: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:17: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:17: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:19: error: syntax error before ?PyFloat_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:43: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:46: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:46: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:46: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:49: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:49: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:53: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:94: error: syntax error before ?size_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:116: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:116: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:118: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:77, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:41: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:41: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:43: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:45: error: syntax error before ?PyComplex_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:45: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:50: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:51: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:51: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:53: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:54: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:55: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:59: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:59: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:61: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:77, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:41: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:41: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:43: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:45: error: syntax error before ?PyComplex_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:45: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:50: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:51: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:51: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:53: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:54: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:55: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:59: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:59: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:61: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:79, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:18: error: syntax error before ?PyRange_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:19: error: syntax error before ?PyRangeIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:20: error: syntax error before ?PyLongRangeIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:20: warning: data definition has no type or storage classIn file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:79, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:18: error: syntax error before ?PyRange_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:19: error: syntax error before ?PyRangeIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:20: error: syntax error before ?PyLongRangeIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:20: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:80, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:9: error: syntax error before ?PyMemoryView_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:9: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:54: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:54: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:54: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:56: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:56: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:80, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:9: error: syntax error before ?PyMemoryView_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:56: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:9: warning: data definition has no type or storage class/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:65: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:65: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:66: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:67: error: syntax error before ?view? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:67: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:54: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:54: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:54: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:56: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:56: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:56: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:65: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:65: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:66: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:67: error: syntax error before ?view? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:67: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:68: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:68: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:81, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:25: error: syntax error before ?PyVarObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:25: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:32: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:34: error: syntax error before ?PyTuple_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:34: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:35: error: syntax error before ?PyTupleIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:35: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:41: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:41: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:42: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:42: error: ?PyTuple_Size? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:43: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:43: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:44: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:45: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:45: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:45: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:46: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:47: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:47: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:48: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:81, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:25: error: syntax error before ?PyVarObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:25: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:32: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:34: error: syntax error before ?PyTuple_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:34: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:35: error: syntax error before ?PyTupleIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:35: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:41: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:41: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:42: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:42: error: ?PyTuple_Size? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:43: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:43: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:44: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:45: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:45: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:45: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:46: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:47: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:47: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:48: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:82, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:23: error: syntax error before ?PyVarObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:23: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:25: error: conflicting types for ?ob_item? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:26: error: previous declaration of ?ob_item? was here /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:39: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:39: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:41: error: syntax error before ?PyList_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:41: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:42: error: syntax error before ?PyListIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:42: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:43: error: syntax error before ?PyListRevIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:44: error: syntax error before ?PySortWrapper_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:44: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:50: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:51: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:51: error: ?PyList_Size? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:52: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:52: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:52: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:53: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:54: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:55: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:56: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:56: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:56: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:57: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:58: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:59: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:60: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:60: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:61: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:61: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:61: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:82, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:23: error: syntax error before ?PyVarObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:23: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:25: error: conflicting types for ?ob_item? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:26: error: previous declaration of ?ob_item? was here /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:39: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:39: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:41: error: syntax error before ?PyList_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:41: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:42: error: syntax error before ?PyListIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:42: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:43: error: syntax error before ?PyListRevIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:44: error: syntax error before ?PySortWrapper_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:44: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:50: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:51: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:51: error: ?PyList_Size? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:52: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:52: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:52: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:53: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:83, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:55: error: field ?me_hash? declared as a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:56: error: syntax error before ?PyObject?/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:54: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:56: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:55: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:57: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:56: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:56: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:56: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:57: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:58: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:59: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:60: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:60: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:61: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:61: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:61: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:83, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:55: error: field ?me_hash? declared as a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:56: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:56: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:57: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:58: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:58: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:71: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:71: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:86: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:86: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:87: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:87: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:58: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:87: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:88: error: syntax error before ?ma_smalltable?/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:58: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:88: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:71: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:89: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:71: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:91: error: syntax error before ?PyDict_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:86: error: syntax error before ?*? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:91: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:92: error: syntax error before ?PyDictIterKey_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:92: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:93: error: syntax error before ?PyDictIterValue_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:93: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:94: error: syntax error before ?PyDictIterItem_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:94: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:95: error: syntax error before ?PyDictKeys_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:95: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:96: error: syntax error before ?PyDictItems_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:96: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:97: error: syntax error before ?PyDictValues_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:97: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:110: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:110: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:111: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:111: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:111: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:112: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:112: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:112: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:113: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:114: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:115: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:117: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:119: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:120: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:120: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:120: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:121: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:121: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:121: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:122: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:122: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:122: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:123: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:123: error: ?PyDict_Size? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:124: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:124: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:124: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:125: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:126: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:127: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:127: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:128: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:131: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:138: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:147: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:151: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:151: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:151: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:152: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:153: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:86: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:87: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:87: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:87: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:88: error: syntax error before ?ma_smalltable? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:88: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:89: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:91: error: syntax error before ?PyDict_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:91: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:92: error: syntax error before ?PyDictIterKey_Type? In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:84, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/enumobject.h:10: error: syntax error before ?PyEnum_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:92: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:93: error: syntax error before ?PyDictIterValue_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/enumobject.h:10: warning: data definition has no type or storage class/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:93: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:94: error: syntax error before ?PyDictIterItem_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:94: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:95: error: syntax error before ?PyDictKeys_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:95: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/enumobject.h:11: error: syntax error before ?PyReversed_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:96: error: syntax error before ?PyDictItems_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:96: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:97: error: syntax error before ?PyDictValues_Type?/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/enumobject.h:11: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:97: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:110: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:110: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:111: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:111: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:111: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:112: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:112: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:112: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:113: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:114: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:115: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:117: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:119: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:120: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:120: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:120: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:85, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:26: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:26: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:36: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:36: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:51: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:51: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:52: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:52: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:52: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:53: error: syntax error before ?smalltable? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:53: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:56: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:56: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:57: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:59: error: syntax error before ?PySet_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:59: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:60: error: syntax error before ?PyFrozenSet_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:61: error: syntax error before ?PySetIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:61: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:84: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:84: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:84: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:85: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:85: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:85: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:86: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:86: error: ?PySet_Size? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:88: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:89: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:90: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:91: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:92: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:93: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:93: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:93: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:94: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:121: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:121: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:121: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:122: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:122: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:122: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:123: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:123: error: ?PyDict_Size? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:124: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:124: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:124: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:125: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:126: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:127: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:86, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:14: error: syntax error before ?PyCFunction_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:14: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:18: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:18: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:21: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:21: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:23: error: syntax error before ?PyCFunction_GetFunction? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:23: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:35: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:35: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:35: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:39: error: syntax error before ?PyCFunction? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:39: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:43: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:47: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:47: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:48: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:72: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:72: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:74: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:74: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:75: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:75: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:76: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:76: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:127: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:128: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:131: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:138: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:87, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:10: error: syntax error before ?PyModule_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:15: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:16: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:16: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:16: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:17: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:18: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:20: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:21: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:24: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:24: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:27: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:28: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:28: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:33: error: syntax error before ?PyModuleDef_Base? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:33: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:42: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:42: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:147: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:151: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:151: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:151: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:152: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:153: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:84, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/enumobject.h:10: error: syntax error before ?PyEnum_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/enumobject.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/enumobject.h:11: error: syntax error before ?PyReversed_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/enumobject.h:11: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:85, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:26: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:26: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:36: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:36: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:51: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:51: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:52: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:52: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:52: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:53: error: syntax error before ?smalltable? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:53: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:56: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:56: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:57: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:59: error: syntax error before ?PySet_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:59: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:60: error: syntax error before ?PyFrozenSet_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:61: error: syntax error before ?PySetIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:61: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:84: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:84: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:84: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:85: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:85: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:85: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:86: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:86: error: ?PySet_Size? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:88: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:89: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:90: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:91: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:92: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:93: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:93: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:93: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:94: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:86, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:14: error: syntax error before ?PyCFunction_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:14: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:18: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:18: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:21: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:21: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:23: error: syntax error before ?PyCFunction_GetFunction? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:23: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:24: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:88, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:22: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:22: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:26: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:27: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:28: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:28: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:29: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:30: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:30: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:31: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:31: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:32: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:33: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:33: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:40: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:40: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:42: error: syntax error before ?PyFunction_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:42: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:46: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:46: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:46: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:47: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:47: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:47: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:48: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:48: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:48: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:49: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:49: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:49: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:50: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:50: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:51: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:52: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:52: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:52: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:53: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:54: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:54: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:54: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:55: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:56: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:56: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:56: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:57: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:77: error: syntax error before ?PyClassMethod_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:77: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:78: error: syntax error before ?PyStaticMethod_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:78: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:80: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:80: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:80: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:81: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:81: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:81: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:35: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:35: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:35: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:39: error: syntax error before ?PyCFunction? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:39: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:43: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:47: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:47: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:48: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:72: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:72: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:74: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:74: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:75: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:75: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:76: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:76: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:87, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:10: error: syntax error before ?PyModule_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:15: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:16: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:16: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:16: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:17: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:18: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:20: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:21: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:24: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:24: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:27: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:28: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:28: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:33: error: syntax error before ?PyModuleDef_Base? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:33: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:42: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:42: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:88, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:22: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:22: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:26: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:27: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:28: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:28: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:29: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:30: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:30: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:31: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:31: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:32: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:33: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:33: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:40: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:40: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:42: error: syntax error before ?PyFunction_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:42: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:46: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:46: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:46: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:47: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:47: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:47: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:48: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:48: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:48: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:49: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:49: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:49: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:50: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:50: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:51: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:52: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:52: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:52: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:53: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:54: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:54: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:54: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:55: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:56: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:56: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:56: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:57: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:77: error: syntax error before ?PyClassMethod_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:77: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:78: error: syntax error before ?PyStaticMethod_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:78: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:80: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:80: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:80: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:81: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:81: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:81: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:89, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:12: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:12: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:13: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:14: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:14: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:15: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:16: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:16: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:18: error: syntax error before ?PyMethod_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:22: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:22: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:37: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:37: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:39: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:39: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:41: error: syntax error before ?PyInstanceMethod_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:41: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:45: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:45: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:45: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:46: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:46: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:46: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:89, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:12: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:12: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:13: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:14: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:14: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:15: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:16: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:16: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:18: error: syntax error before ?PyMethod_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:22: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:22: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:37: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:37: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:39: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:39: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:41: error: syntax error before ?PyInstanceMethod_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:41: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:45: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:45: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:45: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:46: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:46: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:46: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:90, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:11: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:12: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:13: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:13: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:13: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:14: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:15: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:16: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:17: error: syntax error before ?FILE? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:30: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:30: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:31: error: syntax error before ?PyStdPrinter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:31: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:90, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:11: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:12: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:13: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:13: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:13: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:14: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:15: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:16: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:17: error: syntax error before ?FILE? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:30: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:30: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:31: error: syntax error before ?PyStdPrinter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:31: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:91, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:15: error: syntax error before ?PyCObject_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:34: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:35: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:38: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:41: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:47: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:51: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:51: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:54: error: ?destructor? redeclared as different kind of symbol /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:271: error: previous declaration of ?destructor? was here /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:55: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:55: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:91, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:15: error: syntax error before ?PyCObject_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:34: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:35: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:38: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:41: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:47: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:51: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:51: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:54: error: ?destructor? redeclared as different kind of symbol /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:271: error: previous declaration of ?destructor? was here /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:55: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:55: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:92, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:21: error: syntax error before ?PyCapsule_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:23: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:28: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:31: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:33: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:35: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:37: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:39: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:41: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:43: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:45: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:47: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:49: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:92, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:21: error: syntax error before ?PyCapsule_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:23: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:28: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:31: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:33: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:35: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:37: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:39: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:41: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:43: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:45: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:47: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:49: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:93, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:13: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:13: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:18: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:21: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:22: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:25: error: syntax error before ?PyTraceBack_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:25: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:93, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:13: error: syntax error before ?PyObject? In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:94, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:9: error: syntax error before ?_Py_EllipsisObject?/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:13: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:9: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:23: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:18: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:23: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:25: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:21: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:27: error: syntax error before ?PySlice_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:22: error: syntax error before ?*? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:28: error: syntax error before ?PyEllipsis_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:25: error: syntax error before ?PyTraceBack_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:28: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:32: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:32: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:33: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:34: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:94, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:9: error: syntax error before ?_Py_EllipsisObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:9: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:34: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:23: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:35: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:23: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:37: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:25: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:27: error: syntax error before ?PySlice_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:28: error: syntax error before ?PyEllipsis_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:28: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:32: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:32: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:33: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:34: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:34: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:35: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:37: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:95, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:10: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:10: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:11: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:12: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:12: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:14: error: syntax error before ?PyCell_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:14: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:18: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:18: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:20: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:95, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:10: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:10: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:11: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:12: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:12: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:14: error: syntax error before ?PyCell_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:14: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:18: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:18: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:20: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:96, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:8: error: syntax error before ?PySeqIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:8: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:9: error: syntax error before ?PyCallIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:9: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:10: error: syntax error before ?PyCmpWrapper_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:14: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:14: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:14: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:19: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:97, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:13: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:13: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:23: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:26: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:27: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:29: error: syntax error before ?PyGen_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:34: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:34: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:35: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:96, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:8: error: syntax error before ?PySeqIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:8: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:9: error: syntax error before ?PyCallIter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:9: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:10: error: syntax error before ?PyCmpWrapper_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:14: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:14: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:14: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:19: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:98, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:8: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:8: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:8: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:9: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:13: error: syntax error before ?getter? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:13: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:17: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:17: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:22: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:22: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:29: error: syntax error before ?wrapperfunc? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:29: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:32: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:33: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:46: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:46: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:46: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:46: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:46: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:47: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:47: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:50: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:50: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:50: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:52: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:52: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:55: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:55: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:55: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:55: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:55: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:57: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:57: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:60: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:60: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:60: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:61: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:61: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:62: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:62: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:65: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:65: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:65: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:65: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:65: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:68: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:68: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:70: error: syntax error before ?PyClassMethodDescr_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:70: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:71: error: syntax error before ?PyGetSetDescr_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:71: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:72: error: syntax error before ?PyMemberDescr_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:72: warning: data definition has no type or storage classIn file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:97, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:13: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:13: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:23: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:26: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:27: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:29: error: syntax error before ?PyGen_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:34: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:34: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:35: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:98, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:8: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:8: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:8: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:9: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:13: error: syntax error before ?getter? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:13: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:17: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:17: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:22: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:22: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:29: error: syntax error before ?wrapperfunc? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:29: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:32: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:73: error: syntax error before ?PyMethodDescr_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:73: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:74: error: syntax error before ?PyWrapperDescr_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:74: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:75: error: syntax error before ?PyDictProxy_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:75: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:77: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:77: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:77: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:78: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:78: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:78: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:79: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:79: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:80: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:81: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:81: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:82: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:83: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:83: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:84: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:87: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:87: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:87: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:88: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:88: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:88: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:91: error: syntax error before ?PyProperty_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:91: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:99, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/warnings.h:7: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/warnings.h:7: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/warnings.h:9: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/warnings.h:10: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:100, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:16: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:16: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:39: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:41: error: syntax error before ?_PyWeakref_RefType? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:41: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:42: error: syntax error before ?_PyWeakref_ProxyType? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:42: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:43: error: syntax error before ?_PyWeakref_CallableProxyType? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:59: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:59: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:61: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:61: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:62: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:63: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:63: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:63: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:65: error: ?_PyWeakref_GetWeakrefCount? declared as function returning a function In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:102, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:27: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:48: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:73: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:74: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:77: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:89: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:90: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:93: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:105: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:107: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:111: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:113: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:117: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:120: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:124: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:127: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:131: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:133: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:135: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:139: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:141: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:143: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:153: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:158: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:158: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:161: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:161: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:161: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:164: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:164: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:164: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:167: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:167: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:167: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:170: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:170: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:170: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:173: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:173: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:173: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:103, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:16: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:16: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:20: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:21: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:22: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:23: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:26: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:30: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:30: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:31: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:31: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:32: error: ?start? redeclared as different kind of symbol /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:24: error: previous declaration of ?start? was here /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:34: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:34: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:35: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:35: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:39: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:39: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:40: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:40: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:44: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:44: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:45: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:45: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:46: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:46: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:47: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:47: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:61: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:62: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:63: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:64: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:64: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:66: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:67: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:76: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:77: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:78: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:81: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:82: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:82: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:82: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:85: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:85: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:85: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:86: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:89: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:89: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:89: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:90: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:110: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:110: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:111: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:111: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:112: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:112: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:113: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:33: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:46: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:46: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:46: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:46: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:46: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:47: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:47: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:50: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:50: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:113: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:114: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:114: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:115: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:115: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:117: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:117: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:118: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:118: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:119: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:119: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:120: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:120: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:121: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:121: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:122: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:122: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:50: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:52: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:52: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:55: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:55: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:55: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:55: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:55: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:57: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:57: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:60: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:60: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:60: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:61: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:61: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:62: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:62: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:65: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:65: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:65: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:65: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:65: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:68: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:68: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:70: error: syntax error before ?PyClassMethodDescr_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:70: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:71: error: syntax error before ?PyGetSetDescr_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:71: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:72: error: syntax error before ?PyMemberDescr_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:72: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:73: error: syntax error before ?PyMethodDescr_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:73: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:74: error: syntax error before ?PyWrapperDescr_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:74: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:75: error: syntax error before ?PyDictProxy_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:75: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:77: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:77: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:77: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:78: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:78: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:78: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:79: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:79: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:80: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:81: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:81: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:82: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:83: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:83: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:84: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:87: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:87: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:87: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:88: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:88: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:88: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:91: error: syntax error before ?PyProperty_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:91: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:99, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/warnings.h:7: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/warnings.h:7: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/warnings.h:9: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/warnings.h:10: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:100, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:16: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:16: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:39: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:41: error: syntax error before ?_PyWeakref_RefType? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:41: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:42: error: syntax error before ?_PyWeakref_ProxyType? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:42: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:43: error: syntax error before ?_PyWeakref_CallableProxyType? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:59: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:59: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:61: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:61: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:62: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:63: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:63: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:63: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:65: error: ?_PyWeakref_GetWeakrefCount? declared as function returning a function In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:102, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:27: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:48: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:73: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:74: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:77: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:89: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:90: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:93: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:105: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:107: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:111: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:113: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:117: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:120: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:124: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:127: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:131: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:133: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:135: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:139: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:141: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:143: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:153: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:158: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:158: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:161: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:161: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:161: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:164: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:164: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:164: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:167: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:167: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:167: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:170: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:170: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:170: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:173: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:173: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:173: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:103, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:16: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:16: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:20: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:21: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:22: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:23: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:26: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:30: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:30: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:31: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:31: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:32: error: ?start? redeclared as different kind of symbol /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:24: error: previous declaration of ?start? was here /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:34: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:34: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:35: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:35: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:39: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:39: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:40: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:40: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:44: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:44: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:45: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:45: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:46: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:46: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:47: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:47: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:61: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:62: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:63: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:64: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:64: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:66: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:67: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:76: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:77: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:78: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:81: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:82: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:82: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:82: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:85: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:85: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:85: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:86: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:89: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:89: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:89: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:90: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:110: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:110: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:111: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:111: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:112: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:112: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:113: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:113: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:114: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:114: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:115: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:115: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:117: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:117: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:118: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:118: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:119: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:119: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:120: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:120: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:121: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:121: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:122: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:122: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:123: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:123: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:124: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:124: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:125: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:125: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:126: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:126: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:127: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:127: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:128: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:128: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:129: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:129: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:130: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:130: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:131: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:131: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:132: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:132: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:133: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:133: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:134: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:134: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:135: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:135: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:136: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:136: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:137: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:137: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:138: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:138: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:139: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:139: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:140: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:140: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:141: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:141: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:142: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:142: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:143: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:143: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:144: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:144: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:145: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:145: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:146: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:146: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:154: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:154: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:156: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:156: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:157: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:157: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:160: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:160: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:161: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:161: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:162: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:162: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:163: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:163: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:164: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:164: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:165: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:165: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:166: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:166: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:167: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:167: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:168: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:168: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:169: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:169: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:175: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:175: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:176: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:176: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:176: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:177: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:178: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:178: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:179: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:179: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:179: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:185: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:185: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:185: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:212: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:212: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:213: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:214: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:225: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:225: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:231: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:232: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:235: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:236: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:239: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:240: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:243: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:243: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:243: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:244: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:244: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:244: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:247: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:247: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:247: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:248: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:248: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:248: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:249: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:249: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:249: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:253: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:254: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:255: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:259: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:260: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:261: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:265: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:266: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:267: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:271: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:272: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:273: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:276: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:276: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:276: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:277: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:277: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:277: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:278: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:278: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:278: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:283: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:285: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:287: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:305: error: syntax error before ?size_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:307: error: syntax error before ?size_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:123: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:123: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:124: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:124: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:125: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:125: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:126: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:126: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:127: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:127: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:128: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:128: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:129: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:129: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:130: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:130: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:131: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:131: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:132: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:132: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:133: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:133: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:134: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:134: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:135: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:135: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:136: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:136: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:137: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:137: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:138: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:138: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:139: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:139: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:140: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:140: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:141: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:141: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:142: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:142: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:143: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:143: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:144: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:144: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:145: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:145: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:146: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:146: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:154: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:154: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:105, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:21: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:21: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:23: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:27: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:28: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:28: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:29: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:39: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:39: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:47: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:62: error: syntax error before ?PyInterpreterState? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:62: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:78: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:78: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:79: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:79: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:81: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:81: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:82: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:82: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:83: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:83: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:85: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:85: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:86: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:86: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:87: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:87: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:89: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:89: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:101: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:101: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:106: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:106: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:109: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:109: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:110: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:111: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:112: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:113: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:113: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:115: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:115: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:115: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:116: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:116: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:116: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:117: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:118: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:119: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:124: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:124: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:125: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:125: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:125: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:126: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:126: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:127: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:132: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:132: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:183: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:183: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:188: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:188: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:192: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:192: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:193: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:193: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:193: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:194: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:194: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:194: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:195: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:195: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:195: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:197: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:156: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:156: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:157: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:157: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:160: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:160: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:161: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:161: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:162: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:162: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:163: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:163: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:164: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:164: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:165: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:165: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:166: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:166: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:167: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:167: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:168: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:168: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:169: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:169: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:175: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:175: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:176: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:176: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:107, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyarena.h:50: error: syntax error before ?size_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:176: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:177: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyarena.h:56: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:178: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:178: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:179: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:179: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:179: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:185: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:185: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:185: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:108, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:23: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:23: error: syntax error before ?va_list? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:26: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:27: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:28: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:30: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:31: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:31: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:32: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:33: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:35: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:36: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:38: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:38: error: syntax error before ?va_list? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:40: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:41: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:42: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:101: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:102: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:109, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:23: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:26: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:27: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:33: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:33: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:34: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:36: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:37: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:39: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:40: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:41: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:46: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:57: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:60: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:60: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:61: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:63: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:63: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:65: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:68: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:69: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:74: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:84: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:87: error: syntax error before ?wchar_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:109: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:109: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:110: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:110: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:111: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:111: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:112: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:112: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:125: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:125: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:126: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:126: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:150: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:152: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:153: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:153: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:212: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:212: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:213: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:214: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:225: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:225: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:231: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:232: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:235: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:236: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:239: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:110, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:10: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:11: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:11: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:15: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:15: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:21: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:21: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:23: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:23: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:27: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:28: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:32: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:33: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:33: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:34: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:34: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:108: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:109: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:111: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:111: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:111: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:112: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:112: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:113: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:113: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:164: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:164: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:165: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:173: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:174: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:194: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:240: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:243: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:243: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:243: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:244: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:244: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:244: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:247: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:247: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:247: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:248: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:248: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:248: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:249: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:249: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:249: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:253: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:254: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:255: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:259: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:260: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:261: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:111, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:10: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:11: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:265: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:266: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:267: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:12: error: syntax error before ?wchar_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:271: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:13: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:272: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:273: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:276: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:276: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:20: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:276: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:277: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:277: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:277: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:278: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:278: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:278: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:283: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:285: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:287: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:305: error: syntax error before ?size_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:307: error: syntax error before ?size_t? In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:105, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:21: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:21: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:23: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:27: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:28: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:28: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:29: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:39: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:39: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:47: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:62: error: syntax error before ?PyInterpreterState? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:62: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:78: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:78: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:79: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:79: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:81: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:81: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:82: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:82: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:83: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:83: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:85: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:85: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:86: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:86: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:87: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:113, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:11: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:87: warning: data definition has no type or storage class/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:11: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:89: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:11: warning: data definition has no type or storage class/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:89: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:12: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:101: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:13: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:101: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:13: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:106: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:14: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:106: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:14: warning: data definition has no type or storage class/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:109: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:15: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:109: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:110: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:16: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:111: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:16: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:112: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:17: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:113: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:17: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:18: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:113: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:19: error: syntax error before ?PyObject?/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:115: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:115: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:115: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:116: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:116: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:116: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:117: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:118: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:119: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:124: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:124: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:125: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:125: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:125: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:126: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:126: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:26: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:26: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:39: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:43: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:44: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:48: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:48: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:51: error: syntax error before ?PyNullImporter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:51: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:54: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:54: error: syntax error before ?)? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:127: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:132: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:132: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:183: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:183: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:188: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:188: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:192: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:192: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:193: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:193: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:193: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:194: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:194: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:194: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:195: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:195: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:195: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:197: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:115, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:265: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:265: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:266: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:274: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:107, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyarena.h:50: error: syntax error before ?size_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:274: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:275: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:285: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:285: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:286: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:298: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:298: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:299: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:310: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:310: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:311: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:312: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:312: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:314: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:316: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:316: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:317: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:328: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:328: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:329: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyarena.h:56: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:368: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:368: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:368: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:376: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:376: error: ?PyObject_Size? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:387: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:108, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:23: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:387: error: ?PyObject_Length? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:23: error: syntax error before ?va_list? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:390: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:390: error: ?_PyObject_LengthHint? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:26: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:398: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:27: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:398: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:28: error: syntax error before ?*? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:398: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:406: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:30: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:414: error: syntax error before ?*? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:31: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:422: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:435: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:450: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:458: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:473: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:496: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:506: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:519: error: syntax error before ?Py_buffer? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:522: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:542: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:547: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:562: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:572: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:577: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:577: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:31: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:32: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:33: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:35: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:36: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:38: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:38: error: syntax error before ?va_list? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:40: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:41: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:42: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:101: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:102: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:109, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:23: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:26: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:27: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:33: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:33: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:34: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:36: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:37: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:578: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:586: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:586: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:586: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:595: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:595: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:595: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:603: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:612: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:612: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:612: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:619: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:619: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:619: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:635: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:635: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:635: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:643: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:643: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:643: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:651: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:651: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:651: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:659: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:659: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:659: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:667: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:667: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:668: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:676: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:676: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:676: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:683: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:683: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:683: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:690: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:690: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:690: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:697: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:697: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:697: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:705: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:705: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:705: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:713: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:713: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:713: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:721: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:721: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:721: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:730: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:730: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:730: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:738: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:738: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:738: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:750: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:750: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:750: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:757: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:757: error: ?PyNumber_AsSsize_t? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:768: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:769: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:770: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:780: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:780: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:780: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:788: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:788: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:788: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:798: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:798: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:798: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:806: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:806: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:806: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:814: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:814: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:814: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:822: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:822: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:823: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:832: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:832: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:833: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:842: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:842: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:842: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:850: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:850: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:851: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:859: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:859: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:859: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:867: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:867: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:867: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:875: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:875: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:875: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:883: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:883: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:883: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:891: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:891: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:891: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:899: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:899: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:899: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:910: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:919: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:919: error: ?PySequence_Size? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:927: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:927: error: ?PySequence_Length? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:931: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:931: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:931: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:939: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:939: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:939: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:947: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:947: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:947: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:954: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:954: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:954: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:962: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:970: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:978: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:987: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:995: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:995: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:995: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1003: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1003: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1003: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1009: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1009: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1009: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1045: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1045: error: ?PySequence_Count? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1054: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1063: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1064: error: ?_PySequence_IterSearch? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1078: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1089: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1089: error: ?PySequence_Index? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1099: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1099: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1099: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1108: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1108: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1108: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1119: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1128: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1128: error: ?PyMapping_Size? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1138: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1138: error: ?PyMapping_Length? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1162: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1172: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1183: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1183: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1183: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1190: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1190: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1190: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1197: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1197: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1197: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1206: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1206: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1206: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1214: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1224: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1227: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1231: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1233: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:39: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:40: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:41: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:46: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:116, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:7: error: syntax error before ?PyFilter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:7: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:8: error: syntax error before ?PyMap_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:8: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:9: error: syntax error before ?PyZip_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:9: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:57: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:60: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:60: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:61: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:63: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:63: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:65: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:68: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:69: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:74: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:84: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:87: error: syntax error before ?wchar_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:109: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:109: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:110: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:110: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:111: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:111: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:112: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:112: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:125: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:125: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:126: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:126: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:150: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:152: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:153: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:153: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:110, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:10: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:11: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:11: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:15: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:15: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:21: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:21: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:23: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:23: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:27: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:28: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:32: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:33: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:33: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:34: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:34: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:108: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:109: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:111: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:111: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:111: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:112: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:112: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:113: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:113: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:164: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:164: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:165: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:173: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:5, from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:118, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:11: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:11: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:17: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:17: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:18: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:20: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:21: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:22: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:27: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:29: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:64: error: syntax error before ?PyCode_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:64: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:70: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:71: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:73: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:75: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:90: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:93: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:93: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:94: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:118, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:13: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:13: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:32: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:33: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:119, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:10: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:10: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:12: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:12: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:20: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:20: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:20: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:122, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystrtod.h:11: error: syntax error before ?size_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystrtod.h:14: error: syntax error before ?PyObject? In file included from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:127: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:127: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:127: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:174: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:194: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:111, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:10: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:11: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:12: error: syntax error before ?wchar_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:13: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:20: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:24: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:113, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:11: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:11: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:11: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:12: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:13: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:13: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:14: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:14: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:15: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:16: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:16: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:17: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:17: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:18: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:19: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:26: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:26: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:39: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:43: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:44: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:48: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:48: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:51: error: syntax error before ?PyNullImporter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:51: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:54: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:54: error: syntax error before ?)? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:115, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:265: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:265: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:266: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:274: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:274: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:275: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:285: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:285: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:286: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:298: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:298: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:299: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:310: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:310: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:311: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:312: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:312: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:314: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:316: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:316: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:317: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:328: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:328: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:329: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:368: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:368: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:368: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:376: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:376: error: ?PyObject_Size? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:387: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:387: error: ?PyObject_Length? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:390: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:390: error: ?_PyObject_LengthHint? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:398: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:398: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:398: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:406: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:414: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:422: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:435: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:450: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:458: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:473: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:496: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:506: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:519: error: syntax error before ?Py_buffer? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:522: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:542: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:547: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:562: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:572: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:577: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:577: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:578: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:586: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:586: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:586: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:595: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:595: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:595: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:603: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:612: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:612: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:612: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:619: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:619: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:619: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:635: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:635: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:635: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:643: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:643: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:643: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:651: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:651: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:651: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:659: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:659: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:659: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:667: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:667: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:668: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:676: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:676: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:676: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:683: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:683: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:683: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:690: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:690: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:690: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:697: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:697: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:697: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:705: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:705: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:705: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:713: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:713: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:713: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:721: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:721: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:721: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:730: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:730: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:730: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:738: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:738: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:738: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:750: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:750: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:750: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:757: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:757: error: ?PyNumber_AsSsize_t? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:768: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:769: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:770: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:780: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:780: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:780: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:788: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:788: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:788: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:798: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:798: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:798: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:806: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:806: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:806: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:814: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:814: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:814: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:822: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:822: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:823: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:832: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:832: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:833: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:842: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:842: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:842: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:850: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:850: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:851: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:859: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:859: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:859: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:867: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:867: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:867: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:875: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:875: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:875: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:883: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:883: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:883: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:891: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:891: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:891: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:899: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:899: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:899: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:910: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:919: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:919: error: ?PySequence_Size? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:927: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:927: error: ?PySequence_Length? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:931: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:931: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:931: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:939: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:939: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:939: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:947: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:947: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:947: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:954: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:954: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:954: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:962: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:970: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:978: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:987: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:995: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:995: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:995: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1003: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1003: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1003: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1009: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1009: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1009: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1045: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1045: error: ?PySequence_Count? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1054: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1063: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1064: error: ?_PySequence_IterSearch? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1078: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1089: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1089: error: ?PySequence_Index? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1099: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1099: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1099: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1108: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1108: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1108: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1119: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1128: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1128: error: ?PyMapping_Size? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1138: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1138: error: ?PyMapping_Length? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1162: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1172: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1183: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1183: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1183: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1190: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1190: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1190: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1197: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1197: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1197: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1206: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1206: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1206: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1214: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1224: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1227: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1231: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1233: error: syntax error before ?*? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:116, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:7: error: syntax error before ?PyFilter_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:7: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:8: error: syntax error before ?PyMap_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:8: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:9: error: syntax error before ?PyZip_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:9: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:5, from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:118, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:11: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:11: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:17: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:17: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:18: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:19: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:20: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:21: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:22: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:24: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:25: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:27: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:29: error: syntax error before ?}? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:64: error: syntax error before ?PyCode_Type? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:64: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:70: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:71: error: syntax error before ?PyObject? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:73: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:75: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:90: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:93: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:93: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:94: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:118, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:13: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:13: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:32: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:33: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:119, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:10: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:10: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:12: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:12: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:20: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:20: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:20: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:122, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystrtod.h:11: error: syntax error before ?size_t? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystrtod.h:14: error: syntax error before ?PyObject? In file included from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:127: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:127: error: syntax error before ?*? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:127: warning: data definition has no type or storage class lipo: can't figure out the architecture type of: /var/folders/2f/2fiXYQSSE+CgAzDQPp9+k++++TI/-Tmp-//ccyfvt6O.out In file included from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:11:20: error: limits.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:14:2: error: #error "Something's broken. UCHAR_MAX should be defined in limits.h." /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:18:2: error: #error "Python's source code assumes C's unsigned char is an 8-bit type." /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:25:19: error: stdio.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:27:5: error: #error "Python.h requires that stdio.h define NULL." /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:30:20: error: string.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:32:19: error: errno.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:34:20: error: stdlib.h: No such file or directory In file included from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:11:20: error: limits.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:14:2: error: #error "Something's broken. UCHAR_MAX should be defined in limits.h." /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:18:2: error: #error "Python's source code assumes C's unsigned char is an 8-bit type." /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:25:19: error: stdio.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:27:5: error: #error "Python.h requires that stdio.h define NULL." /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:30:20: error: string.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:32:19: error: errno.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:34:20: error: stdlib.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:36:20: error: unistd.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:36:20: error: unistd.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:48:20: error: assert.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:48:20: error: assert.h: No such file or directory In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:50, from _configtest.c:1In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:50, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:9:22: error: inttypes.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:13:20: error: stdint.h: No such file or directory In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:50, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:135: error: syntax error before ???Py_uintptr_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:135: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:136: error: syntax error before ???Py_intptr_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:136: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:159: error: syntax error before ???Py_ssize_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:159: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:282:76: error: math.h: No such file or directory : /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:9:22: error: inttypes.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:13:20: error: stdint.h: No such file or directory In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:50, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:135: error: syntax error before ???Py_uintptr_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:135: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:136: error: syntax error before ???Py_intptr_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:136: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:159: error: syntax error before ???Py_ssize_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:159: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:282:76: error: math.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:289:22: error: sys/time.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:290:18: error: time.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:307:24: error: sys/select.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:340:22: error: sys/stat.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:591:21: error: termios.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:592: warning: ???struct winsize??? declared inside parameter list /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:592: warning: its scope is only this definition or declaration, which is probably not what you want /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:592: warning: ???struct termios??? declared inside parameter list /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:593: error: syntax error before ???forkpty??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:593: warning: ???struct winsize??? declared inside parameter list /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:593: warning: ???struct termios??? declared inside parameter list /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:593: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:289:22: error: sys/time.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:290:18: error: time.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:307:24: error: sys/select.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:340:22: error: sys/stat.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:591:21: error: termios.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:592: warning: ???struct winsize??? declared inside parameter list /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:592: warning: its scope is only this definition or declaration, which is probably not what you want /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:592: warning: ???struct termios??? declared inside parameter list /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:593: error: syntax error before ???forkpty??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:593: warning: ???struct winsize??? declared inside parameter list /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:593: warning: ???struct termios??? declared inside parameter list /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:593: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:62, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pymem.h:52: warning: parameter names (without types) in function declaration /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pymem.h:53: error: syntax error before ???size_t??? In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:64, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:103: error: syntax error before ???Py_ssize_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:103: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:105: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:105: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:108: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:108: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:109: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:110: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:131: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:131: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:131: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:132: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:132: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:132: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:133: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:133: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:133: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:134: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:135: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:135: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:135: error: ???Py_ssize_t??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:135: error: ???Py_ssize_t??? redeclared as different kind of symbol /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:159: error: previous declaration of ???Py_ssize_t??? was here /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:136: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:136: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:136: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:137: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:137: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:137: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:138: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:139: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:140: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:146: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:146: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:156: error: declaration of ???smalltable??? as array of functions /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:159: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:159: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:161: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:162: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:196: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:197: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:198: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:205: error: syntax error before ???binaryfunc??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:205: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:206: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:207: error: syntax error before ???nb_multiply??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:207: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:208: error: syntax error before ???nb_remainder??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:208: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:209: error: syntax error before ???nb_divmod??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:209: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:210: error: syntax error before ???nb_power??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:210: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:211: error: syntax error before ???nb_negative??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:211: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:212: error: syntax error before ???nb_positive??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:212: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:213: error: syntax error before ???nb_absolute??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:213: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:215: error: syntax error before ???nb_invert??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:215: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:216: error: syntax error before ???nb_lshift??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:216: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:217: error: syntax error before ???nb_rshift??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:217: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:218: error: syntax error before ???nb_and??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:218: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:219: error: syntax error before ???nb_xor??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:219: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:220: error: syntax error before ???nb_or??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:220: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:221: error: syntax error before ???nb_int??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:221: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:223: error: syntax error before ???nb_float??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:223: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:225: error: syntax error before ???nb_inplace_add??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:225: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:226: error: syntax error before ???nb_inplace_subtract??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:226: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:227: error: syntax error before ???nb_inplace_multiply??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:227: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:228: error: syntax error before ???nb_inplace_remainder??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:228: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:229: error: syntax error before ???nb_inplace_power??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:229: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:230: error: syntax error before ???nb_inplace_lshift??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:230: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:231: error: syntax error before ???nb_inplace_rshift??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:231: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:232: error: syntax error before ???nb_inplace_and??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:232: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:233: error: syntax error before ???nb_inplace_xor??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:233: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:234: error: syntax error before ???nb_inplace_or??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:234: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:236: error: syntax error before ???nb_floor_divide??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:236: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:237: error: syntax error before ???nb_true_divide??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:237: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:238: error: syntax error before ???nb_inplace_floor_divide??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:238: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:239: error: syntax error before ???nb_inplace_true_divide??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:239: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:241: error: syntax error before ???nb_index??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:241: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:242: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:245: error: syntax error before ???lenfunc??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:245: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:246: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:247: error: syntax error before ???sq_repeat??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:247: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:248: error: syntax error before ???sq_item??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:248: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:254: error: syntax error before ???sq_inplace_concat??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:254: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:255: error: syntax error before ???sq_inplace_repeat??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:255: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:256: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:259: error: syntax error before ???lenfunc??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:259: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:260: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:262: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:262: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:271: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:272: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:273: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:273: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:273: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:274: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:274: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:274: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:275: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:276: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:277: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:277: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:277: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:278: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:279: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:279: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:279: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:280: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:280: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:280: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:281: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:281: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:281: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:282: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:282: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:282: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:283: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:284: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:285: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:285: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:285: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:286: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:286: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:289: error: syntax error before ???PyVarObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:289: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:297: error: syntax error before ???tp_getattr??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:297: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:300: error: syntax error before ???tp_repr??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:300: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:304: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:304: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:305: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:305: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:306: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:306: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:311: error: syntax error before ???tp_call??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:311: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:312: error: syntax error before ???tp_str??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:312: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:313: error: syntax error before ???tp_getattro??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:313: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:333: error: syntax error before ???tp_richcompare??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:333: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:339: error: syntax error before ???tp_iter??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:339: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:340: error: syntax error before ???tp_iternext??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:340: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:347: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:347: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:348: error: syntax error before ???tp_descr_get??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:348: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:352: error: syntax error before ???tp_alloc??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:352: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:353: error: syntax error before ???tp_new??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:353: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:356: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:356: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:357: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:357: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:358: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:358: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:359: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:359: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:360: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:360: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:374: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:374: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:381: error: syntax error before ???PyTypeObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:381: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:382: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:383: error: syntax error before ???as_mapping??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:383: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:384: error: syntax error before ???as_sequence??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:384: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:390: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:390: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:392: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:392: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:400: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:404: error: syntax error before ???PyType_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:404: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:405: error: syntax error before ???PyBaseObject_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:405: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:406: error: syntax error before ???PySuper_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:406: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:412: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:413: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:413: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:413: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:414: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:414: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:415: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:416: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:416: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:416: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:417: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:417: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:417: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:419: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:422: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:424: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:425: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:425: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:425: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:426: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:426: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:426: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:427: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:427: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:427: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:428: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:428: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:428: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:429: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:429: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:429: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:430: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:431: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:431: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:431: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:432: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:433: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:434: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:434: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:434: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:435: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:436: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:437: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:437: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:437: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:438: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:438: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:438: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:439: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:439: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:439: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:440: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:440: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:440: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:441: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:443: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:444: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:445: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:446: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:447: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:449: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:457: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:457: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:457: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:461: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:462: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:714: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:715: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:723: error: syntax error before ???_Py_NoneStruct??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:723: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:733: error: syntax error before ???_Py_NotImplementedStruct??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:733: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:844: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:847: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:847: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:65, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:97: warning: parameter names (without types) in function declaration /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:98: error: syntax error before ???size_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:140: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:140: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:140: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:141: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:141: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:142: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:143: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:143: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:143: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:144: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:144: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:144: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:225: error: ???PyGC_Collect??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:234: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:234: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:234: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:246: error: field ???gc_refs??? declared as a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:296: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:296: warning: parameter names (without types) in function declaration /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:296: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:297: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:297: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:297: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:298: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:298: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:298: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:62, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pymem.h:52: warning: parameter names (without types) in function declaration /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pymem.h:53: error: syntax error before ???size_t??? In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:64, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:103: error: syntax error before ???Py_ssize_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:103: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:105: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:105: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:108: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:108: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:109: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:110: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:131: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:131: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:131: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:132: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:132: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:132: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:133: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:133: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:133: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:134: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:135: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:135: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:135: error: ???Py_ssize_t??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:135: error: ???Py_ssize_t??? redeclared as different kind of symbol /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyport.h:159: error: previous declaration of ???Py_ssize_t??? was here /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:136: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:136: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:136: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:137: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:137: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:137: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:138: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:139: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:140: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:146: error: syntax error before ???PyObject???In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:69, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:9:20: error: stdarg.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:146: warning: no semicolon at end of struct or union In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:69, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:23: error: syntax error before ???PyVarObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:23: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:28: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:28: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:31: error: syntax error before ???PyByteArray_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:31: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:32: error: syntax error before ???PyByteArrayIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:39: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:39: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:39: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:40: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:40: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:40: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:41: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:41: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:42: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:42: error: ???PyByteArray_Size??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:43: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:44: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:156: error: declaration of ???smalltable??? as array of functions /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:159: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:159: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:161: error: syntax error before ???*??? tokenIn file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:70, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:31: error: syntax error before ???PyVarObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:31: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:40: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:40: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:42: error: syntax error before ???PyBytes_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:42: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:43: error: syntax error before ???PyBytesIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:162: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:49: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:49: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:50: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:196: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:51: error: syntax error before ???*??? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:197: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:51: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:198: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:51: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:52: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:205: error: syntax error before ???binaryfunc??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:52: error: syntax error before ???va_list??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:53: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:54: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:55: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:56: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:56: error: ???PyBytes_Size??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:57: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:58: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:58: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:58: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:59: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:60: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:61: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:62: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:62: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:63: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:64: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:66: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:75: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:75: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:75: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:83: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:98: error: ???_PyBytes_InsertThousandsGroupingLocale??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:109: error: ???_PyBytes_InsertThousandsGrouping??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:205: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:206: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:207: error: syntax error before ???nb_multiply??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:207: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:208: error: syntax error before ???nb_remainder??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:208: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:209: error: syntax error before ???nb_divmod??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:209: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:210: error: syntax error before ???nb_power??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:210: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:211: error: syntax error before ???nb_negative??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:211: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:212: error: syntax error before ???nb_positive??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:212: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:213: error: syntax error before ???nb_absolute??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:213: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:215: error: syntax error before ???nb_invert??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:215: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:216: error: syntax error before ???nb_lshift??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:216: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:217: error: syntax error before ???nb_rshift??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:217: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:218: error: syntax error before ???nb_and??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:218: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:219: error: syntax error before ???nb_xor??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:219: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:220: error: syntax error before ???nb_or??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:220: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:221: error: syntax error before ???nb_int??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:221: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:223: error: syntax error before ???nb_float??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:223: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:225: error: syntax error before ???nb_inplace_add??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:225: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:226: error: syntax error before ???nb_inplace_subtract??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:226: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:227: error: syntax error before ???nb_inplace_multiply??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:227: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:228: error: syntax error before ???nb_inplace_remainder??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:228: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:229: error: syntax error before ???nb_inplace_power??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:229: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:230: error: syntax error before ???nb_inplace_lshift??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:230: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:231: error: syntax error before ???nb_inplace_rshift??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:231: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:232: error: syntax error before ???nb_inplace_and??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:232: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:233: error: syntax error before ???nb_inplace_xor??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:233: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:234: error: syntax error before ???nb_inplace_or??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:234: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:236: error: syntax error before ???nb_floor_divide??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:236: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:237: error: syntax error before ???nb_true_divide??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:237: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:238: error: syntax error before ???nb_inplace_floor_divide??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:238: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:239: error: syntax error before ???nb_inplace_true_divide??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:239: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:241: error: syntax error before ???nb_index??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:241: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:242: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:245: error: syntax error before ???lenfunc??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:245: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:246: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:247: error: syntax error before ???sq_repeat??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:247: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:248: error: syntax error before ???sq_item??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:248: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:254: error: syntax error before ???sq_inplace_concat??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:254: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:255: error: syntax error before ???sq_inplace_repeat??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:255: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:256: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:259: error: syntax error before ???lenfunc??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:259: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:260: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:262: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:262: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:271: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:272: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:273: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:273: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:273: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:274: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:274: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:274: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:275: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:276: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:277: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:277: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:277: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:278: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:279: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:279: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:279: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:280: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:280: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:280: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:281: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:281: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:281: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:282: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:282: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:282: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:283: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:284: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:285: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:285: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:285: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:286: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:286: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:289: error: syntax error before ???PyVarObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:289: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:297: error: syntax error before ???tp_getattr??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:297: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:300: error: syntax error before ???tp_repr??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:300: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:304: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:304: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:305: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:305: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:306: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:306: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:311: error: syntax error before ???tp_call??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:311: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:312: error: syntax error before ???tp_str??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:312: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:313: error: syntax error before ???tp_getattro??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:313: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:333: error: syntax error before ???tp_richcompare??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:333: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:339: error: syntax error before ???tp_iter??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:339: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:340: error: syntax error before ???tp_iternext??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:340: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:347: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:347: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:348: error: syntax error before ???tp_descr_get??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:348: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:352: error: syntax error before ???tp_alloc??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:352: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:353: error: syntax error before ???tp_new??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:353: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:356: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:356: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:357: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:357: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:358: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:358: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:359: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:359: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:360: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:360: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:374: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:374: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:381: error: syntax error before ???PyTypeObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:381: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:382: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:383: error: syntax error before ???as_mapping??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:383: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:384: error: syntax error before ???as_sequence??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:384: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:390: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:390: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:392: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:392: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:400: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:404: error: syntax error before ???PyType_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:404: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:405: error: syntax error before ???PyBaseObject_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:405: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:406: error: syntax error before ???PySuper_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:406: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:412: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:413: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:413: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:413: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:414: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:414: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:415: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:416: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:416: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:416: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:417: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:417: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:417: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:419: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:422: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:424: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:425: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:425: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:425: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:426: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:71, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:57:19: error: ctype.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:116:21: error: wchar.h: No such file or directory In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:71, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:438: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:438: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:445: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:445: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:448: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:448: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:450: error: syntax error before ???PyUnicode_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:450: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:451: error: syntax error before ???PyUnicodeIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:451: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:494: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:497: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:500: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:503: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:507: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:509: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:515: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:521: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:522: error: ???PyUnicodeUCS2_GetSize??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:542: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:563: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:564: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:567: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:582: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:583: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:584: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:586: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:586: error: syntax error before ???va_list??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:586: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:587: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:587: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:591: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:591: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:593: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:595: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:596: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:597: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:597: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:612: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:613: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:615: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:630: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:633: error: ???PyUnicodeUCS2_AsWideChar??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:647: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:647: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:694: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:695: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:696: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:713: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:730: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:758: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:763: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:768: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:769: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:772: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:777: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:778: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:781: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:786: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:791: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:796: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:797: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:800: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:805: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:806: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:809: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:814: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:815: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:818: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:822: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:823: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:824: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:828: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:832: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:834: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:839: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:841: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:847: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:851: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:855: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:857: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:862: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:864: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:865: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:866: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:868: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:872: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:899: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:906: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:908: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:916: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:921: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:922: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:923: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:941: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:946: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:973: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:426: error: syntax error before ???*??? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:980: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:982: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:990: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:995: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:996: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:997: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1019: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1024: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1028: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1032: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1034: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1035: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1036: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1038: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1041: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1045: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1049: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1051: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1052: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1053: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1055: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1058: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1064: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1068: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1076: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1080: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1082: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1083: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1084: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1086: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1090: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1098: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1102: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1104: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1105: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1106: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1108: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1112: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1136: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1139: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1142: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1144: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1145: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1148: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1150: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1153: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1156: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1171: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1174: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1176: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:426: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1244: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1256: error: syntax error before ???*??? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:427: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:427: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:427: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:428: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:428: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:428: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:429: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:429: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:429: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:430: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:431: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:431: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:431: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:432: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:433: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:434: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:434: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:434: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:435: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:436: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:437: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:437: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:437: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:438: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:438: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:438: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:439: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:439: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:439: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:440: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:440: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:440: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:441: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:443: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:444: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:445: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:446: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:447: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:449: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:457: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:457: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:457: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:461: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:462: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:714: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:715: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:723: error: syntax error before ???_Py_NoneStruct??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:723: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:733: error: syntax error before ???_Py_NotImplementedStruct??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:733: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:844: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:847: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:847: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:65, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:97: warning: parameter names (without types) in function declaration /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:98: error: syntax error before ???size_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:140: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:140: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:140: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:141: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:141: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:142: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:143: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:143: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:143: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:144: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:144: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:144: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:225: error: ???PyGC_Collect??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:234: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:234: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:234: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:246: error: field ???gc_refs??? declared as a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:296: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:296: warning: parameter names (without types) in function declaration /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:296: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:297: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:297: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:297: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:298: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:298: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/objimpl.h:298: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:69, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:9:20: error: stdarg.h: No such file or directory In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:69, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:23: error: syntax error before ???PyVarObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:23: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:28: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:28: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:31: error: syntax error before ???PyByteArray_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:31: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:32: error: syntax error before ???PyByteArrayIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:39: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:39: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:39: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:40: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:40: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:40: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:41: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:41: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:42: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:42: error: ???PyByteArray_Size??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:43: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytearrayobject.h:44: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:70, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:31: error: syntax error before ???PyVarObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:31: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:40: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:40: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:42: error: syntax error before ???PyBytes_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:42: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:43: error: syntax error before ???PyBytesIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:49: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:49: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:50: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:51: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:51: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:51: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:52: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:52: error: syntax error before ???va_list??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:53: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:54: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:55: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:56: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:56: error: ???PyBytes_Size??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:57: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:58: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:58: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:58: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:59: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:60: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:61: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:62: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:62: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:63: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:64: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:66: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:75: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:75: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:75: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:83: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:98: error: ???_PyBytes_InsertThousandsGroupingLocale??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bytesobject.h:109: error: ???_PyBytes_InsertThousandsGrouping??? declared as function returning a function In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:71, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:57:19: error: ctype.h: No such file or directory /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:116:21: error: wchar.h: No such file or directory In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:71, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:438: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:438: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:445: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:445: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:448: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:448: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:450: error: syntax error before ???PyUnicode_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:450: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:451: error: syntax error before ???PyUnicodeIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:451: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:494: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:497: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:500: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:503: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:507: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:509: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:515: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:521: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:522: error: ???PyUnicodeUCS2_GetSize??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:542: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:563: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:564: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:567: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:582: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:583: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:584: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:586: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:586: error: syntax error before ???va_list??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:586: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:587: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:587: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:591: error: syntax error before ???*??? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1258: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1260: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1263: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1273: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1274: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1276: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1282: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1290: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1305: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1306: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1309: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1316: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1317: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1319: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1323: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1324: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1326: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1331: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1332: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1334: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1349: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1350: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1353: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1367: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1368: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1371: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1376: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1377: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1379: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1385: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1390: error: ???PyUnicodeUCS2_Tailmatch??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1397: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1402: error: ???PyUnicodeUCS2_Find??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1407: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1411: error: ???PyUnicodeUCS2_Count??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1416: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1417: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1422: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1428: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1433: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1453: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1454: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1457: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1462: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1463: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1465: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1474: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1480: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1483: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1484: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1487: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1497: error: ???_PyUnicode_InsertThousandsGroupingLocale??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1508: error: ???_PyUnicode_InsertThousandsGrouping??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1594: error: syntax error before ???Py_UNICODE_strlen??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1594: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1600: error: syntax error before ???size_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:591: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:593: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:595: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:596: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:597: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:597: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:612: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:613: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:615: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:630: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:633: error: ???PyUnicodeUCS2_AsWideChar??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:647: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:647: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:694: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:695: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:696: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:713: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:730: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:758: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:763: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:768: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:769: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:772: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:777: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:778: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:781: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:786: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:791: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:796: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:797: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:800: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:805: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:806: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:809: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:814: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:815: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:818: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:822: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:823: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:824: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:828: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:832: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:834: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:839: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:841: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:847: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:851: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:855: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:857: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:862: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:864: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:865: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:866: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:868: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:872: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:899: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:906: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:908: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:916: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:921: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:922: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:923: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:941: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:946: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:973: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:980: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:982: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:990: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:995: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:996: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:997: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1019: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1024: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1028: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1032: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1034: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1035: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1036: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1038: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1041: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1045: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1049: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1051: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1052: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1053: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1055: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1058: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1064: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1068: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1076: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1080: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1082: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1083: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1084: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1086: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1090: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1098: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1102: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1104: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1105: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1106: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1108: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1112: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1136: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1139: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1142: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1144: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1145: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1148: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1150: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1153: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1156: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1171: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1174: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1176: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1244: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1256: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1258: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1260: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1263: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1273: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1274: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1276: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1282: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1290: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1305: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1306: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1309: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1316: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1317: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1319: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1323: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1324: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1326: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1331: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1332: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1334: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1349: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1350: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1353: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1367: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1368: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1371: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1376: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1377: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1379: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1385: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1390: error: ???PyUnicodeUCS2_Tailmatch??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1397: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1402: error: ???PyUnicodeUCS2_Find??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1407: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1411: error: ???PyUnicodeUCS2_Count??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1416: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1417: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1422: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1428: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1433: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1453: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1454: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1457: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1462: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1463: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1465: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1474: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1480: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1483: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1484: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1487: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1497: error: ???_PyUnicode_InsertThousandsGroupingLocale??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1508: error: ???_PyUnicode_InsertThousandsGrouping??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1594: error: syntax error before ???Py_UNICODE_strlen??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1594: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/unicodeobject.h:1600: error: syntax error before ???size_t??? In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:72, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:12: error: syntax error before ???PyLong_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:12: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:18: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:20: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:20: warning: parameter names (without types) in function declaration /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:21: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:22: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:23: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:25: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:72, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:12: error: syntax error before ???PyLong_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:12: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:18: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:20: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:20: warning: parameter names (without types) in function declaration /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:21: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:22: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:23: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:25: error: ???PyLong_AsSsize_t??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:26: error: syntax error before ???PyLong_AsSize_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:26: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:27: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:28: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:29: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:25: error: ???PyLong_AsSsize_t??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:26: error: syntax error before ???PyLong_AsSize_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:26: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:53: error: syntax error before ???*??? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:27: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:55: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:28: error: syntax error before ???*??? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:56: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:29: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:56: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:57: error: syntax error before ???*??? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:60: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:61: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:61: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:62: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:53: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:63: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:55: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:64: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:56: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:67: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:56: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:57: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:67: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:60: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:68: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:61: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:61: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:62: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:63: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:64: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:67: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:67: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:68: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:68: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:74: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:84: error: syntax error before ???_PyLong_NumBits??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:84: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:84: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:99: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:100: error: syntax error before ???size_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:101: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:123: error: syntax error before ???size_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:129: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:129: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:129: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:133: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:133: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:135: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:68: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:74: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:84: error: syntax error before ???_PyLong_NumBits??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:84: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:84: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:99: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:100: error: syntax error before ???size_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:101: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:123: error: syntax error before ???size_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:129: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:129: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:129: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:133: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:133: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longobject.h:135: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:73, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longintrepr.h:85: error: syntax error before ???PyVarObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longintrepr.h:85: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longintrepr.h:87: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longintrepr.h:92: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longintrepr.h:92: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:73, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longintrepr.h:85: error: syntax error before ???PyVarObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longintrepr.h:85: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longintrepr.h:87: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longintrepr.h:92: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/longintrepr.h:92: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:74, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/boolobject.h:10: error: syntax error before ???PyBool_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/boolobject.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/boolobject.h:29: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/boolobject.h:29: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:74, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/boolobject.h:10: error: syntax error before ???PyBool_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/boolobject.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/boolobject.h:29: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/boolobject.h:29: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:75, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:15: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:15: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:17: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:17: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:19: error: syntax error before ???PyFloat_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:43: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:46: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:46: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:46: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:49: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:49: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:53: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:94: error: syntax error before ???size_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:116: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:116: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:118: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:75, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:15: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:15: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:17: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:17: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:19: error: syntax error before ???PyFloat_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:43: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:46: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:46: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:46: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:49: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:49: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:53: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:94: error: syntax error before ???size_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:116: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:116: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/floatobject.h:118: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:77, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:41: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:41: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:43: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:45: error: syntax error before ???PyComplex_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:45: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:50: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:51: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:51: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:53: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:54: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:55: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:59: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:59: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:61: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:77, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:41: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:41: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:43: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:45: error: syntax error before ???PyComplex_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:45: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:50: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:51: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:51: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:53: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:54: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:55: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:59: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:59: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/complexobject.h:61: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:79, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:18: error: syntax error before ???PyRange_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:19: error: syntax error before ???PyRangeIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:20: error: syntax error before ???PyLongRangeIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:20: warning: data definition has no type or storage classIn file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:79, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:18: error: syntax error before ???PyRange_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:19: error: syntax error before ???PyRangeIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:20: error: syntax error before ???PyLongRangeIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/rangeobject.h:20: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:80, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:9: error: syntax error before ???PyMemoryView_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:9: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:54: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:54: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:54: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:56: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:56: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:80, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:9: error: syntax error before ???PyMemoryView_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:56: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:9: warning: data definition has no type or storage class/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:65: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:65: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:66: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:67: error: syntax error before ???view??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:67: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:54: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:54: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:54: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:56: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:56: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:56: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:65: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:65: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:66: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:67: error: syntax error before ???view??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:67: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:68: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/memoryobject.h:68: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:81, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:25: error: syntax error before ???PyVarObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:25: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:32: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:34: error: syntax error before ???PyTuple_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:34: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:35: error: syntax error before ???PyTupleIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:35: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:41: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:41: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:42: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:42: error: ???PyTuple_Size??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:43: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:43: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:44: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:45: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:45: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:45: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:46: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:47: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:47: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:48: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:81, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:25: error: syntax error before ???PyVarObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:25: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:32: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:34: error: syntax error before ???PyTuple_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:34: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:35: error: syntax error before ???PyTupleIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:35: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:41: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:41: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:42: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:42: error: ???PyTuple_Size??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:43: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:43: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:44: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:45: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:45: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:45: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:46: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:47: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:47: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:48: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:82, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:23: error: syntax error before ???PyVarObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:23: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:25: error: conflicting types for ???ob_item??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:26: error: previous declaration of ???ob_item??? was here /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:39: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:39: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:41: error: syntax error before ???PyList_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:41: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:42: error: syntax error before ???PyListIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:42: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:43: error: syntax error before ???PyListRevIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:44: error: syntax error before ???PySortWrapper_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:44: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:50: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:51: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:51: error: ???PyList_Size??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:52: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:52: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:52: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:53: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:54: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:55: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:56: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:56: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:56: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:57: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:58: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:59: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:60: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:60: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:61: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:61: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:61: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:82, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:23: error: syntax error before ???PyVarObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:23: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:25: error: conflicting types for ???ob_item??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/tupleobject.h:26: error: previous declaration of ???ob_item??? was here /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:39: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:39: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:41: error: syntax error before ???PyList_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:41: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:42: error: syntax error before ???PyListIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:42: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:43: error: syntax error before ???PyListRevIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:44: error: syntax error before ???PySortWrapper_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:44: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:50: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:51: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:51: error: ???PyList_Size??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:52: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:52: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:52: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:53: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:83, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:55: error: field ???me_hash??? declared as a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:56: error: syntax error before ???PyObject???/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:54: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:56: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:55: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:57: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:56: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:56: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:56: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:57: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:58: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:59: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:60: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:60: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:61: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:61: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/listobject.h:61: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:83, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:55: error: field ???me_hash??? declared as a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:56: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:56: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:57: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:58: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:58: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:71: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:71: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:86: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:86: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:87: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:87: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:58: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:87: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:88: error: syntax error before ???ma_smalltable???/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:58: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:88: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:71: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:89: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:71: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:91: error: syntax error before ???PyDict_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:86: error: syntax error before ???*??? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:91: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:92: error: syntax error before ???PyDictIterKey_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:92: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:93: error: syntax error before ???PyDictIterValue_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:93: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:94: error: syntax error before ???PyDictIterItem_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:94: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:95: error: syntax error before ???PyDictKeys_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:95: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:96: error: syntax error before ???PyDictItems_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:96: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:97: error: syntax error before ???PyDictValues_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:97: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:110: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:110: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:111: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:111: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:111: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:112: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:112: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:112: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:113: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:114: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:115: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:117: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:119: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:120: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:120: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:120: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:121: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:121: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:121: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:122: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:122: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:122: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:123: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:123: error: ???PyDict_Size??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:124: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:124: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:124: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:125: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:126: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:127: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:127: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:128: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:131: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:138: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:147: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:151: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:151: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:151: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:152: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:153: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:86: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:87: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:87: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:87: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:88: error: syntax error before ???ma_smalltable??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:88: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:89: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:91: error: syntax error before ???PyDict_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:91: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:92: error: syntax error before ???PyDictIterKey_Type??? In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:84, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/enumobject.h:10: error: syntax error before ???PyEnum_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:92: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:93: error: syntax error before ???PyDictIterValue_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/enumobject.h:10: warning: data definition has no type or storage class/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:93: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:94: error: syntax error before ???PyDictIterItem_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:94: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:95: error: syntax error before ???PyDictKeys_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:95: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/enumobject.h:11: error: syntax error before ???PyReversed_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:96: error: syntax error before ???PyDictItems_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:96: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:97: error: syntax error before ???PyDictValues_Type???/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/enumobject.h:11: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:97: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:110: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:110: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:111: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:111: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:111: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:112: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:112: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:112: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:113: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:114: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:115: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:117: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:119: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:120: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:120: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:120: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:85, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:26: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:26: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:36: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:36: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:51: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:51: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:52: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:52: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:52: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:53: error: syntax error before ???smalltable??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:53: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:56: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:56: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:57: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:59: error: syntax error before ???PySet_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:59: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:60: error: syntax error before ???PyFrozenSet_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:61: error: syntax error before ???PySetIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:61: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:84: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:84: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:84: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:85: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:85: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:85: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:86: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:86: error: ???PySet_Size??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:88: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:89: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:90: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:91: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:92: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:93: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:93: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:93: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:94: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:121: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:121: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:121: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:122: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:122: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:122: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:123: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:123: error: ???PyDict_Size??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:124: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:124: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:124: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:125: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:126: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:127: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:86, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:14: error: syntax error before ???PyCFunction_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:14: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:18: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:18: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:21: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:21: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:23: error: syntax error before ???PyCFunction_GetFunction??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:23: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:35: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:35: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:35: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:39: error: syntax error before ???PyCFunction??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:39: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:43: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:47: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:47: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:48: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:72: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:72: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:74: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:74: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:75: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:75: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:76: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:76: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:127: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:128: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:131: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:138: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:87, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:10: error: syntax error before ???PyModule_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:15: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:16: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:16: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:16: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:17: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:18: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:20: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:21: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:24: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:24: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:27: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:28: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:28: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:33: error: syntax error before ???PyModuleDef_Base??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:33: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:42: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:42: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:147: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:151: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:151: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:151: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:152: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/dictobject.h:153: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:84, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/enumobject.h:10: error: syntax error before ???PyEnum_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/enumobject.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/enumobject.h:11: error: syntax error before ???PyReversed_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/enumobject.h:11: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:85, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:26: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:26: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:36: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:36: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:51: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:51: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:52: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:52: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:52: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:53: error: syntax error before ???smalltable??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:53: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:56: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:56: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:57: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:59: error: syntax error before ???PySet_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:59: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:60: error: syntax error before ???PyFrozenSet_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:61: error: syntax error before ???PySetIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:61: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:84: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:84: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:84: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:85: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:85: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:85: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:86: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:86: error: ???PySet_Size??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:88: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:89: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:90: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:91: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:92: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:93: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:93: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:93: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/setobject.h:94: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:86, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:14: error: syntax error before ???PyCFunction_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:14: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:18: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:18: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:21: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:21: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:23: error: syntax error before ???PyCFunction_GetFunction??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:23: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:24: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:88, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:22: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:22: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:26: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:27: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:28: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:28: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:29: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:30: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:30: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:31: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:31: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:32: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:33: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:33: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:40: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:40: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:42: error: syntax error before ???PyFunction_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:42: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:46: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:46: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:46: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:47: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:47: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:47: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:48: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:48: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:48: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:49: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:49: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:49: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:50: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:50: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:51: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:52: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:52: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:52: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:53: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:54: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:54: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:54: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:55: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:56: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:56: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:56: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:57: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:77: error: syntax error before ???PyClassMethod_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:77: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:78: error: syntax error before ???PyStaticMethod_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:78: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:80: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:80: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:80: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:81: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:81: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:81: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:35: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:35: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:35: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:39: error: syntax error before ???PyCFunction??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:39: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:43: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:47: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:47: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:48: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:72: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:72: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:74: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:74: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:75: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:75: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:76: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/methodobject.h:76: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:87, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:10: error: syntax error before ???PyModule_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:15: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:16: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:16: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:16: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:17: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:18: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:20: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:21: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:24: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:24: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:27: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:28: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:28: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:33: error: syntax error before ???PyModuleDef_Base??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:33: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:42: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/moduleobject.h:42: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:88, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:22: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:22: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:26: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:27: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:28: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:28: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:29: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:30: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:30: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:31: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:31: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:32: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:33: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:33: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:40: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:40: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:42: error: syntax error before ???PyFunction_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:42: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:46: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:46: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:46: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:47: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:47: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:47: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:48: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:48: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:48: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:49: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:49: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:49: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:50: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:50: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:51: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:52: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:52: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:52: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:53: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:54: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:54: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:54: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:55: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:56: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:56: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:56: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:57: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:77: error: syntax error before ???PyClassMethod_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:77: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:78: error: syntax error before ???PyStaticMethod_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:78: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:80: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:80: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:80: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:81: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:81: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/funcobject.h:81: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:89, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:12: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:12: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:13: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:14: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:14: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:15: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:16: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:16: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:18: error: syntax error before ???PyMethod_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:22: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:22: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:37: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:37: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:39: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:39: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:41: error: syntax error before ???PyInstanceMethod_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:41: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:45: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:45: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:45: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:46: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:46: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:46: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:89, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:12: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:12: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:13: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:14: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:14: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:15: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:16: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:16: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:18: error: syntax error before ???PyMethod_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:22: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:22: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:37: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:37: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:39: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:39: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:41: error: syntax error before ???PyInstanceMethod_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:41: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:45: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:45: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:45: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:46: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:46: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/classobject.h:46: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:90, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:11: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:12: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:13: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:13: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:13: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:14: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:15: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:16: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:17: error: syntax error before ???FILE??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:30: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:30: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:31: error: syntax error before ???PyStdPrinter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:31: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:90, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:11: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:12: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:13: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:13: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:13: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:14: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:15: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:16: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:17: error: syntax error before ???FILE??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:30: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:30: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:31: error: syntax error before ???PyStdPrinter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/fileobject.h:31: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:91, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:15: error: syntax error before ???PyCObject_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:34: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:35: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:38: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:41: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:47: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:51: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:51: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:54: error: ???destructor??? redeclared as different kind of symbol /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:271: error: previous declaration of ???destructor??? was here /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:55: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:55: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:91, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:15: error: syntax error before ???PyCObject_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:34: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:35: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:38: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:41: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:47: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:51: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:51: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:54: error: ???destructor??? redeclared as different kind of symbol /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/object.h:271: error: previous declaration of ???destructor??? was here /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:55: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cobject.h:55: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:92, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:21: error: syntax error before ???PyCapsule_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:23: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:28: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:31: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:33: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:35: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:37: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:39: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:41: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:43: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:45: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:47: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:49: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:92, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:21: error: syntax error before ???PyCapsule_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:23: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:28: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:31: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:33: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:35: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:37: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:39: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:41: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:43: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:45: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:47: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pycapsule.h:49: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:93, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:13: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:13: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:18: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:21: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:22: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:25: error: syntax error before ???PyTraceBack_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:25: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:93, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:13: error: syntax error before ???PyObject??? In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:94, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:9: error: syntax error before ???_Py_EllipsisObject???/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:13: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:9: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:23: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:18: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:23: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:25: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:21: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:27: error: syntax error before ???PySlice_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:22: error: syntax error before ???*??? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:28: error: syntax error before ???PyEllipsis_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:25: error: syntax error before ???PyTraceBack_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:28: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/traceback.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:32: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:32: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:33: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:34: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:94, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:9: error: syntax error before ???_Py_EllipsisObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:9: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:34: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:23: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:35: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:23: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:37: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:25: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:27: error: syntax error before ???PySlice_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:28: error: syntax error before ???PyEllipsis_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:28: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:32: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:32: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:33: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:34: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:34: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:35: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:37: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:95, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:10: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:10: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:11: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:12: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:12: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:14: error: syntax error before ???PyCell_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:14: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:18: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:18: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:20: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:95, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:10: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:10: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:11: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:12: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:12: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:14: error: syntax error before ???PyCell_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:14: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:18: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:18: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/cellobject.h:20: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:96, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:8: error: syntax error before ???PySeqIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:8: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:9: error: syntax error before ???PyCallIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:9: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:10: error: syntax error before ???PyCmpWrapper_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:14: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:14: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:14: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:19: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:97, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:13: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:13: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:23: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:26: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:27: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:29: error: syntax error before ???PyGen_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:34: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:34: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:35: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:96, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:8: error: syntax error before ???PySeqIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:8: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:9: error: syntax error before ???PyCallIter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:9: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:10: error: syntax error before ???PyCmpWrapper_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:14: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:14: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:14: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/iterobject.h:19: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:98, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:8: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:8: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:8: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:9: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:13: error: syntax error before ???getter??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:13: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:17: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:17: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:22: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:22: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:29: error: syntax error before ???wrapperfunc??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:29: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:32: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:33: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:46: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:46: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:46: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:46: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:46: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:47: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:47: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:50: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:50: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:50: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:52: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:52: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:55: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:55: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:55: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:55: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:55: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:57: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:57: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:60: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:60: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:60: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:61: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:61: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:62: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:62: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:65: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:65: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:65: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:65: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:65: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:68: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:68: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:70: error: syntax error before ???PyClassMethodDescr_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:70: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:71: error: syntax error before ???PyGetSetDescr_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:71: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:72: error: syntax error before ???PyMemberDescr_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:72: warning: data definition has no type or storage classIn file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:97, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:13: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:13: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:23: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:26: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:27: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:29: error: syntax error before ???PyGen_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:34: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:34: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/genobject.h:35: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:98, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:8: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:8: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:8: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:9: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:13: error: syntax error before ???getter??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:13: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:17: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:17: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:22: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:22: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:29: error: syntax error before ???wrapperfunc??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:29: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:32: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:73: error: syntax error before ???PyMethodDescr_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:73: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:74: error: syntax error before ???PyWrapperDescr_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:74: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:75: error: syntax error before ???PyDictProxy_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:75: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:77: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:77: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:77: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:78: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:78: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:78: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:79: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:79: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:80: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:81: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:81: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:82: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:83: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:83: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:84: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:87: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:87: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:87: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:88: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:88: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:88: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:91: error: syntax error before ???PyProperty_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:91: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:99, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/warnings.h:7: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/warnings.h:7: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/warnings.h:9: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/warnings.h:10: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:100, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:16: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:16: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:39: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:41: error: syntax error before ???_PyWeakref_RefType??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:41: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:42: error: syntax error before ???_PyWeakref_ProxyType??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:42: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:43: error: syntax error before ???_PyWeakref_CallableProxyType??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:59: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:59: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:61: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:61: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:62: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:63: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:63: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:63: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:65: error: ???_PyWeakref_GetWeakrefCount??? declared as function returning a function In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:102, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:27: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:48: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:73: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:74: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:77: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:89: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:90: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:93: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:105: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:107: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:111: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:113: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:117: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:120: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:124: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:127: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:131: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:133: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:135: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:139: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:141: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:143: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:153: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:158: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:158: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:161: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:161: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:161: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:164: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:164: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:164: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:167: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:167: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:167: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:170: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:170: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:170: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:173: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:173: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:173: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:103, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:16: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:16: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:20: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:21: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:22: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:23: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:26: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:30: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:30: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:31: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:31: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:32: error: ???start??? redeclared as different kind of symbol /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:24: error: previous declaration of ???start??? was here /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:34: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:34: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:35: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:35: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:39: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:39: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:40: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:40: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:44: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:44: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:45: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:45: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:46: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:46: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:47: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:47: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:61: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:62: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:63: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:64: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:64: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:66: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:67: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:76: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:77: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:78: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:81: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:82: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:82: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:82: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:85: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:85: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:85: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:86: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:89: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:89: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:89: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:90: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:110: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:110: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:111: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:111: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:112: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:112: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:113: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:33: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:46: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:46: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:46: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:46: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:46: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:47: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:47: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:50: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:50: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:113: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:114: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:114: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:115: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:115: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:117: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:117: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:118: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:118: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:119: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:119: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:120: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:120: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:121: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:121: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:122: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:122: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:50: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:52: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:52: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:55: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:55: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:55: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:55: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:55: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:57: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:57: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:60: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:60: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:60: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:61: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:61: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:62: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:62: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:65: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:65: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:65: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:65: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:65: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:68: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:68: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:70: error: syntax error before ???PyClassMethodDescr_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:70: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:71: error: syntax error before ???PyGetSetDescr_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:71: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:72: error: syntax error before ???PyMemberDescr_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:72: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:73: error: syntax error before ???PyMethodDescr_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:73: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:74: error: syntax error before ???PyWrapperDescr_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:74: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:75: error: syntax error before ???PyDictProxy_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:75: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:77: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:77: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:77: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:78: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:78: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:78: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:79: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:79: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:80: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:81: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:81: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:82: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:83: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:83: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:84: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:87: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:87: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:87: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:88: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:88: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:88: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:91: error: syntax error before ???PyProperty_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/descrobject.h:91: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:99, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/warnings.h:7: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/warnings.h:7: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/warnings.h:9: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/warnings.h:10: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:100, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:16: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:16: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:39: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:41: error: syntax error before ???_PyWeakref_RefType??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:41: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:42: error: syntax error before ???_PyWeakref_ProxyType??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:42: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:43: error: syntax error before ???_PyWeakref_CallableProxyType??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:59: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:59: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:60: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:61: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:61: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:62: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:63: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:63: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:63: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/weakrefobject.h:65: error: ???_PyWeakref_GetWeakrefCount??? declared as function returning a function In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:102, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:27: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:48: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:50: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:73: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:74: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:77: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:89: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:90: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:93: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:105: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:107: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:111: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:113: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:117: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:120: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:124: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:127: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:131: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:133: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:135: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:139: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:141: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:143: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:153: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:158: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:158: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:161: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:161: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:161: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:164: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:164: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:164: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:167: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:167: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:167: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:170: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:170: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:170: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:173: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:173: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/codecs.h:173: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:103, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:16: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:16: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:20: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:21: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:22: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:23: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:26: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:30: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:30: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:31: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:31: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:32: error: ???start??? redeclared as different kind of symbol /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sliceobject.h:24: error: previous declaration of ???start??? was here /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:34: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:34: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:35: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:35: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:39: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:39: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:40: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:40: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:44: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:44: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:45: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:45: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:46: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:46: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:47: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:47: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:61: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:62: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:63: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:64: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:64: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:66: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:67: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:76: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:77: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:78: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:81: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:82: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:82: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:82: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:85: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:85: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:85: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:86: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:89: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:89: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:89: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:90: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:110: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:110: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:111: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:111: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:112: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:112: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:113: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:113: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:114: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:114: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:115: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:115: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:117: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:117: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:118: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:118: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:119: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:119: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:120: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:120: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:121: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:121: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:122: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:122: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:123: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:123: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:124: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:124: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:125: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:125: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:126: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:126: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:127: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:127: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:128: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:128: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:129: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:129: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:130: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:130: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:131: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:131: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:132: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:132: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:133: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:133: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:134: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:134: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:135: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:135: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:136: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:136: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:137: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:137: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:138: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:138: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:139: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:139: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:140: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:140: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:141: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:141: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:142: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:142: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:143: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:143: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:144: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:144: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:145: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:145: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:146: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:146: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:154: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:154: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:156: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:156: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:157: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:157: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:160: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:160: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:161: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:161: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:162: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:162: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:163: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:163: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:164: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:164: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:165: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:165: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:166: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:166: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:167: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:167: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:168: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:168: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:169: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:169: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:175: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:175: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:176: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:176: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:176: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:177: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:178: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:178: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:179: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:179: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:179: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:185: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:185: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:185: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:212: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:212: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:213: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:214: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:225: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:225: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:231: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:232: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:235: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:236: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:239: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:240: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:243: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:243: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:243: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:244: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:244: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:244: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:247: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:247: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:247: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:248: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:248: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:248: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:249: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:249: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:249: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:253: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:254: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:255: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:259: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:260: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:261: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:265: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:266: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:267: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:271: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:272: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:273: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:276: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:276: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:276: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:277: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:277: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:277: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:278: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:278: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:278: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:283: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:285: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:287: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:305: error: syntax error before ???size_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:307: error: syntax error before ???size_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:123: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:123: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:124: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:124: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:125: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:125: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:126: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:126: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:127: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:127: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:128: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:128: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:129: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:129: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:130: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:130: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:131: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:131: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:132: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:132: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:133: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:133: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:134: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:134: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:135: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:135: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:136: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:136: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:137: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:137: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:138: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:138: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:139: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:139: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:140: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:140: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:141: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:141: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:142: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:142: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:143: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:143: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:144: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:144: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:145: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:145: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:146: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:146: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:154: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:154: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:105, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:21: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:21: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:23: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:27: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:28: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:28: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:29: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:39: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:39: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:47: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:62: error: syntax error before ???PyInterpreterState??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:62: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:78: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:78: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:79: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:79: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:81: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:81: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:82: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:82: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:83: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:83: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:85: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:85: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:86: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:86: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:87: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:87: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:89: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:89: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:101: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:101: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:106: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:106: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:109: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:109: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:110: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:111: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:112: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:113: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:113: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:115: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:115: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:115: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:116: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:116: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:116: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:117: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:118: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:119: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:124: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:124: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:125: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:125: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:125: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:126: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:126: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:127: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:132: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:132: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:183: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:183: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:188: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:188: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:192: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:192: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:193: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:193: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:193: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:194: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:194: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:194: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:195: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:195: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:195: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:197: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:156: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:156: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:157: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:157: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:160: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:160: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:161: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:161: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:162: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:162: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:163: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:163: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:164: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:164: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:165: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:165: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:166: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:166: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:167: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:167: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:168: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:168: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:169: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:169: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:175: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:175: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:176: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:176: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:107, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyarena.h:50: error: syntax error before ???size_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:176: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:177: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyarena.h:56: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:178: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:178: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:179: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:179: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:179: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:185: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:185: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:185: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:108, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:23: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:23: error: syntax error before ???va_list??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:26: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:27: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:28: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:30: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:31: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:31: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:32: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:33: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:35: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:36: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:38: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:38: error: syntax error before ???va_list??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:40: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:41: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:42: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:101: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:102: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:109, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:23: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:26: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:27: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:33: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:33: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:34: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:36: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:37: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:39: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:40: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:41: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:46: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:57: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:60: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:60: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:61: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:63: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:63: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:65: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:68: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:69: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:74: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:84: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:87: error: syntax error before ???wchar_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:109: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:109: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:110: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:110: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:111: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:111: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:112: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:112: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:125: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:125: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:126: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:126: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:150: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:152: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:153: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:153: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:212: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:212: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:213: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:214: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:225: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:225: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:231: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:232: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:235: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:236: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:239: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:110, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:10: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:11: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:11: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:15: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:15: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:21: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:21: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:23: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:23: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:27: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:28: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:32: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:33: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:33: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:34: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:34: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:108: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:109: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:111: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:111: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:111: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:112: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:112: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:113: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:113: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:164: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:164: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:165: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:173: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:174: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:194: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:240: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:243: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:243: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:243: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:244: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:244: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:244: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:247: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:247: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:247: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:248: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:248: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:248: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:249: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:249: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:249: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:253: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:254: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:255: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:259: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:260: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:261: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:111, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:10: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:11: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:265: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:266: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:267: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:12: error: syntax error before ???wchar_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:271: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:13: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:272: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:273: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:276: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:276: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:20: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:276: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:277: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:277: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:277: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:278: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:278: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:278: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:283: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:285: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:287: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:305: error: syntax error before ???size_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyerrors.h:307: error: syntax error before ???size_t??? In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:105, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:21: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:21: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:23: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:27: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:28: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:28: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:29: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:39: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:39: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:47: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:62: error: syntax error before ???PyInterpreterState??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:62: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:78: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:78: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:79: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:79: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:81: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:81: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:82: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:82: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:83: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:83: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:85: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:85: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:86: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:86: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:87: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:113, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:11: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:87: warning: data definition has no type or storage class/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:11: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:89: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:11: warning: data definition has no type or storage class/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:89: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:12: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:101: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:13: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:101: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:13: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:106: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:14: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:106: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:14: warning: data definition has no type or storage class/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:109: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:15: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:109: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:110: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:16: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:111: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:16: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:112: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:17: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:113: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:17: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:18: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:113: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:19: error: syntax error before ???PyObject???/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:115: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:115: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:115: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:116: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:116: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:116: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:117: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:118: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:119: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:124: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:124: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:125: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:125: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:125: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:126: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:126: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:26: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:26: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:39: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:43: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:44: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:48: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:48: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:51: error: syntax error before ???PyNullImporter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:51: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:54: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:54: error: syntax error before ???)??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:127: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:132: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:132: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:183: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:183: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:188: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:188: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:192: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:192: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:193: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:193: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:193: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:194: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:194: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:194: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:195: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:195: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:195: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystate.h:197: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:115, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:265: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:265: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:266: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:274: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:107, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyarena.h:50: error: syntax error before ???size_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:274: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:275: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:285: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:285: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:286: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:298: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:298: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:299: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:310: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:310: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:311: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:312: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:312: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:314: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:316: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:316: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:317: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:328: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:328: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:329: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pyarena.h:56: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:368: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:368: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:368: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:376: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:376: error: ???PyObject_Size??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:387: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:108, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:23: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:387: error: ???PyObject_Length??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:23: error: syntax error before ???va_list??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:390: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:23: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:390: error: ???_PyObject_LengthHint??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:26: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:398: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:27: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:398: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:28: error: syntax error before ???*??? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:398: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:406: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:30: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:414: error: syntax error before ???*??? token/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:31: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:422: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:435: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:450: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:458: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:473: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:496: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:506: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:519: error: syntax error before ???Py_buffer??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:522: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:542: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:547: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:562: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:572: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:577: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:577: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:31: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:32: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:33: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:35: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:36: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:38: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:38: error: syntax error before ???va_list??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:38: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:40: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:41: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:42: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:101: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/modsupport.h:102: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:109, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:23: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:26: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:27: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:33: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:33: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:34: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:36: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:37: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:578: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:586: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:586: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:586: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:595: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:595: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:595: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:603: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:612: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:612: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:612: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:619: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:619: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:619: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:635: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:635: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:635: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:643: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:643: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:643: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:651: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:651: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:651: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:659: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:659: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:659: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:667: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:667: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:668: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:676: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:676: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:676: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:683: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:683: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:683: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:690: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:690: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:690: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:697: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:697: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:697: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:705: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:705: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:705: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:713: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:713: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:713: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:721: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:721: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:721: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:730: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:730: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:730: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:738: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:738: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:738: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:750: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:750: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:750: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:757: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:757: error: ???PyNumber_AsSsize_t??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:768: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:769: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:770: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:780: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:780: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:780: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:788: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:788: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:788: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:798: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:798: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:798: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:806: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:806: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:806: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:814: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:814: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:814: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:822: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:822: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:823: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:832: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:832: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:833: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:842: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:842: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:842: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:850: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:850: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:851: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:859: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:859: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:859: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:867: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:867: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:867: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:875: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:875: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:875: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:883: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:883: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:883: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:891: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:891: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:891: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:899: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:899: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:899: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:910: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:919: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:919: error: ???PySequence_Size??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:927: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:927: error: ???PySequence_Length??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:931: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:931: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:931: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:939: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:939: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:939: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:947: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:947: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:947: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:954: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:954: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:954: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:962: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:970: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:978: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:987: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:995: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:995: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:995: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1003: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1003: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1003: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1009: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1009: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1009: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1045: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1045: error: ???PySequence_Count??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1054: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1063: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1064: error: ???_PySequence_IterSearch??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1078: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1089: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1089: error: ???PySequence_Index??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1099: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1099: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1099: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1108: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1108: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1108: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1119: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1128: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1128: error: ???PyMapping_Size??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1138: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1138: error: ???PyMapping_Length??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1162: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1172: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1183: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1183: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1183: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1190: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1190: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1190: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1197: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1197: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1197: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1206: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1206: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1206: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1214: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1224: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1227: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1231: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1233: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:39: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:40: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:41: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:46: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:116, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:7: error: syntax error before ???PyFilter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:7: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:8: error: syntax error before ???PyMap_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:8: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:9: error: syntax error before ???PyZip_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:9: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:57: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:60: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:60: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:61: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:63: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:63: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:65: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:68: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:69: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:74: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:84: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:87: error: syntax error before ???wchar_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:109: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:109: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:110: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:110: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:111: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:111: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:112: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:112: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:125: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:125: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:126: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:126: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:150: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:152: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:153: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pythonrun.h:153: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:110, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:10: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:11: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:11: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:15: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:15: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:21: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:21: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:23: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:23: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:27: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:28: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:32: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:32: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:33: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:33: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:34: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:34: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:108: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:109: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:111: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:111: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:111: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:112: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:112: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:113: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:113: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:164: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:164: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:165: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:173: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:5, from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:118, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:11: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:11: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:17: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:17: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:18: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:20: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:21: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:22: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:27: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:29: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:64: error: syntax error before ???PyCode_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:64: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:70: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:71: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:73: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:75: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:90: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:93: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:93: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:94: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:118, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:13: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:13: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:32: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:33: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:119, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:10: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:10: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:12: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:12: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:20: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:20: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:20: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:122, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystrtod.h:11: error: syntax error before ???size_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystrtod.h:14: error: syntax error before ???PyObject??? In file included from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:127: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:127: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:127: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:174: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/ceval.h:194: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:111, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:10: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:11: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:12: error: syntax error before ???wchar_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:13: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:20: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/sysmodule.h:24: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:113, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:11: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:11: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:11: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:12: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:13: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:13: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:14: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:14: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:15: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:15: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:16: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:16: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:17: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:17: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:18: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:19: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:26: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:26: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:26: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:39: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:43: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:43: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:44: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:48: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:48: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:51: error: syntax error before ???PyNullImporter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:51: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:54: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/import.h:54: error: syntax error before ???)??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:115, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:265: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:265: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:266: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:274: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:274: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:275: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:285: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:285: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:286: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:298: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:298: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:299: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:310: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:310: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:311: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:312: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:312: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:314: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:316: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:316: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:317: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:328: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:328: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:329: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:368: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:368: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:368: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:376: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:376: error: ???PyObject_Size??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:387: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:387: error: ???PyObject_Length??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:390: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:390: error: ???_PyObject_LengthHint??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:398: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:398: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:398: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:406: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:414: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:422: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:435: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:450: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:458: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:473: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:496: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:506: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:519: error: syntax error before ???Py_buffer??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:522: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:542: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:547: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:562: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:572: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:577: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:577: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:578: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:586: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:586: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:586: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:595: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:595: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:595: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:603: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:612: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:612: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:612: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:619: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:619: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:619: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:627: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:635: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:635: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:635: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:643: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:643: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:643: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:651: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:651: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:651: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:659: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:659: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:659: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:667: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:667: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:668: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:676: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:676: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:676: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:683: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:683: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:683: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:690: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:690: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:690: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:697: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:697: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:697: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:705: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:705: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:705: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:713: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:713: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:713: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:721: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:721: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:721: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:730: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:730: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:730: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:738: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:738: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:738: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:750: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:750: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:750: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:757: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:757: error: ???PyNumber_AsSsize_t??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:768: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:769: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:770: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:780: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:780: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:780: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:788: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:788: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:788: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:798: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:798: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:798: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:806: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:806: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:806: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:814: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:814: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:814: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:822: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:822: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:823: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:832: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:832: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:833: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:842: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:842: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:842: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:850: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:850: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:851: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:859: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:859: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:859: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:867: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:867: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:867: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:875: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:875: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:875: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:883: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:883: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:883: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:891: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:891: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:891: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:899: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:899: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:899: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:910: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:919: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:919: error: ???PySequence_Size??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:927: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:927: error: ???PySequence_Length??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:931: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:931: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:931: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:939: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:939: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:939: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:947: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:947: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:947: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:954: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:954: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:954: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:962: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:970: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:978: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:987: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:995: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:995: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:995: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1003: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1003: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1003: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1009: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1009: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1009: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1045: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1045: error: ???PySequence_Count??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1054: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1063: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1064: error: ???_PySequence_IterSearch??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1078: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1089: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1089: error: ???PySequence_Index??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1099: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1099: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1099: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1108: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1108: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1108: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1119: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1128: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1128: error: ???PyMapping_Size??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1138: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1138: error: ???PyMapping_Length??? declared as function returning a function /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1162: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1172: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1183: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1183: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1183: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1190: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1190: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1190: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1197: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1197: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1197: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1206: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1206: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1206: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1214: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1224: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1227: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1231: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/abstract.h:1233: error: syntax error before ???*??? token In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:116, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:7: error: syntax error before ???PyFilter_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:7: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:8: error: syntax error before ???PyMap_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:8: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:9: error: syntax error before ???PyZip_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/bltinmodule.h:9: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:5, from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:118, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:11: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:11: warning: no semicolon at end of struct or union /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:17: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:17: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:18: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:19: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:19: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:20: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:20: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:21: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:21: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:22: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:22: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:24: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:24: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:25: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:25: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:27: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:27: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:29: error: syntax error before ???}??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:29: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:64: error: syntax error before ???PyCode_Type??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:64: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:70: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:71: error: syntax error before ???PyObject??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:73: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:75: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:90: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:93: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:93: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/code.h:94: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:118, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:13: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:13: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:32: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/compile.h:33: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:119, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:10: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:10: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:10: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:12: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:12: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:18: warning: data definition has no type or storage class /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:20: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:20: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/eval.h:20: warning: data definition has no type or storage class In file included from /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:122, from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystrtod.h:11: error: syntax error before ???size_t??? /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/pystrtod.h:14: error: syntax error before ???PyObject??? In file included from _configtest.c:1: /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:127: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:127: error: syntax error before ???*??? token /Library/Frameworks/Python.framework/Versions/3.1/include/python3.1/Python.h:127: warning: data definition has no type or storage class lipo: can't figure out the architecture type of: /var/folders/2f/2fiXYQSSE+CgAzDQPp9+k++++TI/-Tmp-//ccyfvt6O.out failure. removing: _configtest.c _configtest.o Traceback (most recent call last): File "setup.py", line 210, in setup_package() File "setup.py", line 203, in setup_package configuration=configuration ) File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/core.py", line 186, in setup return old_setup(**new_attr) File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/core.py", line 149, in setup dist.run_commands() File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/dist.py", line 919, in run_commands self.run_command(cmd) File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/dist.py", line 938, in run_command cmd_obj.run() File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build.py", line 37, in run old_build.run(self) File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/command/build.py", line 128, in run self.run_command(cmd_name) File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/cmd.py", line 315, in run_command self.distribution.run_command(command) File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/distutils/dist.py", line 938, in run_command cmd_obj.run() File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py", line 152, in run self.build_sources() File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py", line 169, in build_sources self.build_extension_sources(ext) File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py", line 328, in build_extension_sources sources = self.generate_sources(sources, ext) File "/Users/vmd/Dropbox/numpy/numpy/build/py3k/numpy/distutils/command/build_src.py", line 385, in generate_sources source = func(extension, build_dir) File "numpy/core/setup.py", line 395, in generate_config_h moredefs, ignored = cocache.check_types(config_cmd, ext, build_dir) File "numpy/core/setup.py", line 41, in check_types out = check_types(*a, **kw) File "numpy/core/setup.py", line 260, in check_types "Cannot compile 'Python.h'. Perhaps you need to "\ SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev|python-devel. MacBookPro-new-2:numpy vmd$ From efiring at hawaii.edu Tue Jun 8 14:16:15 2010 From: efiring at hawaii.edu (Eric Firing) Date: Tue, 08 Jun 2010 08:16:15 -1000 Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? In-Reply-To: References: <27982.2678.4520-13877-724633140-1276010820@seznam.cz> Message-ID: <4C0E88EF.4020703@hawaii.edu> On 06/08/2010 05:50 AM, Charles R Harris wrote: > > > On Tue, Jun 8, 2010 at 9:39 AM, David Goldsmith > wrote: > > On Tue, Jun 8, 2010 at 8:27 AM, Pavel Bazant > wrote: > > > > > Correct me if I am wrong, but the paragraph > > > > > > Note to those used to IDL or Fortran memory order as it > relates to > > > indexing. Numpy uses C-order indexing. That means that the > last index > > > usually (see xxx for exceptions) represents the most > rapidly changing memory > > > location, unlike Fortran or IDL, where the first index > represents the most > > > rapidly changing location in memory. This difference > represents a great > > > potential for confusion. > > > > > > in > > > > > > http://docs.scipy.org/doc/numpy/user/basics.indexing.html > > > > > > is quite misleading, as C-order means that the last index > changes rapidly, > > > not the > > > memory location. > > > > > > > > Any index can change rapidly, depending on whether is in an > inner loop or > > not. The important distinction between C and Fortran order is > how indices > > translate to memory locations. The documentation seems > correct to me, > > although it might make more sense to say the last index > addresses a > > contiguous range of memory. Of course, with modern > processors, actual > > physical memory can be mapped all over the place. > > > > Chuck > > To me, saying that the last index represents the most rapidly > changing memory > location means that if I change the last index, the memory > location changes > a lot, which is not true for C-order. So for C-order, supposed > one scans the memory > linearly (the desired scenario), it is the last *index* that > changes most rapidly. > > The inverted picture looks like this: For C-order, changing the > first index > leads to the most rapid jump in *memory*. > > Still have the feeling the doc is very misleading at this > important issue. > > Pavel > > > The distinction between your two perspectives is that one is using > for-loop traversal of indices, the other is using pointer-increment > traversal of memory; from each of your perspectives, your > conclusions are "correct," but my inclination is that the > pointer-increment traversal of memory perspective is closer to the > "spirit" of the docstring, no? > > > I think the confusion is in "most rapidly changing memory location", > which is kind of ambiguous because a change in the indices is always a > change in memory location if one hasn't used index tricks and such. So > from a time perspective it means nothing, while from a memory > perspective the largest address changes come from the leftmost indices. Exactly. Rate of change with respect to what, or as you do what? I suggest something like the following wording, if you don't mind the verbosity as a means of conjuring up an image (although putting in diagrams would make it even clearer--undoubtedly there are already good illustrations somewhere on the web): ------------ Note to those used to Matlab, IDL, or Fortran memory order as it relates to indexing. Numpy uses C-order indexing by default, although a numpy array can be designated as using Fortran order. [With C-order, sequential memory locations are accessed by incrementing the last index.] For a two-dimensional array, think if it as a table. With C-order indexing the table is stored as a series of rows, so that one is reading from left to right, incrementing the column (last) index, and jumping ahead in memory to the next row by incrementing the row (first) index. With Fortran order, the table is stored as a series of columns, so one reads memory sequentially from top to bottom, incrementing the first index, and jumps ahead in memory to the next column by incrementing the last index. One more difference to be aware of: numpy, like python and C, uses zero-based indexing; Matlab, [IDL???], and Fortran start from one. ----------------- If you want to keep it short, the key wording is in the sentence in brackets, and you can chop out the table illustration. Eric > > Chuck > > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion From zachary.pincus at yale.edu Tue Jun 8 14:26:32 2010 From: zachary.pincus at yale.edu (Zachary Pincus) Date: Tue, 8 Jun 2010 14:26:32 -0400 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: References: <06C7B542-A7ED-4C33-B23F-7BEC08A15517@yale.edu> <74F07D9D-9098-41FD-8A85-E757566F51D3@yale.edu> Message-ID: > Failed again, I have attached the output including the execution of > the above commands. > Thanks for link to the environment variables, I need to read that. In the attached file (and the one from the next email too) I didn't see the MACOSX_DEPLOYMENT_TARGET=10.4 export MACOSX_DEPLOYMENT_TARGET lines. Those need to be re-run with each new shell (terminal window) you start up. (Unless you put them in ~/.profile, etc.) You can see from the error messages (after the barf from the 2to3 tool finishes) that there's still the warning about MACOSX_DEPLOYMENT_TARGET being set to 10.3. If you did in fact run those commands immediately prior to "python3 setup.py build" and still see the MACOSX_DEPLOYMENT_TARGET warning, then there is definitely some bug in the build process that's obliterating that environment variable. Zach From efiring at hawaii.edu Tue Jun 8 14:36:07 2010 From: efiring at hawaii.edu (Eric Firing) Date: Tue, 08 Jun 2010 08:36:07 -1000 Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? In-Reply-To: <4C0E88EF.4020703@hawaii.edu> References: <27982.2678.4520-13877-724633140-1276010820@seznam.cz> <4C0E88EF.4020703@hawaii.edu> Message-ID: <4C0E8D97.1050002@hawaii.edu> On 06/08/2010 08:16 AM, Eric Firing wrote: > On 06/08/2010 05:50 AM, Charles R Harris wrote: >> >> >> On Tue, Jun 8, 2010 at 9:39 AM, David Goldsmith> > wrote: >> >> On Tue, Jun 8, 2010 at 8:27 AM, Pavel Bazant> > wrote: >> >> >> > > Correct me if I am wrong, but the paragraph >> > > >> > > Note to those used to IDL or Fortran memory order as it >> relates to >> > > indexing. Numpy uses C-order indexing. That means that the >> last index >> > > usually (see xxx for exceptions) represents the most >> rapidly changing memory >> > > location, unlike Fortran or IDL, where the first index >> represents the most >> > > rapidly changing location in memory. This difference >> represents a great >> > > potential for confusion. >> > > >> > > in >> > > >> > > http://docs.scipy.org/doc/numpy/user/basics.indexing.html >> > > >> > > is quite misleading, as C-order means that the last index >> changes rapidly, >> > > not the >> > > memory location. >> > > >> > > >> > Any index can change rapidly, depending on whether is in an >> inner loop or >> > not. The important distinction between C and Fortran order is >> how indices >> > translate to memory locations. The documentation seems >> correct to me, >> > although it might make more sense to say the last index >> addresses a >> > contiguous range of memory. Of course, with modern >> processors, actual >> > physical memory can be mapped all over the place. >> > >> > Chuck >> >> To me, saying that the last index represents the most rapidly >> changing memory >> location means that if I change the last index, the memory >> location changes >> a lot, which is not true for C-order. So for C-order, supposed >> one scans the memory >> linearly (the desired scenario), it is the last *index* that >> changes most rapidly. >> >> The inverted picture looks like this: For C-order, changing the >> first index >> leads to the most rapid jump in *memory*. >> >> Still have the feeling the doc is very misleading at this >> important issue. >> >> Pavel >> >> >> The distinction between your two perspectives is that one is using >> for-loop traversal of indices, the other is using pointer-increment >> traversal of memory; from each of your perspectives, your >> conclusions are "correct," but my inclination is that the >> pointer-increment traversal of memory perspective is closer to the >> "spirit" of the docstring, no? >> >> >> I think the confusion is in "most rapidly changing memory location", >> which is kind of ambiguous because a change in the indices is always a >> change in memory location if one hasn't used index tricks and such. So >> from a time perspective it means nothing, while from a memory >> perspective the largest address changes come from the leftmost indices. > > Exactly. Rate of change with respect to what, or as you do what? > > I suggest something like the following wording, if you don't mind the > verbosity as a means of conjuring up an image (although putting in > diagrams would make it even clearer--undoubtedly there are already good > illustrations somewhere on the web): > > ------------ > > Note to those used to Matlab, IDL, or Fortran memory order as it relates > to indexing. Numpy uses C-order indexing by default, although a numpy > array can be designated as using Fortran order. [With C-order, > sequential memory locations are accessed by incrementing the last Maybe change "sequential" to "contiguous". > index.] For a two-dimensional array, think if it as a table. With > C-order indexing the table is stored as a series of rows, so that one is > reading from left to right, incrementing the column (last) index, and > jumping ahead in memory to the next row by incrementing the row (first) > index. With Fortran order, the table is stored as a series of columns, > so one reads memory sequentially from top to bottom, incrementing the > first index, and jumps ahead in memory to the next column by > incrementing the last index. > > One more difference to be aware of: numpy, like python and C, uses > zero-based indexing; Matlab, [IDL???], and Fortran start from one. > > ----------------- > > If you want to keep it short, the key wording is in the sentence in > brackets, and you can chop out the table illustration. > > Eric > > >> >> Chuck >> >> >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion From kuiper at jpl.nasa.gov Tue Jun 8 14:45:26 2010 From: kuiper at jpl.nasa.gov (Tom Kuiper) Date: Tue, 08 Jun 2010 11:45:26 -0700 Subject: [Numpy-discussion] Memory Usage Question - clarification In-Reply-To: References: Message-ID: <4C0E8FC6.6030903@jpl.nasa.gov> In fact, 'report_memory' shows that memory use was constant throughout all 256 iterations. Thank you for the hint, Eric. > Date: Tue, 08 Jun 2010 09:22:41 -0700 > From: Tom Kuiper > Subject: Re: [Numpy-discussion] Memory Usage Question > To: "numpy-discussion at scipy.org" > ... > Memory still grows, but much more slowly and, for my purposes, it's no > longer a problem. > > I will use the report_memory function to research this a little more. > From lists at hilboll.de Tue Jun 8 15:08:46 2010 From: lists at hilboll.de (Andreas Hilboll) Date: Tue, 8 Jun 2010 21:08:46 +0200 (CEST) Subject: [Numpy-discussion] np.choose() question In-Reply-To: References: Message-ID: Hi, > newtimes = [times[idx[x][y]] for x in range(2) for y in range(2)] > np.array(newtimes).reshape(2,2) > array([[104, 102], > [103, 101]]) Great, thanks a lot! Cheers, Andreas. From aarchiba at physics.mcgill.ca Tue Jun 8 15:05:57 2010 From: aarchiba at physics.mcgill.ca (Anne Archibald) Date: Tue, 8 Jun 2010 15:05:57 -0400 Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? In-Reply-To: <4C0E88EF.4020703@hawaii.edu> References: <27982.2678.4520-13877-724633140-1276010820@seznam.cz> <4C0E88EF.4020703@hawaii.edu> Message-ID: On 8 June 2010 14:16, Eric Firing wrote: > On 06/08/2010 05:50 AM, Charles R Harris wrote: >> >> >> On Tue, Jun 8, 2010 at 9:39 AM, David Goldsmith > > wrote: >> >> On Tue, Jun 8, 2010 at 8:27 AM, Pavel Bazant > > wrote: >> >> >> > > Correct me if I am wrong, but the paragraph >> > > >> > > Note to those used to IDL or Fortran memory order as it >> relates to >> > > indexing. Numpy uses C-order indexing. That means that the >> last index >> > > usually (see xxx for exceptions) represents the most >> rapidly changing memory >> > > location, unlike Fortran or IDL, where the first index >> represents the most >> > > rapidly changing location in memory. This difference >> represents a great >> > > potential for confusion. >> > > >> > > in >> > > >> > > http://docs.scipy.org/doc/numpy/user/basics.indexing.html >> > > >> > > is quite misleading, as C-order means that the last index >> changes rapidly, >> > > not the >> > > memory location. >> > > >> > > >> > Any index can change rapidly, depending on whether is in an >> inner loop or >> > not. The important distinction between C and Fortran order is >> how indices >> > translate to memory locations. The documentation seems >> correct to me, >> > although it might make more sense to say the last index >> addresses a >> > contiguous range of memory. Of course, with modern >> processors, actual >> > physical memory can be mapped all over the place. >> > >> > Chuck >> >> To me, saying that the last index represents the most rapidly >> changing memory >> location means that if I change the last index, the memory >> location changes >> a lot, which is not true for C-order. So for C-order, supposed >> one scans the memory >> linearly (the desired scenario), it is the last *index* that >> changes most rapidly. >> >> The inverted picture looks like this: For C-order, changing the >> first index >> leads to the most rapid jump in *memory*. >> >> Still have the feeling the doc is very misleading at this >> important issue. >> >> Pavel >> >> >> The distinction between your two perspectives is that one is using >> for-loop traversal of indices, the other is using pointer-increment >> traversal of memory; from each of your perspectives, your >> conclusions are "correct," but my inclination is that the >> pointer-increment traversal of memory perspective is closer to the >> "spirit" of the docstring, no? >> >> >> I think the confusion is in "most rapidly changing memory location", >> which is kind of ambiguous because a change in the indices is always a >> change in memory location if one hasn't used index tricks and such. So >> from a time perspective it means nothing, while from a memory >> perspective the largest address changes come from the leftmost indices. > > Exactly. Rate of change with respect to what, or as you do what? > > I suggest something like the following wording, if you don't mind the > verbosity as a means of conjuring up an image (although putting in > diagrams would make it even clearer--undoubtedly there are already good > illustrations somewhere on the web): > > ------------ > > Note to those used to Matlab, IDL, or Fortran memory order as it relates > to indexing. Numpy uses C-order indexing by default, although a numpy > array can be designated as using Fortran order. [With C-order, > sequential memory locations are accessed by incrementing the last > index.] For a two-dimensional array, think if it as a table. With > C-order indexing the table is stored as a series of rows, so that one is > reading from left to right, incrementing the column (last) index, and > jumping ahead in memory to the next row by incrementing the row (first) > index. With Fortran order, the table is stored as a series of columns, > so one reads memory sequentially from top to bottom, incrementing the > first index, and jumps ahead in memory to the next column by > incrementing the last index. > > One more difference to be aware of: numpy, like python and C, uses > zero-based indexing; Matlab, [IDL???], and Fortran start from one. > > ----------------- > > If you want to keep it short, the key wording is in the sentence in > brackets, and you can chop out the table illustration. I'd just like to point out a few warnings to keep in mind while rewriting this section: Numpy arrays can have any configuration of memory strides, including some that are zero; C and Fortran contiguous arrays are simply those that have special arrangements of the strides. The actual stride values is normally almost irrelevant to python code. There is a second meaning of C and Fortran order: when you are reshaping an array, you can specify one order or the other. The reshaping operation then behaves logically as if the input and output arrays are in the requested order, regardless of what the actual memory layout is. Perhaps one could rewrite the text as something like: Different programming languages have different ways of laying out multidimensional arrays. In C, such an array must be a contiguous block of memory, and as one advances through that memory the last index changes most rapidly, with the earlier indices increasing only when the later indices have reached the ends of their respective dimensions. Fortran arrays must also be contiguous blocks of memory, but in their case it is the first index that changes most rapidly as one advances through the block. Numpy arrays may have many different memory layouts, represented by a 'stride' for each dimension, but new numpy arrays are by default constructed in the C order. They can also readily be constructed directly in Fortran order by passing additional arguments to many array-construction functions. Most code using numpy need not concern itself with the memory layout of the arrays it uses, but conversion functions are available should a user need to, say, pass a multidimensional array to a function written in C or Fortran. Anne > Eric > > >> >> Chuck >> >> >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From gokhansever at gmail.com Tue Jun 8 15:21:18 2010 From: gokhansever at gmail.com (=?UTF-8?Q?G=C3=B6khan_Sever?=) Date: Tue, 8 Jun 2010 14:21:18 -0500 Subject: [Numpy-discussion] np.choose() question In-Reply-To: References: Message-ID: If we were at so or ask.scipy I would vote for Mark's solution :) Usually in cases like yours, I tend to use the shortest version of the solutions. On Tue, Jun 8, 2010 at 2:08 PM, Andreas Hilboll wrote: > Hi, > > > newtimes = [times[idx[x][y]] for x in range(2) for y in range(2)] > > np.array(newtimes).reshape(2,2) > > array([[104, 102], > > [103, 101]]) > > Great, thanks a lot! > > Cheers, > > Andreas. > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -- G?khan -------------- next part -------------- An HTML attachment was scrubbed... URL: From meine at informatik.uni-hamburg.de Tue Jun 8 15:32:28 2010 From: meine at informatik.uni-hamburg.de (Hans Meine) Date: Tue, 8 Jun 2010 21:32:28 +0200 Subject: [Numpy-discussion] np.choose() question In-Reply-To: References: Message-ID: <7B37082B-A827-4F65-9E3A-EAAEBA339EBC@informatik.uni-hamburg.de> Hi! Am 08.06.2010 um 18:24 schrieb Andreas Hilboll: > I have an array idx, which holds int values and has a 2d shape. All > values inside idx are 0 <= idx < n. And I have a second array times, > which is 1d, with times.shape = (n,). > > Out of these two arrays I now want to create a 2d array having the same > shape as idx, and holding the values contained in times, as indexed by > idx. Funny, that's exactly what I wanted to do (idx being a label/region image here), and what I tried today. You will be happy to hear that the even simpler solution is to just use fancy indexing (the name is justified here): times[idx] will do the trick, too - no nead to flatten & reshape at all! :-) (Given that both are ndarrays of course.) HTH, Hans From vincent at vincentdavis.net Tue Jun 8 15:35:45 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Tue, 8 Jun 2010 13:35:45 -0600 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: References: <06C7B542-A7ED-4C33-B23F-7BEC08A15517@yale.edu> <74F07D9D-9098-41FD-8A85-E757566F51D3@yale.edu> Message-ID: On Tue, Jun 8, 2010 at 12:26 PM, Zachary Pincus wrote: > >> Failed again, I have attached the output including the execution of >> the above commands. >> Thanks for link to the environment variables, I need to read that. > > In the attached file (and the one from the next email too) I didn't > see the > > MACOSX_DEPLOYMENT_TARGET=10.4 > export MACOSX_DEPLOYMENT_TARGET > > lines. Those need to be re-run with each new shell (terminal window) > you start up. (Unless you put them in ~/.profile, etc.) > > You can see from the error messages (after the barf from the 2to3 tool > finishes) that there's still the warning about > MACOSX_DEPLOYMENT_TARGET being set to 10.3. > > If you did in fact run those commands immediately prior to "python3 > setup.py build" and still see the MACOSX_DEPLOYMENT_TARGET warning, > then there is definitely some bug in the build process that's > obliterating that environment variable. I did but somehow what was being saved from the terminal was from yesterday ??? So to be sure I started over. I have run it again and for sure I have entered the commands, (see attached evidence) MACOSX_DEPLOYMENT_TARGET=10.4 export MACOSX_DEPLOYMENT_TARGET I then search the terminal output for "MACOSX_DEPLOYMENT_TARGET" and it only occurred at the beginning where I entered the commands. Thanks Vincent > > Zach > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- A non-text attachment was scrubbed... Name: Terminal Output V3.txt.zip Type: application/zip Size: 38931 bytes Desc: not available URL: From gokhansever at gmail.com Tue Jun 8 15:44:29 2010 From: gokhansever at gmail.com (=?UTF-8?Q?G=C3=B6khan_Sever?=) Date: Tue, 8 Jun 2010 14:44:29 -0500 Subject: [Numpy-discussion] np.choose() question In-Reply-To: <7B37082B-A827-4F65-9E3A-EAAEBA339EBC@informatik.uni-hamburg.de> References: <7B37082B-A827-4F65-9E3A-EAAEBA339EBC@informatik.uni-hamburg.de> Message-ID: On Tue, Jun 8, 2010 at 2:32 PM, Hans Meine wrote: > > > Funny, that's exactly what I wanted to do (idx being a label/region image > here), > and what I tried today. > > You will be happy to hear that the even simpler solution is to just use > fancy indexing (the name is justified here): > > times[idx] > > will do the trick, too - no nead to flatten & reshape at all! :-) > (Given that both are ndarrays of course.) > You have got the bonus points Hans! I have a special ability to drag myself into list comprehensions for array indexing questions. Numpy provides such simple operations where mortals like me skip over easily or forget to convert lists as arrays before trying them. -- G?khan -------------- next part -------------- An HTML attachment was scrubbed... URL: From lists at hilboll.de Tue Jun 8 15:52:29 2010 From: lists at hilboll.de (Andreas) Date: Tue, 08 Jun 2010 21:52:29 +0200 Subject: [Numpy-discussion] np.choose() question In-Reply-To: References: Message-ID: <4C0E9F7D.6010505@hilboll.de> Hi, actually, I meant to reply to Mark's mail, as I used his solution ;) Thanks! On 06/08/2010 09:21 PM, G?khan Sever wrote: > If we were at so or ask.scipy I would vote for Mark's solution :) > > Usually in cases like yours, I tend to use the shortest version of the > solutions. > > On Tue, Jun 8, 2010 at 2:08 PM, Andreas Hilboll > wrote: > > Hi, > > > newtimes = [times[idx[x][y]] for x in range(2) for y in range(2)] > > np.array(newtimes).reshape(2,2) > > array([[104, 102], > > [103, 101]]) > > Great, thanks a lot! > > Cheers, > > Andreas. > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > > > -- > G?khan > > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion From d.l.goldsmith at gmail.com Tue Jun 8 16:20:10 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Tue, 8 Jun 2010 13:20:10 -0700 Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? In-Reply-To: References: <27982.2678.4520-13877-724633140-1276010820@seznam.cz> <4C0E88EF.4020703@hawaii.edu> Message-ID: On Tue, Jun 8, 2010 at 12:05 PM, Anne Archibald wrote: > On 8 June 2010 14:16, Eric Firing wrote: > > On 06/08/2010 05:50 AM, Charles R Harris wrote: > >> > >> > >> On Tue, Jun 8, 2010 at 9:39 AM, David Goldsmith < > d.l.goldsmith at gmail.com > >> > wrote: > >> > >> On Tue, Jun 8, 2010 at 8:27 AM, Pavel Bazant >> > wrote: > >> > >> > >> > > Correct me if I am wrong, but the paragraph > >> > > > >> > > Note to those used to IDL or Fortran memory order as it > >> relates to > >> > > indexing. Numpy uses C-order indexing. That means that the > >> last index > >> > > usually (see xxx for exceptions) represents the most > >> rapidly changing memory > >> > > location, unlike Fortran or IDL, where the first index > >> represents the most > >> > > rapidly changing location in memory. This difference > >> represents a great > >> > > potential for confusion. > >> > > > >> > > in > >> > > > >> > > http://docs.scipy.org/doc/numpy/user/basics.indexing.html > >> > > > >> > > is quite misleading, as C-order means that the last index > >> changes rapidly, > >> > > not the > >> > > memory location. > >> > > > >> > > > >> > Any index can change rapidly, depending on whether is in an > >> inner loop or > >> > not. The important distinction between C and Fortran order is > >> how indices > >> > translate to memory locations. The documentation seems > >> correct to me, > >> > although it might make more sense to say the last index > >> addresses a > >> > contiguous range of memory. Of course, with modern > >> processors, actual > >> > physical memory can be mapped all over the place. > >> > > >> > Chuck > >> > >> To me, saying that the last index represents the most rapidly > >> changing memory > >> location means that if I change the last index, the memory > >> location changes > >> a lot, which is not true for C-order. So for C-order, supposed > >> one scans the memory > >> linearly (the desired scenario), it is the last *index* that > >> changes most rapidly. > >> > >> The inverted picture looks like this: For C-order, changing the > >> first index > >> leads to the most rapid jump in *memory*. > >> > >> Still have the feeling the doc is very misleading at this > >> important issue. > >> > >> Pavel > >> > >> > >> The distinction between your two perspectives is that one is using > >> for-loop traversal of indices, the other is using pointer-increment > >> traversal of memory; from each of your perspectives, your > >> conclusions are "correct," but my inclination is that the > >> pointer-increment traversal of memory perspective is closer to the > >> "spirit" of the docstring, no? > >> > >> > >> I think the confusion is in "most rapidly changing memory location", > >> which is kind of ambiguous because a change in the indices is always a > >> change in memory location if one hasn't used index tricks and such. So > >> from a time perspective it means nothing, while from a memory > >> perspective the largest address changes come from the leftmost indices. > > > > Exactly. Rate of change with respect to what, or as you do what? > > > > I suggest something like the following wording, if you don't mind the > > verbosity as a means of conjuring up an image (although putting in > > diagrams would make it even clearer--undoubtedly there are already good > > illustrations somewhere on the web): > > > > ------------ > > > > Note to those used to Matlab, IDL, or Fortran memory order as it relates > > to indexing. Numpy uses C-order indexing by default, although a numpy > > array can be designated as using Fortran order. [With C-order, > > sequential memory locations are accessed by incrementing the last > > index.] For a two-dimensional array, think if it as a table. With > > C-order indexing the table is stored as a series of rows, so that one is > > reading from left to right, incrementing the column (last) index, and > > jumping ahead in memory to the next row by incrementing the row (first) > > index. With Fortran order, the table is stored as a series of columns, > > so one reads memory sequentially from top to bottom, incrementing the > > first index, and jumps ahead in memory to the next column by > > incrementing the last index. > > > > One more difference to be aware of: numpy, like python and C, uses > > zero-based indexing; Matlab, [IDL???], and Fortran start from one. > > > > ----------------- > > > > If you want to keep it short, the key wording is in the sentence in > > brackets, and you can chop out the table illustration. > > I'd just like to point out a few warnings to keep in mind while > rewriting this section: > > Numpy arrays can have any configuration of memory strides, including > some that are zero; C and Fortran contiguous arrays are simply those > that have special arrangements of the strides. The actual stride > values is normally almost irrelevant to python code. > > There is a second meaning of C and Fortran order: when you are > reshaping an array, you can specify one order or the other. The > reshaping operation then behaves logically as if the input and output > arrays are in the requested order, regardless of what the actual > memory layout is. > > Perhaps one could rewrite the text as something like: > > Different programming languages have different ways of laying out > multidimensional arrays. In C, such an array must be a contiguous > block of memory, and as one advances through that memory the last > index changes most rapidly, with the earlier indices increasing only > when the later indices have reached the ends of their respective > dimensions. Fortran arrays must also be contiguous blocks of memory, > but in their case it is the first index that changes most rapidly as > one advances through the block. Numpy arrays may have many different > memory layouts, represented by a 'stride' for each dimension, but new > numpy arrays are by default constructed in the C order. They can also > readily be constructed directly in Fortran order by passing additional > arguments to many array-construction functions. Most code using numpy > need not concern itself with the memory layout of the arrays it uses, > but conversion functions are available should a user need to, say, > pass a multidimensional array to a function written in C or Fortran. > > Anne > > > Eric > So far I don't think any of these address Chuck's original comment about being able to access memory in any order whatsoever using for loops (i.e., in a 3-D array, one could increment the middle index most frequently) rendering all of the above less relevant (not incorrect, of course, just less relevant). This is why I still see the issue as related to the manner in which one is "scrolling" through the array, and the "incrementing the pointer" idea as the one more relevant to the document in question. That said, perhaps this modification of Anne's wording is sufficient (my changes enclosed by underscores): Different programming languages have different ways of laying out multidimensional arrays. In C, such an array must be a contiguous block of memory, and as one advances through that memory _sequentially_, the last index changes most rapidly, with the earlier indices increasing only when the later indices have reached the ends of their respective dimensions _(like an automobile's odometer)_. Fortran arrays must also be contiguous blocks of memory, but in their case it is the first index that changes most rapidly as one advances through the block _sequentially (the opposite of an automobile odometer)_. Numpy arrays may have many different memory layouts, represented by a 'stride' for each dimension, but _*new numpy arrays are by default constructed in the C order_* [emphasis to be added]. They can also readily be constructed directly in Fortran order by passing additional arguments to many array-construction functions. Most code using numpy need not concern itself with the memory layout of the arrays it uses, but conversion functions are available should a user need to, say, pass a multidimensional array to a function written in C or Fortran. DG -------------- next part -------------- An HTML attachment was scrubbed... URL: From ben.root at ou.edu Tue Jun 8 16:56:59 2010 From: ben.root at ou.edu (Benjamin Root) Date: Tue, 8 Jun 2010 15:56:59 -0500 Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? In-Reply-To: <4C0E8D97.1050002@hawaii.edu> References: <27982.2678.4520-13877-724633140-1276010820@seznam.cz> <4C0E88EF.4020703@hawaii.edu> <4C0E8D97.1050002@hawaii.edu> Message-ID: On Tue, Jun 8, 2010 at 1:36 PM, Eric Firing wrote: > On 06/08/2010 08:16 AM, Eric Firing wrote: > > On 06/08/2010 05:50 AM, Charles R Harris wrote: > >> > >> > >> On Tue, Jun 8, 2010 at 9:39 AM, David Goldsmith >> > wrote: > >> > >> On Tue, Jun 8, 2010 at 8:27 AM, Pavel Bazant >> > wrote: > >> > >> > >> > > Correct me if I am wrong, but the paragraph > >> > > > >> > > Note to those used to IDL or Fortran memory order as it > >> relates to > >> > > indexing. Numpy uses C-order indexing. That means that > the > >> last index > >> > > usually (see xxx for exceptions) represents the most > >> rapidly changing memory > >> > > location, unlike Fortran or IDL, where the first index > >> represents the most > >> > > rapidly changing location in memory. This difference > >> represents a great > >> > > potential for confusion. > >> > > > >> > > in > >> > > > >> > > > http://docs.scipy.org/doc/numpy/user/basics.indexing.html > >> > > > >> > > is quite misleading, as C-order means that the last > index > >> changes rapidly, > >> > > not the > >> > > memory location. > >> > > > >> > > > >> > Any index can change rapidly, depending on whether is in an > >> inner loop or > >> > not. The important distinction between C and Fortran order > is > >> how indices > >> > translate to memory locations. The documentation seems > >> correct to me, > >> > although it might make more sense to say the last index > >> addresses a > >> > contiguous range of memory. Of course, with modern > >> processors, actual > >> > physical memory can be mapped all over the place. > >> > > >> > Chuck > >> > >> To me, saying that the last index represents the most rapidly > >> changing memory > >> location means that if I change the last index, the memory > >> location changes > >> a lot, which is not true for C-order. So for C-order, supposed > >> one scans the memory > >> linearly (the desired scenario), it is the last *index* that > >> changes most rapidly. > >> > >> The inverted picture looks like this: For C-order, changing > the > >> first index > >> leads to the most rapid jump in *memory*. > >> > >> Still have the feeling the doc is very misleading at this > >> important issue. > >> > >> Pavel > >> > >> > >> The distinction between your two perspectives is that one is using > >> for-loop traversal of indices, the other is using pointer-increment > >> traversal of memory; from each of your perspectives, your > >> conclusions are "correct," but my inclination is that the > >> pointer-increment traversal of memory perspective is closer to the > >> "spirit" of the docstring, no? > >> > >> > >> I think the confusion is in "most rapidly changing memory location", > >> which is kind of ambiguous because a change in the indices is always a > >> change in memory location if one hasn't used index tricks and such. So > >> from a time perspective it means nothing, while from a memory > >> perspective the largest address changes come from the leftmost indices. > > > > Exactly. Rate of change with respect to what, or as you do what? > > > > I suggest something like the following wording, if you don't mind the > > verbosity as a means of conjuring up an image (although putting in > > diagrams would make it even clearer--undoubtedly there are already good > > illustrations somewhere on the web): > > > > ------------ > > > > Note to those used to Matlab, IDL, or Fortran memory order as it relates > > to indexing. Numpy uses C-order indexing by default, although a numpy > > array can be designated as using Fortran order. [With C-order, > > sequential memory locations are accessed by incrementing the last > > Maybe change "sequential" to "contiguous". > > I was thinking maybe "subsequent" might be a better word. In the end, we need to communicate this clearly. No matter which language, I have always found it difficult to get new programmers to understand the importance of knowing the difference between row-major and column-major. A "thick" paragraph isn't going to help to get the idea across to a person who doesn't even know that a problem exists. Maybe a car analogy would be good here... Maybe if one imagine city streets (where many of the streets are one-way), and need to drop off mail at each address. Would it be more efficient to go up and back a street or to drop off mail at the first address of the street and then move on to the first address of the next street? Just my two cents... Ben Root > > > index.] For a two-dimensional array, think if it as a table. With > > C-order indexing the table is stored as a series of rows, so that one is > > reading from left to right, incrementing the column (last) index, and > > jumping ahead in memory to the next row by incrementing the row (first) > > index. With Fortran order, the table is stored as a series of columns, > > so one reads memory sequentially from top to bottom, incrementing the > > first index, and jumps ahead in memory to the next column by > > incrementing the last index. > > > > One more difference to be aware of: numpy, like python and C, uses > > zero-based indexing; Matlab, [IDL???], and Fortran start from one. > > > > ----------------- > > > > If you want to keep it short, the key wording is in the sentence in > > brackets, and you can chop out the table illustration. > > > > Eric > > > > > >> > >> Chuck > >> > >> > >> > >> _______________________________________________ > >> NumPy-Discussion mailing list > >> NumPy-Discussion at scipy.org > >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > > _______________________________________________ > > NumPy-Discussion mailing list > > NumPy-Discussion at scipy.org > > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From zachary.pincus at yale.edu Tue Jun 8 17:15:19 2010 From: zachary.pincus at yale.edu (Zachary Pincus) Date: Tue, 8 Jun 2010 17:15:19 -0400 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: References: <06C7B542-A7ED-4C33-B23F-7BEC08A15517@yale.edu> <74F07D9D-9098-41FD-8A85-E757566F51D3@yale.edu> Message-ID: <5C400587-E45A-4F0C-BF76-A0C7D830EDD9@yale.edu> Hi Vincent, I'm not really sure -- now the build is using the 10.4 SDK but still not finding the right headers. Could you check to see that the following file exists: /Developer/SDKs/MacOSX10.4u.sdk/usr/include/limits.h If it does, then I'm really not sure what's going on. Zach On Jun 8, 2010, at 3:35 PM, Vincent Davis wrote: > On Tue, Jun 8, 2010 at 12:26 PM, Zachary Pincus > wrote: >> >>> Failed again, I have attached the output including the execution of >>> the above commands. >>> Thanks for link to the environment variables, I need to read that. >> >> In the attached file (and the one from the next email too) I didn't >> see the >> >> MACOSX_DEPLOYMENT_TARGET=10.4 >> export MACOSX_DEPLOYMENT_TARGET >> >> lines. Those need to be re-run with each new shell (terminal window) >> you start up. (Unless you put them in ~/.profile, etc.) >> >> You can see from the error messages (after the barf from the 2to3 >> tool >> finishes) that there's still the warning about >> MACOSX_DEPLOYMENT_TARGET being set to 10.3. >> >> If you did in fact run those commands immediately prior to "python3 >> setup.py build" and still see the MACOSX_DEPLOYMENT_TARGET warning, >> then there is definitely some bug in the build process that's >> obliterating that environment variable. > > I did but somehow what was being saved from the terminal was from > yesterday ??? > So to be sure I started over. > I have run it again and for sure I have entered the commands, (see > attached evidence) > MACOSX_DEPLOYMENT_TARGET=10.4 > export MACOSX_DEPLOYMENT_TARGET > > I then search the terminal output for "MACOSX_DEPLOYMENT_TARGET" and > it only occurred at the beginning where I entered the commands. > > Thanks > Vincent > >> >> Zach >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > V3.txt.zip>_______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion From d.l.goldsmith at gmail.com Tue Jun 8 17:17:06 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Tue, 8 Jun 2010 14:17:06 -0700 Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? In-Reply-To: References: <27982.2678.4520-13877-724633140-1276010820@seznam.cz> <4C0E88EF.4020703@hawaii.edu> <4C0E8D97.1050002@hawaii.edu> Message-ID: On Tue, Jun 8, 2010 at 1:56 PM, Benjamin Root wrote: > > On Tue, Jun 8, 2010 at 1:36 PM, Eric Firing wrote: > >> On 06/08/2010 08:16 AM, Eric Firing wrote: >> > On 06/08/2010 05:50 AM, Charles R Harris wrote: >> >> >> >> On Tue, Jun 8, 2010 at 9:39 AM, David Goldsmith< >> d.l.goldsmith at gmail.com >> >> > wrote: >> >> >> >> On Tue, Jun 8, 2010 at 8:27 AM, Pavel Bazant> >> > wrote: >> >> >> >> > > Correct me if I am wrong, but the paragraph >> >> > > >> >> > > Note to those used to IDL or Fortran memory order as it >> >> relates to >> >> > > indexing. Numpy uses C-order indexing. That means that >> the >> >> last index >> >> > > usually (see xxx for exceptions) represents the most >> >> rapidly changing memory >> >> > > location, unlike Fortran or IDL, where the first index >> >> represents the most >> >> > > rapidly changing location in memory. This difference >> >> represents a great >> >> > > potential for confusion. >> >> > > >> >> > > in >> >> > > >> >> > > >> http://docs.scipy.org/doc/numpy/user/basics.indexing.html >> >> > > >> >> > > is quite misleading, as C-order means that the last >> index >> >> changes rapidly, >> >> > > not the >> >> > > memory location. >> >> > > >> >> > > >> >> > Any index can change rapidly, depending on whether is in >> an >> >> inner loop or >> >> > not. The important distinction between C and Fortran order >> is >> >> how indices >> >> > translate to memory locations. The documentation seems >> >> correct to me, >> >> > although it might make more sense to say the last index >> >> addresses a >> >> > contiguous range of memory. Of course, with modern >> >> processors, actual >> >> > physical memory can be mapped all over the place. >> >> > >> >> > Chuck >> >> >> >> To me, saying that the last index represents the most rapidly >> >> changing memory >> >> location means that if I change the last index, the memory >> >> location changes >> >> a lot, which is not true for C-order. So for C-order, supposed >> >> one scans the memory >> >> linearly (the desired scenario), it is the last *index* that >> >> changes most rapidly. >> >> >> >> The inverted picture looks like this: For C-order, changing >> the >> >> first index >> >> leads to the most rapid jump in *memory*. >> >> >> >> Still have the feeling the doc is very misleading at this >> >> important issue. >> >> >> >> Pavel >> >> >> >> >> >> The distinction between your two perspectives is that one is using >> >> for-loop traversal of indices, the other is using >> pointer-increment >> >> traversal of memory; from each of your perspectives, your >> >> conclusions are "correct," but my inclination is that the >> >> pointer-increment traversal of memory perspective is closer to the >> >> "spirit" of the docstring, no? >> >> >> >> >> >> I think the confusion is in "most rapidly changing memory location", >> >> which is kind of ambiguous because a change in the indices is always a >> >> change in memory location if one hasn't used index tricks and such. So >> >> from a time perspective it means nothing, while from a memory >> >> perspective the largest address changes come from the leftmost indices. >> > >> > Exactly. Rate of change with respect to what, or as you do what? >> > >> > I suggest something like the following wording, if you don't mind the >> > verbosity as a means of conjuring up an image (although putting in >> > diagrams would make it even clearer--undoubtedly there are already good >> > illustrations somewhere on the web): >> > >> > ------------ >> > >> > Note to those used to Matlab, IDL, or Fortran memory order as it relates >> > to indexing. Numpy uses C-order indexing by default, although a numpy >> > array can be designated as using Fortran order. [With C-order, >> > sequential memory locations are accessed by incrementing the last >> >> Maybe change "sequential" to "contiguous". >> >> I was thinking maybe "subsequent" might be a better word. > IMV, contiguous has more of a "physical" connotation. (That just isn't valid in Numpy, correct?) So I'd prefer subsequent as an alternative to sequential. > > In the end, we need to communicate this clearly. No matter which language, > I have always found it difficult to get new programmers to understand the > importance of knowing the difference between row-major and column-major. A > "thick" paragraph isn't going to help to get the idea across to a person who > doesn't even know that a problem exists. > > Maybe a car analogy would be good here... > > Maybe if one imagine city streets (where many of the streets are one-way), > and need to drop off mail at each address. Would it be more efficient to go > up and back a street or to drop off mail at the first address of the street > and then move on to the first address of the next street? > But the issue isn't one of efficiency, it's merely an arbitrarily chosen convention. (Does anyone know the history of the choices for FORTRAN and C, esp. why K&R chose the opposite of what was already in common usage in FORTRAN? Just curious?) Does the OP have an opinion on the various alternatives offered so far? DG > > Just my two cents... > > Ben Root > > >> >> > index.] For a two-dimensional array, think if it as a table. With >> > C-order indexing the table is stored as a series of rows, so that one is >> > reading from left to right, incrementing the column (last) index, and >> > jumping ahead in memory to the next row by incrementing the row (first) >> > index. With Fortran order, the table is stored as a series of columns, >> > so one reads memory sequentially from top to bottom, incrementing the >> > first index, and jumps ahead in memory to the next column by >> > incrementing the last index. >> > >> > One more difference to be aware of: numpy, like python and C, uses >> > zero-based indexing; Matlab, [IDL???], and Fortran start from one. >> > >> > ----------------- >> > >> > If you want to keep it short, the key wording is in the sentence in >> > brackets, and you can chop out the table illustration. >> > >> > Eric >> > >> > >> >> >> >> Chuck >> >> >> >> >> >> >> >> _______________________________________________ >> >> NumPy-Discussion mailing list >> >> NumPy-Discussion at scipy.org >> >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > >> > _______________________________________________ >> > NumPy-Discussion mailing list >> > NumPy-Discussion at scipy.org >> > http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > -- Mathematician: noun, someone who disavows certainty when their uncertainty set is non-empty, even if that set has measure zero. Hope: noun, that delusive spirit which escaped Pandora's jar and, with her lies, prevents mankind from committing a general suicide. (As interpreted by Robert Graves) -------------- next part -------------- An HTML attachment was scrubbed... URL: From seb.haase at gmail.com Mon Jun 7 07:07:59 2010 From: seb.haase at gmail.com (Sebastian Haase) Date: Mon, 7 Jun 2010 13:07:59 +0200 Subject: [Numpy-discussion] Greater common divisor In-Reply-To: <4C0CC79D.6070905@grinta.net> References: <4C0CC79D.6070905@grinta.net> Message-ID: googling for greatest common divisor OR denominator numpy OR scipy OR python I found this: http://projects.scipy.org/numpy/browser/trunk/numpy/core/_internal.py?rev=8316 554 def _gcd(a, b): 555 """Calculate the greatest common divisor of a and b""" 556 while b: 557 a, b = b, a%b 558 return a or this: http://www.geekpedia.com/code120_Find-The-Greatest-Common-Divisor.html def euclid(numA, numB): while numB != 0: numRem = numA % numB numA = numB numB = numRem return numA HTH, Sebastian Haase On Mon, Jun 7, 2010 at 12:19 PM, Daniele Nicolodi wrote: > Hello. There is a method in numpy to compute the greater common divisor > of the elements of an array? Searching through the documentation I > didn't find it. > > Thanks. Cheers, > -- > Daniele > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From aarchiba at physics.mcgill.ca Tue Jun 8 17:34:09 2010 From: aarchiba at physics.mcgill.ca (Anne Archibald) Date: Tue, 8 Jun 2010 17:34:09 -0400 Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? In-Reply-To: References: <27982.2678.4520-13877-724633140-1276010820@seznam.cz> <4C0E88EF.4020703@hawaii.edu> <4C0E8D97.1050002@hawaii.edu> Message-ID: On 8 June 2010 17:17, David Goldsmith wrote: > On Tue, Jun 8, 2010 at 1:56 PM, Benjamin Root wrote: >> >> On Tue, Jun 8, 2010 at 1:36 PM, Eric Firing wrote: >>> >>> On 06/08/2010 08:16 AM, Eric Firing wrote: >>> > On 06/08/2010 05:50 AM, Charles R Harris wrote: >>> >> >>> >> On Tue, Jun 8, 2010 at 9:39 AM, David >>> >> Goldsmith>> >> > wrote: >>> >> >>> >> On Tue, Jun 8, 2010 at 8:27 AM, Pavel Bazant>> >> > wrote: >>> >> >>> >> > > Correct me if I am wrong, but the paragraph >>> >> > > >>> >> > > Note to those used to IDL or Fortran memory order as >>> >> it >>> >> relates to >>> >> > > indexing. Numpy uses C-order indexing. That means that >>> >> the >>> >> last index >>> >> > > usually (see xxx for exceptions) represents the most >>> >> rapidly changing memory >>> >> > > location, unlike Fortran or IDL, where the first index >>> >> represents the most >>> >> > > rapidly changing location in memory. This difference >>> >> represents a great >>> >> > > potential for confusion. >>> >> > > >>> >> > > in >>> >> > > >>> >> > > >>> >> http://docs.scipy.org/doc/numpy/user/basics.indexing.html >>> >> > > >>> >> > > is quite misleading, as C-order means that the last >>> >> index >>> >> changes rapidly, >>> >> > > not the >>> >> > > memory location. >>> >> > > >>> >> > > >>> >> > Any index can change rapidly, depending on whether is in >>> >> an >>> >> inner loop or >>> >> > not. The important distinction between C and Fortran >>> >> order is >>> >> how indices >>> >> > translate to memory locations. The documentation seems >>> >> correct to me, >>> >> > although it might make more sense to say the last index >>> >> addresses a >>> >> > contiguous range of memory. Of course, with modern >>> >> processors, actual >>> >> > physical memory can be mapped all over the place. >>> >> > >>> >> > Chuck >>> >> >>> >> To me, saying that the last index represents the most rapidly >>> >> changing memory >>> >> location means that if I change the last index, the memory >>> >> location changes >>> >> a lot, which is not true for C-order. So for C-order, >>> >> supposed >>> >> one scans the memory >>> >> linearly (the desired scenario), it is the last *index* that >>> >> changes most rapidly. >>> >> >>> >> The inverted picture looks like this: For C-order, changing >>> >> the >>> >> first index >>> >> leads to the most rapid jump in *memory*. >>> >> >>> >> Still have the feeling the doc is very misleading at this >>> >> important issue. >>> >> >>> >> Pavel >>> >> >>> >> >>> >> The distinction between your two perspectives is that one is >>> >> using >>> >> for-loop traversal of indices, the other is using >>> >> pointer-increment >>> >> traversal of memory; from each of your perspectives, your >>> >> conclusions are "correct," but my inclination is that the >>> >> pointer-increment traversal of memory perspective is closer to >>> >> the >>> >> "spirit" of the docstring, no? >>> >> >>> >> >>> >> I think the confusion is in "most rapidly changing memory location", >>> >> which is kind of ambiguous because a change in the indices is always a >>> >> change in memory location if one hasn't used index tricks and such. So >>> >> from a time perspective it means nothing, while from a memory >>> >> perspective the largest address changes come from the leftmost >>> >> indices. >>> > >>> > Exactly. Rate of change with respect to what, or as you do what? >>> > >>> > I suggest something like the following wording, if you don't mind the >>> > verbosity as a means of conjuring up an image (although putting in >>> > diagrams would make it even clearer--undoubtedly there are already good >>> > illustrations somewhere on the web): >>> > >>> > ------------ >>> > >>> > Note to those used to Matlab, IDL, or Fortran memory order as it >>> > relates >>> > to indexing. Numpy uses C-order indexing by default, although a numpy >>> > array can be designated as using Fortran order. [With C-order, >>> > sequential memory locations are accessed by incrementing the last >>> >>> Maybe change "sequential" to "contiguous". >>> >> I was thinking maybe "subsequent" might be a better word. > > IMV, contiguous has more of a "physical" connotation. (That just isn't > valid in Numpy, correct?) So I'd prefer subsequent as an alternative to > sequential. >> >> In the end, we need to communicate this clearly. No matter which >> language, I have always found it difficult to get new programmers to >> understand the importance of knowing the difference between row-major and >> column-major. A "thick" paragraph isn't going to help to get the idea >> across to a person who doesn't even know that a problem exists. >> >> Maybe a car analogy would be good here... >> >> Maybe if one imagine city streets (where many of the streets are one-way), >> and need to drop off mail at each address. Would it be more efficient to go >> up and back a street or to drop off mail at the first address of the street >> and then move on to the first address of the next street? > > But the issue isn't one of efficiency, it's merely an arbitrarily chosen > convention. (Does anyone know the history of the choices for FORTRAN and C, > esp. why K&R chose the opposite of what was already in common usage in > FORTRAN? Just curious?) This is speculation, not knowledge, but it's worth pointing out that there are actually two ways to represent a multidimensional array in C: as a block of memory with appropriate type definitions, or as an array of pointers to subarrays. This latter approach is generally not used for numerical work, but is potentially useful for other applications. More relevantly, it already has a natural syntax; a[2][3][5] naturally follows the chain of pointers and gives you what you want; it also forces your last index to change most rapidly as you walk through memory. So it would be very odd if multidimensional arrays defined without pointers but using the same syntax were indexed the other way around. (Let's ignore abominations like 5[3[2[a]]].) Anne > Does the OP have an opinion on the various alternatives offered so far? > > DG >> >> Just my two cents... >> >> Ben Root >> >>> >>> > index.] For a two-dimensional array, think if it as a table. With >>> > C-order indexing the table is stored as a series of rows, so that one >>> > is >>> > reading from left to right, incrementing the column (last) index, and >>> > jumping ahead in memory to the next row by incrementing the row (first) >>> > index. With Fortran order, the table is stored as a series of columns, >>> > so one reads memory sequentially from top to bottom, incrementing the >>> > first index, and jumps ahead in memory to the next column by >>> > incrementing the last index. >>> > >>> > One more difference to be aware of: numpy, like python and C, uses >>> > zero-based indexing; Matlab, [IDL???], and Fortran start from one. >>> > >>> > ----------------- >>> > >>> > If you want to keep it short, the key wording is in the sentence in >>> > brackets, and you can chop out the table illustration. >>> > >>> > Eric >>> > >>> > >>> >> >>> >> Chuck >>> >> >>> >> >>> >> >>> >> _______________________________________________ >>> >> NumPy-Discussion mailing list >>> >> NumPy-Discussion at scipy.org >>> >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> > >>> > _______________________________________________ >>> > NumPy-Discussion mailing list >>> > NumPy-Discussion at scipy.org >>> > http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > > > > -- > Mathematician: noun, someone who disavows certainty when their uncertainty > set is non-empty, even if that set has measure zero. > > Hope: noun, that delusive spirit which escaped Pandora's jar and, with her > lies, prevents mankind from committing a general suicide. (As interpreted > by Robert Graves) > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > From stefan at sun.ac.za Tue Jun 8 18:39:42 2010 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Tue, 8 Jun 2010 16:39:42 -0600 Subject: [Numpy-discussion] Mail list idea In-Reply-To: References: Message-ID: On 8 June 2010 11:13, Vincent Davis wrote: > 2) A web based interface that is similar to stackoverflow in that a > user can search and post within the same page and as they type a > question suggested relevant posts are shown. Also have a look at ask.scipy.org. Cheers St?fan From friedrichromstedt at gmail.com Tue Jun 8 18:49:56 2010 From: friedrichromstedt at gmail.com (Friedrich Romstedt) Date: Wed, 9 Jun 2010 00:49:56 +0200 Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? In-Reply-To: References: <27982.2678.4520-13877-724633140-1276010820@seznam.cz> <4C0E88EF.4020703@hawaii.edu> Message-ID: 2010/6/8 Anne Archibald : > Numpy arrays can have any configuration of memory strides, including > some that are zero; C and Fortran contiguous arrays are simply those > that have special arrangements of the strides. The actual stride > values is normally almost irrelevant to python code. First, I don't see the point why this text made it's way to this doc page at all - it's all abstract Python numpy indexing on that page as far as I can see - I don't know why a beginner should worry about strides and how the linear memory is actually organised - from my point of view I never did that. To resolve the problem, and to avoid the confusion about the "fast" and "slow", why not using directly the concept of strides as Anne pointed out. Simply saying that: When an array is indiced with indices (i1, i2, i3, ... in) and the array has strides (s1, s2, s3, ..., sn), the memory location addressed is: i1 * s1 + i2 * s2 + ... + in * sn relative to the base point (and up to dtype). I hope I'm not wrong here. For C order, s1 >= s2 >= ... >= sn = 1 , for fortran order the other way round. Friedrich In fact it holds: s(k-1) = sk * Nk for C order, s(k+1) = sk * Nk for fortran order, where Nk is the length of dimension k. If I'm not mistaken, it's late at night. From vincent at vincentdavis.net Tue Jun 8 19:04:34 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Tue, 8 Jun 2010 17:04:34 -0600 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: <5C400587-E45A-4F0C-BF76-A0C7D830EDD9@yale.edu> References: <06C7B542-A7ED-4C33-B23F-7BEC08A15517@yale.edu> <74F07D9D-9098-41FD-8A85-E757566F51D3@yale.edu> <5C400587-E45A-4F0C-BF76-A0C7D830EDD9@yale.edu> Message-ID: I do have limits.h in 10.4 sdk So what next. Ay Ideas? I had tried to build py 3.1.2 from source but that did not work either. Thanks Vincent On Tue, Jun 8, 2010 at 3:15 PM, Zachary Pincus wrote: > Hi Vincent, > > I'm not really sure -- now the build is using the 10.4 SDK but still > not finding the right headers. > > Could you check to see that the following file exists: > /Developer/SDKs/MacOSX10.4u.sdk/usr/include/limits.h > > If it does, then I'm really not sure what's going on. > > Zach > > > > On Jun 8, 2010, at 3:35 PM, Vincent Davis wrote: > >> On Tue, Jun 8, 2010 at 12:26 PM, Zachary Pincus > > wrote: >>> >>>> Failed again, I have attached the output including the execution of >>>> the above commands. >>>> Thanks for link to the environment variables, I need to read that. >>> >>> In the attached file (and the one from the next email too) I didn't >>> see the >>> >>> MACOSX_DEPLOYMENT_TARGET=10.4 >>> export MACOSX_DEPLOYMENT_TARGET >>> >>> lines. Those need to be re-run with each new shell (terminal window) >>> you start up. (Unless you put them in ~/.profile, etc.) >>> >>> You can see from the error messages (after the barf from the 2to3 >>> tool >>> finishes) that there's still the warning about >>> MACOSX_DEPLOYMENT_TARGET being set to 10.3. >>> >>> If you did in fact run those commands immediately prior to "python3 >>> setup.py build" and still see the MACOSX_DEPLOYMENT_TARGET warning, >>> then there is definitely some bug in the build process that's >>> obliterating that environment variable. >> >> I did but somehow what was being saved from the terminal was from >> yesterday ??? >> So to be sure I started over. >> I have run it again and for sure I have entered the commands, (see >> attached evidence) >> MACOSX_DEPLOYMENT_TARGET=10.4 >> export MACOSX_DEPLOYMENT_TARGET >> >> I then search the terminal output for "MACOSX_DEPLOYMENT_TARGET" and >> it only occurred at the beginning where I entered the commands. >> >> Thanks >> Vincent >> >>> >>> Zach >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >> > V3.txt.zip>_______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From charlesr.harris at gmail.com Tue Jun 8 20:51:40 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Tue, 8 Jun 2010 18:51:40 -0600 Subject: [Numpy-discussion] Greater common divisor In-Reply-To: <4C0CC79D.6070905@grinta.net> References: <4C0CC79D.6070905@grinta.net> Message-ID: On Mon, Jun 7, 2010 at 4:19 AM, Daniele Nicolodi wrote: > Hello. There is a method in numpy to compute the greater common divisor > of the elements of an array? Searching through the documentation I > didn't find it. > > If you need to do more complicated stuff based around the GCD, like finding the Hermite normal form, SAGE might be a better bet. Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From david at silveregg.co.jp Tue Jun 8 20:56:11 2010 From: david at silveregg.co.jp (David) Date: Wed, 09 Jun 2010 09:56:11 +0900 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: References: <06C7B542-A7ED-4C33-B23F-7BEC08A15517@yale.edu> <74F07D9D-9098-41FD-8A85-E757566F51D3@yale.edu> <5C400587-E45A-4F0C-BF76-A0C7D830EDD9@yale.edu> Message-ID: <4C0EE6AB.8000908@silveregg.co.jp> On 06/09/2010 08:04 AM, Vincent Davis wrote: > I do have limits.h in 10.4 sdk > > So what next. Ay Ideas? > I had tried to build py 3.1.2 from source but that did not work either. I had the same issue when I tried the python 3 branch on mac os x. I have not found the issue yet, but I am afraid it is quite subtle, and possibly a bug in python 3 distutils (plus some issues in numpy.distutils). cheers, David From vincent at vincentdavis.net Tue Jun 8 21:02:10 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Tue, 8 Jun 2010 19:02:10 -0600 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: <4C0EE6AB.8000908@silveregg.co.jp> References: <06C7B542-A7ED-4C33-B23F-7BEC08A15517@yale.edu> <74F07D9D-9098-41FD-8A85-E757566F51D3@yale.edu> <5C400587-E45A-4F0C-BF76-A0C7D830EDD9@yale.edu> <4C0EE6AB.8000908@silveregg.co.jp> Message-ID: Have any of you built py 3.1.2 from source on a mac? Vincent On Tue, Jun 8, 2010 at 6:56 PM, David wrote: > On 06/09/2010 08:04 AM, Vincent Davis wrote: >> I do have limits.h in 10.4 sdk >> >> So what next. Ay Ideas? >> I had tried to build py 3.1.2 from source but that did not work either. > > I had the same issue when I tried the python 3 branch on mac os x. I > have not found the issue yet, but I am afraid it is quite subtle, and > possibly a bug in python 3 distutils (plus some issues in numpy.distutils). > > cheers, > > David > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From matzke at berkeley.edu Tue Jun 8 22:30:20 2010 From: matzke at berkeley.edu (Nick Matzke) Date: Tue, 08 Jun 2010 19:30:20 -0700 Subject: [Numpy-discussion] updating NumPy in EPD In-Reply-To: <4C0EDADF.9060104@berkeley.edu> References: <4C0EDADF.9060104@berkeley.edu> Message-ID: <4C0EFCBC.4030200@berkeley.edu> Hi NumPy gurus, I have a slightly weird question. I would like to install the PyCogent python library. However, this requires NumPy 1.3 or higher. I only have NumPy 1.1.1, because I got it as part of the Enthought Python Distribution (4.1) back in 2008. Now, when I download & install a new version of NumPy, the install seems to work. However, the PyCogent installer can still only see the NumPy 1.1.1 version. Any advice on what I might do to fix this? I would just update my version of EPD, which is where my NumPy came from -- however, Enthought only has available for academic download a version of EPD that works on OS X 10.5 or later, and my Mac is a 10.4.11 and I'd rather not completely reinstall the OS just to get one little library to work. Any help much appreciated!! Cheers! Nick -- ==================================================== Nicholas J. Matzke Ph.D. Candidate, Graduate Student Researcher Huelsenbeck Lab Center for Theoretical Evolutionary Genomics 4151 VLSB (Valley Life Sciences Building) Department of Integrative Biology University of California, Berkeley Graduate Student Instructor, IB200A Principles of Phylogenetics: Systematics http://ib.berkeley.edu/courses/ib200a/index.shtml Lab websites: http://ib.berkeley.edu/people/lab_detail.php?lab=54 http://fisher.berkeley.edu/cteg/hlab.html Dept. personal page: http://ib.berkeley.edu/people/students/person_detail.php?person=370 Lab personal page: http://fisher.berkeley.edu/cteg/members/matzke.html Lab phone: 510-643-6299 Dept. fax: 510-643-6264 Cell phone: 510-301-0179 Email: matzke at berkeley.edu Mailing address: Department of Integrative Biology 3060 VLSB #3140 Berkeley, CA 94720-3140 ----------------------------------------------------- "[W]hen people thought the earth was flat, they were wrong. When people thought the earth was spherical, they were wrong. But if you think that thinking the earth is spherical is just as wrong as thinking the earth is flat, then your view is wronger than both of them put together." Isaac Asimov (1989). "The Relativity of Wrong." The Skeptical Inquirer, 14(1), 35-44. Fall 1989. http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm ==================================================== From d.l.goldsmith at gmail.com Tue Jun 8 22:33:37 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Tue, 8 Jun 2010 19:33:37 -0700 Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? In-Reply-To: References: <27982.2678.4520-13877-724633140-1276010820@seznam.cz> <4C0E88EF.4020703@hawaii.edu> Message-ID: On Tue, Jun 8, 2010 at 3:49 PM, Friedrich Romstedt < friedrichromstedt at gmail.com> wrot > 2010/6/8 Anne Archibald : > > Numpy arrays can have any configuration of memory strides, including > > some that are zero; C and Fortran contiguous arrays are simply those > > that have special arrangements of the strides. The actual stride > > values is normally almost irrelevant to python code. > > First, I don't see the point why this text made it's way to this doc > page at all - it's all abstract Python numpy indexing on that page as > far as I can see - I don't know why a beginner should worry about > strides and how the linear memory is actually organised - from my > point of view I never did that. > Friedrich's perspective occurred to me also (at least I think mine's the same) since my last post: the document in question is basics.indexing - given the complexity and rather advanced nature of this issue, seems to me that both the easiest _and_ most logical solution is to simply remove discussion of the issue from this document altogether, and place it in, say, docs/numpy-docs/user/c-info.beyond-basics.rst/ or docs/numpy-docs/user/misc.rst/ (the latter of which, I note, already discusses interfacing to C and interfacing to Fortran; not that the row-major/col-major issue is an interfacing issue, but at least there's already precedent for discussing these types of differences in the document). DG To resolve the problem, and to avoid the confusion about the "fast" > and "slow", why not using directly the concept of strides as Anne > pointed out. Simply saying that: > > When an array is indiced with indices (i1, i2, i3, ... in) and the > array has strides (s1, s2, s3, ..., sn), the memory location addressed > is: > i1 * s1 + i2 * s2 + ... + in * sn > relative to the base point (and up to dtype). I hope I'm not wrong here. > For C order, > s1 >= s2 >= ... >= sn = 1 , > for fortran order the other way round. > > Friedrich > > > In fact it holds: > s(k-1) = sk * Nk for C order, > s(k+1) = sk * Nk for fortran order, > where Nk is the length of dimension k. > If I'm not mistaken, it's late at night. > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -- Mathematician: noun, someone who disavows certainty when their uncertainty set is non-empty, even if that set has measure zero. Hope: noun, that delusive spirit which escaped Pandora's jar and, with her lies, prevents mankind from committing a general suicide. (As interpreted by Robert Graves) -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeffhsu3 at gmail.com Tue Jun 8 22:46:45 2010 From: jeffhsu3 at gmail.com (Jeff Hsu) Date: Tue, 8 Jun 2010 22:46:45 -0400 Subject: [Numpy-discussion] updating NumPy in EPD In-Reply-To: <4C0EFCBC.4030200@berkeley.edu> References: <4C0EDADF.9060104@berkeley.edu> <4C0EFCBC.4030200@berkeley.edu> Message-ID: Check which version of numpy python is importing with "import numpy; print numpy.__file__". I had a similar question and this worked after I removed that installation of numpy. I think the enthought distro installs it somewhere else that has priority. On Tue, Jun 8, 2010 at 10:30 PM, Nick Matzke wrote: > Hi NumPy gurus, > > I have a slightly weird question. I would like to install > the PyCogent python library. However, this requires NumPy > 1.3 or higher. I only have NumPy 1.1.1, because I got it as > part of the Enthought Python Distribution (4.1) back in 2008. > > Now, when I download & install a new version of NumPy, the > install seems to work. However, the PyCogent installer can > still only see the NumPy 1.1.1 version. > > Any advice on what I might do to fix this? > > I would just update my version of EPD, which is > where my NumPy came from -- however, Enthought only has > available for academic download a version of EPD that works > on OS X 10.5 or later, and my Mac is a 10.4.11 and I'd > rather not completely reinstall the OS just to get one > little library to work. > > Any help much appreciated!! > > Cheers! > Nick > > > > -- > ==================================================== > Nicholas J. Matzke > Ph.D. Candidate, Graduate Student Researcher > Huelsenbeck Lab > Center for Theoretical Evolutionary Genomics > 4151 VLSB (Valley Life Sciences Building) > Department of Integrative Biology > University of California, Berkeley > > Graduate Student Instructor, IB200A > Principles of Phylogenetics: Systematics > http://ib.berkeley.edu/courses/ib200a/index.shtml > > Lab websites: > http://ib.berkeley.edu/people/lab_detail.php?lab=54 > http://fisher.berkeley.edu/cteg/hlab.html > Dept. personal page: > http://ib.berkeley.edu/people/students/person_detail.php?person=370 > Lab personal page: > http://fisher.berkeley.edu/cteg/members/matzke.html > Lab phone: 510-643-6299 > Dept. fax: 510-643-6264 > Cell phone: 510-301-0179 > Email: matzke at berkeley.edu > > Mailing address: > Department of Integrative Biology > 3060 VLSB #3140 > Berkeley, CA 94720-3140 > > ----------------------------------------------------- > "[W]hen people thought the earth was flat, they were wrong. > When people thought the earth was spherical, they were > wrong. But if you think that thinking the earth is spherical > is just as wrong as thinking the earth is flat, then your > view is wronger than both of them put together." > > Isaac Asimov (1989). "The Relativity of Wrong." The > Skeptical Inquirer, 14(1), 35-44. Fall 1989. > http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm > ==================================================== > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From matzke at berkeley.edu Tue Jun 8 23:31:07 2010 From: matzke at berkeley.edu (Nick Matzke) Date: Tue, 08 Jun 2010 20:31:07 -0700 Subject: [Numpy-discussion] updating NumPy in EPD In-Reply-To: References: <4C0EDADF.9060104@berkeley.edu> <4C0EFCBC.4030200@berkeley.edu> Message-ID: <4C0F0AFB.2050704@berkeley.edu> Jeff Hsu wrote: > Check which version of numpy python is importing with "import numpy; > printnumpy.__file__". I had a similar question and this worked after I > removed that installation of numpy. I think the enthought distro > installs it somewhere else that has priority. Ah, this was totally the trick! To summarize for posterity: ================================= Fix for an old version of NumPy installed with the EPD Enthough Python Distribution: 0. Figure out, what's your current version, and where is it located? ipython import numpy print numpy.__file__ numpy.__version__ 1. Download newest Numpy.tar.gz (1.4.1) from sourceforge, unzip 2. Install with: cd ~/Desktop/downloads/numpy-1.4.1 python setup.py (3 times -- configure, build, install) 3. delete or rename old Numpy, redirect IPython's location to new install: cd /Library/Frameworks/Python.framework/Versions/2.5.2001/lib/python2.5/site-packages/numpy-1.0.4.0004-py2.5-macosx-10.3-fat.egg mv numpy numpy_old ln -s /Library/Frameworks/Python.framework/Versions/2.5.2001/lib/python2.5/site-packages/numpy numpy Manual install of PyCogent: 1. download from sourceforge 2. working install: cd /bioinformatics/pythonstuff/PyCogent-1.4.1/ python setup.py build sudo python setup.py install python setup.py build_ext -if (no NumPy version error this time!) Finally: ipython import numpy dir(numpy) ======================== Thanks! Nick > On Tue, Jun 8, 2010 at 10:30 PM, Nick Matzke > wrote: > > Hi NumPy gurus, > > I have a slightly weird question. I would like to install > the PyCogent python library. However, this requires NumPy > 1.3 or higher. I only have NumPy 1.1.1, because I got it as > part of the Enthought Python Distribution (4.1) back in 2008. > > Now, when I download & install a new version of NumPy, the > install seems to work. However, the PyCogent installer can > still only see the NumPy 1.1.1 version. > > Any advice on what I might do to fix this? > > I would just update my version of EPD, which is > where my NumPy came from -- however, Enthought only has > available for academic download a version of EPD that works > on OS X 10.5 or later, and my Mac is a 10.4.11 and I'd > rather not completely reinstall the OS just to get one > little library to work. > > Any help much appreciated!! > > Cheers! > Nick > > > > -- > ==================================================== > Nicholas J. Matzke > Ph.D. Candidate, Graduate Student Researcher > Huelsenbeck Lab > Center for Theoretical Evolutionary Genomics > 4151 VLSB (Valley Life Sciences Building) > Department of Integrative Biology > University of California, Berkeley > > Graduate Student Instructor, IB200A > Principles of Phylogenetics: Systematics > http://ib.berkeley.edu/courses/ib200a/index.shtml > > Lab websites: > http://ib.berkeley.edu/people/lab_detail.php?lab=54 > http://fisher.berkeley.edu/cteg/hlab.html > Dept. personal page: > http://ib.berkeley.edu/people/students/person_detail.php?person=370 > Lab personal page: > http://fisher.berkeley.edu/cteg/members/matzke.html > Lab phone: 510-643-6299 > Dept. fax: 510-643-6264 > Cell phone: 510-301-0179 > Email: matzke at berkeley.edu > > Mailing address: > Department of Integrative Biology > 3060 VLSB #3140 > Berkeley, CA 94720-3140 > > ----------------------------------------------------- > "[W]hen people thought the earth was flat, they were wrong. > When people thought the earth was spherical, they were > wrong. But if you think that thinking the earth is spherical > is just as wrong as thinking the earth is flat, then your > view is wronger than both of them put together." > > Isaac Asimov (1989). "The Relativity of Wrong." The > Skeptical Inquirer, 14(1), 35-44. Fall 1989. > http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm > ==================================================== > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > > ------------------------------------------------------------------------ > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion -- ==================================================== Nicholas J. Matzke Ph.D. Candidate, Graduate Student Researcher Huelsenbeck Lab Center for Theoretical Evolutionary Genomics 4151 VLSB (Valley Life Sciences Building) Department of Integrative Biology University of California, Berkeley Graduate Student Instructor, IB200A Principles of Phylogenetics: Systematics http://ib.berkeley.edu/courses/ib200a/index.shtml Lab websites: http://ib.berkeley.edu/people/lab_detail.php?lab=54 http://fisher.berkeley.edu/cteg/hlab.html Dept. personal page: http://ib.berkeley.edu/people/students/person_detail.php?person=370 Lab personal page: http://fisher.berkeley.edu/cteg/members/matzke.html Lab phone: 510-643-6299 Dept. fax: 510-643-6264 Cell phone: 510-301-0179 Email: matzke at berkeley.edu Mailing address: Department of Integrative Biology 3060 VLSB #3140 Berkeley, CA 94720-3140 ----------------------------------------------------- "[W]hen people thought the earth was flat, they were wrong. When people thought the earth was spherical, they were wrong. But if you think that thinking the earth is spherical is just as wrong as thinking the earth is flat, then your view is wronger than both of them put together." Isaac Asimov (1989). "The Relativity of Wrong." The Skeptical Inquirer, 14(1), 35-44. Fall 1989. http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm ==================================================== From pgmdevlist at gmail.com Wed Jun 9 02:19:55 2010 From: pgmdevlist at gmail.com (Pierre GM) Date: Wed, 9 Jun 2010 02:19:55 -0400 Subject: [Numpy-discussion] typo in docs In-Reply-To: References: Message-ID: <06A33499-FAEC-4A6A-9385-64F27C3D140C@gmail.com> On Jun 8, 2010, at 4:37 AM, Sebastian Haase wrote: > another note: > http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#arrays-indexing-rec > should not say "record array" - because recarray a "special" in that > they can even access the named fields via attribute access rather > than using the dictionary-like syntax. Well, traditionally, any item of a structured array is called a record, so a ndarray w/ flexible dtype can also be called a record array... recarrays are just a particular case of structured (or record) arrays. From seb.haase at gmail.com Wed Jun 9 03:11:59 2010 From: seb.haase at gmail.com (Sebastian Haase) Date: Wed, 9 Jun 2010 09:11:59 +0200 Subject: [Numpy-discussion] typo in docs In-Reply-To: <06A33499-FAEC-4A6A-9385-64F27C3D140C@gmail.com> References: <06A33499-FAEC-4A6A-9385-64F27C3D140C@gmail.com> Message-ID: On Wed, Jun 9, 2010 at 8:19 AM, Pierre GM wrote: > On Jun 8, 2010, at 4:37 AM, Sebastian Haase wrote: >> another note: >> http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#arrays-indexing-rec >> should not say "record array" - because recarray a "special" in that >> they can even access the ?named fields via attribute access rather >> than using the dictionary-like syntax. > > Well, traditionally, any item of a structured array is called a record, so a ndarray w/ flexible dtype can also be called a record array... recarrays are just a particular case of structured (or record) arrays. I understand this argument, I was mostly concerned about "newcomers", who would lean to the understand "record array" and "recarray" as synonyms. A commentarial note in parenthesis could clarify this here. Something like: "(Beyond this feature the special class `recarray`(link to recarray page!) allows even to access columns by attribute access)" And on the recarray page one should also repeat what you just said, i.e. that historical name conventions allow calling any ndarray with flexible dtype a "record array"... Thanks, Sebastian Haase From faltet at pytables.org Wed Jun 9 03:16:33 2010 From: faltet at pytables.org (Francesc Alted) Date: Wed, 9 Jun 2010 09:16:33 +0200 Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? In-Reply-To: References: Message-ID: <201006090916.33952.faltet@pytables.org> A Tuesday 08 June 2010 23:34:09 Anne Archibald escrigu?: > > But the issue isn't one of efficiency, it's merely an arbitrarily chosen > > convention. (Does anyone know the history of the choices for FORTRAN and > > C, esp. why K&R chose the opposite of what was already in common usage in > > FORTRAN? Just curious?) > > This is speculation, not knowledge, but it's worth pointing out that > there are actually two ways to represent a multidimensional array in > C: as a block of memory with appropriate type definitions, or as an > array of pointers to subarrays. This latter approach is generally not > used for numerical work, but is potentially useful for other > applications. More relevantly, it already has a natural syntax; > a[2][3][5] naturally follows the chain of pointers and gives you what > you want; it also forces your last index to change most rapidly as you > walk through memory. So it would be very odd if multidimensional > arrays defined without pointers but using the same syntax were indexed > the other way around. (Let's ignore abominations like 5[3[2[a]]].) Hey, maybe it is only speculation, but this is the most convincing argument for breaking Fortran convention that I've ever heard (although I'm not sure if C was really breaking Fortran convention, as both languages should have born more or less in time, although I'd say that Fortran is a bit older). -- Francesc Alted From sole at esrf.fr Wed Jun 9 03:45:12 2010 From: sole at esrf.fr (=?ISO-8859-1?Q?=22V=2E_Armando_Sol=E9=22?=) Date: Wed, 09 Jun 2010 09:45:12 +0200 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? Message-ID: <4C0F4688.30604@esrf.fr> Hello, I am trying to solve a simple problem that becomes complex if I try to avoid looping. Let's say I have a 1D array, x, where x[i] <= x[i+1] Given a certain value delta, I would like to get a subset of x, named y, where (y[i+1] - y[i]) >= delta In a non-optimized and trivial way, the operation I would like to do is: y=[x[0]] for value in x: if (y[-1] -value) < delta: y.append(value) y=numpy.array(y) Any hint? Best regards, Armando From sole at esrf.fr Wed Jun 9 04:00:50 2010 From: sole at esrf.fr (=?ISO-8859-1?Q?=22V=2E_Armando_Sol=E9=22?=) Date: Wed, 09 Jun 2010 10:00:50 +0200 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? In-Reply-To: <4C0F4688.30604@esrf.fr> References: <4C0F4688.30604@esrf.fr> Message-ID: <4C0F4A32.7050405@esrf.fr> Well, this seems to be quite close to what I need y = numpy.cumsum((x[1:]-x[:-1])/delta).astype(numpy.int) i1 = numpy.nonzero(y[1:] > y[:-1]) y = numpy.take(x, i1) Sorry for the time taken! Best regards, Armando V. Armando Sol? wrote: > Hello, > > I am trying to solve a simple problem that becomes complex if I try to > avoid looping. > > Let's say I have a 1D array, x, where x[i] <= x[i+1] > > Given a certain value delta, I would like to get a subset of x, named y, > where (y[i+1] - y[i]) >= delta > > In a non-optimized and trivial way, the operation I would like to do is: > > y=[x[0]] > for value in x: > if (y[-1] -value) < delta: > y.append(value) > y=numpy.array(y) > > Any hint? > > Best regards, > > Armando > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > From mlist at re-factory.de Wed Jun 9 04:07:45 2010 From: mlist at re-factory.de (Robert Elsner) Date: Wed, 09 Jun 2010 10:07:45 +0200 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? In-Reply-To: <4C0F4A32.7050405@esrf.fr> References: <4C0F4688.30604@esrf.fr> <4C0F4A32.7050405@esrf.fr> Message-ID: <1276070865.1975.2.camel@robert-desktop> There might be an easier way to accomplish that y = x[(x[1:]-x[:-1]) >= delta] cheers Am Mittwoch, den 09.06.2010, 10:00 +0200 schrieb "V. Armando Sol?": > Well, this seems to be quite close to what I need > > y = numpy.cumsum((x[1:]-x[:-1])/delta).astype(numpy.int) > i1 = numpy.nonzero(y[1:] > y[:-1]) > y = numpy.take(x, i1) > > Sorry for the time taken! > > Best regards, > > Armando > > V. Armando Sol? wrote: > > Hello, > > > > I am trying to solve a simple problem that becomes complex if I try to > > avoid looping. > > > > Let's say I have a 1D array, x, where x[i] <= x[i+1] > > > > Given a certain value delta, I would like to get a subset of x, named y, > > where (y[i+1] - y[i]) >= delta > > > > In a non-optimized and trivial way, the operation I would like to do is: > > > > y=[x[0]] > > for value in x: > > if (y[-1] -value) < delta: > > y.append(value) > > y=numpy.array(y) > > > > Any hint? > > > > Best regards, > > > > Armando > > > > _______________________________________________ > > NumPy-Discussion mailing list > > NumPy-Discussion at scipy.org > > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > > > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion From faltet at pytables.org Wed Jun 9 04:08:12 2010 From: faltet at pytables.org (Francesc Alted) Date: Wed, 9 Jun 2010 10:08:12 +0200 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? In-Reply-To: <4C0F4A32.7050405@esrf.fr> References: <4C0F4688.30604@esrf.fr> <4C0F4A32.7050405@esrf.fr> Message-ID: <201006091008.12637.faltet@pytables.org> A Wednesday 09 June 2010 10:00:50 V. Armando Sol? escrigu?: > Well, this seems to be quite close to what I need > > y = numpy.cumsum((x[1:]-x[:-1])/delta).astype(numpy.int) > i1 = numpy.nonzero(y[1:] > y[:-1]) > y = numpy.take(x, i1) Perhaps this is a bit shorter: y = x[(x[1:] - x[:-1]) >= delta] -- Francesc Alted From mlist at re-factory.de Wed Jun 9 04:11:33 2010 From: mlist at re-factory.de (Robert Elsner) Date: Wed, 09 Jun 2010 10:11:33 +0200 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? In-Reply-To: <201006091008.12637.faltet@pytables.org> References: <4C0F4688.30604@esrf.fr> <4C0F4A32.7050405@esrf.fr> <201006091008.12637.faltet@pytables.org> Message-ID: <1276071093.1975.3.camel@robert-desktop> Hah beat you to it one minute ;) Am Mittwoch, den 09.06.2010, 10:08 +0200 schrieb Francesc Alted: > A Wednesday 09 June 2010 10:00:50 V. Armando Sol? escrigu?: > > Well, this seems to be quite close to what I need > > > > y = numpy.cumsum((x[1:]-x[:-1])/delta).astype(numpy.int) > > i1 = numpy.nonzero(y[1:] > y[:-1]) > > y = numpy.take(x, i1) > > Perhaps this is a bit shorter: > > y = x[(x[1:] - x[:-1]) >= delta] > From sole at esrf.fr Wed Jun 9 04:14:22 2010 From: sole at esrf.fr (=?ISO-8859-1?Q?=22V=2E_Armando_Sol=E9=22?=) Date: Wed, 09 Jun 2010 10:14:22 +0200 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? In-Reply-To: <201006091008.12637.faltet@pytables.org> References: <4C0F4688.30604@esrf.fr> <4C0F4A32.7050405@esrf.fr> <201006091008.12637.faltet@pytables.org> Message-ID: <4C0F4D5E.4070002@esrf.fr> That was my first thought, but that only warrants me to skip one point in x but not more than one. >>> x= numpy.arange(10.) >>> delta = 3 >>> print x[(x[1:] - x[:-1]) >= delta] [] instead of the requested [0, 4, 8] Armando Francesc Alted wrote: > A Wednesday 09 June 2010 10:00:50 V. Armando Sol? escrigu?: > >> Well, this seems to be quite close to what I need >> >> y = numpy.cumsum((x[1:]-x[:-1])/delta).astype(numpy.int) >> i1 = numpy.nonzero(y[1:] > y[:-1]) >> y = numpy.take(x, i1) >> > > Perhaps this is a bit shorter: > > y = x[(x[1:] - x[:-1]) >= delta] > > From faltet at pytables.org Wed Jun 9 04:16:00 2010 From: faltet at pytables.org (Francesc Alted) Date: Wed, 9 Jun 2010 10:16:00 +0200 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? In-Reply-To: <1276071093.1975.3.camel@robert-desktop> References: <4C0F4688.30604@esrf.fr> <201006091008.12637.faltet@pytables.org> <1276071093.1975.3.camel@robert-desktop> Message-ID: <201006091016.00999.faltet@pytables.org> Yeah, damn you! ;-) A Wednesday 09 June 2010 10:11:33 Robert Elsner escrigu?: > Hah beat you to it one minute ;) > > Am Mittwoch, den 09.06.2010, 10:08 +0200 schrieb Francesc Alted: > > A Wednesday 09 June 2010 10:00:50 V. Armando Sol? escrigu?: > > > Well, this seems to be quite close to what I need > > > > > > y = numpy.cumsum((x[1:]-x[:-1])/delta).astype(numpy.int) > > > i1 = numpy.nonzero(y[1:] > y[:-1]) > > > y = numpy.take(x, i1) > > > > Perhaps this is a bit shorter: > > > > y = x[(x[1:] - x[:-1]) >= delta] > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -- Francesc Alted From sole at esrf.fr Wed Jun 9 04:17:41 2010 From: sole at esrf.fr (=?UTF-8?B?IlYuIEFybWFuZG8gU29sw6ki?=) Date: Wed, 09 Jun 2010 10:17:41 +0200 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? In-Reply-To: <201006091016.00999.faltet@pytables.org> References: <4C0F4688.30604@esrf.fr> <201006091008.12637.faltet@pytables.org> <1276071093.1975.3.camel@robert-desktop> <201006091016.00999.faltet@pytables.org> Message-ID: <4C0F4E25.1040100@esrf.fr> Francesc Alted wrote: > Yeah, damn you! ;-) > I think you still have room for improvement ;-) From faltet at pytables.org Wed Jun 9 04:19:13 2010 From: faltet at pytables.org (Francesc Alted) Date: Wed, 9 Jun 2010 10:19:13 +0200 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? In-Reply-To: <4C0F4D5E.4070002@esrf.fr> References: <4C0F4688.30604@esrf.fr> <201006091008.12637.faltet@pytables.org> <4C0F4D5E.4070002@esrf.fr> Message-ID: <201006091019.13551.faltet@pytables.org> A Wednesday 09 June 2010 10:14:22 V. Armando Sol? escrigu?: > That was my first thought, but that only warrants me to skip one point > in x but not more than one. > > >>> x= numpy.arange(10.) > >>> delta = 3 > >>> print x[(x[1:] - x[:-1]) >= delta] > > [] > > instead of the requested [0, 4, 8] True! Wanting to be fast always makes you ending with the wrong result :-/ -- Francesc Alted From mlist at re-factory.de Wed Jun 9 04:31:07 2010 From: mlist at re-factory.de (Robert Elsner) Date: Wed, 09 Jun 2010 10:31:07 +0200 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? In-Reply-To: <4C0F4D5E.4070002@esrf.fr> References: <4C0F4688.30604@esrf.fr> <4C0F4A32.7050405@esrf.fr> <201006091008.12637.faltet@pytables.org> <4C0F4D5E.4070002@esrf.fr> Message-ID: <1276072267.1975.18.camel@robert-desktop> > Given a certain value delta, I would like to get a subset of x, named > y, > where (y[i+1] - y[i]) >= delta So in fact the problem is to find y such that (y[i(k)+n] - y[i(k)]) >= delta for n <= len(x) - 1 - i and i(0) = 0, i(k+1) = i(k) + n ? Well a loop or list comparison seems like a good choice to me. It is much more obvious at the expense of two LOCs. Did you profile the two possibilities and are they actually performance-critical? cheers Am Mittwoch, den 09.06.2010, 10:14 +0200 schrieb "V. Armando Sol?": > That was my first thought, but that only warrants me to skip one point > in x but not more than one. > > >>> x= numpy.arange(10.) > >>> delta = 3 > >>> print x[(x[1:] - x[:-1]) >= delta] > [] > > instead of the requested [0, 4, 8] > > Armando > > Francesc Alted wrote: > > A Wednesday 09 June 2010 10:00:50 V. Armando Sol? escrigu?: > > > >> Well, this seems to be quite close to what I need > >> > >> y = numpy.cumsum((x[1:]-x[:-1])/delta).astype(numpy.int) > >> i1 = numpy.nonzero(y[1:] > y[:-1]) > >> y = numpy.take(x, i1) > >> > > > > Perhaps this is a bit shorter: > > > > y = x[(x[1:] - x[:-1]) >= delta] > > > > > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion From mlist at re-factory.de Wed Jun 9 04:34:40 2010 From: mlist at re-factory.de (Robert Elsner) Date: Wed, 09 Jun 2010 10:34:40 +0200 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? In-Reply-To: <201006091019.13551.faltet@pytables.org> References: <4C0F4688.30604@esrf.fr> <201006091008.12637.faltet@pytables.org> <4C0F4D5E.4070002@esrf.fr> <201006091019.13551.faltet@pytables.org> Message-ID: <1276072480.1975.22.camel@robert-desktop> Well happens. The problem description was not 100% clear thus I still think your line did solve the problem. A simple misunderstanding. So what do I learn from it?: Always look at the code, not the description :D Am Mittwoch, den 09.06.2010, 10:19 +0200 schrieb Francesc Alted: > A Wednesday 09 June 2010 10:14:22 V. Armando Sol? escrigu?: > > That was my first thought, but that only warrants me to skip one point > > in x but not more than one. > > > > >>> x= numpy.arange(10.) > > >>> delta = 3 > > >>> print x[(x[1:] - x[:-1]) >= delta] > > > > [] > > > > instead of the requested [0, 4, 8] > > True! Wanting to be fast always makes you ending with the wrong result :-/ > From cournape at gmail.com Wed Jun 9 05:54:18 2010 From: cournape at gmail.com (David Cournapeau) Date: Wed, 9 Jun 2010 18:54:18 +0900 Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? In-Reply-To: <201006090916.33952.faltet@pytables.org> References: <201006090916.33952.faltet@pytables.org> Message-ID: On Wed, Jun 9, 2010 at 4:16 PM, Francesc Alted wrote: > A Tuesday 08 June 2010 23:34:09 Anne Archibald escrigu?: >> > But the issue isn't one of efficiency, it's merely an arbitrarily chosen >> > convention. ?(Does anyone know the history of the choices for FORTRAN and >> > C, esp. why K&R chose the opposite of what was already in common usage in >> > FORTRAN? ?Just curious?) >> >> This is speculation, not knowledge, but it's worth pointing out that >> there are actually two ways to represent a multidimensional array in >> C: as a block of memory with appropriate type definitions, or as an >> array of pointers to subarrays. This latter approach is generally not >> used for numerical work, but is potentially useful for other >> applications. More relevantly, it already has a natural syntax; >> a[2][3][5] naturally follows the chain of pointers and gives you what >> you want; it also forces your last index to change most rapidly as you >> walk through memory. So it would be very odd if multidimensional >> arrays defined without pointers but using the same syntax were indexed >> the other way around. (Let's ignore abominations like 5[3[2[a]]].) > > Hey, maybe it is only speculation, but this is the most convincing argument > for breaking Fortran convention that I've ever heard I think that arrays are just syntax on pointer is indeed the key reason for how C works here. Since a[b] really means a + b (which is why 5[a] and a[5] are the same), I don't see how to do it differently. > (although I'm not sure if > C was really breaking Fortran convention, as both languages should have born > more or less in time, although I'd say that Fortran is a bit older). Fortran is the oldest language I am aware of - certainly the oldest still widely in use. it is even older than Lisp, the first version is from 1956-57, and was proposed by Backus to IBM in 53 according to wikipedia. It was created at a time where many people thought the very idea of a compiler did not make any sense and was impossible. So yes, Fortran is *much* older than C. cheers, David From hanlie.pretorius at gmail.com Wed Jun 9 06:01:53 2010 From: hanlie.pretorius at gmail.com (Hanlie Pretorius) Date: Wed, 9 Jun 2010 12:01:53 +0200 Subject: [Numpy-discussion] Newby question: best way to create a list of indices Message-ID: Hi, I'm reading netCDF files using pupynere and I want to extract 22 values from a 1440x400 array. I have the indices of the values, they are: 92 832 92 833 91 832 91 833 91 834 90 835 90 832 90 833 90 834 89 832 89 833 89 834 88 832 88 833 88 834 87 832 87 833 87 834 86 832 86 833 86 834 85 833 What is the best way to store these indices so that I can programmatically extract the values? I have tried storing them in pairs ----- (index1='92,832') ----- and then I can use: ----- precipitation.data[int(index1[:2]),int(index1[3:])] ----- Is there a better way? The values are also not regular enough to use a nested loop, as far as I can see. Thanks Hanlie From scott.sinclair.za at gmail.com Wed Jun 9 09:55:18 2010 From: scott.sinclair.za at gmail.com (Scott Sinclair) Date: Wed, 9 Jun 2010 15:55:18 +0200 Subject: [Numpy-discussion] Newby question: best way to create a list of indices In-Reply-To: References: Message-ID: >On 9 June 2010 12:01, Hanlie Pretorius wrote: > I'm reading netCDF files using pupynere and I want to extract 22 > values from a 1440x400 array. I have the indices of the values, they > are: > > 92 ? ? ?832 > 92 ? ? ?833 > 91 ? ? ?832 > 91 ? ? ?833 ... > > What is the best way to store these indices so that I can > programmatically extract the values? I have tried storing them in > pairs > ----- > (index1='92,832') > ----- > and then I can use: > ----- > precipitation.data[int(index1[:2]),int(index1[3:])] > ----- > Is there a better way? The values are also not regular enough to use a > nested loop, as far as I can see. This is a use case where NumPy is very convenient. You can use fancy indexing >>> import numpy as np >>> a = np.random.random((1440, 400)) >>> rows = [832, 833, 832, 833] # first 4 rows >>> cols = [92, 92, 91, 91] # first 4 cols >>> a[rows, cols] array([ 0.56539344, 0.14711586, 0.40491459, 0.29997256]) >>> a[832, 92] # check 0.56539343852732926 Read more here http://docs.scipy.org/doc/numpy/user/basics.indexing.html#index-arrays Cheers, Scott From bsouthey at gmail.com Wed Jun 9 10:24:23 2010 From: bsouthey at gmail.com (Bruce Southey) Date: Wed, 09 Jun 2010 09:24:23 -0500 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? Message-ID: <4C0FA417.4080006@gmail.com> / > >/ Given a certain value delta, I would like to get a subset of x, named > />/ y, > />/ where (y[i+1] - y[i])>= delta > / > So in fact the problem is to find y such that > > (y[i(k)+n] - y[i(k)])>= delta > for n<= len(x) - 1 - i > and i(0) = 0, i(k+1) = i(k) + n > > ? Well a loop or list comparison seems like a good choice to me. It is > much more obvious at the expense of two LOCs. Did you profile the two > possibilities and are they actually performance-critical? > > cheers > > Am Mittwoch, den 09.06.2010, 10:14 +0200 schrieb "V. Armando Sol?": > >/ That was my first thought, but that only warrants me to skip one point > />/ in x but not more than one. > />/ > />/ >>> x= numpy.arange(10.) > />/ >>> delta = 3 > />/ >>> print x[(x[1:] - x[:-1])>= delta] > />/ [] > />/ > />/ instead of the requested [0, 4, 8] > />/ > />/ Armando > />/ > />/ Francesc Alted wrote: > />/ > A Wednesday 09 June 2010 10:00:50 V. Armando Sol? escrigu?: > />/ > > />/ >> Well, this seems to be quite close to what I need > />/ >> > />/ >> y = numpy.cumsum((x[1:]-x[:-1])/delta).astype(numpy.int) > />/ >> i1 = numpy.nonzero(y[1:]> y[:-1]) > />/ >> y = numpy.take(x, i1) > />/ >> > />/ > > />/ > Perhaps this is a bit shorter: > />/ > > />/ > y = x[(x[1:] - x[:-1])>= delta] > />/ > > />/ > > />/ > />/ > />/ _______________________________________________ > />/ NumPy-Discussion mailing list > />/ NumPy-Discussion at scipy.org > />/ http://mail.scipy.org/mailman/listinfo/numpy-discussion/ / Playing around with range/arange can be misleading as >> x[x%4==0] array([ 0., 4., 8.]) I don't know you really want because your first code >>> x= numpy.arange(10.) >>> delta=3 >>> y=[x[0]] >>> for value in x: ... if (y[-1] -value) < delta: ... y.append(value) ... >>> y [0.0, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0] Which is not [0, 4, 8]. Bruce -------------- next part -------------- An HTML attachment was scrubbed... URL: From mlist at re-factory.de Wed Jun 9 11:07:33 2010 From: mlist at re-factory.de (Robert Elsner) Date: Wed, 09 Jun 2010 17:07:33 +0200 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? In-Reply-To: <4C0FA417.4080006@gmail.com> References: <4C0FA417.4080006@gmail.com> Message-ID: <1276096053.1975.45.camel@robert-desktop> I suspect the author meant that instead (or a simple minus in front of the delta). Just posting because I wondered the same this morning after looking at it (after the first misunderstanding). It looks much better to me than the cumsum approach with its hidden test for true using .astype(numpy.int) x= numpy.arange(10.) delta=3 y=[x[0]] for value in x: if (value - y[-1]) > delta: y.append(value) print y Am Mittwoch, den 09.06.2010, 09:24 -0500 schrieb Bruce Southey: > > Playing around with range/arange can be misleading as > >> x[x%4==0] > array([ 0., 4., 8.]) > > I don't know you really want because your first code > >>> x= numpy.arange(10.) > >>> delta=3 > >>> y=[x[0]] > >>> for value in x: > ... if (y[-1] -value) < delta: > ... y.append(value) > ... > >>> y > [0.0, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0] > > Which is not [0, 4, 8]. > > Bruce From sole at esrf.fr Wed Jun 9 11:08:39 2010 From: sole at esrf.fr (Vicente Sole) Date: Wed, 09 Jun 2010 17:08:39 +0200 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? In-Reply-To: <4C0FA417.4080006@gmail.com> References: <4C0FA417.4080006@gmail.com> Message-ID: <20100609170839.tl49f8ulckswgc0g@wwwsec.esrf.fr> Correct. I thought just multiplying by -1 and inverting the logical condition would give me the same output. This makes exactly what I want: >>> x= numpy.arange(10.) >>> delta=3 >>> y=[x[0]] >>> for value in x: > ... if (value-y[-1]) < delta: > ... y.append(value) > ... >>> y [0., 4., 8.] Armando From ben.root at ou.edu Wed Jun 9 11:09:57 2010 From: ben.root at ou.edu (Benjamin Root) Date: Wed, 9 Jun 2010 10:09:57 -0500 Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? In-Reply-To: References: <201006090916.33952.faltet@pytables.org> Message-ID: > > I think that arrays are just syntax on pointer is indeed the key > reason for how C works here. Since a[b] really means a + b (which is > why 5[a] and a[5] are the same), I don't see how to do it differently. > Holy crap! You can do that in C?! -------------- next part -------------- An HTML attachment was scrubbed... URL: From robert.kern at gmail.com Wed Jun 9 11:17:03 2010 From: robert.kern at gmail.com (Robert Kern) Date: Wed, 9 Jun 2010 11:17:03 -0400 Subject: [Numpy-discussion] typo in docs In-Reply-To: <06A33499-FAEC-4A6A-9385-64F27C3D140C@gmail.com> References: <06A33499-FAEC-4A6A-9385-64F27C3D140C@gmail.com> Message-ID: On Wed, Jun 9, 2010 at 02:19, Pierre GM wrote: > On Jun 8, 2010, at 4:37 AM, Sebastian Haase wrote: >> another note: >> http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#arrays-indexing-rec >> should not say "record array" - because recarray a "special" in that >> they can even access the ?named fields via attribute access rather >> than using the dictionary-like syntax. > > Well, traditionally, any item of a structured array is called a record, so a ndarray w/ flexible dtype can also be called a record array... recarrays are just a particular case of structured (or record) arrays. In general usage, that is true. However, we have more or less settled on consistently using "structured array" in the documentation in order to avoid confusion with recarrays. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From sole at esrf.fr Wed Jun 9 11:24:26 2010 From: sole at esrf.fr (Vicente Sole) Date: Wed, 09 Jun 2010 17:24:26 +0200 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? In-Reply-To: <4C0FA417.4080006@gmail.com> References: <4C0FA417.4080006@gmail.com> Message-ID: <20100609172426.5gkg9sbx4c88sgow@wwwsec.esrf.fr> >> ? Well a loop or list comparison seems like a good choice to me. It is >> much more obvious at the expense of two LOCs. Did you profile the two >> possibilities and are they actually performance-critical? >> >> cheers >> The second is between 8 and ten times faster on my machine. import numpy import time x0 = numpy.arange(10000.) niter = 2000 # I expect between 10000 and 100000 def option1(x, delta=0.2): y = [x[0]] for value in x: if (value - y[-1]) > delta: y.append(value) return numpy.array(y) def option2(x, delta=0.2): y = numpy.cumsum((x[1:]-x[:-1])/delta).astype(numpy.int) i1 = numpy.nonzero(y[1:]> y[:-1]) return numpy.take(x, i1) t0 = time.time() for i in range(niter): t = option1(x0) print "Elapsed = ", time.time() - t0 t0 = time.time() for i in range(niter): t = option2(x0) print "Elapsed = ", time.time() - t0 From sole at esrf.fr Wed Jun 9 11:31:44 2010 From: sole at esrf.fr (Vicente Sole) Date: Wed, 09 Jun 2010 17:31:44 +0200 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? In-Reply-To: <20100609172426.5gkg9sbx4c88sgow@wwwsec.esrf.fr> References: <4C0FA417.4080006@gmail.com> <20100609172426.5gkg9sbx4c88sgow@wwwsec.esrf.fr> Message-ID: <20100609173144.f7wb5ruffo8cw0os@wwwsec.esrf.fr> It gets even worse with data similar to those I will be using. With: x0 = numpy.linspace(-1,1, 10000) niter = 2000 I get 24 seconds for option1 and 0.64 seconds for option2. Considering I expect between 5 and 50 times that number of iterations, the difference is already quite considerable. Armando Quoting Vicente Sole : >>> ? Well a loop or list comparison seems like a good choice to me. It is >>> much more obvious at the expense of two LOCs. Did you profile the two >>> possibilities and are they actually performance-critical? >>> >>> cheers >>> > > > The second is between 8 and ten times faster on my machine. > > import numpy > import time > x0 = numpy.arange(10000.) > niter = 2000 # I expect between 10000 and 100000 > > > def option1(x, delta=0.2): > y = [x[0]] > for value in x: > if (value - y[-1]) > delta: > y.append(value) > return numpy.array(y) > > def option2(x, delta=0.2): > y = numpy.cumsum((x[1:]-x[:-1])/delta).astype(numpy.int) > i1 = numpy.nonzero(y[1:]> y[:-1]) > return numpy.take(x, i1) > > > t0 = time.time() > for i in range(niter): > t = option1(x0) > print "Elapsed = ", time.time() - t0 > t0 = time.time() > for i in range(niter): > t = option2(x0) > print "Elapsed = ", time.time() - t0 > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From josef.pktd at gmail.com Wed Jun 9 11:37:48 2010 From: josef.pktd at gmail.com (josef.pktd at gmail.com) Date: Wed, 9 Jun 2010 11:37:48 -0400 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? In-Reply-To: <20100609173144.f7wb5ruffo8cw0os@wwwsec.esrf.fr> References: <4C0FA417.4080006@gmail.com> <20100609172426.5gkg9sbx4c88sgow@wwwsec.esrf.fr> <20100609173144.f7wb5ruffo8cw0os@wwwsec.esrf.fr> Message-ID: On Wed, Jun 9, 2010 at 11:31 AM, Vicente Sole wrote: > It gets even worse with data similar to those I will be using. > > With: > > x0 = numpy.linspace(-1,1, 10000) > niter = 2000 > > I get 24 seconds for option1 and 0.64 seconds for option2. > Considering I expect between 5 and 50 times that number of iterations, > the difference is already quite considerable. but the two options don't produce the same result in general, the cumsum version doesn't restart from zero, I think try x0 = np.random.randint(5,size=30).cumsum() with delta=3 I don't see a way around recursive looping Josef > Armando > > Quoting Vicente Sole : > >>>> ? Well a loop or list comparison seems like a good choice to me. It is >>>> much more obvious at the expense of two LOCs. Did you profile the two >>>> possibilities and are they actually performance-critical? >>>> >>>> cheers >>>> >> >> >> The second is between 8 and ten times faster on my machine. >> >> import numpy >> import time >> x0 = numpy.arange(10000.) >> niter = 2000 ? # I expect between 10000 and 100000 >> >> >> def option1(x, delta=0.2): >> ? ? ?y = [x[0]] >> ? ? ?for value in x: >> ? ? ? ? ?if (value - y[-1]) > delta: >> ? ? ? ? ? ? ?y.append(value) >> ? ? ?return numpy.array(y) >> >> def option2(x, delta=0.2): >> ? ? ?y = numpy.cumsum((x[1:]-x[:-1])/delta).astype(numpy.int) >> ? ? ?i1 = numpy.nonzero(y[1:]> ?y[:-1]) >> ? ? ?return numpy.take(x, i1) >> >> >> t0 = time.time() >> for i in range(niter): >> ? ? ?t = option1(x0) >> print "Elapsed = ", time.time() - t0 >> t0 = time.time() >> for i in range(niter): >> ? ? ?t = option2(x0) >> print "Elapsed = ", time.time() - t0 >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From sole at esrf.fr Wed Jun 9 11:47:59 2010 From: sole at esrf.fr (Vicente Sole) Date: Wed, 09 Jun 2010 17:47:59 +0200 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? In-Reply-To: References: <4C0FA417.4080006@gmail.com> <20100609172426.5gkg9sbx4c88sgow@wwwsec.esrf.fr> <20100609173144.f7wb5ruffo8cw0os@wwwsec.esrf.fr> Message-ID: <20100609174759.ogitupr0g0sw8444@wwwsec.esrf.fr> Quoting josef.pktd at gmail.com: > but the two options don't produce the same result in general, the > cumsum version doesn't restart from zero, I think > > try > x0 = np.random.randint(5,size=30).cumsum() > with delta=3 > > I don't see a way around recursive looping > The x0 data are already sorted. It was one of the premises of the first post. The solution I proposed makes "almost" what I need and I will most likely use it. It just misses the first value but takes the next one what is fine for my application. For the simple example, it returns [1, 5, 9] instead of [0, 4, 8] but it should not disturb me. Armando From josef.pktd at gmail.com Wed Jun 9 11:58:29 2010 From: josef.pktd at gmail.com (josef.pktd at gmail.com) Date: Wed, 9 Jun 2010 11:58:29 -0400 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? In-Reply-To: <20100609174759.ogitupr0g0sw8444@wwwsec.esrf.fr> References: <4C0FA417.4080006@gmail.com> <20100609172426.5gkg9sbx4c88sgow@wwwsec.esrf.fr> <20100609173144.f7wb5ruffo8cw0os@wwwsec.esrf.fr> <20100609174759.ogitupr0g0sw8444@wwwsec.esrf.fr> Message-ID: On Wed, Jun 9, 2010 at 11:47 AM, Vicente Sole wrote: > Quoting josef.pktd at gmail.com: > >> but the two options don't produce the same result in general, the >> cumsum version doesn't restart from zero, I think >> >> try >> x0 = np.random.randint(5,size=30).cumsum() >> with delta=3 >> >> I don't see a way around recursive looping >> > > The x0 data are already sorted. It was one of the premises of the first post. > > The solution I proposed makes "almost" what I need and I will most > likely use it. It just misses the first value but takes the next one > what is fine for my application. For the simple example, it returns > [1, 5, 9] instead of [0, 4, 8] but it should not disturb me. but unless you have pretty regular spacing, np.diff(y) can be anything e.g. in a random example, increments of y are if x0 is weakly increasing [[5 0 3 3 4 9 6 0 6 1 8 4]] and if x0 is strictly increasing [[ 2 4 7 1 9 9 5 4 6 2 5 11]] maybe you should check np.diff(y) for your case, in my random example >>> (np.diff(y1)>> (np.diff(y2) > Armando > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From cournape at gmail.com Wed Jun 9 12:00:31 2010 From: cournape at gmail.com (David Cournapeau) Date: Thu, 10 Jun 2010 01:00:31 +0900 Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? In-Reply-To: References: <201006090916.33952.faltet@pytables.org> Message-ID: On Thu, Jun 10, 2010 at 12:09 AM, Benjamin Root wrote: >> I think that arrays are just syntax on pointer is indeed the key >> reason for how C works here. Since a[b] really means a + b (which is >> why 5[a] and a[5] are the same), I don't see how to do it differently. > > Holy crap!? You can do that in C?! Yes: #include int main() { float a[2] = {1.0, 2.0}; printf("%f %f %f\n", a[1], *(a+1), 1[a]); } From cournape at gmail.com Wed Jun 9 12:00:31 2010 From: cournape at gmail.com (David Cournapeau) Date: Thu, 10 Jun 2010 01:00:31 +0900 Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? In-Reply-To: References: <201006090916.33952.faltet@pytables.org> Message-ID: On Thu, Jun 10, 2010 at 12:09 AM, Benjamin Root wrote: >> I think that arrays are just syntax on pointer is indeed the key >> reason for how C works here. Since a[b] really means a + b (which is >> why 5[a] and a[5] are the same), I don't see how to do it differently. > > Holy crap!? You can do that in C?! Yes: #include int main() { float a[2] = {1.0, 2.0}; printf("%f %f %f\n", a[1], *(a+1), 1[a]); } From d.l.goldsmith at gmail.com Wed Jun 9 12:08:06 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Wed, 9 Jun 2010 09:08:06 -0700 Subject: [Numpy-discussion] C vs. Fortran order -- misleading documentation? In-Reply-To: References: <201006090916.33952.faltet@pytables.org> Message-ID: On Wed, Jun 9, 2010 at 9:00 AM, David Cournapeau wrote: > On Thu, Jun 10, 2010 at 12:09 AM, Benjamin Root wrote: > >> I think that arrays are just syntax on pointer is indeed the key > >> reason for how C works here. Since a[b] really means a + b (which is > >> why 5[a] and a[5] are the same), I don't see how to do it differently. > > > > Holy crap! You can do that in C?! > > Yes: > > #include > > int main() > { > float a[2] = {1.0, 2.0}; > > printf("%f %f %f\n", a[1], *(a+1), 1[a]); > } > This is all _very_ educational (and I mean that sincerely), but can we please get back to the topic at hand ( :-) ). A specific proposal is on the table: we remove discussion of the whole C/Fortran ordering issue from basics.indexing.rst and "promote" it to a more advanced document TBD. DG -------------- next part -------------- An HTML attachment was scrubbed... URL: From sole at esrf.fr Wed Jun 9 12:39:57 2010 From: sole at esrf.fr (=?ISO-8859-1?Q?=22V=2E_Armando_Sol=E9=22?=) Date: Wed, 09 Jun 2010 18:39:57 +0200 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? In-Reply-To: References: <4C0FA417.4080006@gmail.com> <20100609172426.5gkg9sbx4c88sgow@wwwsec.esrf.fr> <20100609173144.f7wb5ruffo8cw0os@wwwsec.esrf.fr> <20100609174759.ogitupr0g0sw8444@wwwsec.esrf.fr> Message-ID: <4C0FC3DD.9040308@esrf.fr> Hi Josef, I do not need regular spacing of the original data. I only need them to be sorted and that I get it with a previous numpy call. Then the algorithm using the cumsum does the trick without a explicit loop. Armando From gregwh at gmail.com Wed Jun 9 12:49:34 2010 From: gregwh at gmail.com (greg whittier) Date: Wed, 9 Jun 2010 12:49:34 -0400 Subject: [Numpy-discussion] MemoryError with dot(A, A.T) where A is 800MB on 32-bit Vista Message-ID: When I run import numpy as np a = np.ones((400, 500000), dtype=np.float32) c = np.dot(a, a.T) produces a "MemoryError" on the 32-bit Enthought Python Distribution on 32-bit Vista. I understand this has to do with the 2GB limit with 32-bit python and the fact numpy wants a contiguous chunk of memory for an array. When I look at the memory use in the task manager though, it looks like it's trying to allocate enough for two 400x500000 arrays. I guess it's explicitly forming a.T. Is there a way to avoid this? I tried c = scipy.lib.blas.fblas.dgemm(1.0, a, a, trans_b=1) but I get the same result. It appears to be using a lot of extra memory. Isn't this just a wrapper to the blas library that passes a pointer to the memory location of a? Why does it seem to be generating the transpose? Is there a way to do A*A.T without two copies of A? Thanks, Greg From sole at esrf.fr Wed Jun 9 12:57:38 2010 From: sole at esrf.fr (=?ISO-8859-1?Q?=22V=2E_Armando_Sol=E9=22?=) Date: Wed, 09 Jun 2010 18:57:38 +0200 Subject: [Numpy-discussion] MemoryError with dot(A, A.T) where A is 800MB on 32-bit Vista In-Reply-To: References: Message-ID: <4C0FC802.9020806@esrf.fr> greg whittier wrote: > When I run > > import numpy as np > > a = np.ones((400, 500000), dtype=np.float32) > c = np.dot(a, a.T) > > produces a "MemoryError" on the 32-bit Enthought Python Distribution > on 32-bit Vista. I understand this has to do with the 2GB limit with > 32-bit python and the fact numpy wants a contiguous chunk of memory > for an array. When I look at the memory use in the task manager > though, it looks like it's trying to allocate enough for two > 400x500000 arrays. I guess it's explicitly forming a.T. Is there a > way to avoid this? I tried > > c = scipy.lib.blas.fblas.dgemm(1.0, a, a, trans_b=1) > > but I get the same result. It appears to be using a lot of extra > memory. Isn't this just a wrapper to the blas library that passes a > pointer to the memory location of a? Why does it seem to be > generating the transpose? Is there a way to do A*A.T without two > copies of A? > In such cases I create a matrix of zeros with the final size and I fill it with a loop of dot products of smaller chunks of the original a matrix. The MDP package also does something similar. Armando From gregwh at gmail.com Wed Jun 9 13:06:12 2010 From: gregwh at gmail.com (greg whittier) Date: Wed, 9 Jun 2010 13:06:12 -0400 Subject: [Numpy-discussion] MemoryError with dot(A, A.T) where A is 800MB on 32-bit Vista In-Reply-To: <4C0FC802.9020806@esrf.fr> References: <4C0FC802.9020806@esrf.fr> Message-ID: On Wed, Jun 9, 2010 at 12:57 PM, "V. Armando Sol?" wrote: > greg whittier wrote: >> a = np.ones((400, 500000), dtype=np.float32) >> c = np.dot(a, a.T) >> >> > In such cases I create a matrix of zeros with the final size and I fill > it with a loop of dot products of smaller chunks of the original a matrix. > > The MDP package also does something similar. > > Armando > Thanks. I've done that as a workaround, but I was hoping there was a more elegant, "native" solution. Thanks for the pointer to MDP by the way! Looks very interesting. From aisaac at american.edu Wed Jun 9 13:16:20 2010 From: aisaac at american.edu (Alan G Isaac) Date: Wed, 09 Jun 2010 13:16:20 -0400 Subject: [Numpy-discussion] MemoryError with dot(A, A.T) where A is 800MB on 32-bit Vista In-Reply-To: References: Message-ID: <4C0FCC64.9010101@american.edu> On 6/9/2010 12:49 PM, greg whittier wrote: > Is there a way to do A*A.T without two > copies of A? Does this do what you want? Alan Isaac >>> a array([[0, 1], [2, 3], [4, 5], [6, 7], [8, 9]]) >>> np.tensordot(a,a,axes=(-1,-1)) array([[ 1, 3, 5, 7, 9], [ 3, 13, 23, 33, 43], [ 5, 23, 41, 59, 77], [ 7, 33, 59, 85, 111], [ 9, 43, 77, 111, 145]]) From saintmlx at apstat.com Wed Jun 9 13:26:15 2010 From: saintmlx at apstat.com (Xavier Saint-Mleux) Date: Wed, 09 Jun 2010 13:26:15 -0400 Subject: [Numpy-discussion] MemoryError with dot(A, A.T) where A is 800MB on 32-bit Vista In-Reply-To: <4C0FCC64.9010101@american.edu> References: <4C0FCC64.9010101@american.edu> Message-ID: <4C0FCEB7.4030904@apstat.com> Alan G Isaac wrote: > On 6/9/2010 12:49 PM, greg whittier wrote: > >> Is there a way to do A*A.T without two >> copies of A? >> > > Does this do what you want? > Alan Isaac > > >>>> a >>>> > array([[0, 1], > [2, 3], > [4, 5], > [6, 7], > [8, 9]]) > >>>> np.tensordot(a,a,axes=(-1,-1)) >>>> > array([[ 1, 3, 5, 7, 9], > [ 3, 13, 23, 33, 43], > [ 5, 23, 41, 59, 77], > [ 7, 33, 59, 85, 111], > [ 9, 43, 77, 111, 145]]) > In my case, this still uses twice as much memory as should be needed, just like using dot. Xavier > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From gregwh at gmail.com Wed Jun 9 13:29:11 2010 From: gregwh at gmail.com (greg whittier) Date: Wed, 9 Jun 2010 13:29:11 -0400 Subject: [Numpy-discussion] MemoryError with dot(A, A.T) where A is 800MB on 32-bit Vista In-Reply-To: <4C0FCC64.9010101@american.edu> References: <4C0FCC64.9010101@american.edu> Message-ID: On Wed, Jun 9, 2010 at 1:16 PM, Alan G Isaac wrote: > On 6/9/2010 12:49 PM, greg whittier wrote: >> Is there a way to do A*A.T without two >> copies of A? > > Does this do what you want? > Alan Isaac >>>> np.tensordot(a,a,axes=(-1,-1)) This seems to suffer from the same problem. A temporary array is being creating somewhere causing a MemoryError. I did learn a new function though! Thanks, Greg From wesmckinn at gmail.com Wed Jun 9 16:40:46 2010 From: wesmckinn at gmail.com (Wes McKinney) Date: Wed, 9 Jun 2010 16:40:46 -0400 Subject: [Numpy-discussion] Tools / data structures for statistical analysis and related applications Message-ID: Dear all, We've been having discussions on the pystatsmodels mailing list recently regarding data structures and other tools for statistics / other related data analysis applications. I believe we're trying to answer a number of different, but related questions: 1. What are the sets of functionality (and use cases) which would be desirable for the scientific (or statistical) Python programmer? Things like groupby (http://projects.scipy.org/numpy/browser/trunk/doc/neps/groupby_additions.rst) fall into this category. 2. Do we really need to build custom data structures (larry, pandas, tabular, etc.) or are structured ndarrays enough? (My conclusion is that we do need to, but others might disagree). If so, how much performance are we willing to trade for functionality? 3. What needs to happen for Python / NumPy / SciPy to really "break in" to the statistical computing field? In other words, could a Python-based stack one day be a competitive alternative to R? These are just some ideas for collecting community input. Of course as we're all working in different problem domains, the needs of users will vary quite a bit across the board. We've started to collect some thoughts, links, etc. on the scipy.org wiki: http://scipy.org/StatisticalDataStructures A lot of what's there already is commentary and comparison on the functionality provided by pandas and la / larry (since Keith and I wrote most of the stuff there). But I think we're trying to identify more generally the things that are lacking in NumPy/SciPy and related libraries for particular applications. At minimum it should be good fodder for the SciPy conferences this year and afterward (I am submitting a paper on this subject based on my experiences). - Wes From bsouthey at gmail.com Wed Jun 9 16:49:38 2010 From: bsouthey at gmail.com (Bruce Southey) Date: Wed, 09 Jun 2010 15:49:38 -0500 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? In-Reply-To: <20100609172426.5gkg9sbx4c88sgow@wwwsec.esrf.fr> References: <4C0FA417.4080006@gmail.com> <20100609172426.5gkg9sbx4c88sgow@wwwsec.esrf.fr> Message-ID: <4C0FFE62.5060109@gmail.com> On 06/09/2010 10:24 AM, Vicente Sole wrote: >>> ? Well a loop or list comparison seems like a good choice to me. It is >>> much more obvious at the expense of two LOCs. Did you profile the two >>> possibilities and are they actually performance-critical? >>> >>> cheers >>> >>> > > The second is between 8 and ten times faster on my machine. > > import numpy > import time > x0 = numpy.arange(10000.) > niter = 2000 # I expect between 10000 and 100000 > > > def option1(x, delta=0.2): > y = [x[0]] > for value in x: > if (value - y[-1])> delta: > y.append(value) > return numpy.array(y) > > def option2(x, delta=0.2): > y = numpy.cumsum((x[1:]-x[:-1])/delta).astype(numpy.int) > i1 = numpy.nonzero(y[1:]> y[:-1]) > return numpy.take(x, i1) > > > t0 = time.time() > for i in range(niter): > t = option1(x0) > print "Elapsed = ", time.time() - t0 > t0 = time.time() > for i in range(niter): > t = option2(x0) > print "Elapsed = ", time.time() - t0 > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > For integer arguments for delta, I don't see any different between using option1 and using the '%' operator. >>> (x0[(x0*10)%2==0]-option1(x0)).sum() 0.0 Also option2 gives a different result than option1 so these are not equivalent functions. You can see that from the shapes >>> option2(x0).shape (1, 9998) >>> option1(x0).shape (10000,) >>> ((option1(x0)[:9998])-option2(x0)).sum() 0.0 So, allowing for shape difference, option2 is the same for most of output from option1 but it is still smaller than option1. Probably the main reason for the speed difference is that option2 is virtually pure numpy (and hence done in C) and option1 is using a lot of array lookups that are always slow. So keep it in numpy as most as possible. Bruce -------------- next part -------------- An HTML attachment was scrubbed... URL: From jmccampbell at enthought.com Wed Jun 9 19:27:50 2010 From: jmccampbell at enthought.com (Jason McCampbell) Date: Wed, 9 Jun 2010 18:27:50 -0500 Subject: [Numpy-discussion] NumPy re-factoring project Message-ID: Hi everyone, This is a follow-up to Travis's message on the re-factoring project from May 25th and the subsequent discussion. For background, I am a developer at Enthought working on the NumPy re-factoring project with Travis and Scott. The immediate goal from our perspective is to re-factor the core of NumPy into two architectural layers: a true core that is CPython-independent and an interface layer that binds the core to CPython. A design proposal is now posted on the NumPy developer wiki: http://projects.scipy.org/numpy/wiki/NumPyRefactoring The write-up is a fairly high-level description of what we think the split will look like and how to deal with issues such as memory management. There are also placeholders listed as 'TBD' where more investigation is still needed and will be filled in over time. At the end of the page there is a section on the C API with a link to a function-by-function breakdown of the C API and whether the function belongs in the interface layer, the core, or need to be split between the two. All functions listed as 'core' will continue to have an interface-level wrapper with the same name to ensure source-compatibility. All of this, particularly the interface/core function designations, is a first analysis and in flux. The goal is to get the information out and elicit discussion and feedback from the community. Best regards, Jason Jason McCampbell Enthought, Inc. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bino at indoakses-online.com Thu Jun 10 00:16:12 2010 From: bino at indoakses-online.com (Bino Oetomo) Date: Thu, 10 Jun 2010 11:16:12 +0700 Subject: [Numpy-discussion] yet another scipy Install problem Message-ID: <4C10670C.2070603@indoakses-online.com> Dear All .. I tried to install numpy and scipy ... basicaly I want to use OMPC I Installed SuiteSparse : ---START--- bino at bino:~/mydoc/buku/arduino/scipy/scipy-0.8.0b1$ ls -l /usr/local/lib/lib*a -rw-r--r-- 1 root root 51860 2010-06-10 10:59 /usr/local/lib/libamd.2.2.1.a lrwxrwxrwx 1 root root 14 2010-06-10 10:59 /usr/local/lib/libamd.a -> libamd.2.2.1.a -rw-r--r-- 1 root root 9466 2010-06-10 10:59 /usr/local/lib/libbtf.1.1.1.a lrwxrwxrwx 1 root root 14 2010-06-10 10:59 /usr/local/lib/libbtf.a -> libbtf.1.1.1.a -rw-r--r-- 1 root root 53848 2010-06-10 10:59 /usr/local/lib/libcamd.2.2.1.a lrwxrwxrwx 1 root root 15 2010-06-10 10:59 /usr/local/lib/libcamd.a -> libcamd.2.2.1.a -rw-r--r-- 1 root root 38264 2010-06-10 10:59 /usr/local/lib/libccolamd.2.7.2.a lrwxrwxrwx 1 root root 18 2010-06-10 10:59 /usr/local/lib/libccolamd.a -> libccolamd.2.7.2.a -rw-r--r-- 1 root root 1032104 2010-06-10 10:59 /usr/local/lib/libcholmod.1.7.2.a lrwxrwxrwx 1 root root 18 2010-06-10 10:59 /usr/local/lib/libcholmod.a -> libcholmod.1.7.2.a -rw-r--r-- 1 root root 26072 2010-06-10 10:59 /usr/local/lib/libcolamd.2.7.2.a lrwxrwxrwx 1 root root 17 2010-06-10 10:59 /usr/local/lib/libcolamd.a -> libcolamd.2.7.2.a -rw-r--r-- 1 root root 361906 2010-06-10 10:59 /usr/local/lib/libcxsparse.2.2.4.a lrwxrwxrwx 1 root root 19 2010-06-10 10:59 /usr/local/lib/libcxsparse.a -> libcxsparse.2.2.4.a -rw-r--r-- 1 root root 468572 2010-06-10 00:17 /usr/local/lib/libfblas.a -rw-r--r-- 1 root root 6227200 2010-06-10 00:00 /usr/local/lib/libflapack.a -rw-r--r-- 1 root root 475472 2010-05-20 10:16 /usr/local/lib/libgarmin.a -rw-r--r-- 1 root root 216520 2010-06-10 10:59 /usr/local/lib/libklu.1.1.1.a lrwxrwxrwx 1 root root 14 2010-06-10 10:59 /usr/local/lib/libklu.a -> libklu.1.1.1.a -rw-r--r-- 1 root root 5548 2010-06-10 10:59 /usr/local/lib/libldl.2.0.2.a lrwxrwxrwx 1 root root 14 2010-06-10 10:59 /usr/local/lib/libldl.a -> libldl.2.0.2.a -rw-r--r-- 1 root root 28642 2010-06-10 10:59 /usr/local/lib/librbio.2.0.0.a lrwxrwxrwx 1 root root 15 2010-06-10 10:59 /usr/local/lib/librbio.a -> librbio.2.0.0.a -rw-r--r-- 1 root root 255520 2010-06-10 10:59 /usr/local/lib/libspqr.1.2.0.a lrwxrwxrwx 1 root root 15 2010-06-10 10:59 /usr/local/lib/libspqr.a -> libspqr.1.2.0.a -rw-r--r-- 1 root root 1412 2010-06-10 10:59 /usr/local/lib/libufconfig.3.5.0.a lrwxrwxrwx 1 root root 19 2010-06-10 10:59 /usr/local/lib/libufconfig.a -> libufconfig.3.5.0.a -rw-r--r-- 1 root root 1064532 2010-06-10 10:59 /usr/local/lib/libumfpack.5.5.0.a lrwxrwxrwx 1 root root 18 2010-06-10 10:59 /usr/local/lib/libumfpack.a -> libumfpack.5.5.0.a ---------------- bino at bino:~/mydoc/buku/arduino/scipy/scipy-0.8.0b1$ ls -l /usr/local/include/ total 736 -rw-r--r-- 1 root root 17293 2010-06-10 10:59 amd.h -rw-r--r-- 1 root root 12129 2010-06-10 10:59 btf.h -rw-r--r-- 1 root root 16975 2010-06-10 10:59 camd.h -rw-r--r-- 1 root root 10713 2010-06-10 10:59 ccolamd.h -rw-r--r-- 1 root root 13990 2010-06-10 10:59 cholmod_blas.h -rw-r--r-- 1 root root 14685 2010-06-10 10:59 cholmod_check.h -rw-r--r-- 1 root root 20091 2010-06-10 10:59 cholmod_cholesky.h -rw-r--r-- 1 root root 9380 2010-06-10 10:59 cholmod_complexity.h -rw-r--r-- 1 root root 3162 2010-06-10 10:59 cholmod_config.h -rw-r--r-- 1 root root 96574 2010-06-10 10:59 cholmod_core.h -rw-r--r-- 1 root root 3858 2010-06-10 10:59 cholmod.h -rw-r--r-- 1 root root 1710 2010-06-10 10:59 cholmod_io64.h -rw-r--r-- 1 root root 8606 2010-06-10 10:59 cholmod_matrixops.h -rw-r--r-- 1 root root 12969 2010-06-10 10:59 cholmod_modify.h -rw-r--r-- 1 root root 8850 2010-06-10 10:59 cholmod_partition.h -rw-r--r-- 1 root root 6435 2010-06-10 10:59 cholmod_supernodal.h -rw-r--r-- 1 root root 9217 2010-06-10 10:59 cholmod_template.h -rw-r--r-- 1 root root 8666 2010-06-10 10:59 colamd.h -rw-r--r-- 1 root root 30977 2010-06-10 10:59 cs.h -rw-r--r-- 1 root root 29336 2010-06-10 10:59 klu.h -rw-r--r-- 1 root root 3934 2010-06-10 10:59 ldl.h -rw-r--r-- 1 root root 6150 2010-05-20 10:16 libgarmin.h -rw-r--r-- 1 root root 11648 2010-06-10 10:59 RBio.h -rw-r--r-- 1 root root 34283 2010-06-10 10:59 spqr.hpp -rw-r--r-- 1 root root 9652 2010-06-10 10:59 SuiteSparseQR_C.h -rw-r--r-- 1 root root 2906 2010-06-10 10:59 SuiteSparseQR_definitions.h -rw-r--r-- 1 root root 24518 2010-06-10 10:59 SuiteSparseQR.hpp -rw-r--r-- 1 root root 5467 2010-06-10 10:59 UFconfig.h -rw-r--r-- 1 root root 3712 2010-06-10 10:59 umfpack_col_to_triplet.h -rw-r--r-- 1 root root 1892 2010-06-10 10:59 umfpack_defaults.h -rw-r--r-- 1 root root 1690 2010-06-10 10:59 umfpack_free_numeric.h -rw-r--r-- 1 root root 1708 2010-06-10 10:59 umfpack_free_symbolic.h -rw-r--r-- 1 root root 6270 2010-06-10 10:59 umfpack_get_determinant.h -rw-r--r-- 1 root root 3989 2010-06-10 10:59 umfpack_get_lunz.h -rw-r--r-- 1 root root 9019 2010-06-10 10:59 umfpack_get_numeric.h -rw-r--r-- 1 root root 13040 2010-06-10 10:59 umfpack_get_symbolic.h -rw-r--r-- 1 root root 1029 2010-06-10 10:59 umfpack_global.h -rw-r--r-- 1 root root 19268 2010-06-10 10:59 umfpack.h -rw-r--r-- 1 root root 2585 2010-06-10 10:59 umfpack_load_numeric.h -rw-r--r-- 1 root root 2612 2010-06-10 10:59 umfpack_load_symbolic.h -rw-r--r-- 1 root root 23181 2010-06-10 10:59 umfpack_numeric.h -rw-r--r-- 1 root root 7500 2010-06-10 10:59 umfpack_qsymbolic.h -rw-r--r-- 1 root root 2197 2010-06-10 10:59 umfpack_report_control.h -rw-r--r-- 1 root root 2639 2010-06-10 10:59 umfpack_report_info.h -rw-r--r-- 1 root root 6997 2010-06-10 10:59 umfpack_report_matrix.h -rw-r--r-- 1 root root 3612 2010-06-10 10:59 umfpack_report_numeric.h -rw-r--r-- 1 root root 3520 2010-06-10 10:59 umfpack_report_perm.h -rw-r--r-- 1 root root 2563 2010-06-10 10:59 umfpack_report_status.h -rw-r--r-- 1 root root 3551 2010-06-10 10:59 umfpack_report_symbolic.h -rw-r--r-- 1 root root 4893 2010-06-10 10:59 umfpack_report_triplet.h -rw-r--r-- 1 root root 4507 2010-06-10 10:59 umfpack_report_vector.h -rw-r--r-- 1 root root 2243 2010-06-10 10:59 umfpack_save_numeric.h -rw-r--r-- 1 root root 2274 2010-06-10 10:59 umfpack_save_symbolic.h -rw-r--r-- 1 root root 3161 2010-06-10 10:59 umfpack_scale.h -rw-r--r-- 1 root root 10693 2010-06-10 10:59 umfpack_solve.h -rw-r--r-- 1 root root 21739 2010-06-10 10:59 umfpack_symbolic.h -rw-r--r-- 1 root root 2225 2010-06-10 10:59 umfpack_tictoc.h -rw-r--r-- 1 root root 1719 2010-06-10 10:59 umfpack_timer.h -rw-r--r-- 1 root root 7938 2010-06-10 10:59 umfpack_transpose.h -rw-r--r-- 1 root root 10442 2010-06-10 10:59 umfpack_triplet_to_col.h -rw-r--r-- 1 root root 5542 2010-06-10 10:59 umfpack_wsolve.h ---STOP--- Environtment : LAPACK_SRC=/home/bino/mydoc/buku/arduino/scipy/lapack/lapack-3.2.1/SRC/ bino at bino:~/mydoc/buku/arduino/scipy/scipy-0.8.0b1$ env |grep BLAS BLAS_SRC=/home/bino/mydoc/buku/arduino/scipy/blas/BLAS/ But I still got no success installing scipy Here is the error msg : ----START---- bino at bino:~/mydoc/buku/arduino/scipy/scipy-0.8.0b1$ ./setup.py build Warning: No configuration returned, assuming unavailable. blas_opt_info: blas_mkl_info: libraries mkl,vml,guide not found in /usr/local/lib NOT AVAILABLE atlas_blas_threads_info: Setting PTATLAS=ATLAS libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib NOT AVAILABLE atlas_blas_info: libraries f77blas,cblas,atlas not found in /usr/local/lib NOT AVAILABLE /usr/lib/python2.6/dist-packages/numpy/distutils/system_info.py:1340: UserWarning: Atlas (http://math-atlas.sourceforge.net/) libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [atlas]) or by setting the ATLAS environment variable. warnings.warn(AtlasNotFoundError.__doc__) blas_info: libraries blas not found in /usr/local/lib NOT AVAILABLE /usr/lib/python2.6/dist-packages/numpy/distutils/system_info.py:1349: UserWarning: Blas (http://www.netlib.org/blas/) libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [blas]) or by setting the BLAS environment variable. warnings.warn(BlasNotFoundError.__doc__) blas_src_info: FOUND: sources = ['/home/bino/mydoc/buku/arduino/scipy/blas/BLAS/caxpy.f', '/home/bino/mydoc/buku/arduino/scipy/blas/BLAS/csscal.f', '/ho... ... ...mm.f', '/home/bino/mydoc/buku/arduino/scipy/blas/BLAS/zsymm.f', '/home/bino/mydoc/buku/arduino/scipy/blas/BLAS/ztrsm.f'] language = f77 FOUND: libraries = [('fblas_src', {'sources': ['/home/bino/mydoc/buku/arduino/scipy/blas/BLAS/caxpy.f', '/home/bino/mydoc/buku/arduino/scip... ... ...oc/buku/arduino/scipy/blas/BLAS/zsymm.f', '/home/bino/mydoc/buku/arduino/scipy/blas/BLAS/ztrsm.f'], 'language': 'f77'})] define_macros = [('NO_ATLAS_INFO', 1)] lapack_opt_info: lapack_mkl_info: mkl_info: libraries mkl,vml,guide not found in /usr/local/lib NOT AVAILABLE NOT AVAILABLE atlas_threads_info: Setting PTATLAS=ATLAS libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib libraries lapack_atlas not found in /usr/local/lib numpy.distutils.system_info.atlas_threads_info NOT AVAILABLE atlas_info: libraries f77blas,cblas,atlas not found in /usr/local/lib libraries lapack_atlas not found in /usr/local/lib numpy.distutils.system_info.atlas_info NOT AVAILABLE /usr/lib/python2.6/dist-packages/numpy/distutils/system_info.py:1247: UserWarning: Atlas (http://math-atlas.sourceforge.net/) libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [atlas]) or by setting the ATLAS environment variable. warnings.warn(AtlasNotFoundError.__doc__) lapack_info: libraries lapack not found in /usr/local/lib NOT AVAILABLE /usr/lib/python2.6/dist-packages/numpy/distutils/system_info.py:1258: UserWarning: Lapack (http://www.netlib.org/lapack/) libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [lapack]) or by setting the LAPACK environment variable. warnings.warn(LapackNotFoundError.__doc__) lapack_src_info: FOUND: sources = ['/home/bino/mydoc/buku/arduino/scipy/lapack/lapack-3.2.1/SRC/sbdsdc.f', '/home/bino/mydoc/buku/arduino/scipy/lapack/lap... ... ...apack-3.2.1/SRC/../INSTALL/slamch.f', '/home/bino/mydoc/buku/arduino/scipy/lapack/lapack-3.2.1/SRC/../INSTALL/dlamch.f'] language = f77 /usr/lib/python2.6/dist-packages/numpy/distutils/system_info.py:1271: UserWarning: Blas (http://www.netlib.org/blas/) libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [blas]) or by setting the BLAS environment variable. warnings.warn(BlasNotFoundError.__doc__) FOUND: libraries = [('flapack_src', {'sources': ['/home/bino/mydoc/buku/arduino/scipy/lapack/lapack-3.2.1/SRC/sbdsdc.f', '/home/bino/mydoc/... ... ...oc/buku/arduino/scipy/blas/BLAS/zsymm.f', '/home/bino/mydoc/buku/arduino/scipy/blas/BLAS/ztrsm.f'], 'language': 'f77'})] define_macros = [('NO_ATLAS_INFO', 1)] umfpack_info: amd_info: FOUND: libraries = ['amd'] library_dirs = ['/usr/local/lib'] swig_opts = ['-I/usr/local/include'] define_macros = [('SCIPY_AMD_H', None)] include_dirs = ['/usr/local/include'] FOUND: libraries = ['umfpack', 'amd'] library_dirs = ['/usr/local/lib'] swig_opts = ['-I/usr/local/include', '-I/usr/local/include'] define_macros = [('SCIPY_UMFPACK_H', None), ('SCIPY_AMD_H', None)] include_dirs = ['/usr/local/include'] Traceback (most recent call last): File "./setup.py", line 160, in setup_package() File "./setup.py", line 152, in setup_package configuration=configuration ) File "/usr/lib/python2.6/dist-packages/numpy/distutils/core.py", line 150, in setup config = configuration() File "./setup.py", line 118, in configuration config.add_subpackage('scipy') File "/usr/lib/python2.6/dist-packages/numpy/distutils/misc_util.py", line 851, in add_subpackage caller_level = 2) File "/usr/lib/python2.6/dist-packages/numpy/distutils/misc_util.py", line 834, in get_subpackage caller_level = caller_level + 1) File "/usr/lib/python2.6/dist-packages/numpy/distutils/misc_util.py", line 781, in _get_configuration_from_setup_py config = setup_module.configuration(*args) File "scipy/setup.py", line 20, in configuration config.add_subpackage('special') File "/usr/lib/python2.6/dist-packages/numpy/distutils/misc_util.py", line 851, in add_subpackage caller_level = 2) File "/usr/lib/python2.6/dist-packages/numpy/distutils/misc_util.py", line 834, in get_subpackage caller_level = caller_level + 1) File "/usr/lib/python2.6/dist-packages/numpy/distutils/misc_util.py", line 766, in _get_configuration_from_setup_py ('.py', 'U', 1)) File "scipy/special/setup.py", line 7, in from numpy.distutils.misc_util import get_numpy_include_dirs, get_info ImportError: cannot import name get_info ----STOP------ Kindly please tell me how to fix it. My system is based on ubuntu jaunty Sincerely -bino- From sole at esrf.fr Thu Jun 10 03:00:38 2010 From: sole at esrf.fr (=?ISO-8859-1?Q?=22V=2E_Armando_Sol=E9=22?=) Date: Thu, 10 Jun 2010 09:00:38 +0200 Subject: [Numpy-discussion] Simple problem. Is it possible without a loop? In-Reply-To: <4C0FFE62.5060109@gmail.com> References: <4C0FA417.4080006@gmail.com> <20100609172426.5gkg9sbx4c88sgow@wwwsec.esrf.fr> <4C0FFE62.5060109@gmail.com> Message-ID: <4C108D96.5060704@esrf.fr> Hi Bruce, In the context of the actual problem, I have a long series of non-equidistant and irregularly spaced float numbers and I have to take values between given limits with the constraint of keeping a minimal separation. Option 2 just misses the first value of the input array if it is within the limits, but for my purposes (perform a fit with a given function) is acceptable. I said "this seems to be quite close to what I need" because I do not like missing the first point because that gives equivalent but not exactly the same solutions. By the way, thanks for the % hint. That should make the .astype(int) disappear and make the expression look nicer. Armando Bruce Southey wrote: > On 06/09/2010 10:24 AM, Vicente Sole wrote: >>>> ? Well a loop or list comparison seems like a good choice to me. It is >>>> much more obvious at the expense of two LOCs. Did you profile the two >>>> possibilities and are they actually performance-critical? >>>> >>>> cheers >>>> >>>> >> The second is between 8 and ten times faster on my machine. >> >> import numpy >> import time >> x0 = numpy.arange(10000.) >> niter = 2000 # I expect between 10000 and 100000 >> >> >> def option1(x, delta=0.2): >> y = [x[0]] >> for value in x: >> if (value - y[-1]) > delta: >> y.append(value) >> return numpy.array(y) >> >> def option2(x, delta=0.2): >> y = numpy.cumsum((x[1:]-x[:-1])/delta).astype(numpy.int) >> i1 = numpy.nonzero(y[1:]> y[:-1]) >> return numpy.take(x, i1) >> >> >> t0 = time.time() >> for i in range(niter): >> t = option1(x0) >> print "Elapsed = ", time.time() - t0 >> t0 = time.time() >> for i in range(niter): >> t = option2(x0) >> print "Elapsed = ", time.time() - t0 >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > For integer arguments for delta, I don't see any different between > using option1 and using the '%' operator. > >>> (x0[(x0*10)%2==0]-option1(x0)).sum() > 0.0 > > Also option2 gives a different result than option1 so these are not > equivalent functions. You can see that from the shapes > >>> option2(x0).shape > (1, 9998) > >>> option1(x0).shape > (10000,) > >>> ((option1(x0)[:9998])-option2(x0)).sum() > 0.0 > > So, allowing for shape difference, option2 is the same for most of > output from option1 but it is still smaller than option1. > > Probably the main reason for the speed difference is that option2 is > virtually pure numpy (and hence done in C) and option1 is using a lot > of array lookups that are always slow. So keep it in numpy as most as > possible. > > > Bruce > ------------------------------------------------------------------------ > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From cournape at gmail.com Thu Jun 10 06:06:05 2010 From: cournape at gmail.com (David Cournapeau) Date: Thu, 10 Jun 2010 19:06:05 +0900 Subject: [Numpy-discussion] yet another scipy Install problem In-Reply-To: <4C10670C.2070603@indoakses-online.com> References: <4C10670C.2070603@indoakses-online.com> Message-ID: On Thu, Jun 10, 2010 at 1:16 PM, Bino Oetomo wrote: > Dear All .. > I tried to install numpy and scipy ... basicaly I want to use OMPC You need at least numpy 1.4 to build scipy from current svn, David From charlesr.harris at gmail.com Thu Jun 10 09:26:37 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Thu, 10 Jun 2010 07:26:37 -0600 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: Message-ID: On Wed, Jun 9, 2010 at 5:27 PM, Jason McCampbell wrote: > Hi everyone, > > This is a follow-up to Travis's message on the re-factoring project from > May 25th and the subsequent discussion. For background, I am a developer at > Enthought working on the NumPy re-factoring project with Travis and Scott. > The immediate goal from our perspective is to re-factor the core of NumPy > into two architectural layers: a true core that is CPython-independent and > an interface layer that binds the core to CPython. > > A design proposal is now posted on the NumPy developer wiki: > http://projects.scipy.org/numpy/wiki/NumPyRefactoring > > The write-up is a fairly high-level description of what we think the split > will look like and how to deal with issues such as memory management. There > are also placeholders listed as 'TBD' where more investigation is still > needed and will be filled in over time. At the end of the page there is a > section on the C API with a link to a function-by-function breakdown of the > C API and whether the function belongs in the interface layer, the core, or > need to be split between the two. All functions listed as 'core' will > continue to have an interface-level wrapper with the same name to ensure > source-compatibility. > > All of this, particularly the interface/core function designations, is a > first analysis and in flux. The goal is to get the information out and > elicit discussion and feedback from the community. > > A few thoughts came to mind while reading the initial writeup. 1) How is the GIL handled in the callbacks. 2) What about error handling? That is tricky to get right, especially in C and with reference counting. 3) Is there a general policy as to how the reference counting should be handled in specific functions? That is, who does the reference incrementing/decrementing? 4) Boost has some reference counted pointers, have you looked at them? C++ is admittedly a very different animal for this sort of application. Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From charlesr.harris at gmail.com Thu Jun 10 09:43:52 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Thu, 10 Jun 2010 07:43:52 -0600 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: Message-ID: On Thu, Jun 10, 2010 at 7:26 AM, Charles R Harris wrote: > > > On Wed, Jun 9, 2010 at 5:27 PM, Jason McCampbell < > jmccampbell at enthought.com> wrote: > >> Hi everyone, >> >> This is a follow-up to Travis's message on the re-factoring project from >> May 25th and the subsequent discussion. For background, I am a developer at >> Enthought working on the NumPy re-factoring project with Travis and Scott. >> The immediate goal from our perspective is to re-factor the core of NumPy >> into two architectural layers: a true core that is CPython-independent and >> an interface layer that binds the core to CPython. >> >> A design proposal is now posted on the NumPy developer wiki: >> http://projects.scipy.org/numpy/wiki/NumPyRefactoring >> >> The write-up is a fairly high-level description of what we think the split >> will look like and how to deal with issues such as memory management. There >> are also placeholders listed as 'TBD' where more investigation is still >> needed and will be filled in over time. At the end of the page there is a >> section on the C API with a link to a function-by-function breakdown of the >> C API and whether the function belongs in the interface layer, the core, or >> need to be split between the two. All functions listed as 'core' will >> continue to have an interface-level wrapper with the same name to ensure >> source-compatibility. >> >> All of this, particularly the interface/core function designations, is a >> first analysis and in flux. The goal is to get the information out and >> elicit discussion and feedback from the community. >> >> > A few thoughts came to mind while reading the initial writeup. > > 1) How is the GIL handled in the callbacks. > 2) What about error handling? That is tricky to get right, especially in C > and with reference counting. > 3) Is there a general policy as to how the reference counting should be > handled in specific functions? That is, who does the reference > incrementing/decrementing? > 4) Boost has some reference counted pointers, have you looked at them? C++ > is admittedly a very different animal for this sort of application. > > I've thought that PyArray_SetNumericOps, PyArray_SetNumericOps should have getter/setter functions so that the structure doesn't have to be made public in the split up files. Can the casting functions be implemented as ufuncs? Or at least look like ufuncs so they can handle strided memory. Likewise for some of the other things in arraytypes.c.src. Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From jmccampbell at enthought.com Thu Jun 10 11:47:10 2010 From: jmccampbell at enthought.com (Jason McCampbell) Date: Thu, 10 Jun 2010 10:47:10 -0500 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: Message-ID: Hi Chuck, Good questions. Responses inline below... Jason On Thu, Jun 10, 2010 at 8:26 AM, Charles R Harris wrote: > > > On Wed, Jun 9, 2010 at 5:27 PM, Jason McCampbell < > jmccampbell at enthought.com> wrote: > >> Hi everyone, >> >> This is a follow-up to Travis's message on the re-factoring project from >> May 25th and the subsequent discussion. For background, I am a developer at >> Enthought working on the NumPy re-factoring project with Travis and Scott. >> The immediate goal from our perspective is to re-factor the core of NumPy >> into two architectural layers: a true core that is CPython-independent and >> an interface layer that binds the core to CPython. >> >> A design proposal is now posted on the NumPy developer wiki: >> http://projects.scipy.org/numpy/wiki/NumPyRefactoring >> >> The write-up is a fairly high-level description of what we think the split >> will look like and how to deal with issues such as memory management. There >> are also placeholders listed as 'TBD' where more investigation is still >> needed and will be filled in over time. At the end of the page there is a >> section on the C API with a link to a function-by-function breakdown of the >> C API and whether the function belongs in the interface layer, the core, or >> need to be split between the two. All functions listed as 'core' will >> continue to have an interface-level wrapper with the same name to ensure >> source-compatibility. >> >> All of this, particularly the interface/core function designations, is a >> first analysis and in flux. The goal is to get the information out and >> elicit discussion and feedback from the community. >> >> > A few thoughts came to mind while reading the initial writeup. > > 1) How is the GIL handled in the callbacks. > How to handle the GIL still requires some thought. The cleanest way, IMHO, would is for the interface layer to release the lock prior to calling into the core and then each callback function in the interface is responsible for re-acquiring it. That's straightforward to define as a rule and should work well in general, but I'm worried about potential performance issues if/when a callback is called in a loop. A few optimization points is ok, but too many and it will just be a source of heisenbugs. One other option is to just use the existing release/acquire macros in NumPy and redirect them to the interface layer. Any app that isn't CPython would just leave those callback pointers NULL. It's less disruptive but leaves some very CPython-specific behavior in the core. > 2) What about error handling? That is tricky to get right, especially in C > and with reference counting. > The error reporting functions in the core will likely look a lot like the CPython functions - they seem general enough. The biggest change is the CPython ones take a PyObject as the error type. 99% of the errors reported in NumPy use one of a half-dozen pre-defined types that are easy to translate. There is at least one case where an object type (complex number) is dynamically and used as the type, but so far I believe it's only one case. The reference counting does get a little more complex because a core routine will need to decref the core object on error and the interface layer will need to similarly detect the error and potentially do it's own decref. Each layer is still responsible for it's own clean up, but there are now two opportunities to introduce leaks. > 3) Is there a general policy as to how the reference counting should be > handled in specific functions? That is, who does the reference > incrementing/decrementing? > Both layers should implement the existing policy for the objects that it manages. Essentially a function can use it's caller's reference but needs to increment the count if it's going to store it. A new instance is returned with a refcnt of 1 and the caller needs to clean it up when it's no longer needed. But that means that if the core returns a new NpyArray instance to the interface layer, the receiving function in the interface must allocate a PyObject wrapper around it and set the wrapper's refcnt to 1 before returning it. Is that what you were asking? 4) Boost has some reference counted pointers, have you looked at them? C++ > is admittedly a very different animal for this sort of application. > There is also need to replace the usage of PyDict and other uses of CPython for basic data structures that aren't present in C. Having access to C++ for this and reference counting would be nice, but has the potential to break builds for everyone who use the C API. I think it's worth discussing for the future but a bigger (and possibly more contentious) change than we are able to take on for this project. > Chuck > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From binet at cern.ch Thu Jun 10 12:18:37 2010 From: binet at cern.ch (Sebastien Binet) Date: Thu, 10 Jun 2010 18:18:37 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: Message-ID: <87vd9qlv36.fsf@cern.ch> On Thu, 10 Jun 2010 10:47:10 -0500, Jason McCampbell wrote: > > 4) Boost has some reference counted pointers, have you looked at them? C++ > > is admittedly a very different animal for this sort of application. > > > > There is also need to replace the usage of PyDict and other uses of CPython > for basic data structures that aren't present in C. Having access to C++ > for this and reference counting would be nice, but has the potential to > break builds for everyone who use the C API. I think it's worth discussing > for the future but a bigger (and possibly more contentious) change than we > are able to take on for this project. for the dict part, a probably good enough replacement could be the hash table from: http://c-algorithms.sourceforge.net/ cheers, sebastien. -- ######################################### # Dr. Sebastien Binet # Laboratoire de l'Accelerateur Lineaire # Universite Paris-Sud XI # Batiment 200 # 91898 Orsay ######################################### From sturla at molden.no Thu Jun 10 12:48:04 2010 From: sturla at molden.no (Sturla Molden) Date: Thu, 10 Jun 2010 18:48:04 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: Message-ID: <4C111744.5010007@molden.no> I have a few radical suggestions: 1. Use ctypes as glue to the core DLL, so we can completely forget about refcounts and similar mess. Why put manual reference counting and error handling in the core? It's stupid. 2. The core should be a plain DLL, loadable with ctypes. (I know David Cournapeau and Robert Kern is going to hate this.) But if Python can have a custom loader for .pyd files, so can NumPy for it's core DLL. For ctypes we just need to specify a fully qualified path to the DLL, which can be read from a config file or whatever. 3. ctypes will take care of all the mess regarding the GIL. Again there is no need to re-invent the wheel. ctypes.CDLL releases the GIL when calling into C, and re-acquires before making callbacks to Python. ctypes.PyDLL keeps the GIL for legacy library code that are not threadsafe. ctypes will also make porting to other Python implementations easier (or even other languages: Ruby, JacaScript) easier. Not to mention that it will make NumPy impervious to changes in the Python C API. 4. Write the core in C++ or Fortran (95/2003), not C. ANSI C (aka C89). Use std::vector<> instead of malloc/free for C++, and possibly templates for generics on various dtypes. 5. Allow OpenMP pragmas in the core. If arrays are above a certain size, it should switch to multi-threading. Sturla Den 10.06.2010 15:26, skrev Charles R Harris: > > A few thoughts came to mind while reading the initial writeup. > > 1) How is the GIL handled in the callbacks. > 2) What about error handling? That is tricky to get right, especially > in C and with reference counting. > 3) Is there a general policy as to how the reference counting should > be handled in specific functions? That is, who does the reference > incrementing/decrementing? > 4) Boost has some reference counted pointers, have you looked at them? > C++ is admittedly a very different animal for this sort of application. > > Chuck > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sturla at molden.no Thu Jun 10 13:04:59 2010 From: sturla at molden.no (Sturla Molden) Date: Thu, 10 Jun 2010 19:04:59 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <4C111744.5010007@molden.no> References: <4C111744.5010007@molden.no> Message-ID: <4C111B3B.7080604@molden.no> Den 10.06.2010 18:48, skrev Sturla Molden: > ctypes will also make porting to other Python implementations easier > (or even other languages: Ruby, JacaScript) easier. Not to mention > that it will make NumPy impervious to changes in the Python C API. Linking is also easier with ctypes. I started getting a lot of linker errors when switching to 64-bit Python on Windows. Just throwing out all of Cython et al. in favour of plain C keeps the problem away. Sturla From sturla at molden.no Thu Jun 10 13:17:08 2010 From: sturla at molden.no (Sturla Molden) Date: Thu, 10 Jun 2010 19:17:08 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <4C111744.5010007@molden.no> References: <4C111744.5010007@molden.no> Message-ID: <4C111E14.3070003@molden.no> Another suggestion I'd like to make is bytearray as memory buffer for the ndarray. An ndarray could just store or extend a bytearray, instead of having to deal with malloc/free and and the mess that comes with it. Python takes care of the reference counts for bytearrays, and ctypes calls the NumPy core DLL. Yes it will not work with older versions of Python. But for a complete refactoring ("NumPy 3000"), backwards compatibility should not matter much. (It's easier to backport bytearray than track down memory leaks in NumPy's core.) Sturla Den 10.06.2010 18:48, skrev Sturla Molden: > > I have a few radical suggestions: > > 1. Use ctypes as glue to the core DLL, so we can completely forget > about refcounts and similar mess. Why put manual reference counting > and error handling in the core? It's stupid. > > 2. The core should be a plain DLL, loadable with ctypes. (I know David > Cournapeau and Robert Kern is going to hate this.) But if Python can > have a custom loader for .pyd files, so can NumPy for it's core DLL. > For ctypes we just need to specify a fully qualified path to the DLL, > which can be read from a config file or whatever. > > 3. ctypes will take care of all the mess regarding the GIL. Again > there is no need to re-invent the wheel. ctypes.CDLL releases the GIL > when calling into C, and re-acquires before making callbacks to > Python. ctypes.PyDLL keeps the GIL for legacy library code that are > not threadsafe. > > ctypes will also make porting to other Python implementations easier > (or even other languages: Ruby, JacaScript) easier. Not to mention > that it will make NumPy impervious to changes in the Python C API. > > 4. Write the core in C++ or Fortran (95/2003), not C. ANSI C (aka > C89). Use std::vector<> instead of malloc/free for C++, and possibly > templates for generics on various dtypes. > > 5. Allow OpenMP pragmas in the core. If arrays are above a certain > size, it should switch to multi-threading. > > Sturla > > > > > > > Den 10.06.2010 15:26, skrev Charles R Harris: >> >> A few thoughts came to mind while reading the initial writeup. >> >> 1) How is the GIL handled in the callbacks. >> 2) What about error handling? That is tricky to get right, especially >> in C and with reference counting. >> 3) Is there a general policy as to how the reference counting should >> be handled in specific functions? That is, who does the reference >> incrementing/decrementing? >> 4) Boost has some reference counted pointers, have you looked at >> them? C++ is admittedly a very different animal for this sort of >> application. >> >> Chuck >> >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From oliphant at enthought.com Thu Jun 10 16:07:03 2010 From: oliphant at enthought.com (Travis Oliphant) Date: Thu, 10 Jun 2010 15:07:03 -0500 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <4C111744.5010007@molden.no> References: <4C111744.5010007@molden.no> Message-ID: <76F985AA-47FC-44FA-9DA6-D6879D4406A1@enthought.com> On Jun 10, 2010, at 11:48 AM, Sturla Molden wrote: > > I have a few radical suggestions: There are some good ideas there. I suspect we can't address all of them in the course of this re-factoring effort, but I really appreciate you putting them out there, because they are useful things to consider. > > 1. Use ctypes as glue to the core DLL, so we can completely forget about refcounts and similar mess. Why put manual reference counting and error handling in the core? It's stupid. If we could get to a single core DLL, then perhaps this would work. It may be very difficult to actually get to that point though from where we are because there is a lot to the current CPython interface that would have to be re-thought. Right now, it looks like there is still a need for an interface layer. > > 2. The core should be a plain DLL, loadable with ctypes. (I know David Cournapeau and Robert Kern is going to hate this.) But if Python can have a custom loader for .pyd files, so can NumPy for it's core DLL. For ctypes we just need to specify a fully qualified path to the DLL, which can be read from a config file or whatever. This approach does not build a new Python type in compiled code. There are speed disadvantages to this --- especially for the numpy scalars. > > 5. Allow OpenMP pragmas in the core. If arrays are above a certain size, it should switch to multi-threading. This is an interesting idea. -Travis From pav at iki.fi Thu Jun 10 16:28:28 2010 From: pav at iki.fi (Pauli Virtanen) Date: Thu, 10 Jun 2010 20:28:28 +0000 (UTC) Subject: [Numpy-discussion] NumPy re-factoring project References: <4C111744.5010007@molden.no> Message-ID: Thu, 10 Jun 2010 18:48:04 +0200, Sturla Molden wrote: [clip] > 5. Allow OpenMP pragmas in the core. If arrays are above a certain size, > it should switch to multi-threading. Some places where Openmp could probably help are in the inner ufunc loops. However, improving the memory efficiency of the data access pattern is another low-hanging fruit for multidimensional arrays. I'm not sure how Openmp plays together with thread-safety; especially if used in outer constructs. Whether this is possible to do easily is not so clear, as Numpy uses e.g. iterator and loop objects, which cannot probably be shared between different openmp threads. So one would have to do some extra work to parallelize these parts manually. But probably if multithreading is desired, openmp sounds like the way to go... -- Pauli Virtanen From pgmdevlist at gmail.com Thu Jun 10 17:05:37 2010 From: pgmdevlist at gmail.com (Pierre GM) Date: Thu, 10 Jun 2010 17:05:37 -0400 Subject: [Numpy-discussion] [Job] research developer job opening at AQR Capital In-Reply-To: References: Message-ID: <6041D17F-4CD9-4ED9-BF1E-00B374D7534F@gmail.com> Wes, Sorry to contact you directly. I answered to this ad on 05/24, sending a cover letter and a link to my resume to Matt. However, I didn't get any news since. Do you mind telling me how to check the status of my application ? If it is rejected, so it goes, but I'd still like to know. In other news, I have plenty of free time in front of me and need a project of some sort to stay busy. That'd be a good opportunity to work on a standard way to deal w/ time series in Numpy/Scipy, eg providing bridges between scikits.timeseries and pandas... Let me know what you think. Sincerely, P. From pgmdevlist at gmail.com Thu Jun 10 17:10:03 2010 From: pgmdevlist at gmail.com (Pierre GM) Date: Thu, 10 Jun 2010 17:10:03 -0400 Subject: [Numpy-discussion] [Job] research developer job opening at AQR Capital In-Reply-To: <6041D17F-4CD9-4ED9-BF1E-00B374D7534F@gmail.com> References: <6041D17F-4CD9-4ED9-BF1E-00B374D7534F@gmail.com> Message-ID: Oops, somebody should double check who's in copy before sending his emails... Sorry about the noise all. However, feel free to contact me offlist w/ your ideas regarding handling time series in numpy. All my apologies again. P. From sturla at molden.no Thu Jun 10 17:56:56 2010 From: sturla at molden.no (Sturla Molden) Date: Thu, 10 Jun 2010 23:56:56 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: <4C111744.5010007@molden.no> Message-ID: <4C115FA8.3040503@molden.no> Den 10.06.2010 22:28, skrev Pauli Virtanen: > > Some places where Openmp could probably help are in the inner ufunc > loops. However, improving the memory efficiency of the data access > pattern is another low-hanging fruit for multidimensional arrays. > > Getting the intermediate array out of expressions like a + b would be very cool. But it is not as trivial as it seems. Possibility of controlling aliasing (cf. Fortran and C99) can help. For example, for binary array operators we know that the output array (a temporary intermediate) is not aliased with the two arguments. ufuncs involving trancendental functions would benefit from OpenMP. O(N**2) ufuncs like var and std would also benefit. We can also use copy-in copy-out for strided array access (see below). > I'm not sure how Openmp plays together with thread-safety; especially if > used in outer constructs. Whether this is possible to do easily is not so > clear, as Numpy uses e.g. iterator and loop objects, which cannot > probably be shared between different openmp threads. So one would have to > do some extra work to parallelize these parts manually. > > OpenMP has pragmas for serializing access to code, which is: #pragma omp critical { // done by all threads // serialized access (we can also name the lock) } #pragma omp atomic a += 1 // atomic operation (e.g. nice for refcounts, instead a big lock) #pragma omp single { // done by one thread (random or named) } #pragma omp master { // done by the master thread only // e.g. used when calling back to the Python C API } #pragma omp barrier // wait for all threads here That's about all you need to know about thread synchronization in OpenMP... > But probably if multithreading is desired, openmp sounds like the way to > go... > > Anyone profient in C or Fortran can learn OpenMP in 10 minutes, and it is close to infinitely more easy than manual multithreading. And now it is supported by the majority of compilers. Also about array iterators in NumPy's C base (i.e. for doing something along an axis): we don't need those. There is a different way of coding which leads to faster code. 1. Collect an array of pointers to each subarray (e.g. using std::vector or dtype**) 2. Dispatch on the pointer array... I used this to reimplement lfilter in scipy. It is just a lot faster than array iterators. It also allows us to use OpenMP in a very natural way. For multidimensional array I have a recursive function for collecting the array of subarray pointers, but for 2D and 3D with can use nested for-loops. Another thing I did when reimplementing lfilter was "copy-in copy-out" for strided arrays. This also helps a lot. It might seem paradoxical as we need to iterate over the strided array(s) to make the copies. But in practice it is faster by a factor of 2 or 3. Fortran compilers also tend to do this optimization for strided arrays. It is even mentioned in the Fortran standard as explicitely allowed, as it has consequences for array pointers (they can be invalidated by function calls if a contigiuous copy is made). Sturla From sturla at molden.no Thu Jun 10 18:25:17 2010 From: sturla at molden.no (Sturla Molden) Date: Fri, 11 Jun 2010 00:25:17 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <76F985AA-47FC-44FA-9DA6-D6879D4406A1@enthought.com> References: <4C111744.5010007@molden.no> <76F985AA-47FC-44FA-9DA6-D6879D4406A1@enthought.com> Message-ID: <4C11664D.2040706@molden.no> Den 10.06.2010 22:07, skrev Travis Oliphant: > >> 2. The core should be a plain DLL, loadable with ctypes. (I know David Cournapeau and Robert Kern is going to hate this.) But if Python can have a custom loader for .pyd files, so can NumPy for it's core DLL. For ctypes we just need to specify a fully qualified path to the DLL, which can be read from a config file or whatever. >> > This approach does not build a new Python type in compiled code. There are speed disadvantages to this --- especially for the numpy scalars. There are at least four speed penalties in what I suggested: - the ctypes overhead is bigger than using Python's C API manually (or Cython). - there is a speed penalty for scalars and small arrays. (Previously seen in numarray vs. numeric.) - bytearray is a bit slower to create than to malloc a buffer. - arrays with dtype=object The advantages are: - the code is easier to read and maintain (clean separation of Python and C) - more portable code (no Python C API dependence) - no obscure memory leaks to track down (bytearray instead of malloc/free and no manual ref counting). By the way: Is Cython mature enough to toss all C out the door? Since Cython has syntax for PEP 3118 buffer objects, we should theoretically be able to implement NumPy in Cython. Then we don't have the speed penalty and no difficult C to maintain. But if the idea is to make a Python independent C library from the core, it is probably a bit counter productive... Sturla From cournape at gmail.com Thu Jun 10 18:49:35 2010 From: cournape at gmail.com (David Cournapeau) Date: Fri, 11 Jun 2010 07:49:35 +0900 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <4C11664D.2040706@molden.no> References: <4C111744.5010007@molden.no> <76F985AA-47FC-44FA-9DA6-D6879D4406A1@enthought.com> <4C11664D.2040706@molden.no> Message-ID: On Fri, Jun 11, 2010 at 7:25 AM, Sturla Molden wrote: > Den 10.06.2010 22:07, skrev Travis Oliphant: >> >>> 2. The core should be a plain DLL, loadable with ctypes. (I know David Cournapeau and Robert Kern is going to hate this.) But if Python can have a custom loader for .pyd files, so can NumPy for it's core DLL. For ctypes we just need to specify a fully qualified path to the DLL, which can be read from a config file or whatever. I am not sure why you say I would hate it - that's exactly what I would like numpy core to be (a library). Ctypes is an implementation detail. For reference counting, I am not sure we can get away with it unless we use something like LUA stack technique for the core. The big issue with reference counting is how to deal with non C VM - there has to be known good practices to make libraries reusable from say the CLI or the JVM, but I don't know them. > > > By the way: Is Cython mature enough to toss all C out the door? Maybe not all, but I am convinced most of it could. Today, I would not have rewritten lfilter in C, for example, I would have just used cython. One issue with cython compared to C is that it makes compilation much slower altogether, at least with gcc. I have never been able to pin-point the exact issue (it does not seem like gcc should be that slow compiling the generated C). David From cournape at gmail.com Thu Jun 10 18:53:46 2010 From: cournape at gmail.com (David Cournapeau) Date: Fri, 11 Jun 2010 07:53:46 +0900 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <87vd9qlv36.fsf@cern.ch> References: <87vd9qlv36.fsf@cern.ch> Message-ID: On Fri, Jun 11, 2010 at 1:18 AM, Sebastien Binet wrote: > On Thu, 10 Jun 2010 10:47:10 -0500, Jason McCampbell wrote: >> > 4) Boost has some reference counted pointers, have you looked at them? C++ >> > is admittedly a very different animal for this sort of application. >> > >> >> There is also need to replace the usage of PyDict and other uses of CPython >> for basic data structures that aren't present in C. ?Having access to C++ >> for this and reference counting would be nice, but has the potential to >> break builds for everyone who use the C API. ?I think it's worth discussing >> for the future but a bigger (and possibly more contentious) change than we >> are able to take on for this project. > > for the dict part, a probably good enough replacement could be the hash > table from: > > http://c-algorithms.sourceforge.net/ My long quest for a usable set of basic structures in C lead me to basekit. It is BSD and the code is very simple, I like it very much: http://github.com/stevedekorte/basekit It is used in the IO programming language, which is in the same ballpark as python (very dynamic ala smalltalk) and uses a GC, which means the allocation strategy used in basekit is viable for VM which do not depend on reference counting. David From cournape at gmail.com Thu Jun 10 18:57:37 2010 From: cournape at gmail.com (David Cournapeau) Date: Fri, 11 Jun 2010 07:57:37 +0900 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <4C115FA8.3040503@molden.no> References: <4C111744.5010007@molden.no> <4C115FA8.3040503@molden.no> Message-ID: On Fri, Jun 11, 2010 at 6:56 AM, Sturla Molden wrote: > > Also about array iterators in NumPy's C base (i.e. for doing something > along an axis): we don't need those. There is a different way of coding > which leads to faster code. > > 1. Collect an array of pointers to each subarray (e.g. using > std::vector or dtype**) > 2. Dispatch on the pointer array... Do you have the code for this ? That's something I wanted to do, but never took the time to do. Faster generic iterator would be nice, but very hard to do in general. > Another thing I did when reimplementing lfilter was "copy-in copy-out" > for strided arrays. What is copy-in copy out ? I am not familiar with this term ? David From bevan07 at gmail.com Thu Jun 10 19:16:08 2010 From: bevan07 at gmail.com (Bevan Jenkins) Date: Thu, 10 Jun 2010 23:16:08 +0000 (UTC) Subject: [Numpy-discussion] timeseries - dates prior to 1970 Message-ID: Hello, I have posted previously about dates prior to 1900 but this seems to be a seperate issue. The error message is definitley different. I can not seem to convert a timseseries from one frequency ('D') to another ('H') when i use dates prior to 1970 as shown below. This works fine when I use a date after 1970. Is this something that can be easily fixed or work around that I can use? Thanks In [1]: import datetime In [2]: import numpy as np In [3]: import scikits.timeseries as ts In [4]: from scikits.timeseries.lib.interpolate import interp_masked1d In [5]: In [6]: dta = np.linspace(1.0, 5.0,5) In [7]: msk = [1,0,1,0,0] In [8]: dta_maskd = np.ma.masked_array(dta,msk) In [9]: yr = 1969 In [10]: dtes = [datetime.datetime(yr, 1, 1), ....: datetime.datetime(yr, 1, 2), ....: datetime.datetime(yr, 1, 3), ....: datetime.datetime(yr, 1, 4), ....: datetime.datetime(yr, 1, 5)] In [11]: day_ts = ts.time_series(dta_maskd, dtes, freq='D') In [12]: hour_ts = day_ts.convert('H') --------------------------------------------------------------------------- ValueError Traceback (most recent call last) C:\Python26\lib\site-packages\scikits\timeseries\tseries.pyc in convert(series, freq, func, position, *args, **kwargs) 2000 2001 if series.ndim == 1: -> 2002 obj = _convert1d(series, freq, func, position, *args, **kwargs) 2003 elif series.ndim == 2: 2004 base = _convert1d(series[:, 0], freq, func, position, *args, **kwargs) C:\Python26\lib\site-packages\scikits\timeseries\tseries.pyc in _convert1d (series, freq, func, position, *args, **kwargs) 1910 1911 cdictresult = cseries.TS_convert(data_, from_freq, to_freq, position, -> 1912 int(start_date), mask_) 1913 start_date = Date(freq=to_freq, value=cdictresult['startindex']) 1914 data_ = masked_array(cdictresult['values'], mask=cdictresult ['mask']) ValueError: start_date outside allowable range for destination frequency From irving at naml.us Thu Jun 10 20:00:49 2010 From: irving at naml.us (Geoffrey Irving) Date: Fri, 11 Jun 2010 12:00:49 +1200 Subject: [Numpy-discussion] mmap bug Message-ID: Hello, If I create an mmap'ed array, and then generate another array referencing only its base, destruction of the original mmap'ed array closes the mmap. The second array is then prone to segfaults. I think the best fix is to put the responsibility for flushing the mmap onto the actual mmap object (and therefore the base object) directly, so that the numpy memmap object has no cleanup responsibilities. A patch to core/memmap.py follows. It would be nicer to put the mmap_flush class declaration somewhere outside the function, but that conflicts with the local "import mmap." Thanks, Geoffrey diff --git a/numpy/core/memmap.py b/numpy/core/memmap.py index 83de1cf..b2cbc86 100644 --- a/numpy/core/memmap.py +++ b/numpy/core/memmap.py @@ -219,14 +219,25 @@ class memmap(ndarray): else: acc = mmap.ACCESS_WRITE + # Ensure writable mmaps are always flushed before close + if acc==mmap.ACCESS_WRITE: + class mmap_flush(mmap.mmap): + def __del__(self): + try: + self.flush() + except ValueError: # mmap is already closed + pass + else: + mmap_flush = mmap.mmap + if sys.version_info[:2] >= (2,6): # The offset keyword in mmap.mmap needs Python >= 2.6 start = offset - offset % mmap.ALLOCATIONGRANULARITY bytes -= start offset -= start - mm = mmap.mmap(fid.fileno(), bytes, access=acc, offset=start) + mm = mmap_flush(fid.fileno(), bytes, access=acc, offset=start) else: - mm = mmap.mmap(fid.fileno(), bytes, access=acc) + mm = mmap_flush(fid.fileno(), bytes, access=acc) self = ndarray.__new__(subtype, shape, dtype=descr, buffer=mm, offset=offset, order=order) @@ -273,29 +284,9 @@ class memmap(ndarray): warnings.warn("Use ``flush``.", DeprecationWarning) self.flush() - def _close(self): - """Close the memmap file. Only do this when deleting the object.""" - if self.base is self._mmap: - # The python mmap probably causes flush on close, but - # we put this here for safety - self._mmap.flush() - self._mmap.close() - self._mmap = None - def close(self): """Close the memmap file. Does nothing.""" warnings.warn("``close`` is deprecated on memmap arrays. Use del", DeprecationWarning) - def __del__(self): - # We first check if we are the owner of the mmap, rather than - # a view, so deleting a view does not call _close - # on the parent mmap - if self._mmap is self.base: - try: - # First run tell() to see whether file is open - self._mmap.tell() - except ValueError: - pass - else: - self._close() + # No need to define __del__ since mmap_flush.__del__ will do the flush From sturla at molden.no Thu Jun 10 20:27:18 2010 From: sturla at molden.no (Sturla Molden) Date: Fri, 11 Jun 2010 02:27:18 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: <4C111744.5010007@molden.no> <4C115FA8.3040503@molden.no> Message-ID: <4C1182E6.80701@molden.no> Den 11.06.2010 00:57, skrev David Cournapeau: > Do you have the code for this ? That's something I wanted to do, but > never took the time to do. Faster generic iterator would be nice, but > very hard to do in general. > > /* this computes the start adress for every vector along a dimension (axis) of an ndarray */ typedef PyArrayObject ndarray; inline char *datapointer(ndarray *a, npy_intp *indices) { char *data = a->data; int i; npy_intp j; for (i=0; i < a->nd; i++) { j = indices[i]; data += j * a->strides[i]; } return data; } static double ** _get_axis_pointer(npy_intp *indices, int axis, ndarray *a, double **axis_ptr_array, int dim) { /* recursive axis pointer search for 4 dimensions or more */ npy_intp i; double *axis_ptr; if (dim == a->nd) { /* done recursing dimensions, compute address of this axis */ axis_ptr = (double *) datapointer(a, indices); *axis_ptr_array = axis_ptr; return (axis_ptr_array + 1); } else if (dim == axis) { /* use first element only */ indices[dim] = 0; axis_ptr_array = _get_axis_pointer(indices, axis, a, axis_ptr_array, dim+1); return axis_ptr_array; } else { /* iterate range of indices */ npy_intp length = a->dimensions[dim]; for (i=0; i < length; i++) { indices[dim] = i; axis_ptr_array = _get_axis_pointer(indices, axis, a, axis_ptr_array, dim+1); } return axis_ptr_array; } } static double **get_axis_pointers(ndarray *a, int axis, npy_intp *count) { npy_intp indices[NPY_MAXDIMS]; double **out, **tmp; npy_intp i, j; j = 1; for (i=0; i < a->nd; i++) { if (i != axis) j *= a->dimensions[i]; } *count = j; out = (double **) malloc(*count * sizeof(double*)); if (out == NULL) { *count = 0; return NULL; } tmp = out; switch (a->nd) { /* for one dimension we just return the data pointer */ case 1: *tmp = (double *)a->data; break; /* specialized for two dimensions */ case 2: switch (axis) { case 0: for (i=0; idimensions[1]; i++) *tmp++ = (double *)(a->data + i*a->strides[1]); break; case 1: for (i=0; idimensions[0]; i++) *tmp++ = (double *)(a->data + i*a->strides[0]); break; } break; /* specialized for three dimensions */ case 3: switch (axis) { case 0: for (i=0; idimensions[1]; i++) for (j=0; jdimensions[2]; j++) *tmp++ = (double *)(a->data + i*a->strides[1] + j*a->strides[2]); break; case 1: for (i=0; idimensions[0]; i++) for (j=0; jdimensions[2]; j++) *tmp++ = (double *)(a->data + i*a->strides[0] + j*a->strides[2]); break; case 2: for (i=0; idimensions[0]; i++) for (j=0; jdimensions[1]; j++) *tmp++ = (double *)(a->data + i*a->strides[0] + j*a->strides[1]); } break; /* four or more dimensions: use recursion */ default: for (i=0; ind; i++) indices[i] = 0; _get_axis_pointer(indices, axis, a, out, 0); } done: return out; } >> Another thing I did when reimplementing lfilter was "copy-in copy-out" >> for strided arrays. >> > What is copy-in copy out ? I am not familiar with this term ? > > Strided memory access is slow. So it often helps to make a temporary copy that are contiguous. static void copy_in(double *restrict y, double *restrict x, npy_intp n, npy_intp s) { npy_intp i; char *tmp; if (s == sizeof(double)) memcpy(y, x, n*sizeof(double)); else { tmp = (char *)x; for (i=0; i From charlesr.harris at gmail.com Thu Jun 10 21:02:20 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Thu, 10 Jun 2010 19:02:20 -0600 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <4C1182E6.80701@molden.no> References: <4C111744.5010007@molden.no> <4C115FA8.3040503@molden.no> <4C1182E6.80701@molden.no> Message-ID: On Thu, Jun 10, 2010 at 6:27 PM, Sturla Molden wrote: > Den 11.06.2010 00:57, skrev David Cournapeau: > > Do you have the code for this ? That's something I wanted to do, but > never took the time to do. Faster generic iterator would be nice, but > very hard to do in general. > > > > > > /* this computes the start adress for every vector along a dimension > (axis) of an ndarray */ > > typedef PyArrayObject ndarray; > > inline char *datapointer(ndarray *a, npy_intp *indices) > { > char *data = a->data; > int i; > npy_intp j; > for (i=0; i < a->nd; i++) { > j = indices[i]; > data += j * a->strides[i]; > } > return data; > } > > static double ** _get_axis_pointer(npy_intp *indices, int axis, > ndarray *a, double **axis_ptr_array, int dim) > { > /* recursive axis pointer search for 4 dimensions or more */ > npy_intp i; > double *axis_ptr; > if (dim == a->nd) { > /* done recursing dimensions, > compute address of this axis */ > axis_ptr = (double *) datapointer(a, indices); > *axis_ptr_array = axis_ptr; > return (axis_ptr_array + 1); > } else if (dim == axis) { > /* use first element only */ > indices[dim] = 0; > axis_ptr_array = _get_axis_pointer(indices, axis, a, > axis_ptr_array, dim+1); > return axis_ptr_array; > } else { > /* iterate range of indices */ > npy_intp length = a->dimensions[dim]; > for (i=0; i < length; i++) { > indices[dim] = i; > axis_ptr_array = _get_axis_pointer(indices, axis, a, > axis_ptr_array, dim+1); > } > return axis_ptr_array; > } > } > > > static double **get_axis_pointers(ndarray *a, int axis, npy_intp *count) > { > npy_intp indices[NPY_MAXDIMS]; > double **out, **tmp; > npy_intp i, j; > j = 1; > for (i=0; i < a->nd; i++) { > if (i != axis) > j *= a->dimensions[i]; > } > *count = j; > > out = (double **) malloc(*count * sizeof(double*)); > if (out == NULL) { > *count = 0; > return NULL; > } > tmp = out; > switch (a->nd) { > /* for one dimension we just return the data pointer */ > case 1: > *tmp = (double *)a->data; > break; > /* specialized for two dimensions */ > case 2: > switch (axis) { > case 0: > for (i=0; idimensions[1]; i++) > *tmp++ = (double *)(a->data + i*a->strides[1]); > break; > > case 1: > for (i=0; idimensions[0]; i++) > *tmp++ = (double *)(a->data + i*a->strides[0]); > break; > } > break; > /* specialized for three dimensions */ > case 3: > switch (axis) { > case 0: > for (i=0; idimensions[1]; i++) > for (j=0; jdimensions[2]; j++) > *tmp++ = (double *)(a->data + i*a->strides[1] + > j*a->strides[2]); > break; > case 1: > for (i=0; idimensions[0]; i++) > for (j=0; jdimensions[2]; j++) > *tmp++ = (double *)(a->data + i*a->strides[0] + > j*a->strides[2]); > break; > > case 2: > for (i=0; idimensions[0]; i++) > for (j=0; jdimensions[1]; j++) > *tmp++ = (double *)(a->data + i*a->strides[0] + > j*a->strides[1]); > > } > break; > /* four or more dimensions: use recursion */ > default: > for (i=0; ind; i++) indices[i] = 0; > _get_axis_pointer(indices, axis, a, out, 0); > > } > done: > return out; > > } > > > Another thing I did when reimplementing lfilter was "copy-in copy-out" > for strided arrays. > > > What is copy-in copy out ? I am not familiar with this term ? > > > > > Strided memory access is slow. So it often helps to make a temporary copy > that are contiguous. > > But for an initial refactoring it probably falls in the category of premature optimization. Another thing to avoid on the first go around is micro-optimization, as it tends to complicate the code and often doesn't do much for performance. Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From david at silveregg.co.jp Thu Jun 10 22:17:20 2010 From: david at silveregg.co.jp (David) Date: Fri, 11 Jun 2010 11:17:20 +0900 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: <4C111744.5010007@molden.no> <4C115FA8.3040503@molden.no> <4C1182E6.80701@molden.no> Message-ID: <4C119CB0.6080506@silveregg.co.jp> On 06/11/2010 10:02 AM, Charles R Harris wrote: > > > But for an initial refactoring it probably falls in the category of > premature optimization. Another thing to avoid on the first go around is > micro-optimization, as it tends to complicate the code and often doesn't > do much for performance. I agree it may be difficult to add this in the initial refactorization, but I don't think it falls into the micro optimization category. The whole idea of converting strided buffers into temporary contiguous areas is already in ufunc, though. Maybe a core API to do just that would be useful. I am not familiar with the ufunc API at all, so I am not sure how it would go. cheers, David From david at silveregg.co.jp Thu Jun 10 22:19:01 2010 From: david at silveregg.co.jp (David) Date: Fri, 11 Jun 2010 11:19:01 +0900 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <4C1182E6.80701@molden.no> References: <4C111744.5010007@molden.no> <4C115FA8.3040503@molden.no> <4C1182E6.80701@molden.no> Message-ID: <4C119D15.5030907@silveregg.co.jp> On 06/11/2010 09:27 AM, Sturla Molden wrote: > > Strided memory access is slow. So it often helps to make a temporary > copy that are contiguous. Ah, ok, I did not know this was called copy-in/copy-out, thanks for the explanation. I agree this would be a good direction to pursue, but maybe out of scope for the first refactoring, cheers, David From sturla at molden.no Thu Jun 10 22:28:04 2010 From: sturla at molden.no (Sturla Molden) Date: Fri, 11 Jun 2010 04:28:04 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <4C119D15.5030907@silveregg.co.jp> References: <4C111744.5010007@molden.no> <4C115FA8.3040503@molden.no> <4C1182E6.80701@molden.no> <4C119D15.5030907@silveregg.co.jp> Message-ID: <4C119F34.5060809@molden.no> Den 11.06.2010 04:19, skrev David: > > Ah, ok, I did not know this was called copy-in/copy-out, thanks for the > explanation. I agree this would be a good direction to pursue, but maybe > out of scope for the first refactoring, > > Copy-in copy-out is actually an implementation detail in Fortran compilers. It has more to do with how subroutines are called. But the purpose is to turn a strided array into a contiguous one. Sturla From pgmdevlist at gmail.com Thu Jun 10 22:35:01 2010 From: pgmdevlist at gmail.com (Pierre GM) Date: Thu, 10 Jun 2010 22:35:01 -0400 Subject: [Numpy-discussion] timeseries - dates prior to 1970 In-Reply-To: References: Message-ID: <2AB7C634-38FD-4430-9676-80F7229118F1@gmail.com> On Jun 10, 2010, at 7:16 PM, Bevan Jenkins wrote: > Hello, > > I have posted previously about dates prior to 1900 but this seems to be a > seperate issue. The error message is definitley different. > I can not seem to convert a timseseries from one frequency ('D') to another > ('H') when i use dates prior to 1970 as shown below. This works fine when I > use a date after 1970. Is this something that can be easily fixed or work > around that I can use? Thanks Argh, major bug indeed... For frequencies below days, the reference is 1AD. Above that, the reference is the unix epoch (1970/01/01). When you try to use dates before that epoch with an hourly frequency, you get negative integers that are not properly dealt with... I gonna work on that. In the meantime, you can use the following (extremely ugly) trick: >>> s_d = ts.time_series(np.arange(5) + 1, start_date=ts.Date('D', "1969/01/01")) >>> # This fails: >>> # s.convert('H') >>> # Create s hortcut to dates (to save some __getattr__ time) >>> d = s_d.dates >>> # Calculate the offset from the unix epoch >>> offset = ts.Date('D', year=1970, month=1, day=1) - d[0] >>> # Create a new temporary series >>> s_h = s_d >>> # Add the offset to the dates, so that you're after the epoch >>> s_h.dates += offset >>> # Convert to HOURLY >>> s_h = s_h.convert('H') >>> # Subtract the offset (don't forget to convert to 'H') >>> s_h.dates -= offset * 24 Your predicament is far from over now, because you won't be able to print the dates... But that's another bug. I'll keep you posted when we have some better solutions. From sturla at molden.no Thu Jun 10 22:40:06 2010 From: sturla at molden.no (Sturla Molden) Date: Fri, 11 Jun 2010 04:40:06 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: <4C111744.5010007@molden.no> <4C115FA8.3040503@molden.no> <4C1182E6.80701@molden.no> Message-ID: <4C11A206.90200@molden.no> Den 11.06.2010 03:02, skrev Charles R Harris: > > But for an initial refactoring it probably falls in the category of > premature optimization. Another thing to avoid on the first go around > is micro-optimization, as it tends to complicate the code and often > doesn't do much for performance. First, to refractor NumPy we must get rid of array iterators as Python objects. Retaining them as Python objects defies the whole purpose. Second, creating an array of pointers has the advantage of being more friendly to OpenMP and multi-core CPUs. We don't need to serialize access to an iterator, and we allow OpenMP to do load balancing. For things like FFT on vectors along an axis in a multidimensional array (e.g. in multi-dimensional FFTs), this is not a micro-optimization. Not to mention that it is easier to iterate over an array than use a complicated iterator object in C. Sturla From charlesr.harris at gmail.com Thu Jun 10 23:43:44 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Thu, 10 Jun 2010 21:43:44 -0600 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <4C11A206.90200@molden.no> References: <4C111744.5010007@molden.no> <4C115FA8.3040503@molden.no> <4C1182E6.80701@molden.no> <4C11A206.90200@molden.no> Message-ID: On Thu, Jun 10, 2010 at 8:40 PM, Sturla Molden wrote: > Den 11.06.2010 03:02, skrev Charles R Harris: > > > > But for an initial refactoring it probably falls in the category of > > premature optimization. Another thing to avoid on the first go around > > is micro-optimization, as it tends to complicate the code and often > > doesn't do much for performance. > > > > > First, to refractor NumPy we must get rid of array iterators as Python > objects. Retaining them as Python objects defies the whole purpose. > Second, creating an array of pointers has the advantage of being more > friendly to OpenMP and multi-core CPUs. We don't need to serialize > access to an iterator, and we allow OpenMP to do load balancing. For > things like FFT on vectors along an axis in a multidimensional array > (e.g. in multi-dimensional FFTs), this is not a micro-optimization. Not > to mention that it is easier to iterate over an array than use a > complicated iterator object in C. > > How does that work doing ffts along all axis? What about slicing and views, axis rolling and transposes? Furthermore, if you are just going to add two discontiguous arrays, or take the sine, making copies is wasted effort. I think those things definitely fall in the category of optimizations for many things and will just be a distraction from the real problems of the refactoring. When I say micro-optimization, I am not talking about such things, however. Micro-optimization is such things as loop unrolling, which while it can greatly speed up some things adds a lot of obfuscating code when the first priority is to get things right. Another example would be trying to get a tad more speed using pointers instead of indexes, an optimization which also tends to be architecture dependent. Or using a ton of macros instead of subroutines or inline functions. So on and so forth. I think in these things the first priority is to have something readable and debuggable with clear lines of control flow. This is easier said than done, of course. Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From binet at cern.ch Fri Jun 11 03:14:22 2010 From: binet at cern.ch (Sebastien Binet) Date: Fri, 11 Jun 2010 09:14:22 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <4C11664D.2040706@molden.no> References: <4C111744.5010007@molden.no> <76F985AA-47FC-44FA-9DA6-D6879D4406A1@enthought.com> <4C11664D.2040706@molden.no> Message-ID: <87iq5q3usx.fsf@cern.ch> On Fri, 11 Jun 2010 00:25:17 +0200, Sturla Molden wrote: > Den 10.06.2010 22:07, skrev Travis Oliphant: > > > >> 2. The core should be a plain DLL, loadable with ctypes. (I know David Cournapeau and Robert Kern is going to hate this.) But if Python can have a custom loader for .pyd files, so can NumPy for it's core DLL. For ctypes we just need to specify a fully qualified path to the DLL, which can be read from a config file or whatever. > >> > > This approach does not build a new Python type in compiled code. There are speed disadvantages to this --- especially for the numpy scalars. > > There are at least four speed penalties in what I suggested: > > - the ctypes overhead is bigger than using Python's C API manually (or > Cython). > - there is a speed penalty for scalars and small arrays. (Previously > seen in numarray vs. numeric.) > - bytearray is a bit slower to create than to malloc a buffer. > - arrays with dtype=object > > The advantages are: > > - the code is easier to read and maintain (clean separation of Python and C) > - more portable code (no Python C API dependence) > - no obscure memory leaks to track down (bytearray instead of > malloc/free and no manual ref counting). > > > By the way: Is Cython mature enough to toss all C out the door? Since > Cython has syntax for PEP 3118 buffer objects, we should theoretically > be able to implement NumPy in Cython. Then we don't have the speed > penalty and no difficult C to maintain. But if the idea is to make a > Python independent C library from the core, it is probably a bit counter > productive... as a long time lurker, I really like the idea of having a .so as core numpy but I'd really hate to have to go thru ctypes as a necessary (or rather, default) layer to use numpy-core from python. it of course depends on the granularity at which you wrap and use numpy-core but tight loops calling ctypes ain't gonna be pretty performance-wise. I really think using cython would be a better option. one'd get the python2 <-> python3 transition for "free". but, again, I am just a lurker here on numpy-list :) cheers, sebastien. -- ######################################### # Dr. Sebastien Binet # Laboratoire de l'Accelerateur Lineaire # Universite Paris-Sud XI # Batiment 200 # 91898 Orsay ######################################### From faltet at pytables.org Fri Jun 11 04:08:40 2010 From: faltet at pytables.org (Francesc Alted) Date: Fri, 11 Jun 2010 10:08:40 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <4C1182E6.80701@molden.no> References: <4C1182E6.80701@molden.no> Message-ID: <201006111008.40165.faltet@pytables.org> A Friday 11 June 2010 02:27:18 Sturla Molden escrigu?: > >> Another thing I did when reimplementing lfilter was "copy-in copy-out" > >> for strided arrays. > > > > What is copy-in copy out ? I am not familiar with this term ? > > Strided memory access is slow. So it often helps to make a temporary > copy that are contiguous. In my experience, this technique will only work well with strided arrays if you are going to re-use the data of these temporaries in cache, or your data is unaligned. But if you are going to use the data only once (and this is very common in NumPy element-wise operations), this is rather counter- productive for strided arrays. For example, in numexpr, we made a lot of different tests comparing "copy-in copy-out" and direct access techniques for strided arrays. The result was that operations with direct access showed significantly better performance with strided arrays. On the contrary, for unaligned arrays the copy-in copy- out technique gave better results. Look at these times, where the arrays where unidimensional with a length of 1 million element each, but the results can be extrapolated to larger, multidimensional arrays (the original benchmark file is bench/vml_timing.py): -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Numexpr version: 1.3.2.dev169 NumPy version: 1.4.1rc2 Python version: 2.6.1 (r261:67515, Feb 3 2009, 17:34:37) [GCC 4.3.2 [gcc-4_3-branch revision 141291]] Platform: linux2-x86_64 AMD/Intel CPU? True VML available? True VML/MKL version: Intel(R) Math Kernel Library Version 10.1.0 Product Build 081809.14 for Intel(R) 64 architecture applications -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= To start with, times between numpy and numexpr are very similar for very simple expressions (except for unaligned arrays, where "copy-in copy-out" works pretty well for numexpr): ******************* Expression: i2 > 0 numpy: 0.0016 numpy strided: 0.0037 numpy unaligned: 0.0086 numexpr: 0.0016 Speed-up of numexpr over numpy: 0.9512 numexpr strided: 0.0039 Speed-up of numexpr over numpy: 0.964 numexpr unaligned: 0.0042 Speed-up of numexpr over numpy: 2.0598 When doing some basic operations (mind that there are no temporaries here, so numpy should be not in great disadvantage), direct access to strided data goes between 2x and 3x faster than numpy: ******************* Expression: f3+f4 numpy: 0.0060 numpy strided: 0.0176 numpy unaligned: 0.0166 numexpr: 0.0052 Speed-up of numexpr over numpy: 1.1609 numexpr strided: 0.0086 Speed-up of numexpr over numpy: 2.0584 numexpr unaligned: 0.0099 Speed-up of numexpr over numpy: 1.6785 ******************* Expression: f3+i2 numpy: 0.0060 numpy strided: 0.0176 numpy unaligned: 0.0176 numexpr: 0.0031 Speed-up of numexpr over numpy: 1.9137 numexpr strided: 0.0061 Speed-up of numexpr over numpy: 2.8789 numexpr unaligned: 0.0078 Speed-up of numexpr over numpy: 2.2411 Notice how, until now, absolute times in numexpr and strided arrays (using the direct technique) are faster than the unaligned case (copy-in copy-out). Also, when evaluating transcendental expressions (numexpr uses Intel's Vector Math Library, VML, here), direct access is again faster than NumPy: ******************* Expression: exp(f3) numpy: 0.0150 numpy strided: 0.0155 numpy unaligned: 0.0222 numexpr: 0.0030 Speed-up of numexpr over numpy: 5.0268 numexpr strided: 0.0081 Speed-up of numexpr over numpy: 1.9086 numexpr unaligned: 0.0066 Speed-up of numexpr over numpy: 3.3454 ******************* Expression: log(exp(f3)+1)/f4 numpy: 0.0486 numpy strided: 0.0563 numpy unaligned: 0.0639 numexpr: 0.0121 Speed-up of numexpr over numpy: 4.0332 numexpr strided: 0.0170 Speed-up of numexpr over numpy: 3.3067 numexpr unaligned: 0.0164 Speed-up of numexpr over numpy: 3.8833 However, now that I see the latter figures, I don't remember that we have checked whether a copy-in copy-out technique would work faster in combination with VML. By looking at the better absolute times in unaligned arrays, I'd say chances are that performance for the strided scenario *might* benefit from using copy-in/copy-out. Mmh, that's worth a try... -- Francesc Alted From pav at iki.fi Fri Jun 11 04:17:40 2010 From: pav at iki.fi (Pauli Virtanen) Date: Fri, 11 Jun 2010 08:17:40 +0000 (UTC) Subject: [Numpy-discussion] NumPy re-factoring project References: <4C111744.5010007@molden.no> <4C115FA8.3040503@molden.no> Message-ID: Thu, 10 Jun 2010 23:56:56 +0200, Sturla Molden wrote: [clip] > Also about array iterators in NumPy's C base (i.e. for doing something > along an axis): we don't need those. There is a different way of coding > which leads to faster code. > > 1. Collect an array of pointers to each subarray (e.g. using > std::vector or dtype**) > 2. Dispatch on the pointer array... This is actually what the current ufunc code does. The innermost dimension is handled via the ufunc loop, which is a simple for loop with constant-size step and is given a number of iterations. The array iterator objects are used only for stepping through the outer dimensions. That is, it essentially steps through your dtype** array, without explicitly constructing it. An abstraction for iteration through an array is useful, also for building the dtype** array, so we should probably retain them. For multidimensional arrays, you run here into the optimization problem of choosing the order of axes so that the memory access pattern makes a maximally efficient use of the cache. Currently, this optimization heuristic is really simple, and makes the wrong choice even in the simple 2D case. We could in principle use OpenMP to parallelize the outer loop, as long as the inner ufunc part is implemented in C, and does not go back into Python. But if the problem is memory-bound, it is not clear that parallelization helps. Another task for optimization would perhaps be to implement specialized loops for each operation, currently we do one function indirection per iteration which probably costs something. But again, it may be that the operations are already bounded by memory speed, and this would not improve performance. -- Pauli Virtanen From meine at informatik.uni-hamburg.de Fri Jun 11 04:29:28 2010 From: meine at informatik.uni-hamburg.de (Hans Meine) Date: Fri, 11 Jun 2010 10:29:28 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: <4C111744.5010007@molden.no> Message-ID: <201006111029.28582.meine@informatik.uni-hamburg.de> On Thursday 10 June 2010 22:28:28 Pauli Virtanen wrote: > Some places where Openmp could probably help are in the inner ufunc > loops. However, improving the memory efficiency of the data access > pattern is another low-hanging fruit for multidimensional arrays. I was about to mention this when the thread started.. at least I want to raise awareness of the current problems again, so they can be taken into account while refactoring. Theoretically, this should be really low-hanging fruit, but I have no idea how much work it is. The problem is: NumPy uses C-order indexing by default. While it supports F- order arrays, too, using F-oder arrays leads to unnecessary slow-downs, since the dimensions are walked through from left to right, and not in memory order. Ideally, algorithms would get wrapped in between two additional pre-/postprocessing steps: 1) Preprocessing: After broadcasting, transpose the input arrays such that they become C order. More specifically, sort the strides of one (e.g. the first/the largest) input array decreasingly, and apply the same transposition to the other arrays (in + out if given). 2) Perform the actual algorithm, producing a C-order output array. 3) Apply the reverse transposition to the output array. This would - fix the bug that operations (e.g. addition) on F-order arrays are slower than on C-order arrays, - fix the bug that the order of the output arrays differs from that of the input arrays (this is very annoying when dealing with 3rd party libraries that use and expect F-order everywhere), and - be easy for elementwise operations, but - need further thinking / special handling of operations where the number & mapping of dimensions of the input & output arrays is more complex. Last, but not least, here is a pointer to our previous discussion of the topic in the thread "Unnecessarily bad performance of elementwise operators with Fortran-arrays": http://www.mail-archive.com/numpy-discussion at scipy.org/msg05100.html Have a nice day, Hans From pav at iki.fi Fri Jun 11 04:38:28 2010 From: pav at iki.fi (Pauli Virtanen) Date: Fri, 11 Jun 2010 08:38:28 +0000 (UTC) Subject: [Numpy-discussion] NumPy re-factoring project References: <4C111744.5010007@molden.no> <201006111029.28582.meine@informatik.uni-hamburg.de> Message-ID: Fri, 11 Jun 2010 10:29:28 +0200, Hans Meine wrote: [clip] > Ideally, algorithms would get wrapped in between two additional > pre-/postprocessing steps: > > 1) Preprocessing: After broadcasting, transpose the input arrays such > that they become C order. More specifically, sort the strides of one > (e.g. the first/the largest) input array decreasingly, and apply the > same transposition to the other arrays (in + out if given). > > 2) Perform the actual algorithm, producing a C-order output array. > > 3) Apply the reverse transposition to the output array. [clip] The post/preprocessing steps are fairly easy to implement in the ufunc machinery. The problem here was that this would result to a subtle semantic change, as output arrays from ufuncs would no longer necessarily be in C order. We need to explicitly to *decide* to make this change, before proceeding. I'd say that we should simply do this, as nobody should depend on this assumption. I think I there was some code ready to implement this shuffling. I'll try to dig it out and implement the shuffling. -- Pauli Virtanen From meine at informatik.uni-hamburg.de Fri Jun 11 04:52:52 2010 From: meine at informatik.uni-hamburg.de (Hans Meine) Date: Fri, 11 Jun 2010 10:52:52 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: <201006111029.28582.meine@informatik.uni-hamburg.de> Message-ID: <201006111052.52965.meine@informatik.uni-hamburg.de> On Friday 11 June 2010 10:38:28 Pauli Virtanen wrote: > Fri, 11 Jun 2010 10:29:28 +0200, Hans Meine wrote: > > Ideally, algorithms would get wrapped in between two additional > > pre-/postprocessing steps: > > > > 1) Preprocessing: After broadcasting, transpose the input arrays such > > that they become C order. More specifically, sort the strides of one > > (e.g. the first/the largest) input array decreasingly, and apply the > > same transposition to the other arrays (in + out if given). > > > > 2) Perform the actual algorithm, producing a C-order output array. > > > > 3) Apply the reverse transposition to the output array. > > [clip] > > The post/preprocessing steps are fairly easy to implement in the ufunc > machinery. > > The problem here was that this would result to a subtle semantic change, > as output arrays from ufuncs would no longer necessarily be in C order. I don't see it as a problem, really. People who rely on C order will also give C order input arrays to the algorithms. > We need to explicitly to *decide* to make this change, before proceeding. > I'd say that we should simply do this, as nobody should depend on this > assumption. +1 I seem to recall that even Travis, or at least David C. gave a similar opinion in the mentioned thread in the past. > I think I there was some code ready to implement this shuffling. I'll try > to dig it out and implement the shuffling. That would be great! Ullrich K?the has implemented this for our VIGRA/numpy bindings: http://tinyurl.com/fast-ufunc At the bottom you can see that he basically wraps all numpy.ufuncs he can find in the numpy top-level namespace automatically. Looking forward to this, Hans From sturla at molden.no Fri Jun 11 09:31:45 2010 From: sturla at molden.no (Sturla Molden) Date: Fri, 11 Jun 2010 15:31:45 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: <4C111744.5010007@molden.no> <4C115FA8.3040503@molden.no> Message-ID: <4C123AC1.8010407@molden.no> Den 11.06.2010 10:17, skrev Pauli Virtanen: >> 1. Collect an array of pointers to each subarray (e.g. using >> std::vector or dtype**) >> 2. Dispatch on the pointer array... >> > This is actually what the current ufunc code does. > > The innermost dimension is handled via the ufunc loop, which is a simple > for loop with constant-size step and is given a number of iterations. The > array iterator objects are used only for stepping through the outer > dimensions. That is, it essentially steps through your dtype** array, > without explicitly constructing it. > > Yes, exactly my point. And because the iterator does not explicitely construct the array, it sucks for parallel programming (e.g. with OpenMP): - The iterator becomes a bottleneck to which access must be serialized with a mutex. - We cannot do proper work scheduling (load balancing) > We could in principle use OpenMP to parallelize the outer loop, as long > as the inner ufunc part is implemented in C, and does not go back into > Python. Yes. And for that we need to explicitely construct a pointer array. > But if the problem is memory-bound, it is not clear that > parallelization helps. > That is often the case, yes. Memory access patterns is one of the most important issues speed wise, particularly when working with strided array slices. It would also make sence to evaluate expressions like "y = b*x + a" without a temporary array for b*x. I know roughly how to do it, but don't have time to look at it before next year. (Yes I know about numexpr, I am talking about plain Python code.) Sturla From bsouthey at gmail.com Fri Jun 11 09:46:44 2010 From: bsouthey at gmail.com (Bruce Southey) Date: Fri, 11 Jun 2010 08:46:44 -0500 Subject: [Numpy-discussion] Tools / data structures for statistical analysis and related applications In-Reply-To: References: Message-ID: <4C123E44.1090207@gmail.com> On 06/09/2010 03:40 PM, Wes McKinney wrote: > Dear all, > > We've been having discussions on the pystatsmodels mailing list > recently regarding data structures and other tools for statistics / > other related data analysis applications. I believe we're trying to > answer a number of different, but related questions: > > 1. What are the sets of functionality (and use cases) which would be > desirable for the scientific (or statistical) Python programmer? > Things like groupby > (http://projects.scipy.org/numpy/browser/trunk/doc/neps/groupby_additions.rst) > fall into this category. > > 2. Do we really need to build custom data structures (larry, pandas, > tabular, etc.) or are structured ndarrays enough? (My conclusion is > that we do need to, but others might disagree). If so, how much > performance are we willing to trade for functionality? > > 3. What needs to happen for Python / NumPy / SciPy to really "break > in" to the statistical computing field? In other words, could a > Python-based stack one day be a competitive alternative to R? > > These are just some ideas for collecting community input. Of course as > we're all working in different problem domains, the needs of users > will vary quite a bit across the board. We've started to collect some > thoughts, links, etc. on the scipy.org wiki: > > http://scipy.org/StatisticalDataStructures > > A lot of what's there already is commentary and comparison on the > functionality provided by pandas and la / larry (since Keith and I > wrote most of the stuff there). But I think we're trying to identify > more generally the things that are lacking in NumPy/SciPy and related > libraries for particular applications. At minimum it should be good > fodder for the SciPy conferences this year and afterward (I am > submitting a paper on this subject based on my experiences). > > - Wes > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > If you need pure data storage then all you require is an timeseries, masked structured ndarray. That will handle time/dates, missing values and named variables. This is probably the basis of all statistical packages, databases and spreadsheets. But the real problem is the blas/lapack usage that prevents anything but an standard narray. The issue that I have with all these packages like tabulate, la and pandas that extend narrays is the 'upstream'/'downstream' problem of open source development. The real problem with these extensions of numpy is that while you can have whatever storage you like, you either need to write your own functions or preprocess the storage into an acceptable form. So you have to rely on those extensions being update with numpy/scipy since a 'fix' upstream can cause havoc downstream. I subscribe to what other have said elsewhere in the open source community in that it is very important to get your desired features upstream to the original project source - preferably numpy but scipy also counts. Bruce From sturla at molden.no Fri Jun 11 09:47:44 2010 From: sturla at molden.no (Sturla Molden) Date: Fri, 11 Jun 2010 15:47:44 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <87iq5q3usx.fsf@cern.ch> References: <4C111744.5010007@molden.no> <76F985AA-47FC-44FA-9DA6-D6879D4406A1@enthought.com> <4C11664D.2040706@molden.no> <87iq5q3usx.fsf@cern.ch> Message-ID: <4C123E80.2050106@molden.no> Den 11.06.2010 09:14, skrev Sebastien Binet: > it of course depends on the granularity at which you wrap and use > numpy-core but tight loops calling ctypes ain't gonna be pretty > performance-wise. > Tight loops in Python are never pretty. The purpose of vectorization with NumPy is to avoid tight Python loops. > I really think using cython would be a better option. > one'd get the python2<-> python3 transition for "free". > > Perhaps. Cython has nice syntax for PEP 3118 buffers. But there are downsides to this: - Cython is not C. We want the core to be a C library independent of Python. - Cython depends on CPython. - Compiling Cython generated C takes time. - Linkage can be a PITA (I use 64-bit Python now, and import libraries for gcc are missing.) Sturla From ben.root at ou.edu Fri Jun 11 11:12:40 2010 From: ben.root at ou.edu (Benjamin Root) Date: Fri, 11 Jun 2010 10:12:40 -0500 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <4C123AC1.8010407@molden.no> References: <4C111744.5010007@molden.no> <4C115FA8.3040503@molden.no> <4C123AC1.8010407@molden.no> Message-ID: On Fri, Jun 11, 2010 at 8:31 AM, Sturla Molden wrote: > > > It would also make sence to evaluate expressions like "y = b*x + a" > without a temporary array for b*x. I know roughly how to do it, but > don't have time to look at it before next year. (Yes I know about > numexpr, I am talking about plain Python code.) > > > Sturla > > > If I may chime in here with my own experience with NumPy code... I typically use older, "weaker" computers for my work. I am not doing real-time modeling or some other really advanced, difficult computations. For me, NumPy works "fast enough", even on an EeePC. My main issue is the one given above by Sturla. I find that NumPy's memory usage can go out-of-control very easily in long mathematical expressions. With a mix of constants and large matricies, each step in the order of operations seems to take up more memory. Often, I would run into a major slow-down from trashing the swap. This is fairly trivial to get around by operating over slices of the matrices at a time, but -- to me -- all of this talk about optimizing the speed of the operations without addressing the temporaries issue is like trying to tune-up the engine of a car without bothering to take the lead weights out of the trunk. Just my 2 cents. Ben Root -------------- next part -------------- An HTML attachment was scrubbed... URL: From aarchiba at physics.mcgill.ca Fri Jun 11 11:17:29 2010 From: aarchiba at physics.mcgill.ca (Anne Archibald) Date: Fri, 11 Jun 2010 11:17:29 -0400 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: <4C111744.5010007@molden.no> <4C115FA8.3040503@molden.no> <4C123AC1.8010407@molden.no> Message-ID: On 11 June 2010 11:12, Benjamin Root wrote: > > > On Fri, Jun 11, 2010 at 8:31 AM, Sturla Molden wrote: >> >> >> It would also make sence to evaluate expressions like "y = b*x + a" >> without a temporary array for b*x. I know roughly how to do it, but >> don't have time to look at it before next year. (Yes I know about >> numexpr, I am talking about plain Python code.) >> >> >> Sturla >> >> > > If I may chime in here with my own experience with NumPy code... > > I typically use older, "weaker" computers for my work. I am not doing > real-time modeling or some other really advanced, difficult computations. > For me, NumPy works "fast enough", even on an EeePC. My main issue is the > one given above by Sturla. I find that NumPy's memory usage can go > out-of-control very easily in long mathematical expressions. With a mix of > constants and large matricies, each step in the order of operations seems to > take up more memory. Often, I would run into a major slow-down from > trashing the swap. This is fairly trivial to get around by operating over > slices of the matrices at a time, but -- to me -- all of this talk about > optimizing the speed of the operations without addressing the temporaries > issue is like trying to tune-up the engine of a car without bothering to > take the lead weights out of the trunk. I should say, though, that I've gone through the process of removing all temporary allocation using ufunc output arguments (np.add(a,b,c)) only to discover that it didn't actually save any memory and it was slower. The nice thing about temporaries is that they're, well, temporary; they go away. On the other hand, since memory reads are very slow, optimizations that do more calculation per load/store could make a very big difference, eliminating temporaries as a side effect. Anne > Just my 2 cents. > > Ben Root > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > From wesmckinn at gmail.com Fri Jun 11 11:26:26 2010 From: wesmckinn at gmail.com (Wes McKinney) Date: Fri, 11 Jun 2010 11:26:26 -0400 Subject: [Numpy-discussion] Tools / data structures for statistical analysis and related applications In-Reply-To: <4C123E44.1090207@gmail.com> References: <4C123E44.1090207@gmail.com> Message-ID: On Fri, Jun 11, 2010 at 9:46 AM, Bruce Southey wrote: > On 06/09/2010 03:40 PM, Wes McKinney wrote: >> Dear all, >> >> We've been having discussions on the pystatsmodels mailing list >> recently regarding data structures and other tools for statistics / >> other related data analysis applications. ?I believe we're trying to >> answer a number of different, but related questions: >> >> 1. What are the sets of functionality (and use cases) which would be >> desirable for the scientific (or statistical) Python programmer? >> Things like groupby >> (http://projects.scipy.org/numpy/browser/trunk/doc/neps/groupby_additions.rst) >> fall into this category. >> >> 2. Do we really need to build custom data structures (larry, pandas, >> tabular, etc.) or are structured ndarrays enough? (My conclusion is >> that we do need to, but others might disagree). If so, how much >> performance are we willing to trade for functionality? >> >> 3. What needs to happen for Python / NumPy / SciPy to really "break >> in" to the statistical computing field? In other words, could a >> Python-based stack one day be a competitive alternative to R? >> >> These are just some ideas for collecting community input. Of course as >> we're all working in different problem domains, the needs of users >> will vary quite a bit across the board. We've started to collect some >> thoughts, links, etc. on the scipy.org wiki: >> >> http://scipy.org/StatisticalDataStructures >> >> A lot of what's there already is commentary and comparison on the >> functionality provided by pandas and la / larry (since Keith and I >> wrote most of the stuff there). But I think we're trying to identify >> more generally the things that are lacking in NumPy/SciPy and related >> libraries for particular applications. At minimum it should be good >> fodder for the SciPy conferences this year and afterward (I am >> submitting a paper on this subject based on my experiences). >> >> - Wes >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > > If you need pure data storage then all you require is an timeseries, > masked structured ndarray. That will handle time/dates, missing values > and named variables. This is probably the basis of all statistical > packages, databases and spreadsheets. But the real problem is the > blas/lapack usage that prevents anything but an standard narray. For storing data sets I can agree that a structured / masked ndarray is sufficient. But I think a lot of people are primarily concerned about data manipulations in memory (which can be currently quite obtuse). If you are referring to scikits.timeseries-- it expects data to be fixed frequency which is a too rigid assumption for many applications (like mine). > > The issue that I have with all these packages like tabulate, la and > pandas that extend narrays is the 'upstream'/'downstream' problem of > open source development. The real problem with these extensions of numpy > is that while you can have whatever storage you like, you either need to > write your own functions or preprocess the storage into an acceptable > form. So you have to rely on those extensions being update with > numpy/scipy since a 'fix' upstream can cause havoc downstream. I In theory this could be a problem but of all packages to depend on in the Python ecosystem, NumPy seems pretty safe. How many API breakages have there been in ndarray in the last few years? Inherently this is a risk of participating in open-source. After more than 2 years of running a NumPy-SciPy based stack in production applications I feel pretty comfortable. And besides, we write unit tests for a reason, right? > subscribe to what other have said elsewhere in the open source community > in that it is very important to get your desired features upstream to > the original project source - preferably numpy but scipy also counts. >From my experience developing pandas it's not clear to me what I've done that _should_ make its way "upstream" into NumPy and / or SciPy. You could imagine some form of high-level statistical data structure making its way into scipy.stats but I'm not sure. If NumPy could incorporate something like R's NA value without substantially degrading performance then that would be a boon to the issue of handling missing data (which MaskedArray does do for us-- but at non-trivial performance loss). Data alignment routines, groupby (which is already on the table), and NaN / missing data sensitive moving window functions (mean, median, std, etc.) would be nice general additions as well. Any other ideas? > > > Bruce > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From dagss at student.matnat.uio.no Fri Jun 11 11:47:02 2010 From: dagss at student.matnat.uio.no (Dag Sverre Seljebotn) Date: Fri, 11 Jun 2010 17:47:02 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <4C123E80.2050106@molden.no> References: <4C111744.5010007@molden.no> <76F985AA-47FC-44FA-9DA6-D6879D4406A1@enthought.com> <4C11664D.2040706@molden.no> <87iq5q3usx.fsf@cern.ch> <4C123E80.2050106@molden.no> Message-ID: <4C125A76.3080403@student.matnat.uio.no> Sturla Molden wrote: > Den 11.06.2010 09:14, skrev Sebastien Binet: >> it of course depends on the granularity at which you wrap and use >> numpy-core but tight loops calling ctypes ain't gonna be pretty >> performance-wise. >> > > Tight loops in Python are never pretty. > > The purpose of vectorization with NumPy is to avoid tight Python loops. > >> I really think using cython would be a better option. >> one'd get the python2<-> python3 transition for "free". >> >> > > Perhaps. Cython has nice syntax for PEP 3118 buffers. But there are > downsides to this: IMO I think the syntax is not useful in this setting. > - Cython is not C. We want the core to be a C library independent of Python. Cython could fill the role you propose that ctypes takes. The advantage is a) (IMO) nicer syntax...well, at least can be less verbose than ctypes b) Avoids having to structure the whole API around what can be done in Python+ctypes. A pure ctypes+pure C solution would have a tendency to push stuff that logically belongs Python-module-side into pure C side, which could be a very bad thing. c) Possible to iteratively move more and more from C-extension/Cython over to C side, rather than a full rewrite in ctypes + C. There's disadvantages re compilation, but see below. I believe this is rather long term though. Stuff like this has to be done iteratively; one must not rewrite from scratch. > - Cython depends on CPython. > - Compiling Cython generated C takes time. > - Linkage can be a PITA (I use 64-bit Python now, and import libraries > for gcc are missing.) Well, if you can't link CPython extension modules you're going to have major problem with about every single scientific Python library out there. Unless you actually tackle the root of the problem, rewriting NumPy with ctypes won't help -- you also need to rewrite matplotlib, mayavi, PyTables, SciPy, mpi4py etc. etc. etc. etc. in ctypes + pure C without the CPython API. In other words, I don't think this is a very reasonable argument. (Well, perhaps NumPy is in some sense more "basic" than these others.) Dag Sverre From sturla at molden.no Fri Jun 11 11:49:20 2010 From: sturla at molden.no (Sturla Molden) Date: Fri, 11 Jun 2010 17:49:20 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: <4C111744.5010007@molden.no> <4C115FA8.3040503@molden.no> <4C123AC1.8010407@molden.no> Message-ID: <4C125B00.7080900@molden.no> Den 11.06.2010 17:17, skrev Anne Archibald: > > On the other hand, since memory reads are very slow, optimizations > that do more calculation per load/store could make a very big > difference, eliminating temporaries as a side effect. > Yes, that's the main issue, not the extra memory they use. Sturla From pav at iki.fi Fri Jun 11 12:42:11 2010 From: pav at iki.fi (Pauli Virtanen) Date: Fri, 11 Jun 2010 16:42:11 +0000 (UTC) Subject: [Numpy-discussion] NumPy re-factoring project References: <4C111744.5010007@molden.no> <4C115FA8.3040503@molden.no> <4C123AC1.8010407@molden.no> Message-ID: Fri, 11 Jun 2010 15:31:45 +0200, Sturla Molden wrote: [clip] >> The innermost dimension is handled via the ufunc loop, which is a >> simple for loop with constant-size step and is given a number of >> iterations. The array iterator objects are used only for stepping >> through the outer dimensions. That is, it essentially steps through >> your dtype** array, without explicitly constructing it. > > Yes, exactly my point. And because the iterator does not explicitely > construct the array, it sucks for parallel programming (e.g. with > OpenMP): > > - The iterator becomes a bottleneck to which access must be serialized > with a mutex. > - We cannot do proper work scheduling (load balancing) I don't necessarily agree: you can do for parallelized outer loop { critical section { p = get iterator pointer ++iterator } inner loop in region `p` } This does allow load balancing etc., as a free processor can immediately grab the next available slice. Also, it would be easier to implement with OpenMP pragmas in the current code base. Of course, the assumption here is that the outer iterator overhead is small compared to the duration of the inner loop. This must then be compared to the memory access overhead involved in the dtype** array. -- Pauli Virtanen From bsouthey at gmail.com Fri Jun 11 13:57:37 2010 From: bsouthey at gmail.com (Bruce Southey) Date: Fri, 11 Jun 2010 12:57:37 -0500 Subject: [Numpy-discussion] Tools / data structures for statistical analysis and related applications In-Reply-To: References: <4C123E44.1090207@gmail.com> Message-ID: <4C127911.6060607@gmail.com> On 06/11/2010 10:26 AM, Wes McKinney wrote: > On Fri, Jun 11, 2010 at 9:46 AM, Bruce Southey wrote: > >> On 06/09/2010 03:40 PM, Wes McKinney wrote: >> >>> Dear all, >>> >>> We've been having discussions on the pystatsmodels mailing list >>> recently regarding data structures and other tools for statistics / >>> other related data analysis applications. I believe we're trying to >>> answer a number of different, but related questions: >>> >>> 1. What are the sets of functionality (and use cases) which would be >>> desirable for the scientific (or statistical) Python programmer? >>> Things like groupby >>> (http://projects.scipy.org/numpy/browser/trunk/doc/neps/groupby_additions.rst) >>> fall into this category. >>> >>> 2. Do we really need to build custom data structures (larry, pandas, >>> tabular, etc.) or are structured ndarrays enough? (My conclusion is >>> that we do need to, but others might disagree). If so, how much >>> performance are we willing to trade for functionality? >>> >>> 3. What needs to happen for Python / NumPy / SciPy to really "break >>> in" to the statistical computing field? In other words, could a >>> Python-based stack one day be a competitive alternative to R? >>> >>> These are just some ideas for collecting community input. Of course as >>> we're all working in different problem domains, the needs of users >>> will vary quite a bit across the board. We've started to collect some >>> thoughts, links, etc. on the scipy.org wiki: >>> >>> http://scipy.org/StatisticalDataStructures >>> >>> A lot of what's there already is commentary and comparison on the >>> functionality provided by pandas and la / larry (since Keith and I >>> wrote most of the stuff there). But I think we're trying to identify >>> more generally the things that are lacking in NumPy/SciPy and related >>> libraries for particular applications. At minimum it should be good >>> fodder for the SciPy conferences this year and afterward (I am >>> submitting a paper on this subject based on my experiences). >>> >>> - Wes >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >>> >> If you need pure data storage then all you require is an timeseries, >> masked structured ndarray. That will handle time/dates, missing values >> and named variables. This is probably the basis of all statistical >> packages, databases and spreadsheets. But the real problem is the >> blas/lapack usage that prevents anything but an standard narray. >> > For storing data sets I can agree that a structured / masked ndarray > is sufficient. But I think a lot of people are primarily concerned > about data manipulations in memory (which can be currently quite > obtuse). Well that is not storage :-) Data manipulations are too case dependent and full of comprises between flexibility, memory usage and cpu time. For example, do I create a design matrix X so I can compute np.dot(X.T, X) or directly form the product as I read the data? The former is a memory hog because I have potentially huge X array as well as the smaller product array - this holds for any solving approach that work on X. Not to mention that X.T*X is symmetric which is further savings especially if you can use the symmetric functions of blas/lapack. > If you are referring to scikits.timeseries-- it expects data > to be fixed frequency which is a too rigid assumption for many > applications (like mine). > I am referring to any container that holds a date/time variable such as the datetime module. > >> The issue that I have with all these packages like tabulate, la and >> pandas that extend narrays is the 'upstream'/'downstream' problem of >> open source development. The real problem with these extensions of numpy >> is that while you can have whatever storage you like, you either need to >> write your own functions or preprocess the storage into an acceptable >> form. So you have to rely on those extensions being update with >> numpy/scipy since a 'fix' upstream can cause havoc downstream. I >> > In theory this could be a problem but of all packages to depend on in > the Python ecosystem, NumPy seems pretty safe. How many API breakages > have there been in ndarray in the last few years? Inherently this is a > risk of participating in open-source. After more than 2 years of > running a NumPy-SciPy based stack in production applications I feel > pretty comfortable. And besides, we write unit tests for a reason, > right? > > >> subscribe to what other have said elsewhere in the open source community >> in that it is very important to get your desired features upstream to >> the original project source - preferably numpy but scipy also counts. >> > > From my experience developing pandas it's not clear to me what I've > done that _should_ make its way "upstream" into NumPy and / or SciPy. > You could imagine some form of high-level statistical data structure > making its way into scipy.stats but I'm not sure. As I indicated above, you have to rewrite the functions to use some new data structure and I think that would be a negative-sum game. > If NumPy could > incorporate something like R's NA value without substantially > degrading performance then that would be a boon to the issue of > handling missing data (which MaskedArray does do for us-- but at > non-trivial performance loss). Numpy is not orientated to the same goals as S (or SAS or any other stats application) so it it not a valid comparison to make. For example, S was designed from the start to " support serious data analysis" http://cm.bell-labs.com/cm/ms/departments/sia/S/history.html and "[f]rom the beginning, S was designed to provide a complete environment for data analysis" http://cm.bell-labs.com/stat/doc/96.7.ps There is also the issue of how S/R handles missing values as well. > Data alignment routines, groupby (which > is already on the table), and NaN / missing data sensitive moving > window functions (mean, median, std, etc.) would be nice general > additions as well. Any other ideas? > > At present I am waiting to see what happens with pystatsmodels as Python stats analysis is not very high on my list as other Python things. Bruce -------------- next part -------------- An HTML attachment was scrubbed... URL: From gael.varoquaux at normalesup.org Fri Jun 11 14:51:01 2010 From: gael.varoquaux at normalesup.org (Gael Varoquaux) Date: Fri, 11 Jun 2010 20:51:01 +0200 Subject: [Numpy-discussion] Tools / data structures for statistical analysis and related applications In-Reply-To: <4C127911.6060607@gmail.com> References: <4C123E44.1090207@gmail.com> <4C127911.6060607@gmail.com> Message-ID: <20100611185101.GB4401@phare.normalesup.org> On Fri, Jun 11, 2010 at 12:57:37PM -0500, Bruce Southey wrote: > 2. Do we really need to build custom data structures (larry, pandas, > tabular, etc.) or are structured ndarrays enough? (My conclusion is > that we do need to, but others might disagree). If so, how much > performance are we willing to trade for functionality? For this purpose, I like Fernando's data array: http://github.com/fperez/datarray A very simple subclass of ndarrays that answers my most-wanted feature in terms of richer data structures. But, on the other hand, I have never really used R's advanced features, so I may be missing something. My 2 cents, Ga?l From kwgoodman at gmail.com Fri Jun 11 15:02:41 2010 From: kwgoodman at gmail.com (Keith Goodman) Date: Fri, 11 Jun 2010 12:02:41 -0700 Subject: [Numpy-discussion] Tools / data structures for statistical analysis and related applications In-Reply-To: <20100611185101.GB4401@phare.normalesup.org> References: <4C123E44.1090207@gmail.com> <4C127911.6060607@gmail.com> <20100611185101.GB4401@phare.normalesup.org> Message-ID: On Fri, Jun 11, 2010 at 11:51 AM, Gael Varoquaux wrote: > On Fri, Jun 11, 2010 at 12:57:37PM -0500, Bruce Southey wrote: >> ?2. Do we really need to build custom data structures (larry, pandas, >> ?tabular, etc.) or are structured ndarrays enough? (My conclusion is >> ?that we do need to, but others might disagree). If so, how much >> ?performance are we willing to trade for functionality? > > For this purpose, I like Fernando's data array: > http://github.com/fperez/datarray > A very simple subclass of ndarrays that answers my most-wanted feature in > terms of richer data structures. > > But, on the other hand, I have never really used R's advanced features, > so I may be missing something. > > My 2 cents, > > Ga?l I looks like datarray labels the axes. The data object in pandas and la, on the other hand, label the elements along each axis. From jordan at math.ucsb.edu Fri Jun 11 23:06:07 2010 From: jordan at math.ucsb.edu (jordan at math.ucsb.edu) Date: Fri, 11 Jun 2010 20:06:07 -0700 (PDT) Subject: [Numpy-discussion] PutSum? Message-ID: <50599.71.102.236.227.1276311967.squirrel@mail.math.ucsb.edu> Hi all, I recently needed to a simple array procedure that I assumed would be supported (and almost is) but was surprised to find some limitations. I've got two arrays, A and B, and some array of indices, I, and I want to perform the operation A[I] += B where I and B have the same dimensions. This works fine provided there are no repeated indices in I, but otherwise only the last of each repeated index is used. I've written a C function I call PutSum that does what I want, but I figured there must something already lying around. Is there? Cheers, Jordan From robert.kern at gmail.com Fri Jun 11 23:08:24 2010 From: robert.kern at gmail.com (Robert Kern) Date: Fri, 11 Jun 2010 22:08:24 -0500 Subject: [Numpy-discussion] PutSum? In-Reply-To: <50599.71.102.236.227.1276311967.squirrel@mail.math.ucsb.edu> References: <50599.71.102.236.227.1276311967.squirrel@mail.math.ucsb.edu> Message-ID: On Fri, Jun 11, 2010 at 22:06, wrote: > Hi all, > > I recently needed to a simple array procedure that I assumed would be > supported (and almost is) but was surprised to find some limitations. > > I've got two arrays, A and B, and some array of indices, I, and I want to > perform the operation > > A[I] += B > > where I and B have the same dimensions. > > This works fine provided there are no repeated indices in I, but otherwise > only the last of each repeated index is used. I've written a C function I > call PutSum that does what I want, but I figured there must something > already lying around. Is there? numpy.bincount() -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From lists at onerussian.com Fri Jun 11 23:10:46 2010 From: lists at onerussian.com (Yaroslav Halchenko) Date: Fri, 11 Jun 2010 23:10:46 -0400 Subject: [Numpy-discussion] Tools / data structures for statistical analysis and related applications In-Reply-To: References: <4C123E44.1090207@gmail.com> <4C127911.6060607@gmail.com> <20100611185101.GB4401@phare.normalesup.org> Message-ID: <20100612031046.GB12007@onerussian.com> On Fri, 11 Jun 2010, Keith Goodman wrote: > > For this purpose, I like Fernando's data array: > > http://github.com/fperez/datarray A very simple subclass of ndarrays > > that answers my most-wanted feature in terms of richer data > > structures. > > >...< > I looks like datarray labels the axes. The data object in pandas and > la, on the other hand, label the elements along each axis. And, just to expose what we neededi for our project, in PyMVPA we have a Dataset (or very base class AttrDataset) http://github.com/hanke/PyMVPA/blob/master/mvpa/base/dataset.py#L31 which has not unique labels per each row/column, but rather collections of possibly non-unique values assigned to each row/column. Often we have attributes repeating across different rows or columns, but they might become unique "identifiers" if multiple attributes are considered at the same time (e.g. if you had attributes 'day', 'month', 'year', only taking all 3 of them together would uniquely identify the entry). Most of the time we are interested in groups of rows/columns sharing the same attribute (e.g. a label for a sample in classification problems). -- .-. =------------------------------ /v\ ----------------------------= Keep in touch // \\ (yoh@|www.)onerussian.com Yaroslav Halchenko /( )\ ICQ#: 60653192 Linux User ^^-^^ [175555] From sebastian.walter at gmail.com Sat Jun 12 09:27:59 2010 From: sebastian.walter at gmail.com (Sebastian Walter) Date: Sat, 12 Jun 2010 15:27:59 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <4C111744.5010007@molden.no> References: <4C111744.5010007@molden.no> Message-ID: On Thu, Jun 10, 2010 at 6:48 PM, Sturla Molden wrote: > > I have a few radical suggestions: > > 1. Use ctypes as glue to the core DLL, so we can completely forget about > refcounts and similar mess. Why put manual reference counting and error > handling in the core? It's stupid. I totally agree, I thought that the refactoring was supposed to provide simple data structures and simple algorithms to perform the C equivalents of sin,cos,exp, dot, +,-,*,/, dot, inv, ... Let me explain at an example what I expected: In the core C numpy library there would be new "numpy_array" struct with attributes numpy_array->buffer numpy_array->dtype numpy_array->ndim numpy_array->shape numpy_array->strides numpy_array->owndata etc. that replaces the current PyArrayObject which contains Python C API stuff: typedef struct PyArrayObject { PyObject_HEAD char *data; /* pointer to raw data buffer */ int nd; /* number of dimensions, also called ndim */ npy_intp *dimensions; /* size in each dimension */ npy_intp *strides; /* bytes to jump to get to the next element in each dimension */ PyObject *base; /* This object should be decref'd upon deletion of array */ /* For views it points to the original array */ /* For creation from buffer object it points to an object that shold be decref'd on deletion */ /* For UPDATEIFCOPY flag this is an array to-be-updated upon deletion of this one */ PyArray_Descr *descr; /* Pointer to type structure */ int flags; /* Flags describing array -- see below*/ PyObject *weakreflist; /* For weakreferences */ void *buffer_info; /* Data used by the buffer interface */ } PyArrayObject; Example: -------------- If one calls the following Python code x = numpy.zeros((N,M,K), dtype=float) the memory allocation would be done on the Python side. Calling a ufunc like y = numpy.sin(x) would first allocate the memory for y on the Python side and then call a C function a la numpy_unary_ufunc( double (*fcn_ptr)(double), numpy_array *x, numpy_array *y) If y is already allocated, one would call y = numpy.sin(x, out = y) Similarly z = x*y would first allocate the memory for z and then call a C function a la numpy_binary_ufunc( double (*fcn_ptr)(double, double), numpy_array *x, numpy_array *y, numpy_array *z) similarly other functions like dot: z = dot(x,y, out = z) would simply call a C function a la numpy_dot( numpy_array *x, numpy_array *y, numpy_array *z) If one wants to use numpy functions on the C side only, one would use the numpy_array struct manually. I.e. one has to do the memory management oneself in C. Which is perfectly ok since one is just interested in using the algorithms. > > 2. The core should be a plain DLL, loadable with ctypes. (I know David > Cournapeau and Robert Kern is going to hate this.) But if Python can have a > custom loader for .pyd files, so can NumPy for it's core DLL. For ctypes we > just need to specify a fully qualified path to the DLL, which can be read > from a config file or whatever. That would probably the easiest way. > > 3. ctypes will take care of all the mess regarding the GIL. Again there is > no need to re-invent the wheel. ctypes.CDLL releases the GIL when calling > into C, and re-acquires before making callbacks to Python. ctypes.PyDLL > keeps the GIL for legacy library code that are not threadsafe. I have not much experience with parallelizing codes. If one implements the algorithms side effect free it should be quite easy to parallelize them on the C level, not? > > ctypes will also make porting to other Python implementations easier (or > even other languages: Ruby, JacaScript) easier. Not to mention that it will > make NumPy impervious to changes in the Python C API. > > 4. Write the core in C++ or Fortran (95/2003), not C. ANSI C (aka C89). Use > std::vector<> instead of malloc/free for C++, and possibly templates for > generics on various dtypes. The only reason I see for C++ is the possibility to use meta programming which is very ill-designed. I'd rather like to see some simple code preprocessing on C code than C++ template meta programming. And it should be possible to avoid mallocs in the C code, not? > > 5. Allow OpenMP pragmas in the core. If arrays are above a certain size, it > should switch to multi-threading. > > Sturla Just my 2 cents, Sebastian > > > > > > > Den 10.06.2010 15:26, skrev Charles R Harris: > > A few thoughts came to mind while reading the initial writeup. > > 1) How is the GIL handled in the callbacks. > 2) What about error handling? That is tricky to get right, especially in C > and with reference counting. > 3) Is there a general policy as to how the reference counting should be > handled in specific functions? That is, who does the reference > incrementing/decrementing? > 4) Boost has some reference counted pointers, have you looked at them? C++ > is admittedly a very different animal for this sort of application. > > Chuck > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > From cournape at gmail.com Sat Jun 12 09:57:21 2010 From: cournape at gmail.com (David Cournapeau) Date: Sat, 12 Jun 2010 22:57:21 +0900 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: <4C111744.5010007@molden.no> Message-ID: On Sat, Jun 12, 2010 at 10:27 PM, Sebastian Walter wrote: > On Thu, Jun 10, 2010 at 6:48 PM, Sturla Molden wrote: >> >> I have a few radical suggestions: >> >> 1. Use ctypes as glue to the core DLL, so we can completely forget about >> refcounts and similar mess. Why put manual reference counting and error >> handling in the core? It's stupid. > > I totally agree, I ?thought that the refactoring was supposed to provide > simple data structures and simple algorithms to perform the C equivalents of > sin,cos,exp, dot, +,-,*,/, dot, inv, ... > > Let me explain at an example what I expected: > > In the core C numpy library there would be new ?"numpy_array" struct > with attributes > > ?numpy_array->buffer > ?numpy_array->dtype > ?numpy_array->ndim > ?numpy_array->shape > ?numpy_array->strides > ?numpy_array->owndata > etc. > > that replaces the current ?PyArrayObject which contains Python C API stuff: > > typedef struct PyArrayObject { > ? ? ? ?PyObject_HEAD > ? ? ? ?char *data; ? ? ? ? ? ? /* pointer to raw data buffer */ > ? ? ? ?int nd; ? ? ? ? ? ? ? ? /* number of dimensions, also called ndim */ > ? ? ? ?npy_intp *dimensions; ? ? ? /* size in each dimension */ > ? ? ? ?npy_intp *strides; ? ? ? ? ?/* bytes to jump to get to the > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? next element in each dimension */ > ? ? ? ?PyObject *base; ? ? ? ? /* This object should be decref'd > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? upon deletion of array */ > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* For views it points to the original array */ > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* For creation from buffer object it points > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? to an object that shold be decref'd on > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? deletion */ > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* For UPDATEIFCOPY flag this is an array > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? to-be-updated upon deletion of this one */ > ? ? ? ?PyArray_Descr *descr; ? /* Pointer to type structure */ > ? ? ? ?int flags; ? ? ? ? ? ? ?/* Flags describing array -- see below*/ > ? ? ? ?PyObject *weakreflist; ?/* For weakreferences */ > ? ? ? ?void *buffer_info; ? ? ?/* Data used by the buffer interface */ > } PyArrayObject; > > > > Example: > -------------- > > If one calls the following Python code > x = numpy.zeros((N,M,K), dtype=float) > the memory allocation would be done on the Python side. > > Calling a ufunc like > y = numpy.sin(x) > would first allocate the memory for y on the Python side > and then call a C function a la > numpy_unary_ufunc( double (*fcn_ptr)(double), numpy_array *x, numpy_array *y) > > If y is already allocated, one would call > y = numpy.sin(x, out = y) > > Similarly z = x*y > would first allocate the memory for z and then call a C function a la > numpy_binary_ufunc( double (*fcn_ptr)(double, double), numpy_array *x, > numpy_array *y, numpy_array *z) > > > similarly other functions like dot: > z = dot(x,y, out = z) > > would simply call a C function a la > numpy_dot( numpy_array *x, numpy_array *y, numpy_array *z) > > > If one wants to use numpy functions on the C side only, one would use > the numpy_array struct manually. > I.e. one has to do the memory management oneself in C. Which is > perfectly ok since one is just interested in using > the algorithms. Anything non trivial will require memory allocation and object ownership conventions. If the goal is interoperation with other languages and vm, you may want to use something else than plain malloc, to interact better with the allocation strategies of the host platform (reference counting, garbage collection). > The only reason I see for C++ is the possibility to use meta programming which > is very ill-designed. I'd rather like to see some simple code > preprocessing on C code than > C++ template meta programming. I don't think anyone is seriously considering changing languages. Especially if interoperation is desired, C is miles ahead of C++ anyway. David From sturla at molden.no Sat Jun 12 13:00:30 2010 From: sturla at molden.no (Sturla Molden) Date: Sat, 12 Jun 2010 19:00:30 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: <4C111744.5010007@molden.no> Message-ID: <4C13BD2E.70005@molden.no> Den 12.06.2010 15:57, skrev David Cournapeau: > Anything non trivial will require memory allocation and object > ownership conventions. If the goal is interoperation with other > languages and vm, you may want to use something else than plain > malloc, to interact better with the allocation strategies of the host > platform (reference counting, garbage collection). > > We can allocate memory on the Python side e.g. using Python's bytearray, ctypes array, or a Python string. We don't need the convenstion of "ownership" if we use a Python object to store the data buffer (e.g. bytearray). It owns itself, and commit suicide when garbage collected. Sturla From Chris.Barker at noaa.gov Sat Jun 12 13:17:12 2010 From: Chris.Barker at noaa.gov (Christopher Barker) Date: Sat, 12 Jun 2010 10:17:12 -0700 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: <4C111744.5010007@molden.no> Message-ID: <4C13C118.5030004@noaa.gov> David Cournapeau wrote: >> In the core C numpy library there would be new "numpy_array" struct >> with attributes >> >> numpy_array->buffer > Anything non trivial will require memory allocation and object > ownership conventions. I totally agree -- I've been thinking for a while about a core array data structure that you could use from C/C++, and would interact well with numpy and Python -- it would be even better if it WAS numpy. I was thinking that at the root of it would be a "data_block" object (the buffer in the above), that would have a reference counting system. It would be its own system, but hopefully be able to link to Python's easily when used with Python. we're talking C here, so trying to have a full fledged memory management would be practically inventing another language, but if the just the data blocks of memory could be managed, that would allow things like sub-arrays, and slices, and views to work well. I as partly inspired by how useless C++ std::valarrays appeared to be -- a slice of a valarray is not the same as a valarray, because the original valrray is managing the memory (and I may have that wrong) -- what this said to me is that there needs to be a central system managing the memory blocks, while the user code can manage the higher level objects. If the C core were left with absolutely no memory management, then I think we'd have a next to useless system in raw C. -Chris -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception Chris.Barker at noaa.gov From dagss at student.matnat.uio.no Sat Jun 12 13:38:02 2010 From: dagss at student.matnat.uio.no (Dag Sverre Seljebotn) Date: Sat, 12 Jun 2010 19:38:02 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <4C13C118.5030004@noaa.gov> References: <4C111744.5010007@molden.no> <4C13C118.5030004@noaa.gov> Message-ID: Christopher Barker wrote: > David Cournapeau wrote: >>> In the core C numpy library there would be new "numpy_array" struct >>> with attributes >>> >>> numpy_array->buffer > >> Anything non trivial will require memory allocation and object >> ownership conventions. > > I totally agree -- I've been thinking for a while about a core array > data structure that you could use from C/C++, and would interact well > with numpy and Python -- it would be even better if it WAS numpy. > > I was thinking that at the root of it would be a "data_block" object > (the buffer in the above), that would have a reference counting system. > It would be its own system, but hopefully be able to link to Python's > easily when used with Python. I think taking PEP 3118, strip out the Python-specific things, and then add memory management conventions, would be a good starting point. Simply a simple header file/struct definition and specification, which could in time become a de facto way of exporting multidimensional array data between C libraries, between Fortran and C and so on (Kurt Smith's fwrap could easily be adapted to support it). The C-NumPy would then be a library on top of this spec (mainly ufuncs operating on such structs). The memory management conventions needs some thought, as you say, because of slices -- but a central memory allocator is not good enough because one would often be accessing memory that's allocated with other purposes in mind (and should not be deallocated, or deallocated in a special way). So refcounts + deallocator callback seems reasonable. (Not that I'm involved in this, just my 2 cents.) Dag Sverre From charlesr.harris at gmail.com Sat Jun 12 15:35:44 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Sat, 12 Jun 2010 13:35:44 -0600 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: <4C111744.5010007@molden.no> <4C13C118.5030004@noaa.gov> Message-ID: On Sat, Jun 12, 2010 at 11:38 AM, Dag Sverre Seljebotn < dagss at student.matnat.uio.no> wrote: > Christopher Barker wrote: > > David Cournapeau wrote: > >>> In the core C numpy library there would be new "numpy_array" struct > >>> with attributes > >>> > >>> numpy_array->buffer > > > >> Anything non trivial will require memory allocation and object > >> ownership conventions. > > > > I totally agree -- I've been thinking for a while about a core array > > data structure that you could use from C/C++, and would interact well > > with numpy and Python -- it would be even better if it WAS numpy. > > > > I was thinking that at the root of it would be a "data_block" object > > (the buffer in the above), that would have a reference counting system. > > It would be its own system, but hopefully be able to link to Python's > > easily when used with Python. > > I think taking PEP 3118, strip out the Python-specific things, and then > add memory management conventions, would be a good starting point. > > Simply a simple header file/struct definition and specification, which > could in time become a de facto way of exporting multidimensional array > data between C libraries, between Fortran and C and so on (Kurt Smith's > fwrap could easily be adapted to support it). The C-NumPy would then be a > library on top of this spec (mainly ufuncs operating on such structs). > > The memory management conventions needs some thought, as you say, because > of slices -- but a central memory allocator is not good enough because one > would often be accessing memory that's allocated with other purposes in > mind (and should not be deallocated, or deallocated in a special way). So > refcounts + deallocator callback seems reasonable. > > (Not that I'm involved in this, just my 2 cents.) > > This is more the way I see things, except I would divide the bottom layer into two parts, views and memory. The memory can come from many places -- memmaps, user supplied buffers, etc. -- but we should provide a simple reference counted allocator for the default. The views correspond more to PEP 3118 and simply provide data types, dimensions, and strides, much as arrays do now. However, I would confine the data types to those available in C with a bit extra information as to precision, because. Object arrays would be a special case of pointer arrays (void pointer arrays?) and structured arrays/Unicode might be a special case of char arrays. The more complicated dtypes would then be built on top of those. Some things just won't be portable, pointers in particular, but such is life. As to languages, I think we should stay with C. C++ has much to offer for this sort of thing but would be quite a big jump and maybe not as universal as C. FORTRAN is harder to come by than C and older versions didn't have such things as unsigned integers. I really haven't used FORTRAN since the 77 version, so haven't much idea what the modern version looks like, but I do suspect we have more C programmers than FORTRAN programmers, and adding a language translation on top of a design refactoring is just going to complicate things. Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From charlesr.harris at gmail.com Sat Jun 12 15:41:37 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Sat, 12 Jun 2010 13:41:37 -0600 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: <4C111744.5010007@molden.no> <4C13C118.5030004@noaa.gov> Message-ID: On Sat, Jun 12, 2010 at 1:35 PM, Charles R Harris wrote: > > > On Sat, Jun 12, 2010 at 11:38 AM, Dag Sverre Seljebotn < > dagss at student.matnat.uio.no> wrote: > >> Christopher Barker wrote: >> > David Cournapeau wrote: >> >>> In the core C numpy library there would be new "numpy_array" struct >> >>> with attributes >> >>> >> >>> numpy_array->buffer >> > >> >> Anything non trivial will require memory allocation and object >> >> ownership conventions. >> > >> > I totally agree -- I've been thinking for a while about a core array >> > data structure that you could use from C/C++, and would interact well >> > with numpy and Python -- it would be even better if it WAS numpy. >> > >> > I was thinking that at the root of it would be a "data_block" object >> > (the buffer in the above), that would have a reference counting system. >> > It would be its own system, but hopefully be able to link to Python's >> > easily when used with Python. >> >> I think taking PEP 3118, strip out the Python-specific things, and then >> add memory management conventions, would be a good starting point. >> >> Simply a simple header file/struct definition and specification, which >> could in time become a de facto way of exporting multidimensional array >> data between C libraries, between Fortran and C and so on (Kurt Smith's >> fwrap could easily be adapted to support it). The C-NumPy would then be a >> library on top of this spec (mainly ufuncs operating on such structs). >> >> The memory management conventions needs some thought, as you say, because >> of slices -- but a central memory allocator is not good enough because one >> would often be accessing memory that's allocated with other purposes in >> mind (and should not be deallocated, or deallocated in a special way). So >> refcounts + deallocator callback seems reasonable. >> >> (Not that I'm involved in this, just my 2 cents.) >> >> > This is more the way I see things, except I would divide the bottom layer > into two parts, views and memory. The memory can come from many places -- > memmaps, user supplied buffers, etc. -- but we should provide a simple > reference counted allocator for the default. The views correspond more to > PEP 3118 and simply provide data types, dimensions, and strides, much as > arrays do now. However, I would confine the data types to those available in > C with a bit extra information as to precision, because. Object arrays > would be a special case of pointer arrays (void pointer arrays?) and > structured arrays/Unicode might be a special case of char arrays. The more > complicated dtypes would then be built on top of those. Some things just > won't be portable, pointers in particular, but such is life. > > As to languages, I think we should stay with C. C++ has much to offer for > this sort of thing but would be quite a big jump and maybe not as universal > as C. FORTRAN is harder to come by than C and older versions didn't have > such things as unsigned integers. I really haven't used FORTRAN since the 77 > version, so haven't much idea what the modern version looks like, but I do > suspect we have more C programmers than FORTRAN programmers, and adding a > language translation on top of a design refactoring is just going to > complicate things. > > Oh, and we should have iterators for the views. So the base would be memory + views + iterators. Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From faltet at pytables.org Sat Jun 12 16:01:30 2010 From: faltet at pytables.org (Francesc Alted) Date: Sat, 12 Jun 2010 22:01:30 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: <4C111744.5010007@molden.no> <4C13C118.5030004@noaa.gov> Message-ID: 2010/6/12 Charles R Harris > > This is more the way I see things, except I would divide the bottom layer > into two parts, views and memory. The memory can come from many places -- > memmaps, user supplied buffers, etc. -- but we should provide a simple > reference counted allocator for the default. The views correspond more to > PEP 3118 and simply provide data types, dimensions, and strides, much as > arrays do now. However, I would confine the data types to those available in > C with a bit extra information as to precision, because. Object arrays > would be a special case of pointer arrays (void pointer arrays?) and > structured arrays/Unicode might be a special case of char arrays. The more > complicated dtypes would then be built on top of those. Some things just > won't be portable, pointers in particular, but such is life. > Well, if "data block" of ndarray is going to be refactored that much, it might be an interesting idea if it would support transparent compression. As I see the things, it is clear that the gap between CPU power and memory bandwith is widening and that trend will continue for long time. This means that having the possibility to deal with compressed data transparently, would impact not only in a less memory consumption, but also in improved memory access. Getting improved memory access by using compression may sound a bit crazy, but it is not. For example, the Blosc [1] project (which is undergoing the latests testing steps before becoming stable) is showing signs that, by using multimedia extensions in CPUs and multi-threading techniques, this is becoming possible (as shown in [2]). Of course, this optimization may have not much sense for accelerating computations in NumPy if it cannot get rid of the temporary variables problem (which I hope this can be resolved some day), but still, it could be useful improving performance with other features (like copying, broadcasting or performing selections more efficiently). [1] http://blosc.pytables.org/ [2] http://blosc.pytables.org/trac/wiki/SyntheticBenchmarks Just another wish into the bag ;-) -- Francesc Alted -------------- next part -------------- An HTML attachment was scrubbed... URL: From ben.root at ou.edu Sat Jun 12 16:12:28 2010 From: ben.root at ou.edu (Benjamin Root) Date: Sat, 12 Jun 2010 15:12:28 -0500 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: <4C111744.5010007@molden.no> <4C13C118.5030004@noaa.gov> Message-ID: If I could, I would like to throw out another possible feature that might need to be taken into consideration for designing the implementation of numpy arrays. One thing I found somewhat lacking -- if that is the right term -- is a way to convolve a numpy array with an arbitrary windowing element. I managed to do some fancy indexing approaches, but they never did seem efficient. So -- if it is at all possible -- I would like to see a design that not only vectorizes well, but could also be used be used efficiently in arbitrary (or "fancy") indexing schemes as well. Maybe what I am asking is technically infeasible... I don't know. Just something to consider. I'll get back to doing documentation... Ben Root -------------- next part -------------- An HTML attachment was scrubbed... URL: From sebastian.walter at gmail.com Sat Jun 12 16:12:50 2010 From: sebastian.walter at gmail.com (Sebastian Walter) Date: Sat, 12 Jun 2010 22:12:50 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: <4C111744.5010007@molden.no> Message-ID: On Sat, Jun 12, 2010 at 3:57 PM, David Cournapeau wrote: > On Sat, Jun 12, 2010 at 10:27 PM, Sebastian Walter > wrote: >> On Thu, Jun 10, 2010 at 6:48 PM, Sturla Molden wrote: >>> >>> I have a few radical suggestions: >>> >>> 1. Use ctypes as glue to the core DLL, so we can completely forget about >>> refcounts and similar mess. Why put manual reference counting and error >>> handling in the core? It's stupid. >> >> I totally agree, I ?thought that the refactoring was supposed to provide >> simple data structures and simple algorithms to perform the C equivalents of >> sin,cos,exp, dot, +,-,*,/, dot, inv, ... >> >> Let me explain at an example what I expected: >> >> In the core C numpy library there would be new ?"numpy_array" struct >> with attributes >> >> ?numpy_array->buffer >> ?numpy_array->dtype >> ?numpy_array->ndim >> ?numpy_array->shape >> ?numpy_array->strides >> ?numpy_array->owndata >> etc. >> >> that replaces the current ?PyArrayObject which contains Python C API stuff: >> >> typedef struct PyArrayObject { >> ? ? ? ?PyObject_HEAD >> ? ? ? ?char *data; ? ? ? ? ? ? /* pointer to raw data buffer */ >> ? ? ? ?int nd; ? ? ? ? ? ? ? ? /* number of dimensions, also called ndim */ >> ? ? ? ?npy_intp *dimensions; ? ? ? /* size in each dimension */ >> ? ? ? ?npy_intp *strides; ? ? ? ? ?/* bytes to jump to get to the >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? next element in each dimension */ >> ? ? ? ?PyObject *base; ? ? ? ? /* This object should be decref'd >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? upon deletion of array */ >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* For views it points to the original array */ >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* For creation from buffer object it points >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? to an object that shold be decref'd on >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? deletion */ >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* For UPDATEIFCOPY flag this is an array >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? to-be-updated upon deletion of this one */ >> ? ? ? ?PyArray_Descr *descr; ? /* Pointer to type structure */ >> ? ? ? ?int flags; ? ? ? ? ? ? ?/* Flags describing array -- see below*/ >> ? ? ? ?PyObject *weakreflist; ?/* For weakreferences */ >> ? ? ? ?void *buffer_info; ? ? ?/* Data used by the buffer interface */ >> } PyArrayObject; >> >> >> >> Example: >> -------------- >> >> If one calls the following Python code >> x = numpy.zeros((N,M,K), dtype=float) >> the memory allocation would be done on the Python side. >> >> Calling a ufunc like >> y = numpy.sin(x) >> would first allocate the memory for y on the Python side >> and then call a C function a la >> numpy_unary_ufunc( double (*fcn_ptr)(double), numpy_array *x, numpy_array *y) >> >> If y is already allocated, one would call >> y = numpy.sin(x, out = y) >> >> Similarly z = x*y >> would first allocate the memory for z and then call a C function a la >> numpy_binary_ufunc( double (*fcn_ptr)(double, double), numpy_array *x, >> numpy_array *y, numpy_array *z) >> >> >> similarly other functions like dot: >> z = dot(x,y, out = z) >> >> would simply call a C function a la >> numpy_dot( numpy_array *x, numpy_array *y, numpy_array *z) >> >> >> If one wants to use numpy functions on the C side only, one would use >> the numpy_array struct manually. >> I.e. one has to do the memory management oneself in C. Which is >> perfectly ok since one is just interested in using >> the algorithms. > > Anything non trivial will require memory allocation and object > ownership conventions. If the goal is interoperation with other > languages and vm, you may want to use something else than plain > malloc, to interact better with the allocation strategies of the host > platform (reference counting, garbage collection). I'm just saying that the "host platform" could do the memory management and not libnumpy. I.e. libnumpy could be just a collection of algorithms. Reimplementing half of the Python C API somehow doesn't feel right to me. Those users who like to use C++ could write a class with methods that internally call the libnumpy functions: -------------- example code ----------------- class Array{ numpy_array *_array; public: const Array operator+(Array &rhs) const { Array retval( ... arguments for the right type and dimensions of the output...); numpy_add((*this)->_array, rhs->_array, retval->_array); return retval; } }; -------------- end code ----------------- I.e. let C++ do all the memory management and type inference but the numpy core C API does the number crunching. In other languages (Python, Ruby, R, whatever) one would implement a similar class. I cannot speak for others, but something about these lines is what I'd love to see since it would make it relatively easy to use numpy functionality even in existing C/C++/R/Ruby codes. Sebastian > > >> The only reason I see for C++ is the possibility to use meta programming which >> is very ill-designed. I'd rather like to see some simple code >> preprocessing on C code than >> C++ template meta programming. > > I don't think anyone is seriously considering changing languages. > Especially if interoperation is desired, C is miles ahead of C++ > anyway. > > David > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From abrombo at verizon.net Sat Jun 12 16:30:14 2010 From: abrombo at verizon.net (Alan Bromborsky) Date: Sat, 12 Jun 2010 16:30:14 -0400 Subject: [Numpy-discussion] Tensor contraction Message-ID: <4C13EE56.4070702@verizon.net> If I have a single numpy array, for example with 3 indices T_{ijk} and I want to sum over two them in the sense of tensor contraction - T_{k} = \sum_{i=0}^{n-1} T_{iik}. Is there an easy way to do this with numpy? From dagss at student.matnat.uio.no Sat Jun 12 16:56:02 2010 From: dagss at student.matnat.uio.no (Dag Sverre Seljebotn) Date: Sat, 12 Jun 2010 22:56:02 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: <4C111744.5010007@molden.no> <4C13C118.5030004@noaa.gov> Message-ID: <19042112035253bff2fc9287517c378e.squirrel@webmail.uio.no> Charles Harris wrote: > On Sat, Jun 12, 2010 at 11:38 AM, Dag Sverre Seljebotn < > dagss at student.matnat.uio.no> wrote: > >> Christopher Barker wrote: >> > David Cournapeau wrote: >> >>> In the core C numpy library there would be new "numpy_array" struct >> >>> with attributes >> >>> >> >>> numpy_array->buffer >> > >> >> Anything non trivial will require memory allocation and object >> >> ownership conventions. >> > >> > I totally agree -- I've been thinking for a while about a core array >> > data structure that you could use from C/C++, and would interact well >> > with numpy and Python -- it would be even better if it WAS numpy. >> > >> > I was thinking that at the root of it would be a "data_block" object >> > (the buffer in the above), that would have a reference counting >> system. >> > It would be its own system, but hopefully be able to link to Python's >> > easily when used with Python. >> >> I think taking PEP 3118, strip out the Python-specific things, and then >> add memory management conventions, would be a good starting point. >> >> Simply a simple header file/struct definition and specification, which >> could in time become a de facto way of exporting multidimensional array >> data between C libraries, between Fortran and C and so on (Kurt Smith's >> fwrap could easily be adapted to support it). The C-NumPy would then be >> a >> library on top of this spec (mainly ufuncs operating on such structs). >> >> The memory management conventions needs some thought, as you say, >> because >> of slices -- but a central memory allocator is not good enough because >> one >> would often be accessing memory that's allocated with other purposes in >> mind (and should not be deallocated, or deallocated in a special way). >> So >> refcounts + deallocator callback seems reasonable. >> >> (Not that I'm involved in this, just my 2 cents.) >> >> > This is more the way I see things, except I would divide the bottom layer > into two parts, views and memory. The memory can come from many places -- > memmaps, user supplied buffers, etc. -- but we should provide a simple > reference counted allocator for the default. The views correspond more to > PEP 3118 and simply provide data types, dimensions, and strides, much as > arrays do now. However, I would confine the data types to those available > in > C with a bit extra information as to precision, because. Object arrays > would be a special case of pointer arrays (void pointer arrays?) and > structured arrays/Unicode might be a special case of char arrays. The more > complicated dtypes would then be built on top of those. Some things just > won't be portable, pointers in particular, but such is life. > > As to languages, I think we should stay with C. C++ has much to offer for > this sort of thing but would be quite a big jump and maybe not as > universal > as C. FORTRAN is harder to come by than C and older versions didn't have > such things as unsigned integers. I really haven't used FORTRAN since the > 77 > version, so haven't much idea what the modern version looks like, but I do > suspect we have more C programmers than FORTRAN programmers, and adding a > language translation on top of a design refactoring is just going to > complicate things. I'm not sure how Fortran got into this, but if it was from what I wrote: I certainly didn't suggest any part of NumPy is written in Fortran. Sorry for causing confusion. What I meant: If there's an "ndarray.h" which basically just contains the minimum C version of PEP 3118 for passing around and accessing arrays. Without any runtime dependencies -- of course, writing code using it will be much easier when using the C-NumPy runtime library, but for simply exporting data from an existing library one could do without the runtime dependency. (To be more precise about fwrap: In fwrap there's a need to pass multidimensional, flexible-size array data back and forth between (autogenerated) Fortran and (autogenerated) C. It currently defines its own structs (or extra arguments, but boils down to the same thing...) for this purpose, but if an "ndarray.h" could create a standard for passing array data then that would be a natural choice instead.) Dag Sverre From josef.pktd at gmail.com Sat Jun 12 16:56:19 2010 From: josef.pktd at gmail.com (josef.pktd at gmail.com) Date: Sat, 12 Jun 2010 16:56:19 -0400 Subject: [Numpy-discussion] Tensor contraction In-Reply-To: <4C13EE56.4070702@verizon.net> References: <4C13EE56.4070702@verizon.net> Message-ID: On Sat, Jun 12, 2010 at 4:30 PM, Alan Bromborsky wrote: > If I have a single numpy array, for example with 3 indices T_{ijk} and I > want to sum over two them in the sense of tensor contraction - > > T_{k} = \sum_{i=0}^{n-1} T_{iik}. ?Is there an easy way to do this with > numpy? looking at numpy docs, diagonal seems to do the trick >>> a = np.arange(8).reshape(2,2,2) >>> a array([[[0, 1], [2, 3]], [[4, 5], [6, 7]]]) >>> a.diagonal(0,0,1) array([[0, 6], [1, 7]]) >>> a[:,:,0] array([[0, 2], [4, 6]]) >>> a[:,:,1] array([[1, 3], [5, 7]]) >>> a.diagonal(0,0,1).sum(1) array([6, 8]) Josef > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From charlesr.harris at gmail.com Sat Jun 12 17:10:54 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Sat, 12 Jun 2010 15:10:54 -0600 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <19042112035253bff2fc9287517c378e.squirrel@webmail.uio.no> References: <4C111744.5010007@molden.no> <4C13C118.5030004@noaa.gov> <19042112035253bff2fc9287517c378e.squirrel@webmail.uio.no> Message-ID: On Sat, Jun 12, 2010 at 2:56 PM, Dag Sverre Seljebotn < dagss at student.matnat.uio.no> wrote: > Charles Harris wrote: > > On Sat, Jun 12, 2010 at 11:38 AM, Dag Sverre Seljebotn < > > dagss at student.matnat.uio.no> wrote: > > > >> Christopher Barker wrote: > >> > David Cournapeau wrote: > >> >>> In the core C numpy library there would be new "numpy_array" struct > >> >>> with attributes > >> >>> > >> >>> numpy_array->buffer > >> > > >> >> Anything non trivial will require memory allocation and object > >> >> ownership conventions. > >> > > >> > I totally agree -- I've been thinking for a while about a core array > >> > data structure that you could use from C/C++, and would interact well > >> > with numpy and Python -- it would be even better if it WAS numpy. > >> > > >> > I was thinking that at the root of it would be a "data_block" object > >> > (the buffer in the above), that would have a reference counting > >> system. > >> > It would be its own system, but hopefully be able to link to Python's > >> > easily when used with Python. > >> > >> I think taking PEP 3118, strip out the Python-specific things, and then > >> add memory management conventions, would be a good starting point. > >> > >> Simply a simple header file/struct definition and specification, which > >> could in time become a de facto way of exporting multidimensional array > >> data between C libraries, between Fortran and C and so on (Kurt Smith's > >> fwrap could easily be adapted to support it). The C-NumPy would then be > >> a > >> library on top of this spec (mainly ufuncs operating on such structs). > >> > >> The memory management conventions needs some thought, as you say, > >> because > >> of slices -- but a central memory allocator is not good enough because > >> one > >> would often be accessing memory that's allocated with other purposes in > >> mind (and should not be deallocated, or deallocated in a special way). > >> So > >> refcounts + deallocator callback seems reasonable. > >> > >> (Not that I'm involved in this, just my 2 cents.) > >> > >> > > This is more the way I see things, except I would divide the bottom layer > > into two parts, views and memory. The memory can come from many places -- > > memmaps, user supplied buffers, etc. -- but we should provide a simple > > reference counted allocator for the default. The views correspond more to > > PEP 3118 and simply provide data types, dimensions, and strides, much as > > arrays do now. However, I would confine the data types to those available > > in > > C with a bit extra information as to precision, because. Object arrays > > would be a special case of pointer arrays (void pointer arrays?) and > > structured arrays/Unicode might be a special case of char arrays. The > more > > complicated dtypes would then be built on top of those. Some things just > > won't be portable, pointers in particular, but such is life. > > > > As to languages, I think we should stay with C. C++ has much to offer for > > this sort of thing but would be quite a big jump and maybe not as > > universal > > as C. FORTRAN is harder to come by than C and older versions didn't have > > such things as unsigned integers. I really haven't used FORTRAN since the > > 77 > > version, so haven't much idea what the modern version looks like, but I > do > > suspect we have more C programmers than FORTRAN programmers, and adding a > > language translation on top of a design refactoring is just going to > > complicate things. > > I'm not sure how Fortran got into this, but if it was from what I wrote: I > certainly didn't suggest any part of NumPy is written in Fortran. Sorry > for causing confusion. > > It was a suggestion by someone else way back in the beginning. I think changing languages is a great way to get side tracked and spend the next year just hacking about. > What I meant: If there's an "ndarray.h" which basically just contains the > minimum C version of PEP 3118 for passing around and accessing arrays. > Without any runtime dependencies -- of course, writing code using it will > be much easier when using the C-NumPy runtime library, but for simply > exporting data from an existing library one could do without the runtime > dependency. > > Well, that would be just one bit. If we want to offer a *functioning* system we have to implement quite a bit more. > (To be more precise about fwrap: In fwrap there's a need to pass > multidimensional, flexible-size array data back and forth between > (autogenerated) Fortran and (autogenerated) C. It currently defines its > own structs (or extra arguments, but boils down to the same thing...) for > this purpose, but if an "ndarray.h" could create a standard for passing > array data then that would be a natural choice instead.) > > Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From friedrichromstedt at gmail.com Sat Jun 12 17:15:16 2010 From: friedrichromstedt at gmail.com (Friedrich Romstedt) Date: Sat, 12 Jun 2010 23:15:16 +0200 Subject: [Numpy-discussion] Tensor contraction In-Reply-To: <4C13EE56.4070702@verizon.net> References: <4C13EE56.4070702@verizon.net> Message-ID: 2010/6/12 Alan Bromborsky : > If I have a single numpy array, for example with 3 indices T_{ijk} and I > want to sum over two them in the sense of tensor contraction - > > T_{k} = \sum_{i=0}^{n-1} T_{iik}. ?Is there an easy way to do this with > numpy? Also you can give: T[I, I, :].sum(axis=0) a try with: I = numpy.arange(0, n) . This has the benefit to not be limited to two-dimensional diagonals, like .diagonal() is. But note that for: T[:, I, I] the shape is reversed with respect to that of: T[I, :, I] and T[I, I, :] . I think it should be written in the docs how the shape is derived. hth, Friedrich From abrombo at verizon.net Sat Jun 12 18:29:55 2010 From: abrombo at verizon.net (Alan Bromborsky) Date: Sat, 12 Jun 2010 18:29:55 -0400 Subject: [Numpy-discussion] Tensor contraction In-Reply-To: References: <4C13EE56.4070702@verizon.net> Message-ID: <4C140A63.6060901@verizon.net> Friedrich Romstedt wrote: > 2010/6/12 Alan Bromborsky : > >> If I have a single numpy array, for example with 3 indices T_{ijk} and I >> want to sum over two them in the sense of tensor contraction - >> >> T_{k} = \sum_{i=0}^{n-1} T_{iik}. Is there an easy way to do this with >> numpy? >> > > Also you can give: > > T[I, I, :].sum(axis=0) > > a try with: > > I = numpy.arange(0, n) . > > This has the benefit to not be limited to two-dimensional diagonals, > like .diagonal() is. > > > But note that for: > T[:, I, I] > the shape is reversed with respect to that of: > T[I, :, I] and T[I, I, :] . > > I think it should be written in the docs how the shape is derived. > > hth, > Friedrich > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > Your method works, but I should have posed the general case. You have an array T_{i_{1}...i_{r}} and you wish to calculate T_{i_{1}...i_{r-2}} = \sum_{i_{j}=i_{k}=0}^{n-1}T_{i_{1}...i_{j}...i_{k}...i_{r}} I don't have a clue as to how to generalize your method. From pav at iki.fi Sat Jun 12 18:45:54 2010 From: pav at iki.fi (Pauli Virtanen) Date: Sat, 12 Jun 2010 22:45:54 +0000 (UTC) Subject: [Numpy-discussion] Tensor contraction References: <4C13EE56.4070702@verizon.net> Message-ID: Sat, 12 Jun 2010 23:15:16 +0200, Friedrich Romstedt wrote: [clip] > But note that for: > T[:, I, I] > the shape is reversed with respect to that of: > T[I, :, I] and T[I, I, :] . > > I think it should be written in the docs how the shape is derived. It's explained there in detail (although maybe not in the simplest possible words): http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#integer Let "index dimension" be a dimension for which you supply an array (rather than the :-slice) as an index. Let "broadcast shape of indices" be the shape to which all the index arrays are broadcasted to. (= same as "(i1+i2+...+in).shape"). The rule is that 1) if all the index dimensions are next to each other, then the shape of the result array is (dimensions preceding the index dimensions) + (broadcast shape of indices) + (dimensions after the index dimensions) 2) if the index dimensions are not all next to each other, then the shape of the result array is (broadcast shape of indices) + (non-index dimensions) Might be a bit surprising, but at this point it's not going to be changed. -- Pauli Virtanen From pav at iki.fi Sat Jun 12 19:12:58 2010 From: pav at iki.fi (Pauli Virtanen) Date: Sat, 12 Jun 2010 23:12:58 +0000 (UTC) Subject: [Numpy-discussion] Tensor contraction References: <4C13EE56.4070702@verizon.net> Message-ID: Sat, 12 Jun 2010 16:30:14 -0400, Alan Bromborsky wrote: > If I have a single numpy array, for example with 3 indices T_{ijk} and I > want to sum over two them in the sense of tensor contraction - > > T_{k} = \sum_{i=0}^{n-1} T_{iik}. Is there an easy way to do this with > numpy? HTH, (not really tested, so you get what you pay for) def tensor_contraction_single(tensor, dimensions): """Perform a single tensor contraction over the dimensions given""" swap = [x for x in range(tensor.ndim) if x not in dimensions] + list(dimensions) x = tensor.transpose(swap) for k in range(len(dimensions) - 1): x = np.diagonal(x, axis1=-2, axis2=-1) return x.sum(axis=-1) def _preserve_indices(indices, removed): """Adjust values of indices after some items are removed""" for r in reversed(sorted(removed)): indices = [j if j <= r else j-1 for j in indices] return indices def tensor_contraction(tensor, contractions): """Perform several tensor contractions""" while contractions: dimensions = contractions.pop(0) tensor = tensor_contraction_single(tensor, dimensions) contractions = [_preserve_indices(c, dimensions) for c in contractions] return tensor # b_{km} = sum_{ij} a_{i,j,k,j,i,m} a = np.random.rand(3,2,4,2,3,5) b = tensor_contraction(a, [(0,4), (1,3)]) b2 = np.zeros((4, 5)) for i in range(3): for j in range(2): b2 += a[i,j,:,j,i,:] assert (abs(b - b2) < 1e-12).all() From ademan555 at gmail.com Sat Jun 12 20:33:13 2010 From: ademan555 at gmail.com (Dan Roberts) Date: Sat, 12 Jun 2010 17:33:13 -0700 Subject: [Numpy-discussion] PyArray_Scalar() and Unicode In-Reply-To: References: Message-ID: I apologize ahead of time for anything I might be totally missing, but in order to make PyArray_Scalar() work on non-CPython interpreters, it's necessary for me to significantly refactor that function. I've made (untested but correct looking) changes to the function to handle all of the data types except Unicode. I just got the crash course in Unicode today so my understanding is limited. It seems the most compatible way to turn the UCS4 data into a PyUnicodeObject would be to first convert it to UCS2 and then use PyUnicode_DecodeUTF16() to create the python object. There are a few problems with this. The biggest problem for me is that it appears PyUCS2Buffer_FromUCS4() doesn't produce UCS2 at all, but rather UTF-16 since it produces surrogate pairs for code points above 0xFFFF. My first question is: is there any time when the data produced by PyUCS2Buffer_FromUCS4() wouldn't be parseable by a standards compliant UTF-16 decoder? Aside from that, converting to UCS2, possibly after making a word aligned copy of the original data, then converting that to the native storage, which is likely UTF-16 anyways, is horribly wasteful. The ideal way to accomplish this would be to simply use PyUnicode_DecodeUTF32() on the original data and be done with it. The biggest problem with this approach is it's not very compatible (Requires Python 2.6, and currently isn't implemented in PyPy but that's fixable) I talked briefly to St?fan about this and he mentioned that you were involved in all of this and that things are in a state of flux. So before I devoted a significant amount of time and thought to this I thought I'd put myself out into the open air and see if there's any major holes in my rationale, or if things will change significantly enough that I should adjust my approach. Thanks, Dan -------------- next part -------------- An HTML attachment was scrubbed... URL: From cournape at gmail.com Sat Jun 12 20:39:17 2010 From: cournape at gmail.com (David Cournapeau) Date: Sun, 13 Jun 2010 09:39:17 +0900 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <4C13BD2E.70005@molden.no> References: <4C111744.5010007@molden.no> <4C13BD2E.70005@molden.no> Message-ID: On Sun, Jun 13, 2010 at 2:00 AM, Sturla Molden wrote: > Den 12.06.2010 15:57, skrev David Cournapeau: >> Anything non trivial will require memory allocation and object >> ownership conventions. If the goal is interoperation with other >> languages and vm, you may want to use something else than plain >> malloc, to interact better with the allocation strategies of the host >> platform (reference counting, garbage collection). >> >> > > We can allocate memory on the Python side e.g. using Python's bytearray, > ctypes array, or a Python string. > > We don't need the convenstion of "ownership" if we use a Python object > to store the data buffer (e.g. bytearray). It owns itself, and commit > suicide when garbage collected. But the point is to get rid of the python dependency, and if you don't allow any api call to allocate memory, there is not much left to implement in the core. David From sturla at molden.no Sat Jun 12 22:39:03 2010 From: sturla at molden.no (Sturla Molden) Date: Sun, 13 Jun 2010 04:39:03 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: <4C111744.5010007@molden.no> <4C13BD2E.70005@molden.no> Message-ID: <4C1444C7.30503@molden.no> Den 13.06.2010 02:39, skrev David Cournapeau: > > But the point is to get rid of the python dependency, and if you don't > allow any api call to allocate memory, there is not much left to > implement in the core. > > Memory allocation is platform dependent. A CPython version could use bytearray, other platforms could e.g. use arrays from a gc managed heap (IronPython, Jython). Because memory management is platform dependent, it does not naturally belong in the core. Having ndarrays allocate buffers with malloc() and "own" buffers they've allocated complicate things terribly. The purpose of "ownership" is to know which ndarray is to call free() on the buffer. Why go through all that pain? It's just a duplication of Python's garbage collection. Re-inventing the wheel is stupid. Let buffers be Python objects that clean themselves up. If NumPy does not allocate memory on it's own, there will be no leaks due to errors in NumPy. There is still work to do in the core, i.e. the computational loops in array operators, broadcasting, ufuncs, copying data between buffers, etc. The C functions in the core would then be called with the output array already allocated. Sturla From cournape at gmail.com Sat Jun 12 23:47:12 2010 From: cournape at gmail.com (David Cournapeau) Date: Sun, 13 Jun 2010 12:47:12 +0900 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <4C1444C7.30503@molden.no> References: <4C111744.5010007@molden.no> <4C13BD2E.70005@molden.no> <4C1444C7.30503@molden.no> Message-ID: On Sun, Jun 13, 2010 at 11:39 AM, Sturla Molden wrote: > If NumPy does not allocate memory on it's own, there will be no leaks > due to errors in NumPy. > > There is still work to do in the core, i.e. the computational loops in > array operators, broadcasting, ufuncs, copying data between buffers, etc. > > The C functions in the core would then be called with the output array > already allocated. This only works in simple cases. What do you do when you don't know the output size ? How do you deal with reallocation ? How do you deal with ufunc and broadcasting buffering without allocating in the library ? I don't see how that's possible. Before calling things stupid, you better have a solution to those issues, David From sturla at molden.no Sun Jun 13 00:54:29 2010 From: sturla at molden.no (Sturla Molden) Date: Sun, 13 Jun 2010 06:54:29 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: <4C111744.5010007@molden.no> <4C13BD2E.70005@molden.no> <4C1444C7.30503@molden.no> Message-ID: <4C146485.2040603@molden.no> Den 13.06.2010 05:47, skrev David Cournapeau: > > This only works in simple cases. What do you do when you don't know > the output size ? First: If you don't know, you don't know. Then you're screwed and C is not going to help. Second: If we cannot figure out how much to allocate before starting to use C (very unlikely), we can always use a callback to Python. Or we can have two C functions, the first determining the amount of allocation, the second doing the computation. > How do you deal with reallocation ? That is platform dependent. A buffer object could e.g. have a realloc method. > How do you deal > with ufunc and broadcasting buffering without allocating in the > library ? We allocate whatever we need on the Python side, possibly with a callback to Python if that's what we need. Sturla From pearu.peterson at gmail.com Sun Jun 13 05:08:31 2010 From: pearu.peterson at gmail.com (Pearu Peterson) Date: Sun, 13 Jun 2010 12:08:31 +0300 Subject: [Numpy-discussion] Possible bug: uint64 + int gives float64 Message-ID: Hi, I just noticed some weird behavior in operations with uint64 and int, heres an example: >>> numpy.uint64(3)+1 4.0 >>> type(numpy.uint64(3)+1) Pearu From pav at iki.fi Sun Jun 13 08:26:33 2010 From: pav at iki.fi (Pauli Virtanen) Date: Sun, 13 Jun 2010 12:26:33 +0000 (UTC) Subject: [Numpy-discussion] NumPy re-factoring project References: <4C111744.5010007@molden.no> <4C13BD2E.70005@molden.no> <4C1444C7.30503@molden.no> <4C146485.2040603@molden.no> Message-ID: Sun, 13 Jun 2010 06:54:29 +0200, Sturla Molden wrote: [clip: memory management only in the interface] You forgot views: if memory management is done in the interface layer, it must also make sure that the memory pointed to by a view is never moved around, and not freed before all the views are freed. This probably cannot be done with existing Python objects, since IIRC, they always own their own memory. So one should refactor the memory management out of ndarray on the interface side. The core probably also needs to decide when to create views (indexing), so a callback to the interface is needed. > Second: If we cannot figure out how much to allocate before starting to > use C (very unlikely), The point is that while you in principle can figure it out, you don't *want to* do this work in the interface layer. Computing the output size is just code duplication. > we can always use a callback to Python. Or we can This essentially amounts to having a NpyArray_resize in the interface layer, which the core can call. Here, however, one has the requirement that all arrays needed by core are always passed in to it, including temporary arrays. Sounds a bit like Fortran 77 -- it's not going to be bad, if the number of temporaries is not very large. If the core needs to allocate arrays by itself, this will unevitably lead to memory management that cannot avoided by having the allocation done in the interface layer, as the garbage collector must not mistake a temporary array referenced only by the core as unused. An alternative here is to have an allocation routine NpyArray_new_tmp NpyArray_del_tmp whose allocated memory is released automatically, if left dangling, after the call to the core is completed. This would be useful for temporary arrays, although then one would have to be careful not ever to return memory allocated by this back to the caller. > have two C functions, the first determining the amount of allocation, > the second doing the computation. That sounds like a PITA, think about LAPACK. -- Pauli Virtanen From silva at lma.cnrs-mrs.fr Sun Jun 13 08:32:21 2010 From: silva at lma.cnrs-mrs.fr (Fabrice Silva) Date: Sun, 13 Jun 2010 09:32:21 -0300 Subject: [Numpy-discussion] Numpy, swig and docstring Message-ID: <1276432344.16940.10.camel@Portable-s2m.cnrs-mrs.fr> Hi folks, I am trying to wrap a library with swig, distutils and numpy, and am facing troubles. In fact, swig documentation mention that it is possible to mention a module docsstring in the %module directive : %module(docstring="This is the example module's docstring") example where example is the name of the module to be generated. When using numpy.distutils, I get the following error: building extension "_example" sources error: mismatch of extension names: example.i provides None but expected 'example' the build_src command tries to get the module name by using a regular expression (see numpy/distutils/command/build_src.py) _swig_module_name_match = re.compile( r'\s*%module\s*(.*\(\s*package\s*=\s*"(?P[\w_]+)".*\)|) \s*(?P[\w_]+)',re.I).match which in fact does not cope with the docstring option. Is there a simple workaround or should I manually compile (which is possible in this simple project) ? Thanks From pav at iki.fi Sun Jun 13 08:55:22 2010 From: pav at iki.fi (Pauli Virtanen) Date: Sun, 13 Jun 2010 12:55:22 +0000 (UTC) Subject: [Numpy-discussion] PyArray_Scalar() and Unicode References: Message-ID: Sat, 12 Jun 2010 17:33:13 -0700, Dan Roberts wrote: [clip: refactoring PyArray_Scalar] > There are a few problems with this. The biggest problem for me is > that it appears PyUCS2Buffer_FromUCS4() doesn't produce UCS2 at all, but > rather UTF-16 since it produces surrogate pairs for code points above > 0xFFFF. My first question is: is there any time when the data produced > by PyUCS2Buffer_FromUCS4() wouldn't be parseable by a standards > compliant UTF-16 decoder? Since UTF-16 = UCS-2 + surrogate pairs, as far as I know, the data produced should always be parseable by DecodeUTF16. Conversion to real UCS-2 from UCS-4 would be a lossy procedure, since not all code points can be represented with 2 bytes. -- Pauli Virtanen From nadavh at visionsense.com Sun Jun 13 09:45:48 2010 From: nadavh at visionsense.com (Nadav Horesh) Date: Sun, 13 Jun 2010 16:45:48 +0300 Subject: [Numpy-discussion] Possible bug: uint64 + int gives float64 References: Message-ID: <710F2847B0018641891D9A21602763605AD487@ex3.envision.co.il> int can be larger than numpy.int64 therefore it should be coerced to float64 (or float96/float128) Nadav -----Original Message----- From: numpy-discussion-bounces at scipy.org on behalf of Pearu Peterson Sent: Sun 13-Jun-10 12:08 To: Discussion of Numerical Python Subject: [Numpy-discussion] Possible bug: uint64 + int gives float64 Hi, I just noticed some weird behavior in operations with uint64 and int, heres an example: >>> numpy.uint64(3)+1 4.0 >>> type(numpy.uint64(3)+1) Pearu _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion at scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion -------------- next part -------------- A non-text attachment was scrubbed... Name: winmail.dat Type: application/ms-tnef Size: 2908 bytes Desc: not available URL: From pearu.peterson at gmail.com Sun Jun 13 11:20:15 2010 From: pearu.peterson at gmail.com (Pearu Peterson) Date: Sun, 13 Jun 2010 18:20:15 +0300 Subject: [Numpy-discussion] Possible bug: uint64 + int gives float64 In-Reply-To: <710F2847B0018641891D9A21602763605AD487@ex3.envision.co.il> References: <710F2847B0018641891D9A21602763605AD487@ex3.envision.co.il> Message-ID: On Sun, Jun 13, 2010 at 4:45 PM, Nadav Horesh wrote: > int can be larger than numpy.int64 therefore it should be coerced to float64 (or float96/float128) Ok, I see. The results type is defined by the types of operands, not by their values. I guess this has been discussed earlier but with small operands this feature may be unexpected. For example, with the same rule the result of int64 + int should be float64 while currently it is int64. Pearu From charlesr.harris at gmail.com Sun Jun 13 12:19:50 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Sun, 13 Jun 2010 10:19:50 -0600 Subject: [Numpy-discussion] Possible bug: uint64 + int gives float64 In-Reply-To: References: <710F2847B0018641891D9A21602763605AD487@ex3.envision.co.il> Message-ID: On Sun, Jun 13, 2010 at 9:20 AM, Pearu Peterson wrote: > On Sun, Jun 13, 2010 at 4:45 PM, Nadav Horesh > wrote: > > int can be larger than numpy.int64 therefore it should be coerced to > float64 (or float96/float128) > > Ok, I see. The results type is defined by the types of operands, not > by their values. I guess > this has been discussed earlier but with small operands this feature > may be unexpected. > For example, with the same rule the result of int64 + int should be > float64 while currently > it is int64. > > It's the combination of unsigned with signed that causes the promotion. The int64 type can't hold the largest values in uint64. Strictly speaking, doubles can't hold either of the 64 bit integer types without loss of precision but at least the degradation is more gradual. Another possibility here would be to raise an error/warning because no suitable integer type is available, that would be perhaps less surprising than the promotion to float. IIRC, there is also a case where numeric arrays get promoted to objects, but I don't see my old table of such things floating about at the moment. Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From sturla at molden.no Sun Jun 13 12:30:48 2010 From: sturla at molden.no (Sturla Molden) Date: Sun, 13 Jun 2010 18:30:48 +0200 Subject: [Numpy-discussion] Possible bug: uint64 + int gives float64 In-Reply-To: References: <710F2847B0018641891D9A21602763605AD487@ex3.envision.co.il> Message-ID: <4C1507B8.5000109@molden.no> Den 13.06.2010 18:19, skrev Charles R Harris: > > It's the combination of unsigned with signed that causes the > promotion. The int64 type can't hold the largest values in uint64. > Strictly speaking, doubles can't hold either of the 64 bit integer > types without loss of precision but at least the degradation is more > gradual. Another possibility here would be to raise an error/warning > because no suitable integer type is available, that would be perhaps > less surprising than the promotion to float. As I see it, the 'correct' solution would be coercion to an arbitrarily long integer, such as 'long' in Python 2 and 'int' in Python 3. Sturla From friedrichromstedt at gmail.com Sun Jun 13 13:51:52 2010 From: friedrichromstedt at gmail.com (Friedrich Romstedt) Date: Sun, 13 Jun 2010 19:51:52 +0200 Subject: [Numpy-discussion] Tensor contraction In-Reply-To: References: <4C13EE56.4070702@verizon.net> Message-ID: 2010/6/13 Pauli Virtanen : > def tensor_contraction_single(tensor, dimensions): > ? ?"""Perform a single tensor contraction over the dimensions given""" > ? ?swap = [x for x in range(tensor.ndim) > ? ? ? ? ? ?if x not in dimensions] + list(dimensions) > ? ?x = tensor.transpose(swap) > ? ?for k in range(len(dimensions) - 1): > ? ? ? ?x = np.diagonal(x, axis1=-2, axis2=-1) > ? ?return x.sum(axis=-1) > > def _preserve_indices(indices, removed): > ? ?"""Adjust values of indices after some items are removed""" > ? ?for r in reversed(sorted(removed)): > ? ? ? ?indices = [j if j <= r else j-1 for j in indices] > ? ?return indices > > def tensor_contraction(tensor, contractions): > ? ?"""Perform several tensor contractions""" > ? ?while contractions: > ? ? ? ?dimensions = contractions.pop(0) > ? ? ? ?tensor = tensor_contraction_single(tensor, dimensions) > ? ? ? ?contractions = [_preserve_indices(c, dimensions) > ? ? ? ? ? ? ? ? ? ? ? ?for c in contractions] > ? ?return tensor Pauli, I choke on your code for 10 min or so. I believe there could be some more comments. Alan, Do you really need multiple tensor contractions in one step? If yes, I'd like to put in my 2 cents in coding such one using a different approach, doing all the contractions in one step (via broadcasting). It's challenging. We can generalise this problem as much as we want, e.g. to contracting three instead of only two dimensions. But first, in case you have only two dimensions to contract at one single time instance, then Josef's first suggestion would be fine I think. Simply push out the diagonal dimension to the end via .diagonal() and sum over the last so created dimension. E.g.: # First we create some bogus array to play with: >>> a = numpy.arange(5 ** 4).reshape(5, 5, 5, 5) # Let's see how .diagonal() acts (just FYI, I haven't verified that it is what we want): >>> a.diagonal(axis1=0, axis2=3) array([[[ 0, 126, 252, 378, 504], [ 5, 131, 257, 383, 509], [ 10, 136, 262, 388, 514], [ 15, 141, 267, 393, 519], [ 20, 146, 272, 398, 524]], [[ 25, 151, 277, 403, 529], [ 30, 156, 282, 408, 534], [ 35, 161, 287, 413, 539], [ 40, 166, 292, 418, 544], [ 45, 171, 297, 423, 549]], [[ 50, 176, 302, 428, 554], [ 55, 181, 307, 433, 559], [ 60, 186, 312, 438, 564], [ 65, 191, 317, 443, 569], [ 70, 196, 322, 448, 574]], [[ 75, 201, 327, 453, 579], [ 80, 206, 332, 458, 584], [ 85, 211, 337, 463, 589], [ 90, 216, 342, 468, 594], [ 95, 221, 347, 473, 599]], [[100, 226, 352, 478, 604], [105, 231, 357, 483, 609], [110, 236, 362, 488, 614], [115, 241, 367, 493, 619], [120, 246, 372, 498, 624]]]) # Here, you can see (obviously :-) that the last dimension is the diagonal ... just believe in the semantics .... >>> a.diagonal(axis1=0, axis2=3).shape (5, 5, 5) # Sum over the diagonal shape parameter: # Again I didn't check this result's numbers. >>> a.diagonal(axis1=0, axis2=3).sum(axis=-1) array([[1260, 1285, 1310, 1335, 1360], [1385, 1410, 1435, 1460, 1485], [1510, 1535, 1560, 1585, 1610], [1635, 1660, 1685, 1710, 1735], [1760, 1785, 1810, 1835, 1860]]) The .diagonal() approach has the benefit that one doesn't have to care about where the diagonal dimension ends up, it's always the last dimension of the resulting array. With my solution, this was not so fine, because it could also become the first dimension of the resulting array. For the challenging part, I'll await your response first ... Friedrich From abrombo at verizon.net Sun Jun 13 14:11:37 2010 From: abrombo at verizon.net (Alan Bromborsky) Date: Sun, 13 Jun 2010 14:11:37 -0400 Subject: [Numpy-discussion] Tensor contraction In-Reply-To: References: <4C13EE56.4070702@verizon.net> Message-ID: <4C151F59.1020409@verizon.net> Friedrich Romstedt wrote: > 2010/6/13 Pauli Virtanen : > >> def tensor_contraction_single(tensor, dimensions): >> """Perform a single tensor contraction over the dimensions given""" >> swap = [x for x in range(tensor.ndim) >> if x not in dimensions] + list(dimensions) >> x = tensor.transpose(swap) >> for k in range(len(dimensions) - 1): >> x = np.diagonal(x, axis1=-2, axis2=-1) >> return x.sum(axis=-1) >> >> def _preserve_indices(indices, removed): >> """Adjust values of indices after some items are removed""" >> for r in reversed(sorted(removed)): >> indices = [j if j <= r else j-1 for j in indices] >> return indices >> >> def tensor_contraction(tensor, contractions): >> """Perform several tensor contractions""" >> while contractions: >> dimensions = contractions.pop(0) >> tensor = tensor_contraction_single(tensor, dimensions) >> contractions = [_preserve_indices(c, dimensions) >> for c in contractions] >> return tensor >> > > Pauli, > > I choke on your code for 10 min or so. I believe there could be some > more comments. > > Alan, > > Do you really need multiple tensor contractions in one step? If yes, > I'd like to put in my 2 cents in coding such one using a different > approach, doing all the contractions in one step (via broadcasting). > It's challenging. We can generalise this problem as much as we want, > e.g. to contracting three instead of only two dimensions. But first, > in case you have only two dimensions to contract at one single time > instance, then Josef's first suggestion would be fine I think. Simply > push out the diagonal dimension to the end via .diagonal() and sum > over the last so created dimension. E.g.: > > # First we create some bogus array to play with: > >>>> a = numpy.arange(5 ** 4).reshape(5, 5, 5, 5) >>>> > > # Let's see how .diagonal() acts (just FYI, I haven't verified that it > is what we want): > >>>> a.diagonal(axis1=0, axis2=3) >>>> > array([[[ 0, 126, 252, 378, 504], > [ 5, 131, 257, 383, 509], > [ 10, 136, 262, 388, 514], > [ 15, 141, 267, 393, 519], > [ 20, 146, 272, 398, 524]], > > [[ 25, 151, 277, 403, 529], > [ 30, 156, 282, 408, 534], > [ 35, 161, 287, 413, 539], > [ 40, 166, 292, 418, 544], > [ 45, 171, 297, 423, 549]], > > [[ 50, 176, 302, 428, 554], > [ 55, 181, 307, 433, 559], > [ 60, 186, 312, 438, 564], > [ 65, 191, 317, 443, 569], > [ 70, 196, 322, 448, 574]], > > [[ 75, 201, 327, 453, 579], > [ 80, 206, 332, 458, 584], > [ 85, 211, 337, 463, 589], > [ 90, 216, 342, 468, 594], > [ 95, 221, 347, 473, 599]], > > [[100, 226, 352, 478, 604], > [105, 231, 357, 483, 609], > [110, 236, 362, 488, 614], > [115, 241, 367, 493, 619], > [120, 246, 372, 498, 624]]]) > # Here, you can see (obviously :-) that the last dimension is the > diagonal ... just believe in the semantics .... > >>>> a.diagonal(axis1=0, axis2=3).shape >>>> > (5, 5, 5) > > # Sum over the diagonal shape parameter: > # Again I didn't check this result's numbers. > >>>> a.diagonal(axis1=0, axis2=3).sum(axis=-1) >>>> > array([[1260, 1285, 1310, 1335, 1360], > [1385, 1410, 1435, 1460, 1485], > [1510, 1535, 1560, 1585, 1610], > [1635, 1660, 1685, 1710, 1735], > [1760, 1785, 1810, 1835, 1860]]) > > The .diagonal() approach has the benefit that one doesn't have to care > about where the diagonal dimension ends up, it's always the last > dimension of the resulting array. With my solution, this was not so > fine, because it could also become the first dimension of the > resulting array. > > For the challenging part, I'll await your response first ... > > Friedrich > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > I am writing symbolic tensor package for general relativity. In making symbolic tensors concrete I generate numpy arrays stuffed with sympy functions and symbols. The operations are tensor product (numpy.multiply.outer), permutation of indices (swapaxes), partial and covariant (both vector operators that increase array dimensions by one) differentiation, and contraction. I think I need to do the contraction last to make sure everything comes out correctly. Thus in many cases I would be performing multiple contractions on the tensor resulting from all the other operations. One question to ask would be considering that I am stuffing the arrays with symbolic objects and all the operations on the objects would be done using the sympy modules, would using numpy operations to perform the contractions really save any time over just doing the contraction in python code with a numpy array. From friedrichromstedt at gmail.com Sun Jun 13 15:37:50 2010 From: friedrichromstedt at gmail.com (Friedrich Romstedt) Date: Sun, 13 Jun 2010 21:37:50 +0200 Subject: [Numpy-discussion] Tensor contraction In-Reply-To: <4C151F59.1020409@verizon.net> References: <4C13EE56.4070702@verizon.net> <4C151F59.1020409@verizon.net> Message-ID: 2010/6/13 Alan Bromborsky : > I am writing symbolic tensor package for general relativity. ?In making > symbolic tensors concrete > I generate numpy arrays stuffed with sympy functions and symbols. That sound's interesting. > The > operations are tensor product > (numpy.multiply.outer), permutation of indices (swapaxes), ?partial and > covariant (both vector operators that > increase array dimensions by one) differentiation, and contraction. I would like to know more precisely what this differentiations do, and how it comes that they add an index to the tensor. > I think I need to do the contraction last > to make sure everything comes out correctly. ?Thus in many cases I would > be performing multiple contractions > on the tensor resulting from all the other operations. Hm, ok, so I guess I shall give my 1 cent now. Ok. # First attempt (FYI, failed): # The general procedure is, to extract a multi-dimensional diagonal array. # The sum \sum_{ij = 0}^{M} \sum_{kl = 0}^{N} is actually the sum over a # 2D array with indices I \equiv i \equiv j and K \equiv k \equiv l. Meaning: # \sum_{(I, K) = (0, 0)}^{(M, N)}. # Thus, if we extract the indices with 2D arrays [[0], [1], ..., [N - 1]] for I and # [[0, 1, ..., M - 1]] on the other side for K, then numpy's broadcasting # mechanism will broadcast them to the same shape, yielding (N, M) arrays. # Then finally we sum over this X last dimensions when there were X # contractions, and we're done. # Hmmm, when looking closer at the problem, it seems that this isn't # adequate. Because we would have to insert open slices, but cannot # create them outside of the [] operator ... # So now follows second attemt: def contract(arr, *contractions): """*CONTRACTIONS is e.g.: (0, 1), (2, 3) meaning two contractions, one of 0 & 1, and one of 2 & 2, but also: (0, 1, 2), is allowed, meaning contract 0 & 1 & 2.""" # First, we check if we can contract using the *contractions* given ... for contraction in contractions: # Extract the dimensions used. dimensions = numpy.asarray(arr.shape)[list(contraction)] # Check if they are all the same. dimensionsdiff = dimensions - dimensions[0] if numpy.abs(dimensionsdiff).sum() != 0: raise ValueError('Contracted indices must be of same dimension.') # So now, we can contract. # # First, pull the contracted dimensions all to the front ... # The names of the indices. names = range(arr.ndim) # Pull all of the contractions. names_pulled = [] for contraction in contractions: names_pulled = names_pulled + list(contraction) # Remove the pulled index names from the pool: for used_index in contraction: # Some more sanity check if used_index not in names: raise ValueError('Each index can only be used in one contraction.') names.remove(used_index) # Concatenate the pulled indices and the left-over indices. names_final = names_pulled + names # Perform the swap. arr = arr.transpose(names_final) # Perform the contractions ... for contraction in contractions: # The respective indices are now, since we pulled them, the frontmost indices: ncontraction = len(contraction) # The index array: # shape[0] = shape[1] = ... = shape[ncontraction - 1] I = numpy.arange(0, arr.shape[0]) # Perform contraction: index = [I] * ncontraction arr = arr[tuple(index)].sum(axis=0) # If I made no mistake, we should be done now. return arr Ok, it didn't get much shorter than Pauli's solution, so you decide ... > One question to > ask would be considering that I am stuffing > the arrays with symbolic objects and all the operations on the objects > would be done using the sympy modules, > would using numpy operations to perform the contractions really save any > time over just doing the contraction in > python code with a numpy array. I don't know anything about sympy. I think there's some typo around: I guess you mean creating some /sympy/ array and doing the operations using that instead of using a numpy array having sympy dtype=object content? Friedrich From d.l.goldsmith at gmail.com Sun Jun 13 15:59:51 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Sun, 13 Jun 2010 12:59:51 -0700 Subject: [Numpy-discussion] Tensor contraction In-Reply-To: References: <4C13EE56.4070702@verizon.net> <4C151F59.1020409@verizon.net> Message-ID: Is this not what core.numeric.tensordotdoes? DG On Sun, Jun 13, 2010 at 12:37 PM, Friedrich Romstedt < friedrichromstedt at gmail.com> wrote: > 2010/6/13 Alan Bromborsky : > > I am writing symbolic tensor package for general relativity. In making > > symbolic tensors concrete > > I generate numpy arrays stuffed with sympy functions and symbols. > > That sound's interesting. > > > The > > operations are tensor product > > (numpy.multiply.outer), permutation of indices (swapaxes), partial and > > covariant (both vector operators that > > increase array dimensions by one) differentiation, and contraction. > > I would like to know more precisely what this differentiations do, and > how it comes that they add an index to the tensor. > > > I think I need to do the contraction last > > to make sure everything comes out correctly. Thus in many cases I would > > be performing multiple contractions > > on the tensor resulting from all the other operations. > > Hm, ok, so I guess I shall give my 1 cent now. > > Ok. > > # First attempt (FYI, failed): > > # The general procedure is, to extract a multi-dimensional diagonal > array. > # The sum \sum_{ij = 0}^{M} \sum_{kl = 0}^{N} is actually the sum over a > # 2D array with indices I \equiv i \equiv j and K \equiv k \equiv > l. Meaning: > # \sum_{(I, K) = (0, 0)}^{(M, N)}. > # Thus, if we extract the indices with 2D arrays [[0], [1], ..., > [N - 1]] for I and > # [[0, 1, ..., M - 1]] on the other side for K, then numpy's > broadcasting > # mechanism will broadcast them to the same shape, yielding (N, M) > arrays. > # Then finally we sum over this X last dimensions when there were X > # contractions, and we're done. > > # Hmmm, when looking closer at the problem, it seems that this isn't > # adequate. Because we would have to insert open slices, but cannot > # create them outside of the [] operator ... > > # So now follows second attemt: > > def contract(arr, *contractions): > """*CONTRACTIONS is e.g.: > (0, 1), (2, 3) > meaning two contractions, one of 0 & 1, and one of 2 & 2, > but also: > (0, 1, 2), > is allowed, meaning contract 0 & 1 & 2.""" > > # First, we check if we can contract using the *contractions* given ... > > for contraction in contractions: > # Extract the dimensions used. > dimensions = numpy.asarray(arr.shape)[list(contraction)] > > # Check if they are all the same. > dimensionsdiff = dimensions - dimensions[0] > if numpy.abs(dimensionsdiff).sum() != 0: > raise ValueError('Contracted indices must be of same > dimension.') > > # So now, we can contract. > # > # First, pull the contracted dimensions all to the front ... > > # The names of the indices. > names = range(arr.ndim) > > # Pull all of the contractions. > names_pulled = [] > for contraction in contractions: > names_pulled = names_pulled + list(contraction) > # Remove the pulled index names from the pool: > for used_index in contraction: > # Some more sanity check > if used_index not in names: > raise ValueError('Each index can only be used in one > contraction.') > names.remove(used_index) > > # Concatenate the pulled indices and the left-over indices. > names_final = names_pulled + names > > # Perform the swap. > arr = arr.transpose(names_final) > > # Perform the contractions ... > > for contraction in contractions: > # The respective indices are now, since we pulled them, the > frontmost indices: > ncontraction = len(contraction) > # The index array: > # shape[0] = shape[1] = ... = shape[ncontraction - 1] > I = numpy.arange(0, arr.shape[0]) > # Perform contraction: > index = [I] * ncontraction > arr = arr[tuple(index)].sum(axis=0) > > # If I made no mistake, we should be done now. > return arr > > Ok, it didn't get much shorter than Pauli's solution, so you decide ... > > > One question to > > ask would be considering that I am stuffing > > the arrays with symbolic objects and all the operations on the objects > > would be done using the sympy modules, > > would using numpy operations to perform the contractions really save any > > time over just doing the contraction in > > python code with a numpy array. > > I don't know anything about sympy. I think there's some typo around: > I guess you mean creating some /sympy/ array and doing the operations > using that instead of using a numpy array having sympy dtype=object > content? > > Friedrich > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -- Mathematician: noun, someone who disavows certainty when their uncertainty set is non-empty, even if that set has measure zero. Hope: noun, that delusive spirit which escaped Pandora's jar and, with her lies, prevents mankind from committing a general suicide. (As interpreted by Robert Graves) -------------- next part -------------- An HTML attachment was scrubbed... URL: From vincent at vincentdavis.net Sun Jun 13 16:17:34 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Sun, 13 Jun 2010 14:17:34 -0600 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: References: <06C7B542-A7ED-4C33-B23F-7BEC08A15517@yale.edu> <74F07D9D-9098-41FD-8A85-E757566F51D3@yale.edu> <5C400587-E45A-4F0C-BF76-A0C7D830EDD9@yale.edu> <4C0EE6AB.8000908@silveregg.co.jp> Message-ID: As an update. I was able to get py 3.2.1 current source to build/install. After that I was able to build and install the current numpy. Everything seems ok. I did try to run the tests but get an error. It looks like nose has a problem. >>> np.test() Running unit tests for numpy Traceback (most recent call last): File "", line 1, in File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/site-packages/numpy/testing/nosetester.py", line 321, in test self._show_system_info() File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/site-packages/numpy/testing/nosetester.py", line 187, in _show_system_info nose = import_nose() File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/site-packages/numpy/testing/nosetester.py", line 56, in import_nose import nose File "nose/__init__.py", line 1, in from nose.core import collector, main, run, run_exit, runmodule File "nose/core.py", line 142 print "%s version %s" % (os.path.basename(sys.argv[0]), __version__) Vincent On Tue, Jun 8, 2010 at 7:02 PM, Vincent Davis wrote: > Have any of you built py 3.1.2 from source on a mac? > Vincent > > On Tue, Jun 8, 2010 at 6:56 PM, David wrote: > > On 06/09/2010 08:04 AM, Vincent Davis wrote: > >> I do have limits.h in 10.4 sdk > >> > >> So what next. Ay Ideas? > >> I had tried to build py 3.1.2 from source but that did not work either. > > > > I had the same issue when I tried the python 3 branch on mac os x. I > > have not found the issue yet, but I am afraid it is quite subtle, and > > possibly a bug in python 3 distutils (plus some issues in > numpy.distutils). > > > > cheers, > > > > David > > _______________________________________________ > > NumPy-Discussion mailing list > > NumPy-Discussion at scipy.org > > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > *Vincent Davis 720-301-3003 * vincent at vincentdavis.net my blog | LinkedIn -------------- next part -------------- An HTML attachment was scrubbed... URL: From abrombo at verizon.net Sun Jun 13 16:26:02 2010 From: abrombo at verizon.net (Alan Bromborsky) Date: Sun, 13 Jun 2010 16:26:02 -0400 Subject: [Numpy-discussion] Tensor contraction In-Reply-To: References: <4C13EE56.4070702@verizon.net> <4C151F59.1020409@verizon.net> Message-ID: <4C153EDA.4060602@verizon.net> Friedrich Romstedt wrote: > 2010/6/13 Alan Bromborsky : > >> I am writing symbolic tensor package for general relativity. In making >> symbolic tensors concrete >> I generate numpy arrays stuffed with sympy functions and symbols. >> > > That sound's interesting. > > >> The >> operations are tensor product >> (numpy.multiply.outer), permutation of indices (swapaxes), partial and >> covariant (both vector operators that >> increase array dimensions by one) differentiation, and contraction. >> > > I would like to know more precisely what this differentiations do, and > how it comes that they add an index to the tensor. > > >> I think I need to do the contraction last >> to make sure everything comes out correctly. Thus in many cases I would >> be performing multiple contractions >> on the tensor resulting from all the other operations. >> > > Hm, ok, so I guess I shall give my 1 cent now. > > Ok. > > # First attempt (FYI, failed): > > # The general procedure is, to extract a multi-dimensional diagonal array. > # The sum \sum_{ij = 0}^{M} \sum_{kl = 0}^{N} is actually the sum over a > # 2D array with indices I \equiv i \equiv j and K \equiv k \equiv > l. Meaning: > # \sum_{(I, K) = (0, 0)}^{(M, N)}. > # Thus, if we extract the indices with 2D arrays [[0], [1], ..., > [N - 1]] for I and > # [[0, 1, ..., M - 1]] on the other side for K, then numpy's broadcasting > # mechanism will broadcast them to the same shape, yielding (N, M) arrays. > # Then finally we sum over this X last dimensions when there were X > # contractions, and we're done. > > # Hmmm, when looking closer at the problem, it seems that this isn't > # adequate. Because we would have to insert open slices, but cannot > # create them outside of the [] operator ... > > # So now follows second attemt: > > def contract(arr, *contractions): > """*CONTRACTIONS is e.g.: > (0, 1), (2, 3) > meaning two contractions, one of 0 & 1, and one of 2 & 2, > but also: > (0, 1, 2), > is allowed, meaning contract 0 & 1 & 2.""" > > # First, we check if we can contract using the *contractions* given ... > > for contraction in contractions: > # Extract the dimensions used. > dimensions = numpy.asarray(arr.shape)[list(contraction)] > > # Check if they are all the same. > dimensionsdiff = dimensions - dimensions[0] > if numpy.abs(dimensionsdiff).sum() != 0: > raise ValueError('Contracted indices must be of same dimension.') > > # So now, we can contract. > # > # First, pull the contracted dimensions all to the front ... > > # The names of the indices. > names = range(arr.ndim) > > # Pull all of the contractions. > names_pulled = [] > for contraction in contractions: > names_pulled = names_pulled + list(contraction) > # Remove the pulled index names from the pool: > for used_index in contraction: > # Some more sanity check > if used_index not in names: > raise ValueError('Each index can only be used in one > contraction.') > names.remove(used_index) > > # Concatenate the pulled indices and the left-over indices. > names_final = names_pulled + names > > # Perform the swap. > arr = arr.transpose(names_final) > > # Perform the contractions ... > > for contraction in contractions: > # The respective indices are now, since we pulled them, the > frontmost indices: > ncontraction = len(contraction) > # The index array: > # shape[0] = shape[1] = ... = shape[ncontraction - 1] > I = numpy.arange(0, arr.shape[0]) > # Perform contraction: > index = [I] * ncontraction > arr = arr[tuple(index)].sum(axis=0) > > # If I made no mistake, we should be done now. > return arr > > Ok, it didn't get much shorter than Pauli's solution, so you decide ... > > >> One question to >> ask would be considering that I am stuffing >> the arrays with symbolic objects and all the operations on the objects >> would be done using the sympy modules, >> would using numpy operations to perform the contractions really save any >> time over just doing the contraction in >> python code with a numpy array. >> > > I don't know anything about sympy. I think there's some typo around: > I guess you mean creating some /sympy/ array and doing the operations > using that instead of using a numpy array having sympy dtype=object > content? > > Friedrich > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > No I stuff a numpy array with sympy objects. Except for contraction and differentiation numpy does everything I need to do with the tensors. Namely - addition subtraction multiplication by a scalar (sympy object) tensor product (multiply.outer) index permutation (swapaxes) Plus - contraction differentiation There are two types of vector derivatives (think gradient) partial and covariant. In index notation the partial derivative of an array T_{ijk} is the array \partial_{l}T_{ijk} = \frac{\partial T_{ijk}}{\partial x^{l}} The covariant derivative is D_{l}T_{ijk} = \partial_{l}T_{ijk} +T_{uvw}\Gamma_{i}^{u}_{l}\Gamma_{j}^{v}_{l}\Gamma_{k}^{w}_{l} Where the \Gamma_{i}^{j}_{k} are the Christoffle symbols with appropriately raised or lowered indices. From cournape at gmail.com Sun Jun 13 19:06:03 2010 From: cournape at gmail.com (David Cournapeau) Date: Mon, 14 Jun 2010 08:06:03 +0900 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: References: <06C7B542-A7ED-4C33-B23F-7BEC08A15517@yale.edu> <74F07D9D-9098-41FD-8A85-E757566F51D3@yale.edu> <5C400587-E45A-4F0C-BF76-A0C7D830EDD9@yale.edu> <4C0EE6AB.8000908@silveregg.co.jp> Message-ID: On Mon, Jun 14, 2010 at 5:17 AM, Vincent Davis wrote: > As an update. I was able to get py 3.2.1 current source to build/install. > After that I was able to build and install the current numpy. Everything > seems ok. > I did try to run the tests but get an error. It looks like nose has a > problem. > > >>> np.test() > Running unit tests for numpy > Traceback (most recent call last): > File "", line 1, in > File > "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/site-packages/numpy/testing/nosetester.py", > line 321, in test > self._show_system_info() > File > "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/site-packages/numpy/testing/nosetester.py", > line 187, in _show_system_info > nose = import_nose() > File > "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/site-packages/numpy/testing/nosetester.py", > line 56, in import_nose > import nose > File "nose/__init__.py", line 1, in > from nose.core import collector, main, run, run_exit, runmodule > File "nose/core.py", line 142 > print "%s version %s" % (os.path.basename(sys.argv[0]), __version__) > You need to install a nose version compatible with python 3 David -------------- next part -------------- An HTML attachment was scrubbed... URL: From vincent at vincentdavis.net Sun Jun 13 19:10:30 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Sun, 13 Jun 2010 17:10:30 -0600 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: References: <06C7B542-A7ED-4C33-B23F-7BEC08A15517@yale.edu> <74F07D9D-9098-41FD-8A85-E757566F51D3@yale.edu> <5C400587-E45A-4F0C-BF76-A0C7D830EDD9@yale.edu> <4C0EE6AB.8000908@silveregg.co.jp> Message-ID: On Sun, Jun 13, 2010 at 5:06 PM, David Cournapeau wrote: > > > On Mon, Jun 14, 2010 at 5:17 AM, Vincent Davis > wrote: >> >> As an update. I was able to get py 3.2.1 current source to build/install. >> After that I was able to build and install the current numpy. Everything >> seems ok. >> I did try to run the tests but get an error. It looks like nose has a >> problem. >> >>> np.test() >> Running unit tests for numpy >> Traceback (most recent call last): >> ??File "", line 1, in >> ??File >> "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/site-packages/numpy/testing/nosetester.py", >> line 321, in test >> ?? ?self._show_system_info() >> ??File >> "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/site-packages/numpy/testing/nosetester.py", >> line 187, in _show_system_info >> ?? ?nose = import_nose() >> ??File >> "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/site-packages/numpy/testing/nosetester.py", >> line 56, in import_nose >> ?? ?import nose >> ??File "nose/__init__.py", line 1, in >> ?? ?from nose.core import collector, main, run, run_exit, runmodule >> ??File "nose/core.py", line 142 >> ?? ?print "%s version %s" % (os.path.basename(sys.argv[0]), __version__) > > You need to install a nose version compatible with python 3 I kinda get that, I posted on the nose list ask what source/version to install. I installed the most recent. Thanks Vincent > David > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > From ranavishal at gmail.com Sun Jun 13 20:52:20 2010 From: ranavishal at gmail.com (Vishal Rana) Date: Sun, 13 Jun 2010 17:52:20 -0700 Subject: [Numpy-discussion] Serializing numpy record array Message-ID: I created a record array (from strings and floats) with no dtype defined as: ra = np.core.records.fromrecords(sq_list, names=("a", "b", "c")) ra.a is found to be of type numpy.float64, when I serialize it using pyamf under Mac OS X it works great but under ubuntu 10.04 it fails. Looks like serialization is failing for type numpy.float64. Is the any work around, I was trying to set dtype=object is that ok? Also how can I set same dtype (for eg. object) for all a, b, and c? Thanks Vishal Rana -------------- next part -------------- An HTML attachment was scrubbed... URL: From david at silveregg.co.jp Sun Jun 13 21:04:53 2010 From: david at silveregg.co.jp (David) Date: Mon, 14 Jun 2010 10:04:53 +0900 Subject: [Numpy-discussion] Installing numpy on py 3.1.2 , osx In-Reply-To: References: <06C7B542-A7ED-4C33-B23F-7BEC08A15517@yale.edu> <74F07D9D-9098-41FD-8A85-E757566F51D3@yale.edu> <5C400587-E45A-4F0C-BF76-A0C7D830EDD9@yale.edu> <4C0EE6AB.8000908@silveregg.co.jp> Message-ID: <4C158035.1080608@silveregg.co.jp> On 06/14/2010 08:10 AM, Vincent Davis wrote: > > I kinda get that, I posted on the nose list ask what source/version to > install. I installed the most recent. They have a special branch for py3k support, I think you have to use that, cheers, David From robert.kern at gmail.com Sun Jun 13 21:04:11 2010 From: robert.kern at gmail.com (Robert Kern) Date: Sun, 13 Jun 2010 20:04:11 -0500 Subject: [Numpy-discussion] Serializing numpy record array In-Reply-To: References: Message-ID: On Sun, Jun 13, 2010 at 19:52, Vishal Rana wrote: > I created a record array (from strings and floats) with no dtype defined as: > ra = np.core.records.fromrecords(sq_list, names=("a", "b", "c")) > ra.a is found to be of type numpy.float64, when I serialize it using pyamf > under Mac OS X it works great but under ubuntu 10.04 it fails. Looks like > serialization is failing for type numpy.float64. Please don't just say that something fails. Show us exactly what you did (copy-and-paste a minimal, but complete example of the code that fails) and show us exactly what errors you get (copy-and-paste the tracebacks). Since I'm sure most of us here aren't familiar with the details of PyAMF, perhaps you can read its documentation or its code to determine exactly how it is trying to serialize objects and tell us that. Is it using pickle? Is it using its own scheme? > Is the any?work around, I > was trying to set dtype=object is that ok? Probably not what you want. > Also how can I set same dtype (for eg. object) for all a, b, and c? In [3]: x = np.rec.fromrecords([('string', 10, 15.5)], names=['a', 'b', 'c']) In [4]: x Out[4]: rec.array([('string', 10, 15.5)], dtype=[('a', '|S6'), ('b', ' References: Message-ID: Robert, There is no error on python side but on flex client which is "*Channel*.* Call*.*Failed*" faultDetail="NetConnection.Call.Failed: *HTTP*: Status 503" Here is the documentation for type mapping flex vs python: http://pyamf.org/architecture/typemap.html, pyamf takes python data types so I am not sure if numpy dtypes will work with it or not, but it working on Mac OS X. Thanks Vishal Rana On Sun, Jun 13, 2010 at 6:04 PM, Robert Kern wrote: > On Sun, Jun 13, 2010 at 19:52, Vishal Rana wrote: > > I created a record array (from strings and floats) with no dtype defined > as: > > ra = np.core.records.fromrecords(sq_list, names=("a", "b", "c")) > > ra.a is found to be of type numpy.float64, when I serialize it using > pyamf > > under Mac OS X it works great but under ubuntu 10.04 it fails. Looks like > > serialization is failing for type numpy.float64. > > Please don't just say that something fails. Show us exactly what you > did (copy-and-paste a minimal, but complete example of the code that > fails) and show us exactly what errors you get (copy-and-paste the > tracebacks). > > Since I'm sure most of us here aren't familiar with the details of > PyAMF, perhaps you can read its documentation or its code to determine > exactly how it is trying to serialize objects and tell us that. Is it > using pickle? Is it using its own scheme? > > > Is the any work around, I > > was trying to set dtype=object is that ok? > > Probably not what you want. > > > Also how can I set same dtype (for eg. object) for all a, b, and c? > > In [3]: x = np.rec.fromrecords([('string', 10, 15.5)], names=['a', 'b', > 'c']) > > In [4]: x > Out[4]: > rec.array([('string', 10, 15.5)], > dtype=[('a', '|S6'), ('b', ' > In [5]: x.astype(np.dtype([('a', object), ('b', object), ('c', object)])) > Out[5]: > rec.array([('string', 10, 15.5)], > dtype=[('a', '|O4'), ('b', '|O4'), ('c', '|O4')]) > > -- > Robert Kern > > "I have come to believe that the whole world is an enigma, a harmless > enigma that is made terrible by our own mad attempt to interpret it as > though it had an underlying truth." > -- Umberto Eco > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From robert.kern at gmail.com Sun Jun 13 21:23:35 2010 From: robert.kern at gmail.com (Robert Kern) Date: Sun, 13 Jun 2010 20:23:35 -0500 Subject: [Numpy-discussion] Serializing numpy record array In-Reply-To: References: Message-ID: On Sun, Jun 13, 2010 at 20:10, Vishal Rana wrote: > Robert, > There is no error on python side but on flex client which > is?"Channel.Call.Failed" faultDetail="NetConnection.Call.Failed:?HTTP: > Status 503" > Here is the documentation for type mapping flex vs > python:?http://pyamf.org/architecture/typemap.html, pyamf takes python data > types so I am not sure if numpy dtypes will work with it or not, but it > working on Mac OS X. It looks like you will need to convert to plain Python builtin types that appear on that list in order to pass anything to your Flex client. Use the .tolist() method. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From fictivelaark at gmail.com Sun Jun 13 21:23:58 2010 From: fictivelaark at gmail.com (Jarl Haggerty) Date: Sun, 13 Jun 2010 18:23:58 -0700 Subject: [Numpy-discussion] numpy for jython Message-ID: Does anyone have any interest in a port of numpy to jython? I've been looking around and it seems like the only versions of this is JNumeric, which is so old it's named after Numeric, and a slightly updated version of that. I decided to try and use jnumeric but it's missing a lot of features, the code was pretty obtuse and I felt I could make a cleaner version(oh, the hubris) without the Java reflection array API, so I took a shot at it. I've implemented some basic features(don't hurt me if some of them are broken), but you can't make arrays of objects, although I think I can put that in. Anyway, before going any further I thought I'd share, and maybe start commenting my code if people show interest. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: src.rar Type: application/octet-stream Size: 12318 bytes Desc: not available URL: From david at silveregg.co.jp Sun Jun 13 21:58:24 2010 From: david at silveregg.co.jp (David) Date: Mon, 14 Jun 2010 10:58:24 +0900 Subject: [Numpy-discussion] numpy for jython In-Reply-To: References: Message-ID: <4C158CC0.1080106@silveregg.co.jp> On 06/14/2010 10:23 AM, Jarl Haggerty wrote: > Does anyone have any interest in a port of numpy to jython? I am insterested, and I think interest is growing thanks to the cloud computing fad, since a lot of this instrastructure is based on java (hadoop, hbase, cassandra to name a few). Being able to use numpy on top of those technologies would be extremely useful. Now, I think reimplementing numpy from scratch is the wrong way if you want to be able to reuse existing code (scipy, etc...). There is a starting effort to refactor numpy to make it easier to port on new VM, and JVM would be an obvious candidate to test those things. cheers, David P.S: Nitpick: please avoid sending rar archives, only a few people can read them easily. Use zip or tarballs From robert.kern at gmail.com Sun Jun 13 22:00:26 2010 From: robert.kern at gmail.com (Robert Kern) Date: Sun, 13 Jun 2010 21:00:26 -0500 Subject: [Numpy-discussion] numpy for jython In-Reply-To: <4C158CC0.1080106@silveregg.co.jp> References: <4C158CC0.1080106@silveregg.co.jp> Message-ID: On Sun, Jun 13, 2010 at 20:58, David wrote: > On 06/14/2010 10:23 AM, Jarl Haggerty wrote: >> Does anyone have any interest in a port of numpy to jython? > > I am insterested, and I think interest is growing thanks to the cloud > computing fad, since a lot of this instrastructure is based on java > (hadoop, hbase, cassandra to name a few). Being able to use numpy on top > of those technologies would be extremely useful. Disco! http://discoproject.org/ This has to be the most interesting, apparently-mature project that no one is talking about that I have seen in a long time. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From ranavishal at gmail.com Sun Jun 13 23:27:46 2010 From: ranavishal at gmail.com (Vishal Rana) Date: Sun, 13 Jun 2010 20:27:46 -0700 Subject: [Numpy-discussion] Serializing numpy record array In-Reply-To: References: Message-ID: Thanks Robert, it worked. On Sun, Jun 13, 2010 at 6:23 PM, Robert Kern wrote: > On Sun, Jun 13, 2010 at 20:10, Vishal Rana wrote: > > Robert, > > There is no error on python side but on flex client which > > is "Channel.Call.Failed" faultDetail="NetConnection.Call.Failed: HTTP: > > Status 503" > > Here is the documentation for type mapping flex vs > > python: http://pyamf.org/architecture/typemap.html, pyamf takes python > data > > types so I am not sure if numpy dtypes will work with it or not, but it > > working on Mac OS X. > > It looks like you will need to convert to plain Python builtin types > that appear on that list in order to pass anything to your Flex > client. Use the .tolist() method. > > -- > Robert Kern > > "I have come to believe that the whole world is an enigma, a harmless > enigma that is made terrible by our own mad attempt to interpret it as > though it had an underlying truth." > -- Umberto Eco > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ranavishal at gmail.com Mon Jun 14 02:00:45 2010 From: ranavishal at gmail.com (Vishal Rana) Date: Sun, 13 Jun 2010 23:00:45 -0700 Subject: [Numpy-discussion] Error while upgrading to numpy 1.4.1 Message-ID: Hi, I am getting this error while upgrading to numpy 1.4.1 from 1.3 on ubuntu 10.04 using easy_install -U numpy command, I even tried downloading / installing numpy 1.4.1 but no luck, help appreciated. /usr/lib/python2.6/dist-packages/setuptools/package_index.py:156: UserWarning: Unbuilt egg for setuptools [unknown version] (/usr/lib/python2.6/dist-packages) Environment.__init__(self,*args,**kw) /usr/lib/python2.6/dist-packages/setuptools/command/easy_install.py:216: UserWarning: Unbuilt egg for setuptools [unknown version] (/usr/lib/python2.6/dist-packages) self.local_index = Environment(self.shadow_path+sys.path) Searching for numpy Reading http://pypi.python.org/simple/numpy/ Reading http://numpy.scipy.org Reading http://sourceforge.net/project/showfiles.php?group_id=1369&package_id=175103 Reading http://numeric.scipy.org Best match: numpy 1.4.1 Downloading http://pypi.python.org/packages/source/n/numpy/numpy-1.4.1.tar.gz#md5=89b8a56e018b634f7d05c56f17bc4943 Processing numpy-1.4.1.tar.gz Running numpy-1.4.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-5_dz2F/numpy-1.4.1/egg-dist-tmp-sYYNJd Running from numpy source directory. non-existing path in 'numpy/distutils': 'site.cfg' /tmp/easy_install-5_dz2F/numpy-1.4.1/numpy/distutils/system_info.py:1392: UserWarning: Atlas (http://math-atlas.sourceforge.net/) libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [atlas]) or by setting the ATLAS environment variable. warnings.warn(AtlasNotFoundError.__doc__) /tmp/easy_install-5_dz2F/numpy-1.4.1/numpy/distutils/system_info.py:1401: UserWarning: Blas (http://www.netlib.org/blas/) libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [blas]) or by setting the BLAS environment variable. warnings.warn(BlasNotFoundError.__doc__) /tmp/easy_install-5_dz2F/numpy-1.4.1/numpy/distutils/system_info.py:1404: UserWarning: Blas (http://www.netlib.org/blas/) sources not found. Directories to search for the sources can be specified in the numpy/distutils/site.cfg file (section [blas_src]) or by setting the BLAS_SRC environment variable. warnings.warn(BlasSrcNotFoundError.__doc__) /tmp/easy_install-5_dz2F/numpy-1.4.1/numpy/distutils/system_info.py:1299: UserWarning: Atlas (http://math-atlas.sourceforge.net/) libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [atlas]) or by setting the ATLAS environment variable. warnings.warn(AtlasNotFoundError.__doc__) /tmp/easy_install-5_dz2F/numpy-1.4.1/numpy/distutils/system_info.py:1310: UserWarning: Lapack (http://www.netlib.org/lapack/) libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [lapack]) or by setting the LAPACK environment variable. warnings.warn(LapackNotFoundError.__doc__) /tmp/easy_install-5_dz2F/numpy-1.4.1/numpy/distutils/system_info.py:1313: UserWarning: Lapack (http://www.netlib.org/lapack/) sources not found. Directories to search for the sources can be specified in the numpy/distutils/site.cfg file (section [lapack_src]) or by setting the LAPACK_SRC environment variable. warnings.warn(LapackSrcNotFoundError.__doc__) Could not locate executable g77 Could not locate executable f77 Could not locate executable ifort Could not locate executable ifc Could not locate executable lf95 Could not locate executable pgf90 Could not locate executable pgf77 Could not locate executable f90 Could not locate executable f95 Could not locate executable fort Could not locate executable efort Could not locate executable efc Could not locate executable gfortran Could not locate executable g95 don't know how to compile Fortran code on platform 'posix' /usr/bin/ld: crt1.o: No such file: No such file or directory collect2: ld returned 1 exit status /usr/bin/ld: crt1.o: No such file: No such file or directory collect2: ld returned 1 exit status Traceback (most recent call last): File "/usr/bin/easy_install", line 9, in load_entry_point('distribute==0.6.10', 'console_scripts', 'easy_install')() File "/usr/lib/python2.6/dist-packages/setuptools/command/easy_install.py", line 1760, in main with_ei_usage(lambda: File "/usr/lib/python2.6/dist-packages/setuptools/command/easy_install.py", line 1741, in with_ei_usage return f() File "/usr/lib/python2.6/dist-packages/setuptools/command/easy_install.py", line 1764, in distclass=DistributionWithoutHelpCommands, **kw File "/usr/lib/python2.6/distutils/core.py", line 152, in setup dist.run_commands() File "/usr/lib/python2.6/distutils/dist.py", line 975, in run_commands self.run_command(cmd) File "/usr/lib/python2.6/distutils/dist.py", line 995, in run_command cmd_obj.run() File "/usr/lib/python2.6/dist-packages/setuptools/command/easy_install.py", line 254, in run self.easy_install(spec, not self.no_deps) File "/usr/lib/python2.6/dist-packages/setuptools/command/easy_install.py", line 489, in easy_install return self.install_item(spec, dist.location, tmpdir, deps) File "/usr/lib/python2.6/dist-packages/setuptools/command/easy_install.py", line 519, in install_item dists = self.install_eggs(spec, download, tmpdir) File "/usr/lib/python2.6/dist-packages/setuptools/command/easy_install.py", line 698, in install_eggs return self.build_and_install(setup_script, setup_base) File "/usr/lib/python2.6/dist-packages/setuptools/command/easy_install.py", line 975, in build_and_install self.run_setup(setup_script, setup_base, args) File "/usr/lib/python2.6/dist-packages/setuptools/command/easy_install.py", line 964, in run_setup run_setup(setup_script, args) File "/usr/lib/python2.6/dist-packages/setuptools/sandbox.py", line 29, in run_setup lambda: execfile( File "/usr/lib/python2.6/dist-packages/setuptools/sandbox.py", line 70, in run return func() File "/usr/lib/python2.6/dist-packages/setuptools/sandbox.py", line 31, in {'__file__':setup_script, '__name__':'__main__'} File "setup.py", line 187, in File "setup.py", line 180, in setup_package File "/tmp/easy_install-5_dz2F/numpy-1.4.1/numpy/distutils/core.py", line 186, in setup File "/usr/lib/python2.6/distutils/core.py", line 152, in setup dist.run_commands() File "/usr/lib/python2.6/distutils/dist.py", line 975, in run_commands self.run_command(cmd) File "/usr/lib/python2.6/distutils/dist.py", line 995, in run_command cmd_obj.run() File "/usr/lib/python2.6/dist-packages/setuptools/command/bdist_egg.py", line 167, in run self.run_command("egg_info") File "/usr/lib/python2.6/distutils/cmd.py", line 333, in run_command self.distribution.run_command(command) File "/usr/lib/python2.6/distutils/dist.py", line 995, in run_command cmd_obj.run() File "/tmp/easy_install-5_dz2F/numpy-1.4.1/numpy/distutils/command/egg_info.py", line 8, in run File "/usr/lib/python2.6/distutils/cmd.py", line 333, in run_command self.distribution.run_command(command) File "/usr/lib/python2.6/distutils/dist.py", line 995, in run_command cmd_obj.run() File "/tmp/easy_install-5_dz2F/numpy-1.4.1/numpy/distutils/command/build_src.py", line 152, in run File "/tmp/easy_install-5_dz2F/numpy-1.4.1/numpy/distutils/command/build_src.py", line 163, in build_sources File "/tmp/easy_install-5_dz2F/numpy-1.4.1/numpy/distutils/command/build_src.py", line 298, in build_library_sources File "/tmp/easy_install-5_dz2F/numpy-1.4.1/numpy/distutils/command/build_src.py", line 385, in generate_sources File "numpy/core/setup.py", line 657, in get_mathlib_info RuntimeError: Broken toolchain: cannot link a simple C program /tmp/easy_install-5_dz2F/numpy-1.4.1/numpy/distutils/misc_util.py:248: RuntimeWarning: Parent module 'numpy.distutils' not found while handling absolute import Running from numpy source directory. Thanks Vishal Rana -------------- next part -------------- An HTML attachment was scrubbed... URL: From cournape at gmail.com Mon Jun 14 02:09:36 2010 From: cournape at gmail.com (David Cournapeau) Date: Mon, 14 Jun 2010 15:09:36 +0900 Subject: [Numpy-discussion] Error while upgrading to numpy 1.4.1 In-Reply-To: References: Message-ID: On Mon, Jun 14, 2010 at 3:00 PM, Vishal Rana wrote: > Hi, > I am getting this error while upgrading to numpy 1.4.1 from 1.3 on ubuntu > 10.04 using?easy_install -U numpy command, I even tried downloading / > installing numpy 1.4.1 but no luck, help appreciated. First, do not use easy_install to upgrade the numpy included with ubuntu. You should never do that, because easy_install will break the state of your installed packages w.r.t. apt database. It looks like you do not have development tools installed (the crt.o is a C runtime file which is provided by gcc) - install gcc, gfortran and libatlas-base-dev. I would also strongly discourage you to use easy_install on 10.04. The version in ubuntu 10.04 uses distribute which is buggier than setuptools at this point (sic), cheers, David From sebastian.walter at gmail.com Mon Jun 14 08:37:16 2010 From: sebastian.walter at gmail.com (Sebastian Walter) Date: Mon, 14 Jun 2010 14:37:16 +0200 Subject: [Numpy-discussion] Tensor contraction In-Reply-To: <4C151F59.1020409@verizon.net> References: <4C13EE56.4070702@verizon.net> <4C151F59.1020409@verizon.net> Message-ID: On Sun, Jun 13, 2010 at 8:11 PM, Alan Bromborsky wrote: > Friedrich Romstedt wrote: >> 2010/6/13 Pauli Virtanen : >> >>> def tensor_contraction_single(tensor, dimensions): >>> ? ?"""Perform a single tensor contraction over the dimensions given""" >>> ? ?swap = [x for x in range(tensor.ndim) >>> ? ? ? ? ? ?if x not in dimensions] + list(dimensions) >>> ? ?x = tensor.transpose(swap) >>> ? ?for k in range(len(dimensions) - 1): >>> ? ? ? ?x = np.diagonal(x, axis1=-2, axis2=-1) >>> ? ?return x.sum(axis=-1) >>> >>> def _preserve_indices(indices, removed): >>> ? ?"""Adjust values of indices after some items are removed""" >>> ? ?for r in reversed(sorted(removed)): >>> ? ? ? ?indices = [j if j <= r else j-1 for j in indices] >>> ? ?return indices >>> >>> def tensor_contraction(tensor, contractions): >>> ? ?"""Perform several tensor contractions""" >>> ? ?while contractions: >>> ? ? ? ?dimensions = contractions.pop(0) >>> ? ? ? ?tensor = tensor_contraction_single(tensor, dimensions) >>> ? ? ? ?contractions = [_preserve_indices(c, dimensions) >>> ? ? ? ? ? ? ? ? ? ? ? ?for c in contractions] >>> ? ?return tensor >>> >> >> Pauli, >> >> I choke on your code for 10 min or so. ?I believe there could be some >> more comments. >> >> Alan, >> >> Do you really need multiple tensor contractions in one step? ?If yes, >> I'd like to put in my 2 cents in coding such one using a different >> approach, doing all the contractions in one step (via broadcasting). >> It's challenging. ?We can generalise this problem as much as we want, >> e.g. to contracting three instead of only two dimensions. ?But first, >> in case you have only two dimensions to contract at one single time >> instance, then Josef's first suggestion would be fine I think. ?Simply >> push out the diagonal dimension to the end via .diagonal() and sum >> over the last so created dimension. ?E.g.: >> >> # First we create some bogus array to play with: >> >>>>> a = numpy.arange(5 ** 4).reshape(5, 5, 5, 5) >>>>> >> >> # Let's see how .diagonal() acts (just FYI, I haven't verified that it >> is what we want): >> >>>>> a.diagonal(axis1=0, axis2=3) >>>>> >> array([[[ ?0, 126, 252, 378, 504], >> ? ? ? ? [ ?5, 131, 257, 383, 509], >> ? ? ? ? [ 10, 136, 262, 388, 514], >> ? ? ? ? [ 15, 141, 267, 393, 519], >> ? ? ? ? [ 20, 146, 272, 398, 524]], >> >> ? ? ? ?[[ 25, 151, 277, 403, 529], >> ? ? ? ? [ 30, 156, 282, 408, 534], >> ? ? ? ? [ 35, 161, 287, 413, 539], >> ? ? ? ? [ 40, 166, 292, 418, 544], >> ? ? ? ? [ 45, 171, 297, 423, 549]], >> >> ? ? ? ?[[ 50, 176, 302, 428, 554], >> ? ? ? ? [ 55, 181, 307, 433, 559], >> ? ? ? ? [ 60, 186, 312, 438, 564], >> ? ? ? ? [ 65, 191, 317, 443, 569], >> ? ? ? ? [ 70, 196, 322, 448, 574]], >> >> ? ? ? ?[[ 75, 201, 327, 453, 579], >> ? ? ? ? [ 80, 206, 332, 458, 584], >> ? ? ? ? [ 85, 211, 337, 463, 589], >> ? ? ? ? [ 90, 216, 342, 468, 594], >> ? ? ? ? [ 95, 221, 347, 473, 599]], >> >> ? ? ? ?[[100, 226, 352, 478, 604], >> ? ? ? ? [105, 231, 357, 483, 609], >> ? ? ? ? [110, 236, 362, 488, 614], >> ? ? ? ? [115, 241, 367, 493, 619], >> ? ? ? ? [120, 246, 372, 498, 624]]]) >> # Here, you can see (obviously :-) that the last dimension is the >> diagonal ... just believe in the semantics .... >> >>>>> a.diagonal(axis1=0, axis2=3).shape >>>>> >> (5, 5, 5) >> >> # Sum over the diagonal shape parameter: >> # Again I didn't check this result's numbers. >> >>>>> a.diagonal(axis1=0, axis2=3).sum(axis=-1) >>>>> >> array([[1260, 1285, 1310, 1335, 1360], >> ? ? ? ?[1385, 1410, 1435, 1460, 1485], >> ? ? ? ?[1510, 1535, 1560, 1585, 1610], >> ? ? ? ?[1635, 1660, 1685, 1710, 1735], >> ? ? ? ?[1760, 1785, 1810, 1835, 1860]]) >> >> The .diagonal() approach has the benefit that one doesn't have to care >> about where the diagonal dimension ends up, it's always the last >> dimension of the resulting array. ?With my solution, this was not so >> fine, because it could also become the first dimension of the >> resulting array. >> >> For the challenging part, I'll await your response first ... >> >> Friedrich >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> > I am writing symbolic tensor package for general relativity. ?In making > symbolic tensors concrete Does that mean you are only interested in the numerical values of the tensors? I mean, is the final goal to obtain a numpy.array(...,dtype=float) which contains the wanted coefficients? Or do you need the symbolic representation? > I generate numpy arrays stuffed with sympy functions and symbols. ?The > operations are tensor product > (numpy.multiply.outer), permutation of indices (swapaxes), ?partial and > covariant (both vector operators that > increase array dimensions by one) differentiation, and contraction. ?I > think I need to do the contraction last > to make sure everything comes out correctly. ?Thus in many cases I would > be performing multiple contractions > on the tensor resulting from all the other operations. ?One question to > ask would be considering that I am stuffing > the arrays with symbolic objects and all the operations on the objects > would be done using the sympy modules, > would using numpy operations to perform the contractions really save any > time over just doing the contraction in > python code with a numpy array. Not 100% sure. But for/while loops are really slow in Python and the numpy.ndarray.__getitem__ and ndarray.__setitem__ cause also a lot of overhead. I.e., using Python for loops on an element by element basis is going to take a long time if you have big tensors. You could write a small benchmark and post the results here. I'm also curious what the result is going to be ;). As to your original question: I think it may be helpful to look at numpy.lib.stride_tricks There is a really nice advanced tutoria by St?fan van der Walt http://mentat.za.net/numpy/numpy_advanced_slides/ E.g. to get a view of the diagonal elements of a matrix you can do something like: In [44]: from numpy.lib import stride_tricks In [45]: x = numpy.arange(4*4) In [46]: x Out[46]: array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]) In [47]: y = stride_tricks.as_strided(x, shape=(4,4),strides=(8*4,8)) In [48]: y Out[48]: array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11], [12, 13, 14, 15]]) In [54]: z = stride_tricks.as_strided(x, shape=(4,),strides=(8*5,)) In [55]: z Out[55]: array([ 0, 5, 10, 15]) In [56]: sum(z) Out[56]: 30 As you can see, you get the diagonal elements without having to copy any memory. Sebastian > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From abrombo at verizon.net Mon Jun 14 09:04:21 2010 From: abrombo at verizon.net (Alan Bromborsky) Date: Mon, 14 Jun 2010 09:04:21 -0400 Subject: [Numpy-discussion] Tensor contraction In-Reply-To: References: <4C13EE56.4070702@verizon.net> <4C151F59.1020409@verizon.net> Message-ID: <4C1628D5.406@verizon.net> Sebastian Walter wrote: > On Sun, Jun 13, 2010 at 8:11 PM, Alan Bromborsky wrote: > >> Friedrich Romstedt wrote: >> >>> 2010/6/13 Pauli Virtanen : >>> >>> >>>> def tensor_contraction_single(tensor, dimensions): >>>> """Perform a single tensor contraction over the dimensions given""" >>>> swap = [x for x in range(tensor.ndim) >>>> if x not in dimensions] + list(dimensions) >>>> x = tensor.transpose(swap) >>>> for k in range(len(dimensions) - 1): >>>> x = np.diagonal(x, axis1=-2, axis2=-1) >>>> return x.sum(axis=-1) >>>> >>>> def _preserve_indices(indices, removed): >>>> """Adjust values of indices after some items are removed""" >>>> for r in reversed(sorted(removed)): >>>> indices = [j if j <= r else j-1 for j in indices] >>>> return indices >>>> >>>> def tensor_contraction(tensor, contractions): >>>> """Perform several tensor contractions""" >>>> while contractions: >>>> dimensions = contractions.pop(0) >>>> tensor = tensor_contraction_single(tensor, dimensions) >>>> contractions = [_preserve_indices(c, dimensions) >>>> for c in contractions] >>>> return tensor >>>> >>>> >>> Pauli, >>> >>> I choke on your code for 10 min or so. I believe there could be some >>> more comments. >>> >>> Alan, >>> >>> Do you really need multiple tensor contractions in one step? If yes, >>> I'd like to put in my 2 cents in coding such one using a different >>> approach, doing all the contractions in one step (via broadcasting). >>> It's challenging. We can generalise this problem as much as we want, >>> e.g. to contracting three instead of only two dimensions. But first, >>> in case you have only two dimensions to contract at one single time >>> instance, then Josef's first suggestion would be fine I think. Simply >>> push out the diagonal dimension to the end via .diagonal() and sum >>> over the last so created dimension. E.g.: >>> >>> # First we create some bogus array to play with: >>> >>> >>>>>> a = numpy.arange(5 ** 4).reshape(5, 5, 5, 5) >>>>>> >>>>>> >>> # Let's see how .diagonal() acts (just FYI, I haven't verified that it >>> is what we want): >>> >>> >>>>>> a.diagonal(axis1=0, axis2=3) >>>>>> >>>>>> >>> array([[[ 0, 126, 252, 378, 504], >>> [ 5, 131, 257, 383, 509], >>> [ 10, 136, 262, 388, 514], >>> [ 15, 141, 267, 393, 519], >>> [ 20, 146, 272, 398, 524]], >>> >>> [[ 25, 151, 277, 403, 529], >>> [ 30, 156, 282, 408, 534], >>> [ 35, 161, 287, 413, 539], >>> [ 40, 166, 292, 418, 544], >>> [ 45, 171, 297, 423, 549]], >>> >>> [[ 50, 176, 302, 428, 554], >>> [ 55, 181, 307, 433, 559], >>> [ 60, 186, 312, 438, 564], >>> [ 65, 191, 317, 443, 569], >>> [ 70, 196, 322, 448, 574]], >>> >>> [[ 75, 201, 327, 453, 579], >>> [ 80, 206, 332, 458, 584], >>> [ 85, 211, 337, 463, 589], >>> [ 90, 216, 342, 468, 594], >>> [ 95, 221, 347, 473, 599]], >>> >>> [[100, 226, 352, 478, 604], >>> [105, 231, 357, 483, 609], >>> [110, 236, 362, 488, 614], >>> [115, 241, 367, 493, 619], >>> [120, 246, 372, 498, 624]]]) >>> # Here, you can see (obviously :-) that the last dimension is the >>> diagonal ... just believe in the semantics .... >>> >>> >>>>>> a.diagonal(axis1=0, axis2=3).shape >>>>>> >>>>>> >>> (5, 5, 5) >>> >>> # Sum over the diagonal shape parameter: >>> # Again I didn't check this result's numbers. >>> >>> >>>>>> a.diagonal(axis1=0, axis2=3).sum(axis=-1) >>>>>> >>>>>> >>> array([[1260, 1285, 1310, 1335, 1360], >>> [1385, 1410, 1435, 1460, 1485], >>> [1510, 1535, 1560, 1585, 1610], >>> [1635, 1660, 1685, 1710, 1735], >>> [1760, 1785, 1810, 1835, 1860]]) >>> >>> The .diagonal() approach has the benefit that one doesn't have to care >>> about where the diagonal dimension ends up, it's always the last >>> dimension of the resulting array. With my solution, this was not so >>> fine, because it could also become the first dimension of the >>> resulting array. >>> >>> For the challenging part, I'll await your response first ... >>> >>> Friedrich >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >>> >>> >> I am writing symbolic tensor package for general relativity. In making >> symbolic tensors concrete >> > > Does that mean you are only interested in the numerical values of the tensors? > I mean, is the final goal to obtain a numpy.array(...,dtype=float) > which contains > the wanted coefficients? > Or do you need the symbolic representation? > > >> I generate numpy arrays stuffed with sympy functions and symbols. The >> operations are tensor product >> (numpy.multiply.outer), permutation of indices (swapaxes), partial and >> covariant (both vector operators that >> increase array dimensions by one) differentiation, and contraction. I >> think I need to do the contraction last >> to make sure everything comes out correctly. Thus in many cases I would >> be performing multiple contractions >> on the tensor resulting from all the other operations. One question to >> ask would be considering that I am stuffing >> the arrays with symbolic objects and all the operations on the objects >> would be done using the sympy modules, >> would using numpy operations to perform the contractions really save any >> time over just doing the contraction in >> python code with a numpy array. >> > > Not 100% sure. But for/while loops are really slow in Python and the > numpy.ndarray.__getitem__ and ndarray.__setitem__ cause also a lot of > overhead. > I.e., using Python for loops on an element by element basis is going > to take a long time if you have big tensors. > > You could write a small benchmark and post the results here. I'm also > curious what the result is going to be ;). > > As to your original question: > I think it may be helpful to look at numpy.lib.stride_tricks > > There is a really nice advanced tutoria by St?fan van der Walt > http://mentat.za.net/numpy/numpy_advanced_slides/ > > E.g. to get a view of the diagonal elements of a matrix you can do > something like: > > > In [44]: from numpy.lib import stride_tricks > > In [45]: x = numpy.arange(4*4) > > In [46]: x > Out[46]: array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]) > > In [47]: y = stride_tricks.as_strided(x, shape=(4,4),strides=(8*4,8)) > > In [48]: y > Out[48]: > array([[ 0, 1, 2, 3], > [ 4, 5, 6, 7], > [ 8, 9, 10, 11], > [12, 13, 14, 15]]) > > > In [54]: z = stride_tricks.as_strided(x, shape=(4,),strides=(8*5,)) > > In [55]: z > Out[55]: array([ 0, 5, 10, 15]) > > In [56]: sum(z) > Out[56]: 30 > > As you can see, you get the diagonal elements without having to copy any memory. > > Sebastian > > > >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > Thank you for your reply. All my array entries are symbolic. The use of the abstract tensor module will be to generate the equations (finite difference for finite element) required for the solution of General Relativistic systems. The resulting equations would then be translated into C++, C, or Fortran (which ever is most appropriate). The array would initially be stuffed with appropriate linear combinations of basis functions with symbolic coefficients. I will save the contraction problem for last and try to implement both solutions, compare them, and let you know the results. Note that the dimension of any axis in a real problem is four (4-dimensional space-time) and the highest tensor rank is four (256 components), although the rank of the products before contraction could be significantly higher. From ben.root at ou.edu Mon Jun 14 10:39:50 2010 From: ben.root at ou.edu (Benjamin Root) Date: Mon, 14 Jun 2010 09:39:50 -0500 Subject: [Numpy-discussion] Error while upgrading to numpy 1.4.1 In-Reply-To: References: Message-ID: On Mon, Jun 14, 2010 at 1:09 AM, David Cournapeau wrote: > On Mon, Jun 14, 2010 at 3:00 PM, Vishal Rana wrote: > > Hi, > > I am getting this error while upgrading to numpy 1.4.1 from 1.3 on ubuntu > > 10.04 using easy_install -U numpy command, I even tried downloading / > > installing numpy 1.4.1 but no luck, help appreciated. > > First, do not use easy_install to upgrade the numpy included with > ubuntu. You should never do that, because easy_install will break the > state of your installed packages w.r.t. apt database. > > It looks like you do not have development tools installed (the crt.o > is a C runtime file which is provided by gcc) - install gcc, gfortran > and libatlas-base-dev. > > I would also strongly discourage you to use easy_install on 10.04. The > version in ubuntu 10.04 uses distribute which is buggier than > setuptools at this point (sic), > > cheers, > > David > Vishal, I would like to second David's sentiments. easy_install for numpy is not done very well and can cause a lot of issues. You will need to make sure you uninstall numpy using synaptic, and also see if you can find any partial installs in the /usr/lib/python2.6/site-distribution folder, and even the /usr/local/lib/python2.6/site-distribution folder and remove them using rm -rf. With a cleaned-out environment, and the previously mentioned packages (you might need a couple more...) you can then build from source using 'sudo python setup.py install' in the numpy directory. Be sure to run the tests after the install to ensure that everything works properly. I had to redo the build a few times before the tests finished successfully for me. Ben Root > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ranavishal at gmail.com Mon Jun 14 12:33:04 2010 From: ranavishal at gmail.com (Vishal Rana) Date: Mon, 14 Jun 2010 09:33:04 -0700 Subject: [Numpy-discussion] Error while upgrading to numpy 1.4.1 In-Reply-To: References: Message-ID: Thanks, it worked. On Mon, Jun 14, 2010 at 7:39 AM, Benjamin Root wrote: > > > On Mon, Jun 14, 2010 at 1:09 AM, David Cournapeau wrote: > >> On Mon, Jun 14, 2010 at 3:00 PM, Vishal Rana >> wrote: >> > Hi, >> > I am getting this error while upgrading to numpy 1.4.1 from 1.3 on >> ubuntu >> > 10.04 using easy_install -U numpy command, I even tried downloading / >> > installing numpy 1.4.1 but no luck, help appreciated. >> >> First, do not use easy_install to upgrade the numpy included with >> ubuntu. You should never do that, because easy_install will break the >> state of your installed packages w.r.t. apt database. >> >> It looks like you do not have development tools installed (the crt.o >> is a C runtime file which is provided by gcc) - install gcc, gfortran >> and libatlas-base-dev. >> >> I would also strongly discourage you to use easy_install on 10.04. The >> version in ubuntu 10.04 uses distribute which is buggier than >> setuptools at this point (sic), >> >> cheers, >> >> David >> > > Vishal, I would like to second David's sentiments. easy_install for numpy > is not done very well and can cause a lot of issues. You will need to make > sure you uninstall numpy using synaptic, and also see if you can find any > partial installs in the /usr/lib/python2.6/site-distribution folder, and > even the /usr/local/lib/python2.6/site-distribution folder and remove them > using rm -rf. > > With a cleaned-out environment, and the previously mentioned packages (you > might need a couple more...) you can then build from source using 'sudo > python setup.py install' in the numpy directory. Be sure to run the tests > after the install to ensure that everything works properly. I had to redo > the build a few times before the tests finished successfully for me. > > Ben Root > > >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From friedrichromstedt at gmail.com Mon Jun 14 16:36:58 2010 From: friedrichromstedt at gmail.com (Friedrich Romstedt) Date: Mon, 14 Jun 2010 22:36:58 +0200 Subject: [Numpy-discussion] Tensor contraction In-Reply-To: <4C153EDA.4060602@verizon.net> References: <4C13EE56.4070702@verizon.net> <4C151F59.1020409@verizon.net> <4C153EDA.4060602@verizon.net> Message-ID: 2010/6/13 Alan Bromborsky : > Friedrich Romstedt wrote: >>> I am writing symbolic tensor package for general relativity. ?In making >>> symbolic tensors concrete >>> I generate numpy arrays stuffed with sympy functions and symbols. >> >> That sound's interesting. Now, after I read the Wikipedia article about the Christoffel symbols, I'm not so sure if I can help you with the subject. It seems general relativity is a bit over my head, just a tiiiny bit ;-) >>> The >>> operations are tensor product >>> (numpy.multiply.outer), permutation of indices (swapaxes), ?partial and >>> covariant (both vector operators that >>> increase array dimensions by one) differentiation, and contraction. >> >> I would like to know more precisely what this differentiations do, and >> how it comes that they add an index to the tensor. Ok, this I understood now, nevertheless I'm completely lost with an over-all understanding ... >>> I think I need to do the contraction last >>> to make sure everything comes out correctly. ?Thus in many cases I would >>> be performing multiple contractions >>> on the tensor resulting from all the other operations. This is up to you, as I see it now. >> def contract(arr, *contractions): >> ? ? """*CONTRACTIONS is e.g.: >> ? ? ? ? (0, 1), (2, 3) >> ? ? meaning two contractions, one of 0 & 1, and one of 2 & 2, >> ? ? but also: >> ? ? ? ? (0, 1, 2), >> ? ? is allowed, meaning contract 0 & 1 & 2.""" >> >> ? ? # First, we check if we can contract using the *contractions* given ... >> >> ? ? for contraction in contractions: >> ? ? ? ? # Extract the dimensions used. >> ? ? ? ? dimensions = numpy.asarray(arr.shape)[list(contraction)] >> >> ? ? ? ? # Check if they are all the same. >> ? ? ? ? dimensionsdiff = dimensions - dimensions[0] >> ? ? ? ? if numpy.abs(dimensionsdiff).sum() != 0: >> ? ? ? ? ? ? raise ValueError('Contracted indices must be of same dimension.') >> >> ? ? # So now, we can contract. >> ? ? # >> ? ? # First, pull the contracted dimensions all to the front ... >> >> ? ? # The names of the indices. >> ? ? names = range(arr.ndim) >> >> ? ? # Pull all of the contractions. >> ? ? names_pulled = [] >> ? ? for contraction in contractions: >> ? ? ? ? names_pulled = names_pulled + list(contraction) >> ? ? ? ? # Remove the pulled index names from the pool: >> ? ? ? ? for used_index in contraction: >> ? ? ? ? ? ? # Some more sanity check >> ? ? ? ? ? ? if used_index not in names: >> ? ? ? ? ? ? ? ? raise ValueError('Each index can only be used in one >> contraction.') >> ? ? ? ? ? ? names.remove(used_index) >> >> ? ? # Concatenate the pulled indices and the left-over indices. >> ? ? names_final = names_pulled + names >> >> ? ? # Perform the swap. >> ? ? arr = arr.transpose(names_final) >> >> ? ? # Perform the contractions ... >> >> ? ? for contraction in contractions: >> ? ? ? ? # The respective indices are now, since we pulled them, the >> frontmost indices: >> ? ? ? ? ncontraction = len(contraction) >> ? ? ? ? # The index array: >> ? ? ? ? # shape[0] = shape[1] = ... = shape[ncontraction - 1] >> ? ? ? ? I = numpy.arange(0, arr.shape[0]) >> ? ? ? ? # Perform contraction: >> ? ? ? ? index = [I] * ncontraction >> ? ? ? ? arr = arr[tuple(index)].sum(axis=0) >> >> ? ? # If I made no mistake, we should be done now. >> ? ? return arr Btw, did this work for you? I like Sebastian's stride tricks, but I think the poor-man's .transpose() and contraction should also do it. (and is maybe more readable.) Btw, how are you planning to implement the differentiation? Hmm ... for the "normal" partial derivative ... it would be most elegant to create the \partial_{l} operator as an sympy object, is that possible? If not, one can think about a wrapper class, yielding the differentiation upon multiplication with a normal sympy object. If one has such operators, one can put them in an array, say p for "partial" and write: partial_T = p[numpy.newaxis, numpy.newaxis, numpy.newaxis] * T Or just write p as an instance of a class P with overloaded __mul__: def __mul__(self, T): return self.partials[tuple([numpy.newaxis] * T.ndim)] * T Then partial differentiation is for all tensors of your multidimensional world just: partial_T = p * T . ? For the Christoffel symbols, it's I think not so easy. But since I don't understand them, ... Friedrich From dagss at student.matnat.uio.no Mon Jun 14 17:23:02 2010 From: dagss at student.matnat.uio.no (Dag Sverre Seljebotn) Date: Mon, 14 Jun 2010 23:23:02 +0200 Subject: [Numpy-discussion] Tensor contraction In-Reply-To: <4C1628D5.406@verizon.net> References: <4C13EE56.4070702@verizon.net> <4C151F59.1020409@verizon.net> <4C1628D5.406@verizon.net> Message-ID: <4C169DB6.3080405@student.matnat.uio.no> Did you have a look at the tensors in Theano? They seem to merge tensor algebra, SymPy, NumPy and (optional) GPU computing etc. Even if it doesn't fill your needs it could perhaps be a better starting point? http://deeplearning.net/software/theano/library/tensor/basic.html Dag Sverre Alan Bromborsky wrote: > Sebastian Walter wrote: >> On Sun, Jun 13, 2010 at 8:11 PM, Alan Bromborsky wrote: >> >>> Friedrich Romstedt wrote: >>> >>>> 2010/6/13 Pauli Virtanen : >>>> >>>> >>>>> def tensor_contraction_single(tensor, dimensions): >>>>> """Perform a single tensor contraction over the dimensions given""" >>>>> swap = [x for x in range(tensor.ndim) >>>>> if x not in dimensions] + list(dimensions) >>>>> x = tensor.transpose(swap) >>>>> for k in range(len(dimensions) - 1): >>>>> x = np.diagonal(x, axis1=-2, axis2=-1) >>>>> return x.sum(axis=-1) >>>>> >>>>> def _preserve_indices(indices, removed): >>>>> """Adjust values of indices after some items are removed""" >>>>> for r in reversed(sorted(removed)): >>>>> indices = [j if j <= r else j-1 for j in indices] >>>>> return indices >>>>> >>>>> def tensor_contraction(tensor, contractions): >>>>> """Perform several tensor contractions""" >>>>> while contractions: >>>>> dimensions = contractions.pop(0) >>>>> tensor = tensor_contraction_single(tensor, dimensions) >>>>> contractions = [_preserve_indices(c, dimensions) >>>>> for c in contractions] >>>>> return tensor >>>>> >>>>> >>>> Pauli, >>>> >>>> I choke on your code for 10 min or so. I believe there could be some >>>> more comments. >>>> >>>> Alan, >>>> >>>> Do you really need multiple tensor contractions in one step? If yes, >>>> I'd like to put in my 2 cents in coding such one using a different >>>> approach, doing all the contractions in one step (via broadcasting). >>>> It's challenging. We can generalise this problem as much as we want, >>>> e.g. to contracting three instead of only two dimensions. But first, >>>> in case you have only two dimensions to contract at one single time >>>> instance, then Josef's first suggestion would be fine I think. Simply >>>> push out the diagonal dimension to the end via .diagonal() and sum >>>> over the last so created dimension. E.g.: >>>> >>>> # First we create some bogus array to play with: >>>> >>>> >>>>>>> a = numpy.arange(5 ** 4).reshape(5, 5, 5, 5) >>>>>>> >>>>>>> >>>> # Let's see how .diagonal() acts (just FYI, I haven't verified that it >>>> is what we want): >>>> >>>> >>>>>>> a.diagonal(axis1=0, axis2=3) >>>>>>> >>>>>>> >>>> array([[[ 0, 126, 252, 378, 504], >>>> [ 5, 131, 257, 383, 509], >>>> [ 10, 136, 262, 388, 514], >>>> [ 15, 141, 267, 393, 519], >>>> [ 20, 146, 272, 398, 524]], >>>> >>>> [[ 25, 151, 277, 403, 529], >>>> [ 30, 156, 282, 408, 534], >>>> [ 35, 161, 287, 413, 539], >>>> [ 40, 166, 292, 418, 544], >>>> [ 45, 171, 297, 423, 549]], >>>> >>>> [[ 50, 176, 302, 428, 554], >>>> [ 55, 181, 307, 433, 559], >>>> [ 60, 186, 312, 438, 564], >>>> [ 65, 191, 317, 443, 569], >>>> [ 70, 196, 322, 448, 574]], >>>> >>>> [[ 75, 201, 327, 453, 579], >>>> [ 80, 206, 332, 458, 584], >>>> [ 85, 211, 337, 463, 589], >>>> [ 90, 216, 342, 468, 594], >>>> [ 95, 221, 347, 473, 599]], >>>> >>>> [[100, 226, 352, 478, 604], >>>> [105, 231, 357, 483, 609], >>>> [110, 236, 362, 488, 614], >>>> [115, 241, 367, 493, 619], >>>> [120, 246, 372, 498, 624]]]) >>>> # Here, you can see (obviously :-) that the last dimension is the >>>> diagonal ... just believe in the semantics .... >>>> >>>> >>>>>>> a.diagonal(axis1=0, axis2=3).shape >>>>>>> >>>>>>> >>>> (5, 5, 5) >>>> >>>> # Sum over the diagonal shape parameter: >>>> # Again I didn't check this result's numbers. >>>> >>>> >>>>>>> a.diagonal(axis1=0, axis2=3).sum(axis=-1) >>>>>>> >>>>>>> >>>> array([[1260, 1285, 1310, 1335, 1360], >>>> [1385, 1410, 1435, 1460, 1485], >>>> [1510, 1535, 1560, 1585, 1610], >>>> [1635, 1660, 1685, 1710, 1735], >>>> [1760, 1785, 1810, 1835, 1860]]) >>>> >>>> The .diagonal() approach has the benefit that one doesn't have to care >>>> about where the diagonal dimension ends up, it's always the last >>>> dimension of the resulting array. With my solution, this was not so >>>> fine, because it could also become the first dimension of the >>>> resulting array. >>>> >>>> For the challenging part, I'll await your response first ... >>>> >>>> Friedrich >>>> _______________________________________________ >>>> NumPy-Discussion mailing list >>>> NumPy-Discussion at scipy.org >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>>> >>>> >>>> >>> I am writing symbolic tensor package for general relativity. In making >>> symbolic tensors concrete >>> >> Does that mean you are only interested in the numerical values of the tensors? >> I mean, is the final goal to obtain a numpy.array(...,dtype=float) >> which contains >> the wanted coefficients? >> Or do you need the symbolic representation? >> >> >>> I generate numpy arrays stuffed with sympy functions and symbols. The >>> operations are tensor product >>> (numpy.multiply.outer), permutation of indices (swapaxes), partial and >>> covariant (both vector operators that >>> increase array dimensions by one) differentiation, and contraction. I >>> think I need to do the contraction last >>> to make sure everything comes out correctly. Thus in many cases I would >>> be performing multiple contractions >>> on the tensor resulting from all the other operations. One question to >>> ask would be considering that I am stuffing >>> the arrays with symbolic objects and all the operations on the objects >>> would be done using the sympy modules, >>> would using numpy operations to perform the contractions really save any >>> time over just doing the contraction in >>> python code with a numpy array. >>> >> Not 100% sure. But for/while loops are really slow in Python and the >> numpy.ndarray.__getitem__ and ndarray.__setitem__ cause also a lot of >> overhead. >> I.e., using Python for loops on an element by element basis is going >> to take a long time if you have big tensors. >> >> You could write a small benchmark and post the results here. I'm also >> curious what the result is going to be ;). >> >> As to your original question: >> I think it may be helpful to look at numpy.lib.stride_tricks >> >> There is a really nice advanced tutoria by St?fan van der Walt >> http://mentat.za.net/numpy/numpy_advanced_slides/ >> >> E.g. to get a view of the diagonal elements of a matrix you can do >> something like: >> >> >> In [44]: from numpy.lib import stride_tricks >> >> In [45]: x = numpy.arange(4*4) >> >> In [46]: x >> Out[46]: array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]) >> >> In [47]: y = stride_tricks.as_strided(x, shape=(4,4),strides=(8*4,8)) >> >> In [48]: y >> Out[48]: >> array([[ 0, 1, 2, 3], >> [ 4, 5, 6, 7], >> [ 8, 9, 10, 11], >> [12, 13, 14, 15]]) >> >> >> In [54]: z = stride_tricks.as_strided(x, shape=(4,),strides=(8*5,)) >> >> In [55]: z >> Out[55]: array([ 0, 5, 10, 15]) >> >> In [56]: sum(z) >> Out[56]: 30 >> >> As you can see, you get the diagonal elements without having to copy any memory. >> >> Sebastian >> >> >> >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >>> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> > Thank you for your reply. All my array entries are symbolic. The use > of the abstract tensor module will be to generate the equations (finite > difference for finite element) required for the solution of General > Relativistic systems. The resulting equations would then be translated > into C++, C, or Fortran (which ever is most appropriate). The array > would initially be stuffed with appropriate linear combinations of basis > functions with symbolic coefficients. I will save the contraction > problem for last and try to implement both solutions, compare them, and > let you know the results. Note that the dimension of any axis in a real > problem is four (4-dimensional space-time) and the highest tensor rank > is four (256 components), although the rank of the products before > contraction could be significantly higher. > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion -- Dag Sverre From abrombo at verizon.net Mon Jun 14 17:46:21 2010 From: abrombo at verizon.net (Alan Bromborsky) Date: Mon, 14 Jun 2010 17:46:21 -0400 Subject: [Numpy-discussion] Tensor contraction In-Reply-To: <4C169DB6.3080405@student.matnat.uio.no> References: <4C13EE56.4070702@verizon.net> <4C151F59.1020409@verizon.net> <4C1628D5.406@verizon.net> <4C169DB6.3080405@student.matnat.uio.no> Message-ID: <4C16A32D.70900@verizon.net> Dag Sverre Seljebotn wrote: > Did you have a look at the tensors in Theano? They seem to merge tensor > algebra, SymPy, NumPy and (optional) GPU computing etc. Even if it > doesn't fill your needs it could perhaps be a better starting point? > > http://deeplearning.net/software/theano/library/tensor/basic.html > > Dag Sverre > > Alan Bromborsky wrote: > >> Sebastian Walter wrote: >> >>> On Sun, Jun 13, 2010 at 8:11 PM, Alan Bromborsky wrote: >>> >>> >>>> Friedrich Romstedt wrote: >>>> >>>> >>>>> 2010/6/13 Pauli Virtanen : >>>>> >>>>> >>>>> >>>>>> def tensor_contraction_single(tensor, dimensions): >>>>>> """Perform a single tensor contraction over the dimensions given""" >>>>>> swap = [x for x in range(tensor.ndim) >>>>>> if x not in dimensions] + list(dimensions) >>>>>> x = tensor.transpose(swap) >>>>>> for k in range(len(dimensions) - 1): >>>>>> x = np.diagonal(x, axis1=-2, axis2=-1) >>>>>> return x.sum(axis=-1) >>>>>> >>>>>> def _preserve_indices(indices, removed): >>>>>> """Adjust values of indices after some items are removed""" >>>>>> for r in reversed(sorted(removed)): >>>>>> indices = [j if j <= r else j-1 for j in indices] >>>>>> return indices >>>>>> >>>>>> def tensor_contraction(tensor, contractions): >>>>>> """Perform several tensor contractions""" >>>>>> while contractions: >>>>>> dimensions = contractions.pop(0) >>>>>> tensor = tensor_contraction_single(tensor, dimensions) >>>>>> contractions = [_preserve_indices(c, dimensions) >>>>>> for c in contractions] >>>>>> return tensor >>>>>> >>>>>> >>>>>> >>>>> Pauli, >>>>> >>>>> I choke on your code for 10 min or so. I believe there could be some >>>>> more comments. >>>>> >>>>> Alan, >>>>> >>>>> Do you really need multiple tensor contractions in one step? If yes, >>>>> I'd like to put in my 2 cents in coding such one using a different >>>>> approach, doing all the contractions in one step (via broadcasting). >>>>> It's challenging. We can generalise this problem as much as we want, >>>>> e.g. to contracting three instead of only two dimensions. But first, >>>>> in case you have only two dimensions to contract at one single time >>>>> instance, then Josef's first suggestion would be fine I think. Simply >>>>> push out the diagonal dimension to the end via .diagonal() and sum >>>>> over the last so created dimension. E.g.: >>>>> >>>>> # First we create some bogus array to play with: >>>>> >>>>> >>>>> >>>>>>>> a = numpy.arange(5 ** 4).reshape(5, 5, 5, 5) >>>>>>>> >>>>>>>> >>>>>>>> >>>>> # Let's see how .diagonal() acts (just FYI, I haven't verified that it >>>>> is what we want): >>>>> >>>>> >>>>> >>>>>>>> a.diagonal(axis1=0, axis2=3) >>>>>>>> >>>>>>>> >>>>>>>> >>>>> array([[[ 0, 126, 252, 378, 504], >>>>> [ 5, 131, 257, 383, 509], >>>>> [ 10, 136, 262, 388, 514], >>>>> [ 15, 141, 267, 393, 519], >>>>> [ 20, 146, 272, 398, 524]], >>>>> >>>>> [[ 25, 151, 277, 403, 529], >>>>> [ 30, 156, 282, 408, 534], >>>>> [ 35, 161, 287, 413, 539], >>>>> [ 40, 166, 292, 418, 544], >>>>> [ 45, 171, 297, 423, 549]], >>>>> >>>>> [[ 50, 176, 302, 428, 554], >>>>> [ 55, 181, 307, 433, 559], >>>>> [ 60, 186, 312, 438, 564], >>>>> [ 65, 191, 317, 443, 569], >>>>> [ 70, 196, 322, 448, 574]], >>>>> >>>>> [[ 75, 201, 327, 453, 579], >>>>> [ 80, 206, 332, 458, 584], >>>>> [ 85, 211, 337, 463, 589], >>>>> [ 90, 216, 342, 468, 594], >>>>> [ 95, 221, 347, 473, 599]], >>>>> >>>>> [[100, 226, 352, 478, 604], >>>>> [105, 231, 357, 483, 609], >>>>> [110, 236, 362, 488, 614], >>>>> [115, 241, 367, 493, 619], >>>>> [120, 246, 372, 498, 624]]]) >>>>> # Here, you can see (obviously :-) that the last dimension is the >>>>> diagonal ... just believe in the semantics .... >>>>> >>>>> >>>>> >>>>>>>> a.diagonal(axis1=0, axis2=3).shape >>>>>>>> >>>>>>>> >>>>>>>> >>>>> (5, 5, 5) >>>>> >>>>> # Sum over the diagonal shape parameter: >>>>> # Again I didn't check this result's numbers. >>>>> >>>>> >>>>> >>>>>>>> a.diagonal(axis1=0, axis2=3).sum(axis=-1) >>>>>>>> >>>>>>>> >>>>>>>> >>>>> array([[1260, 1285, 1310, 1335, 1360], >>>>> [1385, 1410, 1435, 1460, 1485], >>>>> [1510, 1535, 1560, 1585, 1610], >>>>> [1635, 1660, 1685, 1710, 1735], >>>>> [1760, 1785, 1810, 1835, 1860]]) >>>>> >>>>> The .diagonal() approach has the benefit that one doesn't have to care >>>>> about where the diagonal dimension ends up, it's always the last >>>>> dimension of the resulting array. With my solution, this was not so >>>>> fine, because it could also become the first dimension of the >>>>> resulting array. >>>>> >>>>> For the challenging part, I'll await your response first ... >>>>> >>>>> Friedrich >>>>> _______________________________________________ >>>>> NumPy-Discussion mailing list >>>>> NumPy-Discussion at scipy.org >>>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>>>> >>>>> >>>>> >>>>> >>>> I am writing symbolic tensor package for general relativity. In making >>>> symbolic tensors concrete >>>> >>>> >>> Does that mean you are only interested in the numerical values of the tensors? >>> I mean, is the final goal to obtain a numpy.array(...,dtype=float) >>> which contains >>> the wanted coefficients? >>> Or do you need the symbolic representation? >>> >>> >>> >>>> I generate numpy arrays stuffed with sympy functions and symbols. The >>>> operations are tensor product >>>> (numpy.multiply.outer), permutation of indices (swapaxes), partial and >>>> covariant (both vector operators that >>>> increase array dimensions by one) differentiation, and contraction. I >>>> think I need to do the contraction last >>>> to make sure everything comes out correctly. Thus in many cases I would >>>> be performing multiple contractions >>>> on the tensor resulting from all the other operations. One question to >>>> ask would be considering that I am stuffing >>>> the arrays with symbolic objects and all the operations on the objects >>>> would be done using the sympy modules, >>>> would using numpy operations to perform the contractions really save any >>>> time over just doing the contraction in >>>> python code with a numpy array. >>>> >>>> >>> Not 100% sure. But for/while loops are really slow in Python and the >>> numpy.ndarray.__getitem__ and ndarray.__setitem__ cause also a lot of >>> overhead. >>> I.e., using Python for loops on an element by element basis is going >>> to take a long time if you have big tensors. >>> >>> You could write a small benchmark and post the results here. I'm also >>> curious what the result is going to be ;). >>> >>> As to your original question: >>> I think it may be helpful to look at numpy.lib.stride_tricks >>> >>> There is a really nice advanced tutoria by St?fan van der Walt >>> http://mentat.za.net/numpy/numpy_advanced_slides/ >>> >>> E.g. to get a view of the diagonal elements of a matrix you can do >>> something like: >>> >>> >>> In [44]: from numpy.lib import stride_tricks >>> >>> In [45]: x = numpy.arange(4*4) >>> >>> In [46]: x >>> Out[46]: array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]) >>> >>> In [47]: y = stride_tricks.as_strided(x, shape=(4,4),strides=(8*4,8)) >>> >>> In [48]: y >>> Out[48]: >>> array([[ 0, 1, 2, 3], >>> [ 4, 5, 6, 7], >>> [ 8, 9, 10, 11], >>> [12, 13, 14, 15]]) >>> >>> >>> In [54]: z = stride_tricks.as_strided(x, shape=(4,),strides=(8*5,)) >>> >>> In [55]: z >>> Out[55]: array([ 0, 5, 10, 15]) >>> >>> In [56]: sum(z) >>> Out[56]: 30 >>> >>> As you can see, you get the diagonal elements without having to copy any memory. >>> >>> Sebastian >>> >>> >>> >>> >>>> _______________________________________________ >>>> NumPy-Discussion mailing list >>>> NumPy-Discussion at scipy.org >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>>> >>>> >>>> >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >>> >>> >> Thank you for your reply. All my array entries are symbolic. The use >> of the abstract tensor module will be to generate the equations (finite >> difference for finite element) required for the solution of General >> Relativistic systems. The resulting equations would then be translated >> into C++, C, or Fortran (which ever is most appropriate). The array >> would initially be stuffed with appropriate linear combinations of basis >> functions with symbolic coefficients. I will save the contraction >> problem for last and try to implement both solutions, compare them, and >> let you know the results. Note that the dimension of any axis in a real >> problem is four (4-dimensional space-time) and the highest tensor rank >> is four (256 components), although the rank of the products before >> contraction could be significantly higher. >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > > > Can dtype in Theano tensor be a sympy expression? From ranavishal at gmail.com Mon Jun 14 20:00:23 2010 From: ranavishal at gmail.com (Vishal Rana) Date: Mon, 14 Jun 2010 17:00:23 -0700 Subject: [Numpy-discussion] Fastest way to save a dictionary of numpy record arrays Message-ID: Hi, I have dictionary of numpy record arrays, what could be fastest way to save/load to/from a disk. I tried numpy.save() but my dictionary is lost and cPickle seems to be slow. Thanks Vishal -------------- next part -------------- An HTML attachment was scrubbed... URL: From robert.kern at gmail.com Mon Jun 14 20:08:15 2010 From: robert.kern at gmail.com (Robert Kern) Date: Mon, 14 Jun 2010 19:08:15 -0500 Subject: [Numpy-discussion] Fastest way to save a dictionary of numpy record arrays In-Reply-To: References: Message-ID: On Mon, Jun 14, 2010 at 19:00, Vishal Rana wrote: > Hi, > I have dictionary of numpy record arrays, what could be fastest way to > save/load to/from a disk. I tried numpy.save() but my dictionary is lost and > cPickle seems to be slow. numpy.savez() will save a dictionary of arrays out to a .zip file. Each key/value pair will map to a file in the .zip file with a file name corresponding to the key. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From warren.weckesser at enthought.com Mon Jun 14 20:27:44 2010 From: warren.weckesser at enthought.com (Warren Weckesser) Date: Mon, 14 Jun 2010 19:27:44 -0500 Subject: [Numpy-discussion] Fastest way to save a dictionary of numpy record arrays In-Reply-To: References: Message-ID: <4C16C900.1090502@enthought.com> Robert Kern wrote: > On Mon, Jun 14, 2010 at 19:00, Vishal Rana wrote: > >> Hi, >> I have dictionary of numpy record arrays, what could be fastest way to >> save/load to/from a disk. I tried numpy.save() but my dictionary is lost and >> cPickle seems to be slow. >> > > numpy.savez() will save a dictionary of arrays out to a .zip file. > Each key/value pair will map to a file in the .zip file with a file > name corresponding to the key. > > Hey Robert, If I expand the dictionary to keyword arguments to savez, it works beautifully: ----- In [4]: a = np.array([[1,2,3],[4,5,6]]) In [5]: b = np.array([('foo',1),('bar',2)], dtype=[('name', 'S8'), ('code', int)]) In [6]: d = dict(a=a, b=b) In [7]: np.savez('mydata.npz', **d) In [8]: q = np.load('mydata.npz') In [9]: q['a'] Out[9]: array([[1, 2, 3], [4, 5, 6]]) In [10]: q['b'] Out[10]: array([('foo', 1), ('bar', 2)], dtype=[('name', '|S8'), ('code', ' References: <4C16C900.1090502@enthought.com> Message-ID: On Mon, Jun 14, 2010 at 19:27, Warren Weckesser wrote: > Robert Kern wrote: >> On Mon, Jun 14, 2010 at 19:00, Vishal Rana wrote: >> >>> Hi, >>> I have dictionary of numpy record arrays, what could be fastest way to >>> save/load to/from a disk. I tried numpy.save() but my dictionary is lost and >>> cPickle seems to be slow. >>> >> >> numpy.savez() will save a dictionary of arrays out to a .zip file. >> Each key/value pair will map to a file in the .zip file with a file >> name corresponding to the key. >> >> > > Hey Robert, > > If I expand the dictionary to keyword arguments to savez, it works > beautifully: > > ----- > In [4]: a = np.array([[1,2,3],[4,5,6]]) > > In [5]: b = np.array([('foo',1),('bar',2)], dtype=[('name', 'S8'), > ('code', int)]) > > In [6]: d = dict(a=a, b=b) > > In [7]: np.savez('mydata.npz', **d) > > In [8]: q = np.load('mydata.npz') > > In [9]: q['a'] > Out[9]: > array([[1, 2, 3], > ? ? ? [4, 5, 6]]) > > In [10]: q['b'] > Out[10]: > array([('foo', 1), ('bar', 2)], > ? ? ?dtype=[('name', '|S8'), ('code', ' ----- > > > But if I just pass in the dictionary to savez: Don't. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From warren.weckesser at enthought.com Mon Jun 14 20:34:08 2010 From: warren.weckesser at enthought.com (Warren Weckesser) Date: Mon, 14 Jun 2010 19:34:08 -0500 Subject: [Numpy-discussion] Fastest way to save a dictionary of numpy record arrays In-Reply-To: References: <4C16C900.1090502@enthought.com> Message-ID: <4C16CA80.5050106@enthought.com> Robert Kern wrote: > On Mon, Jun 14, 2010 at 19:27, Warren Weckesser > wrote: > >> Robert Kern wrote: >> >>> On Mon, Jun 14, 2010 at 19:00, Vishal Rana wrote: >>> >>> >>>> Hi, >>>> I have dictionary of numpy record arrays, what could be fastest way to >>>> save/load to/from a disk. I tried numpy.save() but my dictionary is lost and >>>> cPickle seems to be slow. >>>> >>>> >>> numpy.savez() will save a dictionary of arrays out to a .zip file. >>> Each key/value pair will map to a file in the .zip file with a file >>> name corresponding to the key. >>> >>> >>> >> Hey Robert, >> >> If I expand the dictionary to keyword arguments to savez, it works >> beautifully: >> >> ----- >> In [4]: a = np.array([[1,2,3],[4,5,6]]) >> >> In [5]: b = np.array([('foo',1),('bar',2)], dtype=[('name', 'S8'), >> ('code', int)]) >> >> In [6]: d = dict(a=a, b=b) >> >> In [7]: np.savez('mydata.npz', **d) >> >> In [8]: q = np.load('mydata.npz') >> >> In [9]: q['a'] >> Out[9]: >> array([[1, 2, 3], >> [4, 5, 6]]) >> >> In [10]: q['b'] >> Out[10]: >> array([('foo', 1), ('bar', 2)], >> dtype=[('name', '|S8'), ('code', '> ----- >> >> >> But if I just pass in the dictionary to savez: >> > > Don't. > > That's what I suspected. Thanks. From ranavishal at gmail.com Mon Jun 14 21:31:21 2010 From: ranavishal at gmail.com (Vishal Rana) Date: Mon, 14 Jun 2010 18:31:21 -0700 Subject: [Numpy-discussion] Fastest way to save a dictionary of numpy record arrays In-Reply-To: References: Message-ID: Thanks Robert On Mon, Jun 14, 2010 at 5:08 PM, Robert Kern wrote: > On Mon, Jun 14, 2010 at 19:00, Vishal Rana wrote: > > Hi, > > I have dictionary of numpy record arrays, what could be fastest way to > > save/load to/from a disk. I tried numpy.save() but my dictionary is lost > and > > cPickle seems to be slow. > > numpy.savez() will save a dictionary of arrays out to a .zip file. > Each key/value pair will map to a file in the .zip file with a file > name corresponding to the key. > > -- > Robert Kern > > "I have come to believe that the whole world is an enigma, a harmless > enigma that is made terrible by our own mad attempt to interpret it as > though it had an underlying truth." > -- Umberto Eco > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From crleblanc at gmail.com Mon Jun 14 23:06:28 2010 From: crleblanc at gmail.com (Chris LeBlanc) Date: Tue, 15 Jun 2010 15:06:28 +1200 Subject: [Numpy-discussion] Compiling NumPy on 64 bit Solaris 10 sparc) Message-ID: Hi, Firstly thanks to everyone that has helped bring NumPy to the point it is today. Its an excellent bit of software. I've recently managed to get NumPy to compile on a 64 bit Solaris 10 (sparc) machine. We've embedded 64 bit Python in some of our C code using the Python C-API, and therefore require a 64 bit version of NumPy. I had to use a bit of a hack to get NumPy to compile in 64 bit mode, and I'm just wondering if there's a more elegant way of doing it? If I set CFLAGS to "-m64 -xcode=pic32", and CC to "/usr/bin/cc", it will raise the following error: ... snipped most of backtrace ... File "/home/leblanc/source/numpy/numpy/distutils/command/build_src.py", line 385, in generate_sources source = func(extension, build_dir) File "numpy/core/setup.py", line 675, in get_mathlib_info raise RuntimeError("Broken toolchain: cannot link a simple C program") However, if I create a wrapper script and set CC to the path of the wrapper, then it will build normally and create a NumPy module I can use from the 64 bit version of Python installed on the system (/usr/bin/sparcv9/python). Here's the wrapper: #!/bin/sh /usr/bin/cc -m64 -xcode=pic32 $* I did a bit of googling and couldn't find much information on this issue (which is why I wanted to post this message, so others could find it). I'm satisfied with the results, but wondering if there's a better way to do it. Cheers, Chris Chris LeBlanc GNS Science From vincent at vincentdavis.net Mon Jun 14 23:15:30 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Mon, 14 Jun 2010 21:15:30 -0600 Subject: [Numpy-discussion] Technicalities of the SVN -> GIT transition In-Reply-To: <4C0C4ECD.50401@silveregg.co.jp> References: <4C04D01A.7060108@silveregg.co.jp> <4C070C51.3090207@silveregg.co.jp> <4C0C4ECD.50401@silveregg.co.jp> Message-ID: Is this http://github.com/cournape/numpy going to become the git repo? I guess I am wondering what the progress is of the transition? Vincent On Sun, Jun 6, 2010 at 7:43 PM, David wrote: > On 06/05/2010 11:43 PM, Pauli Virtanen wrote: >> Fri, 04 Jun 2010 15:28:52 -0700, Matthew Brett wrote: >>>>> I think it should be opt-in. ?How would opt-out work? ?Would someone >>>>> create new accounts for all the contributors and then give them >>>>> access? >>>> >>>> Just to be clear, this has nothing to do with accounts on github, or >>>> any registered thing. This is *only* about username/email as recognized >>>> by git itself (as recorded in the commit objects). >>> >>> Actually - isn't it better if people do give you their github username / >>> email combo - assuming that's the easiest combo to work with later? >> >> I think the Github user name is not really needed here, as what goes into >> the history is the Git ID: name + email address. > > Indeed. IOW, the output of > > git config user.name > git config user.email > > if you already use git is all that I need, > > David > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From david at silveregg.co.jp Tue Jun 15 00:18:04 2010 From: david at silveregg.co.jp (David) Date: Tue, 15 Jun 2010 13:18:04 +0900 Subject: [Numpy-discussion] Technicalities of the SVN -> GIT transition In-Reply-To: References: <4C04D01A.7060108@silveregg.co.jp> <4C070C51.3090207@silveregg.co.jp> <4C0C4ECD.50401@silveregg.co.jp> Message-ID: <4C16FEFC.5080908@silveregg.co.jp> On 06/15/2010 12:15 PM, Vincent Davis wrote: > Is this http://github.com/cournape/numpy going to become the git repo? No, this is just a mirror of the svn repo, and used by various developers to do their own stuff. > I guess I am wondering what the progress is of the transition? It is progressing, and we will keep people posted when there is something to show, David From ranavishal at gmail.com Tue Jun 15 02:56:38 2010 From: ranavishal at gmail.com (Vishal Rana) Date: Mon, 14 Jun 2010 23:56:38 -0700 Subject: [Numpy-discussion] Fastest way to save a dictionary of numpy record arrays In-Reply-To: References: Message-ID: Robert, As you said, I was able to get the results, but I now got a question as np.load('np.npz') returns me a object so does that mean the data is read directly from the from the npz file and not all the data is loaded to the memory? Thanks Vishal Rana On Mon, Jun 14, 2010 at 5:08 PM, Robert Kern wrote: > On Mon, Jun 14, 2010 at 19:00, Vishal Rana wrote: > > Hi, > > I have dictionary of numpy record arrays, what could be fastest way to > > save/load to/from a disk. I tried numpy.save() but my dictionary is lost > and > > cPickle seems to be slow. > > numpy.savez() will save a dictionary of arrays out to a .zip file. > Each key/value pair will map to a file in the .zip file with a file > name corresponding to the key. > > -- > Robert Kern > > "I have come to believe that the whole world is an enigma, a harmless > enigma that is made terrible by our own mad attempt to interpret it as > though it had an underlying truth." > -- Umberto Eco > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dagss at student.matnat.uio.no Tue Jun 15 06:54:56 2010 From: dagss at student.matnat.uio.no (Dag Sverre Seljebotn) Date: Tue, 15 Jun 2010 12:54:56 +0200 Subject: [Numpy-discussion] Tensor contraction In-Reply-To: <4C16A32D.70900@verizon.net> References: <4C13EE56.4070702@verizon.net> <4C151F59.1020409@verizon.net> <4C1628D5.406@verizon.net> <4C169DB6.3080405@student.matnat.uio.no> <4C16A32D.70900@verizon.net> Message-ID: <4C175C00.9010206@student.matnat.uio.no> Alan Bromborsky wrote: > Dag Sverre Seljebotn wrote: > >> Did you have a look at the tensors in Theano? They seem to merge tensor >> algebra, SymPy, NumPy and (optional) GPU computing etc. Even if it >> doesn't fill your needs it could perhaps be a better starting point? >> >> http://deeplearning.net/software/theano/library/tensor/basic.html >> >> Dag Sverre >> >> Alan Bromborsky wrote: >> >> >>> Sebastian Walter wrote: >>> >>> >>>> On Sun, Jun 13, 2010 at 8:11 PM, Alan Bromborsky wrote: >>>> >>>> >>>> >>>>> Friedrich Romstedt wrote: >>>>> >>>>> >>>>> >>>>>> 2010/6/13 Pauli Virtanen : >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> def tensor_contraction_single(tensor, dimensions): >>>>>>> """Perform a single tensor contraction over the dimensions given""" >>>>>>> swap = [x for x in range(tensor.ndim) >>>>>>> if x not in dimensions] + list(dimensions) >>>>>>> x = tensor.transpose(swap) >>>>>>> for k in range(len(dimensions) - 1): >>>>>>> x = np.diagonal(x, axis1=-2, axis2=-1) >>>>>>> return x.sum(axis=-1) >>>>>>> >>>>>>> def _preserve_indices(indices, removed): >>>>>>> """Adjust values of indices after some items are removed""" >>>>>>> for r in reversed(sorted(removed)): >>>>>>> indices = [j if j <= r else j-1 for j in indices] >>>>>>> return indices >>>>>>> >>>>>>> def tensor_contraction(tensor, contractions): >>>>>>> """Perform several tensor contractions""" >>>>>>> while contractions: >>>>>>> dimensions = contractions.pop(0) >>>>>>> tensor = tensor_contraction_single(tensor, dimensions) >>>>>>> contractions = [_preserve_indices(c, dimensions) >>>>>>> for c in contractions] >>>>>>> return tensor >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> Pauli, >>>>>> >>>>>> I choke on your code for 10 min or so. I believe there could be some >>>>>> more comments. >>>>>> >>>>>> Alan, >>>>>> >>>>>> Do you really need multiple tensor contractions in one step? If yes, >>>>>> I'd like to put in my 2 cents in coding such one using a different >>>>>> approach, doing all the contractions in one step (via broadcasting). >>>>>> It's challenging. We can generalise this problem as much as we want, >>>>>> e.g. to contracting three instead of only two dimensions. But first, >>>>>> in case you have only two dimensions to contract at one single time >>>>>> instance, then Josef's first suggestion would be fine I think. Simply >>>>>> push out the diagonal dimension to the end via .diagonal() and sum >>>>>> over the last so created dimension. E.g.: >>>>>> >>>>>> # First we create some bogus array to play with: >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>>>> a = numpy.arange(5 ** 4).reshape(5, 5, 5, 5) >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>> # Let's see how .diagonal() acts (just FYI, I haven't verified that it >>>>>> is what we want): >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>>>> a.diagonal(axis1=0, axis2=3) >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>> array([[[ 0, 126, 252, 378, 504], >>>>>> [ 5, 131, 257, 383, 509], >>>>>> [ 10, 136, 262, 388, 514], >>>>>> [ 15, 141, 267, 393, 519], >>>>>> [ 20, 146, 272, 398, 524]], >>>>>> >>>>>> [[ 25, 151, 277, 403, 529], >>>>>> [ 30, 156, 282, 408, 534], >>>>>> [ 35, 161, 287, 413, 539], >>>>>> [ 40, 166, 292, 418, 544], >>>>>> [ 45, 171, 297, 423, 549]], >>>>>> >>>>>> [[ 50, 176, 302, 428, 554], >>>>>> [ 55, 181, 307, 433, 559], >>>>>> [ 60, 186, 312, 438, 564], >>>>>> [ 65, 191, 317, 443, 569], >>>>>> [ 70, 196, 322, 448, 574]], >>>>>> >>>>>> [[ 75, 201, 327, 453, 579], >>>>>> [ 80, 206, 332, 458, 584], >>>>>> [ 85, 211, 337, 463, 589], >>>>>> [ 90, 216, 342, 468, 594], >>>>>> [ 95, 221, 347, 473, 599]], >>>>>> >>>>>> [[100, 226, 352, 478, 604], >>>>>> [105, 231, 357, 483, 609], >>>>>> [110, 236, 362, 488, 614], >>>>>> [115, 241, 367, 493, 619], >>>>>> [120, 246, 372, 498, 624]]]) >>>>>> # Here, you can see (obviously :-) that the last dimension is the >>>>>> diagonal ... just believe in the semantics .... >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>>>> a.diagonal(axis1=0, axis2=3).shape >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>> (5, 5, 5) >>>>>> >>>>>> # Sum over the diagonal shape parameter: >>>>>> # Again I didn't check this result's numbers. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>>>> a.diagonal(axis1=0, axis2=3).sum(axis=-1) >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>> array([[1260, 1285, 1310, 1335, 1360], >>>>>> [1385, 1410, 1435, 1460, 1485], >>>>>> [1510, 1535, 1560, 1585, 1610], >>>>>> [1635, 1660, 1685, 1710, 1735], >>>>>> [1760, 1785, 1810, 1835, 1860]]) >>>>>> >>>>>> The .diagonal() approach has the benefit that one doesn't have to care >>>>>> about where the diagonal dimension ends up, it's always the last >>>>>> dimension of the resulting array. With my solution, this was not so >>>>>> fine, because it could also become the first dimension of the >>>>>> resulting array. >>>>>> >>>>>> For the challenging part, I'll await your response first ... >>>>>> >>>>>> Friedrich >>>>>> _______________________________________________ >>>>>> NumPy-Discussion mailing list >>>>>> NumPy-Discussion at scipy.org >>>>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> I am writing symbolic tensor package for general relativity. In making >>>>> symbolic tensors concrete >>>>> >>>>> >>>>> >>>> Does that mean you are only interested in the numerical values of the tensors? >>>> I mean, is the final goal to obtain a numpy.array(...,dtype=float) >>>> which contains >>>> the wanted coefficients? >>>> Or do you need the symbolic representation? >>>> >>>> >>>> >>>> >>>>> I generate numpy arrays stuffed with sympy functions and symbols. The >>>>> operations are tensor product >>>>> (numpy.multiply.outer), permutation of indices (swapaxes), partial and >>>>> covariant (both vector operators that >>>>> increase array dimensions by one) differentiation, and contraction. I >>>>> think I need to do the contraction last >>>>> to make sure everything comes out correctly. Thus in many cases I would >>>>> be performing multiple contractions >>>>> on the tensor resulting from all the other operations. One question to >>>>> ask would be considering that I am stuffing >>>>> the arrays with symbolic objects and all the operations on the objects >>>>> would be done using the sympy modules, >>>>> would using numpy operations to perform the contractions really save any >>>>> time over just doing the contraction in >>>>> python code with a numpy array. >>>>> >>>>> >>>>> >>>> Not 100% sure. But for/while loops are really slow in Python and the >>>> numpy.ndarray.__getitem__ and ndarray.__setitem__ cause also a lot of >>>> overhead. >>>> I.e., using Python for loops on an element by element basis is going >>>> to take a long time if you have big tensors. >>>> >>>> You could write a small benchmark and post the results here. I'm also >>>> curious what the result is going to be ;). >>>> >>>> As to your original question: >>>> I think it may be helpful to look at numpy.lib.stride_tricks >>>> >>>> There is a really nice advanced tutoria by St?fan van der Walt >>>> http://mentat.za.net/numpy/numpy_advanced_slides/ >>>> >>>> E.g. to get a view of the diagonal elements of a matrix you can do >>>> something like: >>>> >>>> >>>> In [44]: from numpy.lib import stride_tricks >>>> >>>> In [45]: x = numpy.arange(4*4) >>>> >>>> In [46]: x >>>> Out[46]: array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]) >>>> >>>> In [47]: y = stride_tricks.as_strided(x, shape=(4,4),strides=(8*4,8)) >>>> >>>> In [48]: y >>>> Out[48]: >>>> array([[ 0, 1, 2, 3], >>>> [ 4, 5, 6, 7], >>>> [ 8, 9, 10, 11], >>>> [12, 13, 14, 15]]) >>>> >>>> >>>> In [54]: z = stride_tricks.as_strided(x, shape=(4,),strides=(8*5,)) >>>> >>>> In [55]: z >>>> Out[55]: array([ 0, 5, 10, 15]) >>>> >>>> In [56]: sum(z) >>>> Out[56]: 30 >>>> >>>> As you can see, you get the diagonal elements without having to copy any memory. >>>> >>>> Sebastian >>>> >>>> >>>> >>>> >>>> >>>>> _______________________________________________ >>>>> NumPy-Discussion mailing list >>>>> NumPy-Discussion at scipy.org >>>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>>>> >>>>> >>>>> >>>>> >>>> _______________________________________________ >>>> NumPy-Discussion mailing list >>>> NumPy-Discussion at scipy.org >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>>> >>>> >>>> >>>> >>> Thank you for your reply. All my array entries are symbolic. The use >>> of the abstract tensor module will be to generate the equations (finite >>> difference for finite element) required for the solution of General >>> Relativistic systems. The resulting equations would then be translated >>> into C++, C, or Fortran (which ever is most appropriate). The array >>> would initially be stuffed with appropriate linear combinations of basis >>> functions with symbolic coefficients. I will save the contraction >>> problem for last and try to implement both solutions, compare them, and >>> let you know the results. Note that the dimension of any axis in a real >>> problem is four (4-dimensional space-time) and the highest tensor rank >>> is four (256 components), although the rank of the products before >>> contraction could be significantly higher. >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >>> >> >> > Can dtype in Theano tensor be a sympy expression > I don't use Theano myself so I don't know. I know it is based on building expressions, couples to SymPy to do derivatives and so on, although how that works for tensors I don't know, you'll have to read the docs. Dag Sverre From pav at iki.fi Tue Jun 15 07:11:56 2010 From: pav at iki.fi (Pauli Virtanen) Date: Tue, 15 Jun 2010 13:11:56 +0200 Subject: [Numpy-discussion] Technicalities of the SVN -> GIT transition In-Reply-To: <4C16FEFC.5080908@silveregg.co.jp> References: <4C04D01A.7060108@silveregg.co.jp> <4C070C51.3090207@silveregg.co.jp> <4C0C4ECD.50401@silveregg.co.jp> <4C16FEFC.5080908@silveregg.co.jp> Message-ID: <1276600316.2218.5.camel@talisman> ti, 2010-06-15 kello 13:18 +0900, David kirjoitti: > On 06/15/2010 12:15 PM, Vincent Davis wrote: > > Is this http://github.com/cournape/numpy going to become the git repo? > > No, this is just a mirror of the svn repo, and used by various > developers to do their own stuff. That's a mirror of a mirror, the master SVN mirror is here: http://projects.scipy.org/git/numpy/ -- Pauli Virtanen From pav at iki.fi Tue Jun 15 07:37:30 2010 From: pav at iki.fi (Pauli Virtanen) Date: Tue, 15 Jun 2010 13:37:30 +0200 Subject: [Numpy-discussion] Ufunc memory access optimization In-Reply-To: <201006111052.52965.meine@informatik.uni-hamburg.de> References: <201006111029.28582.meine@informatik.uni-hamburg.de> <201006111052.52965.meine@informatik.uni-hamburg.de> Message-ID: <1276601850.2218.30.camel@talisman> pe, 2010-06-11 kello 10:52 +0200, Hans Meine kirjoitti: > On Friday 11 June 2010 10:38:28 Pauli Virtanen wrote: [clip] > > I think I there was some code ready to implement this shuffling. I'll try > > to dig it out and implement the shuffling. > > That would be great! > > Ullrich K?the has implemented this for our VIGRA/numpy bindings: > http://tinyurl.com/fast-ufunc > At the bottom you can see that he basically wraps all numpy.ufuncs he can find > in the numpy top-level namespace automatically. Ok, here's the branch: http://github.com/pv/numpy-work/compare/master...feature;ufunc-memory-access-speedup Some samples: (the reported times in braces are times without the optimization) x = np.zeros([100,100]) %timeit x + x 10000 loops, best of 3: 106 us (99.1 us) per loop %timeit x.T + x.T 10000 loops, best of 3: 114 us (164 us) per loop %timeit x.T + x 10000 loops, best of 3: 176 us (171 us) per loop x = np.zeros([100,5,5]) %timeit x.T + x.T 10000 loops, best of 3: 47.7 us (61 us) per loop x = np.zeros([100,5,100]).transpose(2,0,1) %timeit np.cos(x) 100 loops, best of 3: 3.77 ms (9 ms) per loop As expected, some improvement can be seen. There's also appears to be an additional 5 us (~ 700 inner loop operations it seems) overhead coming from somewhere; perhaps this can still be reduced. -- Pauli Virtanen From aarchiba at physics.mcgill.ca Tue Jun 15 10:10:24 2010 From: aarchiba at physics.mcgill.ca (Anne Archibald) Date: Tue, 15 Jun 2010 10:10:24 -0400 Subject: [Numpy-discussion] Ufunc memory access optimization In-Reply-To: <1276601850.2218.30.camel@talisman> References: <201006111029.28582.meine@informatik.uni-hamburg.de> <201006111052.52965.meine@informatik.uni-hamburg.de> <1276601850.2218.30.camel@talisman> Message-ID: Correct me if I'm wrong, but this code still doesn't seem to make the optimization of flattening arrays as much as possible. The array you get out of np.zeros((100,100)) can be iterated over as an array of shape (10000,), which should yield very substantial speedups. Since most arrays one operates on are like this, there's potentially a large speedup here. (On the other hand, if this optimization is being done, then these tests are somewhat deceptive.) On the other hand, it seems to me there's still some question about how to optimize execution order when the ufunc is dealing with two or more arrays with different memory layouts. In such a case, which one do you reorder in favour of? Is it acceptable to return freshly-allocated arrays that are not C-contiguous? Anne On 15 June 2010 07:37, Pauli Virtanen wrote: > pe, 2010-06-11 kello 10:52 +0200, Hans Meine kirjoitti: >> On Friday 11 June 2010 10:38:28 Pauli Virtanen wrote: > [clip] >> > I think I there was some code ready to implement this shuffling. I'll try >> > to dig it out and implement the shuffling. >> >> That would be great! >> >> Ullrich K?the has implemented this for our VIGRA/numpy bindings: >> ? http://tinyurl.com/fast-ufunc >> At the bottom you can see that he basically wraps all numpy.ufuncs he can find >> in the numpy top-level namespace automatically. > > Ok, here's the branch: > > ? ? ? ?http://github.com/pv/numpy-work/compare/master...feature;ufunc-memory-access-speedup > > Some samples: (the reported times in braces are times without the > optimization) > > ? ? ? ?x = np.zeros([100,100]) > ? ? ? ?%timeit x + x > ? ? ? ?10000 loops, best of 3: 106 us (99.1 us) per loop > ? ? ? ?%timeit x.T + x.T > ? ? ? ?10000 loops, best of 3: 114 us (164 us) per loop > ? ? ? ?%timeit x.T + x > ? ? ? ?10000 loops, best of 3: 176 us (171 us) per loop > > ? ? ? ?x = np.zeros([100,5,5]) > ? ? ? ?%timeit x.T + x.T > ? ? ? ?10000 loops, best of 3: 47.7 us (61 us) per loop > > ? ? ? ?x = np.zeros([100,5,100]).transpose(2,0,1) > ? ? ? ?%timeit np.cos(x) > ? ? ? ?100 loops, best of 3: 3.77 ms (9 ms) per loop > > As expected, some improvement can be seen. There's also appears to be > an additional 5 us (~ 700 inner loop operations it seems) overhead > coming from somewhere; perhaps this can still be reduced. > > -- > Pauli Virtanen > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From pav at iki.fi Tue Jun 15 11:16:11 2010 From: pav at iki.fi (Pauli Virtanen) Date: Tue, 15 Jun 2010 17:16:11 +0200 Subject: [Numpy-discussion] Ufunc memory access optimization In-Reply-To: References: <201006111029.28582.meine@informatik.uni-hamburg.de> <201006111052.52965.meine@informatik.uni-hamburg.de> <1276601850.2218.30.camel@talisman> Message-ID: <1276614971.2218.125.camel@talisman> ti, 2010-06-15 kello 10:10 -0400, Anne Archibald kirjoitti: > Correct me if I'm wrong, but this code still doesn't seem to make the > optimization of flattening arrays as much as possible. The array you > get out of np.zeros((100,100)) can be iterated over as an array of > shape (10000,), which should yield very substantial speedups. Since > most arrays one operates on are like this, there's potentially a large > speedup here. (On the other hand, if this optimization is being done, > then these tests are somewhat deceptive.) It does perform this optimization, and unravels the loop as much as possible. If all arrays are wholly contiguous, iterators are not even used in the ufunc loop. Check the part after /* Determine how many of the trailing dimensions are contiguous */ However, in practice it seems that this typically is not a significant win -- I don't get speedups over the unoptimized numpy code even for shapes (2,)*20 where you'd think that the iterator overhead could be important: x = np.zeros((2,)*20) %timeit np.cos(x) 10 loops, best of 3: 89.9 ms (90.2 ms) per loop This is actually consistent with the result x = np.zeros((2,)*20) y = x.flatten() %timeit x+x 10 loops, best of 3: 20.9 ms per loop %timeit y+y 10 loops, best of 3: 21 ms per loop that you can probably verify with any Numpy installation. This result may actually be because the Numpy ufunc inner loops are not especially optimized -- they don't use fixed stride sizes etc., and are so not much more efficient than using array iterators. > On the other hand, it seems to me there's still some question about > how to optimize execution order when the ufunc is dealing with two or > more arrays with different memory layouts. In such a case, which one > do you reorder in favour of? The axis permutation is chosen so that the sum (over different arrays) of strides (for each dimension) is decreasing towards the inner loops. I'm not sure, however, that this is the optimal choice. Things may depend quite a bit on the cache architecture here. > Is it acceptable to return > freshly-allocated arrays that are not C-contiguous? Yes, it returns non-C-contiguous arrays. The contiguity is determined so that the ufunc loop itself can access the memory with a single stride. This may cause some speed loss in some expressions. Perhaps there should be a subtle bias towards C-order? But I'm not sure this is worth the bother. -- Pauli Virtanen From d.l.goldsmith at gmail.com Mon Jun 14 05:05:35 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Mon, 14 Jun 2010 02:05:35 -0700 Subject: [Numpy-discussion] SciPy docs marathon Message-ID: Hi, all! The scipy doc marathon has gotten off to a very slow start this summer. We are producing less than 1000 words a week, perhaps because many universities are still finishing up spring classes. So, this is a second appeal to everyone to pitch in and help get scipy documented so that it's easy to learn how to use it. Because some of the packages are quite specialized, we need both "regular" contributors to write lots of pages, and some people experienced in using each module (and the mathematics behind the software) to make sure we don't water it down or make it wrong in the process. If you can help, please, now is the time to step forward. Thanks! On behalf of Joe and myself, David Goldsmith Olympia, WA -------------- next part -------------- An HTML attachment was scrubbed... URL: From aarchiba at physics.mcgill.ca Tue Jun 15 11:35:07 2010 From: aarchiba at physics.mcgill.ca (Anne Archibald) Date: Tue, 15 Jun 2010 11:35:07 -0400 Subject: [Numpy-discussion] Ufunc memory access optimization In-Reply-To: <1276614971.2218.125.camel@talisman> References: <201006111029.28582.meine@informatik.uni-hamburg.de> <201006111052.52965.meine@informatik.uni-hamburg.de> <1276601850.2218.30.camel@talisman> <1276614971.2218.125.camel@talisman> Message-ID: On 15 June 2010 11:16, Pauli Virtanen wrote: > ti, 2010-06-15 kello 10:10 -0400, Anne Archibald kirjoitti: >> Correct me if I'm wrong, but this code still doesn't seem to make the >> optimization of flattening arrays as much as possible. The array you >> get out of np.zeros((100,100)) can be iterated over as an array of >> shape (10000,), which should yield very substantial speedups. Since >> most arrays one operates on are like this, there's potentially a large >> speedup here. (On the other hand, if this optimization is being done, >> then these tests are somewhat deceptive.) > > It does perform this optimization, and unravels the loop as much as > possible. If all arrays are wholly contiguous, iterators are not even > used in the ufunc loop. Check the part after > > ? ? ? ?/* Determine how many of the trailing dimensions are contiguous > ? ? ? ?*/ > > However, in practice it seems that this typically is not a significant > win -- I don't get speedups over the unoptimized numpy code even for > shapes > > ? ? ? ?(2,)*20 > > where you'd think that the iterator overhead could be important: > > ? ? ? ?x = np.zeros((2,)*20) > ? ? ? ?%timeit np.cos(x) > ? ? ? ?10 loops, best of 3: 89.9 ms (90.2 ms) per loop > > This is actually consistent with the result > > ? ? ? ?x = np.zeros((2,)*20) > ? ? ? ?y = x.flatten() > ? ? ? ?%timeit x+x > ? ? ? ?10 loops, best of 3: 20.9 ms per loop > ? ? ? ?%timeit y+y > ? ? ? ?10 loops, best of 3: 21 ms per loop > > that you can probably verify with any Numpy installation. > > This result may actually be because the Numpy ufunc inner loops are not > especially optimized -- they don't use fixed stride sizes etc., and are > so not much more efficient than using array iterators. This is a bit strange. I think I'd still vote for including this optimization, since one hopes the inner loop will get faster at some point. (If nothing else, the code generator can probably be made to generate specialized loops for common cases). >> On the other hand, it seems to me there's still some question about >> how to optimize execution order when the ufunc is dealing with two or >> more arrays with different memory layouts. In such a case, which one >> do you reorder in favour of? > > The axis permutation is chosen so that the sum (over different arrays) > of strides (for each dimension) is decreasing towards the inner loops. > > I'm not sure, however, that this is the optimal choice. Things may > depend quite a bit on the cache architecture here. I suspect that it isn't optimal. As I understand it, the key restriction imposed by the cache architecture is that an entire cache line - 64 bytes or so - must be loaded at once. For strides that are larger than 64 bytes I suspect that it simply doesn't matter how big they are. (There may be some subtle issues with cache associativity but this would be extremely architecture-dependent.) So I would say, first do any dimensions in which some or all strides are less than 64 bytes, starting from the smallest. After that, any order you like is fine. >> Is it acceptable to return >> freshly-allocated arrays that are not C-contiguous? > > Yes, it returns non-C-contiguous arrays. The contiguity is determined so > that the ufunc loop itself can access the memory with a single stride. > > This may cause some speed loss in some expressions. Perhaps there should > be a subtle bias towards C-order? But I'm not sure this is worth the > bother. I'm more worried this may violate some users' assumptions. If a user knows they need an array to be in C order, really they should use ascontiguousarray. But as it stands it's enough to make sure that it's newly-allocated as the result of an arithmetic expression. Incautious users could suddenly start seeing copies happening, or even transposed arrays being passed to, C and Fortran code. It's also worth exploring common usage patterns to make sure that numpy still gravitates towards using C contiguous arrays for everything. I'm imagining a user who at some point adds a transposed array to a normal array, then does a long series of computations on the result. We want as many of those operations as possible to operate on contiguous arrays, but it's possible that an out-of-order array could propagate indefinitely, forcing all loops to be done with one array having large strides, and resulting in output that is stil out-of-order. Some preference for C contiguous output is worth adding. It would also be valuable to build some kind of test harness to track the memory layout of the arrays generated in some "typical" calculations as well as the ordering of the loop used. More generally, this problem is exactly what ATLAS is for - finding cache-optimal orders for linear algebra. So we shouldn't expect it to be simple. Anne > -- > Pauli Virtanen > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From cournape at gmail.com Tue Jun 15 11:37:35 2010 From: cournape at gmail.com (David Cournapeau) Date: Wed, 16 Jun 2010 00:37:35 +0900 Subject: [Numpy-discussion] Ufunc memory access optimization In-Reply-To: <1276614971.2218.125.camel@talisman> References: <201006111029.28582.meine@informatik.uni-hamburg.de> <201006111052.52965.meine@informatik.uni-hamburg.de> <1276601850.2218.30.camel@talisman> <1276614971.2218.125.camel@talisman> Message-ID: On Wed, Jun 16, 2010 at 12:16 AM, Pauli Virtanen wrote: > ti, 2010-06-15 kello 10:10 -0400, Anne Archibald kirjoitti: >> Correct me if I'm wrong, but this code still doesn't seem to make the >> optimization of flattening arrays as much as possible. The array you >> get out of np.zeros((100,100)) can be iterated over as an array of >> shape (10000,), which should yield very substantial speedups. Since >> most arrays one operates on are like this, there's potentially a large >> speedup here. (On the other hand, if this optimization is being done, >> then these tests are somewhat deceptive.) > > It does perform this optimization, and unravels the loop as much as > possible. If all arrays are wholly contiguous, iterators are not even > used in the ufunc loop. Check the part after > > ? ? ? ?/* Determine how many of the trailing dimensions are contiguous > ? ? ? ?*/ > > However, in practice it seems that this typically is not a significant > win -- I don't get speedups over the unoptimized numpy code even for > shapes > > ? ? ? ?(2,)*20 > > where you'd think that the iterator overhead could be important: I unfortunately don't have much time to look into the code ATM, but tests should be run with different CPU. When I implemented the neighborhood iterator, I observed significant (somtimes several tens of %) differences - the gcc version also matters, David From charlesr.harris at gmail.com Tue Jun 15 11:51:33 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Tue, 15 Jun 2010 09:51:33 -0600 Subject: [Numpy-discussion] Ufunc memory access optimization In-Reply-To: References: <201006111029.28582.meine@informatik.uni-hamburg.de> <201006111052.52965.meine@informatik.uni-hamburg.de> <1276601850.2218.30.camel@talisman> <1276614971.2218.125.camel@talisman> Message-ID: On Tue, Jun 15, 2010 at 9:37 AM, David Cournapeau wrote: > On Wed, Jun 16, 2010 at 12:16 AM, Pauli Virtanen wrote: > > ti, 2010-06-15 kello 10:10 -0400, Anne Archibald kirjoitti: > >> Correct me if I'm wrong, but this code still doesn't seem to make the > >> optimization of flattening arrays as much as possible. The array you > >> get out of np.zeros((100,100)) can be iterated over as an array of > >> shape (10000,), which should yield very substantial speedups. Since > >> most arrays one operates on are like this, there's potentially a large > >> speedup here. (On the other hand, if this optimization is being done, > >> then these tests are somewhat deceptive.) > > > > It does perform this optimization, and unravels the loop as much as > > possible. If all arrays are wholly contiguous, iterators are not even > > used in the ufunc loop. Check the part after > > > > /* Determine how many of the trailing dimensions are contiguous > > */ > > > > However, in practice it seems that this typically is not a significant > > win -- I don't get speedups over the unoptimized numpy code even for > > shapes > > > > (2,)*20 > > > > where you'd think that the iterator overhead could be important: > > I unfortunately don't have much time to look into the code ATM, but > tests should be run with different CPU. When I implemented the > neighborhood iterator, I observed significant (somtimes several tens > of %) differences - the gcc version also matters, > > That's a common problem with trying to optimize at that level, things become architecture and compiler dependent. Reminds me a bit of an experiment where the experimenter was using genetic optimization to design a circuit on a chip and the optimal design ended up taking advantage of some stray capacitance. Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From sturla at molden.no Tue Jun 15 12:30:02 2010 From: sturla at molden.no (Sturla Molden) Date: Tue, 15 Jun 2010 18:30:02 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: References: Message-ID: <4C17AA8A.60004@molden.no> A very radical solution would be to get rid of all C, and go for a "pure Python" solution. NumPy could build up a text string with OpenCL code on the fly, and use the OpenCL driver as a "JIT compiler" for fast array expressions. Most GPUs and CPUs will support OpenCL, and thus there will be no need for a compiled language like C or Fortran for fast computation in the near future. Sturla From sturla at molden.no Tue Jun 15 12:37:05 2010 From: sturla at molden.no (Sturla Molden) Date: Tue, 15 Jun 2010 18:37:05 +0200 Subject: [Numpy-discussion] NumPy re-factoring project In-Reply-To: <4C17AA8A.60004@molden.no> References: <4C17AA8A.60004@molden.no> Message-ID: <4C17AC31.4080102@molden.no> Den 15.06.2010 18:30, skrev Sturla Molden: > A very radical solution would be to get rid of all C, and go for a > "pure Python" solution. NumPy could build up a text string with OpenCL > code on the fly, and use the OpenCL driver as a "JIT compiler" for > fast array expressions. Most GPUs and CPUs will support OpenCL, and > thus there will be no need for a compiled language like C or Fortran > for fast computation in the near future. Paradoxically, with OpenCL, Python is going to be better for fast numerical computation than C or Fortran, because Python is better at generating an manipulating dynamic text. Sturla From pav at iki.fi Tue Jun 15 14:15:39 2010 From: pav at iki.fi (Pauli Virtanen) Date: Tue, 15 Jun 2010 20:15:39 +0200 Subject: [Numpy-discussion] Ufunc memory access optimization In-Reply-To: References: <201006111029.28582.meine@informatik.uni-hamburg.de> <201006111052.52965.meine@informatik.uni-hamburg.de> <1276601850.2218.30.camel@talisman> <1276614971.2218.125.camel@talisman> Message-ID: <1276625739.3521.29.camel@talisman> ti, 2010-06-15 kello 11:35 -0400, Anne Archibald kirjoitti: [clip: Numpy ufunc inner loops are slow] > This is a bit strange. I think I'd still vote for including this > optimization, since one hopes the inner loop will get faster at some > point. (If nothing else, the code generator can probably be made to > generate specialized loops for common cases). Ok, apparently I couldn't read. Numpy already unrolls the ufunc loop for C-contiguous arrays, that's the reason there was no difference. This should be fairer: x = np.zeros((2,)*20).transpose([1,0]+range(2,20)) y = x.flatten() %timeit x+x 10 loops, best of 3: 122 ms per loop %timeit y+y 10 loops, best of 3: 19.9 ms per loop And with the loop order optimization: %timeit x+x 10 loops, best of 3: 20 ms per loop To get an idea how things look without collapsing the loops, one can engineer nastier arrays: x = np.zeros([50*5,50*3,50*2])[:-23:5, :-29:3, 31::2] %timeit x+x 100 loops, best of 3: 2.83 ms (3.59 ms) per loop [clip: minimize sum of strides] > I suspect that it isn't optimal. As I understand it, the key > restriction imposed by the cache architecture is that an entire cache > line - 64 bytes or so - must be loaded at once. For strides that are > larger than 64 bytes I suspect that it simply doesn't matter how big > they are. (There may be some subtle issues with cache associativity > but this would be extremely architecture-dependent.) So I would say, > first do any dimensions in which some or all strides are less than 64 > bytes, starting from the smallest. After that, any order you like is > fine. This is all up to designing a suitable objective function. Suppose `s_{i,j}` is the stride of array `i` in dimension `j`. The order-by-sum-of-strides rule reads f_j = \sum_i |s_{i,j}| and an axis permutation which makes the sequence `f_j` decreasing is chosen. Other heuristics would use a different f_j. One metric that I used previously when optimizing the reductions, was the number of elements that fit in a cache line, as you suggested. The sum of this for all arrays should be maximized in the inner loops. So one could take the objective function f_j = - C_1 C_2 \sum_i CACHELINE / (1 + C_2 |s_{i,j}|) with some constants C_1 and C_2, which, perhaps, would give better results. Note that the stride can be zero for broadcasted arrays, so we need to add a cutoff for that. With a bias toward C order, one could then have f_j = - C_3 j - C_1 C_2 \sum_i CACHELINE / (1 + C_2 |s_{i,j}|) Now the question would be just choosing C_1, C_2, and C_3 suitably. Another optimization could be flipping negative strides. This sounds a bit dangerous, though, so one would need to think if it could e.g. break a += a[::-1] etc. [clip] > I'm more worried this may violate some users' assumptions. If a user > knows they need an array to be in C order, really they should use > ascontiguousarray. But as it stands it's enough to make sure that it's > newly-allocated as the result of an arithmetic expression. Incautious > users could suddenly start seeing copies happening, or even transposed > arrays being passed to, C and Fortran code. Yes, it's a semantic change, and we have to make it consciously (and conscientiously, to boot :). I believe f2py checked the contiguity of intent(inout) arguments? The same should go for most C code that accepts Numpy arrays, at least PyArray_IsContiguous should be checked before assuming it is true. But this would still mean that code that previously worked, could start throwing up exceptions. Personally, I believe this change is worth making, with suitable mention in the release notes. > It's also worth exploring common usage patterns to make sure that > numpy still gravitates towards using C contiguous arrays for > everything. I'm imagining a user who at some point adds a transposed > array to a normal array, then does a long series of computations on > the result. We want as many of those operations as possible to operate > on contiguous arrays, but it's possible that an out-of-order array > could propagate indefinitely, forcing all loops to be done with one > array having large strides, and resulting in output that is stil > out-of-order. I think, at present, non-C-contiguous arrays will propagate indefinitely. > Some preference for C contiguous output is worth adding. Suggestions for better heuristics are accepted, just state it in the form of an objective function :) > It would also be valuable to build some kind of test harness to track > the memory layout of the arrays generated in some "typical" > calculations as well as the ordering of the loop used. > > More generally, this problem is exactly what ATLAS is for - finding > cache-optimal orders for linear algebra. So we shouldn't expect it to > be simple. Yes, I do not think any of us is expecting it to be simple. I don't think we can aim for the optimal solution, since it is ill-defined, but only for one that is "good enough in practice". -- Pauli Virtanen From pnorthug at gmail.com Tue Jun 15 14:15:58 2010 From: pnorthug at gmail.com (Paul Northug) Date: Tue, 15 Jun 2010 11:15:58 -0700 Subject: [Numpy-discussion] expensive tensordot Message-ID: I have a computation bounded by one step and I have always wondered how to make it fast enough to be useable. I suspect that I have to use an approximation, but I was hoping someone would spot a major inefficiency in my implementation. The calculation is a kind of outer product of two sets of time series: for n,p in np.ndindex(self.P, self.P): self.A[:,n,:,p] += np.tensordot(a[:,:,n:n+self.T], a[:,:,p:p+self.T], ([0,2], [0,2])) The sizes for all indices are on the order of 100 with the exception that a.size[0] == 10. One inefficiency is that A is symmetric in (n,p) but this is only a factor of 2. Thanks, P?l From dagss at student.matnat.uio.no Tue Jun 15 15:42:33 2010 From: dagss at student.matnat.uio.no (Dag Sverre Seljebotn) Date: Tue, 15 Jun 2010 21:42:33 +0200 Subject: [Numpy-discussion] expensive tensordot In-Reply-To: References: Message-ID: <4C17D7A9.7090303@student.matnat.uio.no> Paul Northug wrote: > I have a computation bounded by one step and I have always wondered > how to make it fast enough to be useable. I suspect that I have to use > an approximation, but I was hoping someone would spot a major > inefficiency in my implementation. > > The calculation is a kind of outer product of two sets of time series: > > for n,p in np.ndindex(self.P, self.P): > self.A[:,n,:,p] += np.tensordot(a[:,:,n:n+self.T], > a[:,:,p:p+self.T], > ([0,2], [0,2])) > > The sizes for all indices are on the order of 100 with the exception > that a.size[0] == 10. One inefficiency is that A is symmetric in (n,p) > but this is only a factor of 2. The memory access pattern appears to be quite inefficient. It is better to vary the last indices fastest, i.e. you should avoid indexing or slicing in the last dimension and leave those to tensordot if at all possible. Use arr.T.copy() or arr.copy('F') prior/after the loop. -- Dag Sverre From matthew.brett at gmail.com Tue Jun 15 17:20:50 2010 From: matthew.brett at gmail.com (Matthew Brett) Date: Tue, 15 Jun 2010 22:20:50 +0100 Subject: [Numpy-discussion] numpydoc broken by latest sphinx Message-ID: Hi, Sorry if y'all had already seen this, but a friend just picked up the latest sphinx with easy_install -U sphinx - got version 1.0b2 - and then hit this problem with numpydoc: http://projects.scipy.org/numpy/ticket/1489 I just point it out in the hope that someone with more sphinx knowledge might be able to have a look, Thanks a lot, Matthew From pgmdevlist at gmail.com Tue Jun 15 20:11:47 2010 From: pgmdevlist at gmail.com (Pierre GM) Date: Tue, 15 Jun 2010 20:11:47 -0400 Subject: [Numpy-discussion] timeseries - dates prior to 1970 In-Reply-To: References: Message-ID: On Jun 10, 2010, at 7:16 PM, Bevan Jenkins wrote: > Hello, > > I have posted previously about dates prior to 1900 but this seems to be a > seperate issue. The error message is definitley different. > I can not seem to convert a timseseries from one frequency ('D') to another > ('H') when i use dates prior to 1970 as shown below. This works fine when I > use a date after 1970. Is this something that can be easily fixed or work > around that I can use? Thanks I've started a git branch (http://github.com/pierregm/scikits.timeseries-sandbox) to test some changes on scikits.timeseries, in particular improved support of high-frequency dates before the unix epoch. Please give it a try, let me know how it goes. If all's fine, I'll port the changes to the SVN site (which until further notice remains the official source for the scikits). From robert.kern at gmail.com Tue Jun 15 23:49:50 2010 From: robert.kern at gmail.com (Robert Kern) Date: Tue, 15 Jun 2010 22:49:50 -0500 Subject: [Numpy-discussion] Fastest way to save a dictionary of numpy record arrays In-Reply-To: References: Message-ID: On Tue, Jun 15, 2010 at 01:56, Vishal Rana wrote: > Robert, > As you said, I was able to get the results, but I now got a question as > np.load('np.npz') returns me a? object so does > that mean the data is read directly from the from the npz file and not all > the data is loaded to the memory? Correct. The data is loaded lazily, on request. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From pnorthug at gmail.com Wed Jun 16 04:38:18 2010 From: pnorthug at gmail.com (Paul Northug) Date: Wed, 16 Jun 2010 01:38:18 -0700 Subject: [Numpy-discussion] expensive tensordot Message-ID: Dag Sverre Seljebotn student.matnat.uio.no> writes: > > Paul Northug wrote: > > I have a computation bounded by one step and I have always wondered > > how to make it fast enough to be useable. I suspect that I have to use > > an approximation, but I was hoping someone would spot a major > > inefficiency in my implementation. > > > > The calculation is a kind of outer product of two sets of time series: > > > > for n,p in np.ndindex(self.P, self.P): > > self.A[:,n,:,p] += np.tensordot(a[:,:,n:n+self.T], > > a[:,:,p:p+self.T], > > ([0,2], [0,2])) > > > > The sizes for all indices are on the order of 100 with the exception > > that a.size[0] == 10. One inefficiency is that A is symmetric in (n,p) > > but this is only a factor of 2. > > The memory access pattern appears to be quite inefficient. It is better > to vary the last indices fastest, i.e. you should avoid indexing or > slicing in the last dimension and leave those to tensordot if at all > possible. Use arr.T.copy() or arr.copy('F') prior/after the loop. > Thanks Dag for pointing this out. Is the main reason for the inefficiency because it uses cache poorly? It would be instructive for me to check this. Is there a way to uses PAPI from within python or another form of instrumentation? I tried a.copy('F') as well as a transpose that moved the last index to the first in the above code and got a fractional speed-up. I will work on this. Another thing I forgot to mention is that the tensor a is sparse, with approximately 10% of the elements non-zero with no special structure. I am not sure how to take advantage of this. I can convert 'a' into a list of csr_matrix's and do np.dot instead of np.tensordot with an additional loop. All of 'a' would most likely fit into cache. However, all my attempts made the calculation slower. I tried csr_matrix of 'a' before the loop, as well as csr_matrix of the slices themselves. Both slower. Is there a sparse matrix format that is most slice friendly? Is it worthwhile to write my own sparse tensordot for this particular application? These things are highly optimized. I doubt I could do better. Just checked and 100x100 sparse matrix multiply with 10% non-zero is about 5 times faster than dense matrix multiply. For 1000x1000, it is almost 100x faster. This includes time to convert to csr. It would be nice to get this type of speedup. Thanks, P?l From ranavishal at gmail.com Wed Jun 16 11:36:18 2010 From: ranavishal at gmail.com (Vishal Rana) Date: Wed, 16 Jun 2010 08:36:18 -0700 Subject: [Numpy-discussion] Fastest way to save a dictionary of numpy record arrays In-Reply-To: References: Message-ID: Thanks On Tue, Jun 15, 2010 at 8:49 PM, Robert Kern wrote: > On Tue, Jun 15, 2010 at 01:56, Vishal Rana wrote: > > Robert, > > As you said, I was able to get the results, but I now got a question as > > np.load('np.npz') returns me a object so > does > > that mean the data is read directly from the from the npz file and not > all > > the data is loaded to the memory? > > Correct. The data is loaded lazily, on request. > > -- > Robert Kern > > "I have come to believe that the whole world is an enigma, a harmless > enigma that is made terrible by our own mad attempt to interpret it as > though it had an underlying truth." > -- Umberto Eco > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From doutriaux1 at llnl.gov Wed Jun 16 11:37:48 2010 From: doutriaux1 at llnl.gov (=?utf-8?Q?Charles_=D8=B3=D9=85=D9=8A=D8=B1_Doutriaux?=) Date: Wed, 16 Jun 2010 08:37:48 -0700 Subject: [Numpy-discussion] f2py with 4.1 under snow leopard Message-ID: <8F2830A4-DF16-4CBE-A9D7-47468C3EF32E@llnl.gov> Hi, I cannot build any f2py extension under nupmy 4.1 on Mac snow leopard. Everything (python/numpy) has been built 64bit. I'm attaching the log of a VERY simple piece of code, that always worked fine before. Any idea on why it's not finding the basic python things (Py_BuildValue for example?) Thanks, C. -------------- next part -------------- A non-text attachment was scrubbed... Name: MSU.LOG Type: application/octet-stream Size: 19456 bytes Desc: not available URL: From robert.kern at gmail.com Wed Jun 16 13:01:01 2010 From: robert.kern at gmail.com (Robert Kern) Date: Wed, 16 Jun 2010 12:01:01 -0500 Subject: [Numpy-discussion] f2py with 4.1 under snow leopard In-Reply-To: <8F2830A4-DF16-4CBE-A9D7-47468C3EF32E@llnl.gov> References: <8F2830A4-DF16-4CBE-A9D7-47468C3EF32E@llnl.gov> Message-ID: 2010/6/16 Charles ???? Doutriaux : > Hi, > > I cannot build any f2py extension under nupmy 4.1 on Mac snow leopard. > > Everything (python/numpy) has been built 64bit. > > I'm attaching the log of a VERY simple piece of code, that always worked fine before. > > Any idea on why it's not finding the basic python things (Py_BuildValue for example?) I'm guessing that you have defined the LDFLAGS environment variable. When compiling Fortran extensions, LDFLAGS completely replaces the link flags. It does not add to them. So the link flags that are necessary for building a proper Python extension are lost. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From ranavishal at gmail.com Wed Jun 16 13:15:44 2010 From: ranavishal at gmail.com (Vishal Rana) Date: Wed, 16 Jun 2010 10:15:44 -0700 Subject: [Numpy-discussion] Trimming the np arrays Message-ID: Hi, I have a list of np arrays from which I create a np record array, but they all of of different length! How can I trim them all in place (for example I want to get last 10 elements of each)? Thanks Vishal Rana -------------- next part -------------- An HTML attachment was scrubbed... URL: From robert.kern at gmail.com Wed Jun 16 13:23:37 2010 From: robert.kern at gmail.com (Robert Kern) Date: Wed, 16 Jun 2010 12:23:37 -0500 Subject: [Numpy-discussion] Trimming the np arrays In-Reply-To: References: Message-ID: On Wed, Jun 16, 2010 at 12:15, Vishal Rana wrote: > Hi, > I have a list of np arrays from which I create a np record array, but they > all of of different length! > How can I trim them all in place (for example I want to get last 10 elements > of each)? x = x[-10:] -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From ranavishal at gmail.com Wed Jun 16 13:30:49 2010 From: ranavishal at gmail.com (Vishal Rana) Date: Wed, 16 Jun 2010 10:30:49 -0700 Subject: [Numpy-discussion] Trimming the np arrays In-Reply-To: References: Message-ID: Robert, Do I have to repeat it for each element in the list or is there a way I can iterate the list and do it? Thanks Vishal Rana On Wed, Jun 16, 2010 at 10:23 AM, Robert Kern wrote: > On Wed, Jun 16, 2010 at 12:15, Vishal Rana wrote: > > Hi, > > I have a list of np arrays from which I create a np record array, but > they > > all of of different length! > > How can I trim them all in place (for example I want to get last 10 > elements > > of each)? > > x = x[-10:] > > -- > Robert Kern > > "I have come to believe that the whole world is an enigma, a harmless > enigma that is made terrible by our own mad attempt to interpret it as > though it had an underlying truth." > -- Umberto Eco > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From robert.kern at gmail.com Wed Jun 16 13:39:33 2010 From: robert.kern at gmail.com (Robert Kern) Date: Wed, 16 Jun 2010 12:39:33 -0500 Subject: [Numpy-discussion] Trimming the np arrays In-Reply-To: References: Message-ID: On Wed, Jun 16, 2010 at 12:30, Vishal Rana wrote: > Robert, > Do I have to repeat it for each element in the list or is there a way I can > iterate the list and do it? new_list = [x[-10:] for x in old_list] -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From ranavishal at gmail.com Wed Jun 16 13:50:54 2010 From: ranavishal at gmail.com (Vishal Rana) Date: Wed, 16 Jun 2010 10:50:54 -0700 Subject: [Numpy-discussion] Trimming the np arrays In-Reply-To: References: Message-ID: It helped, Thanks On Wed, Jun 16, 2010 at 10:39 AM, Robert Kern wrote: > On Wed, Jun 16, 2010 at 12:30, Vishal Rana wrote: > > Robert, > > Do I have to repeat it for each element in the list or is there a way I > can > > iterate the list and do it? > > new_list = [x[-10:] for x in old_list] > > -- > Robert Kern > > "I have come to believe that the whole world is an enigma, a harmless > enigma that is made terrible by our own mad attempt to interpret it as > though it had an underlying truth." > -- Umberto Eco > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From doutriaux1 at llnl.gov Wed Jun 16 14:05:15 2010 From: doutriaux1 at llnl.gov (=?utf-8?Q?Charles_=D8=B3=D9=85=D9=8A=D8=B1_Doutriaux?=) Date: Wed, 16 Jun 2010 11:05:15 -0700 Subject: [Numpy-discussion] f2py with 4.1 under snow leopard In-Reply-To: References: <8F2830A4-DF16-4CBE-A9D7-47468C3EF32E@llnl.gov> Message-ID: <1682722B-78D6-4F1A-9868-A7BE6B34C99E@llnl.gov> Hi Robert, You're right. I finally figured out which flag was missing I'm posting it here as a reference for others: I needed to add: -undefined dynamic_lookup I also removed -fPIC Hope this helps somebody else. Do you think it would be possible to have LDFLAGS added to the default ones? Or is there a way to obtain this by setting something else (EXTRA_LDFLAGS) or something like that? Thanks, C. On Jun 16, 2010, at 10:01 AM, Robert Kern wrote: > 2010/6/16 Charles ???? Doutriaux : >> Hi, >> >> I cannot build any f2py extension under nupmy 4.1 on Mac snow leopard. >> >> Everything (python/numpy) has been built 64bit. >> >> I'm attaching the log of a VERY simple piece of code, that always worked fine before. >> >> Any idea on why it's not finding the basic python things (Py_BuildValue for example?) > > I'm guessing that you have defined the LDFLAGS environment variable. > When compiling Fortran extensions, LDFLAGS completely replaces the > link flags. It does not add to them. So the link flags that are > necessary for building a proper Python extension are lost. > > -- > Robert Kern > > "I have come to believe that the whole world is an enigma, a harmless > enigma that is made terrible by our own mad attempt to interpret it as > though it had an underlying truth." > -- Umberto Eco > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://*mail.scipy.org/mailman/listinfo/numpy-discussion From robert.kern at gmail.com Wed Jun 16 14:17:39 2010 From: robert.kern at gmail.com (Robert Kern) Date: Wed, 16 Jun 2010 13:17:39 -0500 Subject: [Numpy-discussion] f2py with 4.1 under snow leopard In-Reply-To: <1682722B-78D6-4F1A-9868-A7BE6B34C99E@llnl.gov> References: <8F2830A4-DF16-4CBE-A9D7-47468C3EF32E@llnl.gov> <1682722B-78D6-4F1A-9868-A7BE6B34C99E@llnl.gov> Message-ID: 2010/6/16 Charles ???? Doutriaux : > Hi Robert, > > You're right. I finally figured out which flag was missing I'm posting it here as a reference for others: > I needed to add: > -undefined dynamic_lookup > I also removed -fPIC > > Hope this helps somebody else. > > Do you think it would be possible to have LDFLAGS added to the default ones? Or is there a way to obtain this by setting something else (EXTRA_LDFLAGS) or something like that? The reason that LDFLAGS replaces rather than adds when linking Fortran extensions is because Fortran linkers frequently differ from the flags the C linker expects. On top of that, updated versions of Fortran compilers will often change their flags. In order to allow users to work around these issues without having to modify numpy.distutils source, we allow LDFLAGS to completely replace the link flags. Obviously, this is a hack and is not ideal. But IIRC, no one has yet put in the effort to implement ways to do both things. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From jsalvatier at gmail.com Wed Jun 16 16:18:14 2010 From: jsalvatier at gmail.com (John Salvatier) Date: Wed, 16 Jun 2010 13:18:14 -0700 Subject: [Numpy-discussion] Object with __array_priority__ = 1000 invokes __len__ and __get__ item on rmul In-Reply-To: References: Message-ID: Hello, I have a class with __array_priority__ = 1000, and I have found that multiplying it with a ndarray on the left invokes __len__ and __get__ item (if the length of the right side > 1) before invoking __rmul__ for my object. This seems odd to me. I understood that ndarray would defer to whichever class had the larger __array_priority__. What am I missing? This behavior is somewhat problematic for me because __getitem__ records the existence of the objects it creates and holds on to them, so I have extra objects floating around that I would rather not have. Is there a way I can stop this? Best Regards, John Salvatier -------------- next part -------------- An HTML attachment was scrubbed... URL: From mishagreen at gmail.com Wed Jun 16 18:29:19 2010 From: mishagreen at gmail.com (Michael Green) Date: Thu, 17 Jun 2010 01:29:19 +0300 Subject: [Numpy-discussion] Building Numpy: could not read symbols Bad value error Message-ID: Bright minds, I'm trying to build Numpy v1.4.1 from source on CentOS 5.2 x64 and running into errors. It seems to be linking error. Regrettably, I don't posses the necessary skill to decipher the error. So your help will be invaluable. I configured (and then successfully built) ATLAS with the following configure line: ../configure --with-netlib-lapack-tarfile=/usr/local/src/Python/numpy/lapack.tgz -D c -DPentiumCPS=2666 --prefix=/usr/local/atlas-3.9.25 -b 64 -Fa alg '-fPIC' Now, building the Numpy (using gfortran) fails with: /usr/bin/gfortran -Wall -Wall -shared build/temp.linux-x86_64-2.6/numpy/linalg/lapack_litemodule.o build/temp.linux-x86_64-2.6/numpy/linalg/python_xerbla.o -L/usr/local/lib -Lbuild/temp.linux-x86_64-2.6 -llapack -lptf77blas -lptcblas -latlas -lgfortran -o build/lib.linux-x86_64-2.6/numpy/linalg/lapack_lite.so /usr/bin/ld: /usr/local/lib/libatlas.a(.o::ATL_dger2k(void)): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC /usr/local/lib/libatlas.a: could not read symbols: Bad value collect2: ld returned 1 exit status /usr/bin/ld: /usr/local/lib/libatlas.a(.o::ATL_dger2k(void)): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC /usr/local/lib/libatlas.a: could not read symbols: Bad value collect2: ld returned 1 exit status error: Command "/usr/bin/gfortran -Wall -Wall -shared build/temp.linux-x86_64-2.6/numpy/linalg/lapack_litemodule.o build/temp.linux-x86_64-2.6/numpy/linalg/python_xerbla.o -L/usr/local/lib -Lbuild/temp.linux-x86_64-2.6 -llapack -lptf77blas -lptcblas -latlas -lgfortran -o build/lib.linux-x86_64-2.6/numpy/linalg/lapack_lite.so" failed with exit status 1 -- Warm regards, Michael Green From robert.kern at gmail.com Wed Jun 16 18:32:58 2010 From: robert.kern at gmail.com (Robert Kern) Date: Wed, 16 Jun 2010 17:32:58 -0500 Subject: [Numpy-discussion] Building Numpy: could not read symbols Bad value error In-Reply-To: References: Message-ID: On Wed, Jun 16, 2010 at 17:29, Michael Green wrote: > Bright minds, > > I'm trying to build Numpy v1.4.1 from source on CentOS 5.2 x64 and > running into errors. It seems to be linking error. Regrettably, I > don't posses the necessary skill to decipher the error. So your help > will be invaluable. > > I configured (and then successfully built) ATLAS with the following > configure line: > ../configure --with-netlib-lapack-tarfile=/usr/local/src/Python/numpy/lapack.tgz > -D c -DPentiumCPS=2666 --prefix=/usr/local/atlas-3.9.25 -b 64 -Fa alg > '-fPIC' > > > Now, building the Numpy (using gfortran) fails with: > /usr/bin/gfortran -Wall -Wall -shared > build/temp.linux-x86_64-2.6/numpy/linalg/lapack_litemodule.o > build/temp.linux-x86_64-2.6/numpy/linalg/python_xerbla.o > -L/usr/local/lib -Lbuild/temp.linux-x86_64-2.6 -llapack -lptf77blas > -lptcblas -latlas -lgfortran -o > build/lib.linux-x86_64-2.6/numpy/linalg/lapack_lite.so > /usr/bin/ld: /usr/local/lib/libatlas.a(.o::ATL_dger2k(void)): > relocation R_X86_64_32 against `a local symbol' can not be used when > making a shared object; recompile with -fPIC > /usr/local/lib/libatlas.a: could not read symbols: Bad value > collect2: ld returned 1 exit status This means that your ATLAS library was compiled without the appropriate flags for inclusion in a shared library like an extension module. Consult the ATLAS installation instructions for how to compile it as relocatable code using the -fPIC flag. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From david at silveregg.co.jp Wed Jun 16 22:15:11 2010 From: david at silveregg.co.jp (David) Date: Thu, 17 Jun 2010 11:15:11 +0900 Subject: [Numpy-discussion] f2py with 4.1 under snow leopard In-Reply-To: <1682722B-78D6-4F1A-9868-A7BE6B34C99E@llnl.gov> References: <8F2830A4-DF16-4CBE-A9D7-47468C3EF32E@llnl.gov> <1682722B-78D6-4F1A-9868-A7BE6B34C99E@llnl.gov> Message-ID: <4C19852F.2070100@silveregg.co.jp> On 06/17/2010 03:05 AM, Charles ???? Doutriaux wrote: > Hi Robert, > > You're right. I finally figured out which flag was missing I'm posting it here as a reference for others: > I needed to add: > -undefined dynamic_lookup > I also removed -fPIC > > Hope this helps somebody else. > > Do you think it would be possible to have LDFLAGS added to the default ones? Or is there a way to obtain this by setting something else (EXTRA_LDFLAGS) or something like that? You can use numscons, which has this behavior and makes it easier to tweak flags, cheers, David From stevenj at alum.mit.edu Thu Jun 17 01:26:15 2010 From: stevenj at alum.mit.edu (Steven G. Johnson) Date: Thu, 17 Jun 2010 01:26:15 -0400 Subject: [Numpy-discussion] [ANN] NLopt, a nonlinear optimization library Message-ID: The NLopt library, available from http://ab-initio.mit.edu/nlopt provides a common interface for a large number of algorithms for both global and local nonlinear optimizations, both with and without gradient information, and including both bound constraints and nonlinear equality/inequality constraints. NLopt is written in C, but now includes a Python interface (as well as interfaces for C++, Fortran, Matlab, Octave, and Guile). It is free software under the GNU LGPL. Regards, Steven G. Johnson From seb.haase at gmail.com Thu Jun 17 03:34:05 2010 From: seb.haase at gmail.com (Sebastian Haase) Date: Thu, 17 Jun 2010 09:34:05 +0200 Subject: [Numpy-discussion] [ANN] NLopt, a nonlinear optimization library In-Reply-To: References: Message-ID: Hi Steven, this sounds like the library I was looking for. Would you mind reading my post [SciPy-User] Global Curve Fitting of 2 functions to 2 sets of data-curves http://mail.scipy.org/pipermail/scipy-user/2010-June/025674.html ? I got many interesting answers, where apparently the agreement was to "just write a proper error-function". Regarding constraints, the suggestion was to "manually" substitute my variables with combinations of exp()-expressions that would implicitly take care of the r_i>0 and 0 wrote: > The NLopt library, available from > > ? ? http://ab-initio.mit.edu/nlopt > > provides a common interface for a large number of algorithms for both > global and local nonlinear optimizations, both with and without gradient > information, and including both bound constraints and nonlinear > equality/inequality constraints. > > NLopt is written in C, but now includes a Python interface (as well as > interfaces for C++, Fortran, Matlab, Octave, and Guile). > > It is free software under the GNU LGPL. > > Regards, > Steven G. Johnson > From silyko at gmail.com Thu Jun 17 04:21:04 2010 From: silyko at gmail.com (Simon Lyngby Kokkendorff) Date: Thu, 17 Jun 2010 10:21:04 +0200 Subject: [Numpy-discussion] Accessing data in a large file Message-ID: Hi list, I am new to this list, so forgive me if this is a trivial problem, however i would appreciate any help. I am using numpy to work with large amounts of data - sometimes too much to fit into memory. Therefore I want to be able to store data in binary files and use numpy to read chunks of the file into memory. I've tried to use numpy.memmap and numpy.load and numpy.save with mmap_mode="r". However when I try to perform any nontrivial operation on a slice of the memmap I always end up reading the entire file into memory - which then leads to memory errors. Is there a way to get numpy to do what I want, using an internal platform independent numpy-format like .npy, or do I have to wrap a custom file reader with something like ctypes? Of course numpy.fromfile is a possibility, but it seems to be a quite inflexible alternative as it doesn't really support slices and might have a problem with platform dependency (byte order). Hope that someone can help, cheers, Simon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gregwh at gmail.com Thu Jun 17 08:33:05 2010 From: gregwh at gmail.com (greg whittier) Date: Thu, 17 Jun 2010 08:33:05 -0400 Subject: [Numpy-discussion] Accessing data in a large file In-Reply-To: References: Message-ID: On Thu, Jun 17, 2010 at 4:21 AM, Simon Lyngby Kokkendorff wrote: > memory errors. Is there a way to get numpy to do what I want, using an > internal platform independent numpy-format like .npy, or do I have to wrap a > custom file reader with something like ctypes? You might give http://www.pytables.org/ a try. From lasagnadavide at gmail.com Thu Jun 17 08:58:43 2010 From: lasagnadavide at gmail.com (davide) Date: Thu, 17 Jun 2010 14:58:43 +0200 Subject: [Numpy-discussion] Accessing data in a large file In-Reply-To: References: Message-ID: <1276779523.4514.4.camel@antares> You may have a look to the nice python-h5py module, which gives an OO interface to the underlying hdf5 file format. I'm using it for storing large amounts (~10Gb) of experimental data. Very fast, very convenient. Ciao Davide On Thu, 2010-06-17 at 08:33 -0400, greg whittier wrote: > On Thu, Jun 17, 2010 at 4:21 AM, Simon Lyngby Kokkendorff > wrote: > > memory errors. Is there a way to get numpy to do what I want, using an > > internal platform independent numpy-format like .npy, or do I have to wrap a > > custom file reader with something like ctypes? > > You might give http://www.pytables.org/ a try. > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion From faltet at pytables.org Thu Jun 17 09:21:29 2010 From: faltet at pytables.org (Francesc Alted) Date: Thu, 17 Jun 2010 15:21:29 +0200 Subject: [Numpy-discussion] ANN: PyTables 2.2rc2 ready to go Message-ID: <201006171521.29251.faltet@pytables.org> =========================== Announcing PyTables 2.2rc2 =========================== PyTables is a library for managing hierarchical datasets and designed to efficiently cope with extremely large amounts of data with support for full 64-bit file addressing. PyTables runs on top of the HDF5 library and NumPy package for achieving maximum throughput and convenient use. This is the second (and probably last) release candidate for PyTables 2.2, so please test it as much as you can before I declare the beast stable. The main new features in 2.2 series are: * A new compressor called Blosc, designed to read/write data to/from memory at speeds that can be faster than a system `memcpy()` call. With it, many internal PyTables operations that are currently bounded by CPU or I/O bandwith are speed-up. Some benchmarks: http://blosc.pytables.org/trac/wiki/SyntheticBenchmarks * A new `tables.Expr` module (based on Numexpr) that allows to do persistent, on-disk computations on many algebraic operations. For a brief look on its performance, see: http://pytables.org/moin/ComputingKernel * Support for HDF5 hard links, soft links and automatic external links (kind of mounting external filesystems). A new tutorial about its usage has been added to the 'Tutorials' chapter of User's Manual. * Suport for 'fancy' indexing (i.e., ? la NumPy) in all the data containers in PyTables. Backported from the implementation in the h5py project. Thanks to Andrew Collette for his fine work on this! As always, a large amount of bugs have been addressed and squashed too. In case you want to know more in detail what has changed in this version, have a look at: http://www.pytables.org/moin/ReleaseNotes/Release_2.2rc2 You can download a source package with generated PDF and HTML docs, as well as binaries for Windows, from: http://www.pytables.org/download/preliminary For an on-line version of the manual, visit: http://www.pytables.org/docs/manual-2.2rc2 Resources ========= About PyTables: http://www.pytables.org About the HDF5 library: http://hdfgroup.org/HDF5/ About NumPy: http://numpy.scipy.org/ Acknowledgments =============== Thanks to many users who provided feature improvements, patches, bug reports, support and suggestions. See the ``THANKS`` file in the distribution package for a (incomplete) list of contributors. Most specially, a lot of kudos go to the HDF5 and NumPy (and numarray!) makers. Without them, PyTables simply would not exist. Share your experience ===================== Let us know of any bugs, suggestions, gripes, kudos, etc. you may have. ---- **Enjoy data!** -- The PyTables Team -- Francesc Alted From ralf.gommers at googlemail.com Thu Jun 17 09:41:29 2010 From: ralf.gommers at googlemail.com (Ralf Gommers) Date: Thu, 17 Jun 2010 21:41:29 +0800 Subject: [Numpy-discussion] mmap bug In-Reply-To: References: Message-ID: On Fri, Jun 11, 2010 at 8:00 AM, Geoffrey Irving wrote: > Hello, > > If I create an mmap'ed array, and then generate another array > referencing only its base, destruction of the original mmap'ed array > closes the mmap. The second array is then prone to segfaults. > > I think the best fix is to put the responsibility for flushing the > mmap onto the actual mmap object (and therefore the base object) > directly, so that the numpy memmap object has no cleanup > responsibilities. A patch to core/memmap.py follows. It would be > nicer to put the mmap_flush class declaration somewhere outside the > function, but that conflicts with the local "import mmap." > > Reported in http://projects.scipy.org/numpy/ticket/1513 so it doesn't get lost. Ralf -------------- next part -------------- An HTML attachment was scrubbed... URL: From ralf.gommers at googlemail.com Thu Jun 17 09:53:44 2010 From: ralf.gommers at googlemail.com (Ralf Gommers) Date: Thu, 17 Jun 2010 21:53:44 +0800 Subject: [Numpy-discussion] Compiling NumPy on 64 bit Solaris 10 sparc) In-Reply-To: References: Message-ID: On Tue, Jun 15, 2010 at 11:06 AM, Chris LeBlanc wrote: > Hi, > > Firstly thanks to everyone that has helped bring NumPy to the point it > is today. Its an excellent bit of software. > > I've recently managed to get NumPy to compile on a 64 bit Solaris 10 > (sparc) machine. We've embedded 64 bit Python in some of our C code > using the Python C-API, and therefore require a 64 bit version of > NumPy. > > I had to use a bit of a hack to get NumPy to compile in 64 bit mode, > and I'm just wondering if there's a more elegant way of doing it? > > If I set CFLAGS to "-m64 -xcode=pic32", and CC to "/usr/bin/cc", it > will raise the following error: > > ... snipped most of backtrace ... > File "/home/leblanc/source/numpy/numpy/distutils/command/build_src.py", > line 385, in generate_sources > source = func(extension, build_dir) > File "numpy/core/setup.py", line 675, in get_mathlib_info > raise RuntimeError("Broken toolchain: cannot link a simple C program") > > However, if I create a wrapper script and set CC to the path of the > wrapper, then it will build normally and create a NumPy module I can > use from the 64 bit version of Python installed on the system > (/usr/bin/sparcv9/python). Here's the wrapper: > > #!/bin/sh > /usr/bin/cc -m64 -xcode=pic32 $* > > I did a bit of googling and couldn't find much information on this > issue (which is why I wanted to post this message, so others could > find it). I'm satisfied with the results, but wondering if there's a > better way to do it. > > It's because CFLAGS does not append to but overrides flags. Your wrapper script manages to append flags. Does the patch in http://projects.scipy.org/numpy/ticket/1382 work for you? If so it can be applied I think. Cheers, Ralf -------------- next part -------------- An HTML attachment was scrubbed... URL: From gregwh at gmail.com Thu Jun 17 10:29:54 2010 From: gregwh at gmail.com (greg whittier) Date: Thu, 17 Jun 2010 10:29:54 -0400 Subject: [Numpy-discussion] reading big-endian uint16 into array on little-endian machine Message-ID: I have files (from an external source) that contain ~10 GB of big-endian uint16's that I need to read into a series of arrays. What I'm doing now is import numpy as np import struct fd = open('file.raw', 'rb') for n in range(10000) count = 1024*1024 a = np.array([struct.unpack('>H', fd.read(2)) for i in range(count)]) # do something with a It doesn't seem very efficient to call struct.unpack one element at a time, but struct doesn't have an unpack_farray version like xdrlib does. I also thought of using the array module and .byteswap() but the help says it only work on 4 and 8 byte arrays. Any ideas? Thanks, Greg From robert.kern at gmail.com Thu Jun 17 10:41:28 2010 From: robert.kern at gmail.com (Robert Kern) Date: Thu, 17 Jun 2010 09:41:28 -0500 Subject: [Numpy-discussion] reading big-endian uint16 into array on little-endian machine In-Reply-To: References: Message-ID: On Thu, Jun 17, 2010 at 09:29, greg whittier wrote: > I have files (from an external source) that contain ~10 GB of > big-endian uint16's that I need to read into a series of arrays. np.fromfile(filename, dtype='>i2') -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From faltet at pytables.org Thu Jun 17 10:46:08 2010 From: faltet at pytables.org (Francesc Alted) Date: Thu, 17 Jun 2010 16:46:08 +0200 Subject: [Numpy-discussion] reading big-endian uint16 into array on little-endian machine In-Reply-To: References: Message-ID: <201006171646.09010.faltet@pytables.org> A Thursday 17 June 2010 16:29:54 greg whittier escrigu?: > I have files (from an external source) that contain ~10 GB of > big-endian uint16's that I need to read into a series of arrays. What > I'm doing now is > > import numpy as np > import struct > > fd = open('file.raw', 'rb') > > for n in range(10000) > count = 1024*1024 > a = np.array([struct.unpack('>H', fd.read(2)) for i in range(count)]) > # do something with a > > It doesn't seem very efficient to call struct.unpack one element at a > time, but struct doesn't have an unpack_farray version like xdrlib > does. I also thought of using the array module and .byteswap() but > the help says it only work on 4 and 8 byte arrays. Maybe is a problem with docs. This works for me: In [23]: import numpy as np In [24]: a = np.arange(10) In [25]: a Out[25]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) In [26]: a = np.arange(10, dtype='i2') In [27]: a.byteswap() Out[27]: array([ 0, 256, 512, 768, 1024, 1280, 1536, 1792, 2048, 2304], dtype=int16) -- Francesc Alted From robert.kern at gmail.com Thu Jun 17 10:58:03 2010 From: robert.kern at gmail.com (Robert Kern) Date: Thu, 17 Jun 2010 09:58:03 -0500 Subject: [Numpy-discussion] reading big-endian uint16 into array on little-endian machine In-Reply-To: <201006171646.09010.faltet@pytables.org> References: <201006171646.09010.faltet@pytables.org> Message-ID: On Thu, Jun 17, 2010 at 09:46, Francesc Alted wrote: > A Thursday 17 June 2010 16:29:54 greg whittier escrigu?: >> I have files (from an external source) that contain ~10 GB of >> big-endian uint16's that I need to read into a series of arrays. ?What >> I'm doing now is >> >> import numpy as np >> import struct >> >> fd = open('file.raw', 'rb') >> >> for n in range(10000) >> ? ? count = 1024*1024 >> ? ? a = np.array([struct.unpack('>H', fd.read(2)) for i in range(count)]) >> ? ? # do something with a >> >> It doesn't seem very efficient to call struct.unpack one element at a >> time, but struct doesn't have an unpack_farray version like xdrlib >> does. ?I also thought of using the array module and .byteswap() but >> the help says it only work on 4 and 8 byte arrays. > > Maybe is a problem with docs. I think he was talking about the standard library array module. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From abrombo at verizon.net Thu Jun 17 11:48:18 2010 From: abrombo at verizon.net (Alan Bromborsky) Date: Thu, 17 Jun 2010 11:48:18 -0400 Subject: [Numpy-discussion] Tensor contraction In-Reply-To: References: <4C13EE56.4070702@verizon.net> <4C151F59.1020409@verizon.net> <4C153EDA.4060602@verizon.net> Message-ID: <4C1A43C2.9040805@verizon.net> Friedrich Romstedt wrote: > 2010/6/13 Alan Bromborsky : > >> Friedrich Romstedt wrote: >> >>>> I am writing symbolic tensor package for general relativity. In making >>>> symbolic tensors concrete >>>> I generate numpy arrays stuffed with sympy functions and symbols. >>>> >>> That sound's interesting. >>> > > Now, after I read the Wikipedia article about the Christoffel symbols, > I'm not so sure if I can help you with the subject. It seems general > relativity is a bit over my head, just a tiiiny bit ;-) > > >>>> The >>>> operations are tensor product >>>> (numpy.multiply.outer), permutation of indices (swapaxes), partial and >>>> covariant (both vector operators that >>>> increase array dimensions by one) differentiation, and contraction. >>>> >>> I would like to know more precisely what this differentiations do, and >>> how it comes that they add an index to the tensor. >>> > > Ok, this I understood now, nevertheless I'm completely lost with an > over-all understanding ... > > >>>> I think I need to do the contraction last >>>> to make sure everything comes out correctly. Thus in many cases I would >>>> be performing multiple contractions >>>> on the tensor resulting from all the other operations. >>>> > > This is up to you, as I see it now. > > >>> def contract(arr, *contractions): >>> """*CONTRACTIONS is e.g.: >>> (0, 1), (2, 3) >>> meaning two contractions, one of 0 & 1, and one of 2 & 2, >>> but also: >>> (0, 1, 2), >>> is allowed, meaning contract 0 & 1 & 2.""" >>> >>> # First, we check if we can contract using the *contractions* given ... >>> >>> for contraction in contractions: >>> # Extract the dimensions used. >>> dimensions = numpy.asarray(arr.shape)[list(contraction)] >>> >>> # Check if they are all the same. >>> dimensionsdiff = dimensions - dimensions[0] >>> if numpy.abs(dimensionsdiff).sum() != 0: >>> raise ValueError('Contracted indices must be of same dimension.') >>> >>> # So now, we can contract. >>> # >>> # First, pull the contracted dimensions all to the front ... >>> >>> # The names of the indices. >>> names = range(arr.ndim) >>> >>> # Pull all of the contractions. >>> names_pulled = [] >>> for contraction in contractions: >>> names_pulled = names_pulled + list(contraction) >>> # Remove the pulled index names from the pool: >>> for used_index in contraction: >>> # Some more sanity check >>> if used_index not in names: >>> raise ValueError('Each index can only be used in one >>> contraction.') >>> names.remove(used_index) >>> >>> # Concatenate the pulled indices and the left-over indices. >>> names_final = names_pulled + names >>> >>> # Perform the swap. >>> arr = arr.transpose(names_final) >>> >>> # Perform the contractions ... >>> >>> for contraction in contractions: >>> # The respective indices are now, since we pulled them, the >>> frontmost indices: >>> ncontraction = len(contraction) >>> # The index array: >>> # shape[0] = shape[1] = ... = shape[ncontraction - 1] >>> I = numpy.arange(0, arr.shape[0]) >>> # Perform contraction: >>> index = [I] * ncontraction >>> arr = arr[tuple(index)].sum(axis=0) >>> >>> # If I made no mistake, we should be done now. >>> return arr >>> > > Btw, did this work for you? > > I like Sebastian's stride tricks, but I think the poor-man's > .transpose() and contraction should also do it. (and is maybe more > readable.) > > Btw, how are you planning to implement the differentiation? Hmm ... > for the "normal" partial derivative ... it would be most elegant to > create the \partial_{l} operator as an sympy object, is that possible? > If not, one can think about a wrapper class, yielding the > differentiation upon multiplication with a normal sympy object. If > one has such operators, one can put them in an array, say p for > "partial" and write: > > partial_T = p[numpy.newaxis, numpy.newaxis, numpy.newaxis] * T > > Or just write p as an instance of a class P with overloaded __mul__: > > def __mul__(self, T): > return self.partials[tuple([numpy.newaxis] * T.ndim)] * T > > Then partial differentiation is for all tensors of your > multidimensional world just: > > partial_T = p * T > > . ? For the Christoffel symbols, it's I think not so easy. But since > I don't understand them, ... > > Friedrich > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > I must be stupid. 'numpy.trace' does exactly what I want! From gregwh at gmail.com Thu Jun 17 11:59:59 2010 From: gregwh at gmail.com (greg whittier) Date: Thu, 17 Jun 2010 11:59:59 -0400 Subject: [Numpy-discussion] reading big-endian uint16 into array on little-endian machine In-Reply-To: References: Message-ID: On Thu, Jun 17, 2010 at 10:41 AM, Robert Kern wrote: > On Thu, Jun 17, 2010 at 09:29, greg whittier wrote: >> I have files (from an external source) that contain ~10 GB of >> big-endian uint16's that I need to read into a series of arrays. > > np.fromfile(filename, dtype='>i2') > > -- > Robert Kern > Doh! I'm so used to doing np.uint16 that I didn't think of other options to pass to dtype. (And yes, I was referring to the standard array module.) Thanks! Greg From numpy-discussion at maubp.freeserve.co.uk Thu Jun 17 12:11:18 2010 From: numpy-discussion at maubp.freeserve.co.uk (Peter) Date: Thu, 17 Jun 2010 17:11:18 +0100 Subject: [Numpy-discussion] reading big-endian uint16 into array on little-endian machine In-Reply-To: References: Message-ID: On Thu, Jun 17, 2010 at 3:29 PM, greg whittier wrote: > > I have files (from an external source) that contain ~10 GB of > big-endian uint16's that I need to read into a series of arrays. ?What > I'm doing now is > > import numpy as np > import struct > > fd = open('file.raw', 'rb') > > for n in range(10000) > ? ?count = 1024*1024 > ? ?a = np.array([struct.unpack('>H', fd.read(2)) for i in range(count)]) > ? ?# do something with a > > It doesn't seem very efficient to call struct.unpack one element at a > time, but struct doesn't have an unpack_farray version like xdrlib > does. ?I also thought of using the array module and .byteswap() but > the help says it only work on 4 and 8 byte arrays. I'm unclear if you want a numpy array or a standard library array, but can you exploit the fact that struct.unpack returns a tuple? e.g. struct.unpack(">%iH" % count, fd.read(2*count)) Peter From gregwh at gmail.com Thu Jun 17 12:14:23 2010 From: gregwh at gmail.com (greg whittier) Date: Thu, 17 Jun 2010 12:14:23 -0400 Subject: [Numpy-discussion] reading big-endian uint16 into array on little-endian machine In-Reply-To: References: Message-ID: On Thu, Jun 17, 2010 at 12:11 PM, Peter wrote: > On Thu, Jun 17, 2010 at 3:29 PM, greg whittier wrote: > I'm unclear if you want a numpy array or a standard library array, > but can you exploit the fact that struct.unpack returns a tuple? e.g. > > struct.unpack(">%iH" % count, fd.read(2*count)) > > Peter I want a numpy array. Robert answered it, but this works also. Thanks, Greg From Nicolas.Rougier at loria.fr Thu Jun 17 13:48:23 2010 From: Nicolas.Rougier at loria.fr (Nicolas Rougier) Date: Thu, 17 Jun 2010 19:48:23 +0200 Subject: [Numpy-discussion] Help on vectorization of mesh normals computation Message-ID: <7087D44C-0875-4865-B9F0-666E31CA1A70@loria.fr> Hello, I'm trying to find a way to compute the normals of a mesh (vertices + indices) using only vectorized computations and I wonder if anyone already did that. Here my code so far: # Mesh generation + indices for triangles n = 24 vertices = numpy.zeros(((n*n),3), dtype=numpy.float32) normals = numpy.zeros(((n*n),3), dtype=numpy.float32) indices = numpy.zeros((2*(n-1)*(n-1),3), dtype=numpy.int) for xi in range(n): for yi in range(n): i = yi*n + xi vertices[i] = xi/float(n-1), yi/float(n-1), 0 j=0 for yi in range(n-1): for xi in range(n-1): i = yi*n + xi indices[j+0] = i, i+1,i+n indices[j+1] = i+n,i+1,i+n+1 j += 2 # Normal computations normals[:] = 0,0,0 P1 = vertices[indices[:,0]] P2 = vertices[indices[:,1]] P3 = vertices[indices[:,2]] N = numpy.cross(P2-P3,P3-P1) for i in range(self.indices.shape[0]): normals[indices[i]] += N[i] I would like to get rid of the last 'for' loop but did not find the proper way to do it. Anyone got an idea ? Nicolas From doutriaux1 at llnl.gov Thu Jun 17 13:57:22 2010 From: doutriaux1 at llnl.gov (=?utf-8?Q?Charles_=D8=B3=D9=85=D9=8A=D8=B1_Doutriaux?=) Date: Thu, 17 Jun 2010 10:57:22 -0700 Subject: [Numpy-discussion] distutils and Framework Message-ID: <0CD606C7-175B-4F65-A6D4-4C7333229737@llnl.gov> Hi, I noticed that when using a Framework based python under Mac. numpy nicely gets installed into the Python.Framework directory by default. But then if I use: from numpy.distutils.core import setup, Extension It installed under the regular: ${prefix}/lib/python-2.6/site-packages which forces the use of PYTHONPATH Any idea on what's needed to have the modules installed under the Framework directory ? Thanks, C. From silyko at gmail.com Thu Jun 17 14:59:45 2010 From: silyko at gmail.com (Simon Lyngby Kokkendorff) Date: Thu, 17 Jun 2010 20:59:45 +0200 Subject: [Numpy-discussion] Accessing data in a large file In-Reply-To: <1276779523.4514.4.camel@antares> References: <1276779523.4514.4.camel@antares> Message-ID: Thanks for the references to these libraries - they seem to fix my problem! Cheers, Simon On Thu, Jun 17, 2010 at 2:58 PM, davide wrote: > You may have a look to the nice python-h5py module, which gives an OO > interface to the underlying hdf5 file format. I'm using it for storing > large amounts (~10Gb) of experimental data. Very fast, very convenient. > > Ciao > > Davide > > On Thu, 2010-06-17 at 08:33 -0400, greg whittier wrote: > > On Thu, Jun 17, 2010 at 4:21 AM, Simon Lyngby Kokkendorff > > wrote: > > > memory errors. Is there a way to get numpy to do what I want, using an > > > internal platform independent numpy-format like .npy, or do I have to > wrap a > > > custom file reader with something like ctypes? > > > > You might give http://www.pytables.org/ a try. > > _______________________________________________ > > NumPy-Discussion mailing list > > NumPy-Discussion at scipy.org > > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bburan at cns.nyu.edu Thu Jun 17 17:50:24 2010 From: bburan at cns.nyu.edu (Brad Buran) Date: Thu, 17 Jun 2010 17:50:24 -0400 Subject: [Numpy-discussion] reduce array by computing min/max every n samples Message-ID: I have a 1D array with >100k samples that I would like to reduce by computing the min/max of each "chunk" of n samples. Right now, my code is as follows: n = 100 offset = array.size % downsample array_min = array[offset:].reshape((-1, n)).min(-1) array_max = array[offset:].reshape((-1, n)).max(-1) However, this appears to be running pretty slowly. The array is data streamed in real-time from external hardware devices and I need to downsample this and compute the min/max for plotting. I'd like to speed this up so that I can plot updates to the data as quickly as new data comes in. Are there recommendations for faster ways to perform the downsampling? Thanks, Brad From robert.kern at gmail.com Thu Jun 17 20:26:40 2010 From: robert.kern at gmail.com (Robert Kern) Date: Thu, 17 Jun 2010 19:26:40 -0500 Subject: [Numpy-discussion] distutils and Framework In-Reply-To: <0CD606C7-175B-4F65-A6D4-4C7333229737@llnl.gov> References: <0CD606C7-175B-4F65-A6D4-4C7333229737@llnl.gov> Message-ID: 2010/6/17 Charles ???? Doutriaux : > Hi, > > I noticed that when using a Framework based python under Mac. > > numpy nicely gets installed into the Python.Framework directory by default. > > But then if I use: > > from numpy.distutils.core import setup, Extension > > It installed under the regular: > ${prefix}/lib/python-2.6/site-packages > > which forces the use of PYTHONPATH > > Any idea on what's needed to have the modules installed under the Framework directory ? numpy.distutils shouldn't be changing any of that. I'm guessing there is something else wrong. 1. Make sure you do not have a ~/.pydistutils.cfg or setup.cfg file setting the install path. 2. Which Python are you using? Are you sure that you are using the same python executable for installing numpy as the other package? 3. What is this ${prefix} that you are referring to? 4. Make a simple pure-Python dummy package with a trivial setup.py. Try it both with "from distutils.core import setup" and "from numpy.distutils.core import setup". See where they each install to. Both work identically for me. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From berthold.hoellmann at gl-group.com Fri Jun 18 06:49:24 2010 From: berthold.hoellmann at gl-group.com (Berthold Hoellmann) Date: Fri, 18 Jun 2010 12:49:24 +0200 Subject: [Numpy-discussion] checking for array type in C extension Message-ID: Hello, I do have problems for checking for integer array types in a C extension under Windows. I've put together a small example to illustrate the problem: ------------------------------------------------------------------------ hoel at pc090498 ~/pytest $ cat tst.c #include #include "Python.h" #include "numpy/arrayobject.h" #define TRY(E) (E) ; if(PyErr_Occurred()) {fprintf(stderr, "%s:%d\n", __FILE__, __LINE__); return NULL;} static PyObject* inttest_cfunc (PyObject *dummy, PyObject *args) { PyArrayObject *array; TRY(PyArg_ParseTuple(args, "O!:inttest", &PyArray_Type, &array)); fprintf(stderr, "PyArray_TYPE(array): %ld; NPY_INT: %ld\n", PyArray_TYPE(array), NPY_INT); if (PyArray_TYPE(array) == NPY_INT) { fprintf(stderr, "found NPY_INT\n"); } else { fprintf(stderr, "NPY_INT not found\n"); } Py_RETURN_NONE; } static PyMethodDef mymethods[] = { { "inttestfunc", inttest_cfunc, METH_VARARGS, "Doc string"}, {NULL, NULL, 0, NULL} /* Sentinel */ }; PyMODINIT_FUNC inittst(void) { (void)Py_InitModule("tst", mymethods); import_array(); } hoel at pc090498 ~/pytest $ python setup.py build running build ... hoel at pc090498 ~/pytest $ cat xx.py import tst, sys import numpy as np print >>sys.stderr, np.__version__, np.__path__ tst.inttestfunc(np.array((1,2),dtype=np.int)) tst.inttestfunc(np.array((1,2),dtype=np.int8)) tst.inttestfunc(np.array((1,2),dtype=np.int16)) tst.inttestfunc(np.array((1,2),dtype=np.int32)) tst.inttestfunc(np.array((1,2),dtype=np.int64)) hoel at pc090498 ~/pytest $ PYTHONPATH=build/lib.win32-2.5/ python xx.py 1.4.1 ['C:\\Python25\\lib\\site-packages\\numpy'] PyArray_TYPE(array): 7; NPY_INT: 5 NPY_INT not found PyArray_TYPE(array): 1; NPY_INT: 5 NPY_INT not found PyArray_TYPE(array): 3; NPY_INT: 5 NPY_INT not found PyArray_TYPE(array): 7; NPY_INT: 5 NPY_INT not found PyArray_TYPE(array): 9; NPY_INT: 5 NPY_INT not found ------------------------------------------------------------------------ NPY_INT32 is 7, but shouldn't NPY_INT correspond to numpy.int. And what kind of int is NPY_INT in this case? Kind regards Berthold H?llmann -- Germanischer Lloyd AG Berthold H?llmann Project Engineer, CAE Development Brooktorkai 18 20457 Hamburg Germany Phone: +49(0)40 36149-7374 Fax: +49(0)40 36149-7320 e-mail: berthold.hoellmann at gl-group.com Internet: http://www.gl-group.com This e-mail and any attachment thereto may contain confidential information and/or information protected by intellectual property rights for the exclusive attention of the intended addressees named above. Any access of third parties to this e-mail is unauthorised. Any use of this e-mail by unintended recipients such as total or partial copying, distribution, disclosure etc. is prohibited and may be unlawful. When addressed to our clients the content of this e-mail is subject to the General Terms and Conditions of GL's Group of Companies applicable at the date of this e-mail. If you have received this e-mail in error, please notify the sender either by telephone or by e-mail and delete the material from any computer. GL's Group of Companies does not warrant and/or guarantee that this message at the moment of receipt is authentic, correct and its communication free of errors, interruption etc. Germanischer Lloyd AG, 31393 AG HH, Hamburg, Vorstand: Dr. Hermann J. Klein, Dr. Joachim Segatz, Pekka Paasivaara, Vorsitzender des Aufsichtsrats: Dr. Wolfgang Peiner From sturla at molden.no Fri Jun 18 07:15:29 2010 From: sturla at molden.no (Sturla Molden) Date: Fri, 18 Jun 2010 13:15:29 +0200 Subject: [Numpy-discussion] reading big-endian uint16 into array on little-endian machine In-Reply-To: References: Message-ID: <4C1B5551.6050207@molden.no> Den 17.06.2010 16:29, skrev greg whittier: > I have files (from an external source) that contain ~10 GB of > big-endian uint16's that I need to read into a series of arrays. What > I'm doing now is > > import numpy as np > import struct > > fd = open('file.raw', 'rb') > > for n in range(10000) > count = 1024*1024 > a = np.array([struct.unpack('>H', fd.read(2)) for i in range(count)]) > # do something with a > > It doesn't seem very efficient to call struct.unpack one element at a > time, but struct doesn't have an unpack_farray version like xdrlib > does. I also thought of using the array module and .byteswap() but > the help says it only work on 4 and 8 byte arrays. > > Any ideas? > > t's just a matter of swapping the bytes: arr = 1D array of uint16 bytes = arr.view(dtype=np.uint8) tmp = bytes[::2].copy() bytes[::2] = bytes[1::2] bytes[1::2] = tmp Or like this: arr = 1D array of uint16 arr = (arr >> 8) | (arr << 8) The latter generates three temporary arrays, the first generates one. You can avoid this with C: __declspec(dllexport) void byteswap(unsigned short *arr, int n) { for (int i=0; i> 8) | (arr[i] << 8); } } Sturla From pav at iki.fi Fri Jun 18 09:26:55 2010 From: pav at iki.fi (Pauli Virtanen) Date: Fri, 18 Jun 2010 15:26:55 +0200 Subject: [Numpy-discussion] checking for array type in C extension In-Reply-To: References: Message-ID: <1276867615.2155.4.camel@talisman> pe, 2010-06-18 kello 12:49 +0200, Berthold Hoellmann kirjoitti: [clip] > tst.inttestfunc(np.array((1,2),dtype=np.int)) > tst.inttestfunc(np.array((1,2),dtype=np.int8)) > tst.inttestfunc(np.array((1,2),dtype=np.int16)) > tst.inttestfunc(np.array((1,2),dtype=np.int32)) > tst.inttestfunc(np.array((1,2),dtype=np.int64)) > > hoel at pc090498 ~/pytest $ PYTHONPATH=build/lib.win32-2.5/ python xx.py > 1.4.1 ['C:\\Python25\\lib\\site-packages\\numpy'] > PyArray_TYPE(array): 7; NPY_INT: 5 > NPY_INT not found > PyArray_TYPE(array): 1; NPY_INT: 5 > NPY_INT not found > PyArray_TYPE(array): 3; NPY_INT: 5 > NPY_INT not found > PyArray_TYPE(array): 7; NPY_INT: 5 > NPY_INT not found > PyArray_TYPE(array): 9; NPY_INT: 5 > NPY_INT not found > > NPY_INT32 is 7, but shouldn't NPY_INT correspond to numpy.int. And what > kind of int is NPY_INT in this case? I think the explanation is the following: - NPY_INT is a virtual type that is either int32 or int64, depending on the native platform size. - It has its own type code, distinct from NPY_SHORT (= 3 = int32) and NPY_LONG (= 7 = int64). - But the type specifier is replaced either by NPY_SHORT or NPY_LONG on array creation, so no array is of this dtype. Pauli From ben.v.root at gmail.com Fri Jun 18 10:39:57 2010 From: ben.v.root at gmail.com (Benjamin Root) Date: Fri, 18 Jun 2010 09:39:57 -0500 Subject: [Numpy-discussion] reading big-endian uint16 into array on little-endian machine In-Reply-To: <4C1B5551.6050207@molden.no> References: <4C1B5551.6050207@molden.no> Message-ID: On Fri, Jun 18, 2010 at 6:15 AM, Sturla Molden wrote: > Den 17.06.2010 16:29, skrev greg whittier: > > I have files (from an external source) that contain ~10 GB of > > big-endian uint16's that I need to read into a series of arrays. What > > I'm doing now is > > > > import numpy as np > > import struct > > > > fd = open('file.raw', 'rb') > > > > for n in range(10000) > > count = 1024*1024 > > a = np.array([struct.unpack('>H', fd.read(2)) for i in > range(count)]) > > # do something with a > > > > It doesn't seem very efficient to call struct.unpack one element at a > > time, but struct doesn't have an unpack_farray version like xdrlib > > does. I also thought of using the array module and .byteswap() but > > the help says it only work on 4 and 8 byte arrays. > > > > Any ideas? > > > > > > t's just a matter of swapping the bytes: > > arr = 1D array of uint16 > bytes = arr.view(dtype=np.uint8) > tmp = bytes[::2].copy() > bytes[::2] = bytes[1::2] > bytes[1::2] = tmp > > > Or like this: > > arr = 1D array of uint16 > arr = (arr >> 8) | (arr << 8) > > > The latter generates three temporary arrays, the first generates one. > > You can avoid this with C: > > __declspec(dllexport) > void byteswap(unsigned short *arr, int n) > { > for (int i=0; i arr[i] = (arr[i] >> 8) | (arr[i] << 8); > } > } > > > > Sturla > > Just for my own knowledge, would Robert's suggestion of using '>i2' as the dtype be considered the "best" solution, mostly because of its simplicity, but also because it does not assume the endian-ness of the host computer? Ben Root -------------- next part -------------- An HTML attachment was scrubbed... URL: From berthold.hoellmann at gl-group.com Fri Jun 18 10:43:34 2010 From: berthold.hoellmann at gl-group.com (Berthold Hoellmann) Date: Fri, 18 Jun 2010 16:43:34 +0200 Subject: [Numpy-discussion] checking for array type in C extension In-Reply-To: <1276867615.2155.4.camel@talisman> (Pauli Virtanen's message of "Fri, 18 Jun 2010 15:26:55 +0200") References: <1276867615.2155.4.camel@talisman> Message-ID: Pauli Virtanen writes: > pe, 2010-06-18 kello 12:49 +0200, Berthold Hoellmann kirjoitti: > [clip] >> tst.inttestfunc(np.array((1,2),dtype=np.int)) >> tst.inttestfunc(np.array((1,2),dtype=np.int8)) >> tst.inttestfunc(np.array((1,2),dtype=np.int16)) >> tst.inttestfunc(np.array((1,2),dtype=np.int32)) >> tst.inttestfunc(np.array((1,2),dtype=np.int64)) >> >> hoel at pc090498 ~/pytest $ PYTHONPATH=build/lib.win32-2.5/ python xx.py >> 1.4.1 ['C:\\Python25\\lib\\site-packages\\numpy'] >> PyArray_TYPE(array): 7; NPY_INT: 5 >> NPY_INT not found >> PyArray_TYPE(array): 1; NPY_INT: 5 >> NPY_INT not found >> PyArray_TYPE(array): 3; NPY_INT: 5 >> NPY_INT not found >> PyArray_TYPE(array): 7; NPY_INT: 5 >> NPY_INT not found >> PyArray_TYPE(array): 9; NPY_INT: 5 >> NPY_INT not found >> >> NPY_INT32 is 7, but shouldn't NPY_INT correspond to numpy.int. And what >> kind of int is NPY_INT in this case? > > I think the explanation is the following: > > - NPY_INT is a virtual type that is either int32 or int64, depending on > the native platform size. > > - It has its own type code, distinct from NPY_SHORT (= 3 = int32) and > NPY_LONG (= 7 = int64). > > - But the type specifier is replaced either by NPY_SHORT or NPY_LONG > on array creation, so no array is of this dtype. > > Pauli The documentation (i refere to NumPy User Guide, Release 1.5.0.dev8106) claims that numpy.int is platform int and that "NPY_INT" is a C based name, thus referring to int also. So if I want to use "int" platform independent in my extension module, what do I do to check whether the correct data is proivided. I want to avoid one of the casting routines, such as "PyArray_FROM_OTF" or "PyArray_FromAny"? Do I have to use "PyArray_ITEMSIZE"? But "PyArray_ITEMSIZE" indicates that "numpy.int" are not platform integers. It returns "8" on Linux64, where "sizeof(int)==4". So is this a bug in 1.4.1, in the 1.5 beta documentation or a misunderstanding on my side? Kind regards Berthold H?llmann -- Germanischer Lloyd AG Berthold H?llmann Project Engineer, CAE Development Brooktorkai 18 20457 Hamburg Germany Phone: +49(0)40 36149-7374 Fax: +49(0)40 36149-7320 e-mail: berthold.hoellmann at gl-group.com Internet: http://www.gl-group.com From robert.kern at gmail.com Fri Jun 18 10:45:20 2010 From: robert.kern at gmail.com (Robert Kern) Date: Fri, 18 Jun 2010 09:45:20 -0500 Subject: [Numpy-discussion] reading big-endian uint16 into array on little-endian machine In-Reply-To: References: <4C1B5551.6050207@molden.no> Message-ID: On Fri, Jun 18, 2010 at 09:39, Benjamin Root wrote: > Just for my own knowledge, would Robert's suggestion of using '>i2' as the > dtype be considered the "best" solution, mostly because of its simplicity, > but also because it does not assume the endian-ness of the host computer? It does come with the tradeoff that math will be a little bit slower on it. A quick .astype(np.uint16) will fix that. That said, the cost of creating the memory for the new native array will probably wipe away those gains unless if the data is reused a number of times for calculations. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From robert.kern at gmail.com Fri Jun 18 10:52:30 2010 From: robert.kern at gmail.com (Robert Kern) Date: Fri, 18 Jun 2010 09:52:30 -0500 Subject: [Numpy-discussion] checking for array type in C extension In-Reply-To: References: <1276867615.2155.4.camel@talisman> Message-ID: On Fri, Jun 18, 2010 at 09:43, Berthold Hoellmann wrote: > Pauli Virtanen writes: > >> pe, 2010-06-18 kello 12:49 +0200, Berthold Hoellmann kirjoitti: >> [clip] >>> tst.inttestfunc(np.array((1,2),dtype=np.int)) >>> tst.inttestfunc(np.array((1,2),dtype=np.int8)) >>> tst.inttestfunc(np.array((1,2),dtype=np.int16)) >>> tst.inttestfunc(np.array((1,2),dtype=np.int32)) >>> tst.inttestfunc(np.array((1,2),dtype=np.int64)) >>> >>> hoel at pc090498 ~/pytest $ PYTHONPATH=build/lib.win32-2.5/ python xx.py >>> 1.4.1 ['C:\\Python25\\lib\\site-packages\\numpy'] >>> PyArray_TYPE(array): 7; NPY_INT: 5 >>> NPY_INT not found >>> PyArray_TYPE(array): 1; NPY_INT: 5 >>> NPY_INT not found >>> PyArray_TYPE(array): 3; NPY_INT: 5 >>> NPY_INT not found >>> PyArray_TYPE(array): 7; NPY_INT: 5 >>> NPY_INT not found >>> PyArray_TYPE(array): 9; NPY_INT: 5 >>> NPY_INT not found >>> >>> NPY_INT32 is 7, but shouldn't NPY_INT correspond to numpy.int. And what >>> kind of int is NPY_INT in this case? >> >> I think the explanation is the following: >> >> - NPY_INT is a virtual type that is either int32 or int64, depending on >> ? the native platform size. >> >> - It has its own type code, distinct from NPY_SHORT (= 3 = int32) and >> ? NPY_LONG (= 7 = int64). >> >> - But the type specifier is replaced either by NPY_SHORT or NPY_LONG >> ? on array creation, so no array is of this dtype. >> >> ? ? ? Pauli > > The documentation (i refere to NumPy User Guide, Release 1.5.0.dev8106) > claims that numpy.int is platform int and that "NPY_INT" is a C based > name, thus referring to int also. It is referring to the Python int type, not the C int type. Python ints are actually C longs underneath. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From pav at iki.fi Fri Jun 18 11:06:36 2010 From: pav at iki.fi (Pauli Virtanen) Date: Fri, 18 Jun 2010 17:06:36 +0200 Subject: [Numpy-discussion] checking for array type in C extension In-Reply-To: References: <1276867615.2155.4.camel@talisman> Message-ID: <1276873596.2155.8.camel@talisman> pe, 2010-06-18 kello 16:43 +0200, Berthold Hoellmann kirjoitti: [clip] > The documentation (i refere to NumPy User Guide, Release 1.5.0.dev8106) > claims that numpy.int is platform int and that "NPY_INT" is a C based > name, thus referring to int also. So if I want to use "int" platform > independent in my extension module, what do I do to check whether the > correct data is provided. I want to avoid one of the casting routines, > such as "PyArray_FROM_OTF" or "PyArray_FromAny"? Do I have to use > "PyArray_ITEMSIZE"? But "PyArray_ITEMSIZE" indicates that "numpy.int" > are not platform integers. It returns "8" on Linux64, where > "sizeof(int)==4". > > So is this a bug in 1.4.1, in the 1.5 beta documentation or a > misunderstanding on my side? I guess the documentation needs clarification, as numpy.int is not actually the platform-size integer, but the Python-size integer. The platform-size integer corresponding to C "int" is IIRC numpy.intc, which should result to the same sizes as NPY_INT. -- Pauli Virtanen From berthold.hoellmann at gl-group.com Fri Jun 18 11:22:10 2010 From: berthold.hoellmann at gl-group.com (Berthold Hoellmann) Date: Fri, 18 Jun 2010 17:22:10 +0200 Subject: [Numpy-discussion] checking for array type in C extension In-Reply-To: (Robert Kern's message of "Fri, 18 Jun 2010 09:52:30 -0500") References: <1276867615.2155.4.camel@talisman> Message-ID: Robert Kern writes: > On Fri, Jun 18, 2010 at 09:43, Berthold Hoellmann > wrote: >> Pauli Virtanen writes: >> >>> pe, 2010-06-18 kello 12:49 +0200, Berthold Hoellmann kirjoitti: >>> [clip] >>>> tst.inttestfunc(np.array((1,2),dtype=np.int)) >>>> tst.inttestfunc(np.array((1,2),dtype=np.int8)) >>>> tst.inttestfunc(np.array((1,2),dtype=np.int16)) >>>> tst.inttestfunc(np.array((1,2),dtype=np.int32)) >>>> tst.inttestfunc(np.array((1,2),dtype=np.int64)) >>>> >>>> hoel at pc090498 ~/pytest $ PYTHONPATH=build/lib.win32-2.5/ python xx.py >>>> 1.4.1 ['C:\\Python25\\lib\\site-packages\\numpy'] >>>> PyArray_TYPE(array): 7; NPY_INT: 5 >>>> NPY_INT not found >>>> PyArray_TYPE(array): 1; NPY_INT: 5 >>>> NPY_INT not found >>>> PyArray_TYPE(array): 3; NPY_INT: 5 >>>> NPY_INT not found >>>> PyArray_TYPE(array): 7; NPY_INT: 5 >>>> NPY_INT not found >>>> PyArray_TYPE(array): 9; NPY_INT: 5 >>>> NPY_INT not found >>>> >>>> NPY_INT32 is 7, but shouldn't NPY_INT correspond to numpy.int. And what >>>> kind of int is NPY_INT in this case? >>> >>> I think the explanation is the following: >>> >>> - NPY_INT is a virtual type that is either int32 or int64, depending on >>> ? the native platform size. >>> >>> - It has its own type code, distinct from NPY_SHORT (= 3 = int32) and >>> ? NPY_LONG (= 7 = int64). >>> >>> - But the type specifier is replaced either by NPY_SHORT or NPY_LONG >>> ? on array creation, so no array is of this dtype. >>> >>> ? ? ? Pauli >> >> The documentation (i refere to NumPy User Guide, Release 1.5.0.dev8106) >> claims that numpy.int is platform int and that "NPY_INT" is a C based >> name, thus referring to int also. > > It is referring to the Python int type, not the C int type. Python > ints are actually C longs underneath. So it should be called "Platform python int" instead of "Platform int" in the documetation. I now use 'sizeof' and 'c_int' from ctypes tp construct the dtype description: dtype('i%d' % sizeof(c_int)) Is there a way to avoid the usage of "ctypes" by using information provided by numpy? Kind regards Berthold H?llmann -- Germanischer Lloyd AG Berthold H?llmann Project Engineer, CAE Development Brooktorkai 18 20457 Hamburg Germany Phone: +49(0)40 36149-7374 Fax: +49(0)40 36149-7320 e-mail: berthold.hoellmann at gl-group.com Internet: http://www.gl-group.com From robert.kern at gmail.com Fri Jun 18 11:35:48 2010 From: robert.kern at gmail.com (Robert Kern) Date: Fri, 18 Jun 2010 10:35:48 -0500 Subject: [Numpy-discussion] checking for array type in C extension In-Reply-To: References: <1276867615.2155.4.camel@talisman> Message-ID: On Fri, Jun 18, 2010 at 10:22, Berthold Hoellmann wrote: > I now use 'sizeof' and 'c_int' from ctypes tp construct the dtype > description: > > ?dtype('i%d' % sizeof(c_int)) > > Is there a way to avoid the usage of "ctypes" by using information > provided by numpy? np.intc -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From d.l.goldsmith at gmail.com Fri Jun 18 13:43:23 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Fri, 18 Jun 2010 10:43:23 -0700 Subject: [Numpy-discussion] SciPy docs marathon: a little more info Message-ID: On Mon, Jun 14, 2010 at 2:05 AM, David Goldsmith wrote: > Hi, all! The scipy doc marathon has gotten off to a very slow start this > summer. We are producing less than 1000 words a week, perhaps because > many universities are still finishing up spring classes. So, this is > a second appeal to everyone to pitch in and help get scipy documented > so that it's easy to learn how to use it. Because some of the > packages are quite specialized, we need both "regular" contributors to > write lots of pages, and some people experienced in using each module > (and the mathematics behind the software) to make sure we don't water > it down or make it wrong in the process. If you can help, please, now is > the > time to step forward. Thanks! > > On behalf of Joe and myself, > > David Goldsmith > Olympia, WA > (Apparently this didn't go through the first time.) OK, a few people have come forward - thanks! Let me enumerate the categories that still have no "declared" volunteer writer-editors (all categories are in need of leaders): Max. Entropy, Misc., Image Manip. (Milestone 6) Signal processing (Milestone 8) Sparse Matrices (Milestone 9) Spatial Algorithms., Special funcs. (Milestone 10) C/C++ Integration (Milestone 13) As for the rest, only Interpolation (Milestone 3) has more than one person (but I'm one of the two), and I'm the only person on four others. So, hopefully, knowing specifically which areas are in dire need will inspire people skilled in those areas to sign up. Thanks for your time and help, DG PS: For your convenience, here's the link to the scipy Milestonespage. (Note that the Milestones link at the top of each Wiki page links, incorrectly in the case of the SciPy pages, to the NumPy Milestones page, which we are not actively working on in this Marathon; this is a known, reported bug in the Wiki program.) -------------- next part -------------- An HTML attachment was scrubbed... URL: From yongningbrg at gmail.com Fri Jun 18 23:17:28 2010 From: yongningbrg at gmail.com (Yongning Zhu) Date: Fri, 18 Jun 2010 20:17:28 -0700 Subject: [Numpy-discussion] Beginer question about Boost Python Numeric Message-ID: Hi, I am new to boost python, thanks for the list, and hopefully, I will find some one to help me. I am adding the boost python example: #include #include // sets the first element in a 2d numeric array void set_first_element(::boost::python::numeric::array& y, float value) { y[::boost::python::make_tuple(0,0)] = value; } into quickstart project, and I belive it compiles and run without this function. When I add this function, in python, I did: a=array([1.]) set_first_element(a,3.) and come up with the following error message: Boost.Python.ArgumentError: Python argument types in extending.set_first_element(numpy.ndarray, float) did not match C++ signature: set_first_element(boost::python::numeric::array {lvalue}, float) Could any one please help me with what's wrong? Thanks in advance! Yong From morph at debian.org Sat Jun 19 10:13:37 2010 From: morph at debian.org (Sandro Tosi) Date: Sat, 19 Jun 2010 16:13:37 +0200 Subject: [Numpy-discussion] ImportError: /usr/lib/python2.6/dist-packages/numpy/core/multiarray.so: undefined symbol: NPY_COPY_PYOBJECT_PTR Message-ID: Hello, I'm upgrading the Debian package for Numpy to 1.4.1. Compilation goes well, but when I install the package for test and import numpy I got this traceback: $ python -V Python 2.6.5+ $ python -c "import numpy" Traceback (most recent call last): File "", line 1, in File "/usr/lib/python2.6/dist-packages/numpy/__init__.py", line 132, in import add_newdocs File "/usr/lib/python2.6/dist-packages/numpy/add_newdocs.py", line 9, in from lib import add_newdoc File "/usr/lib/python2.6/dist-packages/numpy/lib/__init__.py", line 4, in from type_check import * File "/usr/lib/python2.6/dist-packages/numpy/lib/type_check.py", line 8, in import numpy.core.numeric as _nx File "/usr/lib/python2.6/dist-packages/numpy/core/__init__.py", line 5, in import multiarray ImportError: /usr/lib/python2.6/dist-packages/numpy/core/multiarray.so: undefined symbol: NPY_COPY_PYOBJECT_PTR If I look at the symbols table for multiarray.so I see none exposed: $ objdump -t /usr/lib/python2.6/dist-packages/numpy/core/multiarray.so /usr/lib/python2.6/dist-packages/numpy/core/multiarray.so: file format elf64-x86-64 SYMBOL TABLE: no symbols Could you please tell me if I'm making some evident mistake? :) I'm also attaching the build log, so that you might spot something in it not correctly done. Thanks in advance for your help, -- Sandro Tosi (aka morph, morpheus, matrixhasu) My website: http://matrixhasu.altervista.org/ Me at Debian: http://wiki.debian.org/SandroTosi -------------- next part -------------- A non-text attachment was scrubbed... Name: python-numpy_1.4.1-1_amd64.build.bz2 Type: application/x-bzip2 Size: 27261 bytes Desc: not available URL: From cournape at gmail.com Sat Jun 19 12:37:14 2010 From: cournape at gmail.com (David Cournapeau) Date: Sun, 20 Jun 2010 01:37:14 +0900 Subject: [Numpy-discussion] ImportError: /usr/lib/python2.6/dist-packages/numpy/core/multiarray.so: undefined symbol: NPY_COPY_PYOBJECT_PTR In-Reply-To: References: Message-ID: On Sat, Jun 19, 2010 at 11:13 PM, Sandro Tosi wrote: > Hello, > I'm upgrading the Debian package for Numpy to 1.4.1. > > Compilation goes well, but when I install the package for test and > import numpy I got this traceback: Do you have numpy already installed ? Because debian splits the numpy package and installed the headers in /usr/include, which breaks the build of pretty much every python extension out there (as it causes a change in header inclusion). The missing symbol is a macro defined in our public header, and is relatively recent. David From charlesr.harris at gmail.com Sat Jun 19 13:50:30 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Sat, 19 Jun 2010 11:50:30 -0600 Subject: [Numpy-discussion] Ticket #1455, the bias keyword. Message-ID: Hi All, I'm looking at ticket #1455 . At the moment I've added the ddof keyword to cov and corrcoef and set it up so that it overrides the bias keyword when ddof is something other than its current default of None. The question is, should I deprecate the bias keyword and in some later release change ddof to default to the usual 0? Pierre, If we make this change the functions (and tests) in ma will be affected. Do you want me to take care of the updates? Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From yongningbrg at gmail.com Sat Jun 19 14:07:10 2010 From: yongningbrg at gmail.com (Yongning Zhu) Date: Sat, 19 Jun 2010 11:07:10 -0700 Subject: [Numpy-discussion] Beginer question about Boost Python Numeric In-Reply-To: References: Message-ID: Hi, I think I figured out by using numeric::array::set_module_and_type( "numpy", "ndarray"); thanks! yong On Fri, Jun 18, 2010 at 8:17 PM, Yongning Zhu wrote: > Hi, > > I am new to boost python, thanks for the list, and hopefully, I will > find some one to help me. > I am adding the boost python example: > > #include > #include > // sets the first element in a 2d numeric array > void set_first_element(::boost::python::numeric::array& y, float value) > { > ? ?y[::boost::python::make_tuple(0,0)] = value; > } > > into quickstart project, and I belive it compiles and run without this function. > > When I add this function, in python, I did: > > a=array([1.]) > set_first_element(a,3.) > > and come up with the following error message: > > Boost.Python.ArgumentError: Python argument types in > ? ?extending.set_first_element(numpy.ndarray, float) > did not match C++ signature: > ? ?set_first_element(boost::python::numeric::array {lvalue}, float) > > Could any one please help me with what's wrong? > > Thanks in advance! > > Yong > From pgmdevlist at gmail.com Sat Jun 19 14:17:29 2010 From: pgmdevlist at gmail.com (Pierre GM) Date: Sat, 19 Jun 2010 14:17:29 -0400 Subject: [Numpy-discussion] Ticket #1455, the bias keyword. In-Reply-To: References: Message-ID: On Jun 19, 2010, at 1:50 PM, Charles R Harris wrote: > Hi All, > > I'm looking at ticket #1455. At the moment I've added the ddof keyword to cov and corrcoef and set it up so that it overrides the bias keyword when ddof is something other than its current default of None. The question is, should I deprecate the bias keyword and in some later release change ddof to default to the usual 0? > > Pierre, If we make this change the functions (and tests) in ma will be affected. Do you want me to take care of the updates? Yes please, if you don't mind. I'm currently losing my way in a sea of pointers... From ben.root at ou.edu Sat Jun 19 16:37:15 2010 From: ben.root at ou.edu (Benjamin Root) Date: Sat, 19 Jun 2010 15:37:15 -0500 Subject: [Numpy-discussion] reduce array by computing min/max every n samples In-Reply-To: References: Message-ID: Brad, I think you are doing it the right way, but I think what is happening is that the reshape() call on the sliced array is forcing a copy to be made first. The fact that the copy has to be made twice just worsens the issue. I would save a copy of the reshape result (it is usually a view of the original data, unless a copy is forced), and then perform a min/max call on that with the appropriate axis. On that note, would it be a bad idea to have a function that returns a min/max tuple? Performing two iterations to gather the min and the max information versus a single iteration to gather both at the same time would be useful. I should note that there is a numpy.ptp() function that returns the difference between the min and the max, but I don't see anything that returns the actual values. Ben Root On Thu, Jun 17, 2010 at 4:50 PM, Brad Buran wrote: > I have a 1D array with >100k samples that I would like to reduce by > computing the min/max of each "chunk" of n samples. Right now, my > code is as follows: > > n = 100 > offset = array.size % downsample > array_min = array[offset:].reshape((-1, n)).min(-1) > array_max = array[offset:].reshape((-1, n)).max(-1) > > However, this appears to be running pretty slowly. The array is data > streamed in real-time from external hardware devices and I need to > downsample this and compute the min/max for plotting. I'd like to > speed this up so that I can plot updates to the data as quickly as new > data comes in. > > Are there recommendations for faster ways to perform the downsampling? > > Thanks, > Brad > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From robert.kern at gmail.com Sat Jun 19 16:43:47 2010 From: robert.kern at gmail.com (Robert Kern) Date: Sat, 19 Jun 2010 15:43:47 -0500 Subject: [Numpy-discussion] reduce array by computing min/max every n samples In-Reply-To: References: Message-ID: On Sat, Jun 19, 2010 at 15:37, Benjamin Root wrote: > On that note, would it be a bad idea to have a function that returns a > min/max tuple?? Performing two iterations to gather the min and the max > information versus a single iteration to gather both at the same time would > be useful. I have often wanted one. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From warren.weckesser at enthought.com Sat Jun 19 16:45:23 2010 From: warren.weckesser at enthought.com (Warren Weckesser) Date: Sat, 19 Jun 2010 15:45:23 -0500 Subject: [Numpy-discussion] reduce array by computing min/max every n samples In-Reply-To: References: Message-ID: <4C1D2C63.4030408@enthought.com> Benjamin Root wrote: > Brad, I think you are doing it the right way, but I think what is > happening is that the reshape() call on the sliced array is forcing a > copy to be made first. The fact that the copy has to be made twice > just worsens the issue. I would save a copy of the reshape result (it > is usually a view of the original data, unless a copy is forced), and > then perform a min/max call on that with the appropriate axis. > > On that note, would it be a bad idea to have a function that returns a > min/max tuple? +1. More than once I've wanted exactly such a function. Warren > Performing two iterations to gather the min and the max information > versus a single iteration to gather both at the same time would be > useful. I should note that there is a numpy.ptp() function that > returns the difference between the min and the max, but I don't see > anything that returns the actual values. > > Ben Root > > On Thu, Jun 17, 2010 at 4:50 PM, Brad Buran > wrote: > > I have a 1D array with >100k samples that I would like to reduce by > computing the min/max of each "chunk" of n samples. Right now, my > code is as follows: > > n = 100 > offset = array.size % downsample > array_min = array[offset:].reshape((-1, n)).min(-1) > array_max = array[offset:].reshape((-1, n)).max(-1) > > However, this appears to be running pretty slowly. The array is data > streamed in real-time from external hardware devices and I need to > downsample this and compute the min/max for plotting. I'd like to > speed this up so that I can plot updates to the data as quickly as new > data comes in. > > Are there recommendations for faster ways to perform the downsampling? > > Thanks, > Brad > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > ------------------------------------------------------------------------ > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From mishagreen at gmail.com Sat Jun 19 18:01:57 2010 From: mishagreen at gmail.com (Michael Green) Date: Sun, 20 Jun 2010 01:01:57 +0300 Subject: [Numpy-discussion] Building Numpy: could not read symbols Bad value error In-Reply-To: References: Message-ID: Well I used the instructions found here I started by building lapack and it built successfully. I then proceeded with ATLAS using the following configure line (that does contain -fPIC): ../configure -Fa alg -fPIC -Ss flapack /usr/local/src/lapack-3.1.1/lapack_LINUX.a and then make cd lib make shared I'm getting [root at localhost lib]# make shared rm -f libatlas.so liblapack.so make libatlas.so libf77blas.so libcblas.so liblapack.so make[1]: Entering directory `/usr/local/src/ATLAS/ATLAS_LINUX/lib' ld -melf_x86_64 -shared -soname /usr/local/atlas/lib/libatlas.so -o libatlas.so \ -rpath-link /usr/local/atlas/lib \ --whole-archive libatlas.a --no-whole-archive -lc -lm ld: libatlas.a(ATL_dger2k__2.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC libatlas.a(ATL_dger2k__2.o): could not read symbols: Bad value make[1]: *** [libatlas.so] Error 1 make[1]: Leaving directory `/usr/local/src/ATLAS/ATLAS_LINUX/lib' make: *** [shared] Error 2 This error looks similar to the one I've been getting with numpy. Please help. -- Warm regards, Michael Green On Thu, Jun 17, 2010 at 1:32 AM, Robert Kern wrote: > On Wed, Jun 16, 2010 at 17:29, Michael Green wrote: >> Bright minds, >> >> I'm trying to build Numpy v1.4.1 from source on CentOS 5.2 x64 and >> running into errors. It seems to be linking error. Regrettably, I >> don't posses the necessary skill to decipher the error. So your help >> will be invaluable. >> >> I configured (and then successfully built) ATLAS with the following >> configure line: >> ../configure --with-netlib-lapack-tarfile=/usr/local/src/Python/numpy/lapack.tgz >> -D c -DPentiumCPS=2666 --prefix=/usr/local/atlas-3.9.25 -b 64 -Fa alg >> '-fPIC' >> >> >> Now, building the Numpy (using gfortran) fails with: >> /usr/bin/gfortran -Wall -Wall -shared >> build/temp.linux-x86_64-2.6/numpy/linalg/lapack_litemodule.o >> build/temp.linux-x86_64-2.6/numpy/linalg/python_xerbla.o >> -L/usr/local/lib -Lbuild/temp.linux-x86_64-2.6 -llapack -lptf77blas >> -lptcblas -latlas -lgfortran -o >> build/lib.linux-x86_64-2.6/numpy/linalg/lapack_lite.so >> /usr/bin/ld: /usr/local/lib/libatlas.a(.o::ATL_dger2k(void)): >> relocation R_X86_64_32 against `a local symbol' can not be used when >> making a shared object; recompile with -fPIC >> /usr/local/lib/libatlas.a: could not read symbols: Bad value >> collect2: ld returned 1 exit status > > This means that your ATLAS library was compiled without the > appropriate flags for inclusion in a shared library like an extension > module. Consult the ATLAS installation instructions for how to compile > it as relocatable code using the -fPIC flag. > > -- > Robert Kern > From charlesr.harris at gmail.com Sat Jun 19 18:19:33 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Sat, 19 Jun 2010 16:19:33 -0600 Subject: [Numpy-discussion] Building Numpy: could not read symbols Bad value error In-Reply-To: References: Message-ID: On Sat, Jun 19, 2010 at 4:01 PM, Michael Green wrote: > Well I used the instructions found here > < > http://www.scipy.org/Installing_SciPy/Linux#head-eecf834fad12bf7a625752528547588a93f8263c > > > > I started by building lapack and it built successfully. > > I then proceeded with ATLAS using the following configure line (that > does contain -fPIC): > ../configure -Fa alg -fPIC -Ss flapack > /usr/local/src/lapack-3.1.1/lapack_LINUX.a > > and then > make > cd lib > make shared > > I'm getting > [root at localhost lib]# make shared > rm -f libatlas.so liblapack.so > make libatlas.so libf77blas.so libcblas.so liblapack.so > make[1]: Entering directory `/usr/local/src/ATLAS/ATLAS_LINUX/lib' > ld -melf_x86_64 -shared -soname /usr/local/atlas/lib/libatlas.so -o > libatlas.so \ > -rpath-link /usr/local/atlas/lib \ > --whole-archive libatlas.a --no-whole-archive -lc -lm > ld: libatlas.a(ATL_dger2k__2.o): relocation R_X86_64_32 against `a > local symbol' can not be used when making a shared object; recompile > with -fPIC > libatlas.a(ATL_dger2k__2.o): could not read symbols: Bad value > make[1]: *** [libatlas.so] Error 1 > make[1]: Leaving directory `/usr/local/src/ATLAS/ATLAS_LINUX/lib' > make: *** [shared] Error 2 > > This error looks similar to the one I've been getting with numpy. > Please help. > > Have you checked the actual configuration that was used to compile lapack, *not* the command line flags. I never had with success with the automatic builds using the compressed files. Also check the actual installed libraries Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From bradford.n.cross at gmail.com Sat Jun 19 20:47:31 2010 From: bradford.n.cross at gmail.com (Bradford Cross) Date: Sat, 19 Jun 2010 17:47:31 -0700 (PDT) Subject: [Numpy-discussion] Bradford Cross wants to stay in touch on LinkedIn Message-ID: <998345687.2466185.1276994851366.JavaMail.app@ech3-cdn10.prod> LinkedIn ------------Bradford Cross requested to add you as a connection on LinkedIn: ------------------------------------------ Mike, I'd like to add you to my professional network on LinkedIn. - Bradford Cross Accept invitation from Bradford Cross http://www.linkedin.com/e/QUQsB3LtSZ2GEKV2lSDM9GQaSZzHf14aD5FkspoJ/blk/I2135683243_2/1BpC5vrmRLoRZcjkkZt5YCpnlOt3RApnhMpmdzgmhxrSNBszYOnPcQczcUdzkPcj99bScNuklUr7hebP8OdjwPd3AVcP4LrCBxbOYWrSlI/EML_comm_afe/ View invitation from Bradford Cross http://www.linkedin.com/e/QUQsB3LtSZ2GEKV2lSDM9GQaSZzHf14aD5FkspoJ/blk/I2135683243_2/39vcPgOcPwSdjcNcAALqnpPbOYWrSlI/svi/ ------------------------------------------ DID YOU KNOW you can use your LinkedIn profile as your website? Select a vanity URL and then promote this address on your business cards, email signatures, website, etc http://www.linkedin.com/e/ewp/inv-21/ ------ (c) 2010, LinkedIn Corporation -------------- next part -------------- An HTML attachment was scrubbed... URL: From thdurrant at gmail.com Sun Jun 20 04:24:42 2010 From: thdurrant at gmail.com (Tom Durrant) Date: Sun, 20 Jun 2010 18:24:42 +1000 Subject: [Numpy-discussion] 2d binning and linear regression Message-ID: Hi All, I have a problem involving lat/lon data. Basically, I am evaluating numerical weather model data against satellite data, and trying to produce gridded plots of various statistics. There are various steps involved with this, but basically, I get to the point where I have four arrays of the same length, containing lat, lon, model and observed values respectively along the path of the sattelite. eg: lat = [ 50.32 50.78 51.24 51.82 52.55 53.15 53.75 54.28 54.79 55.16 ... ] lon = [ 192.83 193.38 193.94 194.67 195.65 196.49 197.35 198.15 198.94 199.53 ... ] obs = [ 1.42 1.35 1.55 1.50 1.59 1.76 2.15 1.90 1.55 0.73 ... ] model = [ 1.67 1.68 1.70 1.79 2.04 2.36 2.53 2.38 2.149 1.57 ... ] I then want to calculate statistics based on bins of say 2 X 2 degree boxes. These arrays are very large, on the order of 10^6. For ease of explanation, I will focus initially on bias. My first approach was to use loops through lat/lon boxes and use np.where statements to extract all the values of the model and observations within the given box, and calculate the bias as the mean of the difference. This was obviously very slow. histogram2d provided a FAR better way to do this. i.e. import numpy as np latedges=np.arange(-90,90,2) lonedges=np.arange(0,360,2) diff = model-obs grid_N, xedges, yedges = np.histogram2d(lat, lon], bins=(latedges,lonedges)) grid_bias_sum, xedges, yedges = np.histogram2d(lat, lon, weights=diff, bins=(latedges,lonedges)) grid_bias = grid_bias_sum/grid_N I now want to determine the the linear regression coefficients for each each box after fitting a least squares linear regression to the data in each bin. I have been looking at using np.digitize to extract the bin indeces, but haven't had much success trying to do this in two dimensions. I am back to looping through the lat and lon box values, using np.where to extract the observations and model data within that box, and using np.polyfit to obtain the regression coefficients. This is, of course, very slow. Can anyone advise a smarter, vectorized way to do this? Any thoughts would be greatly appreciated. Thanks in advance Tom -------------- next part -------------- An HTML attachment was scrubbed... URL: From josef.pktd at gmail.com Sun Jun 20 08:46:39 2010 From: josef.pktd at gmail.com (josef.pktd at gmail.com) Date: Sun, 20 Jun 2010 08:46:39 -0400 Subject: [Numpy-discussion] 2d binning and linear regression In-Reply-To: References: Message-ID: On Sun, Jun 20, 2010 at 4:24 AM, Tom Durrant wrote: > Hi All, > I have a problem involving lat/lon data. ?Basically, I am evaluating > numerical weather model data against satellite data, and trying to produce > gridded plots of various statistics. ?There are various steps involved with > this, but basically, I get to the point where I have four arrays of the same > length, containing lat, lon, model and observed values respectively along > the path of the sattelite. > eg: > lat ? ? ? = ?[ ? 50.32 ? 50.78 ? ?51.24 ? ?51.82 ? 52.55 ? ?53.15 ? ?53.75 > ?54.28 ? 54.79 ? 55.16 ?... ] > lon ? ? ?= ?[ 192.83 ?193.38 ?193.94 ?194.67 ?195.65 ?196.49 ?197.35 ?198.15 > ?198.94?199.53 ?... ] > obs ? ? = ?[ ? ?1.42 ? ? ?1.35 ? ? ?1.55 ? ? 1.50 ? ? ?1.59 ? ? 1.76 > 2.15 ? ? ? 1.90 ? ? 1.55 ? ?0.73 ?... ] > model ?= [ ? ? 1.67 ? ? ?1.68 ? ? 1.70 ? ? ?1.79 ? ? 2.04 ? ? 2.36 ? ? ?2.53 > ? ? ?2.38 ? ? ?2.149 ? 1.57 ... ] > I then want to calculate statistics based on bins of say 2 X 2 degree boxes. > These arrays are very large, on the order of 10^6.?For ease of explanation, > I will focus initially on bias. > My first approach was to use loops through lat/lon boxes and use np.where > statements to extract all the values of the model and observations within > the given box, and calculate the bias as the mean of the difference. ?This > was obviously very slow. > histogram2d provided a FAR better way to do this. ?i.e. > > import numpy as np > latedges=np.arange(-90,90,2) > lonedges=np.arange(0,360,2) > diff = model-obs > grid_N, xedges, yedges = np.histogram2d(lat, lon], > ?? ? ? ? ? ? ? ?bins=(latedges,lonedges)) > grid_bias_sum, xedges, yedges = np.histogram2d(lat, lon, weights=diff, > ?? ? ? ? ? ? ? ?bins=(latedges,lonedges)) > grid_bias = grid_bias_sum/grid_N > > I now want to determine the the linear regression coefficients for each each > box after fitting a least squares linear regression to the data in each bin. > ?I have been looking at using np.digitize to extract the bin indeces, but > haven't had much success trying to do this in two dimensions. ?I am back to > looping through the lat and lon box values, using np.where to extract the > observations and model data within that box, and using np.polyfit to obtain > the regression coefficients. ?This is, of course, very slow. > Can anyone advise a smarter, vectorized way to do this? ?Any thoughts would > be greatly appreciated. For a general linear regression problem, there wouldn't be much that I can see that can be done. If there are many small regression problem, then sometimes stacking them into one big sparse least squares problem can be faster, it's faster to solve but not always faster to create in the first place. are you doing something like np.polyfit(model, obs, 1) ? If you are using polyfit with deg=1, i.e. fitting a straight line, then this could be also calculated using the weights in histogram2d. histogram2d (histogramdd) uses np.digitize and np.bincount, so I'm surprised if the histogram2d version is much faster. If a quick reading of histogramdd is correct, the main improvement would be to get the labels "xy" out of it, so it can be used repeatedly with np.bincount. Josef > Thanks in advance > Tom > > > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > From tsyu80 at gmail.com Sun Jun 20 13:56:48 2010 From: tsyu80 at gmail.com (Tony S Yu) Date: Sun, 20 Jun 2010 13:56:48 -0400 Subject: [Numpy-discussion] Multiplying numpy floats and python lists Message-ID: <0235DA4D-7FEF-4EDA-BF29-CC1CA8ECF4D2@gmail.com> I came across some strange behavior when multiplying numpy floats and python lists: the list is returned unchanged: > In [18]: np.float64(1.2) * [1, 2] > > Out[18]: [1, 2] On the other hand, multiplying an array scalar and a python list gives the expected answer > In [19]: np.array(1.2) * [1, 2] > > Out[19]: array([ 1.2, 2.4]) Finally, multiplying a python float and a python list gives an error: > In [20]: 1.2 * [1, 2] > --------------------------------------------------------------------------- > TypeError Traceback (most recent call last) > > /Users/Tony/ in () > > TypeError: can't multiply sequence by non-int of type 'float' These last two results (with the array scalar and the python float) both seem appropriate, but the numpy-float behavior is surprising. Is this a bug? -Tony From warren.weckesser at enthought.com Sun Jun 20 14:12:42 2010 From: warren.weckesser at enthought.com (Warren Weckesser) Date: Sun, 20 Jun 2010 13:12:42 -0500 Subject: [Numpy-discussion] Multiplying numpy floats and python lists In-Reply-To: <0235DA4D-7FEF-4EDA-BF29-CC1CA8ECF4D2@gmail.com> References: <0235DA4D-7FEF-4EDA-BF29-CC1CA8ECF4D2@gmail.com> Message-ID: <4C1E5A1A.9040802@enthought.com> Tony S Yu wrote: > I came across some strange behavior when multiplying numpy floats and python lists: the list is returned unchanged: > > >> In [18]: np.float64(1.2) * [1, 2] >> >> Out[18]: [1, 2] >> > > Apparently the np.float64 object is cast to an int, and python's * is used: In [7]: np.float64(2.5) * [1,2] Out[7]: [1, 2, 1, 2] In [8]: np.float64(3.8) * [1,2] Out[8]: [1, 2, 1, 2, 1, 2] Warren > On the other hand, multiplying an array scalar and a python list gives the expected answer > > >> In [19]: np.array(1.2) * [1, 2] >> >> Out[19]: array([ 1.2, 2.4]) >> > > Finally, multiplying a python float and a python list gives an error: > > >> In [20]: 1.2 * [1, 2] >> --------------------------------------------------------------------------- >> TypeError Traceback (most recent call last) >> >> /Users/Tony/ in () >> >> TypeError: can't multiply sequence by non-int of type 'float' >> > > These last two results (with the array scalar and the python float) both seem appropriate, but the numpy-float behavior is surprising. Is this a bug? > > -Tony > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From pav at iki.fi Sun Jun 20 14:28:53 2010 From: pav at iki.fi (Pauli Virtanen) Date: Sun, 20 Jun 2010 20:28:53 +0200 Subject: [Numpy-discussion] Multiplying numpy floats and python lists In-Reply-To: <0235DA4D-7FEF-4EDA-BF29-CC1CA8ECF4D2@gmail.com> References: <0235DA4D-7FEF-4EDA-BF29-CC1CA8ECF4D2@gmail.com> Message-ID: <1277058533.2110.32.camel@talisman> su, 2010-06-20 kello 13:56 -0400, Tony S Yu kirjoitti: > I came across some strange behavior when multiplying numpy floats and > python lists: the list is returned unchanged: > > > In [18]: np.float64(1.2) * [1, 2] > > > > Out[18]: [1, 2] Probably a bug, it seems to round the result first to an integer, and then do the usual Python thing (try for example np.float64(2.2)). I'd suggest filing a bug ticket. Looking at CPython source code, the issue seems to be that np.float64 for some reason passes PyIndex_Check. But (without whipping out gdb) I can't understand how this can be: the float64 scalar type is not supposed to have a non-NULL in the nb_index slot. Indeed, a np.float64.__index__ method does not exist, and the following indeed does not work: [1, 2, 3][np.float64(2.2)] Strange. -- Pauli Virtanen From pav at iki.fi Sun Jun 20 14:57:21 2010 From: pav at iki.fi (Pauli Virtanen) Date: Sun, 20 Jun 2010 18:57:21 +0000 (UTC) Subject: [Numpy-discussion] needs_info status in Trac Message-ID: Hi, We have currently a number of open tickets that are stalled primarily because a developer is not able to reproduce the bug, and more input would be needed from the original reporter (or someone else with the same problem). Stealing ideas from Launchpad, I added a new `needs_info` ticket status to our Trac systems, primarily for tickets in this state. Please make best use of it (or have your say if you think it's not useful, in which case we can back it out). -- Pauli Virtanen From ben.root at ou.edu Sun Jun 20 16:43:51 2010 From: ben.root at ou.edu (Benjamin Root) Date: Sun, 20 Jun 2010 15:43:51 -0500 Subject: [Numpy-discussion] _wrapit bug? Message-ID: Hi, I was just digging through the fromnumeric.py code when I noticed that the function _wrapit used asarray() rather than asanyarray(). I don't know if this function really gets used anymore (as it gets called in special situations), but would seem to be an issue as it would cause arrays such as masked_array to lose its type. For example, if _wrapit was called for a max() function on a masked array, the max returned would be for the ndarray's max, not the masked_array's max. Let me know if this is a non-issue, I just thought I ought to point it out. Thanks, Ben Root -------------- next part -------------- An HTML attachment was scrubbed... URL: From tsyu80 at gmail.com Sun Jun 20 17:13:00 2010 From: tsyu80 at gmail.com (Tony S Yu) Date: Sun, 20 Jun 2010 17:13:00 -0400 Subject: [Numpy-discussion] Multiplying numpy floats and python lists In-Reply-To: <1277058533.2110.32.camel@talisman> References: <0235DA4D-7FEF-4EDA-BF29-CC1CA8ECF4D2@gmail.com> <1277058533.2110.32.camel@talisman> Message-ID: <0277A648-B7E3-4748-B8CA-13B80524DA1A@gmail.com> On Jun 20, 2010, at 2:28 PM, Pauli Virtanen wrote: > su, 2010-06-20 kello 13:56 -0400, Tony S Yu kirjoitti: >> I came across some strange behavior when multiplying numpy floats and >> python lists: the list is returned unchanged: >> >>> In [18]: np.float64(1.2) * [1, 2] >>> >>> Out[18]: [1, 2] > > Probably a bug, it seems to round the result first to an integer, and > then do the usual Python thing (try for example np.float64(2.2)). > > I'd suggest filing a bug ticket. Done: http://projects.scipy.org/numpy/ticket/1516 > > Looking at CPython source code, the issue seems to be that np.float64 > for some reason passes PyIndex_Check. > > But (without whipping out gdb) I can't understand how this can be: the > float64 scalar type is not supposed to have a non-NULL in the nb_index > slot. Indeed, a np.float64.__index__ method does not exist, and the > following indeed does not work: > > [1, 2, 3][np.float64(2.2)] > > Strange. > > -- > Pauli Virtanen > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion From mishagreen at gmail.com Sun Jun 20 17:30:04 2010 From: mishagreen at gmail.com (Michael Green) Date: Mon, 21 Jun 2010 00:30:04 +0300 Subject: [Numpy-discussion] Building Numpy: could not read symbols Bad value error In-Reply-To: References: Message-ID: On Sun, Jun 20, 2010 at 1:19 AM, Charles R Harris wrote: > > Have you checked the actual configuration that was used to compile lapack, > *not* the command line flags. I never had with success with the automatic > builds using the compressed files. Also check the actual installed libraries > > Yeah, the make.inc does have the -fPIC option: FORTRAN = gfortran OPTS = -O2 -fPIC DRVOPTS = $(OPTS) NOOPT = -O0 -fPIC LOADER = gfortran LOADOPTS = And of course I see that -fPIC is actually being used: ... gfortran -O2 -fPIC -c zsysvx.f -o zsysvx.o gfortran -O2 -fPIC -c zsytf2.f -o zsytf2.o gfortran -O2 -fPIC -c zsytrf.f -o zsytrf.o ... -- Warm regards, Michael Green From crleblanc at gmail.com Sun Jun 20 18:40:43 2010 From: crleblanc at gmail.com (Chris LeBlanc) Date: Mon, 21 Jun 2010 10:40:43 +1200 Subject: [Numpy-discussion] Compiling NumPy on 64 bit Solaris 10 sparc) In-Reply-To: References: Message-ID: Hi Ralf, Thanks for the information. I'll have a look at it, and see if it solves the issue. Cheers, Chris On 18 June 2010 01:53, Ralf Gommers wrote: > > > On Tue, Jun 15, 2010 at 11:06 AM, Chris LeBlanc wrote: >> >> Hi, >> >> Firstly thanks to everyone that has helped bring NumPy to the point it >> is today. ?Its an excellent bit of software. >> >> I've recently managed to get NumPy to compile on a 64 bit Solaris 10 >> (sparc) machine. ?We've embedded 64 bit Python in some of our C code >> using the Python C-API, and therefore require a 64 bit version of >> NumPy. >> >> I had to use a bit of a hack to get NumPy to compile in 64 bit mode, >> and I'm just wondering if there's a more elegant way of doing it? >> >> If I set CFLAGS to "-m64 -xcode=pic32", and CC to "/usr/bin/cc", it >> will raise the following error: >> >> ... snipped most of backtrace ... >> ?File "/home/leblanc/source/numpy/numpy/distutils/command/build_src.py", >> line 385, in generate_sources >> ? ?source = func(extension, build_dir) >> ?File "numpy/core/setup.py", line 675, in get_mathlib_info >> ? ?raise RuntimeError("Broken toolchain: cannot link a simple C program") >> >> However, if I create a wrapper script and set CC to the path of the >> wrapper, then it will build normally and create a NumPy module I can >> use from the 64 bit version of Python installed on the system >> (/usr/bin/sparcv9/python). ?Here's the wrapper: >> >> #!/bin/sh >> /usr/bin/cc -m64 -xcode=pic32 $* >> >> I did a bit of googling and couldn't find much information on this >> issue (which is why I wanted to post this message, so others could >> find it). ?I'm satisfied with the results, but wondering if there's a >> better way to do it. >> > It's because CFLAGS does not append to but overrides flags. Your wrapper > script manages to append flags. > > Does the patch in http://projects.scipy.org/numpy/ticket/1382 work for you? > If so it can be applied I think. > > Cheers, > Ralf > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > From bevan07 at gmail.com Sun Jun 20 19:28:17 2010 From: bevan07 at gmail.com (Bevan Jenkins) Date: Sun, 20 Jun 2010 23:28:17 +0000 (UTC) Subject: [Numpy-discussion] timeseries - dates prior to 1970 References: Message-ID: Pierre GM gmail.com> writes: > > On Jun 10, 2010, at 7:16 PM, Bevan Jenkins wrote: > > Hello, > > > > I have posted previously about dates prior to 1900 but this seems to be a > > seperate issue. The error message is definitley different. > > I can not seem to convert a timseseries from one frequency ('D') to another > > ('H') when i use dates prior to 1970 as shown below. This works fine when I > > use a date after 1970. Is this something that can be easily fixed or work > > around that I can use? Thanks > > I've started a git branch (http://github.com/pierregm/scikits.timeseries- sandbox) to test some > changes on scikits.timeseries, in particular improved support of high- frequency dates before the unix > epoch. Please give it a try, let me know how it goes. If all's fine, I'll port the changes to the SVN site > (which until further notice remains the official source for the scikits). > I downloaded the git branch, I had to use the Download pierregm/scikits.timeseries-sandbox at master via a zip file as I have not managed to get Git to work at Uni yet. After deleting the old scikit I built and installed the new version but I am still getting the same error. I notoiced you had some new tests to dealing with high- freq dates before the unix epoch. When i run ts.test() i get Ran 0 tests in 0.000s OK So I imagine I am doing something incorrectly. From pgmdevlist at gmail.com Sun Jun 20 19:43:09 2010 From: pgmdevlist at gmail.com (Pierre GM) Date: Sun, 20 Jun 2010 19:43:09 -0400 Subject: [Numpy-discussion] timeseries - dates prior to 1970 In-Reply-To: References: Message-ID: On Jun 20, 2010, at 7:28 PM, Bevan Jenkins wrote: > > I downloaded the git branch, I had to use the Download > pierregm/scikits.timeseries-sandbox at master via a zip file as I have not > managed to get Git to work at Uni yet. > After deleting the old scikit I built and installed the new version but I am > still getting the same error. Note that it's a work in progress. I'll let you know when the problem you experienced is fixed. > I notoiced you had some new tests to dealing with high- freq dates before the > unix epoch. When i run > ts.test() i get > Ran 0 tests in 0.000s > > OK > > So I imagine I am doing something incorrectly. Not necessarily. It works on my side (but I install using python setup.py develop...), I'll try and see where it goes wrong. From david at silveregg.co.jp Sun Jun 20 21:33:58 2010 From: david at silveregg.co.jp (David) Date: Mon, 21 Jun 2010 10:33:58 +0900 Subject: [Numpy-discussion] Building Numpy: could not read symbols Bad value error In-Reply-To: References: Message-ID: <4C1EC186.2060606@silveregg.co.jp> On 06/21/2010 06:30 AM, Michael Green wrote: > On Sun, Jun 20, 2010 at 1:19 AM, Charles R Harris > wrote: >> >> Have you checked the actual configuration that was used to compile lapack, >> *not* the command line flags. I never had with success with the automatic >> builds using the compressed files. Also check the actual installed libraries >> >> > > Yeah, the make.inc does have the -fPIC option: > > FORTRAN = gfortran > OPTS = -O2 -fPIC > DRVOPTS = $(OPTS) > NOOPT = -O0 -fPIC > LOADER = gfortran > LOADOPTS = > > And of course I see that -fPIC is actually being used: > ... > gfortran -O2 -fPIC -c zsysvx.f -o zsysvx.o > gfortran -O2 -fPIC -c zsytf2.f -o zsytf2.o > gfortran -O2 -fPIC -c zsytrf.f -o zsytrf.o Can you check it is actually used for the file which causes the link failure (in atlas) ? David From thdurrant at gmail.com Sun Jun 20 22:57:45 2010 From: thdurrant at gmail.com (Tom Durrant) Date: Mon, 21 Jun 2010 02:57:45 +0000 (UTC) Subject: [Numpy-discussion] 2d binning and linear regression References: Message-ID: > > are you doing something like np.polyfit(model, obs, 1) ? > > If you are using polyfit with deg=1, i.e. fitting a straight line, > then this could be also calculated using the weights in histogram2d. > > histogram2d (histogramdd) uses np.digitize and np.bincount, so I'm > surprised if the histogram2d version is much faster. If a quick > reading of histogramdd is correct, the main improvement would be to > get the labels "xy" out of it, so it can be used repeatedly with > np.bincount. > > Josef > Thanks Josef, >From my limited understanding, you are right the histogram is much faster due to the fact that it doesn't have to keep reading in the array over and over.... I am using np.polyfit(model, obs, 1). I couldn't work out a way to do these regression using histogram2d and weights, but you think it can be done? This would be great! Cheers Tom From neilcrighton at gmail.com Mon Jun 21 04:40:09 2010 From: neilcrighton at gmail.com (Neil Crighton) Date: Mon, 21 Jun 2010 08:40:09 +0000 (UTC) Subject: [Numpy-discussion] reduce array by computing min/max every n samples References: <4C1D2C63.4030408@enthought.com> Message-ID: Warren Weckesser enthought.com> writes: > > Benjamin Root wrote: > > Brad, I think you are doing it the right way, but I think what is > > happening is that the reshape() call on the sliced array is forcing a > > copy to be made first. The fact that the copy has to be made twice > > just worsens the issue. I would save a copy of the reshape result (it > > is usually a view of the original data, unless a copy is forced), and > > then perform a min/max call on that with the appropriate axis. > > > > On that note, would it be a bad idea to have a function that returns a > > min/max tuple? > > +1. More than once I've wanted exactly such a function. > I also think this would be useful. For what it's worth, IDL also has a function called minmax() that does this (e.g. http://astro.uni-tuebingen.de/software/idl/astrolib/misc/minmax.html) Neil From seb.haase at gmail.com Mon Jun 21 06:15:57 2010 From: seb.haase at gmail.com (Sebastian Haase) Date: Mon, 21 Jun 2010 12:15:57 +0200 Subject: [Numpy-discussion] reduce array by computing min/max every n samples In-Reply-To: References: <4C1D2C63.4030408@enthought.com> Message-ID: On Mon, Jun 21, 2010 at 10:40 AM, Neil Crighton wrote: > Warren Weckesser enthought.com> writes: > >> >> Benjamin Root wrote: >> > Brad, I think you are doing it the right way, but I think what is >> > happening is that the reshape() call on the sliced array is forcing a >> > copy to be made first. ?The fact that the copy has to be made twice >> > just worsens the issue. ?I would save a copy of the reshape result (it >> > is usually a view of the original data, unless a copy is forced), and >> > then perform a min/max call on that with the appropriate axis. >> > >> > On that note, would it be a bad idea to have a function that returns a >> > min/max tuple? >> >> +1. ?More than once I've wanted exactly such a function. >> > > I also think this would be useful. For what it's worth, IDL also has a function > called minmax() that does this (e.g. > http://astro.uni-tuebingen.de/software/idl/astrolib/misc/minmax.html) > My most favorite function I wrote many years ago using SWIG, I call mmms(arr) which returns a min,max,mean,std.dev tuple. (Of course it only works for contiguous C arrays, but it does support most scalar dtypes via SWIG-templating) Just my 2 cents. - Sebastian Haase From pgmdevlist at gmail.com Mon Jun 21 07:19:02 2010 From: pgmdevlist at gmail.com (Pierre GM) Date: Mon, 21 Jun 2010 07:19:02 -0400 Subject: [Numpy-discussion] timeseries, the sandbox (was timeseries - dates prior to 1970) In-Reply-To: References: Message-ID: <4059B229-3606-4762-BA32-E947E95A9B23@gmail.com> On Jun 20, 2010, at 7:43 PM, Pierre GM wrote: > On Jun 20, 2010, at 7:28 PM, Bevan Jenkins wrote: >> >> I downloaded the git branch, http://github.com/pierregm/scikits.timeseries-sandbox >> I had to use the Download >> pierregm/scikits.timeseries-sandbox at master via a zip file as I have not >> managed to get Git to work at Uni yet. >> After deleting the old scikit I built and installed the new version but I am >> still getting the same error. > > Note that it's a work in progress. I'll let you know when the problem you experienced is fixed. I just pushed the weekend's changes, including a fix for your problem. Now it should be possible to define an array of dates w/ a timestep different from 1: >>> date_array(start_date=Date("T", "2010-06-21 00:00"), length=4, timestep=15) DateArray([21-Jun-2010 00:00, 21-Jun-2010 00:15, 21-Jun-2010 00:30, 21-Jun-2010 00:45], freq='T') Feedback is essential at this point... >> I notoiced you had some new tests to dealing with high- freq dates before the >> unix epoch. When i run >> ts.test() i get >> Ran 0 tests in 0.000s >> >> OK >> >> So I imagine I am doing something incorrectly. > > Not necessarily. It works on my side (but I install using python setup.py develop...), I'll try and see where it goes wrong. In the meantime, you can still run nosetests on the directory where you downloaded the sources... From josef.pktd at gmail.com Mon Jun 21 07:25:11 2010 From: josef.pktd at gmail.com (josef.pktd at gmail.com) Date: Mon, 21 Jun 2010 07:25:11 -0400 Subject: [Numpy-discussion] 2d binning and linear regression In-Reply-To: References: Message-ID: On Sun, Jun 20, 2010 at 10:57 PM, Tom Durrant wrote: > >> >> are you doing something like np.polyfit(model, obs, 1) ? >> >> If you are using polyfit with deg=1, i.e. fitting a straight line, >> then this could be also calculated using the weights in histogram2d. >> >> histogram2d (histogramdd) uses np.digitize and np.bincount, so I'm >> surprised if the histogram2d version is much faster. If a quick >> reading of histogramdd is correct, the main improvement would be to >> get the labels "xy" out of it, so it can be used repeatedly with >> np.bincount. >> >> Josef >> > Thanks Josef, > > >From my limited understanding, you are right the histogram is much faster due to > the fact that it doesn't have to keep reading in the array over and over.... > > I am using np.polyfit(model, obs, 1). ?I couldn't work out a way to do these > regression using histogram2d and weights, but you think it can be done? ?This > would be great! the basic idea is in "polyfit on multiple data points" on numpy-disscusion mailing list April 2009 In this case, calculations have to be done by groups subtract mean (this needs to be replaced by group demeaning) modeldm = model - model.mean() obsdm = obs - obs.mean() xx = np.histogram2d( xx, xedges, yedges = np.histogram2d(lat, lon, weights=modeldm*modeldm, bins=(latedges,lonedges)) xy, xedges, yedges = np.histogram2d(lat, lon, weights=obsdm*obsdm, bins=(latedges,lonedges)) slopes = xy/xx # slopes by group expand slopes to length of original array predicted = model - obs * slopes_expanded ... the main point is to get the group functions, for demeaning, ... for the 2d labels (and get the labels out of histogramdd) I'm out of time (off to the airport soon), but I can look into it next weekend. Josef > Cheers > Tom > > > > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From bsouthey at gmail.com Mon Jun 21 10:38:08 2010 From: bsouthey at gmail.com (Bruce Southey) Date: Mon, 21 Jun 2010 09:38:08 -0500 Subject: [Numpy-discussion] 2d binning and linear regression In-Reply-To: References: Message-ID: <4C1F7950.30103@gmail.com> On 06/20/2010 03:24 AM, Tom Durrant wrote: > Hi All, > > I have a problem involving lat/lon data. Basically, I am evaluating > numerical weather model data against satellite data, and trying to > produce gridded plots of various statistics. There are various steps > involved with this, but basically, I get to the point where I have > four arrays of the same length, containing lat, lon, model and > observed values respectively along the path of the sattelite. > > eg: > > lat = [ 50.32 50.78 51.24 51.82 52.55 53.15 > 53.75 54.28 54.79 55.16 ... ] > lon = [ 192.83 193.38 193.94 194.67 195.65 196.49 197.35 > 198.15 198.94 199.53 ... ] > obs = [ 1.42 1.35 1.55 1.50 1.59 1.76 > 2.15 1.90 1.55 0.73 ... ] > model = [ 1.67 1.68 1.70 1.79 2.04 2.36 > 2.53 2.38 2.149 1.57 ... ] > > I then want to calculate statistics based on bins of say 2 X 2 degree > boxes. These arrays are very large, on the order of 10^6. For ease of > explanation, I will focus initially on bias. > > My first approach was to use loops through lat/lon boxes and use > np.where statements to extract all the values of the model and > observations within the given box, and calculate the bias as the mean > of the difference. This was obviously very slow. > > histogram2d provided a FAR better way to do this. i.e. > > > import numpy as np > > latedges=np.arange(-90,90,2) > lonedges=np.arange(0,360,2) > > diff = model-obs > grid_N, xedges, yedges = np.histogram2d(lat, lon], > bins=(latedges,lonedges)) > grid_bias_sum, xedges, yedges = np.histogram2d(lat, lon, weights=diff, > bins=(latedges,lonedges)) > grid_bias = grid_bias_sum/grid_N > > > I now want to determine the the linear regression coefficients for > each each box after fitting a least squares linear regression to the > data in each bin. I have been looking at using np.digitize to extract > the bin indeces, but haven't had much success trying to do this in two > dimensions. I am back to looping through the lat and lon box values, > using np.where to extract the observations and model data within that > box, and using np.polyfit to obtain the regression coefficients. This > is, of course, very slow. > > Can anyone advise a smarter, vectorized way to do this? Any thoughts > would be greatly appreciated. > > Thanks in advance > Tom > > > What exactly are trying to fit because it is rather bad practice to fit a model to some summarized data as you lose the uncertainty in the original data? If you define your boxes, you can loop through directly on each box and even fit the equation: model=mu +beta1*obs The extension is to fit the larger equation: model=mu + boxes + beta1*obs + beta2*obs*boxes where your boxes is a indicator or dummy variable for each box. Since you are only interested in the box by model term, you probably can use this type of model model=mu + boxes + beta2*obs*boxes However, these models assume that the residual variance is identical for all boxes. (That is solved by a mixed model approach.) Bruce From berthold.hoellmann at gl-group.com Mon Jun 21 10:59:44 2010 From: berthold.hoellmann at gl-group.com (Berthold Hoellmann) Date: Mon, 21 Jun 2010 16:59:44 +0200 Subject: [Numpy-discussion] checking for array type in C extension In-Reply-To: (Robert Kern's message of "Fri, 18 Jun 2010 10:35:48 -0500") References: <1276867615.2155.4.camel@talisman> Message-ID: Robert Kern writes: > np.intc Great, Thanks Berthold H?llmann -- Germanischer Lloyd AG Berthold H?llmann Project Engineer, CAE Development Brooktorkai 18 20457 Hamburg Germany Phone: +49(0)40 36149-7374 Fax: +49(0)40 36149-7320 e-mail: berthold.hoellmann at gl-group.com Internet: http://www.gl-group.com From bsouthey at gmail.com Mon Jun 21 12:39:05 2010 From: bsouthey at gmail.com (Bruce Southey) Date: Mon, 21 Jun 2010 11:39:05 -0500 Subject: [Numpy-discussion] reduce array by computing min/max every n samples In-Reply-To: References: Message-ID: On Thu, Jun 17, 2010 at 4:50 PM, Brad Buran wrote: > I have a 1D array with >100k samples that I would like to reduce by > computing the min/max of each "chunk" of n samples. ?Right now, my > code is as follows: > > n = 100 > offset = array.size % downsample > array_min = array[offset:].reshape((-1, n)).min(-1) > array_max = array[offset:].reshape((-1, n)).max(-1) > > However, this appears to be running pretty slowly. ?The array is data > streamed in real-time from external hardware devices and I need to > downsample this and compute the min/max for plotting. ?I'd like to > speed this up so that I can plot updates to the data as quickly as new > data comes in. > > Are there recommendations for faster ways to perform the downsampling? > > Thanks, > Brad > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > I am curious why you don't resize the original array from a 1-d array to a 2-d array? >>> a=np.arange(100) >>> b=a.reshape((a.shape[0]/5,5)) >>> b.min(axis=1) array([ 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]) >>> b.max(axis=1) array([ 4, 9, 14, 19, 24, 29, 34, 39, 44, 49, 54, 59, 64, 69, 74, 79, 84, 89, 94, 99]) Bruce From cosman.leo at gmail.com Mon Jun 21 12:32:37 2010 From: cosman.leo at gmail.com (Jun Liu) Date: Mon, 21 Jun 2010 16:32:37 +0000 (UTC) Subject: [Numpy-discussion] ppgplot 1.3 with numpy 1.3.0 Message-ID: follow http://www.dur.ac.uk/physics.astrolab/ppgplot.html, I installed pgplot with gfortran and ppgplot (ported to numpy), everything seems Ok. But when I tried a simple test, it raise an unplesent warning: DeprecationWarning: PyArray_As1D: use PyArray_AsCArray Here is my test code: import ppgplot import numpy as np x=np.arange(0,3,0.04) y = x**2 ppgplot.pgbeg() ppgplot.pgenv(0,4,0,10,0,0) ppgplot.pgline(x,y) ppgplot.pgend() ps: I use Ubuntu 10.04, and python 2.6.5 without numarray package installed. And ppgplot works well with Numeric 24.2 Could anyone help to fix this problem? From sransom at nrao.edu Mon Jun 21 12:56:04 2010 From: sransom at nrao.edu (Scott Ransom) Date: Mon, 21 Jun 2010 12:56:04 -0400 Subject: [Numpy-discussion] ppgplot 1.3 with numpy 1.3.0 In-Reply-To: References: Message-ID: <201006211256.05123.sransom@nrao.edu> I have an updated version of ppgplot.c as part of a larger astronomical package. You can get the ppgplot code here: http://github.com/scottransom/presto/tree/master/python/ppgplot_src/ Scott On Monday, June 21, 2010 12:32:37 pm Jun Liu wrote: > follow http://www.dur.ac.uk/physics.astrolab/ppgplot.html, I installed > pgplot with gfortran and ppgplot (ported to numpy), everything seems > Ok. But when I tried a simple test, it raise an unplesent warning: > DeprecationWarning: PyArray_As1D: use PyArray_AsCArray > Here is my test code: > > import ppgplot > import numpy as np > x=np.arange(0,3,0.04) > y = x**2 > ppgplot.pgbeg() > ppgplot.pgenv(0,4,0,10,0,0) > ppgplot.pgline(x,y) > ppgplot.pgend() > > ps: I use Ubuntu 10.04, and python 2.6.5 without numarray package > installed. And ppgplot works well with Numeric 24.2 > > Could anyone help to fix this problem? > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion -- Scott M. Ransom Address: NRAO Phone: (434) 296-0320 520 Edgemont Rd. email: sransom at nrao.edu Charlottesville, VA 22903 USA GPG Fingerprint: 06A9 9553 78BE 16DB 407B FFCA 9BFA B6FF FFD3 2989 From cosman.leo at gmail.com Mon Jun 21 13:14:05 2010 From: cosman.leo at gmail.com (Jun Liu) Date: Mon, 21 Jun 2010 17:14:05 +0000 (UTC) Subject: [Numpy-discussion] ppgplot 1.3 with numpy 1.3.0 References: <201006211256.05123.sransom@nrao.edu> Message-ID: Scott Ransom nrao.edu> writes: > > I have an updated version of ppgplot.c as part of a larger astronomical > package. You can get the ppgplot code here: > > http://github.com/scottransom/presto/tree/master/python/ppgplot_src/ > > Scott > Thank you very much. It really works! From morph at debian.org Mon Jun 21 14:03:44 2010 From: morph at debian.org (Sandro Tosi) Date: Mon, 21 Jun 2010 20:03:44 +0200 Subject: [Numpy-discussion] ImportError: /usr/lib/python2.6/dist-packages/numpy/core/multiarray.so: undefined symbol: NPY_COPY_PYOBJECT_PTR In-Reply-To: References: Message-ID: Hello David, thanks for your reply. On Sat, Jun 19, 2010 at 18:37, David Cournapeau wrote: > On Sat, Jun 19, 2010 at 11:13 PM, Sandro Tosi wrote: >> Hello, >> I'm upgrading the Debian package for Numpy to 1.4.1. >> >> Compilation goes well, but when I install the package for test and >> import numpy I got this traceback: > > Do you have numpy already installed ? yes, I have the 1.3.1 version (coming from Debian pkgs) installed. But do you mean at runtime or build-time. I built the package in a clean chroot where only the dependencies and numpy source tarball were present. > Because debian splits the numpy > package and installed the headers in /usr/include, which breaks the > build of pretty much every python extension out there (as it causes a > change in header inclusion). If you feel this is wrong, we can evaluate to provide a sane solution. AFAICS we do not split numpy packages (except for the debug extensions and the documentation), and yes, we do add headers to /usr/include/numpy : could you please explain why this is wrong? > The missing symbol is a macro defined in our public header, and is > relatively recent. yeah, the strange fact is that: $ grep NPY_COPY_PYOBJECT_PTR /usr/include/numpy/npy_cpu.h #define NPY_COPY_PYOBJECT_PTR(dst, src) (*((PyObject **)(dst)) = *((PyObject **)(src))) #define NPY_COPY_PYOBJECT_PTR(dst, src) \ #define NPY_COPY_PYOBJECT_PTR(dst, src) \ /me puzzled Thanks in advance for the help, -- Sandro Tosi (aka morph, morpheus, matrixhasu) My website: http://matrixhasu.altervista.org/ Me at Debian: http://wiki.debian.org/SandroTosi From ranavishal at gmail.com Mon Jun 21 14:40:39 2010 From: ranavishal at gmail.com (Vishal Rana) Date: Mon, 21 Jun 2010 11:40:39 -0700 Subject: [Numpy-discussion] Numpy save / load Message-ID: I have tried: x1=np.array([1,2,3,4]) x2=np.array(['a','dd','xyz','12']) x3=np.array([1.1,2,3,4]) r = np.core.records.fromarrays([x1,x2,x3],names='a,b,c' type(r) gives np.save('np.npy', r) r = np.load('np.npy') type(r) gives So my record is lost and converted to ndarray, any idea? Thanks Vishal Rana -------------- next part -------------- An HTML attachment was scrubbed... URL: From ben.root at ou.edu Mon Jun 21 14:44:11 2010 From: ben.root at ou.edu (Benjamin Root) Date: Mon, 21 Jun 2010 13:44:11 -0500 Subject: [Numpy-discussion] stacking record arrays Message-ID: Hello, I ran into a somewhat counter-intuitive situation that probably should be documented somewhere with respect to record (structured?) arrays. I wanted to stack multiple arrays together that had the same names for the columns. Since I was imagining the columns as having the names (as opposed to rows), I figured vstack() would do the job, but it merely created a sequence of record arrays. Turns out that I had to use hstack() to get what I wanted. Here is an example of what I am running into: >>> tracks[0] array([('M', 87.087318420410156, 223.30305480957031, 1), ('M', 76.440017700195312, 227.68635559082031, 2), ('M', 66.116767883300781, 233.32769775390625, 3), ('M', 53.614784240722656, 239.75303649902344, 4), ('M', 40.807880401611328, 245.34136962890625, 5), ('M', 28.479558944702148, 250.30470275878906, 6), ('S', 0.0, 0.0, -9)], dtype=[('types', '|S1'), ('xLocs', '>> tracks[1] array([('M', 184.38957214355469, 114.406494140625, 1), ('M', 197.28269958496094, 133.10012817382812, 2), ('M', 209.65650939941406, 151.74812316894531, 3), ('M', 223.28224182128906, 171.2159423828125, 4), ('M', 238.75798034667969, 190.44374084472656, 5), ('M', 254.47175598144531, 211.06010437011719, 6), ('S', 0.0, 0.0, -9)], dtype=[('types', '|S1'), ('xLocs', '>> np.vstack((tracks[0], tracks[1])) array([[('M', 87.087318420410156, 223.30305480957031, 1), ('M', 76.440017700195312, 227.68635559082031, 2), ('M', 66.116767883300781, 233.32769775390625, 3), ('M', 53.614784240722656, 239.75303649902344, 4), ('M', 40.807880401611328, 245.34136962890625, 5), ('M', 28.479558944702148, 250.30470275878906, 6), ('S', 0.0, 0.0, -9)], [('M', 184.38957214355469, 114.406494140625, 1), ('M', 197.28269958496094, 133.10012817382812, 2), ('M', 209.65650939941406, 151.74812316894531, 3), ('M', 223.28224182128906, 171.2159423828125, 4), ('M', 238.75798034667969, 190.44374084472656, 5), ('M', 254.47175598144531, 211.06010437011719, 6), ('S', 0.0, 0.0, -9)]], dtype=[('types', '|S1'), ('xLocs', '>> np.hstack((tracks[0], tracks[1])) array([('M', 87.087318420410156, 223.30305480957031, 1), ('M', 76.440017700195312, 227.68635559082031, 2), ('M', 66.116767883300781, 233.32769775390625, 3), ('M', 53.614784240722656, 239.75303649902344, 4), ('M', 40.807880401611328, 245.34136962890625, 5), ('M', 28.479558944702148, 250.30470275878906, 6), ('S', 0.0, 0.0, -9), ('M', 184.38957214355469, 114.406494140625, 1), ('M', 197.28269958496094, 133.10012817382812, 2), ('M', 209.65650939941406, 151.74812316894531, 3), ('M', 223.28224182128906, 171.2159423828125, 4), ('M', 238.75798034667969, 190.44374084472656, 5), ('M', 254.47175598144531, 211.06010437011719, 6), ('S', 0.0, 0.0, -9)], dtype=[('types', '|S1'), ('xLocs', ' From robert.kern at gmail.com Mon Jun 21 14:47:49 2010 From: robert.kern at gmail.com (Robert Kern) Date: Mon, 21 Jun 2010 13:47:49 -0500 Subject: [Numpy-discussion] Numpy save / load In-Reply-To: References: Message-ID: On Mon, Jun 21, 2010 at 13:40, Vishal Rana wrote: > I have tried: > x1=np.array([1,2,3,4]) > x2=np.array(['a','dd','xyz','12']) > x3=np.array([1.1,2,3,4]) > r = np.core.records.fromarrays([x1,x2,x3],names='a,b,c' Note, please do not reach down into numpy.core like this. Use numpy.core.records is exposed as numpy.rec. > type(r) gives > np.save('np.npy', r) > r = np.load('np.npy') > type(r) gives?? > So my record is lost and converted to ndarray, any idea? If you really need a recarray, then use r.view(numpy.rec.recarray). -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From ranavishal at gmail.com Mon Jun 21 14:52:07 2010 From: ranavishal at gmail.com (Vishal Rana) Date: Mon, 21 Jun 2010 11:52:07 -0700 Subject: [Numpy-discussion] Numpy save / load In-Reply-To: References: Message-ID: Thanks Robert On Mon, Jun 21, 2010 at 11:47 AM, Robert Kern wrote: > On Mon, Jun 21, 2010 at 13:40, Vishal Rana wrote: > > I have tried: > > x1=np.array([1,2,3,4]) > > x2=np.array(['a','dd','xyz','12']) > > x3=np.array([1.1,2,3,4]) > > r = np.core.records.fromarrays([x1,x2,x3],names='a,b,c' > > Note, please do not reach down into numpy.core like this. Use > numpy.core.records is exposed as numpy.rec. > > > type(r) gives > > np.save('np.npy', r) > > r = np.load('np.npy') > > type(r) gives > > So my record is lost and converted to ndarray, any idea? > > If you really need a recarray, then use r.view(numpy.rec.recarray). > > -- > Robert Kern > > "I have come to believe that the whole world is an enigma, a harmless > enigma that is made terrible by our own mad attempt to interpret it as > though it had an underlying truth." > -- Umberto Eco > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jsseabold at gmail.com Mon Jun 21 14:51:53 2010 From: jsseabold at gmail.com (Skipper Seabold) Date: Mon, 21 Jun 2010 14:51:53 -0400 Subject: [Numpy-discussion] stacking record arrays In-Reply-To: References: Message-ID: On Mon, Jun 21, 2010 at 2:44 PM, Benjamin Root wrote: > Hello, > > I ran into a somewhat counter-intuitive situation that probably should be > documented somewhere with respect to record (structured?) arrays.? I wanted > to stack multiple arrays together that had the same names for the columns. > Since I was imagining the columns as having the names (as opposed to rows), > I figured vstack() would do the job, but it merely created a sequence of > record arrays.? Turns out that I had to use hstack() to get what I wanted. > Here is an example of what I am running into: > >>>> tracks[0] > array([('M', 87.087318420410156, 223.30305480957031, 1), > ?????? ('M', 76.440017700195312, 227.68635559082031, 2), > ?????? ('M', 66.116767883300781, 233.32769775390625, 3), > ?????? ('M', 53.614784240722656, 239.75303649902344, 4), > ?????? ('M', 40.807880401611328, 245.34136962890625, 5), > ?????? ('M', 28.479558944702148, 250.30470275878906, 6), > ?????? ('S', 0.0, 0.0, -9)], > ????? dtype=[('types', '|S1'), ('xLocs', ' ('frameNums', ' >>>> tracks[1] > array([('M', 184.38957214355469, 114.406494140625, 1), > ?????? ('M', 197.28269958496094, 133.10012817382812, 2), > ?????? ('M', 209.65650939941406, 151.74812316894531, 3), > ?????? ('M', 223.28224182128906, 171.2159423828125, 4), > ?????? ('M', 238.75798034667969, 190.44374084472656, 5), > ?????? ('M', 254.47175598144531, 211.06010437011719, 6), > ?????? ('S', 0.0, 0.0, -9)], > ????? dtype=[('types', '|S1'), ('xLocs', ' ('frameNums', ' > >>>> np.vstack((tracks[0], tracks[1])) > array([[('M', 87.087318420410156, 223.30305480957031, 1), > ??????? ('M', 76.440017700195312, 227.68635559082031, 2), > ??????? ('M', 66.116767883300781, 233.32769775390625, 3), > ??????? ('M', 53.614784240722656, 239.75303649902344, 4), > ??????? ('M', 40.807880401611328, 245.34136962890625, 5), > ??????? ('M', 28.479558944702148, 250.30470275878906, 6), > ??????? ('S', 0.0, 0.0, -9)], > ?????? [('M', 184.38957214355469, 114.406494140625, 1), > ??????? ('M', 197.28269958496094, 133.10012817382812, 2), > ??????? ('M', 209.65650939941406, 151.74812316894531, 3), > ??????? ('M', 223.28224182128906, 171.2159423828125, 4), > ??????? ('M', 238.75798034667969, 190.44374084472656, 5), > ??????? ('M', 254.47175598144531, 211.06010437011719, 6), > ??????? ('S', 0.0, 0.0, -9)]], > ????? dtype=[('types', '|S1'), ('xLocs', ' ('frameNums', ' >>>> np.hstack((tracks[0], tracks[1])) > array([('M', 87.087318420410156, 223.30305480957031, 1), > ??????? ('M', 76.440017700195312, 227.68635559082031, 2), > ??????? ('M', 66.116767883300781, 233.32769775390625, 3), > ??????? ('M', 53.614784240722656, 239.75303649902344, 4), > ??????? ('M', 40.807880401611328, 245.34136962890625, 5), > ??????? ('M', 28.479558944702148, 250.30470275878906, 6), > ??????? ('S', 0.0, 0.0, -9), ('M', 184.38957214355469, 114.406494140625, 1), > ??????? ('M', 197.28269958496094, 133.10012817382812, 2), > ??????? ('M', 209.65650939941406, 151.74812316894531, 3), > ??????? ('M', 223.28224182128906, 171.2159423828125, 4), > ??????? ('M', 238.75798034667969, 190.44374084472656, 5), > ??????? ('M', 254.47175598144531, 211.06010437011719, 6), > ??????? ('S', 0.0, 0.0, -9)], > ????? dtype=[('types', '|S1'), ('xLocs', ' ('frameNums', ' > By the way, both methods will return record arrays as expected.? However, it > would be a 2-d array for vstack and 1-d for hstack. > Maybe I have been seeing this wrong, but I hope this helps out anyone else > who might have been confused. > For a little more control, you might try import numpy.lib.recfunctions as nprf nprf.stack_arrays((arr1,arr2),usemask=False) If you're working with structured arrays a lot, the functions in nprf become pretty handy. It's still not imported into the numpy namespace by default, but hopefully there will be some time for a review and inclusion at some point, because it's pretty useful. Skipper From robert.kern at gmail.com Mon Jun 21 14:51:56 2010 From: robert.kern at gmail.com (Robert Kern) Date: Mon, 21 Jun 2010 13:51:56 -0500 Subject: [Numpy-discussion] stacking record arrays In-Reply-To: References: Message-ID: On Mon, Jun 21, 2010 at 13:44, Benjamin Root wrote: > Hello, > > I ran into a somewhat counter-intuitive situation that probably should be > documented somewhere with respect to record (structured?) arrays.? I wanted > to stack multiple arrays together that had the same names for the columns. > Since I was imagining the columns as having the names (as opposed to rows), > I figured vstack() would do the job, but it merely created a sequence of > record arrays.? Turns out that I had to use hstack() to get what I wanted. Remember that your structured arrays are simply 1-D vectors of records. 1-D vectors are primarily treated as row vectors by things that care about "horizontal" and "vertical" for all dtypes, both records and "normal" scalars. It just gets a bit confusing because one often thinks of 1-D arrays of records as being rows and columns. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From ben.root at ou.edu Mon Jun 21 14:56:55 2010 From: ben.root at ou.edu (Benjamin Root) Date: Mon, 21 Jun 2010 13:56:55 -0500 Subject: [Numpy-discussion] stacking record arrays In-Reply-To: References: Message-ID: On Mon, Jun 21, 2010 at 1:51 PM, Skipper Seabold wrote: > On Mon, Jun 21, 2010 at 2:44 PM, Benjamin Root wrote: > > Hello, > > > > I ran into a somewhat counter-intuitive situation that probably should be > > documented somewhere with respect to record (structured?) arrays. I > wanted > > to stack multiple arrays together that had the same names for the > columns. > > Since I was imagining the columns as having the names (as opposed to > rows), > > I figured vstack() would do the job, but it merely created a sequence of > > record arrays. Turns out that I had to use hstack() to get what I > wanted. > > Here is an example of what I am running into: > > > >>>> tracks[0] > > array([('M', 87.087318420410156, 223.30305480957031, 1), > > ('M', 76.440017700195312, 227.68635559082031, 2), > > ('M', 66.116767883300781, 233.32769775390625, 3), > > ('M', 53.614784240722656, 239.75303649902344, 4), > > ('M', 40.807880401611328, 245.34136962890625, 5), > > ('M', 28.479558944702148, 250.30470275878906, 6), > > ('S', 0.0, 0.0, -9)], > > dtype=[('types', '|S1'), ('xLocs', ' > ('frameNums', ' > > >>>> tracks[1] > > array([('M', 184.38957214355469, 114.406494140625, 1), > > ('M', 197.28269958496094, 133.10012817382812, 2), > > ('M', 209.65650939941406, 151.74812316894531, 3), > > ('M', 223.28224182128906, 171.2159423828125, 4), > > ('M', 238.75798034667969, 190.44374084472656, 5), > > ('M', 254.47175598144531, 211.06010437011719, 6), > > ('S', 0.0, 0.0, -9)], > > dtype=[('types', '|S1'), ('xLocs', ' > ('frameNums', ' > > > > >>>> np.vstack((tracks[0], tracks[1])) > > array([[('M', 87.087318420410156, 223.30305480957031, 1), > > ('M', 76.440017700195312, 227.68635559082031, 2), > > ('M', 66.116767883300781, 233.32769775390625, 3), > > ('M', 53.614784240722656, 239.75303649902344, 4), > > ('M', 40.807880401611328, 245.34136962890625, 5), > > ('M', 28.479558944702148, 250.30470275878906, 6), > > ('S', 0.0, 0.0, -9)], > > [('M', 184.38957214355469, 114.406494140625, 1), > > ('M', 197.28269958496094, 133.10012817382812, 2), > > ('M', 209.65650939941406, 151.74812316894531, 3), > > ('M', 223.28224182128906, 171.2159423828125, 4), > > ('M', 238.75798034667969, 190.44374084472656, 5), > > ('M', 254.47175598144531, 211.06010437011719, 6), > > ('S', 0.0, 0.0, -9)]], > > dtype=[('types', '|S1'), ('xLocs', ' > ('frameNums', ' > > >>>> np.hstack((tracks[0], tracks[1])) > > array([('M', 87.087318420410156, 223.30305480957031, 1), > > ('M', 76.440017700195312, 227.68635559082031, 2), > > ('M', 66.116767883300781, 233.32769775390625, 3), > > ('M', 53.614784240722656, 239.75303649902344, 4), > > ('M', 40.807880401611328, 245.34136962890625, 5), > > ('M', 28.479558944702148, 250.30470275878906, 6), > > ('S', 0.0, 0.0, -9), ('M', 184.38957214355469, 114.406494140625, > 1), > > ('M', 197.28269958496094, 133.10012817382812, 2), > > ('M', 209.65650939941406, 151.74812316894531, 3), > > ('M', 223.28224182128906, 171.2159423828125, 4), > > ('M', 238.75798034667969, 190.44374084472656, 5), > > ('M', 254.47175598144531, 211.06010437011719, 6), > > ('S', 0.0, 0.0, -9)], > > dtype=[('types', '|S1'), ('xLocs', ' > ('frameNums', ' > > > By the way, both methods will return record arrays as expected. However, > it > > would be a 2-d array for vstack and 1-d for hstack. > > Maybe I have been seeing this wrong, but I hope this helps out anyone > else > > who might have been confused. > > > > For a little more control, you might try > > import numpy.lib.recfunctions as nprf > nprf.stack_arrays((arr1,arr2),usemask=False) > > If you're working with structured arrays a lot, the functions in nprf > become pretty handy. It's still not imported into the numpy namespace > by default, but hopefully there will be some time for a review and > inclusion at some point, because it's pretty useful. > > Skipper > Oooh! Nice, I never noticed that before. Thanks! Ben Root > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bburan at cns.nyu.edu Mon Jun 21 14:58:37 2010 From: bburan at cns.nyu.edu (Brad Buran) Date: Mon, 21 Jun 2010 14:58:37 -0400 Subject: [Numpy-discussion] reduce array by computing min/max every n samples In-Reply-To: References: Message-ID: Hmmm, if I force the reshaped array to be copied, it speeds up the min/max and makes the overall operation a bit faster (times are below, generated using line profiler with kernprof.py). I'd certainly like to get rid of this copy() operation if possible. Is there any way to avoid it? Brad Line Hits Time Per hit Line 186 1040 22625448 21755.2 val_pts = val_pts[offset:].reshape((-1, downsample)) 187 1040 2590217880 2490594.1 val_min = val_pts.min(-1) 188 1040 2169869368 2086412.9 val_max = val_pts.max(-1) Time per hit (for all three lines): 4,598,762 189 1040 2005172872 1928050.8 val_pts = val_pts[offset:].reshape((-1, downsample)).copy() 190 1040 592062968 569291.3 val_min = val_pts.min(-1) 191 1040 560845192 539274.2 val_max = val_pts.max(-1) Time per hit (for all three lines): 3,036,616 On Sat, Jun 19, 2010 at 4:37 PM, Benjamin Root wrote: > Brad, I think you are doing it the right way, but I think what is happening > is that the reshape() call on the sliced array is forcing a copy to be made > first. The fact that the copy has to be made twice just worsens the issue. > I would save a copy of the reshape result (it is usually a view of the > original data, unless a copy is forced), and then perform a min/max call on > that with the appropriate axis. > > On that note, would it be a bad idea to have a function that returns a > min/max tuple? Performing two iterations to gather the min and the max > information versus a single iteration to gather both at the same time would > be useful. I should note that there is a numpy.ptp() function that returns > the difference between the min and the max, but I don't see anything that > returns the actual values. > > Ben Root > > On Thu, Jun 17, 2010 at 4:50 PM, Brad Buran wrote: >> >> I have a 1D array with >100k samples that I would like to reduce by >> computing the min/max of each "chunk" of n samples. Right now, my >> code is as follows: >> >> n = 100 >> offset = array.size % downsample >> array_min = array[offset:].reshape((-1, n)).min(-1) >> array_max = array[offset:].reshape((-1, n)).max(-1) >> >> However, this appears to be running pretty slowly. The array is data >> streamed in real-time from external hardware devices and I need to >> downsample this and compute the min/max for plotting. I'd like to >> speed this up so that I can plot updates to the data as quickly as new >> data comes in. >> >> Are there recommendations for faster ways to perform the downsampling? >> >> Thanks, >> Brad >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ben.root at ou.edu Mon Jun 21 14:58:52 2010 From: ben.root at ou.edu (Benjamin Root) Date: Mon, 21 Jun 2010 13:58:52 -0500 Subject: [Numpy-discussion] stacking record arrays In-Reply-To: References: Message-ID: On Mon, Jun 21, 2010 at 1:51 PM, Robert Kern wrote: > On Mon, Jun 21, 2010 at 13:44, Benjamin Root wrote: > > Hello, > > > > I ran into a somewhat counter-intuitive situation that probably should be > > documented somewhere with respect to record (structured?) arrays. I > wanted > > to stack multiple arrays together that had the same names for the > columns. > > Since I was imagining the columns as having the names (as opposed to > rows), > > I figured vstack() would do the job, but it merely created a sequence of > > record arrays. Turns out that I had to use hstack() to get what I > wanted. > > Remember that your structured arrays are simply 1-D vectors of > records. 1-D vectors are primarily treated as row vectors by things > that care about "horizontal" and "vertical" for all dtypes, both > records and "normal" scalars. It just gets a bit confusing because one > often thinks of 1-D arrays of records as being rows and columns. > > Yeah, that's what I ended up realizing after I noticed my output from vstack wasn't what I expected, which made me try out hstack instead. Thanks, Ben Root > -- > Robert Kern > > "I have come to believe that the whole world is an enigma, a harmless > enigma that is made terrible by our own mad attempt to interpret it as > though it had an underlying truth." > -- Umberto Eco > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ndbecker2 at gmail.com Mon Jun 21 15:01:04 2010 From: ndbecker2 at gmail.com (Neal Becker) Date: Mon, 21 Jun 2010 15:01:04 -0400 Subject: [Numpy-discussion] indexing question Message-ID: Can I find an efficient way to do this? I have a 2d array, A, 80 rows by 880 columns. I have a vector, B, of length 80, with scalar indexes. I want a vector output C where C[i] = A[b[i],i] (i=0,879) From bburan at cns.nyu.edu Mon Jun 21 15:09:26 2010 From: bburan at cns.nyu.edu (Brad Buran) Date: Mon, 21 Jun 2010 15:09:26 -0400 Subject: [Numpy-discussion] reduce array by computing min/max every n samples In-Reply-To: <4C1D2C63.4030408@enthought.com> References: <4C1D2C63.4030408@enthought.com> Message-ID: This would certainly be useful in my case as well. I originally tried doing something similar: fun = lambda x: (x.min(), x,max()) apply_along_axis(fun, -1, val_pts) It turned out to be much slower, which I guess isn't too surprising. Brad On Sat, Jun 19, 2010 at 4:45 PM, Warren Weckesser < warren.weckesser at enthought.com> wrote: > Benjamin Root wrote: > > Brad, I think you are doing it the right way, but I think what is > > happening is that the reshape() call on the sliced array is forcing a > > copy to be made first. The fact that the copy has to be made twice > > just worsens the issue. I would save a copy of the reshape result (it > > is usually a view of the original data, unless a copy is forced), and > > then perform a min/max call on that with the appropriate axis. > > > > On that note, would it be a bad idea to have a function that returns a > > min/max tuple? > > +1. More than once I've wanted exactly such a function. > > Warren > > > > Performing two iterations to gather the min and the max information > > versus a single iteration to gather both at the same time would be > > useful. I should note that there is a numpy.ptp() function that > > returns the difference between the min and the max, but I don't see > > anything that returns the actual values. > > > > Ben Root > > > > On Thu, Jun 17, 2010 at 4:50 PM, Brad Buran > > wrote: > > > > I have a 1D array with >100k samples that I would like to reduce by > > computing the min/max of each "chunk" of n samples. Right now, my > > code is as follows: > > > > n = 100 > > offset = array.size % downsample > > array_min = array[offset:].reshape((-1, n)).min(-1) > > array_max = array[offset:].reshape((-1, n)).max(-1) > > > > However, this appears to be running pretty slowly. The array is data > > streamed in real-time from external hardware devices and I need to > > downsample this and compute the min/max for plotting. I'd like to > > speed this up so that I can plot updates to the data as quickly as > new > > data comes in. > > > > Are there recommendations for faster ways to perform the > downsampling? > > > > Thanks, > > Brad > > _______________________________________________ > > NumPy-Discussion mailing list > > NumPy-Discussion at scipy.org > > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > NumPy-Discussion mailing list > > NumPy-Discussion at scipy.org > > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From robert.kern at gmail.com Mon Jun 21 15:09:30 2010 From: robert.kern at gmail.com (Robert Kern) Date: Mon, 21 Jun 2010 14:09:30 -0500 Subject: [Numpy-discussion] indexing question In-Reply-To: References: Message-ID: On Mon, Jun 21, 2010 at 14:01, Neal Becker wrote: > Can I find an efficient way to do this? > > I have a 2d array, A, 80 rows by 880 columns. > > I have a vector, B, of length 80, with scalar indexes. I assume you mean 880. > I want a vector output C where > C[i] = A[b[i],i] (i=0,879) C = A[b, np.arange(880)] -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From bevan07 at gmail.com Mon Jun 21 17:38:51 2010 From: bevan07 at gmail.com (Bevan Jenkins) Date: Mon, 21 Jun 2010 21:38:51 +0000 (UTC) Subject: [Numpy-discussion] =?utf-8?q?timeseries=2C=09the_sandbox_=28was_t?= =?utf-8?q?imeseries_-_dates_prior_to_1970=29?= References: <4059B229-3606-4762-BA32-E947E95A9B23@gmail.com> Message-ID: Pierre GM gmail.com> writes: > > I just pushed the weekend's changes, including a fix for your problem. > Now it should be possible to define an array of dates w/ a timestep different from 1: > >>> date_array(start_date=Date("T", "2010-06-21 00:00"), length=4, timestep=15) > DateArray([21-Jun-2010 00:00, 21-Jun-2010 00:15, 21-Jun-2010 00:30, > 21-Jun-2010 00:45], > freq='T') > Feedback is essential at this point... The latest changes are working for the limited test case that I have. Thanks for your efforts on this. From mishagreen at gmail.com Mon Jun 21 18:17:57 2010 From: mishagreen at gmail.com (Michael Green) Date: Tue, 22 Jun 2010 01:17:57 +0300 Subject: [Numpy-discussion] Building Numpy: could not read symbols Bad value error In-Reply-To: <4C1EC186.2060606@silveregg.co.jp> References: <4C1EC186.2060606@silveregg.co.jp> Message-ID: Well, I just found that I can build shared libs in ATLAS 3.9.23, but not 3.9.24 or 25. This begs the question: has anyone actually successfully compiled ATLAS v3.9.25 shared libs on RHEL/CentOS 5.x? -- Warm regards, Michael Green From ndbecker2 at gmail.com Mon Jun 21 18:42:19 2010 From: ndbecker2 at gmail.com (Neal Becker) Date: Mon, 21 Jun 2010 18:42:19 -0400 Subject: [Numpy-discussion] indexing question References: Message-ID: Robert Kern wrote: > On Mon, Jun 21, 2010 at 14:01, Neal Becker wrote: >> Can I find an efficient way to do this? >> >> I have a 2d array, A, 80 rows by 880 columns. >> >> I have a vector, B, of length 80, with scalar indexes. > > I assume you mean 880. > >> I want a vector output C where >> C[i] = A[b[i],i] (i=0,879) > > C = A[b, np.arange(880)] > Thanks! Just what I needed. I wouldn't have guessed this. Do we have a wiki to save useful examples like this? From robert.kern at gmail.com Mon Jun 21 19:10:46 2010 From: robert.kern at gmail.com (Robert Kern) Date: Mon, 21 Jun 2010 18:10:46 -0500 Subject: [Numpy-discussion] indexing question In-Reply-To: References: Message-ID: On Mon, Jun 21, 2010 at 17:42, Neal Becker wrote: > Robert Kern wrote: > >> On Mon, Jun 21, 2010 at 14:01, Neal Becker wrote: >>> Can I find an efficient way to do this? >>> >>> I have a 2d array, A, 80 rows by 880 columns. >>> >>> I have a vector, B, of length 80, with scalar indexes. >> >> I assume you mean 880. >> >>> I want a vector output C where >>> C[i] = A[b[i],i] (i=0,879) >> >> C = A[b, np.arange(880)] >> > > Thanks! ?Just what I needed. > > I wouldn't have guessed this. ?Do we have a wiki to save useful examples > like this? This kind of indexing is documented here: http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#integer Various examples are on the wiki here: http://www.scipy.org/Cookbook/Indexing -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From wesmckinn at gmail.com Mon Jun 21 20:03:05 2010 From: wesmckinn at gmail.com (Wes McKinney) Date: Mon, 21 Jun 2010 20:03:05 -0400 Subject: [Numpy-discussion] indexing question In-Reply-To: References: Message-ID: On Mon, Jun 21, 2010 at 7:10 PM, Robert Kern wrote: > On Mon, Jun 21, 2010 at 17:42, Neal Becker wrote: >> Robert Kern wrote: >> >>> On Mon, Jun 21, 2010 at 14:01, Neal Becker wrote: >>>> Can I find an efficient way to do this? >>>> >>>> I have a 2d array, A, 80 rows by 880 columns. >>>> >>>> I have a vector, B, of length 80, with scalar indexes. >>> >>> I assume you mean 880. >>> >>>> I want a vector output C where >>>> C[i] = A[b[i],i] (i=0,879) >>> >>> C = A[b, np.arange(880)] >>> >> >> Thanks! ?Just what I needed. >> >> I wouldn't have guessed this. ?Do we have a wiki to save useful examples >> like this? > > This kind of indexing is documented here: > > ?http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#integer > > Various examples are on the wiki here: > > ?http://www.scipy.org/Cookbook/Indexing > > -- > Robert Kern > > "I have come to believe that the whole world is an enigma, a harmless > enigma that is made terrible by our own mad attempt to interpret it as > though it had an underlying truth." > ?-- Umberto Eco > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > And to be completely pedantic one could use ndarray.take to do this about 3-4x faster (but less intuitively): A.take(b * 880 + np.arange(880)) From pgmdevlist at gmail.com Mon Jun 21 20:33:59 2010 From: pgmdevlist at gmail.com (Pierre GM) Date: Mon, 21 Jun 2010 20:33:59 -0400 Subject: [Numpy-discussion] timeseries, the sandbox (was timeseries - dates prior to 1970) In-Reply-To: References: <4059B229-3606-4762-BA32-E947E95A9B23@gmail.com> Message-ID: On Jun 21, 2010, at 5:38 PM, Bevan Jenkins wrote: > Pierre GM gmail.com> writes: > >> >> I just pushed the weekend's changes, including a fix for your problem. >> Now it should be possible to define an array of dates w/ a timestep > different from 1: >>>>> date_array(start_date=Date("T", "2010-06-21 00:00"), length=4, > timestep=15) >> DateArray([21-Jun-2010 00:00, 21-Jun-2010 00:15, 21-Jun-2010 00:30, >> 21-Jun-2010 00:45], >> freq='T') >> Feedback is essential at this point... > > The latest changes are working for the limited test case that I have. > Thanks for your efforts on this. Oh, don't mention. It's actually kinda fun to learn C... Thanks for using the scikits. From thdurrant at gmail.com Tue Jun 22 10:09:01 2010 From: thdurrant at gmail.com (Tom Durrant) Date: Wed, 23 Jun 2010 00:09:01 +1000 Subject: [Numpy-discussion] 2d binning and linear regression In-Reply-To: References: Message-ID: > > > the basic idea is in "polyfit on multiple data points" on > numpy-disscusion mailing list April 2009 > > In this case, calculations have to be done by groups > > subtract mean (this needs to be replaced by group demeaning) > modeldm = model - model.mean() > obsdm = obs - obs.mean() > > xx = np.histogram2d( > xx, xedges, yedges = np.histogram2d(lat, lon, weights=modeldm*modeldm, > bins=(latedges,lonedges)) > xy, xedges, yedges = np.histogram2d(lat, lon, weights=obsdm*obsdm, > bins=(latedges,lonedges)) > > > slopes = xy/xx # slopes by group > > expand slopes to length of original array > predicted = model - obs * slopes_expanded > ... > > the main point is to get the group functions, for demeaning, ... for > the 2d labels (and get the labels out of histogramdd) > > I'm out of time (off to the airport soon), but I can look into it next > weekend. > > Josef > > Thanks Josef, I will chase up the April list... If I understand what you have done above, this returns the slope of best fit lines forced through the origin, is that right? Have a great trip! Tom -------------- next part -------------- An HTML attachment was scrubbed... URL: From thdurrant at gmail.com Tue Jun 22 10:13:28 2010 From: thdurrant at gmail.com (Tom Durrant) Date: Wed, 23 Jun 2010 00:13:28 +1000 Subject: [Numpy-discussion] 2d binning and linear regression In-Reply-To: <4C1F7950.30103@gmail.com> References: <4C1F7950.30103@gmail.com> Message-ID: > > > > > What exactly are trying to fit because it is rather bad practice to fit > a model to some summarized data as you lose the uncertainty in the > original data? > If you define your boxes, you can loop through directly on each box and > even fit the equation: > > model=mu +beta1*obs > > The extension is to fit the larger equation: > model=mu + boxes + beta1*obs + beta2*obs*boxes > > where your boxes is a indicator or dummy variable for each box. > Since you are only interested in the box by model term, you probably can > use this type of model > model=mu + boxes + beta2*obs*boxes > > However, these models assume that the residual variance is identical for > all boxes. (That is solved by a mixed model approach.) > > Bruce Bruce, I am trying to determine spatially based linear corrections for surface winds in order to force a wave model. The basic idea is, use satellite observations from sattelites to determine the errors and the wind, and reduce them by applying a linear correction prior to forcing the wave model. I am not sure I understand what you are saying, I am possibly trying to do what you are describing. i.e. for each box, gather observations, determine a linear correction, and apply it to the model model = a*x + b Does that make sense? Cheers Tom > > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsouthey at gmail.com Tue Jun 22 11:53:53 2010 From: bsouthey at gmail.com (Bruce Southey) Date: Tue, 22 Jun 2010 10:53:53 -0500 Subject: [Numpy-discussion] 2d binning and linear regression In-Reply-To: References: <4C1F7950.30103@gmail.com> Message-ID: <4C20DC91.1000301@gmail.com> On 06/22/2010 09:13 AM, Tom Durrant wrote: > > > > > What exactly are trying to fit because it is rather bad practice > to fit > a model to some summarized data as you lose the uncertainty in the > original data? > If you define your boxes, you can loop through directly on each > box and > even fit the equation: > > model=mu +beta1*obs > > The extension is to fit the larger equation: > model=mu + boxes + beta1*obs + beta2*obs*boxes > > where your boxes is a indicator or dummy variable for each box. > Since you are only interested in the box by model term, you > probably can > use this type of model > model=mu + boxes + beta2*obs*boxes > > However, these models assume that the residual variance is > identical for > all boxes. (That is solved by a mixed model approach.) > > Bruce > > > Bruce, > > I am trying to determine spatially based linear corrections for > surface winds in order to force a wave model. The basic idea is, use > satellite observations from sattelites to determine the errors and the > wind, and reduce them by applying a linear correction prior to forcing > the wave model. > > I am not sure I understand what you are saying, I am possibly trying > to do what you are describing. i.e. for each box, gather > observations, determine a linear correction, and apply it to the model > > model = a*x + b > > Does that make sense? > > Cheers > Tom > I used the data you gave and may have swapped 'model' and 'x' here - the code should work if you switch these. First I assume that you can create a variable 'box' based on the lat/lon data - I just created one from the first values. As I understand it, your problem is essentially is an analysis of covariance with one factor (box) and one regressor (x). So I used some technical knowledge about the parameterization of the normal equations that may not be true in general for all models as it depends on finding 'equivalent models'. Just print out the different arrays for a small example as it is rather hard to describe using words alone. Basically you can create a design matrix that just includes dummy variables for each box and the interactions between that dummy variable and your 'x' array. This amounts to the equation: y = box + box*x where y is your 'model' array box is a 'dummy variable of box - number of columns is the number of boxes. x is your 'x' array. Note that there is no general or overall intercept here because you are not interested in that. Rather you are interested in the 'intercept' for each box which comes from the corresponding solution. The code provides a function to create the dummy variables for each box and a second function to compute the interactions between that dummy variable and your 'x' array - these functions originated in pystatsmodels. After that I form and solve the normal equations to get the standard errors of the solutions and other useful statistics. Note that the residual variance (MSE) is probably the pooled residual variance across all boxes (I am too lazy to check). Also, if you are not interested in the standard errors etc. then you probably should use a more efficient solver available in numpy. I (hopefully) reshaped the solutions ('beta') and standard errors ('pSE') so the rows are for each box, the first column is the 'intercept' and the second column is the 'slope'. The output is: $ python reg_box.py Residual Sum of Squares 0.0306718851814 Residual Mean Sum of Squares 0.00511198086357 RSquared 0.975657233983 Estimated Intercept and regression for each box [[ 0.69044944 0.44569288] [-1.53272813 1.43358273]] Estimated standard error of the Intercept and regression for each box [[ 0.41081864 0.23061509] [ 0.21123387 0.095004 ]] For box=1: a=0.45 (se=0.23) and b=0.69 (se= 0.41) For box=2: a=1.43 (se=0.095) and b=-1.53 (se=0.21) Bruce (If you have questions, you can contact me off list if you want.) -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: reg_box.py Type: text/x-python Size: 1754 bytes Desc: not available URL: From josef.pktd at gmail.com Tue Jun 22 15:58:29 2010 From: josef.pktd at gmail.com (josef.pktd at gmail.com) Date: Tue, 22 Jun 2010 15:58:29 -0400 Subject: [Numpy-discussion] 2d binning and linear regression In-Reply-To: References: Message-ID: On Tue, Jun 22, 2010 at 10:09 AM, Tom Durrant wrote: >> >> the basic idea is in "polyfit ?on multiple data points" on >> numpy-disscusion mailing list April 2009 >> >> In this case, calculations have to be done by groups >> >> subtract mean (this needs to be replaced by group demeaning) >> modeldm = model - model.mean() >> obsdm = obs - obs.mean() >> >> xx = np.histogram2d( >> xx, xedges, yedges = np.histogram2d(lat, lon, weights=modeldm*modeldm, >> ? ? ?bins=(latedges,lonedges)) >> xy, xedges, yedges = np.histogram2d(lat, lon, weights=obsdm*obsdm, >> ? ? ?bins=(latedges,lonedges)) >> >> >> slopes = xy/xx ?# slopes by group >> >> expand slopes to length of original array >> predicted = model - obs * slopes_expanded >> ... >> >> the main point is to get the group functions, for demeaning, ... for >> the 2d labels (and get the labels out of histogramdd) >> >> I'm out of time (off to the airport soon), but I can look into it next >> weekend. >> >> Josef >> > Thanks Josef, I will chase up the April list... > If I understand what you have done above, this returns the slope of best fit > lines forced through the origin, is that right? Not if both variables, model and obs, are demeaned first, demeaning removes any effect of a constant and only the slope is left over, which can be done with the ration xx/xy. But to get independent intercept per group, the demeaning has to be by group. What's the size of your problem, how many groups or how many separate regressions ? demeaning by group has setup cost in this case, so the main speed benefit would come if you calculate the digitize and label generation, that histogram2d does, only ones and reuse it in later calculations. Using dummy variables as Bruce proposes works very well if there are not a very large number of groups, otherwise I think the memory requirements and size of array would be very costly in terms of performance. Josef > Have a great trip! > Tom > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > From gely at usc.edu Tue Jun 22 19:37:13 2010 From: gely at usc.edu (Geoffrey Ely) Date: Tue, 22 Jun 2010 16:37:13 -0700 Subject: [Numpy-discussion] bool indices segv Message-ID: <48533C29-C51D-456F-9EF7-711DD5E6AE18@usc.edu> Hi, I'm getting a SEGV for boolean indices to a multi-dimensional array (numpy ver 1.4.1). Is this a known problem? Code and backtrace below. Thanks, Geoff import numpy a = numpy.ones((1,1)) a[a>0] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 182902359776 (LWP 17886)] DOUBLE_copyswap (dst=0xa62d60, src=0x3f800a38fc0, swap=0, __NPY_UNUSED_TAGGEDarr=0xa57d60) at numpy/core/src/multiarray/arraytypes.c.src:1161 1161 numpy/core/src/multiarray/arraytypes.c.src: No such file or directory. in numpy/core/src/multiarray/arraytypes.c.src (gdb) bt #0 DOUBLE_copyswap (dst=0xa62d60, src=0x3f800a38fc0, swap=0, __NPY_UNUSED_TAGGEDarr=0xa57d60) at numpy/core/src/multiarray/arraytypes.c.src:1161 #1 0x0000002a990a5759 in array_subscript (self=Variable "self" is not available. ) at numpy/core/src/multiarray/mapping.c:259 #2 0x0000002a990a5af5 in array_subscript_nice (self=0xa872f0, op=0xa87e50) at numpy/core/src/multiarray/mapping.c:939 From robert.kern at gmail.com Tue Jun 22 19:44:00 2010 From: robert.kern at gmail.com (Robert Kern) Date: Tue, 22 Jun 2010 18:44:00 -0500 Subject: [Numpy-discussion] bool indices segv In-Reply-To: <48533C29-C51D-456F-9EF7-711DD5E6AE18@usc.edu> References: <48533C29-C51D-456F-9EF7-711DD5E6AE18@usc.edu> Message-ID: On Tue, Jun 22, 2010 at 18:37, Geoffrey Ely wrote: > Hi, > > I'm getting a SEGV for boolean indices to a multi-dimensional array (numpy ver 1.4.1). Is this a known problem? Code and backtrace below. No, and I cannot replicate it on OS X. Can you give more details about your platform and how you built numpy? -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From liukis at usc.edu Tue Jun 22 19:46:49 2010 From: liukis at usc.edu (Maria Liukis) Date: Tue, 22 Jun 2010 16:46:49 -0700 Subject: [Numpy-discussion] bool indices segv In-Reply-To: <48533C29-C51D-456F-9EF7-711DD5E6AE18@usc.edu> References: <48533C29-C51D-456F-9EF7-711DD5E6AE18@usc.edu> Message-ID: Hi Geoff, It's working in numpy V1.3.0: >>> import numpy >>> numpy.__version__ '1.3.0' >>> a = numpy.ones((1,1)) >>> a[a>0] array([ 1.]) >>> Thanks, Masha -------------------- liukis at usc.edu On Jun 22, 2010, at 4:37 PM, Geoffrey Ely wrote: > Hi, > > I'm getting a SEGV for boolean indices to a multi-dimensional array (numpy ver 1.4.1). Is this a known problem? Code and backtrace below. > > Thanks, > Geoff > > > import numpy > a = numpy.ones((1,1)) > a[a>0] > > > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread 182902359776 (LWP 17886)] > DOUBLE_copyswap (dst=0xa62d60, src=0x3f800a38fc0, swap=0, __NPY_UNUSED_TAGGEDarr=0xa57d60) > at numpy/core/src/multiarray/arraytypes.c.src:1161 > 1161 numpy/core/src/multiarray/arraytypes.c.src: No such file or directory. > in numpy/core/src/multiarray/arraytypes.c.src > (gdb) bt > #0 DOUBLE_copyswap (dst=0xa62d60, src=0x3f800a38fc0, swap=0, __NPY_UNUSED_TAGGEDarr=0xa57d60) > at numpy/core/src/multiarray/arraytypes.c.src:1161 > #1 0x0000002a990a5759 in array_subscript (self=Variable "self" is not available. > ) at numpy/core/src/multiarray/mapping.c:259 > #2 0x0000002a990a5af5 in array_subscript_nice (self=0xa872f0, op=0xa87e50) > at numpy/core/src/multiarray/mapping.c:939 > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion From gely at usc.edu Tue Jun 22 20:01:20 2010 From: gely at usc.edu (Geoffrey Ely) Date: Wed, 23 Jun 2010 00:01:20 +0000 (UTC) Subject: [Numpy-discussion] bool indices segv References: <48533C29-C51D-456F-9EF7-711DD5E6AE18@usc.edu> Message-ID: > No, and I cannot replicate it on OS X. Can you give more details about > your platform and how you built numpy? $ uname -a Linux login3.ranger.tacc.utexas.edu 2.6.9-78.0.22.EL_lustre_TACC #9 SMP Wed Nov 4 16:21:54 CST 2009 x86_64 x86_64 x86_64 GNU/Linux Python 2.6.5 built with ./configure make install Cython and Numpy installed with Distribute. Anything else I should provide? Thanks. From ben.root at ou.edu Tue Jun 22 20:13:16 2010 From: ben.root at ou.edu (Benjamin Root) Date: Tue, 22 Jun 2010 19:13:16 -0500 Subject: [Numpy-discussion] bool indices segv In-Reply-To: References: <48533C29-C51D-456F-9EF7-711DD5E6AE18@usc.edu> Message-ID: On Tue, Jun 22, 2010 at 7:01 PM, Geoffrey Ely wrote: > > No, and I cannot replicate it on OS X. Can you give more details about > > your platform and how you built numpy? > > $ uname -a > Linux login3.ranger.tacc.utexas.edu 2.6.9-78.0.22.EL_lustre_TACC #9 SMP > Wed Nov 4 16:21:54 CST 2009 x86_64 x86_64 x86_64 GNU/Linux > > Python 2.6.5 built with > ./configure > make install > > Cython and Numpy installed with Distribute. > > Anything else I should provide? > > Which distro of Linux are you using? The kernel version is fairly old, but the installation date is less than a year old. Also, what version of python is available through Distribute? Ben Root -------------- next part -------------- An HTML attachment was scrubbed... URL: From gely at usc.edu Tue Jun 22 20:38:10 2010 From: gely at usc.edu (Geoffrey Ely) Date: Tue, 22 Jun 2010 17:38:10 -0700 Subject: [Numpy-discussion] bool indices segv In-Reply-To: References: <48533C29-C51D-456F-9EF7-711DD5E6AE18@usc.edu> Message-ID: <327C6A0F-E49E-47B0-B352-A2BD91D3FD46@usc.edu> On Jun 22, 2010, at 5:13 PM, Benjamin Root wrote: > Which distro of Linux are you using? The kernel version is fairly old, but the installation date is less than a year old. Also, what version of python is available through Distribute? It is CentOS, heavily customized, I am sure, for this machine: http://services.tacc.utexas.edu/index.php/ranger-user-guide Not sure if Python itself is available through PyPI/distribute. I installed Python 2.6.5 from source. As I understand it, setuptools does not work well for Numpy install, but distribute is a bit better. Is that true? Is it better to avoid setuptools/distribute/PyPI altogether? -Geoff From charlesr.harris at gmail.com Tue Jun 22 22:09:07 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Tue, 22 Jun 2010 20:09:07 -0600 Subject: [Numpy-discussion] bool indices segv In-Reply-To: <327C6A0F-E49E-47B0-B352-A2BD91D3FD46@usc.edu> References: <48533C29-C51D-456F-9EF7-711DD5E6AE18@usc.edu> <327C6A0F-E49E-47B0-B352-A2BD91D3FD46@usc.edu> Message-ID: On Tue, Jun 22, 2010 at 6:38 PM, Geoffrey Ely wrote: > On Jun 22, 2010, at 5:13 PM, Benjamin Root wrote: > > Which distro of Linux are you using? The kernel version is fairly old, > but the installation date is less than a year old. Also, what version of > python is available through Distribute? > > It is CentOS, heavily customized, I am sure, for this machine: > > http://services.tacc.utexas.edu/index.php/ranger-user-guide > > Not sure if Python itself is available through PyPI/distribute. I installed > Python 2.6.5 from source. > > As I understand it, setuptools does not work well for Numpy install, but > distribute is a bit better. Is that true? Is it better to avoid > setuptools/distribute/PyPI altogether? > > I've never used distribute, so can't say. Have you tried installing from the tarball? Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From david at silveregg.co.jp Tue Jun 22 22:11:09 2010 From: david at silveregg.co.jp (David) Date: Wed, 23 Jun 2010 11:11:09 +0900 Subject: [Numpy-discussion] bool indices segv In-Reply-To: <327C6A0F-E49E-47B0-B352-A2BD91D3FD46@usc.edu> References: <48533C29-C51D-456F-9EF7-711DD5E6AE18@usc.edu> <327C6A0F-E49E-47B0-B352-A2BD91D3FD46@usc.edu> Message-ID: <4C216D3D.50509@silveregg.co.jp> On 06/23/2010 09:38 AM, Geoffrey Ely wrote: > > Not sure if Python itself is available through PyPI/distribute. I installed Python 2.6.5 from source. > > As I understand it, setuptools does not work well for Numpy install, but distribute is a bit better. Is that true? No, it is even worse. > Is it better to avoid setuptools/distribute/PyPI altogether? Yes, unless you need their features (which in the case of numpy is mostly egg, since installing from pypi rarely works anyway). David From d.l.goldsmith at gmail.com Thu Jun 17 00:32:08 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Wed, 16 Jun 2010 21:32:08 -0700 Subject: [Numpy-discussion] SciPy docs marathon: a little more info Message-ID: On Mon, Jun 14, 2010 at 2:05 AM, David Goldsmith wrote: > Hi, all! The scipy doc marathon has gotten off to a very slow start this > summer. We are producing less than 1000 words a week, perhaps because > many universities are still finishing up spring classes. So, this is > a second appeal to everyone to pitch in and help get scipy documented > so that it's easy to learn how to use it. Because some of the > packages are quite specialized, we need both "regular" contributors to > write lots of pages, and some people experienced in using each module > (and the mathematics behind the software) to make sure we don't water > it down or make it wrong in the process. If you can help, please, now is > the > time to step forward. Thanks! > > On behalf of Joe and myself, > > David Goldsmith > Olympia, WA > OK, a few people have come forward. Let me enumerate the categories that still have no "declared" volunteer writer-editors (all categories are in need of leaders): Max. Entropy, Misc., Image Manip. (Milestone 6) Signal processing (Milestone 8) Sparse Matrices (Milestone 9) Spatial Algorithms., Special funcs. (Milestone 10) C/C++ Integration (Milestone 13) As for the rest, only Interpolation (Milestone 3) has more than one person (but I'm one of the two), and I'm the only person on four others. So, hopefully, knowing specifically which areas are in dire need will inspire people skilled in those areas to sign up. Thanks for your time and help, DG PS: For your convenience, here's the link to the scipy Milestonespage. (Note that the Milestones link at the top of each Wiki page links, incorrectly in the case of the SciPy pages, to the NumPy Milestones page, which we are not actively working on in this Marathon; this is a known, reported bug in the Wiki program.) -------------- next part -------------- An HTML attachment was scrubbed... URL: From gely at usc.edu Wed Jun 23 01:28:51 2010 From: gely at usc.edu (Geoffrey Ely) Date: Tue, 22 Jun 2010 22:28:51 -0700 Subject: [Numpy-discussion] bool indices segv In-Reply-To: <4C216D3D.50509@silveregg.co.jp> References: <48533C29-C51D-456F-9EF7-711DD5E6AE18@usc.edu> <327C6A0F-E49E-47B0-B352-A2BD91D3FD46@usc.edu> <4C216D3D.50509@silveregg.co.jp> Message-ID: <3881E053-191E-4BB1-99CF-4E0AEAA89B97@usc.edu> On Jun 22, 2010, at 7:11 PM, David wrote: >> Is it better to avoid setuptools/distribute/PyPI altogether? > > Yes, unless you need their features (which in the case of numpy is > mostly egg, since installing from pypi rarely works anyway). OK, installing from source solved the problem (and so did downgrading to ver 1.3 with easy_install, btw). Thanks for the help, everyone. I found generic NumPy install instructions difficult to locate. The link is almost a footnote to the platform specific stuff on the SciPy site and easily missed. I think it would be very helpful to have a sentence or two in INSTALL.txt, before diving into platform specifics, so I am sending this patch in case you want to use it: --- INSTALL.txt.orig 2010-06-22 21:23:47.000000000 -0700 +++ INSTALL.txt 2010-06-22 22:03:51.000000000 -0700 @@ -10,6 +10,14 @@ .. Contents:: +Basic Installation +================== + +Following the installation of any needed compilers and numerical libraries, +NumPy is built and installed by: + + python setup.py install + PREREQUISITES ============= @@ -27,7 +35,7 @@ Python must also be compiled with the zlib module enabled. -2) nose__ (pptional) 0.10.3 or later +2) nose__ (optional) 0.10.3 or later This is required for testing numpy, but not for using it. From rsalvador.wk at gmail.com Wed Jun 23 06:46:03 2010 From: rsalvador.wk at gmail.com (Ruben Salvador) Date: Wed, 23 Jun 2010 12:46:03 +0200 Subject: [Numpy-discussion] numpy.load raising IOError but EOFError expected Message-ID: Hi there, I have a .npy file built by succesively adding results from different test runs of an algorithm. Each time it's run, I save a numpy.array using numpy.save as follows: fn = 'file.npy' f = open(fn, 'a+b') np.save(f, arr) f.close() When I try to read the file with the following code, for a file containing 3 array saves (a is there to show when the error arises): f = open(fn, 'rb') arr = np.load(f) a = 0 try: while True: print a a += 1 arr = np.vstack((arr, np.load(f))) except EOFError: pass f.close() I get the following output: 0 1 2 Traceback (most recent call last): File "./proc_stat.py", line 32, in arr = np.vstack((arr, np.load(f))) File "/usr/lib/python2.5/site-packages/numpy/lib/io.py", line 201, in load "Failed to interpret file %s as a pickle" % repr(file) IOError: Failed to interpret file as a pickle Using IOError in the except makes the code work, but this way I am masking other possible sources of error. I have tried with a file containing 3 dumps from numpy.save (this is, 3 arrays saved). As shown, the error is raised when trying to read a fourth time (since EOFError is not raised). Therefore, is this a bug? Shouldn't EOFError be raised instead of IOError? Or am I missunderstanding something? If this is not a bug, how can I detect the EOF to stop reading (I expect a way for this to work without tweaking the code with saving first in the file the number of dumps done)? Thanks in advance! -- Rub?n Salvador PhD student @ Centro de Electr?nica Industrial (CEI) http://www.cei.upm.es Blog: http://aesatcei.wordpress.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From rsalvador.wk at gmail.com Wed Jun 23 06:48:52 2010 From: rsalvador.wk at gmail.com (Ruben Salvador) Date: Wed, 23 Jun 2010 12:48:52 +0200 Subject: [Numpy-discussion] numpy.load raising IOError but EOFError expected In-Reply-To: References: Message-ID: Sorry, I forgot to include versions info: Python 2.5.5 Numpy Version: 1:1.3.0-3+b1 (actual debian testing) On Wed, Jun 23, 2010 at 12:46 PM, Ruben Salvador wrote: > Hi there, > > I have a .npy file built by succesively adding results from different test > runs of an algorithm. Each time it's run, I save a numpy.array using > numpy.save as follows: > > fn = 'file.npy' > f = open(fn, 'a+b') > np.save(f, arr) > f.close() > > When I try to read the file with the following code, for a file containing > 3 array saves (a is there to show when the error arises): > > f = open(fn, 'rb') > arr = np.load(f) > a = 0 > try: > while True: > print a > a += 1 > arr = np.vstack((arr, np.load(f))) > except EOFError: > pass > f.close() > > I get the following output: > > 0 > 1 > 2 > Traceback (most recent call last): > File "./proc_stat.py", line 32, in > arr = np.vstack((arr, np.load(f))) > File "/usr/lib/python2.5/site-packages/numpy/lib/io.py", line 201, in > load > "Failed to interpret file %s as a pickle" % repr(file) > IOError: Failed to interpret file '/home/rsalvador/trabajo/research/phd/devel/evowv/retest/avgfit_random_sigma_normal_Flp_20G.npy', > mode 'rb' at 0x174ca08> as a pickle > > Using IOError in the except makes the code work, but this way I am masking > other possible sources of error. > > I have tried with a file containing 3 dumps from numpy.save (this is, 3 > arrays saved). As shown, the error is raised when trying to read a fourth > time (since EOFError is not raised). > > Therefore, is this a bug? Shouldn't EOFError be raised instead of IOError? > Or am I missunderstanding something? If this is not a bug, how can I detect > the EOF to stop reading (I expect a way for this to work without tweaking > the code with saving first in the file the number of dumps done)? > > Thanks in advance! > > -- > Rub?n Salvador > PhD student @ Centro de Electr?nica Industrial (CEI) > http://www.cei.upm.es > Blog: http://aesatcei.wordpress.com > -- Rub?n Salvador PhD student @ Centro de Electr?nica Industrial (CEI) http://www.cei.upm.es Blog: http://aesatcei.wordpress.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsouthey at gmail.com Wed Jun 23 09:43:52 2010 From: bsouthey at gmail.com (Bruce Southey) Date: Wed, 23 Jun 2010 08:43:52 -0500 Subject: [Numpy-discussion] 2d binning and linear regression In-Reply-To: References: Message-ID: <4C220F98.1080006@gmail.com> On 06/22/2010 02:58 PM, josef.pktd at gmail.com wrote: > On Tue, Jun 22, 2010 at 10:09 AM, Tom Durrant wrote: > >>> the basic idea is in "polyfit on multiple data points" on >>> numpy-disscusion mailing list April 2009 >>> >>> In this case, calculations have to be done by groups >>> >>> subtract mean (this needs to be replaced by group demeaning) >>> modeldm = model - model.mean() >>> obsdm = obs - obs.mean() >>> >>> xx = np.histogram2d( >>> xx, xedges, yedges = np.histogram2d(lat, lon, weights=modeldm*modeldm, >>> bins=(latedges,lonedges)) >>> xy, xedges, yedges = np.histogram2d(lat, lon, weights=obsdm*obsdm, >>> bins=(latedges,lonedges)) >>> >>> >>> slopes = xy/xx # slopes by group >>> >>> expand slopes to length of original array >>> predicted = model - obs * slopes_expanded >>> ... >>> >>> the main point is to get the group functions, for demeaning, ... for >>> the 2d labels (and get the labels out of histogramdd) >>> >>> I'm out of time (off to the airport soon), but I can look into it next >>> weekend. >>> >>> Josef >>> >>> >> Thanks Josef, I will chase up the April list... >> If I understand what you have done above, this returns the slope of best fit >> lines forced through the origin, is that right? >> > Not if both variables, model and obs, are demeaned first, demeaning > removes any effect of a constant and only the slope is left over, > which can be done with the ration xx/xy. > > But to get independent intercept per group, the demeaning has to be by group. > > What's the size of your problem, how many groups or how many separate > regressions ? > > demeaning by group has setup cost in this case, so the main speed > benefit would come if you calculate the digitize and label generation, > that histogram2d does, only ones and reuse it in later calculations. > > Using dummy variables as Bruce proposes works very well if there are > not a very large number of groups, otherwise I think the memory > requirements and size of array would be very costly in terms of > performance. > > Josef > > There is always a tradeoff of memory vs speed. It is too easy to be too clever just to find that a more brute force approach is considerably faster. You want to avoid Python code and array indexing as much as possible since those can be major speed bumps. Also some approaches have hidden memory costs as well (histogram2d calls as histogramdd([x,y],...). If memory is an issue, then obviously you need to decide how to handle it because there are many ways around it. For example, the biggest memory usage in my code should be related to the design matrix and creating the normal equations. At worst (which requires passing by value rather than reference) it would be two 2-d arrays with the number of rows being the number of observations and the number of columns being two times the number of groups. If you have scipy, then sparse matrices can reduce the memory footprint of the design matrix and could be faster. There are also ways to construct the design matrix and the normal equations either observation by observation (essential for very large data sets) or pieces (uses within group information of numbers of observations, sum of 'model' and sum of 'model*model'). If the your boxes have homogeneous variance (which is already being assumed), you can first divide the data into groups of boxes and then loop over each group reusing the existing arrays as needed. Bruce From fadhley.salim at ca-cib.com Wed Jun 23 14:25:17 2010 From: fadhley.salim at ca-cib.com (Salim, Fadhley (CA-CIB)) Date: Wed, 23 Jun 2010 19:25:17 +0100 Subject: [Numpy-discussion] Numpy.linalg.eig oddity In-Reply-To: <4C220F98.1080006@gmail.com> References: <4C220F98.1080006@gmail.com> Message-ID: I've been investigating a truly bizarre bug related to the use of numpy.linalg.eig. I have two classes which both use numpy.linalg.eig. These classes are used at very different times and are not connected in any way other than the fact that they both share this particular dependancy. I have found that whichever class is called second will produce a slightly different answer if numpy.linalg.eig is used sometime earlier. I've eliminated all other variables besides the call to eig(). This seems completely implausible, and yet I have the data. As far as I am aware, eig() is wholly stateless and therefore using it should not affect any subsequent calls to the function, right? Numpy==1.2.1, Scipy==0.7.0 I've checked the bug-trac for this function and can find no references to bugs which cause it to hold-state, even in the somewhat out of date version of numpy. Can somebody let me know if there's something that I'm missing. -------------- next part -------------- This email does not create a legal relationship between any member of the Cr?dit Agricole group and the recipient or constitute investment advice. The content of this email should not be copied or disclosed (in whole or part) to any other person. It may contain information which is confidential, privileged or otherwise protected from disclosure. If you are not the intended recipient, you should notify us and delete it from your system. Emails may be monitored, are not secure and may be amended, destroyed or contain viruses and in communicating with us such conditions are accepted. Any content which does not relate to business matters is not endorsed by us. Cr?dit Agricole Corporate & Investment Bank is authorised by the Autorit? de Contr?le Prudentiel (ACP) and supervised by the ACP and the Autorit? des March?s Financiers (AMF) in France and subject to limited regulation by the Financial Services Authority. Details about the extent of our regulation by the Financial Services Authority are available from us on request. Cr?dit Agricole Corporate & Investment Bank is incorporated in France with limited liability and registered in England & Wales. Registration number: FC008194. Registered office: Broadwalk House, 5 Appold Street, London, EC2A 2DA. From abrombo at verizon.net Wed Jun 23 16:00:49 2010 From: abrombo at verizon.net (Alan Bromborsky) Date: Wed, 23 Jun 2010 16:00:49 -0400 Subject: [Numpy-discussion] Transpose Array How? Message-ID: <4C2267F1.4060207@verizon.net> In the transpose function we have transpose(a,axis) where axis can be a list of integers. But exactly what to the integers mean? If axis = [i1,i2] switching axis i1 with axis i2 is obvious, but what if axis = [i1,i2,i3]. Does this describe a cyclic permutation where i1->i2->i3->i2 or what does it describe? From abrombo at verizon.net Wed Jun 23 16:13:21 2010 From: abrombo at verizon.net (Alan Bromborsky) Date: Wed, 23 Jun 2010 16:13:21 -0400 Subject: [Numpy-discussion] Transpose Array How? In-Reply-To: <4C2267F1.4060207@verizon.net> References: <4C2267F1.4060207@verizon.net> Message-ID: <4C226AE1.4060508@verizon.net> Alan Bromborsky wrote: > In the transpose function we have transpose(a,axis) where axis can be a > list of integers. But exactly what to the integers mean? If axis = > [i1,i2] switching axis i1 with axis i2 is obvious, but what if axis = > [i1,i2,i3]. Does this describe a cyclic permutation where > i1->i2->i3->i2 or what does it describe? > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > I meant i1->i2->i3->i1 of course! From amcmorl at gmail.com Wed Jun 23 16:22:06 2010 From: amcmorl at gmail.com (Angus McMorland) Date: Wed, 23 Jun 2010 16:22:06 -0400 Subject: [Numpy-discussion] Transpose Array How? In-Reply-To: <4C226AE1.4060508@verizon.net> References: <4C2267F1.4060207@verizon.net> <4C226AE1.4060508@verizon.net> Message-ID: On 23 June 2010 16:13, Alan Bromborsky wrote: > Alan Bromborsky wrote: >> In the transpose function we have transpose(a,axis) where axis can be a >> list of integers. ?But exactly what to the integers mean? If axis = >> [i1,i2] switching axis i1 with axis i2 is obvious, but what if axis = >> [i1,i2,i3]. ?Does this describe a cyclic permutation where >> i1->i2->i3->i2 or what does it describe? The integers represent previous dimension positions, and the position of the integers in the transpose argument represent the new positions. >>> a = np.ones((5,6,7)) >>> a.shape (5, 6, 7) >>> np.transpose(a, (1,0,2)).shape (6, 5, 7) i.e. the dimension 1 in a is moved to the 0th position, dimension 0 in a is in the 1th position, and dimension 2 stays the same. HTH, Angus. -- AJC McMorland Post-doctoral research fellow Neurobiology, University of Pittsburgh From abrombo at verizon.net Wed Jun 23 16:26:57 2010 From: abrombo at verizon.net (Alan Bromborsky) Date: Wed, 23 Jun 2010 16:26:57 -0400 Subject: [Numpy-discussion] Transpose Array How? In-Reply-To: References: <4C2267F1.4060207@verizon.net> <4C226AE1.4060508@verizon.net> Message-ID: <4C226E11.9070506@verizon.net> Angus McMorland wrote: > On 23 June 2010 16:13, Alan Bromborsky wrote: > >> Alan Bromborsky wrote: >> >>> In the transpose function we have transpose(a,axis) where axis can be a >>> list of integers. But exactly what to the integers mean? If axis = >>> [i1,i2] switching axis i1 with axis i2 is obvious, but what if axis = >>> [i1,i2,i3]. Does this describe a cyclic permutation where >>> i1->i2->i3->i2 or what does it describe? >>> > > The integers represent previous dimension positions, and the position > of the integers in the transpose argument represent the new positions. > > >>>> a = np.ones((5,6,7)) >>>> a.shape >>>> > (5, 6, 7) > >>>> np.transpose(a, (1,0,2)).shape >>>> > (6, 5, 7) > > i.e. the dimension 1 in a is moved to the 0th position, dimension 0 in > a is in the 1th position, and dimension 2 stays the same. > > HTH, > > Angus. > Thank you. That is what I needed to know. From d.l.goldsmith at gmail.com Wed Jun 23 17:15:32 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Wed, 23 Jun 2010 14:15:32 -0700 Subject: [Numpy-discussion] Numpy.linalg.eig oddity In-Reply-To: References: <4C220F98.1080006@gmail.com> Message-ID: Is it not possible to update your versions to see if that solves the problem? DG On Wed, Jun 23, 2010 at 11:25 AM, Salim, Fadhley (CA-CIB) < fadhley.salim at ca-cib.com> wrote: > I've been investigating a truly bizarre bug related to the use of > numpy.linalg.eig. > > I have two classes which both use numpy.linalg.eig. These classes are > used at very different times and are not connected in any way other than > the fact that they both share this particular dependancy. > > I have found that whichever class is called second will produce a > slightly different answer if numpy.linalg.eig is used sometime earlier. > I've eliminated all other variables besides the call to eig(). This > seems completely implausible, and yet I have the data. > > As far as I am aware, eig() is wholly stateless and therefore using it > should not affect any subsequent calls to the function, right? > > Numpy==1.2.1, Scipy==0.7.0 > > I've checked the bug-trac for this function and can find no references > to bugs which cause it to hold-state, even in the somewhat out of date > version of numpy. Can somebody let me know if there's something that I'm > missing. > > This email does not create a legal relationship between any member of the > Cr?dit Agricole group and the recipient or constitute investment advice. > The content of this email should not be copied or disclosed (in whole or > part) to any other person. It may contain information which is > confidential, privileged or otherwise protected from disclosure. If you are > not the intended recipient, you should notify us and delete it from your > system. Emails may be monitored, are not secure and may be amended, > destroyed or contain viruses and in communicating with us such conditions > are accepted. Any content which does not relate to business matters is not > endorsed by us. > > Cr?dit Agricole Corporate & Investment Bank is authorised by the Autorit? > de Contr?le Prudentiel (ACP) and supervised by the ACP and the Autorit? des > March?s Financiers (AMF) in France and subject to limited regulation by the > Financial Services Authority. Details about the extent of our regulation by > the Financial Services Authority are available from us on request. Cr?dit > Agricole Corporate & Investment Bank is incorporated in France with limited > liability and registered in England & Wales. Registration number: FC008194. > Registered office: Broadwalk House, 5 Appold Street, London, EC2A 2DA. > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > -- Mathematician: noun, someone who disavows certainty when their uncertainty set is non-empty, even if that set has measure zero. Hope: noun, that delusive spirit which escaped Pandora's jar and, with her lies, prevents mankind from committing a general suicide. (As interpreted by Robert Graves) -------------- next part -------------- An HTML attachment was scrubbed... URL: From robert.kern at gmail.com Wed Jun 23 17:17:27 2010 From: robert.kern at gmail.com (Robert Kern) Date: Wed, 23 Jun 2010 16:17:27 -0500 Subject: [Numpy-discussion] Numpy.linalg.eig oddity In-Reply-To: References: <4C220F98.1080006@gmail.com> Message-ID: On Wed, Jun 23, 2010 at 13:25, Salim, Fadhley (CA-CIB) wrote: > I've been investigating a truly bizarre bug related to the use of > numpy.linalg.eig. > > I have two classes which both use numpy.linalg.eig. These classes are > used at very different times and are not connected in any way other than > the fact that they both share this particular dependancy. > > I have found that whichever class is called second will produce a > slightly different answer if numpy.linalg.eig is used sometime earlier. > I've eliminated all other variables besides the call to eig(). This > seems completely implausible, and yet I have the data. > > As far as I am aware, eig() is wholly stateless and therefore using it > should not affect any subsequent calls to the function, right? > > Numpy==1.2.1, Scipy==0.7.0 > > I've checked the bug-trac for this function and can find no references > to bugs which cause it to hold-state, even in the somewhat out of date > version of numpy. Can somebody let me know if there's something that I'm > missing. I don't think we've seen anything like that before. If you can come up with a small, self-contained script that demonstrates the problem, we will take a look at it. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From d.l.goldsmith at gmail.com Wed Jun 23 18:05:57 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Wed, 23 Jun 2010 15:05:57 -0700 Subject: [Numpy-discussion] Numpy.linalg.eig oddity In-Reply-To: References: <4C220F98.1080006@gmail.com> Message-ID: On Wed, Jun 23, 2010 at 2:17 PM, Robert Kern wrote: > On Wed, Jun 23, 2010 at 13:25, Salim, Fadhley (CA-CIB) > wrote: > > I've been investigating a truly bizarre bug related to the use of > > numpy.linalg.eig. > > > > I have two classes which both use numpy.linalg.eig. These classes are > > used at very different times and are not connected in any way other than > > the fact that they both share this particular dependancy. > > > > I have found that whichever class is called second will produce a > > slightly different answer if numpy.linalg.eig is used sometime earlier. > > I've eliminated all other variables besides the call to eig(). This > > seems completely implausible, and yet I have the data. > > > > As far as I am aware, eig() is wholly stateless and therefore using it > > should not affect any subsequent calls to the function, right? > > > > Numpy==1.2.1, Scipy==0.7.0 > > > > I've checked the bug-trac for this function and can find no references > > to bugs which cause it to hold-state, even in the somewhat out of date > > version of numpy. Can somebody let me know if there's something that I'm > > missing. > > I don't think we've seen anything like that before. If you can come up > with a small, self-contained script that demonstrates the problem, we > will take a look at it. > > -- > Robert Kern > Of course providing what Robert requests would be optimal, but at the very least/in the mean time, if you can provide "the data" you say you have, that might also be helpful. DG -------------- next part -------------- An HTML attachment was scrubbed... URL: From ben.root at ou.edu Thu Jun 24 12:15:21 2010 From: ben.root at ou.edu (Benjamin Root) Date: Thu, 24 Jun 2010 11:15:21 -0500 Subject: [Numpy-discussion] loadtxt() behavior on single-line files Message-ID: Hi, I was having the hardest time trying to figure out an intermittent bug in one of my programs. Essentially, in some situations, it was throwing an error saying that the array object was not an array. It took me a while, but then I figured out that my program was assuming that the object returned from a loadtxt() call was always a structured array (I was using dtypes). However, if the data file being loaded only had one data record, then all you get back is a structured record. import numpy as np from StringIO import StringIO strData = StringIO("89.23 47.2\n13.2 42.2") a = np.loadtxt(strData, dtype=[('x', float), ('y', float)]) print "Length Two" print a print a.shape print len(a) strData = StringIO("53.2 49.2") a = np.loadtxt(strData, dtype=[('x', float), ('y', float)]) print "\n\nLength One" print a print a.shape try : print len(a) except TypeError as err print "ERROR:", err Which gets me this output: Length Two [(89.230000000000004, 47.200000000000003) (13.199999999999999, 42.200000000000003)] (2,) 2 Length One (53.200000000000003, 49.200000000000003) () ERROR: len() of unsized object Note that this isn't restricted to structured arrays. For regular ndarrays, loadtxt() appears to mimic the behavior of np.squeeze(): >>> a = np.ones((1, 1, 1)) >>> np.squeeze(a)[0] IndexError: 0-d arrays can't be indexed >>> strData = StringIO("53.2") >>> a = np.loadtxt(strData) >>> a[0] IndexError: 0-d arrays can't be indexed So, if you have multiple lines with multiple columns, you get a 2-D array, as expected. if you have a single line of data with multiple columns, you get a 1-D array. If you have a single column with many lines, you also get a 1-D array (which is probably expected, I guess). If you have a single column with a single line, you get a scalar (actually, a 0-D array). Is this a bug or a feature? I can see the advantages of having loadtxt() returning the lowest # of dimensions that can hold the given data, but it leaves the code vulnerable to certain edge cases. Maybe there is a different way I should be doing this, but I feel that this behavior at the very least should be included in the loadtxt documentation. Ben Root -------------- next part -------------- An HTML attachment was scrubbed... URL: From friedrichromstedt at gmail.com Thu Jun 24 13:30:07 2010 From: friedrichromstedt at gmail.com (Friedrich Romstedt) Date: Thu, 24 Jun 2010 19:30:07 +0200 Subject: [Numpy-discussion] numpy.load raising IOError but EOFError expected In-Reply-To: References: Message-ID: 2010/6/23 Ruben Salvador : > Therefore, is this a bug? Shouldn't EOFError be raised instead of IOError? > Or am I missunderstanding something? If this is not a bug, how can I detect > the EOF to stop reading (I expect a way for this to work without tweaking > the code with saving first in the file the number of dumps done)? Maybe you can make use of numpy.savez, http://docs.scipy.org/doc/numpy/reference/generated/numpy.savez.html#numpy-savez . Friedrich From warren.weckesser at enthought.com Thu Jun 24 14:00:54 2010 From: warren.weckesser at enthought.com (Warren Weckesser) Date: Thu, 24 Jun 2010 13:00:54 -0500 Subject: [Numpy-discussion] loadtxt() behavior on single-line files In-Reply-To: References: Message-ID: <4C239D56.1090801@enthought.com> Benjamin Root wrote: > Hi, > > I was having the hardest time trying to figure out an intermittent bug > in one of my programs. Essentially, in some situations, it was > throwing an error saying that the array object was not an array. It > took me a while, but then I figured out that my program was assuming > that the object returned from a loadtxt() call was always a structured > array (I was using dtypes). However, if the data file being loaded > only had one data record, then all you get back is a structured record. > > import numpy as np > from StringIO import StringIO > > strData = StringIO("89.23 47.2\n13.2 42.2") > a = np.loadtxt(strData, dtype=[('x', float), ('y', float)]) > print "Length Two" > print a > print a.shape > print len(a) > > strData = StringIO("53.2 49.2") > a = np.loadtxt(strData, dtype=[('x', float), ('y', float)]) > print "\n\nLength One" > print a > print a.shape > try : > print len(a) > except TypeError as err > print "ERROR:", err > > Which gets me this output: > > Length Two > [(89.230000000000004, 47.200000000000003) > (13.199999999999999, 42.200000000000003)] > (2,) > 2 > > > Length One > (53.200000000000003, 49.200000000000003) > () > ERROR: len() of unsized object > > > Note that this isn't restricted to structured arrays. For regular > ndarrays, loadtxt() appears to mimic the behavior of np.squeeze(): Exactly. The last four lines of the function are: X = np.squeeze(X) if unpack: return X.T else: return X > > >>> a = np.ones((1, 1, 1)) > >>> np.squeeze(a)[0] > IndexError: 0-d arrays can't be indexed > > >>> strData = StringIO("53.2") > >>> a = np.loadtxt(strData) > >>> a[0] > IndexError: 0-d arrays can't be indexed > > So, if you have multiple lines with multiple columns, you get a 2-D > array, as expected. > if you have a single line of data with multiple columns, you get a 1-D > array. > If you have a single column with many lines, you also get a 1-D array > (which is probably expected, I guess). > If you have a single column with a single line, you get a scalar > (actually, a 0-D array). > > Is this a bug or a feature? I can see the advantages of having > loadtxt() returning the lowest # of dimensions that can hold the given > data, but it leaves the code vulnerable to certain edge cases. Maybe > there is a different way I should be doing this, but I feel that this > behavior at the very least should be included in the loadtxt > documentation. > It would be useful to be able to tell loadtxt to not call squeeze, so a program that reads column-formatted data doesn't have to treat the case of a single line specially. Warren From Chris.Barker at noaa.gov Thu Jun 24 14:48:24 2010 From: Chris.Barker at noaa.gov (Christopher Barker) Date: Thu, 24 Jun 2010 11:48:24 -0700 Subject: [Numpy-discussion] loadtxt() behavior on single-line files In-Reply-To: <4C239D56.1090801@enthought.com> References: <4C239D56.1090801@enthought.com> Message-ID: <4C23A878.7000705@noaa.gov> Warren Weckesser wrote: > Benjamin Root wrote: >> Note that this isn't restricted to structured arrays. For regular >> ndarrays, loadtxt() appears to mimic the behavior of np.squeeze(): > > Exactly. The last four lines of the function are: > > X = np.squeeze(X) > if unpack: > return X.T > else: > return X > It would be useful to be able to tell loadtxt to not call squeeze, so a > program that reads column-formatted data doesn't have to treat the case > of a single line specially. I agree -- it seem to me that every time I load data, I know what shape I expect the result to be -- I'd never want it to squeeze. It might be nice if you could specify the dimensionality of the array you want. But for now: can you just do a reshape? In [42]: strData = StringIO("53.2 49.2") In[43]:a=p.loadtxt(strData,dtype=[('x',float),('y',float)]).reshape((-1,)) In [45]: a.shape Out[45]: (1,) -Chris -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception Chris.Barker at noaa.gov From ben.root at ou.edu Thu Jun 24 14:53:25 2010 From: ben.root at ou.edu (Benjamin Root) Date: Thu, 24 Jun 2010 13:53:25 -0500 Subject: [Numpy-discussion] loadtxt() behavior on single-line files In-Reply-To: <4C239D56.1090801@enthought.com> References: <4C239D56.1090801@enthought.com> Message-ID: On Thu, Jun 24, 2010 at 1:00 PM, Warren Weckesser < warren.weckesser at enthought.com> wrote: > Benjamin Root wrote: > > Hi, > > > > I was having the hardest time trying to figure out an intermittent bug > > in one of my programs. Essentially, in some situations, it was > > throwing an error saying that the array object was not an array. It > > took me a while, but then I figured out that my program was assuming > > that the object returned from a loadtxt() call was always a structured > > array (I was using dtypes). However, if the data file being loaded > > only had one data record, then all you get back is a structured record. > > > > import numpy as np > > from StringIO import StringIO > > > > strData = StringIO("89.23 47.2\n13.2 42.2") > > a = np.loadtxt(strData, dtype=[('x', float), ('y', float)]) > > print "Length Two" > > print a > > print a.shape > > print len(a) > > > > strData = StringIO("53.2 49.2") > > a = np.loadtxt(strData, dtype=[('x', float), ('y', float)]) > > print "\n\nLength One" > > print a > > print a.shape > > try : > > print len(a) > > except TypeError as err > > print "ERROR:", err > > > > Which gets me this output: > > > > Length Two > > [(89.230000000000004, 47.200000000000003) > > (13.199999999999999, 42.200000000000003)] > > (2,) > > 2 > > > > > > Length One > > (53.200000000000003, 49.200000000000003) > > () > > ERROR: len() of unsized object > > > > > > Note that this isn't restricted to structured arrays. For regular > > ndarrays, loadtxt() appears to mimic the behavior of np.squeeze(): > > Exactly. The last four lines of the function are: > > X = np.squeeze(X) > if unpack: > return X.T > else: > return X > > > > > >>> a = np.ones((1, 1, 1)) > > >>> np.squeeze(a)[0] > > IndexError: 0-d arrays can't be indexed > > > > >>> strData = StringIO("53.2") > > >>> a = np.loadtxt(strData) > > >>> a[0] > > IndexError: 0-d arrays can't be indexed > > > > So, if you have multiple lines with multiple columns, you get a 2-D > > array, as expected. > > if you have a single line of data with multiple columns, you get a 1-D > > array. > > If you have a single column with many lines, you also get a 1-D array > > (which is probably expected, I guess). > > If you have a single column with a single line, you get a scalar > > (actually, a 0-D array). > > > > Is this a bug or a feature? I can see the advantages of having > > loadtxt() returning the lowest # of dimensions that can hold the given > > data, but it leaves the code vulnerable to certain edge cases. Maybe > > there is a different way I should be doing this, but I feel that this > > behavior at the very least should be included in the loadtxt > > documentation. > > > > It would be useful to be able to tell loadtxt to not call squeeze, so a > program that reads column-formatted data doesn't have to treat the case > of a single line specially. > > Warren > I don't know if that is the best way to solve the problem. In that case, you would always get a 2-D array, right? Is that useful for those who have text data as a single column? Maybe a mindim keyword (with None as default) and apply an appropriate "atleast_Nd()" call (or maybe have available an .atleast_nd() function?). But, then what would this mean for structured arrays? One might think that they want at least 2-D, but they really want at least 1-D. Ben Root P.S. - Taking this a step further, the functions completely fail in dealing with empty files... In MATLAB, it returns an empty array (matrix?). -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgohlke at uci.edu Fri Jun 25 14:05:59 2010 From: cgohlke at uci.edu (Christoph Gohlke) Date: Fri, 25 Jun 2010 11:05:59 -0700 Subject: [Numpy-discussion] numscons and Python 2.7 problems In-Reply-To: References: <4C0D5168.3060001@uci.edu> Message-ID: <4C24F007.6020709@uci.edu> On 6/7/2010 1:58 PM, Charles R Harris wrote: > > > On Mon, Jun 7, 2010 at 2:07 PM, Christoph Gohlke > wrote: > > Dear NumPy developers, > > I was trying to build numpy 2.0.dev and scipy 0.9.dev using numscons > 0.12.dev and Python 2.7b2 (32 bit) on Windows 7 64 bit and ran into two > problems. > > > First, Python 2.7's UserDict is now a new-style class > (http://docs.python.org/dev/whatsnew/2.7.html). Apparently scons 1.2, > which is part of numscons, is not compatible with this change and an > AttributeError is thrown: > > > I wonder sometimes if it is worth supporting python versions 2.x > 2.6. > The developers seem intent on breaking the API as much as possible and > support could become a burden. At least 3.x has a policy of keeping the > API intact. I'm only half joking here,. > Good news: Python's 2.7 UserDict has been reverted to an old-style class after release candidate 2. See discussion at Christoph From cgohlke at uci.edu Fri Jun 25 15:31:36 2010 From: cgohlke at uci.edu (Christoph Gohlke) Date: Fri, 25 Jun 2010 12:31:36 -0700 Subject: [Numpy-discussion] Numpy 1.5 for Python 2.7 and 3.1 Message-ID: <4C250418.20009@uci.edu> Dear NumPy developers, at I have posted a patch against numpy svn trunk r8464 that: 1) removes the datetime functionality 2) restores ABI compatibility with numpy 1.4.1 3) enables numpy to build and run on Python 2.7 and 3.1 (at least on Windows) I hope this work can be used to get a numpy 1.5.x branch started. Regarding Python 2.7, which is scheduled to be released within 2 weeks: numpy 1.4.1 does build and work with minor changes (http://projects.scipy.org/numpy/changeset/7926 and followups). However, for Python 2.7, the proposed patch will not be binary compatible with numpy 1.4.1 because it uses PyCapsule instead of PyCObject. Best, Christoph From jsalvati at u.washington.edu Fri Jun 25 15:33:43 2010 From: jsalvati at u.washington.edu (John Salvatier) Date: Fri, 25 Jun 2010 12:33:43 -0700 Subject: [Numpy-discussion] Possible to use numexpr with user made ufuncs/scipy ufuncs? Message-ID: Hello, Does anyone know whether it is possible to use numexpr with scipy ufuncs (such as those in scipy.special) or user made ufuncs? This functionality would be extremely useful. I don't see them in the list of supported functions (http://code.google.com/p/numexpr/wiki/Overview) and I get a 'TypeError: 'VariableNode' object is not callable' error when I try this. Best Regards, John Salvatier -------------- next part -------------- An HTML attachment was scrubbed... URL: From faltet at pytables.org Sat Jun 26 08:24:38 2010 From: faltet at pytables.org (Francesc Alted) Date: Sat, 26 Jun 2010 14:24:38 +0200 Subject: [Numpy-discussion] Possible to use numexpr with user made ufuncs/scipy ufuncs? In-Reply-To: References: Message-ID: <201006261424.38229.faltet@pytables.org> A Friday 25 June 2010 21:33:43 John Salvatier escrigu?: > Hello, > > Does anyone know whether it is possible to use numexpr with scipy ufuncs > (such as those in scipy.special) or user made ufuncs? This functionality > would be extremely useful. I don't see them in the list of supported > functions (http://code.google.com/p/numexpr/wiki/Overview) and I get a > 'TypeError: 'VariableNode' object is not callable' error when I try this. Yeah, you need to explicitly code the support for new functions in numexpr. But another possibility, more doable, would be to code the scipy.special functions by using numexpr as a computing back-end. However, I understand that many scipy.special functions need to evaluate basic transcendental functions (trignonometrical, exponential, logarithmic...), so you should no expect big speed-ups just by using a plain Numexpr. However, you can always link Numexpr with Intel's VML (Vector Math Library), which can use SIMD and multi-core capabilities in modern Intel/AMD processors so as to accelerate the evaluation of such transcendental functions (typically between 2x and 10x, depending on the function and number of cores in your processor). -- Francesc Alted From pav at iki.fi Sat Jun 26 09:19:42 2010 From: pav at iki.fi (Pauli Virtanen) Date: Sat, 26 Jun 2010 15:19:42 +0200 Subject: [Numpy-discussion] Possible to use numexpr with user made ufuncs/scipy ufuncs? In-Reply-To: <201006261424.38229.faltet@pytables.org> References: <201006261424.38229.faltet@pytables.org> Message-ID: <1277558382.2691.2.camel@talisman> Hi, la, 2010-06-26 kello 14:24 +0200, Francesc Alted kirjoitti: [clip] > Yeah, you need to explicitly code the support for new functions in numexpr. > But another possibility, more doable, would be to code the scipy.special > functions by using numexpr as a computing back-end. Would it be possible to add generic support for user-supplied ufuncs into numexpr? This would maybe be more of a convenience feature than a speed improvement, although perhaps some speed could be gained by evaluating ufuncs per-block. -- Pauli Virtanen From jsalvati at u.washington.edu Sat Jun 26 12:24:12 2010 From: jsalvati at u.washington.edu (John Salvatier) Date: Sat, 26 Jun 2010 09:24:12 -0700 Subject: [Numpy-discussion] Possible to use numexpr with user made ufuncs/scipy ufuncs? In-Reply-To: <1277558382.2691.2.camel@talisman> References: <201006261424.38229.faltet@pytables.org> <1277558382.2691.2.camel@talisman> Message-ID: OK, perhaps I will just continue preevaluating the expressions involving special functions. Thank you for the help Fancesc +1 to Pauli's suggestion. On Sat, Jun 26, 2010 at 6:19 AM, Pauli Virtanen wrote: > Hi, > > la, 2010-06-26 kello 14:24 +0200, Francesc Alted kirjoitti: > [clip] > > Yeah, you need to explicitly code the support for new functions in > numexpr. > > But another possibility, more doable, would be to code the scipy.special > > functions by using numexpr as a computing back-end. > > Would it be possible to add generic support for user-supplied ufuncs > into numexpr? This would maybe be more of a convenience feature than a > speed improvement, although perhaps some speed could be gained by > evaluating ufuncs per-block. > > -- > Pauli Virtanen > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -------------- next part -------------- An HTML attachment was scrubbed... URL: From faltet at pytables.org Sat Jun 26 12:51:52 2010 From: faltet at pytables.org (Francesc Alted) Date: Sat, 26 Jun 2010 17:51:52 +0100 Subject: [Numpy-discussion] Possible to use numexpr with user made ufuncs/scipy ufuncs? In-Reply-To: <1277558382.2691.2.camel@talisman> References: <201006261424.38229.faltet@pytables.org> <1277558382.2691.2.camel@talisman> Message-ID: 2010/6/26 Pauli Virtanen > Hi, > > la, 2010-06-26 kello 14:24 +0200, Francesc Alted kirjoitti: > [clip] > > Yeah, you need to explicitly code the support for new functions in > numexpr. > > But another possibility, more doable, would be to code the scipy.special > > functions by using numexpr as a computing back-end. > > Would it be possible to add generic support for user-supplied ufuncs > into numexpr? This would maybe be more of a convenience feature than a > speed improvement, although perhaps some speed could be gained by > evaluating ufuncs per-block. > Well, I'd say that this support can be faked in numexpr easily. For example, if one want to compute a certain ufunc called, say, sincos(x) defined as sin(cos(x)) (okay, that's very simple, but it will suffice for demonstration purposes), he can express that as sincos = "sin(cos(%s))", and then use it in a more complex expression like: "%s+1*cos(%s)" % (sincos % 'x', 'y') that will be expanded as: "sin(cos(x))+1*cos(y)" Of course, this is a bit crude, but I'd say that's more than enough for allowing the evaluation of moderately complex expressions. Having said this, one can always think in setting up a wrapper for doing a similar thing more elegantly (although I'm not sure if this is worth the effort). -- Francesc Alted -------------- next part -------------- An HTML attachment was scrubbed... URL: From sierra_mtnview at sbcglobal.net Sat Jun 26 13:12:25 2010 From: sierra_mtnview at sbcglobal.net (Wayne Watson) Date: Sat, 26 Jun 2010 10:12:25 -0700 Subject: [Numpy-discussion] Solving a NLLSQ Problem by Pieces? Message-ID: <4C2634F9.4080003@sbcglobal.net> The context here is astronomy and optics. The real point is in the last paragraph. I'm looking at a paper that deals with 5 NL (nonlinear) equations and 8 unknown parameters. A. a=a0+arctan((y-y0)/(x-x0) B. z=V*r+S*e**(D*r) r=sqrt((x-x0)**2+(y-y0)**2) and C. cos(z)=cos(u)*cos(z)-sin(u)*sin(ep)*cos(b) sin(a-E) = sin(b)*sin(u)/sin(z) He's trying to estimate parameters of a fisheye lens which has taken star images on a photo plate. For example, x0,y0 is the offset of the center of projection from the zenith (camera not pointing straight up in the sky.) Eq. 2 expresses some nonlinearity in the lens. a0, xo, y0, V, S, D, ep, and E are the parameters. It looks like he uses gradient descent (NLLSQ is nonlinear least squares in Subject.), and takes each equation in turn using the parameter values from the preceding one in the next, B. He provides reasonable initial estimates. A final step uses all eight parameters. He re-examines ep and E, and assigns new estimates. For all (star positions) on the photo plate, he minimizes SUM (Fi**2*Gi) using values from the step for A and B, except for x0,y0. He then does some more dithering, which I'll skip. What I've presented is probably a bit difficult to understand without a good optics understanding, but my question is something like is this commonly done to solve a system of NLLSQ? It looks a bit wild. I guess if one knows his subject well, then bringing some "extra" knowledge to the process helps. As I understand it, he solves parameters in A, then uses them in B, and so on. I guess that's a reasonable way to do it. -- Wayne Watson (Watson Adventures, Prop., Nevada City, CA) (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) Obz Site: 39? 15' 7" N, 121? 2' 32" W, 2700 feet Air travel safety Plus Three/Minus 8 rule. Eighty % of crashes take place in the first 3 minutes and last 8 minutes. Survival chances are good in you're paying attention. No hard drinks prior to those periods. No sleeping pills either. Sit within 5 rows of an exit door. --The Survivors Club, Ben Sherwood Web Page: From pav at iki.fi Sat Jun 26 13:17:43 2010 From: pav at iki.fi (Pauli Virtanen) Date: Sat, 26 Jun 2010 17:17:43 +0000 (UTC) Subject: [Numpy-discussion] Possible to use numexpr with user made ufuncs/scipy ufuncs? References: <201006261424.38229.faltet@pytables.org> <1277558382.2691.2.camel@talisman> Message-ID: Sat, 26 Jun 2010 17:51:52 +0100, Francesc Alted wrote: [clip] > Well, I'd say that this support can be faked in numexpr easily. For > example, if one want to compute a certain ufunc called, say, sincos(x) > defined as sin(cos(x)) (okay, that's very simple, but it will suffice > for demonstration purposes), he can express that as sincos = > "sin(cos(%s))", and then use it in a more complex expression like: > > "%s+1*cos(%s)" % (sincos % 'x', 'y') > > that will be expanded as: > > "sin(cos(x))+1*cos(y)" > > Of course, this is a bit crude, but I'd say that's more than enough for > allowing the evaluation of moderately complex expressions. But what if such an expression does not exist? For example, there is no finite closed form expression for the Bessel functions in terms of elementary functions. An accurate implementation is rather complicated, and usually piecewise defined. For convenience reasons, it could be useful if one could do something like numexpr.evaluate("cos(iv(0, x))", functions=dict(iv=scipy.special.iv)) and this would be translated to numexpr bytecode that would make a Python function call to obtain "iv(0, x)" for each block of data required, assuming "iv" is a vectorized function. It's of course possible to precompute the value of "iv(0, x)", but this is extra hassle and requires additional memory. -- Pauli Virtanen From aarchiba at physics.mcgill.ca Sat Jun 26 13:32:44 2010 From: aarchiba at physics.mcgill.ca (Anne Archibald) Date: Sat, 26 Jun 2010 13:32:44 -0400 Subject: [Numpy-discussion] Solving a NLLSQ Problem by Pieces? In-Reply-To: <4C2634F9.4080003@sbcglobal.net> References: <4C2634F9.4080003@sbcglobal.net> Message-ID: The basic problem with nonlinear least squares fitting, as with other nonlinear minimization problems, is that the standard algorithms find only a local minimum. It's easy to miss the global minimum and instead settle on a local minimum that is in fact a horrible fit. To deal with this, there are global optimization techniques - simulated annealing, genetic algorithms, and what have you (including the simplest, explore the whole space with a "dense enough" grid then fine-tune the best one with a local optimizer) - but they're computationally very expensive and not always reliable. So when it's possible to use domain-specific knowledge to make sure what you're settling on is the real minimum, this is a better solution. In this specific case, as in many optimization problems, the problem can be viewed as a series of nested approximations. The crudest approximation might even be linear in some cases; but the point is, you solve the first approximation first because it has fewer parameters and a solution space you understand better (e.g. maybe you can be sure it only has one local minimum). Then because your approximations are by assumption nested, adding more parameters complicates the space you're solving over, but you can be reasonably confident that you're "close" to the right solution already. (If your approximations are "orthogonal" in the right sense, you can even fix the parameters from previous stages and optimize only the new ones; be careful with this, though.) This approach is a very good way to incorporate domain-specific knowledge into your code, but you need to parameterize your problem as a series of nested approximations, and if it turns out the corrections are not small you can still get yourself into trouble. (Or, for that matter, if the initial solution space is complex enough you can still get yourself in trouble. Or if you're not careful your solver can take your sensible initial guess at some stage and zip off into never-never land instead of exploring "nearby".) If you're interested in how other people solve this particular problem, you could take a look at the open-source panorama stitcher "hugin", which fits for a potentially very large number of parameters, including a camera model. To bring this back nearer to on-topic, you will naturally not find domain-specific knowledge built into scipy or numpy, but you will find various local and global optimizers, some of which are specialized for the case of least-squares. So if you wanted to implement this sort of thing with scipy, you could write the domain-specific code yourself and simply call into one of scipy's optimizers. You could also look at OpenOpt, a scikit containing a number of global optimizers. Anne P.S. This question would be better suited to scipy-user or astropy than numpy-discussion. -A On 26 June 2010 13:12, Wayne Watson wrote: > The context here is astronomy and optics. The real point is in the last > paragraph. > > I'm looking at a paper that deals with 5 NL (nonlinear) equations and 8 > unknown parameters. > A. a=a0+arctan((y-y0)/(x-x0) > B. z=V*r+S*e**(D*r) > ? ?r=sqrt((x-x0)**2+(y-y0)**2) > and > C. ?cos(z)=cos(u)*cos(z)-sin(u)*sin(ep)*cos(b) > ? ? sin(a-E) = sin(b)*sin(u)/sin(z) > > > He's trying to estimate parameters of a fisheye lens which has taken > star images on a photo plate. For example, x0,y0 is the offset of the > center of projection from the zenith (camera not pointing straight up in > the sky.) Eq. 2 expresses some nonlinearity in the lens. > > a0, xo, y0, V, S, D, ep, and E are the parameters. It looks like he uses > gradient descent (NLLSQ is nonlinear least squares in Subject.), and > takes each equation in turn using the parameter values from the > preceding one in the next, B. He provides reasonable initial estimates. > > A final step uses all eight parameters. He re-examines ep and E, and > assigns new estimates. For all (star positions) on the photo plate, he > minimizes SUM (Fi**2*Gi) using values from the step for A and B, except > for x0,y0. He then does some more dithering, which I'll skip. > > What I've presented is probably a bit difficult to understand without a > good optics understanding, but my question is something like is this > commonly done to solve a system of NLLSQ? It looks a bit wild. I guess > if one knows his subject well, then bringing some "extra" knowledge to > the process helps. As I understand it, he solves parameters in A, then > uses them in B, and so on. I guess that's a reasonable way to do it. > > -- > ? ? ? ? ? ?Wayne Watson (Watson Adventures, Prop., Nevada City, CA) > > ? ? ? ? ? ? ?(121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) > ? ? ? ? ? ? ? Obz Site: ?39? 15' 7" N, 121? 2' 32" W, 2700 feet > > ? ? ? ? ? ? ? Air travel safety Plus Three/Minus 8 rule. Eighty % > ? ? ? ? ? ? ? of crashes take place in the first 3 minutes and > ? ? ? ? ? ? ? last 8 minutes. Survival chances are good in you're > ? ? ? ? ? ? ? paying attention. No hard drinks prior to those > ? ? ? ? ? ? ? periods. No sleeping pills either. Sit within 5 rows > ? ? ? ? ? ? ? of an exit door. --The Survivors Club, Ben Sherwood > > > ? ? ? ? ? ? ? ? ? ? Web Page: > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From vincent at vincentdavis.net Sat Jun 26 16:41:28 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Sat, 26 Jun 2010 14:41:28 -0600 Subject: [Numpy-discussion] Documentation error in numpy.random.logseries Message-ID: numpy.random.logseries(p, size=None) but the parameters section, Parameters: loc : float scale : float > 0. size : {tuple, int} Output shape. If the given shape is, e.g., (m, n, k), then m * n * k samples are drawn. Notice that p <> loc and what about scale. I'll file a ticket unless I am mission something, Which should it be loc or p What about scale. There is no numpy-dev list right? Should this list be used or the scipy-dev list> Vincent From vincent at vincentdavis.net Sat Jun 26 16:47:41 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Sat, 26 Jun 2010 14:47:41 -0600 Subject: [Numpy-discussion] Documentation error in numpy.random.logseries In-Reply-To: References: Message-ID: On Sat, Jun 26, 2010 at 2:41 PM, Vincent Davis wrote: > numpy.random.logseries(p, size=None) > > but the parameters section, > Parameters: > loc : float > scale : float > 0. > size : {tuple, int} > Output shape. If the given shape is, e.g., (m, n, k), then m * n * k > samples are drawn. > > Notice that p <> loc and what about scale. > > I'll file a ticket unless I am mission something, > Which should it be loc or p > What about scale. I was looking at this page http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.logseries.html#numpy.random.logseries To partially answer my own question np.random.logseries(p=.923456789, size=(3, 2)) array([[31, 1], [ 2, 38], [ 1, 1]]) "loc" is not valid, "scale" is not valid > > There is no numpy-dev list right? Should this list be used or the > scipy-dev list> > > Vincent > From josef.pktd at gmail.com Sat Jun 26 16:55:41 2010 From: josef.pktd at gmail.com (josef.pktd at gmail.com) Date: Sat, 26 Jun 2010 16:55:41 -0400 Subject: [Numpy-discussion] Documentation error in numpy.random.logseries In-Reply-To: References: Message-ID: On Sat, Jun 26, 2010 at 4:47 PM, Vincent Davis wrote: > On Sat, Jun 26, 2010 at 2:41 PM, Vincent Davis wrote: >> numpy.random.logseries(p, size=None) >> >> but the parameters section, >> Parameters: >> loc : float >> scale : float > 0. >> size : {tuple, int} >> Output shape. If the given shape is, e.g., (m, n, k), then m * n * k >> samples are drawn. >> >> Notice that p <> loc and what about scale. >> >> I'll file a ticket unless I am mission something, >> Which should it be loc or p >> What about scale. > > I was looking at this page > http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.logseries.html#numpy.random.logseries > > To partially answer my own question > np.random.logseries(p=.923456789, size=(3, 2)) > array([[31, ?1], > ? ? ? [ 2, 38], > ? ? ? [ 1, ?1]]) > > "loc" is not valid, > "scale" is not valid this might be a copy-paste error, logseries is tested against scipy.stats.logser I will check it, but I think you are right and loc, scale should be replaced in the docs by the explanation of p. numpy-discussion is the right list for this. Josef >> >> There is no numpy-dev list right? Should this list be used or the >> scipy-dev list> >> >> Vincent >> > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From d.l.goldsmith at gmail.com Sat Jun 26 16:58:45 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Sat, 26 Jun 2010 13:58:45 -0700 Subject: [Numpy-discussion] Documentation error in numpy.random.logseries In-Reply-To: References: Message-ID: On Sat, Jun 26, 2010 at 1:41 PM, Vincent Davis wrote: > numpy.random.logseries(p, size=None) > > but the parameters section, > Parameters: > loc : float > scale : float > 0. > size : {tuple, int} > Output shape. If the given shape is, e.g., (m, n, k), then m * n * k > samples are drawn. > > Notice that p <> loc and what about scale. > > I'll file a ticket unless I am mission something, > Which should it be loc or p > What about scale. > The source is opaque (to me; Cython?) so unless you can decipher it, test actual behavior and document that - my guess is that p is short for "parameters" and is intended to be a two-element array_like containing both the loc and scale parameters, but that's the way it should be documented, not with some unprecedented reference to loc and scale when the signature specifies p, but as I said, check that first. There is no numpy-dev list right? Should this list be used or the > scipy-dev list> > That's a good Q: this is definitely a "bug" in the doc (loc and scale shouldn't be documented as such when they're not explicitly in the function signature), in which case scipy-dev is the proper place to post, but if it turns out to be a bug in the code also, then this is the proper place, since all numpy devs are subscribed here, and numpy users should know about potential bugs (numpy devs will correct me if I'm wrong). DG > Vincent > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -- Mathematician: noun, someone who disavows certainty when their uncertainty set is non-empty, even if that set has measure zero. Hope: noun, that delusive spirit which escaped Pandora's jar and, with her lies, prevents mankind from committing a general suicide. (As interpreted by Robert Graves) -------------- next part -------------- An HTML attachment was scrubbed... URL: From josef.pktd at gmail.com Sat Jun 26 17:04:38 2010 From: josef.pktd at gmail.com (josef.pktd at gmail.com) Date: Sat, 26 Jun 2010 17:04:38 -0400 Subject: [Numpy-discussion] Documentation error in numpy.random.logseries In-Reply-To: References: Message-ID: On Sat, Jun 26, 2010 at 4:58 PM, David Goldsmith wrote: > On Sat, Jun 26, 2010 at 1:41 PM, Vincent Davis > wrote: >> >> numpy.random.logseries(p, size=None) >> >> but the parameters section, >> Parameters: >> loc : float >> scale : float > 0. >> size : {tuple, int} >> Output shape. If the given shape is, e.g., (m, n, k), then m * n * k >> samples are drawn. >> >> Notice that p <> loc and what about scale. >> >> I'll file a ticket unless I am mission something, >> Which should it be loc or p >> What about scale. > > The source is opaque (to me; Cython?) so unless you can decipher it, test > actual behavior and document that - my guess is that p is short for > "parameters" and is intended to be a two-element array_like containing both > the loc and scale parameters, but that's the way it should be documented, > not with some unprecedented reference to loc and scale when the signature > specifies p, but as I said, check that first. >>> np.source(stats.distributions.logser_gen) class logser_gen(rv_discrete): def _rvs(self, pr): return mtrand.logseries(pr,size=self._size) def _argcheck(self, pr): return (pr > 0) & (pr < 1) def _pmf(self, k, pr): return -pr**k * 1.0 / k / log(1-pr) p is a probability between in (0,1), just a mistake in the documentation. > >> There is no numpy-dev list right? Should this list be used or the >> scipy-dev list> > > That's a good Q: this is definitely a "bug" in the doc (loc and scale > shouldn't be documented as such when they're not explicitly in the function > signature), in which case scipy-dev is the proper place to post, but if it > turns out to be a bug in the code also, then this is the proper place, since > all numpy devs are subscribed here, and numpy users should know about > potential bugs (numpy devs will correct me if I'm wrong). I think question about the substance/content of the docstrings should always go to the mailing list of the corresponding function. Josef > > DG >> >> Vincent >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > > -- > Mathematician: noun, someone who disavows certainty when their uncertainty > set is non-empty, even if that set has measure zero. > > Hope: noun, that delusive spirit which escaped Pandora's jar and, with her > lies, prevents mankind from committing a general suicide. ?(As interpreted > by Robert Graves) > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > From vincent at vincentdavis.net Sat Jun 26 17:12:50 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Sat, 26 Jun 2010 15:12:50 -0600 Subject: [Numpy-discussion] Documentation error in numpy.random.logseries In-Reply-To: References: Message-ID: On Sat, Jun 26, 2010 at 3:04 PM, wrote: > On Sat, Jun 26, 2010 at 4:58 PM, David Goldsmith > wrote: >> On Sat, Jun 26, 2010 at 1:41 PM, Vincent Davis >> wrote: >>> >>> numpy.random.logseries(p, size=None) >>> >>> but the parameters section, >>> Parameters: >>> loc : float >>> scale : float > 0. >>> size : {tuple, int} >>> Output shape. If the given shape is, e.g., (m, n, k), then m * n * k >>> samples are drawn. Thanks, I'll file a ticket Vincent >>> >>> Notice that p <> loc and what about scale. >>> >>> I'll file a ticket unless I am mission something, >>> Which should it be loc or p >>> What about scale. >> >> The source is opaque (to me; Cython?) so unless you can decipher it, test >> actual behavior and document that - my guess is that p is short for >> "parameters" and is intended to be a two-element array_like containing both >> the loc and scale parameters, but that's the way it should be documented, >> not with some unprecedented reference to loc and scale when the signature >> specifies p, but as I said, check that first. > >>>> np.source(stats.distributions.logser_gen) > > class logser_gen(rv_discrete): > ? ?def _rvs(self, pr): > ? ? ? ?return mtrand.logseries(pr,size=self._size) > ? ?def _argcheck(self, pr): > ? ? ? ?return (pr > 0) & (pr < 1) > ? ?def _pmf(self, k, pr): > ? ? ? ?return -pr**k * 1.0 / k / log(1-pr) > > p is a probability between in (0,1), just a mistake in the documentation. > >> >>> There is no numpy-dev list right? Should this list be used or the >>> scipy-dev list> >> >> That's a good Q: this is definitely a "bug" in the doc (loc and scale >> shouldn't be documented as such when they're not explicitly in the function >> signature), in which case scipy-dev is the proper place to post, but if it >> turns out to be a bug in the code also, then this is the proper place, since >> all numpy devs are subscribed here, and numpy users should know about >> potential bugs (numpy devs will correct me if I'm wrong). > > I think question about the substance/content of the docstrings should > always go to the mailing list of the corresponding function. > > Josef > >> >> DG >>> >>> Vincent >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> >> >> -- >> Mathematician: noun, someone who disavows certainty when their uncertainty >> set is non-empty, even if that set has measure zero. >> >> Hope: noun, that delusive spirit which escaped Pandora's jar and, with her >> lies, prevents mankind from committing a general suicide. ?(As interpreted >> by Robert Graves) >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From josef.pktd at gmail.com Sat Jun 26 17:18:48 2010 From: josef.pktd at gmail.com (josef.pktd at gmail.com) Date: Sat, 26 Jun 2010 17:18:48 -0400 Subject: [Numpy-discussion] Documentation error in numpy.random.logseries In-Reply-To: References: Message-ID: On Sat, Jun 26, 2010 at 5:12 PM, Vincent Davis wrote: > On Sat, Jun 26, 2010 at 3:04 PM, ? wrote: >> On Sat, Jun 26, 2010 at 4:58 PM, David Goldsmith >> wrote: >>> On Sat, Jun 26, 2010 at 1:41 PM, Vincent Davis >>> wrote: >>>> >>>> numpy.random.logseries(p, size=None) >>>> >>>> but the parameters section, >>>> Parameters: >>>> loc : float >>>> scale : float > 0. >>>> size : {tuple, int} >>>> Output shape. If the given shape is, e.g., (m, n, k), then m * n * k >>>> samples are drawn. > > Thanks, I'll file a ticket Don't file a ticket, just edit the docs. It's just the docstring not the source the Return is also wrong samples : {ndarray, scalar} where the values are all integers in [0, n]. sample values are greater or equal to one, but unbound above >>> stats.logser.pmf(np.arange(10000, 10005),0.99999) array([ 7.85931402e-06, 7.85844959e-06, 7.85758532e-06, 7.85672123e-06, 7.85585731e-06]) Josef > Vincent > >>>> >>>> Notice that p <> loc and what about scale. >>>> >>>> I'll file a ticket unless I am mission something, >>>> Which should it be loc or p >>>> What about scale. >>> >>> The source is opaque (to me; Cython?) so unless you can decipher it, test >>> actual behavior and document that - my guess is that p is short for >>> "parameters" and is intended to be a two-element array_like containing both >>> the loc and scale parameters, but that's the way it should be documented, >>> not with some unprecedented reference to loc and scale when the signature >>> specifies p, but as I said, check that first. >> >>>>> np.source(stats.distributions.logser_gen) >> >> class logser_gen(rv_discrete): >> ? ?def _rvs(self, pr): >> ? ? ? ?return mtrand.logseries(pr,size=self._size) >> ? ?def _argcheck(self, pr): >> ? ? ? ?return (pr > 0) & (pr < 1) >> ? ?def _pmf(self, k, pr): >> ? ? ? ?return -pr**k * 1.0 / k / log(1-pr) >> >> p is a probability between in (0,1), just a mistake in the documentation. >> >>> >>>> There is no numpy-dev list right? Should this list be used or the >>>> scipy-dev list> >>> >>> That's a good Q: this is definitely a "bug" in the doc (loc and scale >>> shouldn't be documented as such when they're not explicitly in the function >>> signature), in which case scipy-dev is the proper place to post, but if it >>> turns out to be a bug in the code also, then this is the proper place, since >>> all numpy devs are subscribed here, and numpy users should know about >>> potential bugs (numpy devs will correct me if I'm wrong). >> >> I think question about the substance/content of the docstrings should >> always go to the mailing list of the corresponding function. >> >> Josef >> >>> >>> DG >>>> >>>> Vincent >>>> _______________________________________________ >>>> NumPy-Discussion mailing list >>>> NumPy-Discussion at scipy.org >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >>> >>> >>> -- >>> Mathematician: noun, someone who disavows certainty when their uncertainty >>> set is non-empty, even if that set has measure zero. >>> >>> Hope: noun, that delusive spirit which escaped Pandora's jar and, with her >>> lies, prevents mankind from committing a general suicide. ?(As interpreted >>> by Robert Graves) >>> >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >>> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From vincent at vincentdavis.net Sat Jun 26 17:32:27 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Sat, 26 Jun 2010 15:32:27 -0600 Subject: [Numpy-discussion] printing of array and leading white space ? Message-ID: This is a little strange and I am not sure what is going on. Look at the number of spaced before the first number in the array. >>> x = np.array([629.54440098249688162, 26186.5470310494529258 ]) >>> x array([ 629.54440098249688162, 26186.5470310494529258 ]) 3 spaces before 629.544... >>> x = np.array([629.54440098249688162, 2634186.5470310494529258 ]) >>> x array([ 6.29544400982496882e+02, 2.63418654703104962e+06]) 2 spaces There are many different ways experiment, and I assume that the spaces are there to help the printed array look better. The 3 spaces are not there is the second digit is shorter. The thing is I can't think of an example where the 3 spaces are needed. Is there an example? Vincent From vincent at vincentdavis.net Sat Jun 26 17:34:26 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Sat, 26 Jun 2010 15:34:26 -0600 Subject: [Numpy-discussion] Documentation error in numpy.random.logseries In-Reply-To: References: Message-ID: On Sat, Jun 26, 2010 at 3:18 PM, wrote: > On Sat, Jun 26, 2010 at 5:12 PM, Vincent Davis wrote: >> On Sat, Jun 26, 2010 at 3:04 PM, ? wrote: >>> On Sat, Jun 26, 2010 at 4:58 PM, David Goldsmith >>> wrote: >>>> On Sat, Jun 26, 2010 at 1:41 PM, Vincent Davis >>>> wrote: >>>>> >>>>> numpy.random.logseries(p, size=None) >>>>> >>>>> but the parameters section, >>>>> Parameters: >>>>> loc : float >>>>> scale : float > 0. >>>>> size : {tuple, int} >>>>> Output shape. If the given shape is, e.g., (m, n, k), then m * n * k >>>>> samples are drawn. >> >> Thanks, I'll file a ticket > > Don't file a ticket, just edit the docs. It's just the docstring not the source Ok, I just need to remember to make the changes :-) Vincent > > the Return is also wrong > > samples : {ndarray, scalar} > ? ?where the values are all integers in [0, n]. > > sample values are greater or equal to one, but unbound above > >>>> stats.logser.pmf(np.arange(10000, 10005),0.99999) > array([ ?7.85931402e-06, ? 7.85844959e-06, ? 7.85758532e-06, > ? ? ? ? 7.85672123e-06, ? 7.85585731e-06]) > > Josef > >> Vincent >> >>>>> >>>>> Notice that p <> loc and what about scale. >>>>> >>>>> I'll file a ticket unless I am mission something, >>>>> Which should it be loc or p >>>>> What about scale. >>>> >>>> The source is opaque (to me; Cython?) so unless you can decipher it, test >>>> actual behavior and document that - my guess is that p is short for >>>> "parameters" and is intended to be a two-element array_like containing both >>>> the loc and scale parameters, but that's the way it should be documented, >>>> not with some unprecedented reference to loc and scale when the signature >>>> specifies p, but as I said, check that first. >>> >>>>>> np.source(stats.distributions.logser_gen) >>> >>> class logser_gen(rv_discrete): >>> ? ?def _rvs(self, pr): >>> ? ? ? ?return mtrand.logseries(pr,size=self._size) >>> ? ?def _argcheck(self, pr): >>> ? ? ? ?return (pr > 0) & (pr < 1) >>> ? ?def _pmf(self, k, pr): >>> ? ? ? ?return -pr**k * 1.0 / k / log(1-pr) >>> >>> p is a probability between in (0,1), just a mistake in the documentation. >>> >>>> >>>>> There is no numpy-dev list right? Should this list be used or the >>>>> scipy-dev list> >>>> >>>> That's a good Q: this is definitely a "bug" in the doc (loc and scale >>>> shouldn't be documented as such when they're not explicitly in the function >>>> signature), in which case scipy-dev is the proper place to post, but if it >>>> turns out to be a bug in the code also, then this is the proper place, since >>>> all numpy devs are subscribed here, and numpy users should know about >>>> potential bugs (numpy devs will correct me if I'm wrong). >>> >>> I think question about the substance/content of the docstrings should >>> always go to the mailing list of the corresponding function. >>> >>> Josef >>> >>>> >>>> DG >>>>> >>>>> Vincent >>>>> _______________________________________________ >>>>> NumPy-Discussion mailing list >>>>> NumPy-Discussion at scipy.org >>>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>>> >>>> >>>> >>>> -- >>>> Mathematician: noun, someone who disavows certainty when their uncertainty >>>> set is non-empty, even if that set has measure zero. >>>> >>>> Hope: noun, that delusive spirit which escaped Pandora's jar and, with her >>>> lies, prevents mankind from committing a general suicide. ?(As interpreted >>>> by Robert Graves) >>>> >>>> _______________________________________________ >>>> NumPy-Discussion mailing list >>>> NumPy-Discussion at scipy.org >>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>>> >>>> >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From vincent at vincentdavis.net Sat Jun 26 17:36:07 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Sat, 26 Jun 2010 15:36:07 -0600 Subject: [Numpy-discussion] numpy.random.pareto, missing "returns" in the docs Message-ID: numpy.random.pareto, missing "returns" in the docs http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.pareto.html#numpy.random.pareto Vincent From vincent at vincentdavis.net Sat Jun 26 17:40:29 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Sat, 26 Jun 2010 15:40:29 -0600 Subject: [Numpy-discussion] numpy.random.poisson docs missing "Returns" Message-ID: numpy.random.poisson docs missing "Returns" http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.poisson.html#numpy.random.poisson From josef.pktd at gmail.com Sat Jun 26 17:50:29 2010 From: josef.pktd at gmail.com (josef.pktd at gmail.com) Date: Sat, 26 Jun 2010 17:50:29 -0400 Subject: [Numpy-discussion] numpy.random.poisson docs missing "Returns" In-Reply-To: References: Message-ID: On Sat, Jun 26, 2010 at 5:40 PM, Vincent Davis wrote: > numpy.random.poisson docs missing "Returns" > http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.poisson.html#numpy.random.poisson You could just copy a generic Returns section to all of these. They all return a sample (array or int, array or float) of the requested shape. Josef > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From d.l.goldsmith at gmail.com Sat Jun 26 17:56:20 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Sat, 26 Jun 2010 14:56:20 -0700 Subject: [Numpy-discussion] numpy.random.poisson docs missing "Returns" In-Reply-To: References: Message-ID: Something is systematically wrong if there are this many problems in the numpy.stats docstrings: numpy is supposed to be (was) almost completely ready for review; please focus on scipy unless/until the reason why there are now so many problems in numpy.stats can be determined (I suspect the numpy.stats code has been made to call the scipy.stats.distributions module, and all those docstrings have been marked "Unimportant" - meaning do not edit - either permanently, in the case of the instances, or temporarily in the case of the base classes from which the instances are created). Bottom line: if it doesn't start w/ scipy, leave it alone (for now). DG On Sat, Jun 26, 2010 at 2:40 PM, Vincent Davis wrote: > numpy.random.poisson docs missing "Returns" > > http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.poisson.html#numpy.random.poisson > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -- Mathematician: noun, someone who disavows certainty when their uncertainty set is non-empty, even if that set has measure zero.at Hope: noun, that delusive spirit which escaped Pandora's jar and, with her lies, prevents mankind from committing a general suicide. (As interpreted by Robert Graves) -------------- next part -------------- An HTML attachment was scrubbed... URL: From josef.pktd at gmail.com Sat Jun 26 18:03:24 2010 From: josef.pktd at gmail.com (josef.pktd at gmail.com) Date: Sat, 26 Jun 2010 18:03:24 -0400 Subject: [Numpy-discussion] numpy.random.poisson docs missing "Returns" In-Reply-To: References: Message-ID: On Sat, Jun 26, 2010 at 5:56 PM, David Goldsmith wrote: > Something is systematically wrong if there are this many problems in the > numpy.stats docstrings: numpy is supposed to be (was) almost completely > ready for review; please focus on scipy unless/until the reason why there > are now so many problems in numpy.stats can be determined (I suspect the > numpy.stats code has been made to call the scipy.stats.distributions module, > and all those docstrings have been marked "Unimportant" - meaning do not > edit - either permanently, in the case of the instances, or temporarily in > the case of the base classes from which the instances are created). > > Bottom line: if it doesn't start w/ scipy, leave it alone (for now). It's missing in several functions and incorrect docstrings have to be corrected. Look at the log of e.g. pareto in the editor, the returns have never been added, unless you find any missing revisions that are not in the doc editor. Josef > > DG > > On Sat, Jun 26, 2010 at 2:40 PM, Vincent Davis > wrote: >> >> numpy.random.poisson docs missing "Returns" >> >> http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.poisson.html#numpy.random.poisson >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > > -- > Mathematician: noun, someone who disavows certainty when their uncertainty > set is non-empty, even if that set has measure zero.at > > Hope: noun, that delusive spirit which escaped Pandora's jar and, with her > lies, prevents mankind from committing a general suicide. ?(As interpreted > by Robert Graves) > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > From vincent at vincentdavis.net Sat Jun 26 18:05:52 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Sat, 26 Jun 2010 16:05:52 -0600 Subject: [Numpy-discussion] numpy.random.poisson docs missing "Returns" In-Reply-To: References: Message-ID: On Sat, Jun 26, 2010 at 3:56 PM, David Goldsmith wrote: > Something is systematically wrong if there are this many problems in the > numpy.stats docstrings: numpy is supposed to be (was) almost completely > ready for review; please focus on scipy unless/until the reason why there > are now so many problems in numpy.stats can be determined (I suspect the > numpy.stats code has been made to call the scipy.stats.distributions module, > and all those docstrings have been marked "Unimportant" - meaning do not > edit - either permanently, in the case of the instances, or temporarily in > the case of the base classes from which the instances are created). I ran across several more. missing returns and a little inconsistency with shape being defined as "shape" or "a" a few other things. I just stopped posting them to the list > > Bottom line: if it doesn't start w/ scipy, leave it alone (for now). I had started a simple set of tests for the rand functions to catch problems like the one resulting from the way the enthought distr. was calculating randn(), I was just finishing that and making note of what I say in the docs as I did so. I am moving back to the scipy docs soon. Vincent > > DG > > On Sat, Jun 26, 2010 at 2:40 PM, Vincent Davis > wrote: >> >> numpy.random.poisson docs missing "Returns" >> >> http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.poisson.html#numpy.random.poisson >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > > -- > Mathematician: noun, someone who disavows certainty when their uncertainty > set is non-empty, even if that set has measure zero.at > > Hope: noun, that delusive spirit which escaped Pandora's jar and, with her > lies, prevents mankind from committing a general suicide. ?(As interpreted > by Robert Graves) > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > From d.l.goldsmith at gmail.com Sat Jun 26 18:11:17 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Sat, 26 Jun 2010 15:11:17 -0700 Subject: [Numpy-discussion] numpy.random.poisson docs missing "Returns" In-Reply-To: References: Message-ID: On Sat, Jun 26, 2010 at 3:03 PM, wrote: > On Sat, Jun 26, 2010 at 5:56 PM, David Goldsmith > wrote: > > Something is systematically wrong if there are this many problems in the > > numpy.stats docstrings: numpy is supposed to be (was) almost completely > > ready for review; please focus on scipy unless/until the reason why there > > are now so many problems in numpy.stats can be determined (I suspect the > > numpy.stats code has been made to call the scipy.stats.distributions > module, > > and all those docstrings have been marked "Unimportant" - meaning do not > > edit - either permanently, in the case of the instances, or temporarily > in > > the case of the base classes from which the instances are created). > > > > Bottom line: if it doesn't start w/ scipy, leave it alone (for now). > > It's missing in several functions and incorrect docstrings have to be > corrected. Look at the log of e.g. pareto in the editor, the returns > have never been added, unless you find any missing revisions that are > not in the doc editor. > > Josef > OK, I see it was promoted to "Needs review" very early in the first Marathon - before the Standard had been finalized? God help us: how many other numpy docstrings are improperly at "Needs review" because of this? Scheisse, numpy may not be as close to Ready For Review as we thought... DG -------------- next part -------------- An HTML attachment was scrubbed... URL: From josef.pktd at gmail.com Sat Jun 26 18:22:33 2010 From: josef.pktd at gmail.com (josef.pktd at gmail.com) Date: Sat, 26 Jun 2010 18:22:33 -0400 Subject: [Numpy-discussion] numpy.random.poisson docs missing "Returns" In-Reply-To: References: Message-ID: On Sat, Jun 26, 2010 at 6:11 PM, David Goldsmith wrote: > On Sat, Jun 26, 2010 at 3:03 PM, wrote: >> >> On Sat, Jun 26, 2010 at 5:56 PM, David Goldsmith >> wrote: >> > Something is systematically wrong if there are this many problems in the >> > numpy.stats docstrings: numpy is supposed to be (was) almost completely >> > ready for review; please focus on scipy unless/until the reason why >> > there >> > are now so many problems in numpy.stats can be determined (I suspect the >> > numpy.stats code has been made to call the scipy.stats.distributions >> > module, >> > and all those docstrings have been marked "Unimportant" - meaning do not >> > edit - either permanently, in the case of the instances, or temporarily >> > in >> > the case of the base classes from which the instances are created). >> > >> > Bottom line: if it doesn't start w/ scipy, leave it alone (for now). >> >> It's missing in several functions and incorrect docstrings have to be >> corrected. Look at the log of e.g. pareto in the editor, the returns >> have never been added, unless you find any missing revisions that are >> not in the doc editor. >> >> Josef > > OK, I see it was promoted to "Needs review" very early in the first Marathon > - before the Standard had been finalized?? God help us: how many other numpy > docstrings are improperly at "Needs review" because of this?? Scheisse, > numpy may not be as close to Ready For Review as we thought... Is there a chance that some changes got lost? I thought I had edited random.pareto to note that it is actually Lomax or Pareto II. But I'm not completely sure I actually did it, and not just intended to do it. I don't see any record in the doc editor, so maybe I never did edit it. Josef > > DG > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > From vincent at vincentdavis.net Sat Jun 26 18:24:49 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Sat, 26 Jun 2010 16:24:49 -0600 Subject: [Numpy-discussion] Try this, new tests for numpy.random Message-ID: I added a set of simple testes for numpy.random. These test only test that you get results and that they are stable. (see attachment) That said I get several errors (see below) as a result I assume of how the resent enthought 6.2 beta does the calculation (The tests results are from numpy running of 3.1) I think it would be a good idea if several others ran the test to see if there are other problems or if it is actually stable across versions. Any other feedback Vincent SUMMARY OF UNIT TEST RESULTS ============================ FAILED TESTS ------------ * TestRandomDist.test_lognormal -- test_random.py (numpy-vmd-dev/numpy/random/tests) AssertionError: Arrays are not almost equal (mismatch 100.0%) x: array([[ 1.81865312, 0.07476378], [ 0.51747188, 0.61901346], [ 44.09839408, 0.35777415]]) y: array([[ 16.50698632, 36.54846706], [ 22.678866 , 0.71617561], [ 65.72798502, 86.84341601]]) unittest.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6): 279 testMethod() test_random.py (numpy-vmd-dev/numpy/random/tests): 272 np.testing.assert_array_almost_equal(actual, desired, decimal=15) utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 765 header='Arrays are not almost equal') utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 609 raise AssertionError(msg) * TestRandomDist.test_multivariate_normal -- test_random.py (numpy-vmd-dev/numpy/random/tests) AssertionError: Arrays are not almost equal (mismatch 50.0%) x: array([[[ -0.15876548, 10. ], [ 0.58858952, 10. ]], ... y: array([[[ -1.47027513, 10. ], [ -1.65915082, 10. ]], ... unittest.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6): 279 testMethod() test_random.py (numpy-vmd-dev/numpy/random/tests): 305 np.testing.assert_array_almost_equal(actual, desired, decimal=15) utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 765 header='Arrays are not almost equal') utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 609 raise AssertionError(msg) * TestRandomDist.test_negative_binomial -- test_random.py (numpy-vmd-dev/numpy/random/tests) AssertionError: Arrays are not equal (mismatch 100.0%) x: array([[702, 777], [692, 646], [630, 806]]) y: array([[848, 841], [892, 611], [779, 647]]) unittest.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6): 279 testMethod() test_random.py (numpy-vmd-dev/numpy/random/tests): 313 np.testing.assert_array_equal(actual, desired) utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 677 verbose=verbose, header='Arrays are not equal') utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 609 raise AssertionError(msg) * TestRandomDist.test_noncentral_chisquare -- test_random.py (numpy-vmd-dev/numpy/random/tests) AssertionError: Arrays are not almost equal (mismatch 100.0%) x: array([[ 5.42550628, 3.68327961], [ 7.8305713 , 5.45961594], [ 10.68988949, 5.17932387]]) y: array([[ 23.91905354, 13.35324693], [ 31.22452661, 16.60047399], [ 5.03461598, 17.94973089]]) unittest.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6): 279 testMethod() test_random.py (numpy-vmd-dev/numpy/random/tests): 321 np.testing.assert_array_almost_equal(actual, desired, decimal=15) utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 765 header='Arrays are not almost equal') utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 609 raise AssertionError(msg) * TestRandomDist.test_noncentral_f -- test_random.py (numpy-vmd-dev/numpy/random/tests) AssertionError: Arrays are not almost equal (mismatch 100.0%) x: array([[ 1.41010542, 106.52208522], [ 1.35761411, 45.00197918], [ 9.97943281, 13.86047453]]) y: array([[ 1.405981 , 0.34207973], [ 3.57715069, 7.92632663], [ 0.43741599, 1.17742088]]) unittest.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6): 279 testMethod() test_random.py (numpy-vmd-dev/numpy/random/tests): 330 np.testing.assert_array_almost_equal(actual, desired, decimal=15) utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 765 header='Arrays are not almost equal') utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 609 raise AssertionError(msg) * TestRandomDist.test_normal -- test_random.py (numpy-vmd-dev/numpy/random/tests) AssertionError: Arrays are not almost equal (mismatch 100.0%) x: array([[ 0.59809618, -2.59342171], [-0.6588001 , -0.47962827], [ 3.78642337, -1.02785335]]) y: array([[ 2.8037837 , 3.59863924], [ 3.12143348, -0.33382988], [ 4.18552479, 4.46410668]]) unittest.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6): 279 testMethod() test_random.py (numpy-vmd-dev/numpy/random/tests): 338 np.testing.assert_array_almost_equal(actual, desired, decimal=15) utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 765 header='Arrays are not almost equal') utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 609 raise AssertionError(msg) * TestRandomDist.test_rand -- test_random.py (numpy-vmd-dev/numpy/random/tests) NameError: global name 'array' is not defined unittest.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6): 279 testMethod() test_random.py (numpy-vmd-dev/numpy/random/tests): 113 desired1 = array([[ 0.61879477158567997, 0.59162362775974664], * TestRandomDist.test_randint -- test_random.py (numpy-vmd-dev/numpy/random/tests) AttributeError: 'module' object has no attribute 'randint' unittest.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6): 279 testMethod() test_random.py (numpy-vmd-dev/numpy/random/tests): 129 actual = np.randint(-99, 99, size=(3,2)) * TestRandomDist.test_randn -- test_random.py (numpy-vmd-dev/numpy/random/tests) AssertionError: Arrays are not almost equal (mismatch 100.0%) x: array([[ 0.2373197 , -1.35843925], [-0.39112844, -0.30154253], [ 1.83148329, -0.57565507]]) y: array([[ 1.34016346, 1.73759123], [ 1.49898834, -0.22864333], [ 2.031034 , 2.17032495]]) unittest.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6): 279 testMethod() test_random.py (numpy-vmd-dev/numpy/random/tests): 125 np.testing.assert_array_almost_equal(actual, desired, decimal=15) utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 765 header='Arrays are not almost equal') utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 609 raise AssertionError(msg) * TestRandomDist.test_standard_cauchy -- test_random.py (numpy-vmd-dev/numpy/random/tests) AssertionError: Arrays are not almost equal (mismatch 100.0%) x: array([[-0.17470026, 1.29709215], [-3.18156373, -0.45005445], [-0.46997791, -1.57823221]]) y: array([[ 0.7712766 , -6.55601162], [ 0.93582023, -2.07479293], [-4.74601644, 0.18338989]]) unittest.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6): 279 testMethod() test_random.py (numpy-vmd-dev/numpy/random/tests): 378 np.testing.assert_array_almost_equal(actual, desired, decimal=15) utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 765 header='Arrays are not almost equal') utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 609 raise AssertionError(msg) * TestRandomDist.test_standard_gamma -- test_random.py (numpy-vmd-dev/numpy/random/tests) AssertionError: Arrays are not almost equal (mismatch 100.0%) x: array([[ 3.0732848 , 1.30782909], [ 3.57713935, 0.9544672 ], [ 1.09782087, 3.73036312]]) y: array([[ 5.50841531, 6.6295347 ], [ 5.93988485, 2.31044849], [ 7.54838614, 8.01275609]]) unittest.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6): 279 testMethod() test_random.py (numpy-vmd-dev/numpy/random/tests): 394 np.testing.assert_array_almost_equal(actual, desired, decimal=15) utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 765 header='Arrays are not almost equal') utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 609 raise AssertionError(msg) * TestRandomDist.test_standard_normal -- test_random.py (numpy-vmd-dev/numpy/random/tests) AssertionError: Arrays are not almost equal (mismatch 100.0%) x: array([[ 0.2373197 , -1.35843925], [-0.39112844, -0.30154253], [ 1.83148329, -0.57565507]]) y: array([[ 1.34016346, 1.73759123], [ 1.49898834, -0.22864333], [ 2.031034 , 2.17032495]]) unittest.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6): 279 testMethod() test_random.py (numpy-vmd-dev/numpy/random/tests): 402 np.testing.assert_array_almost_equal(actual, desired, decimal=15) utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 765 header='Arrays are not almost equal') utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 609 raise AssertionError(msg) * TestRandomDist.test_standard_t -- test_random.py (numpy-vmd-dev/numpy/random/tests) AssertionError: Arrays are not almost equal (mismatch 100.0%) x: array([[ 0.34958651, -0.07515709], [-0.36478493, -0.16467516], [ 0.65905206, -1.33550263]]) y: array([[ 0.97140612, -0.08830487], [ 1.36311144, -0.55317464], [-0.18473749, 0.61181537]]) unittest.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6): 279 testMethod() test_random.py (numpy-vmd-dev/numpy/random/tests): 410 np.testing.assert_array_almost_equal(actual, desired, decimal=15) utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 765 header='Arrays are not almost equal') utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 609 raise AssertionError(msg) * TestRandomDist.test_wald -- test_random.py (numpy-vmd-dev/numpy/random/tests) AssertionError: Arrays are not almost equal (mismatch 100.0%) x: array([[ 0.99532782, 0.5024266 ], [ 0.78691891, 0.37161609], [ 0.42210803, 0.73660839]]) y: array([[ 3.82935266, 5.13125249], [ 0.35045404, 1.50832397], [ 0.2412432 , 0.22031101]]) unittest.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6): 279 testMethod() test_random.py (numpy-vmd-dev/numpy/random/tests): 444 np.testing.assert_array_almost_equal(actual, desired, decimal=15) utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 765 header='Arrays are not almost equal') utils.py (/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/site-packages/numpy/testing): 609 raise AssertionError(msg) PASSED TESTS ------------ * TestMultinomial.test_basic -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestMultinomial.test_int_negative_interval -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestMultinomial.test_zero_probability -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_beta -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_binomial -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_bytes -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_chisquare -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_dirichlet -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_exponential -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_f -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_gamma -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_geometric -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_gumbel -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_hypergeometric -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_laplace -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_logistic -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_logseries -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_multinomial -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_pareto -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_poisson -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_power -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_random_integers -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_random_sample -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_rayleigh -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_shuffle -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_standard_exponential -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_triangular -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_uniform -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_vonmises -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_weibull -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRandomDist.test_zipf -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRegression.test_VonMises_range -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRegression.test_hypergeometric_range -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestRegression.test_logseries_convergence -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestSetState.test_backwards_compatibility -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestSetState.test_basic -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestSetState.test_gaussian_reset -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestSetState.test_gaussian_reset_in_media_res -- test_random.py (numpy-vmd-dev/numpy/random/tests) * TestSetState.test_negative_binomial -- test_random.py (numpy-vmd-dev/numpy/random/tests) -------------- next part -------------- A non-text attachment was scrubbed... Name: test_random.py Type: application/octet-stream Size: 20927 bytes Desc: not available URL: From vincent at vincentdavis.net Sat Jun 26 18:28:02 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Sat, 26 Jun 2010 16:28:02 -0600 Subject: [Numpy-discussion] numpy.random.poisson docs missing "Returns" In-Reply-To: References: Message-ID: On Sat, Jun 26, 2010 at 4:22 PM, wrote: > On Sat, Jun 26, 2010 at 6:11 PM, David Goldsmith > wrote: >> On Sat, Jun 26, 2010 at 3:03 PM, wrote: >>> >>> On Sat, Jun 26, 2010 at 5:56 PM, David Goldsmith >>> wrote: >>> > Something is systematically wrong if there are this many problems in the >>> > numpy.stats docstrings: numpy is supposed to be (was) almost completely >>> > ready for review; please focus on scipy unless/until the reason why >>> > there >>> > are now so many problems in numpy.stats can be determined (I suspect the >>> > numpy.stats code has been made to call the scipy.stats.distributions >>> > module, >>> > and all those docstrings have been marked "Unimportant" - meaning do not >>> > edit - either permanently, in the case of the instances, or temporarily >>> > in >>> > the case of the base classes from which the instances are created). >>> > >>> > Bottom line: if it doesn't start w/ scipy, leave it alone (for now). >>> >>> It's missing in several functions and incorrect docstrings have to be >>> corrected. Look at the log of e.g. pareto in the editor, the returns >>> have never been added, unless you find any missing revisions that are >>> not in the doc editor. >>> >>> Josef >> >> OK, I see it was promoted to "Needs review" very early in the first Marathon >> - before the Standard had been finalized?? God help us: how many other numpy >> docstrings are improperly at "Needs review" because of this?? Scheisse, >> numpy may not be as close to Ready For Review as we thought... > > Is there a chance that some changes got lost? > > I thought I had edited random.pareto to note that it is actually Lomax > or Pareto II. But I'm not completely sure I actually did it, and not > just intended to do it. I don't see any record in the doc editor, so > maybe I never did edit it. Also several are missing examples but this is easy (copy past) with the tests I just added. Vincent > > Josef > > >> >> DG >> >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From d.l.goldsmith at gmail.com Sat Jun 26 18:52:14 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Sat, 26 Jun 2010 15:52:14 -0700 Subject: [Numpy-discussion] numpy.random.poisson docs missing "Returns" In-Reply-To: References: Message-ID: On Sat, Jun 26, 2010 at 3:28 PM, Vincent Davis wrote: > On Sat, Jun 26, 2010 at 4:22 PM, wrote: > > On Sat, Jun 26, 2010 at 6:11 PM, David Goldsmith > > wrote: > >> On Sat, Jun 26, 2010 at 3:03 PM, wrote: > >>> > >>> On Sat, Jun 26, 2010 at 5:56 PM, David Goldsmith > >>> wrote: > >>> > Something is systematically wrong if there are this many problems in > the > >>> > numpy.stats docstrings: numpy is supposed to be (was) almost > completely > >>> > ready for review; please focus on scipy unless/until the reason why > >>> > there > >>> > are now so many problems in numpy.stats can be determined (I suspect > the > >>> > numpy.stats code has been made to call the scipy.stats.distributions > >>> > module, > >>> > and all those docstrings have been marked "Unimportant" - meaning do > not > >>> > edit - either permanently, in the case of the instances, or > temporarily > >>> > in > >>> > the case of the base classes from which the instances are created). > >>> > > >>> > Bottom line: if it doesn't start w/ scipy, leave it alone (for now). > >>> > >>> It's missing in several functions and incorrect docstrings have to be > >>> corrected. Look at the log of e.g. pareto in the editor, the returns > >>> have never been added, unless you find any missing revisions that are > >>> not in the doc editor. > >>> > >>> Josef > >> > >> OK, I see it was promoted to "Needs review" very early in the first > Marathon > >> - before the Standard had been finalized? God help us: how many other > numpy > >> docstrings are improperly at "Needs review" because of this? Scheisse, > >> numpy may not be as close to Ready For Review as we thought... > > > > Is there a chance that some changes got lost? > > > > I thought I had edited random.pareto to note that it is actually Lomax > > or Pareto II. But I'm not completely sure I actually did it, and not > > just intended to do it. I don't see any record in the doc editor, so > > maybe I never did edit it. > > Also several are missing examples but this is easy (copy past) with > the tests I just added. > Vincent > > I'm busy right now, but in a little bit I'll check when the Standard was "finalized" and demote - until they can be thoroughly checked for Standard compliance - to "Being Written" everything promoted to "Needs review" prior to that time. DG -------------- next part -------------- An HTML attachment was scrubbed... URL: From kwmsmith at gmail.com Sat Jun 26 20:24:56 2010 From: kwmsmith at gmail.com (Kurt Smith) Date: Sat, 26 Jun 2010 19:24:56 -0500 Subject: [Numpy-discussion] arr.copy(order='F') doesn't agree with docstring: what is intended behavior? Message-ID: I'd really like arr.copy(order='F') to work -- is it supposed to as its docstring says, or is it supposed to raise a TypeError as it does now? This is on numpy 1.4 >>> import numpy as np >>> a = np.arange(10).reshape(5,2) >>> a array([[0, 1], [2, 3], [4, 5], [6, 7], [8, 9]]) >>> print a.copy.__doc__ a.copy(order='C') Return a copy of the array. Parameters ---------- order : {'C', 'F', 'A'}, optional By default, the result is stored in C-contiguous (row-major) order in memory. If `order` is `F`, the result has 'Fortran' (column-major) order. If order is 'A' ('Any'), then the result has the same order as the input. Examples -------- >>> x = np.array([[1,2,3],[4,5,6]], order='F') >>> y = x.copy() >>> x.fill(0) >>> x array([[0, 0, 0], [0, 0, 0]]) >>> y array([[1, 2, 3], [4, 5, 6]]) >>> y.flags['C_CONTIGUOUS'] True >>> a.copy(order='C') Traceback (most recent call last): File "", line 1, in TypeError: copy() takes no keyword arguments >>> a.copy(order='F') Traceback (most recent call last): File "", line 1, in TypeError: copy() takes no keyword arguments >>> From warren.weckesser at enthought.com Sat Jun 26 20:34:32 2010 From: warren.weckesser at enthought.com (Warren Weckesser) Date: Sat, 26 Jun 2010 19:34:32 -0500 Subject: [Numpy-discussion] arr.copy(order='F') doesn't agree with docstring: what is intended behavior? In-Reply-To: References: Message-ID: <4C269C98.7080802@enthought.com> Kurt Smith wrote: > I'd really like arr.copy(order='F') to work -- is it supposed to as > its docstring says, or is it supposed to raise a TypeError as it does > now? > It works for me if I don't use the keyword. That is, >>> b = a.copy('F') But I get the same error if I use order='F', so there is a either a bug in the docstring or a bug in the code. Warren > This is on numpy 1.4 > > >>>> import numpy as np >>>> a = np.arange(10).reshape(5,2) >>>> a >>>> > array([[0, 1], > [2, 3], > [4, 5], > [6, 7], > [8, 9]]) > >>>> print a.copy.__doc__ >>>> > a.copy(order='C') > > Return a copy of the array. > > Parameters > ---------- > order : {'C', 'F', 'A'}, optional > By default, the result is stored in C-contiguous (row-major) order in > memory. If `order` is `F`, the result has 'Fortran' (column-major) > order. If order is 'A' ('Any'), then the result has the same order > as the input. > > Examples > -------- > >>> x = np.array([[1,2,3],[4,5,6]], order='F') > > >>> y = x.copy() > > >>> x.fill(0) > > >>> x > array([[0, 0, 0], > [0, 0, 0]]) > > >>> y > array([[1, 2, 3], > [4, 5, 6]]) > > >>> y.flags['C_CONTIGUOUS'] > True > >>>> a.copy(order='C') >>>> > Traceback (most recent call last): > File "", line 1, in > TypeError: copy() takes no keyword arguments > >>>> a.copy(order='F') >>>> > Traceback (most recent call last): > File "", line 1, in > TypeError: copy() takes no keyword arguments > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From d.l.goldsmith at gmail.com Sat Jun 26 20:37:22 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Sat, 26 Jun 2010 17:37:22 -0700 Subject: [Numpy-discussion] numpy.random.poisson docs missing "Returns" In-Reply-To: References: Message-ID: On Sat, Jun 26, 2010 at 3:22 PM, wrote: > On Sat, Jun 26, 2010 at 6:11 PM, David Goldsmith > wrote: > > On Sat, Jun 26, 2010 at 3:03 PM, wrote: > >> > >> On Sat, Jun 26, 2010 at 5:56 PM, David Goldsmith > >> wrote: > >> > Something is systematically wrong if there are this many problems in > the > >> > numpy.stats docstrings: numpy is supposed to be (was) almost > completely > >> > ready for review; please focus on scipy unless/until the reason why > >> > there > >> > are now so many problems in numpy.stats can be determined (I suspect > the > >> > numpy.stats code has been made to call the scipy.stats.distributions > >> > module, > >> > and all those docstrings have been marked "Unimportant" - meaning do > not > >> > edit - either permanently, in the case of the instances, or > temporarily > >> > in > >> > the case of the base classes from which the instances are created). > >> > > >> > Bottom line: if it doesn't start w/ scipy, leave it alone (for now). > >> > >> It's missing in several functions and incorrect docstrings have to be > >> corrected. Look at the log of e.g. pareto in the editor, the returns > >> have never been added, unless you find any missing revisions that are > >> not in the doc editor. > >> > >> Josef > > > > OK, I see it was promoted to "Needs review" very early in the first > Marathon > > - before the Standard had been finalized? God help us: how many other > numpy > > docstrings are improperly at "Needs review" because of this? Scheisse, > > numpy may not be as close to Ready For Review as we thought... > > Is there a chance that some changes got lost? > (Almost) anything's possible... :-( Well, here's what happened in the particular case of numpy's pareto: The promotion to "Needs review" took place - interestingly - 2008-06-26 (yes, two years ago today), despite the lack of a Returns section; the initial check-in of HOWTO_DOCUMENT.txt - which does specify that a Returns section be included (when applicable) - was one week before, 2008-06-19. So, it's not that surprising that this slipped through the cracks. Pauli (or anyone): is there a way to search the Wiki, e.g., using a SQL-like query, for docstrings that saw a change in status before a date, or between two dates? Thanks! DG > > I thought I had edited random.pareto to note that it is actually Lomax > or Pareto II. But I'm not completely sure I actually did it, and not > just intended to do it. I don't see any record in the doc editor, so > maybe I never did edit it. > > Josef > > > > > > DG > > > > > > _______________________________________________ > > NumPy-Discussion mailing list > > NumPy-Discussion at scipy.org > > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -- Mathematician: noun, someone who disavows certainty when their uncertainty set is non-empty, even if that set has measure zero. Hope: noun, that delusive spirit which escaped Pandora's jar and, with her lies, prevents mankind from committing a general suicide. (As interpreted by Robert Graves) -------------- next part -------------- An HTML attachment was scrubbed... URL: From d.l.goldsmith at gmail.com Sun Jun 27 00:33:47 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Sat, 26 Jun 2010 21:33:47 -0700 Subject: [Numpy-discussion] Strange behavior of np.sinc Message-ID: Hi! The docstring for numpy.lib.function_base.sinc indicates that the parameter has to be an ndarray, and that it will return the limiting value 1 for sinc(0). Checking to see if it should actually say array_like, I found the following (Python 2.6): >>> np.sinc(np.array((0,0.5))) array([ 1. , 0.63661977]) >>> np.sinc((0,0.5)) array([ NaN, 0.63661977]) >>> np.sinc([0,0.5]) array([ NaN, 0.63661977]) >>> np.version.version '1.4.1' So, it doesn't choke on non-array sequences, and appears to return values consistent w/ array input, except at 0. Bug in code (failure at 0 if in a sequence) and in the doc (ndarray should be array_like)? DG -- Mathematician: noun, someone who disavows certainty when their uncertainty set is non-empty, even if that set has measure zero. Hope: noun, that delusive spirit which escaped Pandora's jar and, with her lies, prevents mankind from committing a general suicide. (As interpreted by Robert Graves) -------------- next part -------------- An HTML attachment was scrubbed... URL: From robert.kern at gmail.com Sun Jun 27 00:39:58 2010 From: robert.kern at gmail.com (Robert Kern) Date: Sat, 26 Jun 2010 23:39:58 -0500 Subject: [Numpy-discussion] Strange behavior of np.sinc In-Reply-To: References: Message-ID: On Sat, Jun 26, 2010 at 23:33, David Goldsmith wrote: > Hi!? The docstring for numpy.lib.function_base.sinc indicates that the > parameter has to be an ndarray, and that it will return the limiting value 1 > for sinc(0).? Checking to see if it should actually say array_like, I found > the following (Python 2.6): > >>>> np.sinc(np.array((0,0.5))) > array([ 1.??????? ,? 0.63661977]) >>>> np.sinc((0,0.5)) > array([??????? NaN,? 0.63661977]) >>>> np.sinc([0,0.5]) > array([??????? NaN,? 0.63661977]) >>>> np.version.version > '1.4.1' > > So, it doesn't choke on non-array sequences, and appears to return values > consistent w/ array input, except at 0.? Bug in code (failure at 0 if in a > sequence) and in the doc (ndarray should be array_like)? Bug in both code and docs. There should be an "x = np.asanyarray(x)" before the rest of the code. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco From d.l.goldsmith at gmail.com Sun Jun 27 01:00:56 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Sat, 26 Jun 2010 22:00:56 -0700 Subject: [Numpy-discussion] Strange behavior of np.sinc In-Reply-To: References: Message-ID: On Sat, Jun 26, 2010 at 9:39 PM, Robert Kern wrote: > On Sat, Jun 26, 2010 at 23:33, David Goldsmith > wrote: > > Hi! The docstring for numpy.lib.function_base.sinc indicates that the > > parameter has to be an ndarray, and that it will return the limiting > value 1 > > for sinc(0). Checking to see if it should actually say array_like, I > found > > the following (Python 2.6): > > > >>>> np.sinc(np.array((0,0.5))) > > array([ 1. , 0.63661977]) > >>>> np.sinc((0,0.5)) > > array([ NaN, 0.63661977]) > >>>> np.sinc([0,0.5]) > > array([ NaN, 0.63661977]) > >>>> np.version.version > > '1.4.1' > > > > So, it doesn't choke on non-array sequences, and appears to return values > > consistent w/ array input, except at 0. Bug in code (failure at 0 if in > a > > sequence) and in the doc (ndarray should be array_like)? > > Bug in both code and docs. There should be an "x = np.asanyarray(x)" > before the rest of the code. > Thanks Robert; I'll file a ticket and fix the docstring. DG -------------- next part -------------- An HTML attachment was scrubbed... URL: From pav at iki.fi Sun Jun 27 06:44:35 2010 From: pav at iki.fi (Pauli Virtanen) Date: Sun, 27 Jun 2010 10:44:35 +0000 (UTC) Subject: [Numpy-discussion] numpy.random.poisson docs missing "Returns" References: Message-ID: Sat, 26 Jun 2010 17:37:22 -0700, David Goldsmith wrote: > On Sat, Jun 26, 2010 at 3:22 PM, wrote: [clip] >> Is there a chance that some changes got lost? > > (Almost) anything's possible... :-( There's practically no change of edits getting lost. There's a change of them being hidden if things are moved around in the source code, causing duplicate work, but that's not the case here. > Well, here's what happened in the particular case of numpy's pareto: > > The promotion to "Needs review" took place - interestingly - 2008-06-26 > (yes, two years ago today), despite the lack of a Returns section; the > initial check-in of HOWTO_DOCUMENT.txt - which does specify that a > Returns section be included (when applicable) - was one week before, > 2008-06-19. So, it's not that surprising that this slipped through the > cracks. > > Pauli (or anyone): is there a way to search the Wiki, e.g., using a > SQL-like query, for docstrings that saw a change in status before a > date, or between two dates? No. The review status is not versioned, so the necessary information is not there. The only chance would be to search for docstrings that haven't been edited after a certain date. -- Pauli Virtanen From samtygier at yahoo.co.uk Sun Jun 27 08:26:50 2010 From: samtygier at yahoo.co.uk (sam tygier) Date: Sun, 27 Jun 2010 13:26:50 +0100 Subject: [Numpy-discussion] issue #1431 accessing multiple fields in a recarray Message-ID: Hello A while ago there was a discussion about field order when accessing recarrays. eg: >>> x = np.array([(1.5,2.5,(1.0,2.0)),(3.,4.,(4.,5.)),(1.,3.,(2.,6.))], dtype=[('x','f4'),('y',np.float32),('value','f4',(2,2))]) >>> x[['x','y']] array([(1.5, 2.5), (3.0, 4.0), (1.0, 3.0)], dtype=[('x', '>> x[['y','x']] array([(1.5, 2.5), (3.0, 4.0), (1.0, 3.0)], dtype=[('x', ' On some 64-bit platforms, which include, but is not limited to: * Some version of OS X (I don't know what versions or processors) * Solaris on SPARC processors. * Solaris on x86 processors. * OpenSolaris on SPARC processors. * OpenSolaris on x86 processors. * HP-UX on PA-RISC processors. the default is to build 32-bit objects, but 64-bit objects can be created if needed. This is usually done via adding the -m64 flag when compiling with GCC or SunStudio, though the flag will be different with HP's compiler. Numpy is used as part of Sage, but it would appear that adding -m64 to CFLAGS will not work. A comment in the script used to build numpy shows: # numpy's distutils is buggy and runs a conftest without # taking CFLAGS into account. With 64 bit OSX this results # in *boom* it then goes on to copy a file called gcc_fake, which is basically a script which gets renamed to gcc, but includes the -m64 flag. We are using numpy-1.3.0. Is this a known bug? If not, can I submit it to a bug database? Better still, does anyone have a patch to resolve it - I hate the idea of making I've now changed the build method in Sage so it does not only work on OS X, and does not hard-code the path to gcc. I have: if [ "x$SAGE64" = xyes ]; then echo "Building a 64-bit version of numpy" # HACK ALERT # HACK ALERT # HACK ALERT echo "HACK ALERT - HACK ALERT - HACK ALERT" echo "HACK ALERT - HACK ALERT - HACK ALERT" echo "HACK ALERT - HACK ALERT - HACK ALERT" echo "Creating a sort of fake gcc, which has the -m64 flag" echo "#!/usr/bin/env bash" > $SAGE_LOCAL/bin/gcc echo "`command -v gcc` -m64 \$@" >> $SAGE_LOCAL/bin/gcc chmod 755 $SAGE_LOCAL/bin/gcc fi This this file $SAGE_LOCAL/bin/gcc is used to build just numpy. After that, we can remove it if [ "x$SAGE64" = xyes ]; then echo "deleting fake gcc" rm $SAGE_LOCAL/bin/gcc fi and let the normal gcc program be used with an appropriate setting of CFLAGS to make other packages build 64-bit. I know this issue has been known in Sage for a long time (years) but I don't know if it was ever reported to the Numpy mailing list or added to any bug database Dave From sierra_mtnview at sbcglobal.net Sun Jun 27 10:29:29 2010 From: sierra_mtnview at sbcglobal.net (Wayne Watson) Date: Sun, 27 Jun 2010 07:29:29 -0700 Subject: [Numpy-discussion] Solving a NLLSQ Problem by Pieces? In-Reply-To: References: <4C2634F9.4080003@sbcglobal.net> Message-ID: <4C276049.7060103@sbcglobal.net> Thanks for the info. Where do I find hugin? The paper I'm looking is from 1987. It is not clear what actual method he used. Probably something popular of those times. Things have changed. :-) Yes, scipy might be a better place to post this, and I will. Hmmm, I think I have had problems finding a connection to a scipy mail list. Astropy is lightly traveled, but I'll give it a shot. On 6/26/2010 10:32 AM, Anne Archibald wrote: > The basic problem with nonlinear least squares fitting, as with other > nonlinear minimization problems, is that the standard algorithms find > only a local minimum. It's easy to miss the global minimum and instead > settle on a local minimum that is in fact a horrible fit. > > To deal with this, there are global optimization techniques - > simulated annealing, genetic algorithms, and what have you (including > the simplest, explore the whole space with a "dense enough" grid then > fine-tune the best one with a local optimizer) - but they're > computationally very expensive and not always reliable. So when it's > possible to use domain-specific knowledge to make sure what you're > settling on is the real minimum, this is a better solution. > > In this specific case, as in many optimization problems, the problem > can be viewed as a series of nested approximations. The crudest > approximation might even be linear in some cases; but the point is, > you solve the first approximation first because it has fewer > parameters and a solution space you understand better (e.g. maybe you > can be sure it only has one local minimum). Then because your > approximations are by assumption nested, adding more parameters > complicates the space you're solving over, but you can be reasonably > confident that you're "close" to the right solution already. (If your > approximations are "orthogonal" in the right sense, you can even fix > the parameters from previous stages and optimize only the new ones; be > careful with this, though.) > > This approach is a very good way to incorporate domain-specific > knowledge into your code, but you need to parameterize your problem as > a series of nested approximations, and if it turns out the corrections > are not small you can still get yourself into trouble. (Or, for that > matter, if the initial solution space is complex enough you can still > get yourself in trouble. Or if you're not careful your solver can take > your sensible initial guess at some stage and zip off into never-never > land instead of exploring "nearby".) > > If you're interested in how other people solve this particular > problem, you could take a look at the open-source panorama stitcher > "hugin", which fits for a potentially very large number of parameters, > including a camera model. > > To bring this back nearer to on-topic, you will naturally not find > domain-specific knowledge built into scipy or numpy, but you will find > various local and global optimizers, some of which are specialized for > the case of least-squares. So if you wanted to implement this sort of > thing with scipy, you could write the domain-specific code yourself > and simply call into one of scipy's optimizers. You could also look at > OpenOpt, a scikit containing a number of global optimizers. > > Anne > P.S. This question would be better suited to scipy-user or astropy > than numpy-discussion. -A > > On 26 June 2010 13:12, Wayne Watson wrote: > >> The context here is astronomy and optics. The real point is in the last >> paragraph. >> >> I'm looking at a paper that deals with 5 NL (nonlinear) equations and 8 >> unknown parameters. >> A. a=a0+arctan((y-y0)/(x-x0) >> B. z=V*r+S*e**(D*r) >> r=sqrt((x-x0)**2+(y-y0)**2) >> and >> C. cos(z)=cos(u)*cos(z)-sin(u)*sin(ep)*cos(b) >> sin(a-E) = sin(b)*sin(u)/sin(z) >> >> >> He's trying to estimate parameters of a fisheye lens which has taken >> star images on a photo plate. For example, x0,y0 is the offset of the >> center of projection from the zenith (camera not pointing straight up in >> the sky.) Eq. 2 expresses some nonlinearity in the lens. >> >> a0, xo, y0, V, S, D, ep, and E are the parameters. It looks like he uses >> gradient descent (NLLSQ is nonlinear least squares in Subject.), and >> takes each equation in turn using the parameter values from the >> preceding one in the next, B. He provides reasonable initial estimates. >> >> A final step uses all eight parameters. He re-examines ep and E, and >> assigns new estimates. For all (star positions) on the photo plate, he >> minimizes SUM (Fi**2*Gi) using values from the step for A and B, except >> for x0,y0. He then does some more dithering, which I'll skip. >> >> What I've presented is probably a bit difficult to understand without a >> good optics understanding, but my question is something like is this >> commonly done to solve a system of NLLSQ? It looks a bit wild. I guess >> if one knows his subject well, then bringing some "extra" knowledge to >> the process helps. As I understand it, he solves parameters in A, then >> uses them in B, and so on. I guess that's a reasonable way to do it. >> >> -- >> Wayne Watson (Watson Adventures, Prop., Nevada City, CA) >> >> (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) >> Obz Site: 39? 15' 7" N, 121? 2' 32" W, 2700 feet >> >> Air travel safety Plus Three/Minus 8 rule. Eighty % >> of crashes take place in the first 3 minutes and >> last 8 minutes. Survival chances are good in you're >> paying attention. No hard drinks prior to those >> periods. No sleeping pills either. Sit within 5 rows >> of an exit door. --The Survivors Club, Ben Sherwood >> >> >> Web Page: >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -- Wayne Watson (Watson Adventures, Prop., Nevada City, CA) (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) Obz Site: 39? 15' 7" N, 121? 2' 32" W, 2700 feet Air travel safety Plus Three/Minus 8 rule. Eighty % of crashes take place in the first 3 minutes and last 8 minutes. Survival chances are good in you're paying attention. No hard drinks prior to those periods. No sleeping pills either. Sit within 5 rows of an exit door. --The Survivors Club, Ben Sherwood Web Page: From sierra_mtnview at sbcglobal.net Sun Jun 27 10:45:56 2010 From: sierra_mtnview at sbcglobal.net (Wayne Watson) Date: Sun, 27 Jun 2010 07:45:56 -0700 Subject: [Numpy-discussion] Solving a NLLSQ Problem by Pieces? In-Reply-To: <4C276049.7060103@sbcglobal.net> References: <4C2634F9.4080003@sbcglobal.net> <4C276049.7060103@sbcglobal.net> Message-ID: <4C276424.2000908@sbcglobal.net> Found hugin (google), but I think it's a bit too general for my current interests. You might enjoy an optimization video course from Stanford Univ on the web. -- Wayne Watson (Watson Adventures, Prop., Nevada City, CA) (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time) Obz Site: 39? 15' 7" N, 121? 2' 32" W, 2700 feet Air travel safety Plus Three/Minus 8 rule. Eighty % of crashes take place in the first 3 minutes and last 8 minutes. Survival chances are good in you're paying attention. No hard drinks prior to those periods. No sleeping pills either. Sit within 5 rows of an exit door. --The Survivors Club, Ben Sherwood Web Page: From kwmsmith at gmail.com Sun Jun 27 13:38:25 2010 From: kwmsmith at gmail.com (Kurt Smith) Date: Sun, 27 Jun 2010 12:38:25 -0500 Subject: [Numpy-discussion] arr.copy(order='F') doesn't agree with docstring: what is intended behavior? In-Reply-To: <4C269C98.7080802@enthought.com> References: <4C269C98.7080802@enthought.com> Message-ID: On Sat, Jun 26, 2010 at 7:34 PM, Warren Weckesser wrote: > Kurt Smith wrote: >> I'd really like arr.copy(order='F') to work -- is it supposed to as >> its docstring says, or is it supposed to raise a TypeError as it does >> now? >> > > It works for me if I don't use the keyword. ?That is, > > ?>>> b = a.copy('F') Great! At least the functionality is there. > > But I get the same error if I use order='F', so there is a either a bug > in the docstring or a bug in the code. I certainly hope it's a docstring bug and not otherwise. Any pointers on submitting documentation bugs? Kurt > > Warren > > >> This is on numpy 1.4 >> >> >>>>> import numpy as np >>>>> a = np.arange(10).reshape(5,2) >>>>> a >>>>> >> array([[0, 1], >> ? ? ? ?[2, 3], >> ? ? ? ?[4, 5], >> ? ? ? ?[6, 7], >> ? ? ? ?[8, 9]]) >> >>>>> print a.copy.__doc__ >>>>> >> a.copy(order='C') >> >> ? ? Return a copy of the array. >> >> ? ? Parameters >> ? ? ---------- >> ? ? order : {'C', 'F', 'A'}, optional >> ? ? ? ? By default, the result is stored in C-contiguous (row-major) order in >> ? ? ? ? memory. ?If `order` is `F`, the result has 'Fortran' (column-major) >> ? ? ? ? order. ?If order is 'A' ('Any'), then the result has the same order >> ? ? ? ? as the input. >> >> ? ? Examples >> ? ? -------- >> ? ? >>> x = np.array([[1,2,3],[4,5,6]], order='F') >> >> ? ? >>> y = x.copy() >> >> ? ? >>> x.fill(0) >> >> ? ? >>> x >> ? ? array([[0, 0, 0], >> ? ? ? ? ? ?[0, 0, 0]]) >> >> ? ? >>> y >> ? ? array([[1, 2, 3], >> ? ? ? ? ? ?[4, 5, 6]]) >> >> ? ? >>> y.flags['C_CONTIGUOUS'] >> ? ? True >> >>>>> a.copy(order='C') >>>>> >> Traceback (most recent call last): >> ? File "", line 1, in >> TypeError: copy() takes no keyword arguments >> >>>>> a.copy(order='F') >>>>> >> Traceback (most recent call last): >> ? File "", line 1, in >> TypeError: copy() takes no keyword arguments >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From d.l.goldsmith at gmail.com Sun Jun 27 13:46:12 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Sun, 27 Jun 2010 10:46:12 -0700 Subject: [Numpy-discussion] Strange behavior of np.sinc In-Reply-To: References: Message-ID: On Sat, Jun 26, 2010 at 10:00 PM, David Goldsmith wrote: > On Sat, Jun 26, 2010 at 9:39 PM, Robert Kern wrote: > >> On Sat, Jun 26, 2010 at 23:33, David Goldsmith >> wrote: >> > Hi! The docstring for numpy.lib.function_base.sinc indicates that the >> > parameter has to be an ndarray, and that it will return the limiting >> value 1 >> > for sinc(0). Checking to see if it should actually say array_like, I >> found >> > the following (Python 2.6): >> > >> >>>> np.sinc(np.array((0,0.5))) >> > array([ 1. , 0.63661977]) >> >>>> np.sinc((0,0.5)) >> > array([ NaN, 0.63661977]) >> >>>> np.sinc([0,0.5]) >> > array([ NaN, 0.63661977]) >> >>>> np.version.version >> > '1.4.1' >> > >> > So, it doesn't choke on non-array sequences, and appears to return >> values >> > consistent w/ array input, except at 0. Bug in code (failure at 0 if in >> a >> > sequence) and in the doc (ndarray should be array_like)? >> >> Bug in both code and docs. There should be an "x = np.asanyarray(x)" >> before the rest of the code. >> > > Thanks Robert; I'll file a ticket and fix the docstring. > > DG > All done (patched this morning and Pauli's checked it in already - nice when they're easy). DG -- Mathematician: noun, someone who disavows certainty when their uncertainty set is non-empty, even if that set has measure zero. Hope: noun, that delusive spirit which escaped Pandora's jar and, with her lies, prevents mankind from committing a general suicide. (As interpreted by Robert Graves) -------------- next part -------------- An HTML attachment was scrubbed... URL: From d.l.goldsmith at gmail.com Sun Jun 27 14:03:55 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Sun, 27 Jun 2010 11:03:55 -0700 Subject: [Numpy-discussion] arr.copy(order='F') doesn't agree with docstring: what is intended behavior? In-Reply-To: References: <4C269C98.7080802@enthought.com> Message-ID: On Sun, Jun 27, 2010 at 10:38 AM, Kurt Smith wrote: > On Sat, Jun 26, 2010 at 7:34 PM, Warren Weckesser > wrote: > > Kurt Smith wrote: > >> I'd really like arr.copy(order='F') to work -- is it supposed to as > >> its docstring says, or is it supposed to raise a TypeError as it does > >> now? > >> > > > > It works for me if I don't use the keyword. That is, > > > > >>> b = a.copy('F') > > Great! At least the functionality is there. > > > > > But I get the same error if I use order='F', so there is a either a bug > > in the docstring or a bug in the code. > > I certainly hope it's a docstring bug and not otherwise. > > Any pointers on submitting documentation bugs? > > Kurt > Same as filing a code bug: file a ticket at projects.scipy.org/numpy, But the policy is to document desired behavior, not actual behavior (if the code isn't behaving as advertised but it should, obviously that's a code bug), so you can do one of two things: a) wait 'til someone replies here clarifying which it is, or b) file a ticket which describes the inconsistency and let the issue be worked out over there (preferred IMO 'cause it gets the ticket filed while the issue is fresh in your mind, and any discussion of what kind of bug it is gets recorded as part of the ticket history). Thanks for reporting/filing! DG > > > > > Warren > > > > > >> This is on numpy 1.4 > >> > >> > >>>>> import numpy as np > >>>>> a = np.arange(10).reshape(5,2) > >>>>> a > >>>>> > >> array([[0, 1], > >> [2, 3], > >> [4, 5], > >> [6, 7], > >> [8, 9]]) > >> > >>>>> print a.copy.__doc__ > >>>>> > >> a.copy(order='C') > >> > >> Return a copy of the array. > >> > >> Parameters > >> ---------- > >> order : {'C', 'F', 'A'}, optional > >> By default, the result is stored in C-contiguous (row-major) > order in > >> memory. If `order` is `F`, the result has 'Fortran' > (column-major) > >> order. If order is 'A' ('Any'), then the result has the same > order > >> as the input. > >> > >> Examples > >> -------- > >> >>> x = np.array([[1,2,3],[4,5,6]], order='F') > >> > >> >>> y = x.copy() > >> > >> >>> x.fill(0) > >> > >> >>> x > >> array([[0, 0, 0], > >> [0, 0, 0]]) > >> > >> >>> y > >> array([[1, 2, 3], > >> [4, 5, 6]]) > >> > >> >>> y.flags['C_CONTIGUOUS'] > >> True > >> > >>>>> a.copy(order='C') > >>>>> > >> Traceback (most recent call last): > >> File "", line 1, in > >> TypeError: copy() takes no keyword arguments > >> > >>>>> a.copy(order='F') > >>>>> > >> Traceback (most recent call last): > >> File "", line 1, in > >> TypeError: copy() takes no keyword arguments > >> > >> _______________________________________________ > >> NumPy-Discussion mailing list > >> NumPy-Discussion at scipy.org > >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > >> > > > > _______________________________________________ > > NumPy-Discussion mailing list > > NumPy-Discussion at scipy.org > > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -- Mathematician: noun, someone who disavows certainty when their uncertainty set is non-empty, even if that set has measure zero. Hope: noun, that delusive spirit which escaped Pandora's jar and, with her lies, prevents mankind from committing a general suicide. (As interpreted by Robert Graves) -------------- next part -------------- An HTML attachment was scrubbed... URL: From d.l.goldsmith at gmail.com Sun Jun 27 14:17:53 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Sun, 27 Jun 2010 11:17:53 -0700 Subject: [Numpy-discussion] numpy.random.poisson docs missing "Returns" In-Reply-To: References: Message-ID: On Sun, Jun 27, 2010 at 3:44 AM, Pauli Virtanen wrote: > Sat, 26 Jun 2010 17:37:22 -0700, David Goldsmith wrote: > > On Sat, Jun 26, 2010 at 3:22 PM, wrote: > [clip] > >> Is there a chance that some changes got lost? > > > > (Almost) anything's possible... :-( > > There's practically no change of edits getting lost. But there is a chance of edits not being saved (due to operator error, e.g., inadvertently clicking cancel): happened to me just yesterday while making edits to gumbel; reminded me -the hard way- of another reason to make extensive edits on one's own machine, then cut/paste them into the edit window in the Wiki when done. > There's a change of > them being hidden if things are moved around in the source code, causing > duplicate work, but that's not the case here. > > > Well, here's what happened in the particular case of numpy's pareto: > > > > The promotion to "Needs review" took place - interestingly - 2008-06-26 > > (yes, two years ago today), despite the lack of a Returns section; the > > initial check-in of HOWTO_DOCUMENT.txt - which does specify that a > > Returns section be included (when applicable) - was one week before, > > 2008-06-19. So, it's not that surprising that this slipped through the > > cracks. > > > > Pauli (or anyone): is there a way to search the Wiki, e.g., using a > > SQL-like query, for docstrings that saw a change in status before a > > date, or between two dates? > Thanks Pauli. Anyway, I figured out another way: I'm using the stats page, and checking anything that was "Needs review" or better before 2008-06-19 and up to a month after - after that, we'll just have to trust that the review process will detect it. FWIW, the only docs I've found so far w/ that particular error are the ones that Vincent found -you did say you found three, right Vincent?- but I've found other problems w/ other docstrings (some of which have since advanced past the state they were in back then, i.e., the errors went undetected even though someone has ostensibly reviewed them.) DG DG > > No. The review status is not versioned, so the necessary information is > not there. The only chance would be to search for docstrings that haven't > been edited after a certain date. > > -- > Pauli Virtanen > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -- Mathematician: noun, someone who disavows certainty when their uncertainty set is non-empty, even if that set has measure zero. Hope: noun, that delusive spirit which escaped Pandora's jar and, with her lies, prevents mankind from committing a general suicide. (As interpreted by Robert Graves) -------------- next part -------------- An HTML attachment was scrubbed... URL: From kwmsmith at gmail.com Sun Jun 27 14:41:23 2010 From: kwmsmith at gmail.com (Kurt Smith) Date: Sun, 27 Jun 2010 13:41:23 -0500 Subject: [Numpy-discussion] arr.copy(order='F') doesn't agree with docstring: what is intended behavior? In-Reply-To: References: <4C269C98.7080802@enthought.com> Message-ID: On Sun, Jun 27, 2010 at 1:03 PM, David Goldsmith wrote: > On Sun, Jun 27, 2010 at 10:38 AM, Kurt Smith wrote: >> >> On Sat, Jun 26, 2010 at 7:34 PM, Warren Weckesser >> wrote: >> > Kurt Smith wrote: >> >> I'd really like arr.copy(order='F') to work -- is it supposed to as >> >> its docstring says, or is it supposed to raise a TypeError as it does >> >> now? >> >> >> > >> > It works for me if I don't use the keyword. ?That is, >> > >> > ?>>> b = a.copy('F') >> >> Great! ?At least the functionality is there. >> >> > >> > But I get the same error if I use order='F', so there is a either a bug >> > in the docstring or a bug in the code. >> >> I certainly hope it's a docstring bug and not otherwise. >> >> Any pointers on submitting documentation bugs? >> >> Kurt > > Same as filing a code bug: file a ticket at projects.scipy.org/numpy,? But > the policy is to document desired behavior, not actual behavior (if the code > isn't behaving as advertised but it should, obviously that's a code bug), so > you can do one of two things: a) wait 'til someone replies here clarifying > which it is, or b) file a ticket which describes the inconsistency and let > the issue be worked out over there (preferred IMO 'cause it gets the ticket > filed while the issue is fresh in your mind, and any discussion of what kind > of bug it is gets recorded as part of the ticket history).? Thanks for > reporting/filing! I misspoke (mistyped...). So long as it has the 'F' behavior I'm happy, and I'll gladly file a bug report & patch to get the code to match the docs, assuming that's the intended behavior. Who do I contact about getting a trac account? Thanks, Kurt > > DG > >> >> > >> > Warren >> > >> > >> >> This is on numpy 1.4 >> >> >> >> >> >>>>> import numpy as np >> >>>>> a = np.arange(10).reshape(5,2) >> >>>>> a >> >>>>> >> >> array([[0, 1], >> >> ? ? ? ?[2, 3], >> >> ? ? ? ?[4, 5], >> >> ? ? ? ?[6, 7], >> >> ? ? ? ?[8, 9]]) >> >> >> >>>>> print a.copy.__doc__ >> >>>>> >> >> a.copy(order='C') >> >> >> >> ? ? Return a copy of the array. >> >> >> >> ? ? Parameters >> >> ? ? ---------- >> >> ? ? order : {'C', 'F', 'A'}, optional >> >> ? ? ? ? By default, the result is stored in C-contiguous (row-major) >> >> order in >> >> ? ? ? ? memory. ?If `order` is `F`, the result has 'Fortran' >> >> (column-major) >> >> ? ? ? ? order. ?If order is 'A' ('Any'), then the result has the same >> >> order >> >> ? ? ? ? as the input. >> >> >> >> ? ? Examples >> >> ? ? -------- >> >> ? ? >>> x = np.array([[1,2,3],[4,5,6]], order='F') >> >> >> >> ? ? >>> y = x.copy() >> >> >> >> ? ? >>> x.fill(0) >> >> >> >> ? ? >>> x >> >> ? ? array([[0, 0, 0], >> >> ? ? ? ? ? ?[0, 0, 0]]) >> >> >> >> ? ? >>> y >> >> ? ? array([[1, 2, 3], >> >> ? ? ? ? ? ?[4, 5, 6]]) >> >> >> >> ? ? >>> y.flags['C_CONTIGUOUS'] >> >> ? ? True >> >> >> >>>>> a.copy(order='C') >> >>>>> >> >> Traceback (most recent call last): >> >> ? File "", line 1, in >> >> TypeError: copy() takes no keyword arguments >> >> >> >>>>> a.copy(order='F') >> >>>>> >> >> Traceback (most recent call last): >> >> ? File "", line 1, in >> >> TypeError: copy() takes no keyword arguments From pav at iki.fi Sun Jun 27 14:45:24 2010 From: pav at iki.fi (Pauli Virtanen) Date: Sun, 27 Jun 2010 18:45:24 +0000 (UTC) Subject: [Numpy-discussion] arr.copy(order='F') doesn't agree with docstring: what is intended behavior? References: <4C269C98.7080802@enthought.com> Message-ID: Sun, 27 Jun 2010 13:41:23 -0500, Kurt Smith wrote: [clip] > I misspoke (mistyped...). So long as it has the 'F' behavior I'm happy, > and I'll gladly file a bug report & patch to get the code to match the > docs, assuming that's the intended behavior. The problem is probably that the function is using PyArg_ParseTuple instead of PyArg_ParseTupleAndKeywords > Who do I contact about getting a trac account? Go to http://projects.scipy.org/numpy/ and select "Register". -- Pauli Virtanen From friedrichromstedt at gmail.com Sun Jun 27 17:33:34 2010 From: friedrichromstedt at gmail.com (Friedrich Romstedt) Date: Sun, 27 Jun 2010 23:33:34 +0200 Subject: [Numpy-discussion] printing of array and leading white space ? In-Reply-To: References: Message-ID: I don't know precisely how the decision is made, but in general one needs the pad spaces for printing arrays with > 1 row. Friedrich 2010/6/26 Vincent Davis : > This is a little strange and I am not sure what is going on. Look at > the number of spaced before the first number in the array. > >>>> x = np.array([629.54440098249688162, 26186.5470310494529258 ]) >>>> x > array([ ? 629.54440098249688162, ?26186.5470310494529258 ]) > > 3 ?spaces before 629.544... > >>>> x = np.array([629.54440098249688162, 2634186.5470310494529258 ]) >>>> x > array([ ?6.29544400982496882e+02, ? 2.63418654703104962e+06]) > > 2 spaces > > There are many different ways experiment, and I assume that the spaces > are there to help the printed array look better. The 3 spaces are not > there is the second digit is shorter. The thing is I can't think of an > example where the 3 spaces are needed. Is there an example? > > Vincent From jsseabold at gmail.com Sun Jun 27 23:53:52 2010 From: jsseabold at gmail.com (Skipper Seabold) Date: Sun, 27 Jun 2010 23:53:52 -0400 Subject: [Numpy-discussion] issue #1431 accessing multiple fields in a recarray In-Reply-To: References: Message-ID: On Sun, Jun 27, 2010 at 8:26 AM, sam tygier wrote: > Hello > > A while ago there was a discussion about field order when accessing recarrays. eg: > >>>> x = np.array([(1.5,2.5,(1.0,2.0)),(3.,4.,(4.,5.)),(1.,3.,(2.,6.))], > ? ? ? ? dtype=[('x','f4'),('y',np.float32),('value','f4',(2,2))]) >>>> x[['x','y']] > array([(1.5, 2.5), (3.0, 4.0), (1.0, 3.0)], > ? ? ?dtype=[('x', '>>> x[['y','x']] > array([(1.5, 2.5), (3.0, 4.0), (1.0, 3.0)], > ? ? ?dtype=[('x', ' > http://thread.gmane.org/gmane.comp.python.numeric.general/36933 > > There is a bug at http://projects.scipy.org/numpy/ticket/1431 > > The fix is very simple, but there was some worry that some existing code may require the broken behavior. eg some code may ask for: > x[['y','x']] > and expect the result to have 'x' as the first column in the result. > > I suspect that code like this is rare (it could be easily changed to x[['x','y']] if thats what is really wanted). > > I think the correct way to proceed is probably to raise a DeprecationWarning for code that it requiring the broken behavior. The bug has a patch to implement this. Then in a future version the patch to fix it could be applied. > +1 to applying the DeprecationWarning patch. Skipper From faltet at pytables.org Mon Jun 28 03:48:42 2010 From: faltet at pytables.org (Francesc Alted) Date: Mon, 28 Jun 2010 09:48:42 +0200 Subject: [Numpy-discussion] =?iso-8859-1?q?Possible_to_use_numexpr_with_us?= =?iso-8859-1?q?er_made=09ufuncs/scipy_ufuncs=3F?= In-Reply-To: References: Message-ID: <201006280948.42743.faltet@pytables.org> A Saturday 26 June 2010 19:17:43 Pauli Virtanen escrigu?: > But what if such an expression does not exist? For example, there is no > finite closed form expression for the Bessel functions in terms of > elementary functions. An accurate implementation is rather complicated, > and usually piecewise defined. > > For convenience reasons, it could be useful if one could do something like > > numexpr.evaluate("cos(iv(0, x))", functions=dict(iv=scipy.special.iv)) > > and this would be translated to numexpr bytecode that would make a Python > function call to obtain "iv(0, x)" for each block of data required, > assuming "iv" is a vectorized function. It's of course possible to > precompute the value of "iv(0, x)", but this is extra hassle and requires > additional memory. Yeah, I can see the merit of implementing such a thing, mainly for avoiding additional memory consumption. But again, the nice thing would be to implement such a special functions in terms of numexpr expressions so that the evaluation itself can be faster. Admittedly, that would take a bit more time. Anyway, if someone comes with patches for implementing this, I'd glad to commit them. -- Francesc Alted From pav at iki.fi Mon Jun 28 04:22:31 2010 From: pav at iki.fi (Pauli Virtanen) Date: Mon, 28 Jun 2010 10:22:31 +0200 Subject: [Numpy-discussion] Possible to use numexpr with user made ufuncs/scipy ufuncs? In-Reply-To: <201006280948.42743.faltet@pytables.org> References: <201006280948.42743.faltet@pytables.org> Message-ID: <1277713351.2138.9.camel@talisman> ma, 2010-06-28 kello 09:48 +0200, Francesc Alted kirjoitti: [clip] > But again, the nice thing would be to implement such a special functions in > terms of numexpr expressions so that the evaluation itself can be faster. > Admittedly, that would take a bit more time. Quite often, you need to evaluate a series or continued fraction expansion to get the value of a special function at some point, limiting the number of terms by stopping when a certain convergence criterion is satisfied. Also, which series to sum typically depends on the point where things are evaluated. These things don't vectorize very nicely. If I understand correctly, numexpr bytecode interpreter does not support conditionals and loops like this at the moment? The special function implementations are typically written in bare C/Fortran. Do you think numexpr could give speedups there? As I see it, speedups (at least with MKL) could come from using faster implementations of sin/cos/exp etc. basic functions. Using SIMD to maximum effect would then require an amount of cleverness in re-writing the evaluation algorithms, which sounds like a major amount of work. -- Pauli Virtanen From dagss at student.matnat.uio.no Mon Jun 28 04:38:21 2010 From: dagss at student.matnat.uio.no (Dag Sverre Seljebotn) Date: Mon, 28 Jun 2010 10:38:21 +0200 Subject: [Numpy-discussion] Is numpy ignoring CFLAGS? In-Reply-To: <4C274727.2000908@onetel.net> References: <4C274727.2000908@onetel.net> Message-ID: <4C285F7D.6020409@student.matnat.uio.no> Dr. David Kirkby wrote: > On some 64-bit platforms, which include, but is not limited to: > > * Some version of OS X (I don't know what versions or processors) > * Solaris on SPARC processors. > * Solaris on x86 processors. > * OpenSolaris on SPARC processors. > * OpenSolaris on x86 processors. > * HP-UX on PA-RISC processors. > > the default is to build 32-bit objects, but 64-bit objects can be created if > needed. This is usually done via adding the -m64 flag when compiling with GCC or > SunStudio, though the flag will be different with HP's compiler. > > Numpy is used as part of Sage, but it would appear that adding -m64 to CFLAGS > will not work. A comment in the script used to build numpy shows: > First: Is Python built using -m64? If not, is there a reason that NumPy in 64 bit and load it into 32 bit Python work? If Python is built with -m64 I'd expect NumPy to pick it up automatically as it queries Python for the build flags to use... > # numpy's distutils is buggy and runs a conftest without > # taking CFLAGS into account. With 64 bit OSX this results > # in *boom* > > it then goes on to copy a file called gcc_fake, which is basically a script > which gets renamed to gcc, but includes the -m64 flag. > > We are using numpy-1.3.0. > > Is this a known bug? If not, can I submit it to a bug database? Better still, > does anyone have a patch to resolve it - I hate the idea of making > Until somebody who really knows an answer chimes in; AFAIK this is a "feature" in distutils itself, so it affects most Python software. (Setting CFLAGS overwrites the necesarry CFLAGS settings, like -fPIC and -fno-strict-aliasing, that is queried from Python). Try setting "OPT" instead? Dag Sverre From faltet at pytables.org Mon Jun 28 04:57:53 2010 From: faltet at pytables.org (Francesc Alted) Date: Mon, 28 Jun 2010 10:57:53 +0200 Subject: [Numpy-discussion] Possible to use numexpr with user made ufuncs/scipy ufuncs? In-Reply-To: <1277713351.2138.9.camel@talisman> References: <201006280948.42743.faltet@pytables.org> <1277713351.2138.9.camel@talisman> Message-ID: <201006281057.54009.faltet@pytables.org> A Monday 28 June 2010 10:22:31 Pauli Virtanen escrigu?: > ma, 2010-06-28 kello 09:48 +0200, Francesc Alted kirjoitti: > [clip] > > > But again, the nice thing would be to implement such a special functions > > in terms of numexpr expressions so that the evaluation itself can be > > faster. Admittedly, that would take a bit more time. > > Quite often, you need to evaluate a series or continued fraction > expansion to get the value of a special function at some point, limiting > the number of terms by stopping when a certain convergence criterion is > satisfied. Also, which series to sum typically depends on the point > where things are evaluated. These things don't vectorize very nicely. If > I understand correctly, numexpr bytecode interpreter does not support > conditionals and loops like this at the moment? No, it does not support loops. And conditionals are supported only via vectorized conditionals (i.e. the `where()` opcode). > The special function implementations are typically written in bare > C/Fortran. Do you think numexpr could give speedups there? As I see it, > speedups (at least with MKL) could come from using faster > implementations of sin/cos/exp etc. basic functions. Using SIMD to > maximum effect would then require an amount of cleverness in re-writing > the evaluation algorithms, which sounds like a major amount of work. Okay. I thought that special functions were more 'vectorizable', or that it could be expressed in terms of more basic functions (sin/cos/exp). But if this is not the case, then it is quite clear that the best solution would be your first suggestion (i.e. implement user-provide ufunc evaluation). And definitely, implementing special functions in terms of SIMD would really be a *major* effort, and only doable by very specialized people ;-) -- Francesc Alted From david.kirkby at onetel.net Mon Jun 28 05:56:51 2010 From: david.kirkby at onetel.net (Dr. David Kirkby) Date: Mon, 28 Jun 2010 10:56:51 +0100 Subject: [Numpy-discussion] Is numpy ignoring CFLAGS? In-Reply-To: <4C285F7D.6020409@student.matnat.uio.no> References: <4C274727.2000908@onetel.net> <4C285F7D.6020409@student.matnat.uio.no> Message-ID: <4C2871E3.9040101@onetel.net> On 06/28/10 09:38 AM, Dag Sverre Seljebotn wrote: > Dr. David Kirkby wrote: >> On some 64-bit platforms, which include, but is not limited to: >> >> * Some version of OS X (I don't know what versions or processors) >> * Solaris on SPARC processors. >> * Solaris on x86 processors. >> * OpenSolaris on SPARC processors. >> * OpenSolaris on x86 processors. >> * HP-UX on PA-RISC processors. >> >> the default is to build 32-bit objects, but 64-bit objects can be created if >> needed. This is usually done via adding the -m64 flag when compiling with GCC or >> SunStudio, though the flag will be different with HP's compiler. >> >> Numpy is used as part of Sage, but it would appear that adding -m64 to CFLAGS >> will not work. A comment in the script used to build numpy shows: >> > First: Is Python built using -m64? If not, is there a reason that NumPy > in 64 bit and load it into 32 bit Python work? If Python is built with > -m64 I'd expect NumPy to pick it up automatically as it queries Python > for the build flags to use... Yes, Python is built 64-bit, using the -m64 option. >> # numpy's distutils is buggy and runs a conftest without >> # taking CFLAGS into account. With 64 bit OSX this results >> # in *boom* >> >> it then goes on to copy a file called gcc_fake, which is basically a script >> which gets renamed to gcc, but includes the -m64 flag. >> >> We are using numpy-1.3.0. >> >> Is this a known bug? If not, can I submit it to a bug database? Better still, >> does anyone have a patch to resolve it - I hate the idea of making >> > Until somebody who really knows an answer chimes in; > > AFAIK this is a "feature" in distutils itself, so it affects most Python > software. (Setting CFLAGS overwrites the necesarry CFLAGS settings, like > -fPIC and -fno-strict-aliasing, that is queried from Python). Try > setting "OPT" instead? > > Dag Sverre OPT has -m64 in it. This is the bit that shows how Python is built on Solaris (uname=SunOS). SAGE64 will be set to "yes" for a 64-bit build. OPT="-g -O3 -m64 -Wall -Wstrict-prototypes"; export OPT ./configure $EXTRAFLAGS --prefix="$SAGE_LOCAL" \ --enable-unicode=ucs4 --with-gcc="gcc -m64" Many other parts of Sage seem to inherit the flags ok from Python, but not numpy. It is not a Solaris specific issue, as the same issue results on OS X. Dave Dave From cournape at gmail.com Mon Jun 28 06:28:11 2010 From: cournape at gmail.com (David Cournapeau) Date: Mon, 28 Jun 2010 19:28:11 +0900 Subject: [Numpy-discussion] Is numpy ignoring CFLAGS? In-Reply-To: <4C2871E3.9040101@onetel.net> References: <4C274727.2000908@onetel.net> <4C285F7D.6020409@student.matnat.uio.no> <4C2871E3.9040101@onetel.net> Message-ID: On Mon, Jun 28, 2010 at 6:56 PM, Dr. David Kirkby wrote: > On 06/28/10 09:38 AM, Dag Sverre Seljebotn wrote: >> Dr. David Kirkby wrote: >>> On some 64-bit platforms, which include, but is not limited to: >>> >>> ? ?* Some version of OS X (I don't know what versions or processors) >>> ? ?* Solaris on SPARC processors. >>> ? ?* Solaris on x86 processors. >>> ? ?* OpenSolaris on SPARC processors. >>> ? ?* OpenSolaris on x86 processors. >>> ? ?* HP-UX on PA-RISC processors. >>> >>> the default is to build 32-bit objects, but 64-bit objects can be created if >>> needed. This is usually done via adding the -m64 flag when compiling with GCC or >>> SunStudio, though the flag will be different with HP's compiler. >>> >>> Numpy is used as part of Sage, but it would appear that adding -m64 to CFLAGS >>> will not work. A comment in the script used to build numpy shows: >>> >> First: Is Python built using -m64? If not, is there a reason that NumPy >> in 64 bit and load it into 32 bit Python work? If Python is built with >> -m64 I'd expect NumPy to pick it up automatically as it queries Python >> for the build flags to use... > > Yes, Python is built 64-bit, using the -m64 option. > >>> # numpy's distutils is buggy and runs a conftest without >>> # taking CFLAGS into account. With 64 bit OSX this results >>> # in *boom* >>> >>> it then goes on to copy a file called gcc_fake, which is basically a script >>> which gets renamed to gcc, but includes the -m64 flag. >>> >>> We are using numpy-1.3.0. >>> >>> Is this a known bug? If not, can I submit it to a bug database? Better still, >>> does anyone have a patch to resolve it - I hate the idea of making >>> >> Until somebody who really knows an answer chimes in; >> >> AFAIK this is a "feature" in distutils itself, so it affects most Python >> software. (Setting CFLAGS overwrites the necesarry CFLAGS settings, like >> -fPIC and -fno-strict-aliasing, that is queried from Python). Try >> setting "OPT" instead? >> >> Dag Sverre > > OPT has -m64 in it. > > This is the bit that shows how Python is built on Solaris (uname=SunOS). SAGE64 > will be set to "yes" for a 64-bit build. > > OPT="-g -O3 -m64 -Wall -Wstrict-prototypes"; export OPT > ./configure $EXTRAFLAGS --prefix="$SAGE_LOCAL" ?\ > --enable-unicode=ucs4 --with-gcc="gcc -m64" > > > Many other parts of Sage seem to inherit the flags ok from Python, but not numpy. Are you saying that OPT is not taken into account ? It seems to work for me, e.g. OPT="-m64" python setup.py build_ext does put -m64 somewhere in CFLAGS. When using numpy.distutils, CFLAGS should never be overriden unless you are ready to set up the whole set of options manually. By default, CFLAGS is the concatenation of BASECFLAGS, OPT and CCSHARED (in that order), and only OPT should be tweaked in general. David From david.kirkby at onetel.net Mon Jun 28 08:28:29 2010 From: david.kirkby at onetel.net (Dr. David Kirkby) Date: Mon, 28 Jun 2010 13:28:29 +0100 Subject: [Numpy-discussion] Is numpy ignoring CFLAGS? In-Reply-To: References: <4C274727.2000908@onetel.net> <4C285F7D.6020409@student.matnat.uio.no> <4C2871E3.9040101@onetel.net> Message-ID: <4C28956D.1080803@onetel.net> On 06/28/10 11:28 AM, David Cournapeau wrote: > On Mon, Jun 28, 2010 at 6:56 PM, Dr. David Kirkby >> Many other parts of Sage seem to inherit the flags ok from Python, but not numpy. > > Are you saying that OPT is not taken into account ? It seems to work > for me, e.g. > > OPT="-m64" python setup.py build_ext > > does put -m64 somewhere in CFLAGS. When using numpy.distutils, CFLAGS > should never be overriden unless you are ready to set up the whole set > of options manually. By default, CFLAGS is the concatenation of > BASECFLAGS, OPT and CCSHARED (in that order), and only OPT should be > tweaked in general. > > David > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion OPT is not being totally ignored, but some part of numpy is trying to build without taking -m64 into account. Note in the output below that as numpy is compiled, -m64 is shown on some lines, which is what I expect. But note also the messages about "wrong ELF class: ELFCLASS64" from the linker, indicating to me the linker is not expecting to find 64-bit objects. All the libraries in the directory /export/home/drkirkby/sage-4.5.alpha0/local/lib are 64-bit. Someone worked around this on OS X by creating a script called 'gcc_fake', with this content #!/bin/bash /usr/bin/gcc -m64 $@ If a 64-bit build was going to be done, this was remaned to 'gcc' and put in the path first before building numpy. Once numpy was built, the script can be deleted. All the script does is basically invoke gcc with the -m64 option, which is making me think that -m64 is being missed somewhere. I just deleted this gcc_fake, as it had a hard-coded path. I then created it dynamically, so the path of the real gcc does not need to be /usr/bin/gcc. Doing that, I can build numpy 64-bit on OpenSolaris. But of course this is a hack, and I'd rather avoid the hack if possible. BTW, if it would help, I could create you an account on this machine and test it yourself. I'm not trying to get out of doing the work, but the offer is there. Dave numpy-1.3.0.p3/spkg-install numpy-1.3.0.p3/.hgignore Finished extraction **************************************************** Host system uname -a: SunOS hawk 5.11 snv_134 i86pc i386 i86pc **************************************************** **************************************************** CC Version gcc -v Using built-in specs. Target: i386-pc-solaris2.11 Configured with: /export/home/drkirkby/gcc-4.4.4/configure --prefix=/usr/local/gcc-4.4.4-multilib --enable-languages=c,c++,fortran --with-gmp=/usr/local/gcc-4.4.4-multilib --with-mpfr=/usr/local/gcc-4.4.4-multilib --disable-nls --enable-checking=release --enable-werror=no --enable-multilib --with-system-zlib --enable-bootstrap --with-gnu-as --with-as=/usr/local/binutils-2.20/bin/as --without-gnu-ld --with-ld=/usr/ccs/bin/ld Thread model: posix gcc version 4.4.4 (GCC) **************************************************** Running from numpy source directory. F2PY Version 2 blas_opt_info: blas_mkl_info: libraries mkl,vml,guide not found in /export/home/drkirkby/sage-4.5.alpha0/local/lib NOT AVAILABLE atlas_blas_threads_info: Setting PTATLAS=ATLAS libraries ptf77blas,ptcblas,atlas not found in /export/home/drkirkby/sage-4.5.alpha0/local/lib NOT AVAILABLE atlas_blas_info: FOUND: libraries = ['f77blas', 'cblas', 'atlas'] library_dirs = ['/export/home/drkirkby/sage-4.5.alpha0/local/lib'] language = c include_dirs = ['/export/home/drkirkby/sage-4.5.alpha0/local/include'] /export/home/drkirkby/sage-4.5.alpha0/spkg/build/numpy-1.3.0.p3/src/numpy/distutils/command/config.py:361: DeprecationWarning: +++++++++++++++++++++++++++++++++++++++++++++++++ Usage of get_output is deprecated: please do not use it anymore, and avoid configuration checks involving running executable on the target machine. +++++++++++++++++++++++++++++++++++++++++++++++++ DeprecationWarning) customize Sage_FCompiler_1 customize Sage_FCompiler_1 customize Sage_FCompiler_1 using config compiling '_configtest.c': /* This file is generated from numpy/distutils/system_info.py */ void ATL_buildinfo(void); int main(void) { ATL_buildinfo(); return 0; } C compiler: gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -O3 -m64 -Wall -Wstrict-prototypes -fPIC compile options: '-c' gcc: _configtest.c gcc _configtest.o -L/export/home/drkirkby/sage-4.5.alpha0/local/lib -lf77blas -lcblas -latlas -o _configtest ld: fatal: file _configtest.o: wrong ELF class: ELFCLASS64 ld: fatal: file processing errors. No output written to _configtest collect2: ld returned 1 exit status ld: fatal: file _configtest.o: wrong ELF class: ELFCLASS64 ld: fatal: file processing errors. No output written to _configtest collect2: ld returned 1 exit status failure. removing: _configtest.c _configtest.o Status: 255 Output: FOUND: libraries = ['f77blas', 'cblas', 'atlas'] library_dirs = ['/export/home/drkirkby/sage-4.5.alpha0/local/lib'] language = c define_macros = [('NO_ATLAS_INFO', 2)] include_dirs = ['/export/home/drkirkby/sage-4.5.alpha0/local/include'] lapack_opt_info: lapack_mkl_info: mkl_info: libraries mkl,vml,guide not found in /export/home/drkirkby/sage-4.5.alpha0/local/lib NOT AVAILABLE NOT AVAILABLE atlas_threads_info: Setting PTATLAS=ATLAS libraries ptf77blas,ptcblas,atlas not found in /export/home/drkirkby/sage-4.5.alpha0/local/lib libraries lapack_atlas not found in /export/home/drkirkby/sage-4.5.alpha0/local/lib numpy.distutils.system_info.atlas_threads_info NOT AVAILABLE atlas_info: libraries lapack_atlas not found in /export/home/drkirkby/sage-4.5.alpha0/local/lib numpy.distutils.system_info.atlas_info FOUND: libraries = ['lapack', 'f77blas', 'cblas', 'atlas'] library_dirs = ['/export/home/drkirkby/sage-4.5.alpha0/local/lib'] language = f77 include_dirs = ['/export/home/drkirkby/sage-4.5.alpha0/local/include'] customize Sage_FCompiler_1 customize Sage_FCompiler_1 customize Sage_FCompiler_1 using config compiling '_configtest.c': /* This file is generated from numpy/distutils/system_info.py */ void ATL_buildinfo(void); int main(void) { ATL_buildinfo(); return 0; } C compiler: gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -O3 -m64 -Wall -Wstrict-prototypes -fPIC compile options: '-c' gcc: _configtest.c gcc _configtest.o -L/export/home/drkirkby/sage-4.5.alpha0/local/lib -llapack -lf77blas -lcblas -latlas -o _configtest ld: fatal: file _configtest.o: wrong ELF class: ELFCLASS64 ld: fatal: file processing errors. No output written to _configtest collect2: ld returned 1 exit status ld: fatal: file _configtest.o: wrong ELF class: ELFCLASS64 ld: fatal: file processing errors. No output written to _configtest collect2: ld returned 1 exit status failure. removing: _configtest.c _configtest.o Status: 255 Output: FOUND: libraries = ['lapack', 'f77blas', 'cblas', 'atlas'] library_dirs = ['/export/home/drkirkby/sage-4.5.alpha0/local/lib'] language = f77 define_macros = [('NO_ATLAS_INFO', 2)] include_dirs = ['/export/home/drkirkby/sage-4.5.alpha0/local/include'] running install running build running config_cc unifing config_cc, config, build_clib, build_ext, build commands --compiler options running config_fc unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options running build_src building py_modules sources creating build creating build/src.solaris-2.11-i86pc-2.6 creating build/src.solaris-2.11-i86pc-2.6/numpy creating build/src.solaris-2.11-i86pc-2.6/numpy/distutils building library "npymath" sources creating build/src.solaris-2.11-i86pc-2.6/numpy/core creating build/src.solaris-2.11-i86pc-2.6/numpy/core/src conv_template:> build/src.solaris-2.11-i86pc-2.6/numpy/core/src/npy_math.c building extension "numpy.core._sort" sources Generating build/src.solaris-2.11-i86pc-2.6/numpy/core/include/numpy/config.h customize Sage_FCompiler_1 customize Sage_FCompiler_1 customize Sage_FCompiler_1 using config C compiler: gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -O3 -m64 -Wall -Wstrict-prototypes -fPIC compile options: '-Inumpy/core/src -Inumpy/core/include -I/export/home/drkirkby/sage-4.5.alpha0/local/include/python2.6 -c' gcc: _configtest.c success! removing: _configtest.c _configtest.o C compiler: gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -O3 -m64 -Wall -Wstrict-prototypes -fPIC compile options: '-Inumpy/core/src -Inumpy/core/include -I/export/home/drkirkby/sage-4.5.alpha0/local/include/python2.6 -c' gcc: _configtest.c _configtest.c:4: warning: function declaration isn't a prototype removing: _configtest.c _configtest.o C compiler: gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -O3 -m64 -Wall -Wstrict-prototypes -fPIC From vincent at vincentdavis.net Mon Jun 28 09:37:06 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Mon, 28 Jun 2010 07:37:06 -0600 Subject: [Numpy-discussion] numscons and Python 2.7 problems In-Reply-To: <4C24F007.6020709@uci.edu> References: <4C0D5168.3060001@uci.edu> <4C24F007.6020709@uci.edu> Message-ID: On Fri, Jun 25, 2010 at 12:05 PM, Christoph Gohlke wrote:> > > On 6/7/2010 1:58 PM, Charles R Harris wrote: >> >> >> On Mon, Jun 7, 2010 at 2:07 PM, Christoph Gohlke > > wrote: >> >> ? ? Dear NumPy developers, >> >> ? ? I was trying to build numpy 2.0.dev and scipy 0.9.dev using numscons >> ? ? 0.12.dev and Python 2.7b2 (32 bit) on Windows 7 64 bit and ran into two >> ? ? problems. >> >> >> ? ? First, Python 2.7's UserDict is now a new-style class >> ? ? (http://docs.python.org/dev/whatsnew/2.7.html). Apparently scons 1.2, >> ? ? which is part of numscons, is not compatible with this change and an >> ? ? AttributeError is thrown: >> >> >> I wonder sometimes if it is worth supporting python versions 2.x > 2.6. >> The developers seem intent on breaking the API as much as possible and >> support could become a burden. At least 3.x has a policy of keeping the >> API intact. ?I'm only half joking here,. >> > > Good news: Python's 2.7 UserDict has been reverted to an old-style class > after release candidate 2. See discussion at > I just successfully built from source numpy on todays 2.7 snapshot with the following command. LDFLAGS="-arch x86_64" FFLAGS="-arch x86_64" py27 setupscons.py scons Vincent > > Christoph > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From cournape at gmail.com Mon Jun 28 09:54:35 2010 From: cournape at gmail.com (David Cournapeau) Date: Mon, 28 Jun 2010 22:54:35 +0900 Subject: [Numpy-discussion] Is numpy ignoring CFLAGS? In-Reply-To: <4C28956D.1080803@onetel.net> References: <4C274727.2000908@onetel.net> <4C285F7D.6020409@student.matnat.uio.no> <4C2871E3.9040101@onetel.net> <4C28956D.1080803@onetel.net> Message-ID: On Mon, Jun 28, 2010 at 9:28 PM, Dr. David Kirkby wrote: > On 06/28/10 11:28 AM, David Cournapeau wrote: >> On Mon, Jun 28, 2010 at 6:56 PM, Dr. David Kirkby > >>> Many other parts of Sage seem to inherit the flags ok from Python, but not numpy. >> >> Are you saying that OPT is not taken into account ? It seems to work >> for me, e.g. >> >> OPT="-m64" python setup.py build_ext >> >> does put -m64 somewhere in CFLAGS. When using numpy.distutils, CFLAGS >> should never be overriden unless you are ready to set up the whole set >> of options manually. By default, CFLAGS is the concatenation of >> BASECFLAGS, OPT and CCSHARED (in that order), and only OPT should be >> tweaked in general. >> >> David >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > OPT is not being totally ignored, but some part of numpy is trying to build > without taking -m64 into account. > > Note in the output below that as numpy is compiled, -m64 is shown on some lines, > which is what I expect. But note also the messages about "wrong ELF class: > ELFCLASS64" from the linker, indicating to me the linker is not expecting to > find 64-bit objects. Ah, that makes the issue much clearer: the linker is not passed the -m64 option. It works with distutils because CFLAGS is appended to LDFLAGS if CFLAGS is in os.environ,but we use CFLAGS differently. I am not sure how to fix that issue... David From rsalvador.wk at gmail.com Mon Jun 28 10:52:11 2010 From: rsalvador.wk at gmail.com (Ruben Salvador) Date: Mon, 28 Jun 2010 16:52:11 +0200 Subject: [Numpy-discussion] numpy.load raising IOError but EOFError expected In-Reply-To: References: Message-ID: Sorry I had no access during these days. Thanks for the answer Friedrich, I had already checked numpy.savez, but unfortunately I cannot make use of it. I don't have all the data needed to be saved at the same time...it is produced each time I run a test. Thanks anyway! Any other idea why this is happening? Is it expected behavior? On Thu, Jun 24, 2010 at 7:30 PM, Friedrich Romstedt < friedrichromstedt at gmail.com> wrote: > 2010/6/23 Ruben Salvador : > > Therefore, is this a bug? Shouldn't EOFError be raised instead of > IOError? > > Or am I missunderstanding something? If this is not a bug, how can I > detect > > the EOF to stop reading (I expect a way for this to work without tweaking > > the code with saving first in the file the number of dumps done)? > > Maybe you can make use of numpy.savez, > > http://docs.scipy.org/doc/numpy/reference/generated/numpy.savez.html#numpy-savez > . > > Friedrich > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -- Rub?n Salvador PhD student @ Centro de Electr?nica Industrial (CEI) http://www.cei.upm.es Blog: http://aesatcei.wordpress.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From pav at iki.fi Mon Jun 28 11:18:37 2010 From: pav at iki.fi (Pauli Virtanen) Date: Mon, 28 Jun 2010 17:18:37 +0200 Subject: [Numpy-discussion] numpy.load raising IOError but EOFError expected In-Reply-To: References: Message-ID: <1277738317.3555.84.camel@talisman> ke, 2010-06-23 kello 12:46 +0200, Ruben Salvador kirjoitti: [clip] > how can I detect the EOF to stop reading r = f.read(1) if not r: break # EOF else: f.seek(-1, 1) -- Pauli Virtanen From david.kirkby at onetel.net Mon Jun 28 11:50:32 2010 From: david.kirkby at onetel.net (Dr. David Kirkby) Date: Mon, 28 Jun 2010 16:50:32 +0100 Subject: [Numpy-discussion] Is numpy ignoring CFLAGS? In-Reply-To: References: <4C274727.2000908@onetel.net> <4C285F7D.6020409@student.matnat.uio.no> <4C2871E3.9040101@onetel.net> <4C28956D.1080803@onetel.net> Message-ID: <4C28C4C8.2010700@onetel.net> On 06/28/10 02:54 PM, David Cournapeau wrote: > On Mon, Jun 28, 2010 at 9:28 PM, Dr. David Kirkby > wrote: >> On 06/28/10 11:28 AM, David Cournapeau wrote: >>> On Mon, Jun 28, 2010 at 6:56 PM, Dr. David Kirkby >> >>>> Many other parts of Sage seem to inherit the flags ok from Python, but not numpy. >>> >>> Are you saying that OPT is not taken into account ? It seems to work >>> for me, e.g. >>> >>> OPT="-m64" python setup.py build_ext >>> >>> does put -m64 somewhere in CFLAGS. When using numpy.distutils, CFLAGS >>> should never be overriden unless you are ready to set up the whole set >>> of options manually. By default, CFLAGS is the concatenation of >>> BASECFLAGS, OPT and CCSHARED (in that order), and only OPT should be >>> tweaked in general. >>> >>> David >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion at scipy.org >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> >> OPT is not being totally ignored, but some part of numpy is trying to build >> without taking -m64 into account. >> >> Note in the output below that as numpy is compiled, -m64 is shown on some lines, >> which is what I expect. But note also the messages about "wrong ELF class: >> ELFCLASS64" from the linker, indicating to me the linker is not expecting to >> find 64-bit objects. > > Ah, that makes the issue much clearer: the linker is not passed the > -m64 option. It works with distutils because CFLAGS is appended to > LDFLAGS if CFLAGS is in os.environ,but we use CFLAGS differently. > > I am not sure how to fix that issue... > > David I've tried adding -m64 to LDFLAGS before exporting that. That does not help. Also, the Sun linker has this option -64 (note, no letter 'm'). drkirkby at hawk:~$ man ld Reformatting page. Please Wait... done User Commands ld(1) NAME ld - link-editor for object files SYNOPSIS ld [-32 | -64] [-a | -r] [-b] [-Bdirect | nodirect] [-B dynamic | static] [-B eliminate] [-B group] [-B local] [-B reduce] [-B symbolic] [-c name] [-C] [-d y | n] [-D token,...] [-e epsym] [-f name | -F name] [-G] [-h name] [-i] [-I name] [-l x] [-L path] [-m] [-M mapfile] [-N string] [-o outfile] [-p auditlib] [-P auditlib] [-Q y | n] [-R path] [-s] [-S supportlib] [-t] [-u symname] [-V] [-Y P,dirlist] [-z absexec] [-z allextract | defaultextract | weakextract ] [-z altexec64] [-z combreloc | nocombreloc ] [-z defs | nodefs] [-z direct | nodirect] [-z endfiltee] [-z finiarray=function] [-z globalaudit] [-z groupperm | nogroupperm] [-z help ] [-z ignore | record] [-z initarray=function] [-z initfirst] [-z interpose] [-z lazyload | nolazyload] [-z ld32=arg1,arg2,...] [-z ld64=arg1,arg2,...] [-z loadfltr] [-z muldefs] [-z nocompstrtab] [-z nodefaultlib] [-z nodelete] [-z nodlopen] [-z nodump] [-z noldynsym] [-z nopartial] [-z noversion] [-z now] [-z origin] [-z preinitarray=function] [-z redlocsym] [-z relaxreloc] [-z rescan-now] [-z recan] [-z rescan-start ... -z rescan-end]] [-z target=sparc|x86] [-z text | textwarn | textoff] [-z verbose] [-z wrap=symbol] filename... DESCRIPTION The link-editor, ld, combines relocatable object files by resolving symbol references to symbol definitions, together OPTIONS The following options are supported. -32 | -64 Creates a 32-bit, or 64-bit object. By default, the class of the object being generated is determined from the first ELF object processed from the command line. If no objects are specified, the class is determined by the first object encountered within the first archive processed from the command line. If there are no objects or archives, the link-editor creates a 32-bit object. The -64 option is required to create a 64-bit object solely from a mapfile. The -32 or -64 options can also be used in the rare case of linking entirely from an archive that contains a mix- ture of 32 and 64-bit objects. If the first object in the archive is not the class of the object that is required to be created, then the -32 or -64 option can be used to direct the link-editor. SunOS 5.11 Last change: 3 Dec 2009 3 User Commands ld(1) I tried adding that to LDFLAGS. Again it did not help. The *only* solution I can find to date is to create a script which invokes gcc with the -m64 option, but that is a horrible hack. Dave From berkes at brandeis.edu Mon Jun 28 12:35:37 2010 From: berkes at brandeis.edu (Pietro Berkes) Date: Mon, 28 Jun 2010 12:35:37 -0400 Subject: [Numpy-discussion] Decorator to access intermediate results in a function/algorithm Message-ID: Dear everybody, This message belongs only marginally to a numpy-related mailing list, but I thought it might be of interest here since it addresses what I believe is a common pattern in scientific development. My apologies if that is not the case... The code can be found at http://github.com/pberkes/persistent_locals and requires the byteplay library (http://code.google.com/p/byteplay/). The problem ========= In scientific development, functions often represent complex data processing algorithm that transform input data into a desired output. Internally, the function typically requires several intermediate results to be computed and stored in local variables. As a simple toy example, consider the following function, that takes three arguments and returns True if the sum of the arguments is smaller than their product: def is_sum_lt_prod(a,b,c): sum = a+b+c prod = a*b*c return sum {'a': 2, 'b': 1, 'c': 2, 'prod': 4, 'sum': 5} This style is cleaner, is consistent with the principle of identifying the value returned by a function as the output of an algorithm, and is robust to changes in the needs of the researcher. Note that the local variables are saved even in case of an exception, which turns out to be quite useful for debugging. How it works ========= The local variables in the inner scope of a function are not easily accessible. One solution (which I have not tried) may be to use tracing code like the one used in a debugger. This, however, would have a considerable cost in time. The proposed approach is to wrap the function in a callable object, and modify its bytecode by adding an external try...finally statement as follows: def f(self, *args, **kwargs): try: ... old code ... finally: self.locals = locals().copy() del self.locals['self'] The reason for wrapping the function in a class, instead of saving the locals in a function attribute directly, is that there are all sorts of complications in referring to itself from within a function. For example, referring to the attribute as f.locals results in the bytecode looking for the name 'f' in the namespace, and therefore moving the function, e.g. with g = f del f would break 'g'. There are even more problems for functions defined in a closure. I tried modfying f.func_globals with a custom dictionary which keeps a reference to f.func_globals, adding a static element to 'f', but this does not work as the Python interpreter does not call the func_globals dictionary with Python calls but directly with PyDict_GetItem (see http://osdir.com/ml/python.ideas/2007-11/msg00092.html). It is thus impossible to re-define __getitem__ to return 'f' as needed. Ideally, one would like to define a new closure for the function with a cell variable containing the reference, but this is impossible at present as far as I can tell. An alternative solution (see persistent_locals_with_kwarg in deco.py) is to change the signature of the function with an additional keyword argument f(arg1, arg2, _self_ref=f). However, this approach breaks functions that define an *args argument. Cost ==== The increase in execution time of the decorated function is minimal. Given its domain of application, most of the functions will take a significant amount of time to complete, making the cost the decoration negligible: import time def f(x): time.sleep(0.5) return 2*x df = deco.persistent_locals(f) %timeit f(1) 10 loops, best of 3: 501 ms per loop %timeit df(1) 10 loops, best of 3: 502 ms per loop Conclusion ======== The problem of accessing the intermediate results in an algorithm is a recurrent one in my research, and this decorator turned out to be quite useful in several occasions, and made some of the code much cleaner. Hopefully, it will be useful in other contexts as well! All the best, Pietro Berkes From mdroe at stsci.edu Mon Jun 28 12:51:23 2010 From: mdroe at stsci.edu (Michael Droettboom) Date: Mon, 28 Jun 2010 12:51:23 -0400 Subject: [Numpy-discussion] Decorator to access intermediate results in a function/algorithm In-Reply-To: References: Message-ID: <4C28D30B.6050200@stsci.edu> What are the implications of this with respect to memory usage? When working with large arrays, if the intermediate values of a number of functions are kept around (whether we want to access them or not) could this not lead to excessive memory usage? Maybe this behavior should only apply when (as you suggest in the counterexample) a "locals=True" kwarg is passed in. It seems like a lot of the maintainability issues raised in the counterexample could be solved by returning a dictionary or a bunch [1] instead of a tuple -- though that still (without care on the part of the user) has the "keeping around references too much stuff" problem. [1] http://code.activestate.com/recipes/52308-the-simple-but-handy-collector-of-a-bunch-of-named/ Mike On 06/28/2010 12:35 PM, Pietro Berkes wrote: > Dear everybody, > > This message belongs only marginally to a numpy-related mailing list, > but I thought it might be of interest here since it addresses what I > believe is a common pattern in scientific development. My apologies if > that is not the case... > > The code can be found at http://github.com/pberkes/persistent_locals > and requires the byteplay library > (http://code.google.com/p/byteplay/). > > The problem > ========= > > In scientific development, functions often represent complex data > processing algorithm that transform input data into a desired output. > Internally, the function typically requires several intermediate > results to be computed and stored in local variables. > > As a simple toy example, consider the following function, that > takes three arguments and returns True if the sum of the arguments is > smaller than their product: > > def is_sum_lt_prod(a,b,c): > sum = a+b+c > prod = a*b*c > return sum > A frequently occurring problem is that the developer/final user may > need to access the intermediate results at a later stage, in order to > analyze the detailed behavior of the algorithm, for debugging, or to > write more comprehensive tests. > > A possible solution would be to re-define the function and return the > needed internal variables, but this would break the existing code. A > better solution would be to add a keyword argument to return more > information: > > def is_sum_lt_prod(a,b,c, internals=False): > sum = a+b+c > prod = a*b*c > if internals: > return sum else: > return sum > This would keep the existing code intact, but only moves the problem > to later stages of the development. If successively the developer > needs access to even more local variables, the code has to be modified > again, and part of the code is broken. Moreover, this style leads to > ugly code like > > res, _, _, _, var1, _, var3 = f(x) > > where most of the returned values are irrelevant. > > Proposed solution > ============= > > The proposed solution consists in a decorator that makes the local > variables accessible from a function attribute, 'locals'. For example: > > @persistent_locals > def is_sum_lt_prod(a,b,c): > sum = a+b+c > prod = a*b*c > return sum > After calling the function (e.g. is_sum_lt_prod(2,1,2), which returns > False) we can analyze the intermediate results as > is_sum_lt_prod.locals > -> {'a': 2, 'b': 1, 'c': 2, 'prod': 4, 'sum': 5} > > This style is cleaner, is consistent with the principle of identifying > the value returned by a function as the output of an algorithm, and is > robust to changes in the needs of the researcher. > > Note that the local variables are saved even in case of an exception, > which turns out to be quite useful for debugging. > > How it works > ========= > > The local variables in the inner scope of a function are not easily > accessible. One solution (which I have not tried) may be to use > tracing code like the one used in a debugger. This, however, would > have a considerable cost in time. > > The proposed approach is to wrap the function in a callable object, > and modify its bytecode by adding an external try...finally statement > as follows: > > def f(self, *args, **kwargs): > try: > ... old code ... > finally: > self.locals = locals().copy() > del self.locals['self'] > > The reason for wrapping the function in a class, instead of saving the > locals in a function attribute directly, is that there are all sorts > of complications in referring to itself from within a function. For > example, referring to the attribute as f.locals results in the > bytecode looking for the name 'f' in the namespace, and therefore > moving the function, e.g. with > g = f > del f > would break 'g'. There are even more problems for functions defined in > a closure. > > I tried modfying f.func_globals with a custom dictionary which keeps a > reference to f.func_globals, adding a static element to 'f', but this > does not work as the Python interpreter does not call the func_globals > dictionary with Python calls but directly with PyDict_GetItem (see > http://osdir.com/ml/python.ideas/2007-11/msg00092.html). It is thus > impossible to re-define __getitem__ to return 'f' as needed. Ideally, > one would like to define a new closure for the function with a cell > variable containing the reference, but this is impossible at present > as far as I can tell. > > An alternative solution (see persistent_locals_with_kwarg in deco.py) > is to change the signature of the function with an additional keyword > argument f(arg1, arg2, _self_ref=f). However, this approach breaks > functions that define an *args argument. > > Cost > ==== > The increase in execution time of the decorated function is minimal. > Given its domain of application, most of the functions will take a > significant amount of time to complete, making the cost the decoration > negligible: > > import time > def f(x): > time.sleep(0.5) > return 2*x > > df = deco.persistent_locals(f) > > %timeit f(1) > 10 loops, best of 3: 501 ms per loop > %timeit df(1) > 10 loops, best of 3: 502 ms per loop > > Conclusion > ======== > > The problem of accessing the intermediate > results in an algorithm is a recurrent one in my research, and this > decorator turned out to be quite useful in several occasions, and made > some of the code much cleaner. Hopefully, it will be useful in other > contexts as well! > > All the best, > Pietro Berkes > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -- Michael Droettboom Science Software Branch Space Telescope Science Institute Baltimore, Maryland, USA From berkes at brandeis.edu Mon Jun 28 13:29:23 2010 From: berkes at brandeis.edu (Pietro Berkes) Date: Mon, 28 Jun 2010 13:29:23 -0400 Subject: [Numpy-discussion] Decorator to access intermediate results in a function/algorithm In-Reply-To: <4C28D30B.6050200@stsci.edu> References: <4C28D30B.6050200@stsci.edu> Message-ID: Dear Mike, Thanks for the feedback. On Mon, Jun 28, 2010 at 12:51 PM, Michael Droettboom wrote: > What are the implications of this with respect to memory usage? ?When > working with large arrays, if the intermediate values of a number of > functions are kept around (whether we want to access them or not) could > this not lead to excessive memory usage? ?Maybe this behavior should > only apply when (as you suggest in the counterexample) a "locals=True" > kwarg is passed in. I've been thinking about it, but I haven't decided for a final implementation yet. I find it a bit messy to add a new kwarg to the signature of an existing function, as it might conflict with an existing *args argument. For example, redefining f(x, *args) as f(x, locals=True, *args) would break code calling f as f(1, 2, 3) . There are several alternatives: 1) add to the wrapping class a property to switch on and on the behavior of the decorator 2) introduce a naming convention (e.g., variables whose name begins with '_' are not saved) 3) have an option to dump the local variables to a file The solution I prefer so far is the second, but since I never had the problem in my code so far I'm not sure which option is most useful in practice. > > It seems like a lot of the maintainability issues raised in the > counterexample could be solved by returning a dictionary or a bunch [1] > instead of a tuple -- though that still (without care on the part of the > user) has the "keeping around references too much stuff" problem. > > [1] > http://code.activestate.com/recipes/52308-the-simple-but-handy-collector-of-a-bunch-of-named/ It's true that the counter-example is slightly unrealistic, although I have seen similar bits of code in real-life examples. Using a decorator is an advantage when dealing with code defined in a third-party library. Pietro > > Mike > > On 06/28/2010 12:35 PM, Pietro Berkes wrote: >> Dear everybody, >> >> This message belongs only marginally to a numpy-related mailing list, >> but I thought it might be of interest here since it addresses what I >> believe is a common pattern in scientific development. My apologies if >> that is not the case... >> >> The code can be found at http://github.com/pberkes/persistent_locals >> and requires the byteplay library >> (http://code.google.com/p/byteplay/). >> >> The problem >> ========= >> >> In scientific development, functions often represent complex data >> processing algorithm that transform input data into a desired output. >> Internally, the function typically requires several intermediate >> results to be computed and stored in local variables. >> >> As a simple toy example, consider the following function, that >> takes three arguments and returns True if the sum of the arguments is >> smaller than their product: >> >> def is_sum_lt_prod(a,b,c): >> ? ? sum = a+b+c >> ? ? prod = a*b*c >> ? ? return sum> >> A frequently occurring problem is that the developer/final user may >> need to access the intermediate results at a later stage, in order to >> analyze the detailed behavior of the algorithm, for debugging, or to >> write more comprehensive tests. >> >> A possible solution would be to re-define the function and return the >> needed internal variables, but this would break the existing code. A >> better solution would be to add a keyword argument to return more >> information: >> >> def is_sum_lt_prod(a,b,c, internals=False): >> ? ? sum = a+b+c >> ? ? prod = a*b*c >> ? ? if internals: >> ? ? ? ? ?return sum> ? ? else: >> ? ? ? ? ?return sum> >> This would keep the existing code intact, but only moves the problem >> to later stages of the development. If successively the developer >> needs access to even more local variables, the code has to be modified >> again, and part of the code is broken. Moreover, this style leads to >> ugly code like >> >> res, _, _, _, var1, _, var3 = f(x) >> >> where most of the returned values are irrelevant. >> >> Proposed solution >> ============= >> >> The proposed solution consists in a decorator that makes the local >> variables accessible from a function attribute, 'locals'. For example: >> >> @persistent_locals >> def is_sum_lt_prod(a,b,c): >> ? ? sum = a+b+c >> ? ? prod = a*b*c >> ? ? return sum> >> After calling the function (e.g. is_sum_lt_prod(2,1,2), which returns >> False) we can analyze the intermediate results as >> is_sum_lt_prod.locals >> -> ?{'a': 2, 'b': 1, 'c': 2, 'prod': 4, 'sum': 5} >> >> This style is cleaner, is consistent with the principle of identifying >> the value returned by a function as the output of an algorithm, and is >> robust to changes in the needs of the researcher. >> >> Note that the local variables are saved even in case of an exception, >> which turns out to be quite useful for debugging. >> >> How it works >> ========= >> >> The local variables in the inner scope of a function are not easily >> accessible. One solution (which I have not tried) may be to use >> tracing code like the one used in a debugger. This, however, would >> have a considerable cost in time. >> >> The proposed approach is to wrap the function in a callable object, >> and modify its bytecode by adding an external try...finally statement >> as follows: >> >> ? ?def f(self, *args, **kwargs): >> ? ? ? ?try: >> ? ? ? ? ? ?... old code ... >> ? ? ? ?finally: >> ? ? ? ? ? ?self.locals = locals().copy() >> ? ? ? ? ? ?del self.locals['self'] >> >> The reason for wrapping the function in a class, instead of saving the >> locals in a function attribute directly, is that there are all sorts >> of complications in referring to itself from within a function. For >> example, referring to the attribute as f.locals results in the >> bytecode looking for the name 'f' in the namespace, and therefore >> moving the function, e.g. with >> g = f >> del f >> would break 'g'. There are even more problems for functions defined in >> a closure. >> >> I tried modfying f.func_globals with a custom dictionary which keeps a >> reference to f.func_globals, adding a static element to 'f', but this >> does not work as the Python interpreter does not call the func_globals >> dictionary with Python calls but directly with PyDict_GetItem (see >> http://osdir.com/ml/python.ideas/2007-11/msg00092.html). It is thus >> impossible to re-define __getitem__ to return 'f' as needed. Ideally, >> one would like to define a new closure for the function with a cell >> variable containing the reference, but this is impossible at present >> as far as I can tell. >> >> An alternative solution (see persistent_locals_with_kwarg in deco.py) >> is to change the signature of the function with an additional keyword >> argument f(arg1, arg2, _self_ref=f). However, this approach breaks >> functions that define an *args argument. >> >> Cost >> ==== >> The increase in execution time of the decorated function is minimal. >> Given its domain of application, most of the functions will take a >> significant amount of time to complete, making the cost the decoration >> negligible: >> >> import time >> def f(x): >> ? ?time.sleep(0.5) >> ? ?return 2*x >> >> df = deco.persistent_locals(f) >> >> %timeit f(1) >> 10 loops, best of 3: 501 ms per loop >> %timeit df(1) >> 10 loops, best of 3: 502 ms per loop >> >> Conclusion >> ======== >> >> The problem of accessing the intermediate >> results in an algorithm is a recurrent one in my research, and this >> decorator turned out to be quite useful in several occasions, and made >> some of the code much cleaner. Hopefully, it will be useful in other >> contexts as well! >> >> All the best, >> Pietro Berkes >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > > > -- > Michael Droettboom > Science Software Branch > Space Telescope Science Institute > Baltimore, Maryland, USA > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > From friedrichromstedt at gmail.com Mon Jun 28 15:34:06 2010 From: friedrichromstedt at gmail.com (Friedrich Romstedt) Date: Mon, 28 Jun 2010 21:34:06 +0200 Subject: [Numpy-discussion] numpy.load raising IOError but EOFError expected In-Reply-To: References: Message-ID: 2010/6/28 Ruben Salvador : > Thanks for the answer Friedrich, I had already checked numpy.savez, but > unfortunately I cannot make use of it. I don't have all the data needed to > be saved at the same time...it is produced each time I run a test. Yes, I thought of something like: all_data = numpy.load('file.npz') all_data[new_key] = new_data numpy.savez('file.npz', **all_data) Will this work? Friedrich From aarchiba at physics.mcgill.ca Mon Jun 28 15:48:08 2010 From: aarchiba at physics.mcgill.ca (Anne Archibald) Date: Mon, 28 Jun 2010 15:48:08 -0400 Subject: [Numpy-discussion] numpy.load raising IOError but EOFError expected In-Reply-To: References: Message-ID: On 28 June 2010 10:52, Ruben Salvador wrote: > Sorry I had no access during these days. > > Thanks for the answer Friedrich, I had already checked numpy.savez, but > unfortunately I cannot make use of it. I don't have all the data needed to > be saved at the same time...it is produced each time I run a test. I think people are uncomfortable because .npy files are not designed to contain more than one array. It's a bit like concatenating a whole lot of .PNG files together - while a good decoder could pick them apart again, it's a highly misleading file since the headers do not contain any information about all the other files. npy files are similarly self-describing, and so concatenating them is a peculiar sort of thing to do. Why not simply save a separate file each time, so that you have a directory full of files? Or, if you must have just one file, use np.savez (loading the old one each time then saving the expanded object). Come to think of it, it's possible to "append" files to an existing zip file without rewriting the whole thing. Does numpy.savez allow this mode? That said, good exception hygiene argues that np.load should throw EOFErrors rather than the more generic IOErrors, but I don't know how difficult this would be to achieve. Anne > Thanks anyway! > > Any other idea why this is happening? Is it expected behavior? > > On Thu, Jun 24, 2010 at 7:30 PM, Friedrich Romstedt > wrote: >> >> 2010/6/23 Ruben Salvador : >> > Therefore, is this a bug? Shouldn't EOFError be raised instead of >> > IOError? >> > Or am I missunderstanding something? If this is not a bug, how can I >> > detect >> > the EOF to stop reading (I expect a way for this to work without >> > tweaking >> > the code with saving first in the file the number of dumps done)? >> >> Maybe you can make use of numpy.savez, >> >> http://docs.scipy.org/doc/numpy/reference/generated/numpy.savez.html#numpy-savez >> . >> >> Friedrich >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion at scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > > -- > Rub?n Salvador > PhD student @ Centro de Electr?nica Industrial (CEI) > http://www.cei.upm.es > Blog: http://aesatcei.wordpress.com > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > From pav at iki.fi Mon Jun 28 16:53:47 2010 From: pav at iki.fi (Pauli Virtanen) Date: Mon, 28 Jun 2010 22:53:47 +0200 Subject: [Numpy-discussion] numpy.load raising IOError but EOFError expected In-Reply-To: References: Message-ID: <1277758427.2008.1.camel@talisman> ma, 2010-06-28 kello 15:48 -0400, Anne Archibald kirjoitti: [clip] > That said, good exception hygiene argues that np.load should throw > EOFErrors rather than the more generic IOErrors, but I don't know how > difficult this would be to achieve. np.load is in any case unhygienic, since it tries to unpickle, if it doesn't see the .npy magic header. -- Pauli Virtanen From kwgoodman at gmail.com Mon Jun 28 17:05:28 2010 From: kwgoodman at gmail.com (Keith Goodman) Date: Mon, 28 Jun 2010 14:05:28 -0700 Subject: [Numpy-discussion] numpy.load raising IOError but EOFError expected In-Reply-To: References: Message-ID: On Wed, Jun 23, 2010 at 3:46 AM, Ruben Salvador wrote: > Hi there, > > I have a .npy file built by succesively adding results from different test > runs of an algorithm. Each time it's run, I save a numpy.array using > numpy.save as follows: > > fn = 'file.npy' > f = open(fn, 'a+b') > np.save(f, arr) > f.close() How about using h5py? It's not part of numpy but it gives you a dictionary-like interface to your archive: >> import h5py >> io = h5py.File('/tmp/data.hdf5') >> arr1 = np.array([1, 2, 3]) >> arr2 = np.array([4, 5, 6]) >> arr3 = np.array([7, 8, 9]) >> io['arr1'] = arr1 >> io['arr2'] = arr2 >> io['arr3'] = arr3 >> io.keys() ['arr1', 'arr2', 'arr3'] >> io['arr1'][:] array([1, 2, 3]) You can also load part of an array (useful when the array is large): >> io['arr1'][-1] 3 From friedrichromstedt at gmail.com Mon Jun 28 18:43:59 2010 From: friedrichromstedt at gmail.com (Friedrich Romstedt) Date: Tue, 29 Jun 2010 00:43:59 +0200 Subject: [Numpy-discussion] numpy.load raising IOError but EOFError expected In-Reply-To: References: Message-ID: 2010/6/28 Keith Goodman : > How about using h5py? It's not part of numpy but it gives you a > dictionary-like interface to your archive: Yeaa, or PyTables (is that equivalent)? It's also a hdf (or whatever, I don't recall precisely) interface. There were [ANN]s on the list about PyTables. Friedrich From stevenj at alum.mit.edu Tue Jun 29 13:25:52 2010 From: stevenj at alum.mit.edu (Steven G. Johnson) Date: Tue, 29 Jun 2010 13:25:52 -0400 Subject: [Numpy-discussion] [ANN] NLopt, a nonlinear optimization library In-Reply-To: References: Message-ID: <4C2A2CA0.8000703@alum.mit.edu> Sebastian Haase wrote: > this sounds like the library I was looking for. > Would you mind reading my post > [SciPy-User] Global Curve Fitting of 2 functions to 2 sets of data-curves > http://mail.scipy.org/pipermail/scipy-user/2010-June/025674.html > ? > I got many interesting answers, where apparently the agreement was to > "just write a proper error-function". > Regarding constraints, the suggestion was to "manually" substitute my > variables with combinations of exp()-expressions that would implicitly > take care of the r_i>0 and 0 Question: Does NLopt allow to do those optimizations in a more direct, > less "manual" and still easy-to-use way ? Hi Sebastian, Yes, NLopt allows you to directly enter nonlinear constraints and it will take care of satisfying them (if possible). (How it solves the constrained problem depends on what algorithm you select, but this is taken care of internally.) See the NLopt manual, which includes a nonlinearly constrained problem in its tutorial, and describes which of its algorithms support nonlinear constraints. I would certainly recommend against just adding a fixed penalty function: if you make the penalty too steep then you kill the convergence rate of any algorithm, and if you make the penalty too shallow then it may converge to an unfeasible point (a point violating your constraints). (There are proper ways to implement penalty functions, but it generally involves repeatedly reoptimizing while gradually increasing the penalties until a feasible point is obtained. e.g. this is done automatically for you by the "augmented Lagrangian" algorithm included in NLopt. But penalties aren't the only way to implement nonlinear constraints, and NLopt also has algorithms that include constraints more directly.) Regards, Steven G. Johnson PS. Regarding your post, I basically agree with your respondents that you have to decide what error function you want to minimize. That is, you presumably have some error measure for each fitted dataset -- how you do you want to combine them? (If you don't combine them, you have a "multi-objective" optimization problem, which in general has no solution.) e.g. do you want to minimize the sum of the squared errors over all datasets, or some weighted variant thereof, or...? Anyway, a library like NLopt doesn't know anything about your problem except the objective function (and possibly constraint functions) that you specify, so those are up to you. From stevenj at alum.mit.edu Tue Jun 29 13:27:19 2010 From: stevenj at alum.mit.edu (Steven G. Johnson) Date: Tue, 29 Jun 2010 13:27:19 -0400 Subject: [Numpy-discussion] [ANN] NLopt, a nonlinear optimization library In-Reply-To: References: Message-ID: Sebastian Haase wrote: > this sounds like the library I was looking for. > Would you mind reading my post > [SciPy-User] Global Curve Fitting of 2 functions to 2 sets of data-curves > http://mail.scipy.org/pipermail/scipy-user/2010-June/025674.html > ? > I got many interesting answers, where apparently the agreement was to > "just write a proper error-function". > Regarding constraints, the suggestion was to "manually" substitute my > variables with combinations of exp()-expressions that would implicitly > take care of the r_i>0 and 0 Question: Does NLopt allow to do those optimizations in a more direct, > less "manual" and still easy-to-use way ? Hi Sebastian, Yes, NLopt allows you to directly enter nonlinear constraints and it will take care of satisfying them (if possible). (How it solves the constrained problem depends on what algorithm you select, but this is taken care of internally.) See the NLopt manual, which includes a nonlinearly constrained problem in its tutorial, and describes which of its algorithms support nonlinear constraints. I would certainly recommend against just adding a fixed penalty function: if you make the penalty too steep then you kill the convergence rate of any algorithm, and if you make the penalty too shallow then it may converge to an unfeasible point (a point violating your constraints). (There are proper ways to implement penalty functions, but it generally involves repeatedly reoptimizing while gradually increasing the penalties until a feasible point is obtained. e.g. this is done automatically for you by the "augmented Lagrangian" algorithm included in NLopt. But penalties aren't the only way to implement nonlinear constraints, and NLopt also has algorithms that include constraints more directly.) Regards, Steven G. Johnson PS. Regarding your post, I basically agree with your respondents that you have to decide what error function you want to minimize. That is, you presumably have some error measure for each fitted dataset -- how you do you want to combine them? (If you don't combine them, you have a "multi-objective" optimization problem, which in general has no solution.) e.g. do you want to minimize the sum of the squared errors over all datasets, or some weighted variant thereof, or...? Anyway, a library like NLopt doesn't know anything about your problem except the objective function (and possibly constraint functions) that you specify, so those are up to you. From stevenj at alum.mit.edu Tue Jun 29 13:33:02 2010 From: stevenj at alum.mit.edu (Steven G. Johnson) Date: Tue, 29 Jun 2010 13:33:02 -0400 Subject: [Numpy-discussion] [ANN] NLopt, a nonlinear optimization library In-Reply-To: <4C2A2CA0.8000703@alum.mit.edu> References: <4C2A2CA0.8000703@alum.mit.edu> Message-ID: Steven G. Johnson wrote: >> Regarding constraints, the suggestion was to "manually" substitute my >> variables with combinations of exp()-expressions that would implicitly >> take care of the r_i>0 and 0> Question: Does NLopt allow to do those optimizations in a more direct, >> less "manual" and still easy-to-use way ? I just noticed that the constraints you mentioned are not even nonlinear; they are just bound constraints on the variables. All of the NLopt algorithms support bound constraints; these are relatively easy to include in an optimization algorithm. (Penalty functions for bound constraints are definitely overkill.) In your email, you also mentioned a constraint A1+A2+A3 == 1 and 0<=Ai<=1. An equality constraint like this is much easier to handle via elimination. Just set A3 = 1 - A1 - A2, eliminating the A3 parameter, and include inequality constraints 0 <= 1 - A1 - A2 <= 1 (this is not a bound constraint, so you would have to use NLopt's general inequality-constraint support). Steven From martin.janousek at ecmwf.int Tue Jun 29 13:41:26 2010 From: martin.janousek at ecmwf.int (Martin Janousek) Date: Tue, 29 Jun 2010 18:41:26 +0100 Subject: [Numpy-discussion] Operations on a masked array of a scalar Message-ID: Hi, I have a Python code working on MaskedArray which can produce arrays of a number of different shapes and ranks. In an extreme case I get "an array" constructed from a scalar: x=numpy.ma.array(333.,mask=False) Until the recent upgrade to Numpy 1.4.1 it has been possible to do operations on such an object, like x+=2. or x==444. but now I have the following problem: >>> numpy.ma.array(333.,mask=False)==1. Traceback (most recent call last): File "", line 1, in File "/usr/local/apps/python/2.6/lib/python2.6/site-packages/numpy/ma/core.py", line 3567, in __eq__ check._mask = self._mask AttributeError: 'numpy.bool_' object has no attribute '_mask' The problem seems to be only with __eq__ and __ne__ operators, others like __gt__ are ok: >>> numpy.ma.array(333.,mask=False)>1. masked_array(data = True, mask = False, fill_value = True) For ndarray it works fine as well: >>> numpy.array(333.)==1. False So did I find a bug or working with a "scalar array" is considered dangerous and as such it should be avoided? In any case the behaviour of Numpy 1.4.1 compared to 1.2.1 has changed in this aspect. Many thanks for any comment. Martin Janousek From pgmdevlist at gmail.com Tue Jun 29 13:58:41 2010 From: pgmdevlist at gmail.com (Pierre GM) Date: Tue, 29 Jun 2010 13:58:41 -0400 Subject: [Numpy-discussion] Operations on a masked array of a scalar In-Reply-To: References: Message-ID: On Jun 29, 2010, at 1:41 PM, Martin Janousek wrote: > Hi, > > I have a Python code working on MaskedArray which can produce arrays > of a number of different shapes and ranks. In an extreme case I get > "an array" constructed from a scalar: > > x=numpy.ma.array(333.,mask=False) > > Until the recent upgrade to Numpy 1.4.1 it has been possible to do > operations on such an object, like x+=2. or x==444. but now I have > the following problem: > >>>> numpy.ma.array(333.,mask=False)==1. > Traceback (most recent call last): > File "", line 1, in > File "/usr/local/apps/python/2.6/lib/python2.6/site-packages/numpy/ma/core.py", > line 3567, in __eq__ > check._mask = self._mask > AttributeError: 'numpy.bool_' object has no attribute '_mask' > > The problem seems to be only with __eq__ and __ne__ operators, others > like __gt__ are ok: >>>> numpy.ma.array(333.,mask=False)>1. > masked_array(data = True, > mask = False, > fill_value = True) > > For ndarray it works fine as well: >>>> numpy.array(333.)==1. > False > > > So did I find a bug or working with a "scalar array" is considered > dangerous and as such it should be avoided? In any case the behaviour > of Numpy 1.4.1 compared to 1.2.1 has changed in this aspect. That's a bug allright, sorry about that. Thought I took care of it, obviously not. Anyhow, it should be fixed in SVNr8467. From d.l.goldsmith at gmail.com Tue Jun 29 18:37:32 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Tue, 29 Jun 2010 15:37:32 -0700 Subject: [Numpy-discussion] Ticket #1223... Message-ID: ...concerns the behavior of numpy.random.multivariate_normal; if that's of interest to you, I urge you to take a look at the comments (esp. mine :-) ); otherwise, please ignore the noise. Thanks! DG -------------- next part -------------- An HTML attachment was scrubbed... URL: From josef.pktd at gmail.com Tue Jun 29 18:56:01 2010 From: josef.pktd at gmail.com (josef.pktd at gmail.com) Date: Tue, 29 Jun 2010 18:56:01 -0400 Subject: [Numpy-discussion] Ticket #1223... In-Reply-To: References: Message-ID: On Tue, Jun 29, 2010 at 6:37 PM, David Goldsmith wrote: > ...concerns the behavior of numpy.random.multivariate_normal; if that's of > interest to you, I urge you to take a look at the comments (esp. mine :-) ); > otherwise, please ignore the noise.? Thanks! You should add the link to the ticket, so it's faster for everyone to check what you are talking about. Josef > DG > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > From d.l.goldsmith at gmail.com Tue Jun 29 19:03:00 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Tue, 29 Jun 2010 16:03:00 -0700 Subject: [Numpy-discussion] Ticket #1223... In-Reply-To: References: Message-ID: On Tue, Jun 29, 2010 at 3:56 PM, wrote: > On Tue, Jun 29, 2010 at 6:37 PM, David Goldsmith > wrote: > > ...concerns the behavior of numpy.random.multivariate_normal; if that's > of > > interest to you, I urge you to take a look at the comments (esp. mine :-) > ); > > otherwise, please ignore the noise. Thanks! > > You should add the link to the ticket, so it's faster for everyone to > check what you are talking about. > > Josef > Ooops! Yes I should; here it is: http://projects.scipy.org/numpy/ticket/1223 Sorry, and thanks, Josef. DG -------------- next part -------------- An HTML attachment was scrubbed... URL: From d.l.goldsmith at gmail.com Tue Jun 29 21:50:30 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Tue, 29 Jun 2010 18:50:30 -0700 Subject: [Numpy-discussion] numpy.all docstring reality check Message-ID: Hi, folks. Under Parameters, the docstring for numpy.core.fromnumeric.all says: "out : ndarray, optionalAlternative output array in which to place the result. It must have the same shape as the expected output and *the type is preserved*." [emphasis added].I assume this is a copy-and-paste-from-another-docstring "typo" (shouldn't it be (possibly ndarray of) bool), but I just wanted to double check. DG -- Mathematician: noun, someone who disavows certainty when their uncertainty set is non-empty, even if that set has measure zero. Hope: noun, that delusive spirit which escaped Pandora's jar and, with her lies, prevents mankind from committing a general suicide. (As interpreted by Robert Graves) -------------- next part -------------- An HTML attachment was scrubbed... URL: From dalcinl at gmail.com Tue Jun 29 22:21:41 2010 From: dalcinl at gmail.com (Lisandro Dalcin) Date: Tue, 29 Jun 2010 23:21:41 -0300 Subject: [Numpy-discussion] __array__struct__: about using PyCapsule instead of PyCObject for Python 2.7 Message-ID: Do we really need this for NumPy 2? What about using the old PyCObject for all Py 2.x versions? If this is not done, perhaps NumPy 2 on top of Py 2.x should still accept the __array_struct__ being a PyCObject? As reference, Cython still uses PyCObject for Py<3.1 http://hg.cython.org/cython-devel/rev/8a58f1544bd8#l1.33 . -- Lisandro Dalcin --------------- CIMEC (INTEC/CONICET-UNL) Predio CONICET-Santa Fe Colectora RN 168 Km 472, Paraje El Pozo Tel: +54-342-4511594 (ext 1011) Tel/Fax: +54-342-4511169 From jsseabold at gmail.com Tue Jun 29 22:28:03 2010 From: jsseabold at gmail.com (Skipper Seabold) Date: Tue, 29 Jun 2010 21:28:03 -0500 Subject: [Numpy-discussion] numpy.all docstring reality check In-Reply-To: References: Message-ID: On Tue, Jun 29, 2010 at 8:50 PM, David Goldsmith wrote: > Hi, folks.? Under Parameters, the docstring for numpy.core.fromnumeric.all > says: > > "out : ndarray, optionalAlternative output array in which to place the > result. It must have the same shape as the expected output and the type is > preserved." [emphasis added].I assume this is a > copy-and-paste-from-another-docstring "typo" (shouldn't it be (possibly > ndarray of) bool), but I just wanted to double check. > Looks right to me though there is no In [255]: a = np.ones(10) In [256]: b = np.empty(1,dtype=int) In [257]: np.core.fromnumeric.all(a,out=b) Out[257]: array([1]) In [258]: b.dtype Out[258]: dtype('int64') In [259]: b = np.empty(1,dtype=bool) In [260]: np.core.fromnumeric.all(a,out=b) Out[260]: array([ True], dtype=bool) In [261]: b.dtype Out[261]: dtype('bool') In [262]: b = np.empty(1) In [263]: np.core.fromnumeric.all(a,out=b) Out[263]: array([ 1.]) In [264]: b.dtype Out[264]: dtype('float64') In [265]: a2 = np.column_stack((np.ones(10),np.ones(10),np.random.randint(0,2,10))) In [266]: b = np.empty(3,dtype=int) In [267]: np.core.fromnumeric.all(a2,axis=0,out=b) Out[267]: array([1, 1, 0]) In [268]: b.dtype Out[268]: dtype('int64') This is interesting In [300]: b = np.ones(3,dtype='a3') In [301]: np.core.fromnumeric.all(a2,axis=0,out=b) Out[301]: array(['Tru', 'Tru', 'Fal'], dtype='|S3') Skipper From d.l.goldsmith at gmail.com Tue Jun 29 22:38:39 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Tue, 29 Jun 2010 19:38:39 -0700 Subject: [Numpy-discussion] numpy.all docstring reality check In-Reply-To: References: Message-ID: OK, now I understand: dtype(out) is preserved, whatever that happens to be, not dtype(a) (which is what I thought it meant) - I better clarify. Thanks! DG On Tue, Jun 29, 2010 at 7:28 PM, Skipper Seabold wrote: > On Tue, Jun 29, 2010 at 8:50 PM, David Goldsmith > wrote: > > Hi, folks. Under Parameters, the docstring for > numpy.core.fromnumeric.all > > says: > > > > "out : ndarray, optionalAlternative output array in which to place the > > result. It must have the same shape as the expected output and the type > is > > preserved." [emphasis added].I assume this is a > > copy-and-paste-from-another-docstring "typo" (shouldn't it be (possibly > > ndarray of) bool), but I just wanted to double check. > > > > Looks right to me though there is no > > In [255]: a = np.ones(10) > > In [256]: b = np.empty(1,dtype=int) > > In [257]: np.core.fromnumeric.all(a,out=b) > Out[257]: array([1]) > > In [258]: b.dtype > Out[258]: dtype('int64') > > In [259]: b = np.empty(1,dtype=bool) > > In [260]: np.core.fromnumeric.all(a,out=b) > Out[260]: array([ True], dtype=bool) > > In [261]: b.dtype > Out[261]: dtype('bool') > > In [262]: b = np.empty(1) > > In [263]: np.core.fromnumeric.all(a,out=b) > Out[263]: array([ 1.]) > > In [264]: b.dtype > Out[264]: dtype('float64') > > In [265]: a2 = > np.column_stack((np.ones(10),np.ones(10),np.random.randint(0,2,10))) > > In [266]: b = np.empty(3,dtype=int) > > In [267]: np.core.fromnumeric.all(a2,axis=0,out=b) > Out[267]: array([1, 1, 0]) > > In [268]: b.dtype > Out[268]: dtype('int64') > > This is interesting > > In [300]: b = np.ones(3,dtype='a3') > > In [301]: np.core.fromnumeric.all(a2,axis=0,out=b) > Out[301]: > array(['Tru', 'Tru', 'Fal'], > dtype='|S3') > > Skipper > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > -- Mathematician: noun, someone who disavows certainty when their uncertainty set is non-empty, even if that set has measure zero. Hope: noun, that delusive spirit which escaped Pandora's jar and, with her lies, prevents mankind from committing a general suicide. (As interpreted by Robert Graves) -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsouthey at gmail.com Tue Jun 29 23:16:30 2010 From: bsouthey at gmail.com (Bruce Southey) Date: Tue, 29 Jun 2010 22:16:30 -0500 Subject: [Numpy-discussion] Ticket #1223... In-Reply-To: References: Message-ID: On Tue, Jun 29, 2010 at 6:03 PM, David Goldsmith wrote: > On Tue, Jun 29, 2010 at 3:56 PM, wrote: >> >> On Tue, Jun 29, 2010 at 6:37 PM, David Goldsmith >> wrote: >> > ...concerns the behavior of numpy.random.multivariate_normal; if that's >> > of >> > interest to you, I urge you to take a look at the comments (esp. mine >> > :-) ); >> > otherwise, please ignore the noise.? Thanks! >> >> You should add the link to the ticket, so it's faster for everyone to >> check what you are talking about. >> >> Josef > > Ooops!? Yes I should; here it is: > > http://projects.scipy.org/numpy/ticket/1223 > Sorry, and thanks, Josef. > > DG > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > As I recall, there is no requirement for the variance/covariance of the normal distribution to be positive definite. >From http://en.wikipedia.org/wiki/Multivariate_normal_distribution "The covariance matrix is allowed to be singular (in which case the corresponding distribution has no density)." So you must be able to draw random numbers from such a distribution. Obviously what those numbers really mean is another matter (I presume the dependent variables should be a linear function of the independent variables) but the user *must* know since they entered it. Since the function works the docstring Notes comment must be wrong. Imposing any restriction means that this is no longer a multivariate normal random number generator. If anything, you can only raise a warning about possible non-positive definiteness but even that will vary depending how it is measured and on the precision being used. Bruce From d.l.goldsmith at gmail.com Wed Jun 30 00:38:23 2010 From: d.l.goldsmith at gmail.com (David Goldsmith) Date: Tue, 29 Jun 2010 21:38:23 -0700 Subject: [Numpy-discussion] Ticket #1223... In-Reply-To: References: Message-ID: On Tue, Jun 29, 2010 at 8:16 PM, Bruce Southey wrote: > On Tue, Jun 29, 2010 at 6:03 PM, David Goldsmith > wrote: > > On Tue, Jun 29, 2010 at 3:56 PM, wrote: > >> > >> On Tue, Jun 29, 2010 at 6:37 PM, David Goldsmith > >> wrote: > >> > ...concerns the behavior of numpy.random.multivariate_normal; if > that's > >> > of > >> > interest to you, I urge you to take a look at the comments (esp. mine > >> > :-) ); > >> > otherwise, please ignore the noise. Thanks! > >> > >> You should add the link to the ticket, so it's faster for everyone to > >> check what you are talking about. > >> > >> Josef > > > > Ooops! Yes I should; here it is: > > > > http://projects.scipy.org/numpy/ticket/1223 > > Sorry, and thanks, Josef. > > > > DG > > > > > > _______________________________________________ > > NumPy-Discussion mailing list > > NumPy-Discussion at scipy.org > > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > > > As I recall, there is no requirement for the variance/covariance of > the normal distribution to be positive definite. > No, not positive definite, positive *semi*-definite: yes, the variance may be zero (the cov may have zero-valued eigenvalues), but the claim (and I actually am "neutral" about it, in that I wanted to reference the claim in the docstring and was told that doing so was unnecessary, the implication being that this is a "well-known" fact), is that, in essence (in 1-D) the variance can't be negative, which seems clear enough. I don't see you disputing that, and so I'm uncertain as to how you feel about the proposal to "weakly" enforce symmetry and positive *semi*-definiteness. (Now, if you dispute that even requiring positive *semi*-definiteness is desirable, you'll have to debate that w/ some of the others, because I'm taking their word for it that indefiniteness is "unphysical.") DG >From http://en.wikipedia.org/wiki/Multivariate_normal_distribution "The covariance matrix is allowed to be singular (in which case the corresponding distribution has no density)." So you must be able to draw random numbers from such a distribution. Obviously what those numbers really mean is another matter (I presume the dependent variables should be a linear function of the independent variables) but the user *must* know since they entered it. Since the function works the docstring Notes comment must be wrong. Imposing any restriction means that this is no longer a multivariate normal random number generator. If anything, you can only raise a warning about possible non-positive definiteness but even that will vary depending how it is measured and on the precision being used. Bruce _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion at scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion -- Mathematician: noun, someone who disavows certainty when their uncertainty set is non-empty, even if that set has measure zero. Hope: noun, that delusive spirit which escaped Pandora's jar and, with her lies, prevents mankind from committing a general suicide. (As interpreted by Robert Graves) -------------- next part -------------- An HTML attachment was scrubbed... URL: From vincent at vincentdavis.net Wed Jun 30 01:08:59 2010 From: vincent at vincentdavis.net (Vincent Davis) Date: Tue, 29 Jun 2010 23:08:59 -0600 Subject: [Numpy-discussion] ? FAIL: test_print.test_complex_types(, ) Message-ID: I didn't find these documented anywhere, I have numpy(couple day old snapshot) install on python 2.7 OSX 64bit. Thanks Vincent ====================================================================== FAIL: test_print.test_complex_types(,) Check formatting of complex types. ---------------------------------------------------------------------- Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nose/case.py", line 186, in runTest self.test(*self.arg) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/tests/test_print.py", line 61, in check_complex_type err_msg='Failed str formatting for type %s' % tp) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/testing/utils.py", line 313, in assert_equal raise AssertionError(msg) AssertionError: Items are not equal: Failed str formatting for type ACTUAL: '-1j' DESIRED: '(-0-1j)' >> raise AssertionError("\nItems are not equal: Failed str formatting for type \n ACTUAL: '-1j'\n DESIRED: '(-0-1j)'") ====================================================================== FAIL: test_print.test_complex_types(,) Check formatting of complex types. ---------------------------------------------------------------------- Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nose/case.py", line 186, in runTest self.test(*self.arg) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/tests/test_print.py", line 61, in check_complex_type err_msg='Failed str formatting for type %s' % tp) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/testing/utils.py", line 313, in assert_equal raise AssertionError(msg) AssertionError: Items are not equal: Failed str formatting for type ACTUAL: '-1j' DESIRED: '(-0-1j)' >> raise AssertionError("\nItems are not equal: Failed str formatting for type \n ACTUAL: '-1j'\n DESIRED: '(-0-1j)'") ====================================================================== FAIL: test_print.test_complex_types(,) Check formatting of complex types. ---------------------------------------------------------------------- Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nose/case.py", line 186, in runTest self.test(*self.arg) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/tests/test_print.py", line 61, in check_complex_type err_msg='Failed str formatting for type %s' % tp) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/testing/utils.py", line 313, in assert_equal raise AssertionError(msg) AssertionError: Items are not equal: Failed str formatting for type ACTUAL: '-1j' DESIRED: '(-0-1j)' >> raise AssertionError("\nItems are not equal: Failed str formatting for type \n ACTUAL: '-1j'\n DESIRED: '(-0-1j)'") ---------------------------------------------------------------------- Ran 2466 tests in 11.029s FAILED (KNOWNFAIL=4, SKIP=1, failures=3) From charlesr.harris at gmail.com Wed Jun 30 01:48:35 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Tue, 29 Jun 2010 23:48:35 -0600 Subject: [Numpy-discussion] __array__struct__: about using PyCapsule instead of PyCObject for Python 2.7 In-Reply-To: References: Message-ID: On Tue, Jun 29, 2010 at 8:21 PM, Lisandro Dalcin wrote: > Do we really need this for NumPy 2? What about using the old PyCObject > for all Py 2.x versions? If this is not done, perhaps NumPy 2 on top > of Py 2.x should still accept the __array_struct__ being a PyCObject? > > As reference, Cython still uses PyCObject for Py<3.1 > http://hg.cython.org/cython-devel/rev/8a58f1544bd8#l1.33 . > > Blame the Python 2.7 developers, those suckers deprecated the PyCObject. Grrr... I didn't see the point, myself, I'm tempted to deprecate 2.7 just to get even. There are some routines in the numpy/core/src includes that you might want to copy, they will allow you to use a common interface for PyCObject and PyCapsule if you need to do that. Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From dalcinl at gmail.com Wed Jun 30 12:57:58 2010 From: dalcinl at gmail.com (Lisandro Dalcin) Date: Wed, 30 Jun 2010 13:57:58 -0300 Subject: [Numpy-discussion] __array__struct__: about using PyCapsule instead of PyCObject for Python 2.7 In-Reply-To: References: Message-ID: On 30 June 2010 02:48, Charles R Harris wrote: > > > On Tue, Jun 29, 2010 at 8:21 PM, Lisandro Dalcin wrote: >> >> Do we really need this for NumPy 2? What about using the old PyCObject >> for all Py 2.x versions? If this is not done, perhaps NumPy 2 on top >> of Py 2.x should still accept the __array_struct__ being a PyCObject? >> >> As reference, Cython still uses PyCObject for Py<3.1 >> http://hg.cython.org/cython-devel/rev/8a58f1544bd8#l1.33 . >> > > Blame the Python 2.7 developers, those suckers deprecated the PyCObject. > Oh! Sorry! Now I realize that! > Grrr... I didn't see the point, myself, I'm tempted to deprecate 2.7 just to > get even. There are some routines in the numpy/core/src includes that you > might want to copy, they will allow you to use a common interface for > PyCObject and PyCapsule if you need to do that. > I've already fixed my code for PyCapsule. What's not clear to me is how to build (i.e, use the old cobject or the new capsules) __array_struct__ across NumPy and Python versions combinations. Will NumPy 1.x series ever support Python 2.7? In such case, should I use cobjects or capsules? Still, I think NumPy should still accept cobjects from extension types on a Python 2.x runtime, the fix for this support is trival: accept cobjects in NpyCapsule_Check() and NpyCapsule_AsVoidPtr() for PY_MAJOR_VERSION==2. People can still live with PendingDeprecationWarning (remember, they are shown if explicitly requested with -W), and such warning is triggered when cobjects are created, not when they are accessed. -- Lisandro Dalcin --------------- CIMEC (INTEC/CONICET-UNL) Predio CONICET-Santa Fe Colectora RN 168 Km 472, Paraje El Pozo Tel: +54-342-4511594 (ext 1011) Tel/Fax: +54-342-4511169 From ndbecker2 at gmail.com Wed Jun 30 13:56:01 2010 From: ndbecker2 at gmail.com (Neal Becker) Date: Wed, 30 Jun 2010 13:56:01 -0400 Subject: [Numpy-discussion] construction of object arrays Message-ID: What are ways to construct object arrays? I want an array of objects, each element default constructed of a particular object type. Say my object is class A. I want a multi-dimensional array, each element constructed as A(). Right now, I use np.empty ((a,b,c...), dtype=object) and then iterate over each dimension, assigning elements: array[a,b,c...] = A() Any better suggestions? From charlesr.harris at gmail.com Wed Jun 30 14:08:24 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Wed, 30 Jun 2010 12:08:24 -0600 Subject: [Numpy-discussion] __array__struct__: about using PyCapsule instead of PyCObject for Python 2.7 In-Reply-To: References: Message-ID: On Wed, Jun 30, 2010 at 10:57 AM, Lisandro Dalcin wrote: > On 30 June 2010 02:48, Charles R Harris wrote: > > > > > > On Tue, Jun 29, 2010 at 8:21 PM, Lisandro Dalcin > wrote: > >> > >> Do we really need this for NumPy 2? What about using the old PyCObject > >> for all Py 2.x versions? If this is not done, perhaps NumPy 2 on top > >> of Py 2.x should still accept the __array_struct__ being a PyCObject? > >> > >> As reference, Cython still uses PyCObject for Py<3.1 > >> http://hg.cython.org/cython-devel/rev/8a58f1544bd8#l1.33 . > >> > > > > Blame the Python 2.7 developers, those suckers deprecated the PyCObject. > > > > Oh! Sorry! Now I realize that! > > Do I detect a touch of sarcasm? > > Grrr... I didn't see the point, myself, I'm tempted to deprecate 2.7 just > to > > get even. There are some routines in the numpy/core/src includes that you > > might want to copy, they will allow you to use a common interface for > > PyCObject and PyCapsule if you need to do that. > > > > I've already fixed my code for PyCapsule. What's not clear to me is > how to build (i.e, use the old cobject or the new capsules) > __array_struct__ across NumPy and Python versions combinations. Will > NumPy 1.x series ever support Python 2.7? In such case, should I use > cobjects or capsules? > > Still, I think NumPy should still accept cobjects from extension types > on a Python 2.x runtime, the fix for this support is trival: accept > cobjects in NpyCapsule_Check() and NpyCapsule_AsVoidPtr() for > PY_MAJOR_VERSION==2. > > That might work. The destructors are different between the two, but if you just need access to the pointer things should be simpler. If you test it out and put together a patch I don't see why it shouldn't be applied. If it works. I'm a bit dubious about changing the check however. > People can still live with PendingDeprecationWarning (remember, they > are shown if explicitly requested with -W), and such warning is > triggered when cobjects are created, not when they are accessed. > > Yeah, but it is kind of ugly to have to deal with the warnings. Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From charlesr.harris at gmail.com Wed Jun 30 14:13:38 2010 From: charlesr.harris at gmail.com (Charles R Harris) Date: Wed, 30 Jun 2010 12:13:38 -0600 Subject: [Numpy-discussion] __array__struct__: about using PyCapsule instead of PyCObject for Python 2.7 In-Reply-To: References: Message-ID: On Wed, Jun 30, 2010 at 10:57 AM, Lisandro Dalcin wrote: > On 30 June 2010 02:48, Charles R Harris wrote: > > > > > > On Tue, Jun 29, 2010 at 8:21 PM, Lisandro Dalcin > wrote: > >> > >> Do we really need this for NumPy 2? What about using the old PyCObject > >> for all Py 2.x versions? If this is not done, perhaps NumPy 2 on top > >> of Py 2.x should still accept the __array_struct__ being a PyCObject? > >> > >> As reference, Cython still uses PyCObject for Py<3.1 > >> http://hg.cython.org/cython-devel/rev/8a58f1544bd8#l1.33 . > >> > > > > Blame the Python 2.7 developers, those suckers deprecated the PyCObject. > > > > Oh! Sorry! Now I realize that! > > > Grrr... I didn't see the point, myself, I'm tempted to deprecate 2.7 just > to > > get even. There are some routines in the numpy/core/src includes that you > > might want to copy, they will allow you to use a common interface for > > PyCObject and PyCapsule if you need to do that. > > > > I've already fixed my code for PyCapsule. What's not clear to me is > how to build (i.e, use the old cobject or the new capsules) > __array_struct__ across NumPy and Python versions combinations. Will > NumPy 1.x series ever support Python 2.7? In such case, should I use > cobjects or capsules? > > We do support 2.7, but with PyCapsule. You might want to take a look at f2py also, as it also uses PyCapsule for Python >= 2.7. Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From kwgoodman at gmail.com Wed Jun 30 14:19:59 2010 From: kwgoodman at gmail.com (Keith Goodman) Date: Wed, 30 Jun 2010 11:19:59 -0700 Subject: [Numpy-discussion] construction of object arrays In-Reply-To: References: Message-ID: On Wed, Jun 30, 2010 at 10:56 AM, Neal Becker wrote: > What are ways to construct object arrays? ?I want an array of objects, each > element default constructed of a particular object type. > > Say my object is class A. ?I want a multi-dimensional array, each element > constructed as A(). > > Right now, I use np.empty ((a,b,c...), dtype=object) > > and then iterate over each dimension, assigning elements: > > array[a,b,c...] = A() > > Any better suggestions? Instead of iterating, you could use fill: >> class A(object): ....: def __init__(self, i): ....: self.i = i ....: def __repr__(self): ....: return 'A(' + str(self.i) + ")" ....: >> x = np.empty((2,3), dtype=object) >> x.fill(A(0)) >> x array([[A(0), A(0), A(0)], [A(0), A(0), A(0)]], dtype=object) But then each element is a view of the same instance of A: >> x[0,0].i = 9 >> x array([[A(9), A(9), A(9)], [A(9), A(9), A(9)]], dtype=object) Hmm...this should be pretty fast: >> shape = (2,3) >> x = [A(0) for i in range(np.prod(shape))] >> x = np.asarray(x) >> x = x.reshape(shape) >> x array([[A(0), A(0), A(0)], [A(0), A(0), A(0)]], dtype=object) Each element is a copy: >> x[0,0].i = 9 >> x array([[A(9), A(0), A(0)], [A(0), A(0), A(0)]], dtype=object) From dalcinl at gmail.com Wed Jun 30 16:18:07 2010 From: dalcinl at gmail.com (Lisandro Dalcin) Date: Wed, 30 Jun 2010 17:18:07 -0300 Subject: [Numpy-discussion] PATCH: arange leaks references to provided dtype Message-ID: Sorry, no time to make a proper bug report in the tracker. This bug have been annoying me from about 3 years, today I finally discovered the actual issue!!. The code below shows that arange leaks references to dtype (actually, PyArray_Descr instances). import sys import numpy as np t = np.dtype('d') while 1: a = np.arange(1,dtype=t) print (sys.getrefcount(t)) I see this in numpy 1.3.0 on py2.6 (Fedora 12). This is also present in numpy svn/trunk on py2.7 and 3.1 The trivial patch below seems to fix this refcount bug: Index: numpy/core/src/multiarray/multiarraymodule.c =================================================================== --- numpy/core/src/multiarray/multiarraymodule.c (revision 8467) +++ numpy/core/src/multiarray/multiarraymodule.c (working copy) @@ -1863,7 +1863,7 @@ static PyObject * array_arange(PyObject *NPY_UNUSED(ignored), PyObject *args, PyObject *kws) { - PyObject *o_start = NULL, *o_stop = NULL, *o_step = NULL; + PyObject *o_start = NULL, *o_stop = NULL, *o_step = NULL, *range; static char *kwd[]= {"start", "stop", "step", "dtype", NULL}; PyArray_Descr *typecode = NULL; @@ -1873,7 +1873,9 @@ Py_XDECREF(typecode); return NULL; } - return PyArray_ArangeObj(o_start, o_stop, o_step, typecode); + range = PyArray_ArangeObj(o_start, o_stop, o_step, typecode); + Py_XDECREF(typecode); + return range; } /*NUMPY_API -- Lisandro Dalcin --------------- CIMEC (INTEC/CONICET-UNL) Predio CONICET-Santa Fe Colectora RN 168 Km 472, Paraje El Pozo Tel: +54-342-4511594 (ext 1011) Tel/Fax: +54-342-4511169 From teoliphant at gmail.com Wed Jun 30 16:22:21 2010 From: teoliphant at gmail.com (Travis Oliphant) Date: Wed, 30 Jun 2010 15:22:21 -0500 Subject: [Numpy-discussion] __array__struct__: about using PyCapsule instead of PyCObject for Python 2.7 In-Reply-To: References: Message-ID: <0DE399CD-1EB9-4C11-8ACA-0DF4EB85D0CD@enthought.com> On Jun 30, 2010, at 12:48 AM, Charles R Harris wrote: > > > On Tue, Jun 29, 2010 at 8:21 PM, Lisandro Dalcin wrote: > Do we really need this for NumPy 2? What about using the old PyCObject > for all Py 2.x versions? If this is not done, perhaps NumPy 2 on top > of Py 2.x should still accept the __array_struct__ being a PyCObject? > > As reference, Cython still uses PyCObject for Py<3.1 > http://hg.cython.org/cython-devel/rev/8a58f1544bd8#l1.33 . > > > Blame the Python 2.7 developers, those suckers deprecated the PyCObject. Grrr... I didn't see the point, myself, I'm tempted to deprecate 2.7 just to get even. There are some routines in the numpy/core/src includes that you might want to copy, they will allow you to use a common interface for PyCObject and PyCapsule if you need to do that. Did we complain loudly to these guys. I fear that our voice is not loud enough with the current crop of Python developers. -Travis > > Chuck > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion --- Travis Oliphant Enthought, Inc. oliphant at enthought.com 1-512-536-1057 http://www.enthought.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From dalcinl at gmail.com Wed Jun 30 17:07:40 2010 From: dalcinl at gmail.com (Lisandro Dalcin) Date: Wed, 30 Jun 2010 18:07:40 -0300 Subject: [Numpy-discussion] __array__struct__: about using PyCapsule instead of PyCObject for Python 2.7 In-Reply-To: References: Message-ID: On 30 June 2010 15:08, Charles R Harris wrote: > > > On Wed, Jun 30, 2010 at 10:57 AM, Lisandro Dalcin wrote: >> >> On 30 June 2010 02:48, Charles R Harris wrote: >> > >> >> Oh! Sorry! Now I realize that! >> > > Do I detect a touch of sarcasm? > No, no sarcasm at all! I just realized that PyCObject were (pending)deprecated in 2.7 ... Anyway. let me say I'm so annoyed and upset as you. >> >> > Grrr... I didn't see the point, myself, I'm tempted to deprecate 2.7 >> > just to >> > get even. There are some routines in the numpy/core/src includes that >> > you >> > might want to copy, they will allow you to use a common interface for >> > PyCObject and PyCapsule if you need to do that. >> > >> >> I've already fixed my code for PyCapsule. What's not clear to me is >> how to build (i.e, use the old cobject or the new capsules) >> __array_struct__ across NumPy and Python versions combinations. Will >> NumPy 1.x series ever support Python 2.7? In such case, should I use >> cobjects or capsules? >> >> Still, I think NumPy should still accept cobjects from extension types >> on a Python 2.x runtime, the fix for this support is trival: accept >> cobjects in NpyCapsule_Check() and NpyCapsule_AsVoidPtr() for >> PY_MAJOR_VERSION==2. >> > > That might work. The destructors are different between the two, but if you > just need access to the pointer things should be simpler. That's my point. I'm fine with numpy creating PyCapsule's in 2.7, as long as PyCObject's are still accepted. Given a cobject, NumPy only needs to get the pointer. > If you test it out > and put together a patch I don't see why it shouldn't be applied. If it > works. I'm a bit dubious about changing the check however. > Well, if the check is not modified to accept PyCObject's, the things will simply not work. NumPy uses NpyCapsule_Check in order to typecheck __array_struct__ attributes. That check should succeed for cobjects, then you know can call NpyCapsule_AsVoidPtr. >> >> People can still live with PendingDeprecationWarning (remember, they >> are shown if explicitly requested with -W), and such warning is >> triggered when cobjects are created, not when they are accessed. >> > > Yeah, but it is kind of ugly to have to deal with the warnings. > Yes, I understand. However, I'll insist about accepting PyCObject's, this will not make warnings show up. So, in short, if you accept that both NpyCapsule_Check() and NpyCapsule_AsVoidPtr() should accept PyCObject's for Py < 3.1, I can provide the patch... I can stress-test this because i'm using __array_struct__ in order to share memory between numpy arrays and PETSc vectors. -- Lisandro Dalcin --------------- CIMEC (INTEC/CONICET-UNL) Predio CONICET-Santa Fe Colectora RN 168 Km 472, Paraje El Pozo Tel: +54-342-4511594 (ext 1011) Tel/Fax: +54-342-4511169 From teoliphant at gmail.com Wed Jun 30 18:52:49 2010 From: teoliphant at gmail.com (Travis Oliphant) Date: Wed, 30 Jun 2010 17:52:49 -0500 Subject: [Numpy-discussion] PATCH: arange leaks references to provided dtype In-Reply-To: References: Message-ID: <4AE10BD4-4FC0-4220-A0B4-59011751C449@enthought.com> On Jun 30, 2010, at 3:18 PM, Lisandro Dalcin wrote: > Sorry, no time to make a proper bug report in the tracker. > > This bug have been annoying me from about 3 years, today I finally > discovered the actual issue!!. Thanks so much. This is an excellent fix. -Travis > > The code below shows that arange leaks references to dtype (actually, > PyArray_Descr instances). > > import sys > import numpy as np > > t = np.dtype('d') > while 1: > a = np.arange(1,dtype=t) > print (sys.getrefcount(t)) > > > I see this in numpy 1.3.0 on py2.6 (Fedora 12). This is also present > in numpy svn/trunk on py2.7 and 3.1 > > > The trivial patch below seems to fix this refcount bug: > > Index: numpy/core/src/multiarray/multiarraymodule.c > =================================================================== > --- numpy/core/src/multiarray/multiarraymodule.c (revision 8467) > +++ numpy/core/src/multiarray/multiarraymodule.c (working copy) > @@ -1863,7 +1863,7 @@ > > static PyObject * > array_arange(PyObject *NPY_UNUSED(ignored), PyObject *args, PyObject *kws) { > - PyObject *o_start = NULL, *o_stop = NULL, *o_step = NULL; > + PyObject *o_start = NULL, *o_stop = NULL, *o_step = NULL, *range; > static char *kwd[]= {"start", "stop", "step", "dtype", NULL}; > PyArray_Descr *typecode = NULL; > > @@ -1873,7 +1873,9 @@ > Py_XDECREF(typecode); > return NULL; > } > - return PyArray_ArangeObj(o_start, o_stop, o_step, typecode); > + range = PyArray_ArangeObj(o_start, o_stop, o_step, typecode); > + Py_XDECREF(typecode); > + return range; > } > > /*NUMPY_API > > > > > -- > Lisandro Dalcin > --------------- > CIMEC (INTEC/CONICET-UNL) > Predio CONICET-Santa Fe > Colectora RN 168 Km 472, Paraje El Pozo > Tel: +54-342-4511594 (ext 1011) > Tel/Fax: +54-342-4511169 > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion at scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion --- Travis Oliphant Enthought, Inc. oliphant at enthought.com 1-512-536-1057 http://www.enthought.com