Age | Commit message (Collapse) | Author |
|
This is really old school, but a lot of times we have users sending us
copy pasting of codes, and that is the only way to know the version of
the code.
|
|
This is mostly a long term maintenance improvement.
Many coding styles require elimination of trailing whitespace, and
many editors and source code management configurations automatically
gobble up whitespace. When these tools gobble up whitespace, it
complicates reviewing the meaningful code changes.
By removing whitespace on one patch, it makes future
code reviews much easier.
=SCRIPT====================================================================
if which tempfile &>/dev/null; then
TEMPMAKER=tempfile
elif which mktemp &>/dev/null; then
TEMPMAKER=mktemp
else
echo "Cannot find tempfile program." 2>&1
exit 1
fi
MYTEMP=$($TEMPMAKER)
trap 'rm -f $MYTEMP' SIGINT SIGTERM
stripit() {
echo "stripping $1"
sed 's/[ \t]*$//' "$1" > $MYTEMP
cp $MYTEMP "$1"
}
if [ $# -gt 0 ]; then
while [ "$1" != "" ]; do
stripit $1
shift
done
else
while read -t 2; do
stripit $REPLY
done
fi
rm $MYTEMP
=================================================
|
|
testing parameter L - MIN(M,N) can be 0
|
|
|
|
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.
|
|
|
|
|
|
|
|
Use \par instead of \details for section.
add a Contributors Section and a Reference Section.
Remove (some) verbatim section when not needed.
Those changes have been done by hand so I am not sure I manage to catch them all.
|
|
|
|
Now each routine should have the correct list of arguments.
This allowed to detect and fix problems in parameter description of many routines.
|
|
Doxygen html documentation
|
|
|
|
(generalization of triangle-over-square and triangle-over-triangle)
|