diff options
author | julie <julielangou@users.noreply.github.com> | 2013-11-17 00:01:25 +0000 |
---|---|---|
committer | julie <julielangou@users.noreply.github.com> | 2013-11-17 00:01:25 +0000 |
commit | 1b0d1a35823660f0c4340a985a01bbb705b2be24 (patch) | |
tree | ae90121c2b7d18ff5754054f2bf09e47b83a05f7 /lapacke | |
parent | 6159678a506a95f2d5442c3876c32c7e12b710b3 (diff) | |
download | lapack-1b0d1a35823660f0c4340a985a01bbb705b2be24.tar.gz lapack-1b0d1a35823660f0c4340a985a01bbb705b2be24.tar.bz2 lapack-1b0d1a35823660f0c4340a985a01bbb705b2be24.zip |
Patch provided by Lawrence Mulholland from Nag on Nov 1st 2013
Email below:
============
I have been incorporating some routines into the NAG Library,
which means some automatic code translation and writing some
example and test programs.
The routines I have been adding are:
?geqrt, ?gemqrt, ?tpqrt, ?tpmqrt, ?orcsd, ?uncsd
At the end of this message I will give you my current svn status
and svn diff for consideration and approval before I commit.
In each case, when testing immediate exits, my tests failed because
constraints were mutually exclusive for the immediate return case.
I have already committed changes to the constraints for some of
the above to allow immediate exit.
I have completed this for the remainder of this set.
Less importantly, there are things in the code that trip up a checking
compiler:
a) an
IF ( clause1(i) .AND. clause2(array(i)) ) THEN
where array(i) is either not initialized or is out of bounds if
clause1(i) is .FALSE.
This is wrong since a Fortran compiler is at liberty to test clause2 first.
In my changes this has been split into two as best suits the case.
b) an
CALL SUB (i, array(N-i+2))
with i = 1 and array(N+1) either not initialized or out of bounds, but
internally array(N+1) is not referenced.
In this case I don't think the Fortran standard is clear, but it trips up the
nagfor compiler with checking on. So in the NAG incorporated versions
of Lapack routines such calls are protected and/or
a special i=1 call is made.
The changes I want to commit also do this.
c) workspace queries passing zero instead of array references
e.g.
lwork = -1
call barf(n,m,0,0,0,0,0,-1,info)
a checking compiler won't like this.
I have changed cases like this to pass available arrays of sufficient size
and the right shape in place of the zeros.
Diffstat (limited to 'lapacke')
0 files changed, 0 insertions, 0 deletions