On Wed, May 26, 2010 at 05:42, Tamas K Papp tkpapp@gmail.com wrote:
I am using LAPACK/BLAS (ATLAS) libraries via CFFI. Recently, my tests failed, and to my surprise, the solution was to use 32-bit ints. Note that I am on a 64-bit platform, using the Ubuntu libraries, so why this happens is a mystery. But it would be great if I could detect it somehow from within Lisp.
In the particular case of LAPACK and the BLAS: the default LAPACK and BLAS should always use 32-bit ints (Fortran's INTEGER type, a.k.a. "INTEGER(4)"). There are versions of both libraries that use 64-bit ints ("INTEGER(8)"), but the system should always identify them specially: either as separate, differently named libraries, or as differently named functions within the same library. (I've seen both possibilities.)
In general: Of course it would be nicer to be able to do everything in Lisp, but have you taken a look at CMake's CheckTypeSize module?
http://www.cmake.org/cmake/help/cmake-2-8-docs.html#module:CheckTypeSize
mfh