Open discussion regarding features, bugs, issues, vendors, etc.


Postby kdallen » Sun Mar 25, 2007 10:42 pm

ZCGESV (as well as other routines) call ZLANGE( NORM, M, N, A, LDA, WORK ) where WORK is a DOUBLE PRECISION work array.

In the case of ZCGESV though, the work array used in the call to ZLANGE is COMPLEX, causing a compiler warning.

Is there an error in ZCGESV?
Posts: 39
Joined: Sun Jan 28, 2007 12:48 am

Postby Julien Langou » Mon Mar 26, 2007 9:48 am


yes we have observed the same warning recently. This was with the Intel Fortran
compiler + all the flags on (Julie might be able give the exact flags). It turns out that the
compiler managed to check the interface of ZLANGE while compiling ZCGESV, and so
complained since ZCGESV is calling ZLANGE with a COMPLEX*16 WORK array instead


ZLANGE is used in ZCGESV once, with the argument 'I' so we really need to provide an
array of DOUBLE PRECISION of size N and, well we provide the DOUBLE COMPLEX
WORK array that is at this point in the routine unused and large enough.

Since we already have in the interface two WORK arrays (mainly for strong typing of the Fortran language), we were not willing to have a third one which would:
- overload the interface
- overload the memory requirement of the routine.

If someone sees a way to avoid this warning, let me know. But technically it is safe and
we know what we are doing.

Note as well that the interface might change as written in the header, so, well, if there is
comments or suggestion, send them out.

Thanks to report the warning,
Julien Langou
Posts: 835
Joined: Thu Dec 09, 2004 12:32 pm
Location: Denver, CO, USA

Return to User Discussion

Who is online

Users browsing this forum: No registered users and 8 guests