We were talking about Fortran. I do not know about Fortran90. Lapack is definitely Fortran77 and is compiled as such. In any case I would recommend linking against cblas and clapack, the C bindings that are also available for the most useful libraries -- atlas, Intel's, IBM's. There is no ambiguity there.
Juanjo On Mon, Jun 7, 2010 at 8:38 PM, Martin Simmons <mar...@lispworks.com> wrote: > >>>>> On Mon, 7 Jun 2010 11:12:47 -0600, Mark Hoemmen said: > > > > On Mon, Jun 7, 2010 at 10:56, Martin Simmons <mar...@lispworks.com> > wrote: > > >>>>>> On Sat, 5 Jun 2010 16:12:58 +0200, Juan Jose Garcia-Ripoll said: > > >> > > >> CHARACTERs in Fortran are just pointers of type char*, just like in C, > and > > >> just like any other fortran array. There is no terminating null and > the > > >> fortran functions get the length either from some argument or because > they > > >> assume a given size (for instance in Lapack it is a one-character > string > > >> what the function expects) > > > > > > Are you sure about? I think the lengths are passed as implicit > arguments at > > > the end of the argumwnt list. > > > > Not on any Fortran compilers I've seen, at least when dealing with > > LAPACK. Replacing CHARACTER*(*) with "char* const" when calling > > LAPACK routines that take CHARACTER*(*) arguments works perfectly fine > > with all the Fortran compilers I've encountered (e.g., gfortran, Intel > > Fortran compiler, IBM's xlf). > > Maybe LAPACK is compiled with options that make this work (or nothing looks > at > the length arguments), but when I compile the code below with gfortran it > clearly passes the string lengths 4 and 3 as extra arguments. > > INTEGER FUNCTION ILAENV( NAME , NN ) > CHARACTER*( * ) NAME, NN > ILAENV = ICHAR( NAME( 1: 1 ) ) > RETURN > END > > INTEGER FUNCTION ZZZ( ) > ZZZ = ILAENV("fooo", "bar") > RETURN > END > > > movl $3, %ecx > movl $4, %edx > movl $.LC0, %esi > movl $.LC1, %edi > call ilaenv_ > > > -- > Martin Simmons > LispWorks Ltd > http://www.lispworks.com/ > > _______________________________________________ > cffi-devel mailing list > cffi-devel@common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel > -- Instituto de FĂsica Fundamental, CSIC c/ Serrano, 113b, Madrid 28006 (Spain) http://tream.dreamhosters.com
_______________________________________________ cffi-devel mailing list cffi-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel