You can subscribe to this list here.
2000 |
Jan
(8) |
Feb
(49) |
Mar
(48) |
Apr
(28) |
May
(37) |
Jun
(28) |
Jul
(16) |
Aug
(16) |
Sep
(44) |
Oct
(61) |
Nov
(31) |
Dec
(24) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(56) |
Feb
(54) |
Mar
(41) |
Apr
(71) |
May
(48) |
Jun
(32) |
Jul
(53) |
Aug
(91) |
Sep
(56) |
Oct
(33) |
Nov
(81) |
Dec
(54) |
2002 |
Jan
(72) |
Feb
(37) |
Mar
(126) |
Apr
(62) |
May
(34) |
Jun
(124) |
Jul
(36) |
Aug
(34) |
Sep
(60) |
Oct
(37) |
Nov
(23) |
Dec
(104) |
2003 |
Jan
(110) |
Feb
(73) |
Mar
(42) |
Apr
(8) |
May
(76) |
Jun
(14) |
Jul
(52) |
Aug
(26) |
Sep
(108) |
Oct
(82) |
Nov
(89) |
Dec
(94) |
2004 |
Jan
(117) |
Feb
(86) |
Mar
(75) |
Apr
(55) |
May
(75) |
Jun
(160) |
Jul
(152) |
Aug
(86) |
Sep
(75) |
Oct
(134) |
Nov
(62) |
Dec
(60) |
2005 |
Jan
(187) |
Feb
(318) |
Mar
(296) |
Apr
(205) |
May
(84) |
Jun
(63) |
Jul
(122) |
Aug
(59) |
Sep
(66) |
Oct
(148) |
Nov
(120) |
Dec
(70) |
2006 |
Jan
(460) |
Feb
(683) |
Mar
(589) |
Apr
(559) |
May
(445) |
Jun
(712) |
Jul
(815) |
Aug
(663) |
Sep
(559) |
Oct
(930) |
Nov
(373) |
Dec
|
From: Todd M. <jm...@st...> - 2003-05-05 12:11:31
|
Release Notes for numarray-0.5 Numarray is an array processing package designed to efficiently manipulate large multi-dimensional arrays. Numarray is modelled after Numeric and features c-code generated from python template scripts, the capacity to operate directly on arrays in files, and improved type promotions. I. ENHANCEMENTS 1. Universal Function Overhead Reduction The constant time overhead for most universal functions has been reduced by a factor of 10-20. This results in better performance for small arrays. 2. FFT mode and IRAF boundary modes added to Convolve.convolve2d There's now an FFT switch for the 2d convolution function in the Convolve package; when set to 1, convolution is performed via the FFT rather than using the naiive algorithm. In addition, convolve2d now supports boundary modes which are identical to IRAF's convolution function. 3. Numarray is now supported by f2py Numarray numerical arrays can now be used with f2py wrappers for Fortran code. To compile f2py wrapped extensions for numarray, use the switch -DNUMARRAY on the f2py command line. Support is currently limited to f77 and numerical arrays. II. BUGS FIXED 650926 exotic type coercions 653424 Convolve.boxcar boundary bug 653429 python setup.py build 654669 array index by list 655942 logical operator reductions 657058 inverse real fft bug 677796 byteswap not working 709956 error summing over large boolean arrays 710480 MLab.median makes unnecessary msort call 714537 conjugate function changes its argument See http://sourceforge.net/tracker/?atid=450446&group_id=1369&func=browse for more details. III. CAUTIONS 1. Due to some module renamings, numarray-0.5 will not install correctly on top of an existing numarray installation. Before installing numarray-0.5 remove your old version of numarray. 2. Due to reorganization of the C-API, numarray extensions must be recompiled. 3. For numarray-0.5 and up, the byteswap related methods have been redefined: a.byteswap() swaps but leaves byteorder alone a.togglebyteorder() Does "big" <-> "little" a._byteswap() now an alias for byteswap a._togglebyteorder() deleted 4. round() has been deprecated. Use around() instead. 5. Installing from source, the first time you run setup.py, you must specify --gencode, e.g.: python setup.py install --gencode WHERE ----------- Numarray-0.5 windows executable installers, source code, and manual is here: http://sourceforge.net/project/showfiles.php?group_id=1369 Numarray is hosted by Source Forge in the same project which hosts Numeric: http://sourceforge.net/projects/numpy/ The web page for Numarray information is at: http://stsdas.stsci.edu/numarray/index.html Trackers for Numarray Bugs, Feature Requests, Support, and Patches are at the Source Forge project for NumPy at: http://sourceforge.net/tracker/?group_id=1369 REQUIREMENTS ------------------------------ numarray-0.5 requires Python 2.2.2 or greater. AUTHORS, LICENSE ------------------------------ Numarray was written by Perry Greenfield, Rick White, Todd Miller, JC Hsu, Paul Barrett, Phil Hodge at the Space Telescope Science Institute. Thanks go to Jochen Kupper of the University of North Carolina for his work on Numarray and for porting the Numarray manual to TeX format. Thanks also to Edward C. Jones, Francesc Alted, Paul Dubois, Eric Jones, Travis Oliphant, Pearu Peterson and everyone who has contributed with comments and feedback. Numarray is made available under a BSD-style License. See LICENSE.txt in the source distribution for details. -- Todd Miller jm...@st... STSCI / ESS / SSB |
From: <mts...@ma...> - 2003-05-02 15:17:25
|
Hello I have installed python,numpy(latest),and numtut. So when testing the package could see the image that was supposed to come out. Per instruction I had to do the following: 1. from NumTut import* , 2. view(greece). But view brought nothing. Thanking you in advance Thats Bramley ------------------------------------------------- This mail sent through IMP: http://horde.org/imp/ |
From: MRS V. K. <vi...@ne...> - 2003-04-30 23:23:50
|
Dear Friend=2C ASSISTANCE REQUIRED FOR ACQUISITION OF ESTATE PROPERTIES=2E I write to inform you of my desire to acquire estates or landed properties in your country on behalf of my Husband=2C Former opposition Vice Presidential Candidate in Zimbabwe's last general elections recently concluded Considering the strategic and influential position he held in the opposing political party in Zimbabwe=2C he would want the transaction to be strictly confidential as possible=2EHe further wants his identity to remain undisclosed at least for now=2C until the completion of the transaction=2EHence our desire to have an overseas Manager=2E I want to inquire on behalf of my family if you would agree to act as our overseas Manager in order to actualize this transaction=2E We have heard rumours that President Robert Mugabe intends to confiscate all properties and assets belonging to top members of the opposing political party and try them for treason andattempt to assasinate him=2EIf found guilty=2C they will be jailed or executed=2Cthis is one of his moves in becoming a dictator The project in brief=2C is that the funds with which we intend to carry out our proposed investments in your country=2C is presently in the custody of a security Company in overseas and we need your assistance to transfer the funds to your country in a convenient bank account that will be provided by you before we can put the funds into use in your country=2E For this=2C you shall be considered to be the beneficiary of the money=2E The total sum is US$18 Million=2C of which your share shall be 20% if you agree to be our overseas agent and the remaining 80% is for buying the properties in your Country with your assistance=2EThis money is part of the donations we received from friends and from various governments that was in support of the removal of President Robert Mugabe during the recently concluded Presidential elections in Zimbabwe=2EThe President is aware of this money that is why we have deposited the money with the Security Comapany in overseas=2E As soon as payment is effected=2C and the amount mentioned above is successfully transferred into your account=2C we intend to use our own share in acquiring some estates abroad=2E For this too you shall also be our overseas manager of all our properties and you will be paid based on a certain percentage agreed on by both parties=2E In the light of this=2C I would like you to forward to me the following information=3A 1=2E Your company name and address=28if any=29 2=2E Your personal telephone=2Ffax number=2E 3=2EComplete Mailing Address 4=2EThe name you want us to use as beneficiary=2E As soon as i receive the above information from you=2Ci will present it to our family=2Cs lawyer to raise a power of Attorney empowering you to have full authority over the total money=2E You are requested to communicate your acceptance of this proposal through my above stated email address after which my elder brother=28John Mutola=29 shall discuss the modalities of the transaction with you=2E Your quick response will be highly appreciated=2E Thank you in anticipation of your cooperation=2E Yours faithfully=2C Victoria Komo=2E |
From: Todd M. <jm...@st...> - 2003-04-30 17:46:37
|
On Wed, 2003-04-30 at 02:47, Andrew P. Lentvorski, Jr. wrote: > > 1) Does numpy (or numarray) release the Python GIL? numarray does not explicitly release the GIL. There is a long standing doubt that Python callbacks made from its extension functions may make numarray unsound for multi-threaded work because they *do* release the GIL. > 2) If not, why not? It just hasn't been a priority yet for numarray. > Is this simply something I could fix by making the > changes myself, Don't know. > or are there larger reasons for not releasing the GIL? Don't know. |
From: Andrew P. L. Jr. <bs...@al...> - 2003-04-30 06:47:38
|
I have been digging into Python threading and was curious as to whether I'm going to run into problems using Python threads with numpy. So, my questions are: 1) Does numpy (or numarray) release the Python GIL? 2) If not, why not? Is this simply something I could fix by making the changes myself, or are there larger reasons for not releasing the GIL? Thanks, -a |
From: Chris F. <ch...@fa...> - 2003-04-28 10:30:10
|
INTRO: I am trying to use Jnumeric(jython numeric)for mixed arrays of int, NONE, string, and user defined objects, mostly because of the easy to use syntax and notation. QUESTION: Is there an easy way to generate a mask array from object type ? pseudocode: vector = array(['a',2,'b',None,None,None,'hello']) >>> ['a',2,'b',None,None,None,'hello'] mask = equal(vector, isString) >>> [1,0,1,0,0,0,1] EXAMPLE: vector = array([1,2,3,None,None,None,7]) >>>[1,2,3,None,None,None,7] mask = equal(vector, None).astype(Int8) >>>[0,0,0,1,1,1,0] PS: Why don't we have a boolean-(0,1)-1bit type ? Chris Fenton |
From: <23...@ex...> - 2003-04-27 01:39:22
|
<html> <head> <title>DVD Magic Pro</title> </head> <font color="#FFFFFF" size="2"> * 1AA518B9-5D9C950F-63D6A0D7-311C6D53-29ACCB50 ************ </font><body><table border="4" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#00009D" width="460" bgcolor="#000080" bordercolorlight="#3366CC" bordercolordark="#000080" height="44"> <tr> <td width="163" height="44" bgcolor="#FFFFFF" bordercolor="#000000" style="border: 1px solid #000000"> <p align="center"><i><b><font size="4" color="#000080" face="Tahoma">DVD Magick Pro</font></b></i></td> <td width="294" height="44" style="border: 2px solid #3366CC"> <p align="center"><b><font face="Tahoma" color="#FFFFFF">A Revolutionary Way to Create DVDs in Your Own Home!</font></b></td> </tr> </table> <table border="3" cellpadding="5" cellspacing="5" style="border-collapse: collapse" bordercolor="#3366CC" width="460" bgcolor="#3366CC" bordercolorlight="#0066CC" bordercolordark="#0066CC"> <tr> <td> <p align="center"><font face="Arial" color="#FFFFFF"> <marquee behavior="slide" scrollamount="25" scrolldelay="40" style="color: #FFFFFF; font-family: Arial; font-size: 14pt" width="320">Want to Create your own DVD library?</marquee><br> Worried about scratching your favorite movie?<br>We have THE solution for you!<br> <marquee behavior="slide" scrollamount="5" scrolldelay="50" width="316" style="color: #FFFFFF; font-family: Arial; font-size: 12pt; font-weight: bold">Now you can Make DVD's using your PC!</marquee><br> It's easy to use, and For a limited time it is <b><u>Only $39.99!</u></b></font></td> </tr> </table> <table border="4" cellpadding="5" cellspacing="5" style="border-collapse: collapse" bordercolor="#3366CC" width="460" bgcolor="#000080" bordercolorlight="#0066CC" bordercolordark="#0066CC"> <tr> <td align="left"> <p><b><font color="#FFFFFF" size="2" face="Tahoma">- Instant Download!<br>- No DVD Burner Required<br> - Simple & Easy-to-Use<br>- Win 95/98/2k/XP Compatible</font></b></td> <td bgcolor="#FFFFFF" style="text-decoration: blink; color: #000080; font-family: Tahoma; font-size: 12pt; font-weight: bold; border-style: solid; border-width: 3"> <p align="center"><span style="font-weight: 400"><i><strong><blink> <a style="color: #000080; font-family: Tahoma; font-size: 12pt; text-decoration: blink; font-style: oblique; font-weight: bold" href="http://www.sd001.vg/dvd/adv166/"> <font face="Tahoma" color="#000080" size="4">Click Here for More Info or <br>Order Online Now!</font></a></blink></strong></i></span></td> </tr> </table> <font color="#FFFFFF" size="2"> *** 1B9688D5-18234E54-56E733B7-442EDA30-72422687 ****************** </font><br> </body> </html> |
From: Paul M. <pa...@fx...> - 2003-03-24 19:47:57
|
The Numeric-23 source drop doesn't contain Windows Visual Studio project files, and I don't know how to build the debug version of the DLLs with the setup file. I'm trying to use Numeric in a debug session where I also have debug versions of the python dlls. But it won't import if I'm linked with the debug python. I'm assuming having the debug dlls for Numeric will help. Could someone just send me their copies if they have them, or send a VStudio project with a debug target? |
From: Perry G. <pe...@st...> - 2003-03-20 14:14:01
|
I wrote: > > At the moment, numarray doesn't support PyObject arrays (though > I believe that adding such capability is simple enough I am > tempted to try to do so today!). > > Another possibility is to use chararray *if* you are dealing with > fixed length strings. We use that as a way of providing character > fields to our record array class (recarray). If this is so, you may > find that more useful. Let us know and we will point you to where > you can find more information (recarray and chararray aren't that > well documented right now). > Having looked at it in more detail, it is more involved that I had hoped so it won't be done in an afternoon, but it doesn't look difficult. I think we will have to wait until we finish our current round of optimization work before adding this capability. While the PyObject type can use much of NDArray, it does require some new machinery to handle safety issues regarding Python objects (ensuring that the buffer used for such arrays always contain valid PyObject entries and nothing but, plus handling inref'ing and decref'ing all entries in arrays as appropriate). Perry |
From: <sop...@de...> - 2003-03-20 00:46:23
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" ""> <html> <head> <style> .mailing_blanc { color: '#FFFFFF'; font-family: 'Arial, Helvetica, sans-serif'; font-size: '15px'; text-decoration:'none'; font-weight: 'normal';} .mailing_title { color: '#993399'; font-family: 'Arial, Helvetica, sans-serif'; font-size: '19px'; font-weight: 'bold'; background: 'none';} .mailing_content { font-family: 'Arial, Helvetica, sans-serif'; color: '#000000'; font-size: '13px'; background: 'none';} </style> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Deux.fr</title> </head> <body bgcolor="#FFFFFF" text="#000000"> <span class="mailing_content">Bonjour,</span> <p class="mailing_content"> Je suis ELODIE, modératrice du site <a href="http://www.deux.fr" target="_blank"><b>http://www.deux.fr</b></a><br> Je vous contact pour vous faire part d'une formidable nouvelle qui va <br> peut-être changer votre vie : </p> <p class="mailing_content"> <a href="http://www.deux.fr" target="_blank"<b>DEUX.FR</b></a>, 1er service de rencontres 100% gratuit <br> ouvre ses portes à tous les solitaires au coeur tendre ! </p> <p class="mailing_content"> Tout le monde en parle ! <br> <b>Deux.fr</b> compte déjà plusieurs milliers de membres ! </p> <p class="mailing_content"> <b>Deux.fr</b> est un site de rencontres totalement GRATUIT et révolutionnaire: <br><br> - Vous pouvez y faire "la rencontre de votre vie" ou bien juste lier connaissance...<br> - Vous pouvez consulter les profils détaillés de nos membres, avec photos et portraits chinois. <br> - Vous pouvez tester automatiquement vos affinités ou trouver votre âme soeur grâce au <br> MatchMaker, notre puissant logiciel de calcul de compatibilité !<br> - Vous pouvez aussi discuter avec tous les membres connectés à l'aide de notre dialogue <br> en direct dernière génération. </p> <p class="mailing_content"> Venez vite vous inscrire en cliquant ici : <a href="http://www.deux.fr" target="_blank"><b>www.deux.fr</b></a><br> (Si le lien ci-dessus ne fonctionne pas, le copiez dans votre navigateur) </p> <p class="mailing_content"> Vous y trouverez votre partenaire idéal, des rencontres coquines ou bien <br> simplement des ami(e)s pour correspondance ou loisirs !! </p> <p class="mailing_content"> A très bientôt !! </p> <p class="mailing_content"> Elodie, Modératrice<br> <a href="http://www.deux.fr" target="_blank"><b>www.deux.fr</b></a> </p> <p class="mailing_content"> PS : Si vous êtes déjà en couple ou heureux avec une personne, faites suivre ce <br> message à tous vos amis solitaires: vous leur rendrez un GRAND service ! </p> <p class="mailing_content"> Utiliser le bloc ci-dessous pour recommander <b>DEUX.FR</b> : </p> <p> <form action="http://www.deux.fr/script/quit.php" method="get"> <input type="hidden" name="submit" value="1"> <table width="500" border="0" cellspacing="0" align="left" bgcolor="#FF9900"> <tr> <td colspan="5" align="center"> <span class="mailing_title">FORMULAIRE DE RECOMMANDATION</span> </td> </tr> <tr> <td align="right" nowrap> <span class="mailing_blanc">Votre nom :</span> </td> <td> <input type="text" name="nom" value=""> </td> <td width="10"></td> <td align="right" nowrap> <span class="mailing_blanc">Votre prenom :</span> </td> <td> <input type="text" name="prenom" value=""> </td> </tr> <tr> <td align="center" nowrap> <span class="mailing_blanc">Votre email :</span> </td> <td> <input type="text" name="remail" value=""> </td> <td colspan="3"> </td> </tr> <tr> <td colspan="5"> </td> </tr> <tr> <td colspan="5" align="center"> <span class="mailing_title">Entrer l'email de vos ami(e)s :</span> </td> </tr> <tr> <td align="right"> <span class="mailing_blanc">Email n°1</span> </td> <td> <input type="text" name="email1" value=""> </td> <td width="10"></td> <td align="right"> <span class="mailing_blanc">Email n°2</span> </td> <td> <input type="text" name="email2" value=""> </td> </tr> <tr> <td align="right"> <span class="mailing_blanc">Email n°3</span> </td> <td> <input type="text" name="email3" value=""> </td> <td width="10"></td> <td align="right"> <span class="mailing_blanc">Email n°4</span> </td> <td> <input type="text" name="email4" value=""> </td> </tr> <tr> <td align="right"> <span class="mailing_blanc">Email n°5</span> </td> <td> <input type="text" name="email5" value=""> </td> <td width="10"></td> <td align="right"> <span class="mailing_blanc">Email n°6</span> </td> <td> <input type="text" name="email6" value=""> </td> </tr> <tr> <td align="right"> <span class="mailing_blanc">Email n°7</span> </td> <td> <input type="text" name="email7" value=""> </td> <td width="10"></td> <td align="right"> <span class="mailing_blanc">Email n°8</span> </td> <td> <input type="text" name="email8" value=""> </td> </tr> <tr> <td align="right"> <span class="mailing_blanc">Email n°9</span> </td> <td> <input type="text" name="email9" value=""> </td> <td width="10"></td> <td align="right"> <span class="mailing_blanc">Email n°10</span> </td> <td> <input type="text" name="email10" value=""> </td> </tr> <tr> <td colspan="5" align="center"> <br><span class="mailing_title">Modifier le sujet du message (FACULTATIF)</span></font> </td> </tr> <tr> <td colspan="5" align="center"> <input type="text" name="sujet" value="Quelque chose qui devrait t'intéresser..." size="50"> </td> </tr> <tr> <td colspan="5"> </td> </tr> <tr> <td colspan="5" align="center"> <span class="mailing_title">Modifier le texte du message (FACULTATIF)</span> </td> </tr> <tr> <td colspan="5" align="center"> <textarea name="ctxt" cols="50" rows="3">Salut, J'ai découvert http://www.deux.fr Va y jeter un coup d'oeil, cela devrait te plaire... A +</textarea> </td> </tr> <tr> <td colspan="5" align="center"> <input type="submit" name="submit" value="ENVOYER VOTRE MESSAGE !"> </td> </tr> <tr> <td colspan="5"> </td> </tr> </table> <input type="hidden" name="submit" value="1"> </form> </p> <br><br> <p class="mailing_content"> <i>Conformément à la loi informatique et libertés, si vous souhaitez supprimer votre email de cette liste, veuillez cliquer sur ce <br> lien pour vous désinscrire: <a href=http://www.deux.fr/script/remove/>http://www.deux.fr/script/remove/</a></i> </p> </body> </html> |
From: Perry G. <pe...@st...> - 2003-03-19 16:16:46
|
> > Hello, > > I am trying to convert a larger project of ours from Numeric to > numarray under some time pressure. One stumbling point is that > numarray does not support the Numeric "PyObject" typecode for > arrays. I am mapping some kind or database structure to Numeric arrays > and am using PyObject arrays for storing String columns for > consistency with the numeric columns. How would this be solved with > numarray? Example: > > >python > Python 2.2.1 (#1, Dec 13 2002, 10:37:32) > [GCC 3.2] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> import Numeric as N > >>> a=N.zeros(3, N.PyObject) > >>> a[:] = ['abc', 'def', 'ghi'] > >>> a > array([abc , def , ghi ],'O') > > Thanks > Berthold > -- At the moment, numarray doesn't support PyObject arrays (though I believe that adding such capability is simple enough I am tempted to try to do so today!). Another possibility is to use chararray *if* you are dealing with fixed length strings. We use that as a way of providing character fields to our record array class (recarray). If this is so, you may find that more useful. Let us know and we will point you to where you can find more information (recarray and chararray aren't that well documented right now). Perry |
From: Francesc A. <fa...@op...> - 2003-03-18 20:46:53
|
Announcing PyTables 0.4 ----------------------- I'm happy to announce the first beta release of PyTables. It is labelled beta because it has been thoroughly tested, even in production environmen= ts, and it is getting fairly mature. Besides, from now on, the API will remain mostly stable, so you can start using PyTables now with the guarantee that your code will also work (well= , mostly ;-) in the future. The large amount of unit tests included in PyTables will also ensure the backward compatibility as well as the quali= ty of future releases will remain at least as good as it is now (although hopefully it should increase!). What's new ----------- - numarray objects (NumArray, CharArray and RecArray) supported - As a consequence of a large internal code redesign (numarray is at the core of PyTables now), performance has been improved by a factor of 10 (see "How Fast Is It?" section) - It consumes far less memory than previous version - Support for reading generic HDF5 files added (!) - Some bugs and memory leaks existing in 0.2 solved - Updated documentation - Added more unit tests (more than 200 now!) What it is ---------- In short, PyTables provides a powerful and very Pythonic interface to process table and array data. Its goal is to enable the end user to manipulate easily scientific data tables and Numerical and numarray Python objects in a persistent hierarchical structure. The foundation of the underlying hierarchical data organization is the excellent HDF5 library (http://hdf.ncsa.uiuc.edu/HDF5). A table is defined as a collection of records whose values are stored in fixed-length fields. All records have the same structure and all values in each field have the same data type. The terms "fixed-length" and strict "data types" seems to be quite a strange requirement for an interpreted language like Python, but they serve a useful function if the goal is to save very large quantities of data (such as is generated by many scientific applications, for example) in an efficient manner that reduces demand on CPU time and I/O resources. Quite a bit effort has been invested to make browsing the hierarchical data structure a pleasant experience. PyTables implements just two (orthogonal) easy-to-use methods for browsing. What is HDF5? ------------- For those people who know nothing about HDF5, it is is a general purpose library and file format for storing scientific data made at NCSA. HDF5 can store two primary objects: datasets and groups. A dataset is essentially a multidimensional array of data elements, and a group is a structure for organizing objects in an HDF5 file. Using these two basic constructs, one can create and store almost any kind of scientific data structure, such as images, arrays of vectors, and structured and unstructured grids. You can also mix and match them in HDF5 files according to your needs. How fast is it? --------------- PyTables can write table records between 20 and 30 times faster than cPickle and between 3 and 10 times faster than struct (it is a module present in the Standard Library); and retrieves information around 100 times faster than cPickle and between 8 and 10 times faster than struct. When compared with SQLite (http://www.sqlite.org/), one of the fastest (free) relational databases available, PyTables achieves between a 60% and 80% the speed of SQLite during selects of dataset sizes that fit in the O.S. filesystem memory cache. However, when those sizes does not fit in the cache (i.e. when dealing with large amounts of data), PyTables beats SQLite by a factor of 2 or even more (depending on the kind of record selected), and its performance in this case is only limited by the I/O speed of the disk subsystem. Go to http://pytables.sourceforge.net/doc/PyCon.html#section4 for a detailed description on the conducted benchmarks. Platforms --------- I'm using Linux as the main development platform, but PyTables should be easy to compile/install on other UNIX machines. This package has also passed all the tests on a UltraSparc platform with Solaris 7 and Solaris 8. It also compiles and passes all the tests on a SGI Origin2000 with MIPS R12000 processors and running IRIX 6.5. If you are using Windows and you get the library to work, please let me know. An example? ----------- At the bottom of this message there is some code that shows basic capabilities of PyTables. You may also look at http://pytables.sourceforge.net/tut/tutorial1-1.html and=20 http://pytables.sourceforge.net/tut/tutorial1-2.html for online code. Web site -------- Go to the PyTables web site for downloading and more details: http://pytables.sf.net/ Share your experience --------------------- Let me know of any bugs, suggestions, gripes, kudos, etc. you may have. Have fun! -- Francesc Alted fa...@op... *-*-*-**-*-*-**-*-*-**-*-*- Small code example *-*-*-**-*-*-**-*-*-**-*-= *-* from tables import * class Particle(IsDescription): identity =3D Col("CharType", 22, " ", pos =3D 0) # character String idnumber =3D Col("Int16", 1, pos =3D 1) # short integer speed =3D Col("Float32", 1, pos =3D 1) # single-precision # Open a file in "w"rite mode fileh =3D openFile("objecttree.h5", mode =3D "w") # Get the HDF5 root group root =3D fileh.root # Create the groups: group1 =3D fileh.createGroup(root, "group1") group2 =3D fileh.createGroup(root, "group2") # Now, create a table in "group0" group array1 =3D fileh.createArray(root, "array1", ["string", "array"], "String= =20 array") # Create 2 new tables in group1 table1 =3D fileh.createTable(group1, "table1", Particle) table2 =3D fileh.createTable("/group2", "table2", Particle) # Create the last table in group2 array2 =3D fileh.createArray("/group1", "array2", [1,2,3,4]) # Now, fill the tables: for table in (table1, table2): # Get the record object associated with the table: row =3D table.row # Fill the table with 10 records for i in xrange(10): # First, assign the values to the Particle record row['identity'] =3D 'This is particle: %2d' % (i) row['idnumber'] =3D i row['speed'] =3D i * 2. # This injects the Record values row.append() # Flush the table buffers table.flush() # Select actual data from table. # on entries where TDCcount field is greater than 3 and pressure less tha= n 50 out =3D [ x['identity'] for x in table.iterrows() if x['idnumber'] > 3 and 4 < x['speed'] < 10 ] print out # Finally, close the file (this also will flush all the remaining buffers= !) fileh.close() |
From: Todd M. <jm...@st...> - 2003-03-18 19:09:31
|
Francesc Alted wrote: >A Dimarts 18 Març 2003 18:24, Todd Miller va escriure: > > >>That's great to hear! Incidentally, you should probably also set LP64 >>to 1. That asserts that a Python integer (a C long) is 64-bits and >>makes the default array integer type Int64 rather than Int32. I don't >>know anything about SGI, but you can determine if LP64 is appropriate >>by looking at sys.maxint: 2-billionish is 32-bit, 9-gazillionish is >>64-bit. >> >> > >Well, to say the truth, I've already tested that, but it gave me some weird >errors with the Numeric compatibility tests included in PyTables. In >particular, it seems to make a difference between the "l" (long) and "i" >(int) typecodes, that make the tests to fail (maybe I should investigate >this more, but I'm short of time lately). > That sounds consistent with my understanding of LP64. C longs and pointers are 64-bit, while C ints remain 32-bit. Hence, for LP64, 'i' and 'l' should be different. That is not to say numarray has it's act totally together here; LP64 is rather confusing, as is the fact that a Python Int is actually a C long. For now, I'll just apply your patch as-is. > > Regards, Todd |
From: Francesc A. <fa...@op...> - 2003-03-18 18:52:57
|
A Dimarts 18 Mar=E7 2003 18:24, Todd Miller va escriure: > That's great to hear! Incidentally, you should probably also set LP64 > to 1. That asserts that a Python integer (a C long) is 64-bits and > makes the default array integer type Int64 rather than Int32. I don't > know anything about SGI, but you can determine if LP64 is appropriate > by looking at sys.maxint: 2-billionish is 32-bit, 9-gazillionish is > 64-bit. Well, to say the truth, I've already tested that, but it gave me some wei= rd errors with the Numeric compatibility tests included in PyTables. In particular, it seems to make a difference between the "l" (long) and "i" (int) typecodes, that make the tests to fail (maybe I should investigate this more, but I'm short of time lately). Besides, my python on IRIX seems to not support well the 64-bits integers= : nut 432$ python Python 2.2.2 (#2, Nov 19 2002, 18:46:18) [GCC 2.95.2 19991024 (release)] on irix646 Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> sys.maxint 2147483647 which is the same as an 32-bit machine. I think this is because I've compiled python with gcc 2.95.2 and it doesn= 't support 64-bit integers. From the gcc man pages: MIPS Options -mcpu=3Dcpu type -mips2 -mips3 -mint64 -mlong64 -mlonglong128 -mmips-as -mgas -mrnames -mno-rnames -mgpopt -mno-gpopt -mstats -mno-stats -mmemcpy -mno-memcpy -mno-mips-tfile -mmips-tfile -msoft-float -mhard-float -mabicalls -mno-abicalls -mhalf-pic -mno-half-pic -G num -nocpp but later you can read: -mint64 -mlong64 -mlonglong128 These options don't work at present. So it seems like if could be dangerous to force the default integer types= to Int64. But anyway, this is most probably a limitation of GNU gcc than a flaw on IRIX. I could test with the MIPSpro C compiler, but I've no time rigth no= w. Regards, --=20 Francesc Alted |
From: Konrad H. <hi...@cn...> - 2003-03-18 17:43:07
|
On Tuesday 18 March 2003 09:29, chr...@ph... wrote: > Ok, I found the problem. Within libnumpy-access.h yet again arrayobject= =2Eh > is called which causes the problem. So changing this to > > #include "c:\python22\include\Python.h" > #include "c:\python22\include\numeric\arrayobject.h" > #include "libnumpy-access.h" > #define PY_ARRAY_UNIQUE_SYMBOL > > static PyObject* find_minimum(PyObject *self, PyObject *args){ > ........ > > Now it works perfectly. Probably my code runs under linux anyway due to In that case, you can as well remove the #define line, because it has no=20 effect when used after including arrayobject.h. Konrad. --=20 -------------------------------------------------------------------------= ------ Konrad Hinsen | E-Mail: hi...@cn... Centre de Biophysique Moleculaire (CNRS) | Tel.: +33-2.38.25.56.24 Rue Charles Sadron | Fax: +33-2.38.63.15.17 45071 Orleans Cedex 2 | Deutsch/Esperanto/English/ France | Nederlands/Francais -------------------------------------------------------------------------= ------ |
From: Todd M. <jm...@st...> - 2003-03-18 17:24:58
|
That's great to hear! Incidentally, you should probably also set LP64 to 1. That asserts that a Python integer (a C long) is 64-bits and makes the default array integer type Int64 rather than Int32. I don't know anything about SGI, but you can determine if LP64 is appropriate by looking at sys.maxint: 2-billionish is 32-bit, 9-gazillionish is 64-bit. Todd Francesc Alted wrote: >A Dimarts 18 Març 2003 16:47, Todd Miller va escriure: > >>It may be a fairly simple matter of an unsupported platform; I don't >>have access to the SGI machine you're dealing with. The default block >>in numarray's setup.py compiles for 32-bit without support for UInt64. >> Add a case for >>SGI and you may be done. If so, please send a patch. >> > >I see. I'm attaching the patch for IRIX 6.5 (IRIX64 nut 6.5 07121149 IP27): > >--- setup.py.orig Tue Mar 18 17:24:40 2003 >+++ setup.py.irix Tue Mar 18 17:42:37 2003 >@@ -32,6 +32,8 @@ > if sys.platform == "osf1V5": > EXTRA_COMPILE_ARGS.extend(["-ieee"]) > LP64, HAS_UINT64, HAS_FLOAT128 = 1, 1, 1 >+elif sys.platform == "irix646": >+ LP64, HAS_UINT64, HAS_FLOAT128 = 0, 1, 0 > elif sys.platform == "linux2": > LP64, HAS_UINT64, HAS_FLOAT128 = 0, 1, 0 > elif sys.platform == "sunos5": > >I've only set the UInt64 support because I don't know if this platform >supports floats of 128 bits and neither what LP64 exactly means. > >With that, numarray supports UInt64 arrays on IRIX perfectly: > >nut 435$ python >Python 2.2.2 (#2, Nov 19 2002, 18:46:18) >[GCC 2.95.2 19991024 (release)] on irix646 >Type "help", "copyright", "credits" or "license" for more information. > >>>>import numarray >>>>numarray.ones((3,), numarray.UInt64) >>>> >array([1, 1, 1], type=UInt64) > >>>>^D >>>> > >Thanks for the pointer, > |
From: Francesc A. <fa...@op...> - 2003-03-18 16:51:20
|
A Dimarts 18 Mar=E7 2003 16:47, Todd Miller va escriure: > > It may be a fairly simple matter of an unsupported platform; I don't > have access to the SGI machine you're dealing with. The default block > in numarray's setup.py compiles for 32-bit without support for UInt64. > Add a case for > SGI and you may be done. If so, please send a patch. I see. I'm attaching the patch for IRIX 6.5 (IRIX64 nut 6.5 07121149 IP27= ): --- setup.py.orig Tue Mar 18 17:24:40 2003 +++ setup.py.irix Tue Mar 18 17:42:37 2003 @@ -32,6 +32,8 @@ if sys.platform =3D=3D "osf1V5": EXTRA_COMPILE_ARGS.extend(["-ieee"]) LP64, HAS_UINT64, HAS_FLOAT128 =3D 1, 1, 1 +elif sys.platform =3D=3D "irix646": + LP64, HAS_UINT64, HAS_FLOAT128 =3D 0, 1, 0 elif sys.platform =3D=3D "linux2": LP64, HAS_UINT64, HAS_FLOAT128 =3D 0, 1, 0 elif sys.platform =3D=3D "sunos5": I've only set the UInt64 support because I don't know if this platform supports floats of 128 bits and neither what LP64 exactly means. With that, numarray supports UInt64 arrays on IRIX perfectly: nut 435$ python Python 2.2.2 (#2, Nov 19 2002, 18:46:18) [GCC 2.95.2 19991024 (release)] on irix646 Type "help", "copyright", "credits" or "license" for more information. >>> import numarray >>> numarray.ones((3,), numarray.UInt64) array([1, 1, 1], type=3DUInt64) >>> ^D Thanks for the pointer, --=20 Francesc Alted |
From: Paul F D. <pa...@pf...> - 2003-03-18 16:33:56
|
Using the Python CAPI, you can get the MA module object, then from it = the function isMaskedArray(a), which you then can call with your argument a. = You can do the first two steps just once since they won't change. -----Original Message----- From: num...@li... [mailto:num...@li...] On Behalf Of Kuzminski, Stefan R Sent: Monday, March 17, 2003 11:20 AM To: num...@li... Subject: [Numpy-discussion] Masked arrays in C extensions Hi,=20 I'm writing a C exenstion which uses Masked Arrays. Since a MA isn't a 'PyArray_Type', the PyArray_Check macro returns false, regular arrays = work fine. ( from a SWIG typemap here ) if (!PyArray_Check($input)) {=20 PyErr_SetString(PyExc_TypeError,"$1 is not a Numeric Array");=20 return NULL;=20 }=20 My question is how do I deal with Masked Arrays differently than regular Array in the C code? Any sample code would be greatly appreciated! thanks,=20 Stefan Kuzminski=20 P.S. this is Python2.2, Numeric-22=20 ------------------------------------------------------- This SF.net = email is sponsored by:Crypto Challenge is now open! Get cracking and register = here for some mind boggling fun and the chance of winning an Apple iPod: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en _______________________________________________ Numpy-discussion mailing list Num...@li... https://lists.sourceforge.net/lists/listinfo/numpy-discussion |
From: Francesc A. <fa...@op...> - 2003-03-18 12:53:24
|
Hi, numarray seems to not support UInt64 types in 64-bit architecture. For example, on SGI Origin 2000 with R12000 processors, I'm getting: Python 2.2.2 (#2, Nov 19 2002, 18:46:18) [GCC 2.95.2 19991024 (release)] on irix646 Type "help", "copyright", "credits" or "license" for more information. >>> import numarray >>> numarray.ones((3,), numarray.UInt64) Traceback (most recent call last): File "<stdin>", line 1, in ? File=20 "/scratch1/fernande/libs/lib/python2.2/site-packages/numarray/numarray.py= ",=20 line 959, in ones retarr =3D _fillarray(ndarray.product(shape), 1, 0, type) File=20 "/scratch1/fernande/libs/lib/python2.2/site-packages/numarray/numarray.py= ",=20 line 160, in _fillarray if outtype > ptype: # Hack for Int64/UInt64 on 32-bit platforms. File=20 "/scratch1/fernande/libs/lib/python2.2/site-packages/numarray/numerictype= s.py",=20 line 112, in __cmp__ return (genericTypeRank.index(self.name) - ValueError: list.index(x): x not in list >>> while in my laptop (pentium IV, i.e. 32-bit), I've no problem with that: Python 2.2.2 (#3, Dec 26 2002, 16:40:05) [GCC 2.95.4 20011002 (Debian prerelease)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import numarray >>> numarray.ones((3,), numarray.UInt64) array([1, 1, 1], type=3DUInt64) >>> This is bizarre that a 64-bit machine does not support the UInt64 type wh= ile a 32-bit one do. I've been looking at the numarray code and that seems to= be intentional, but I can't understand why. Somebody can enlighten my mind? Thanks, --=20 Francesc Alted |
From: <ho...@gl...> - 2003-03-18 12:43:59
|
ho...@gl... (Berthold H=F6llmann) writes: > Berthold H=F6llmann <ho...@gl...> writes: >=20 > > Hello, > >=20 > > I am trying to freeze a program using the McMillan Installer version > > 5, alpha 1. The program has to use Numeric and numarray in > > parallell. But the generated executable just gives a segmentation > > fault. Here' what I get: > >=20 > > >cat aa.py > > import Numeric as N > > print "AA" > > import numarray as n > > print "BB" > > print N.arange(19) > > print n.arange(19) >=20 > I just found out that the testcase is even shorter. It is numarray > that can't be packed using the McMillan installer. Simply the line=20 >=20 > import numarray >=20 > is enough to make the generated executable segfault. Oh what a lunch is good for. The problem seems to be some delayed imports in exec or use __import__. After adding the lines import _bytes, _ufuncBool, _ufuncInt32, _ufuncUInt8 import _chararray, _ufuncComplex32, _ufuncInt64, libnumarray import _conv, _ufuncComplex64, _ufuncInt8, memory import _ndarray, _ufuncFloat32, _ufuncUInt16 import _numarray, _ufuncFloat64, _ufuncUInt32 import _sort, _ufuncInt16, _ufuncUInt64 the executable works as expected. Regards Berthold --=20 Dipl.-Ing. Berthold H=F6llmann __ Address: ho...@GL... G / \ L Germanischer Lloyd phone: +49-40-36149-7374 -+----+- Vorsetzen 32/35 P.O.Box 111606 fax : +49-40-36149-7320 \__/ D-20459 Hamburg D-20416 Hamburg =20 =20 =20 =20 **************************************************** =20 =20 Beachten Sie: Wir moechten Sie informieren, dass die E-Mail-Adresse des = Germanischen Lloyd sowie unsere Web-Adresse mit Wirkung vom 1. Maerz = 2003 auf den Namen gl-group.com umgestellt wurde. =20 =20 Dies bedeutet, dass die bisherige Adresse Kur...@ge... = durch die neue Adresse Kur...@gl... ersetzt wird. Die = Homepage des GL ist kuenftig ueber die Adresse 'http://www.gl-group.com' = aufrufbar. Die bisher verwendeten Adressen bleiben f=FCr eine = Uebergangsfrist erreichbar. =20 =20 ****************************************************=20 =20 Please notice: We would like to inform you that the e-mail address of = Germanischer Lloyd as well as our internet address had been changed to = gl-group.com with effect from 1st March 2003. =20 =20 This means that the previous address sho...@ge... will be = replaced by sho...@gl.... From now on the GL homepage can be = accessed at the address 'http://www.gl-group.com'. The old addresses = remain valid for a transitional period. =20 =20 =20 **************************************************** =20 =20 =20 =20 This e-mail contains confidential information for the exclusive = attention of the intended addressee. Any access of third parties to this = e-mail is unauthorised. Any use of this e-mail by unintended recipients = such as 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. =20 =20 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.=20 =20 =20 |
From: <ho...@gl...> - 2003-03-18 10:51:19
|
Berthold H=F6llmann <ho...@gl...> writes: > Hello, >=20 > I am trying to freeze a program using the McMillan Installer version > 5, alpha 1. The program has to use Numeric and numarray in > parallell. But the generated executable just gives a segmentation > fault. Here' what I get: >=20 > >cat aa.py > import Numeric as N > print "AA" > import numarray as n > print "BB" > print N.arange(19) > print n.arange(19) I just found out that the testcase is even shorter. It is numarray that can't be packed using the McMillan installer. Simply the line=20 import numarray is enough to make the generated executable segfault. Regards Berthold --=20 Dipl.-Ing. Berthold H=F6llmann __ Address: ho...@GL... G / \ L Germanischer Lloyd phone: +49-40-36149-7374 -+----+- Vorsetzen 32/35 P.O.Box 111606 fax : +49-40-36149-7320 \__/ D-20459 Hamburg D-20416 Hamburg =20 =20 =20 =20 **************************************************** =20 =20 Beachten Sie: Wir moechten Sie informieren, dass die E-Mail-Adresse des = Germanischen Lloyd sowie unsere Web-Adresse mit Wirkung vom 1. Maerz = 2003 auf den Namen gl-group.com umgestellt wurde. =20 =20 Dies bedeutet, dass die bisherige Adresse Kur...@ge... = durch die neue Adresse Kur...@gl... ersetzt wird. Die = Homepage des GL ist kuenftig ueber die Adresse 'http://www.gl-group.com' = aufrufbar. Die bisher verwendeten Adressen bleiben f=FCr eine = Uebergangsfrist erreichbar. =20 =20 ****************************************************=20 =20 Please notice: We would like to inform you that the e-mail address of = Germanischer Lloyd as well as our internet address had been changed to = gl-group.com with effect from 1st March 2003. =20 =20 This means that the previous address sho...@ge... will be = replaced by sho...@gl.... From now on the GL homepage can be = accessed at the address 'http://www.gl-group.com'. The old addresses = remain valid for a transitional period. =20 =20 =20 **************************************************** =20 =20 =20 =20 This e-mail contains confidential information for the exclusive = attention of the intended addressee. Any access of third parties to this = e-mail is unauthorised. Any use of this e-mail by unintended recipients = such as 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. =20 =20 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.=20 =20 =20 |
From: <ho...@gl...> - 2003-03-18 10:40:28
|
Hello, I am trying to freeze a program using the McMillan Installer version 5, alpha 1. The program has to use Numeric and numarray in parallell. But the generated executable just gives a segmentation fault. Here' what I get: >cat aa.py import Numeric as N print "AA" import numarray as n print "BB" print N.arange(19) print n.arange(19) >python -OO ~/work/Installer/Makespec.py --name aaa aa.py ... >python -OO ~/work/Installer/Build.py aaa.spec ... >./distaaa/aaa Adding parser accelerators ... Done. AA Segmentation fault (core dumped) >python aa.py Adding parser accelerators ... Done. AA BB [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18] [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18] [23388 refs] gdb gives: >gdb distaaa/aaa core GNU gdb 5.2.1 Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you = are welcome to change it and/or distribute copies of it under certain = conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for = details. This GDB was configured as "i686-pc-linux-gnu"... Core was generated by `./distaaa/aaa'. Program terminated with signal 11, Segmentation fault. Reading symbols from /lib/libdl.so.2...done. Loaded symbols for /lib/libdl.so.2 Reading symbols from /lib/libpthread.so.0...done. Loaded symbols for /lib/libpthread.so.0 Reading symbols from /lib/libutil.so.1...done. Loaded symbols for /lib/libutil.so.1 Reading symbols from /lib/libm.so.6...done. Loaded symbols for /lib/libm.so.6 Reading symbols from /lib/libz.so.1...done. Loaded symbols for /lib/libz.so.1 Reading symbols from /lib/libc.so.6...done. Loaded symbols for /lib/libc.so.6 Reading symbols from /lib/ld-linux.so.2...done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from ./distaaa/struct.so...done. Loaded symbols for ./distaaa/struct.so Reading symbols from ./distaaa/zlib.so...done. Loaded symbols for ./distaaa/zlib.so Reading symbols from ./distaaa/_codecs.so...done. Loaded symbols for ./distaaa/_codecs.so Reading symbols from ./distaaa/multiarray.so...done. Loaded symbols for ./distaaa/multiarray.so Reading symbols from ./distaaa/_numpy.so...done. Loaded symbols for ./distaaa/_numpy.so Reading symbols from ./distaaa/umath.so...done. Loaded symbols for ./distaaa/umath.so Reading symbols from ./distaaa/strop.so...done. Loaded symbols for ./distaaa/strop.so Reading symbols from ./distaaa/math.so...done. Loaded symbols for ./distaaa/math.so Reading symbols from ./distaaa/cStringIO.so...done. Loaded symbols for ./distaaa/cStringIO.so Reading symbols from ./distaaa/memory.so...done. Loaded symbols for ./distaaa/memory.so Reading symbols from ./distaaa/operator.so...done. Loaded symbols for ./distaaa/operator.so Reading symbols from ./distaaa/_conv.so...done. Loaded symbols for ./distaaa/_conv.so #0 0x402656ea in init_funcDict () at Src/_convmodule.c:2337 ---Type <return> to continue, or q <return> to quit--- 2337 NA_add_cfunc(dict, "('Bool', 'asPyValue')", (void *) = &BoolasPyValue_descr); I get this with Python 2.2.1, Numeric 21.0, numarray 0.4 as well as with Python 2.2.2, Numeric 22.0, numarray 0.4, both under Linux. Is there any fix or workarround? Thanks Berthold --=20 Dipl.-Ing. Berthold H=F6llmann __ Address: ho...@GL... G / \ L Germanischer Lloyd phone: +49-40-36149-7374 -+----+- Vorsetzen 32/35 P.O.Box 111606 fax : +49-40-36149-7320 \__/ D-20459 Hamburg D-20416 Hamburg =20 =20 =20 =20 **************************************************** =20 =20 Beachten Sie: Wir moechten Sie informieren, dass die E-Mail-Adresse des = Germanischen Lloyd sowie unsere Web-Adresse mit Wirkung vom 1. Maerz = 2003 auf den Namen gl-group.com umgestellt wurde. =20 =20 Dies bedeutet, dass die bisherige Adresse Kur...@ge... = durch die neue Adresse Kur...@gl... ersetzt wird. Die = Homepage des GL ist kuenftig ueber die Adresse 'http://www.gl-group.com' = aufrufbar. Die bisher verwendeten Adressen bleiben f=FCr eine = Uebergangsfrist erreichbar. =20 =20 ****************************************************=20 =20 Please notice: We would like to inform you that the e-mail address of = Germanischer Lloyd as well as our internet address had been changed to = gl-group.com with effect from 1st March 2003. =20 =20 This means that the previous address sho...@ge... will be = replaced by sho...@gl.... From now on the GL homepage can be = accessed at the address 'http://www.gl-group.com'. The old addresses = remain valid for a transitional period. =20 =20 =20 **************************************************** =20 =20 =20 =20 This e-mail contains confidential information for the exclusive = attention of the intended addressee. Any access of third parties to this = e-mail is unauthorised. Any use of this e-mail by unintended recipients = such as 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. =20 =20 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.=20 =20 =20 |
From: <ho...@gl...> - 2003-03-18 10:35:58
|
Hello, I am trying to convert a larger project of ours from Numeric to numarray under some time pressure. One stumbling point is that numarray does not support the Numeric "PyObject" typecode for arrays. I am mapping some kind or database structure to Numeric arrays and am using PyObject arrays for storing String columns for consistency with the numeric columns. How would this be solved with numarray? Example: >python Python 2.2.1 (#1, Dec 13 2002, 10:37:32)=20 [GCC 3.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import Numeric as N >>> a=3DN.zeros(3, N.PyObject) >>> a[:] =3D ['abc', 'def', 'ghi'] >>> a array([abc , def , ghi ],'O') Thanks Berthold --=20 Dipl.-Ing. Berthold H=F6llmann __ Address: ho...@GL... G / \ L Germanischer Lloyd phone: +49-40-36149-7374 -+----+- Vorsetzen 32/35 P.O.Box 111606 fax : +49-40-36149-7320 \__/ D-20459 Hamburg D-20416 Hamburg =20 =20 =20 =20 **************************************************** =20 =20 Beachten Sie: Wir moechten Sie informieren, dass die E-Mail-Adresse des = Germanischen Lloyd sowie unsere Web-Adresse mit Wirkung vom 1. Maerz = 2003 auf den Namen gl-group.com umgestellt wurde. =20 =20 Dies bedeutet, dass die bisherige Adresse Kur...@ge... = durch die neue Adresse Kur...@gl... ersetzt wird. Die = Homepage des GL ist kuenftig ueber die Adresse 'http://www.gl-group.com' = aufrufbar. Die bisher verwendeten Adressen bleiben f=FCr eine = Uebergangsfrist erreichbar. =20 =20 ****************************************************=20 =20 Please notice: We would like to inform you that the e-mail address of = Germanischer Lloyd as well as our internet address had been changed to = gl-group.com with effect from 1st March 2003. =20 =20 This means that the previous address sho...@ge... will be = replaced by sho...@gl.... From now on the GL homepage can be = accessed at the address 'http://www.gl-group.com'. The old addresses = remain valid for a transitional period. =20 =20 =20 **************************************************** =20 =20 =20 =20 This e-mail contains confidential information for the exclusive = attention of the intended addressee. Any access of third parties to this = e-mail is unauthorised. Any use of this e-mail by unintended recipients = such as 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. =20 =20 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.=20 =20 =20 |
From: <chr...@ph...> - 2003-03-18 08:31:25
|
Dear Konrad, >There should be a semicolon there according to my understanding of C syntax! >Check the C extension which you are compiling. It very probably defines >PY_ARRAY_UNIQUE_SYMBOL to something before including arrayobject.h. I suspect >that there is something wrong with that definition. >Konrad. According to my understanding of C there should indeed be a semicolon as well, but the C compiler gives a syntax errro warning. The first lines of my C code (which runs perfectly under Linux with gcc BTW) are as follows: #include "c:\python22\include\Python.h" #include "c:\python22\include\numeric\arrayobject.h" #define PY_ARRAY_UNIQUE_SYMBOL #include "libnumpy-access.h" static PyObject* find_minimum(PyObject *self, PyObject *args){ ........ Ok, I found the problem. Within libnumpy-access.h yet again arrayobject.h is called which causes the problem. So changing this to #include "c:\python22\include\Python.h" #include "c:\python22\include\numeric\arrayobject.h" #include "libnumpy-access.h" #define PY_ARRAY_UNIQUE_SYMBOL static PyObject* find_minimum(PyObject *self, PyObject *args){ ........ Now it works perfectly. Probably my code runs under linux anyway due to silly CR LF things which always bug multiplatform development. Kudos to Fernando Perez because his libnumpy-access files make my code a lot more readable. with best regards, Christiaan Kok |
From: Kuzminski, S. R <SKu...@Fa...> - 2003-03-17 19:18:37
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <HTML> <HEAD> <META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; = charset=3Diso-8859-1"> <META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version = 6.0.6249.1"> <TITLE>Masked arrays in C extensions</TITLE> </HEAD> <BODY> <!-- Converted from text/rtf format --> <P><FONT SIZE=3D2 FACE=3D"Arial">Hi,</FONT> </P> <P><FONT SIZE=3D2 FACE=3D"Arial">I'm writing a C exenstion which uses = Masked Arrays. Since a MA isn't a 'PyArray_Type', the = PyArray_Check macro returns false, regular arrays work fine. ( = from a SWIG typemap here )</FONT></P> <P><FONT SIZE=3D2 FACE=3D"Arial">if (!PyArray_Check($input)) {</FONT> <BR><FONT SIZE=3D2 FACE=3D"Arial"> = PyErr_SetString(PyExc_TypeError,"$1 is not a Numeric = Array");</FONT> <BR><FONT SIZE=3D2 FACE=3D"Arial"> return NULL;</FONT> <BR><FONT SIZE=3D2 FACE=3D"Arial"> }</FONT> </P> <P><FONT SIZE=3D2 FACE=3D"Arial">My question is how do I deal with = Masked Arrays differently than regular Array in the C code? Any = sample code would be greatly appreciated!</FONT></P> <P><FONT SIZE=3D2 FACE=3D"Arial">thanks,</FONT> <BR><FONT SIZE=3D2 FACE=3D"Arial">Stefan Kuzminski</FONT> </P> <P><FONT SIZE=3D2 FACE=3D"Arial">P.S. this is Python2.2, = Numeric-22</FONT> </P> </BODY> </HTML> |