octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 2.9.12 (2.9.13) chol broken with --enable-64?


From: John W. Eaton
Subject: Re: 2.9.12 (2.9.13) chol broken with --enable-64?
Date: Sat, 11 Aug 2007 22:09:23 -0400

On 11-Aug-2007, Fredrik Lingvall wrote:

|  From gcc's man page:
| 
| `-m32'
| `-m64'
|      Generate code for a 32-bit or 64-bit environment.  The 32-bit
|      environment sets int, long and pointer to 32 bits and generates
|      code that runs on any i386 system.  The 64-bit environment sets
|      int to 32 bits and long and pointer to 64 bits and generates code
|      for AMD's x86-64 architecture.

That doesn't make ints 8 bytes wide (nor is that what you probably
want for the C++ parts of Octave).

|  From what I can see (in the liboctave/dbleCHOL.cc), octave's chol and 
| cholinv also uses dpotrf_(....) and 
| dpotri_(...).  I have assumed,
| 
| extern "C" void dpotrf_(const char *UPLO, const int *N,
|             const double *A, const int *lda,
|             const int *info);
| 
| extern "C" void dpotri_(const char *UPLO, const int *N,
|             const double *A, const int *lda,
|             const int *info);
| 
| that is, N and lda are int's. Perhaps, they should be long's instead? 

Yes, probably.  Octave uses the typedef octave_idx_type to handle this
so that configure can choose an appropriate type.

| Or, maybe the gfortan
| option -fdefault-integer-8 should be used when compiling LAPACK?

Yes.

jwe


reply via email to

[Prev in Thread] Current Thread [Next in Thread]