Commit Graph
114 Commits
Author SHA1 Message Date
H. Vetinari cc04b61950 Follow-up to #434 & #409: add missing 'const' in signatures
Based on how the surrounding functions in lapack.h are handling the
parameters, particularly the ?ggsv?3-variants of the affected functions
2020-09-03 11:37:37 +02:00
H. Vetinari d470f435d2 Follow-up to #434 & #409: fix signature mismatches 2020-09-02 22:42:23 +02:00
H. Vetinari d168b4d2ae Fix some minor inconsistencies in LAPACK(E)_[cz]gesvdq
For LAPACKE_cgesvdq, align datatype of `rwork` with lapacke.h and callsite
in LAPACKE_cgesvdq_work; both of the latter use `float* rwork`, so there's
no need to calculate with doubles that only get downcast anyway.

Similarly, make the signature of lapacke_zgesvdq_work consistent across
lapack.h (modified here), the fortran side and lapacke_zgesvdq_work, see:
https://github.com/Reference-LAPACK/lapack/blob/v3.9.0/LAPACKE/src/lapacke_zgesvdq_work.c#L42
https://github.com/Reference-LAPACK/lapack/blob/v3.9.0/SRC/zgesvdq.f#L422
2020-09-02 20:39:29 +02:00
Martin Kroeker 14740d3aa3 Correct prototypes for LAPACK_?ggsvd and LAPACK_?ggsvp 2020-09-01 11:12:56 +02:00
Sébastien Villemot 87536aa3c8 Restore missing prototypes for deprecated LAPACK functions
Some LAPACK functions prototypes were inadvertedly dropped in 3.9.0. As a
consequence, LAPACKE has several unresolved symbols.

Closes #365
2019-11-23 12:22:20 +01:00
Rao Garimella bf6788f4c4 Install lapack.h as well 2019-04-05 09:10:01 -06:00
julielangou 49d96839bc Merge pull request #304 from julielangou/master
LAPACKE routines for xgesvdq
2018-11-12 11:48:31 -08:00
Julie bed9d0a3ff LAPCAKE routines for xgesvdq
First try  - there is some rework to do on all those job options and the transpose.
2018-11-12 11:42:15 -08:00
Mark Gates 713191d0b0 add gesvdq prototypes 2018-11-12 12:17:11 -05:00
Mark Gates b03dd2011d Split lapack.h out of lapacke.h. Add const for inputs. Body of lapack.h generated by LAPACK++ tools/header_gen.py. 2018-11-08 23:15:43 -05:00
Mark Gates e31e6ca0b4 lapacke sytrs2: A is in,out; drop const 2018-11-06 23:26:01 -05:00
Mark Gates 9b2bdf0b77 lapacke hegst: B is in,out; drop const 2018-11-06 23:26:01 -05:00
Julie ffa77bcd08 LAPACKE Aasen 2 stage... 2017-11-11 23:43:52 -08:00
guozhong.zhuang abd2c6ddd3 merge kbergstorm's change to branch 2017-07-10 10:54:09 -07:00
guozhong.zhuang f4df9aa3de clean up 2017-06-26 14:50:36 -07:00
guozhong.zhuang 18518c8d99 rename nancheck API w/o _flag and refactoring (code formating) 2017-06-07 13:32:30 -07:00
guozhong.zhuang 7ccf814249 move nancheck set/get APIs to public interface 2017-06-06 15:50:51 -07:00
guozhong.zhuang 28d0d42300 Add APIs to turn on/off nancheck 2017-06-06 15:09:27 -07:00
Julien Langou 8ca6cfda54 Fix #115 2017-02-09 15:03:38 +01:00
eugene.chereshnev 8836d8fbea Remove tabs and trailing spaces (git diff -w prints nothing) 2017-02-03 18:47:04 -08:00
Julie c593321a39 Adding 2stage to LAPACKE 2016-12-17 16:19:25 -08:00
eugene.chereshnev 5143bb56b2 Add lapacke interfaces for ?getsls 2016-12-13 22:29:23 -08:00
eugene.chereshnev d6b3d2f595 Add lapacke interfaces for ?geqr, ?gelq, ?gemqr and ?gemlq 2016-12-13 22:29:21 -08:00
Julie f8512a0e4a Adding [SY/HE]CON_3 to LAPACKE 2016-12-10 20:02:08 -08:00
Julie ed8d6049bf Adding [SY/HE]TRI_3 to LAPACKE 2016-12-10 19:27:45 -08:00
Julie a3f8f18f8d Adding [SY/HE]TRF_RK to LAPACKE 2016-12-10 18:33:17 -08:00
Julie b3ba42101c Adding [SY/HE]SV_RK to LAPACKE 2016-12-10 18:01:36 -08:00
Julie 659ce0415e Adding [SY/HE]TRS_3 to LAPACKE 2016-12-10 17:27:26 -08:00
cmoha 9cc31ef780 fix #4 2016-12-06 18:11:54 +02:00
Julie 490e38c0fb Adding complex symmetric Aasen routines to LAPACKE 2016-12-03 17:56:42 -08:00
Julie 3f23bd5d53 merging: Various cleanups to makefiles #84
Contribution by @turboencabulator
Closing #84
2016-11-25 17:03:13 -08:00
Julie 857e368033 Name change for Aasen in LAPACKE plus adding TRS_AA 2016-11-11 01:02:56 -06:00
Julie 1264ec40a7 Aasen sv and trs in LAPACKE 2016-11-03 23:13:11 -07:00
Hans Johnson b1e0d47edc STYLE: Convert CMake-language commands to lower case
Ancient CMake versions required upper-case commands.  Later command
names became case-insensitive.  Now the preferred style is lower-case.

Run the following shell code:
NOTE: MUST USE GNU compliant version of sed

cmake --help-command-list \
| grep -v "cmake version" \
| while read c; do
    echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
  done >convert.sed \
&& git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' \
   | xargs -0 gsed -i -f convert.sed \
&& rm convert.sed
2016-07-10 14:37:46 -05:00
Hans Johnson 78d32fd2a6 STYLE: Remove trailing whitespace in C files
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
=================================================
2016-07-09 10:53:07 -05:00
Hans Johnson 2cf2448324 COMP: Improve introspection and header configuration
Use CMake capabilities to test if the specified fortran
and C compilers are compatible.  Fail early if they are
determined to be incompatible.

Use CMake capabilities to generate platform specific
header files, If CMake FortranCInterface_HEADER function
fails to identify FortranCInterface_GLOBAL_FOUND or
FortranCInterface_MODULE_FOUND, then fall back to the
statically generated file that is used by Makefiles.
2016-07-05 16:08:43 -05:00
Hans Johnson 9dd0968b21 STYLE: Change source template files to .in extension
The cblas_mangling_with_flags.h and lapacke_mangling_with_flags.h
are template files that are not used directly.  They need to be
configured (i.e. copied) to lapacke_mangling.h and cblas_mangling.h
header files that are used.  These renamings make the intent of
these files more clearly reported.

The file LAPACKE/include/lapacke_mangling.h should not be stored in the
repository because it should be generated (copied from above) at build
time.
2016-07-04 17:35:05 -05:00
Julie 5efe359948 Update date, version for 3.6.1 release 2016-06-18 13:26:30 -07:00
Julie c497f0ffe4 Adding *trevc3 routines to CMakefile.txt file + fix lapacke.h 2016-06-18 11:59:54 -07:00
Julie b80f3e462a Fix *syswapr definition
From compiler warning.
2016-06-18 11:31:54 -07:00
julie 3c7e60578b lapacke.h remove extra comma (one more) 2016-02-26 15:08:55 +00:00
julie e1a0877f47 remove extra comma 2016-02-26 06:05:04 +00:00
julie 9a19b59b1e APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)
[PATCH 38/42] Fix lapacke_???swapr* - missing parameter lda, and more

- lda should not be missed
- a has leading dimension lda, not n
- a_t has leading dimension lda_t, not n
2016-02-23 06:09:01 +00:00
julie c5817e7184 APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)
!!! NOT APPLYING PATCH [PATCH 36/42] !!! Fix lapacke_?syconv - parameter work is not part of hi-level interface
See revision 1609 | langou | 2015-10-28 22:06:14 -0700 (Wed, 28 Oct 2015) 
"In ?syconv, replace the variable name WORK by the variable name E.  E is the
standard way to name the supdiagonal/subdiagonal of a symmetric tridiagonal
matrix.  Also, E (previously WORK) is of size N-1, not N. So correct this in
the comment."

Updated LAPACKE with new parameter name.
2016-02-23 05:59:45 +00:00
julie 0bcfce3e67 [PATCH 35/42] Fix lapacke_ilaver - [out] parameters shall be not const 2016-02-23 05:46:46 +00:00
julie c466d1e6d3 APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)
[PATCH 34/42] Fix lapacke_?sytri2 - work is real, not complex
2016-02-23 05:46:10 +00:00
julie 4d41972a41 APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)
[PATCH 33/42] Fix lapacke_?bdsvdx - vl,vu are real; ns must be passed by ref

- vl and vu are real kind
- ns is [out] and must be passed by reference
- lwork must be at least 1
- e is n-1 array
- ldz should be compared to ncols_z for r-major case
2016-02-23 05:45:11 +00:00
julie e5f4edc241 APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)
[PATCH 32/42] Fix lapacke_?{un,or}csd2by1 - theta is real, and use ld*_t

- theta is real, not complex
- use ld*_t for calling LAPACK in row-major case, not ld*
2016-02-23 05:43:51 +00:00
julie ec4cd1e840 APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)
[PATCH 31/42] Fix lapacke_?tprfb - parameter work is not 'const'
2016-02-23 05:42:48 +00:00
julie 6a50bacdff APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)
[PATCH 27/42] Fix lapacke_?gesvdx* - NS is reference; VU, VL are real; ...

- NS must be passed by ref
- VU and VL shall be real, not integer
- LWORK must be at least 1, even for N=0
- correct allocation of WORK, JOBU/JOBVT cannot be 'A' or 'S'
- nrows/ncols = max(...,0), zero is possible, negatives are not

fixup lapacke_?gesvdx
2016-02-23 05:39:23 +00:00