[SciPy-dev] more 64 Bit testing

Travis Oliphant oliphant.travis at ieee.org
Thu Dec 8 06:19:29 EST 2005


Arnd Baecker wrote:

>It seems that nested functions  are not in the C99 standard
>and some people have a strong opinion on them
>http://lkml.org/lkml/2004/5/12/248
>(no I did not google for negative statements, but just wanted
>to learn about how widespread nested functions are ...;-).
>  
>
I think we should try to avoid nested functions and I'm glad David 
removed them.

>>There are only a few incompatibilities in icc and gcc but that
>>
>>Presently I see three problems
>>a) the NAN stuff for cephes
>>    
>>
I think this one can be fixed with the right configuration settings.  
Notice in cephes/const.c there is already
a bit-field definition of NAN and the only way 1.0/0.0 gets tried is if 
UNK is defined.  So, we need to fix-up the cephes setup.py file or 
mconf.h to define the right constants.

>>b) the dfitpackmodule problem above
>>    
>>
Looks like that one is fixed already (thanks David...)

>>c) the bunch of test failures
>>    
>>
I would like to get to the bottom of these, eventually....  Perhaps its 
just a matter of not doing arithmetic on void * pointers.  The gcc 
default might be different than the icc default (although I would expect 
that to give a segfault and not just give numerical errors).   Or, there 
might be some other subtlety that's been over-looked. 

Ideally, of course, scipy core should compile and work with a 
wide-variety of compilers. 

I've just fixed up the records.py module (I think there is some very 
cool functionality that came out of that endeavor) and presently I'm 
working on speeding up the ufunc loop in the BUFFERED case (to avoid all 
the unnecessary copying that is going on and was definitely slowing down 
the klein test unnecessarily).   I have the new algorithm coded but now 
need to get all the bugs out of it.    I'm anxious to see if the new 
approach improves the scipy times in Gerard's klein test (I also fixed 
up the LONG_remainder function to not use floating-point unless there is 
a mismatch in sign --- when C's % and Python's % don't agree).    But, 
all of this will have to wait until after I give the final to my linear 
algebra students later today...


-Travis





More information about the SciPy-Dev mailing list