@@ -270,6 +270,7 @@ endif | |||
ifeq ($(BUILD_LAPACK_DEPRECATED), 1) | |||
-@echo "BUILD_DEPRECATED = 1" >> $(NETLIB_LAPACK_DIR)/make.inc | |||
endif | |||
-@echo "LAPACKE_WITH_TMG = 1" >> $(NETLIB_LAPACK_DIR)/make.inc | |||
-@cat make.inc >> $(NETLIB_LAPACK_DIR)/make.inc | |||
endif | |||
@@ -159,7 +159,7 @@ | |||
ilaenv, ieeeck, lsamen, iparmq, | |||
ilaprec, ilatrans, ilauplo, iladiag, | |||
ilaver, slamch, slamc3, | |||
# SCLAUX -- Auxiliary routines called from both REAL and COMPLEX. | |||
# excluded: second_$(TIMER) | |||
sbdsdc, | |||
@@ -815,6 +815,28 @@ | |||
sladiv1, | |||
dladiv1, | |||
iparam2stage, | |||
# functions added for lapack-3.8.0 | |||
ilaenv2stage, | |||
ssysv_aa_2stage, | |||
ssytrf_aa_2stage, | |||
ssytrs_aa_2stage, | |||
chesv_aa_2stage, | |||
chetrf_aa_2stage, | |||
chetrs_aa_2stage, | |||
csysv_aa_2stage, | |||
csytrf_aa_2stage, | |||
csytrs_aa_2stage, | |||
dsysv_aa_2stage, | |||
dsytrf_aa_2stage, | |||
dsytrs_aa_2stage, | |||
zhesv_aa_2stage, | |||
zhetrf_aa_2stage, | |||
zhetrs_aa_2stage, | |||
zsysv_aa_2stage, | |||
zsytrf_aa_2stage, | |||
zsytrs_aa_2stage | |||
); | |||
@lapack_extendedprecision_objs = ( | |||
@@ -3211,9 +3233,14 @@ | |||
LAPACKE_zuncsd2by1_work, | |||
## new function from lapack-3.7.0 | |||
LAPACKE_cgelq, | |||
LAPACKE_cgelq_work, | |||
LAPACKE_cgemlq, | |||
LAPACKE_cgemlq_work, | |||
LAPACKE_cgemqr, | |||
LAPACKE_cgemqr_work, | |||
LAPACKE_cgeqr, | |||
LAPACKE_cgeqr_work, | |||
LAPACKE_cgetsls, | |||
LAPACKE_cgetsls_work, | |||
LAPACKE_chbev_2stage, | |||
@@ -3264,8 +3291,14 @@ | |||
LAPACKE_csytrs_aa_work, | |||
LAPACKE_csytrs_3, | |||
LAPACKE_csytrs_3_work, | |||
LAPACKE_dgelq, | |||
LAPACKE_dgelq_work, | |||
LAPACKE_dgemlq, | |||
LAPACKE_dgemlq_work, | |||
LAPACKE_dgemqr, | |||
LAPACKE_dgemqr_work, | |||
LAPACKE_dgeqr, | |||
LAPACKE_dgeqr_work, | |||
LAPACKE_dgetsls, | |||
LAPACKE_dgetsls_work, | |||
LAPACKE_dsbev_2stage, | |||
@@ -3300,8 +3333,14 @@ | |||
LAPACKE_dsytrs_aa_work, | |||
LAPACKE_dsytrs_3, | |||
LAPACKE_dsytrs_3_work, | |||
LAPACKE_sgelq, | |||
LAPACKE_sgelq_work, | |||
LAPACKE_sgemlq, | |||
LAPACKE_sgemlq_work, | |||
LAPACKE_sgemqr, | |||
LAPACKE_sgemqr_work, | |||
LAPACKE_sgeqr, | |||
LAPACKE_sgeqr_work, | |||
LAPACKE_sgetsls, | |||
LAPACKE_sgetsls_work, | |||
LAPACKE_ssbev_2stage, | |||
@@ -3336,8 +3375,14 @@ | |||
LAPACKE_ssytrs_aa_work, | |||
LAPACKE_ssytrs_3, | |||
LAPACKE_ssytrs_3_work, | |||
LAPACKE_zgelq, | |||
LAPACKE_zgelq_work, | |||
LAPACKE_zgemlq, | |||
LAPACKE_zgemlq_work, | |||
LAPACKE_zgemqr, | |||
LAPACKE_zgemqr_work, | |||
LAPACKE_zgeqr, | |||
LAPACKE_zgeqr_work, | |||
LAPACKE_zgetsls, | |||
LAPACKE_zgetsls_work, | |||
LAPACKE_zhbev_2stage, | |||
@@ -3388,6 +3433,68 @@ | |||
LAPACKE_zsytrs_aa_work, | |||
LAPACKE_zsytrs_3, | |||
LAPACKE_zsytrs_3_work, | |||
## new function from lapack-3.8.0 | |||
LAPACKE_chesv_aa_2stage, | |||
LAPACKE_chesv_aa_2stage_work, | |||
LAPACKE_chetrf_aa_2stage, | |||
LAPACKE_chetrf_aa_2stage_work, | |||
LAPACKE_chetrs_aa_2stage, | |||
LAPACKE_chetrs_aa_2stage_work, | |||
LAPACKE_clacrm, | |||
LAPACKE_clacrm_work, | |||
LAPACKE_clarcm, | |||
LAPACKE_clarcm_work, | |||
LAPACKE_classq, | |||
LAPACKE_classq_work, | |||
LAPACKE_csysv_aa_2stage, | |||
LAPACKE_csysv_aa_2stage_work, | |||
LAPACKE_csytrf_aa_2stage, | |||
LAPACKE_csytrf_aa_2stage_work, | |||
LAPACKE_csytrs_aa_2stage, | |||
LAPACKE_csytrs_aa_2stage_work, | |||
LAPACKE_dlassq, | |||
LAPACKE_dlassq_work, | |||
LAPACKE_dsysv_aa_2stage, | |||
LAPACKE_dsysv_aa_2stage_work, | |||
LAPACKE_dsytrf_aa_2stage, | |||
LAPACKE_dsytrf_aa_2stage_work, | |||
LAPACKE_dsytrs_aa_2stage, | |||
LAPACKE_dsytrs_aa_2stage_work, | |||
LAPACKE_get_nancheck, | |||
LAPACKE_set_nancheck, | |||
LAPACKE_slassq, | |||
LAPACKE_slassq_work, | |||
LAPACKE_ssysv_aa_2stage, | |||
LAPACKE_ssysv_aa_2stage_work, | |||
LAPACKE_ssytrf_aa_2stage, | |||
LAPACKE_ssytrf_aa_2stage_work, | |||
LAPACKE_ssytrs_aa_2stage, | |||
LAPACKE_ssytrs_aa_2stage_work, | |||
LAPACKE_zhbev_2stage, | |||
LAPACKE_zhbev_2stage_work, | |||
LAPACKE_zhbevd_2stage, | |||
LAPACKE_zhbevd_2stage_work, | |||
LAPACKE_zhbevx_2stage, | |||
LAPACKE_zhbevx_2stage_work, | |||
LAPACKE_zhesv_aa_2stage, | |||
LAPACKE_zhesv_aa_2stage_work, | |||
LAPACKE_zhetrf_aa_2stage, | |||
LAPACKE_zhetrf_aa_2stage_work, | |||
LAPACKE_zhetrs_aa_2stage, | |||
LAPACKE_zhetrs_aa_2stage_work, | |||
LAPACKE_zlacrm, | |||
LAPACKE_zlacrm_work, | |||
LAPACKE_zlarcm, | |||
LAPACKE_zlarcm_work, | |||
LAPACKE_zlassq, | |||
LAPACKE_zlassq_work, | |||
LAPACKE_zsysv_aa_2stage, | |||
LAPACKE_zsysv_aa_2stage_work, | |||
LAPACKE_zsytrf_aa_2stage, | |||
LAPACKE_zsytrf_aa_2stage_work, | |||
LAPACKE_zsytrs_aa_2stage, | |||
LAPACKE_zsytrs_aa_2stage_work, | |||
); | |||
#These function may need 2 underscores. | |||
@@ -0,0 +1,37 @@ | |||
# ignore objects and archives, anywhere in the tree. | |||
*.[oa] | |||
# test in INSTALL | |||
INSTALL/test* | |||
# local make.inc | |||
make.inc | |||
# BLAS testing | |||
BLAS/TESTING/*.out | |||
BLAS/TESTING/x* | |||
# CBLAS | |||
CBLAS/include/cblas_mangling.h | |||
# CBLAS testing | |||
CBLAS/testing/*.out | |||
CBLAS/testing/x* | |||
# CBLAS examples | |||
CBLAS/examples/cblas_ex1 | |||
CBLAS/examples/cblas_ex2 | |||
# LAPACK testing | |||
TESTING/LIN/xlintst* | |||
TESTING/EIG/xeigtst* | |||
TESTING/*.out | |||
TESTING/*.txt | |||
TESTING/x* | |||
# LAPACKE example | |||
LAPACKE/example/xexample* | |||
# SED | |||
SRC/*-e | |||
LAPACKE/src/*-e |
@@ -0,0 +1,62 @@ | |||
language: cpp | |||
addons: | |||
apt: | |||
sources: | |||
- george-edison55-precise-backports # cmake | |||
packages: | |||
- cmake | |||
- cmake-data | |||
- gfortran | |||
os: | |||
- linux | |||
- osx | |||
env: | |||
- CMAKE_BUILD_TYPE=Release | |||
- CMAKE_BUILD_TYPE=Coverage | |||
install: | |||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; | |||
then | |||
for pkg in gcc cmake; do | |||
if brew list -1 | grep -q "^${pkg}\$"; then | |||
brew outdated $pkg || brew upgrade $pkg; | |||
else | |||
brew install $pkg; | |||
fi | |||
done | |||
fi | |||
script: | |||
- export PR=https://api.github.com/repos/$TRAVIS_REPO_SLUG/pulls/$TRAVIS_PULL_REQUEST | |||
- export BRANCH=$(if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then echo $TRAVIS_BRANCH; else echo `curl -s $PR | jq -r .head.ref`; fi) | |||
- echo "TRAVIS_BRANCH=$TRAVIS_BRANCH, PR=$PR, BRANCH=$BRANCH" | |||
- export SRC_DIR=$(pwd) | |||
- export BLD_DIR=${SRC_DIR}/lapack-travis-bld | |||
- export INST_DIR=${SRC_DIR}/../lapack-travis-install | |||
- mkdir -p ${BLD_DIR} | |||
- cd ${BLD_DIR} | |||
# See issue #17 on github dashboard. Once resolved, use -DCBLAS=ON | |||
# - cmake -DCMAKE_INSTALL_PREFIX=${INST_DIR} -DLAPACKE=ON ${SRC_DIR} | |||
- cmake -DBUILDNAME:STRING="travis-${TRAVIS_OS_NAME}-${BRANCH}" | |||
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} | |||
-DCMAKE_INSTALL_PREFIX=${INST_DIR} | |||
-DCBLAS:BOOL=ON | |||
-DLAPACKE:BOOL=ON | |||
-DBUILD_TESTING=ON | |||
-DLAPACKE_WITH_TMG:BOOL=ON | |||
${SRC_DIR} | |||
- ctest -D ExperimentalStart | |||
- ctest -D ExperimentalConfigure | |||
- ctest -D ExperimentalBuild -j2 | |||
- ctest -D ExperimentalTest --schedule-random -j2 --output-on-failure --timeout 100 | |||
- ctest -D ExperimentalSubmit | |||
- make install -j2 | |||
- if [[ "$CMAKE_BUILD_TYPE" == "Coverage" ]]; | |||
then | |||
echo "Coverage"; | |||
make coverage; | |||
bash <(curl -s https://codecov.io/bash) -X gcov; | |||
fi |
@@ -1,6 +1,6 @@ | |||
add_subdirectory(SRC) | |||
if(BUILD_TESTING) | |||
add_subdirectory(TESTING) | |||
add_subdirectory(TESTING) | |||
endif() | |||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/blas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/blas.pc @ONLY) | |||
install(FILES | |||
@@ -0,0 +1,22 @@ | |||
include ../make.inc | |||
all: blas | |||
blas: | |||
$(MAKE) -C SRC | |||
blas_testing: blas | |||
$(MAKE) -C TESTING run | |||
clean: | |||
$(MAKE) -C SRC clean | |||
$(MAKE) -C TESTING clean | |||
cleanobj: | |||
$(MAKE) -C SRC cleanobj | |||
$(MAKE) -C TESTING cleanobj | |||
cleanlib: | |||
$(MAKE) -C SRC cleanlib | |||
cleanexe: | |||
$(MAKE) -C TESTING cleanexe | |||
cleantest: | |||
$(MAKE) -C TESTING cleantest |
@@ -23,39 +23,10 @@ | |||
# DBLAS3 -- Double precision real BLAS3 routines | |||
# ZBLAS3 -- Double precision complex BLAS3 routines | |||
# | |||
# The library can be set up to include routines for any combination | |||
# of the four precisions. To create or add to the library, enter make | |||
# followed by one or more of the precisions desired. Some examples: | |||
# make single | |||
# make single complex | |||
# make single double complex complex16 | |||
# Note that these commands are not safe for parallel builds. | |||
# | |||
# Alternatively, the commands | |||
# make all | |||
# or | |||
# make | |||
# without any arguments creates a library of all four precisions. | |||
# The name of the library is held in BLASLIB, which is set in the | |||
# top-level make.inc | |||
# | |||
# To remove the object files after the library is created, enter | |||
# make clean | |||
# To force the source files to be recompiled, enter, for example, | |||
# make single FRC=FRC | |||
# | |||
#--------------------------------------------------------------------- | |||
# | |||
# Edward Anderson, University of Tennessee | |||
# March 26, 1990 | |||
# Susan Ostrouchov, Last updated September 30, 1994 | |||
# ejr, May 2006. | |||
# | |||
####################################################################### | |||
#--------------------------------------------------------- | |||
# Comment out the next 6 definitions if you already have | |||
# the Level 1 BLAS. | |||
# Level 1 BLAS | |||
#--------------------------------------------------------- | |||
set(SBLAS1 isamax.f sasum.f saxpy.f scopy.f sdot.f snrm2.f | |||
srot.f srotg.f sscal.f sswap.f sdsdot.f srotmg.f srotm.f) | |||
@@ -74,15 +45,12 @@ set(CB1AUX isamax.f sasum.f saxpy.f scopy.f snrm2.f sscal.f) | |||
set(ZB1AUX idamax.f dasum.f daxpy.f dcopy.f dnrm2.f dscal.f) | |||
#--------------------------------------------------------------------- | |||
# The following line defines auxiliary routines needed by both the | |||
# Level 2 and Level 3 BLAS. Comment it out only if you already have | |||
# both the Level 2 and 3 BLAS. | |||
# Auxiliary routines needed by both the Level 2 and Level 3 BLAS | |||
#--------------------------------------------------------------------- | |||
set(ALLBLAS lsame.f xerbla.f xerbla_array.f) | |||
#--------------------------------------------------------- | |||
# Comment out the next 4 definitions if you already have | |||
# the Level 2 BLAS. | |||
# Level 2 BLAS | |||
#--------------------------------------------------------- | |||
set(SBLAS2 sgemv.f sgbmv.f ssymv.f ssbmv.f sspmv.f | |||
strmv.f stbmv.f stpmv.f strsv.f stbsv.f stpsv.f | |||
@@ -101,8 +69,7 @@ set(ZBLAS2 zgemv.f zgbmv.f zhemv.f zhbmv.f zhpmv.f | |||
zgerc.f zgeru.f zher.f zhpr.f zher2.f zhpr2.f) | |||
#--------------------------------------------------------- | |||
# Comment out the next 4 definitions if you already have | |||
# the Level 3 BLAS. | |||
# Level 3 BLAS | |||
#--------------------------------------------------------- | |||
set(SBLAS3 sgemm.f ssymm.f ssyrk.f ssyr2k.f strmm.f strsm.f) | |||
@@ -113,37 +80,27 @@ set(DBLAS3 dgemm.f dsymm.f dsyrk.f dsyr2k.f dtrmm.f dtrsm.f) | |||
set(ZBLAS3 zgemm.f zsymm.f zsyrk.f zsyr2k.f ztrmm.f ztrsm.f | |||
zhemm.f zherk.f zher2k.f) | |||
# default build all of it | |||
set(ALLOBJ ${SBLAS1} ${SBLAS2} ${SBLAS3} ${DBLAS1} ${DBLAS2} ${DBLAS3} | |||
${CBLAS1} ${CBLAS2} ${CBLAS3} ${ZBLAS1} | |||
${ZBLAS2} ${ZBLAS3} ${ALLBLAS}) | |||
if(BLAS_SINGLE) | |||
set(ALLOBJ ${SBLAS1} ${ALLBLAS} | |||
${SBLAS2} ${SBLAS3}) | |||
set(SOURCES) | |||
if(BUILD_SINGLE) | |||
list(APPEND SOURCES ${SBLAS1} ${ALLBLAS} ${SBLAS2} ${SBLAS3}) | |||
endif() | |||
if(BLAS_DOUBLE) | |||
set(ALLOBJ ${DBLAS1} ${ALLBLAS} | |||
${DBLAS2} ${DBLAS3}) | |||
if(BUILD_DOUBLE) | |||
list(APPEND SOURCES ${DBLAS1} ${ALLBLAS} ${DBLAS2} ${DBLAS3}) | |||
endif() | |||
if(BLAS_COMPLEX) | |||
set(ALLOBJ ${BLASLIB} ${CBLAS1} ${CB1AUX} | |||
${ALLBLAS} ${CBLAS2}) | |||
if(BUILD_COMPLEX) | |||
list(APPEND SOURCES ${CBLAS1} ${CB1AUX} ${ALLBLAS} ${CBLAS2} ${CBLAS3}) | |||
endif() | |||
if(BLAS_COMPLEX16) | |||
set(ALLOBJ ${BLASLIB} ${ZBLAS1} ${ZB1AUX} | |||
${ALLBLAS} ${ZBLAS2} ${ZBLAS3}) | |||
if(BUILD_COMPLEX16) | |||
list(APPEND SOURCES ${ZBLAS1} ${ZB1AUX} ${ALLBLAS} ${ZBLAS2} ${ZBLAS3}) | |||
endif() | |||
list(REMOVE_DUPLICATES SOURCES) | |||
add_library(blas ${ALLOBJ}) | |||
#if(UNIX) | |||
# target_link_libraries(blas m) | |||
#endif() | |||
add_library(blas ${SOURCES}) | |||
set_target_properties( | |||
blas PROPERTIES | |||
VERSION ${LAPACK_VERSION} | |||
SOVERSION ${LAPACK_MAJOR_VERSION} | |||
) | |||
target_link_libraries(blas) | |||
lapack_install_library(blas) |
@@ -42,7 +42,7 @@ include ../../make.inc | |||
# top-level make.inc | |||
# | |||
# To remove the object files after the library is created, enter | |||
# make clean | |||
# make cleanobj | |||
# To force the source files to be recompiled, enter, for example, | |||
# make single FRC=FRC | |||
# | |||
@@ -138,34 +138,33 @@ ALLOBJ = $(SBLAS1) $(SBLAS2) $(SBLAS3) $(DBLAS1) $(DBLAS2) $(DBLAS3) \ | |||
$(ZBLAS2) $(ZBLAS3) $(ALLBLAS) | |||
$(BLASLIB): $(ALLOBJ) | |||
$(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ) | |||
$(ARCH) $(ARCHFLAGS) $@ $^ | |||
$(RANLIB) $@ | |||
single: $(SBLAS1) $(ALLBLAS) $(SBLAS2) $(SBLAS3) | |||
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(SBLAS1) $(ALLBLAS) \ | |||
$(SBLAS2) $(SBLAS3) | |||
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $^ | |||
$(RANLIB) $(BLASLIB) | |||
double: $(DBLAS1) $(ALLBLAS) $(DBLAS2) $(DBLAS3) | |||
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(DBLAS1) $(ALLBLAS) \ | |||
$(DBLAS2) $(DBLAS3) | |||
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $^ | |||
$(RANLIB) $(BLASLIB) | |||
complex: $(CBLAS1) $(CB1AUX) $(ALLBLAS) $(CBLAS2) $(CBLAS3) | |||
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(CBLAS1) $(CB1AUX) \ | |||
$(ALLBLAS) $(CBLAS2) $(CBLAS3) | |||
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $^ | |||
$(RANLIB) $(BLASLIB) | |||
complex16: $(ZBLAS1) $(ZB1AUX) $(ALLBLAS) $(ZBLAS2) $(ZBLAS3) | |||
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(ZBLAS1) $(ZB1AUX) \ | |||
$(ALLBLAS) $(ZBLAS2) $(ZBLAS3) | |||
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $^ | |||
$(RANLIB) $(BLASLIB) | |||
FRC: | |||
@FRC=$(FRC) | |||
clean: | |||
clean: cleanobj cleanlib | |||
cleanobj: | |||
rm -f *.o | |||
cleanlib: | |||
#rm -f $(BLASLIB) # May point to a system lib, e.g. -lblas | |||
.f.o: | |||
$(FORTRAN) $(OPTS) -c -o $@ $< |
@@ -27,6 +27,43 @@ | |||
*> CAXPY constant times a vector plus a vector. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] CA | |||
*> \verbatim | |||
*> CA is COMPLEX | |||
*> On entry, CA specifies the scalar alpha. | |||
*> \endverbatim | |||
*> | |||
*> \param[in] CX | |||
*> \verbatim | |||
*> CX is COMPLEX array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of CX | |||
*> \endverbatim | |||
*> | |||
*> \param[in,out] CY | |||
*> \verbatim | |||
*> CY is COMPLEX array, dimension ( 1 + ( N - 1 )*abs( INCY ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCY | |||
*> \verbatim | |||
*> INCY is INTEGER | |||
*> storage spacing between elements of CY | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -35,7 +72,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup complex_blas_level1 | |||
* | |||
@@ -51,10 +88,10 @@ | |||
* ===================================================================== | |||
SUBROUTINE CAXPY(N,CA,CX,INCX,CY,INCY) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
COMPLEX CA | |||
@@ -26,6 +26,37 @@ | |||
*> CCOPY copies a vector x to a vector y. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] CX | |||
*> \verbatim | |||
*> CX is COMPLEX array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of CX | |||
*> \endverbatim | |||
*> | |||
*> \param[out] CY | |||
*> \verbatim | |||
*> CY is COMPLEX array, dimension ( 1 + ( N - 1 )*abs( INCY ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCY | |||
*> \verbatim | |||
*> INCY is INTEGER | |||
*> storage spacing between elements of CY | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -34,7 +65,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup complex_blas_level1 | |||
* | |||
@@ -50,10 +81,10 @@ | |||
* ===================================================================== | |||
SUBROUTINE CCOPY(N,CX,INCX,CY,INCY) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,INCY,N | |||
@@ -28,6 +28,37 @@ | |||
*> | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] CX | |||
*> \verbatim | |||
*> CX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of CX | |||
*> \endverbatim | |||
*> | |||
*> \param[in] CY | |||
*> \verbatim | |||
*> CY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCY ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCY | |||
*> \verbatim | |||
*> INCY is INTEGER | |||
*> storage spacing between elements of CY | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -36,7 +67,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup complex_blas_level1 | |||
* | |||
@@ -52,10 +83,10 @@ | |||
* ===================================================================== | |||
COMPLEX FUNCTION CDOTC(N,CX,INCX,CY,INCY) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,INCY,N | |||
@@ -28,6 +28,37 @@ | |||
*> | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] CX | |||
*> \verbatim | |||
*> CX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of CX | |||
*> \endverbatim | |||
*> | |||
*> \param[in] CY | |||
*> \verbatim | |||
*> CY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCY ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCY | |||
*> \verbatim | |||
*> INCY is INTEGER | |||
*> storage spacing between elements of CY | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -36,7 +67,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup complex_blas_level1 | |||
* | |||
@@ -52,10 +83,10 @@ | |||
* ===================================================================== | |||
COMPLEX FUNCTION CDOTU(N,CX,INCX,CY,INCY) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,INCY,N | |||
@@ -87,7 +87,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is COMPLEX array of DIMENSION ( LDA, n ). | |||
*> A is COMPLEX array, dimension ( LDA, N ) | |||
*> Before entry, the leading ( kl + ku + 1 ) by n part of the | |||
*> array A must contain the matrix of coefficients, supplied | |||
*> column by column, with the leading diagonal of the matrix in | |||
@@ -118,7 +118,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is COMPLEX array of DIMENSION at least | |||
*> X is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n' | |||
*> and at least | |||
*> ( 1 + ( m - 1 )*abs( INCX ) ) otherwise. | |||
@@ -142,7 +142,7 @@ | |||
*> | |||
*> \param[in,out] Y | |||
*> \verbatim | |||
*> Y is COMPLEX array of DIMENSION at least | |||
*> Y is COMPLEX array, dimension at least | |||
*> ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n' | |||
*> and at least | |||
*> ( 1 + ( n - 1 )*abs( INCY ) ) otherwise. | |||
@@ -97,7 +97,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is COMPLEX array of DIMENSION ( LDA, ka ), where ka is | |||
*> A is COMPLEX array, dimension ( LDA, ka ), where ka is | |||
*> k when TRANSA = 'N' or 'n', and is m otherwise. | |||
*> Before entry with TRANSA = 'N' or 'n', the leading m by k | |||
*> part of the array A must contain the matrix A, otherwise | |||
@@ -116,7 +116,7 @@ | |||
*> | |||
*> \param[in] B | |||
*> \verbatim | |||
*> B is COMPLEX array of DIMENSION ( LDB, kb ), where kb is | |||
*> B is COMPLEX array, dimension ( LDB, kb ), where kb is | |||
*> n when TRANSB = 'N' or 'n', and is k otherwise. | |||
*> Before entry with TRANSB = 'N' or 'n', the leading k by n | |||
*> part of the array B must contain the matrix B, otherwise | |||
@@ -142,7 +142,7 @@ | |||
*> | |||
*> \param[in,out] C | |||
*> \verbatim | |||
*> C is COMPLEX array of DIMENSION ( LDC, n ). | |||
*> C is COMPLEX array, dimension ( LDC, N ) | |||
*> Before entry, the leading m by n part of the array C must | |||
*> contain the matrix C, except when beta is zero, in which | |||
*> case C need not be set on entry. | |||
@@ -73,7 +73,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is COMPLEX array of DIMENSION ( LDA, n ). | |||
*> A is COMPLEX array, dimension ( LDA, N ) | |||
*> Before entry, the leading m by n part of the array A must | |||
*> contain the matrix of coefficients. | |||
*> \endverbatim | |||
@@ -88,7 +88,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is COMPLEX array of DIMENSION at least | |||
*> X is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n' | |||
*> and at least | |||
*> ( 1 + ( m - 1 )*abs( INCX ) ) otherwise. | |||
@@ -112,7 +112,7 @@ | |||
*> | |||
*> \param[in,out] Y | |||
*> \verbatim | |||
*> Y is COMPLEX array of DIMENSION at least | |||
*> Y is COMPLEX array, dimension at least | |||
*> ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n' | |||
*> and at least | |||
*> ( 1 + ( n - 1 )*abs( INCY ) ) otherwise. | |||
@@ -57,7 +57,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is COMPLEX array of dimension at least | |||
*> X is COMPLEX array, dimension at least | |||
*> ( 1 + ( m - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the m | |||
*> element vector x. | |||
@@ -72,7 +72,7 @@ | |||
*> | |||
*> \param[in] Y | |||
*> \verbatim | |||
*> Y is COMPLEX array of dimension at least | |||
*> Y is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCY ) ). | |||
*> Before entry, the incremented array Y must contain the n | |||
*> element vector y. | |||
@@ -87,7 +87,7 @@ | |||
*> | |||
*> \param[in,out] A | |||
*> \verbatim | |||
*> A is COMPLEX array of DIMENSION ( LDA, n ). | |||
*> A is COMPLEX array, dimension ( LDA, N ) | |||
*> Before entry, the leading m by n part of the array A must | |||
*> contain the matrix of coefficients. On exit, A is | |||
*> overwritten by the updated matrix. | |||
@@ -57,7 +57,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is COMPLEX array of dimension at least | |||
*> X is COMPLEX array, dimension at least | |||
*> ( 1 + ( m - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the m | |||
*> element vector x. | |||
@@ -72,7 +72,7 @@ | |||
*> | |||
*> \param[in] Y | |||
*> \verbatim | |||
*> Y is COMPLEX array of dimension at least | |||
*> Y is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCY ) ). | |||
*> Before entry, the incremented array Y must contain the n | |||
*> element vector y. | |||
@@ -87,7 +87,7 @@ | |||
*> | |||
*> \param[in,out] A | |||
*> \verbatim | |||
*> A is COMPLEX array of DIMENSION ( LDA, n ). | |||
*> A is COMPLEX array, dimension ( LDA, N ) | |||
*> Before entry, the leading m by n part of the array A must | |||
*> contain the matrix of coefficients. On exit, A is | |||
*> overwritten by the updated matrix. | |||
@@ -72,7 +72,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is COMPLEX array of DIMENSION ( LDA, n ). | |||
*> A is COMPLEX array, dimension ( LDA, N ) | |||
*> Before entry with UPLO = 'U' or 'u', the leading ( k + 1 ) | |||
*> by n part of the array A must contain the upper triangular | |||
*> band part of the hermitian matrix, supplied column by | |||
@@ -123,7 +123,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is COMPLEX array of DIMENSION at least | |||
*> X is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the | |||
*> vector x. | |||
@@ -144,7 +144,7 @@ | |||
*> | |||
*> \param[in,out] Y | |||
*> \verbatim | |||
*> Y is COMPLEX array of DIMENSION at least | |||
*> Y is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCY ) ). | |||
*> Before entry, the incremented array Y must contain the | |||
*> vector y. On exit, Y is overwritten by the updated vector y. | |||
@@ -87,7 +87,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is COMPLEX array of DIMENSION ( LDA, ka ), where ka is | |||
*> A is COMPLEX array, dimension ( LDA, ka ), where ka is | |||
*> m when SIDE = 'L' or 'l' and is n otherwise. | |||
*> Before entry with SIDE = 'L' or 'l', the m by m part of | |||
*> the array A must contain the hermitian matrix, such that | |||
@@ -124,7 +124,7 @@ | |||
*> | |||
*> \param[in] B | |||
*> \verbatim | |||
*> B is COMPLEX array of DIMENSION ( LDB, n ). | |||
*> B is COMPLEX array, dimension ( LDB, N ) | |||
*> Before entry, the leading m by n part of the array B must | |||
*> contain the matrix B. | |||
*> \endverbatim | |||
@@ -146,7 +146,7 @@ | |||
*> | |||
*> \param[in,out] C | |||
*> \verbatim | |||
*> C is COMPLEX array of DIMENSION ( LDC, n ). | |||
*> C is COMPLEX array, dimension ( LDC, N ) | |||
*> Before entry, the leading m by n part of the array C must | |||
*> contain the matrix C, except when beta is zero, in which | |||
*> case C need not be set on entry. | |||
@@ -65,7 +65,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is COMPLEX array of DIMENSION ( LDA, n ). | |||
*> A is COMPLEX array, dimension ( LDA, N ) | |||
*> Before entry with UPLO = 'U' or 'u', the leading n by n | |||
*> upper triangular part of the array A must contain the upper | |||
*> triangular part of the hermitian matrix and the strictly | |||
@@ -88,7 +88,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is COMPLEX array of dimension at least | |||
*> X is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element vector x. | |||
@@ -110,7 +110,7 @@ | |||
*> | |||
*> \param[in,out] Y | |||
*> \verbatim | |||
*> Y is COMPLEX array of dimension at least | |||
*> Y is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCY ) ). | |||
*> Before entry, the incremented array Y must contain the n | |||
*> element vector y. On exit, Y is overwritten by the updated | |||
@@ -65,7 +65,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is COMPLEX array of dimension at least | |||
*> X is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element vector x. | |||
@@ -80,7 +80,7 @@ | |||
*> | |||
*> \param[in,out] A | |||
*> \verbatim | |||
*> A is COMPLEX array of DIMENSION ( LDA, n ). | |||
*> A is COMPLEX array, dimension ( LDA, N ) | |||
*> Before entry with UPLO = 'U' or 'u', the leading n by n | |||
*> upper triangular part of the array A must contain the upper | |||
*> triangular part of the hermitian matrix and the strictly | |||
@@ -65,7 +65,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is COMPLEX array of dimension at least | |||
*> X is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element vector x. | |||
@@ -80,7 +80,7 @@ | |||
*> | |||
*> \param[in] Y | |||
*> \verbatim | |||
*> Y is COMPLEX array of dimension at least | |||
*> Y is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCY ) ). | |||
*> Before entry, the incremented array Y must contain the n | |||
*> element vector y. | |||
@@ -95,7 +95,7 @@ | |||
*> | |||
*> \param[in,out] A | |||
*> \verbatim | |||
*> A is COMPLEX array of DIMENSION ( LDA, n ). | |||
*> A is COMPLEX array, dimension ( LDA, N ) | |||
*> Before entry with UPLO = 'U' or 'u', the leading n by n | |||
*> upper triangular part of the array A must contain the upper | |||
*> triangular part of the hermitian matrix and the strictly | |||
@@ -95,7 +95,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is COMPLEX array of DIMENSION ( LDA, ka ), where ka is | |||
*> A is COMPLEX array, dimension ( LDA, ka ), where ka is | |||
*> k when TRANS = 'N' or 'n', and is n otherwise. | |||
*> Before entry with TRANS = 'N' or 'n', the leading n by k | |||
*> part of the array A must contain the matrix A, otherwise | |||
@@ -114,7 +114,7 @@ | |||
*> | |||
*> \param[in] B | |||
*> \verbatim | |||
*> B is COMPLEX array of DIMENSION ( LDB, kb ), where kb is | |||
*> B is COMPLEX array, dimension ( LDB, kb ), where kb is | |||
*> k when TRANS = 'N' or 'n', and is n otherwise. | |||
*> Before entry with TRANS = 'N' or 'n', the leading n by k | |||
*> part of the array B must contain the matrix B, otherwise | |||
@@ -139,7 +139,7 @@ | |||
*> | |||
*> \param[in,out] C | |||
*> \verbatim | |||
*> C is COMPLEX array of DIMENSION ( LDC, n ). | |||
*> C is COMPLEX array, dimension ( LDC, N ) | |||
*> Before entry with UPLO = 'U' or 'u', the leading n by n | |||
*> upper triangular part of the array C must contain the upper | |||
*> triangular part of the hermitian matrix and the strictly | |||
@@ -90,7 +90,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is COMPLEX array of DIMENSION ( LDA, ka ), where ka is | |||
*> A is COMPLEX array, dimension ( LDA, ka ), where ka is | |||
*> k when TRANS = 'N' or 'n', and is n otherwise. | |||
*> Before entry with TRANS = 'N' or 'n', the leading n by k | |||
*> part of the array A must contain the matrix A, otherwise | |||
@@ -115,7 +115,7 @@ | |||
*> | |||
*> \param[in,out] C | |||
*> \verbatim | |||
*> C is COMPLEX array of DIMENSION ( LDC, n ). | |||
*> C is COMPLEX array, dimension ( LDC, N ) | |||
*> Before entry with UPLO = 'U' or 'u', the leading n by n | |||
*> upper triangular part of the array C must contain the upper | |||
*> triangular part of the hermitian matrix and the strictly | |||
@@ -65,7 +65,7 @@ | |||
*> | |||
*> \param[in] AP | |||
*> \verbatim | |||
*> AP is COMPLEX array of DIMENSION at least | |||
*> AP is COMPLEX array, dimension at least | |||
*> ( ( n*( n + 1 ) )/2 ). | |||
*> Before entry with UPLO = 'U' or 'u', the array AP must | |||
*> contain the upper triangular part of the hermitian matrix | |||
@@ -83,7 +83,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is COMPLEX array of dimension at least | |||
*> X is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element vector x. | |||
@@ -105,7 +105,7 @@ | |||
*> | |||
*> \param[in,out] Y | |||
*> \verbatim | |||
*> Y is COMPLEX array of dimension at least | |||
*> Y is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCY ) ). | |||
*> Before entry, the incremented array Y must contain the n | |||
*> element vector y. On exit, Y is overwritten by the updated | |||
@@ -65,7 +65,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is COMPLEX array of dimension at least | |||
*> X is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element vector x. | |||
@@ -80,7 +80,7 @@ | |||
*> | |||
*> \param[in,out] AP | |||
*> \verbatim | |||
*> AP is COMPLEX array of DIMENSION at least | |||
*> AP is COMPLEX array, dimension at least | |||
*> ( ( n*( n + 1 ) )/2 ). | |||
*> Before entry with UPLO = 'U' or 'u', the array AP must | |||
*> contain the upper triangular part of the hermitian matrix | |||
@@ -65,7 +65,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is COMPLEX array of dimension at least | |||
*> X is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element vector x. | |||
@@ -80,7 +80,7 @@ | |||
*> | |||
*> \param[in] Y | |||
*> \verbatim | |||
*> Y is COMPLEX array of dimension at least | |||
*> Y is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCY ) ). | |||
*> Before entry, the incremented array Y must contain the n | |||
*> element vector y. | |||
@@ -95,7 +95,7 @@ | |||
*> | |||
*> \param[in,out] AP | |||
*> \verbatim | |||
*> AP is COMPLEX array of DIMENSION at least | |||
*> AP is COMPLEX array, dimension at least | |||
*> ( ( n*( n + 1 ) )/2 ). | |||
*> Before entry with UPLO = 'U' or 'u', the array AP must | |||
*> contain the upper triangular part of the hermitian matrix | |||
@@ -24,6 +24,29 @@ | |||
*> CROTG determines a complex Givens rotation. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] CA | |||
*> \verbatim | |||
*> CA is COMPLEX | |||
*> \endverbatim | |||
*> | |||
*> \param[in] CB | |||
*> \verbatim | |||
*> CB is COMPLEX | |||
*> \endverbatim | |||
*> | |||
*> \param[out] C | |||
*> \verbatim | |||
*> C is REAL | |||
*> \endverbatim | |||
*> | |||
*> \param[out] S | |||
*> \verbatim | |||
*> S is COMPLEX | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -32,17 +55,17 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup complex_blas_level1 | |||
* | |||
* ===================================================================== | |||
SUBROUTINE CROTG(CA,CB,C,S) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
COMPLEX CA,CB,S | |||
@@ -27,6 +27,32 @@ | |||
*> CSCAL scales a vector by a constant. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] CA | |||
*> \verbatim | |||
*> CA is COMPLEX | |||
*> On entry, CA specifies the scalar alpha. | |||
*> \endverbatim | |||
*> | |||
*> \param[in,out] CX | |||
*> \verbatim | |||
*> CX is COMPLEX array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of CX | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -35,7 +61,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup complex_blas_level1 | |||
* | |||
@@ -52,10 +78,10 @@ | |||
* ===================================================================== | |||
SUBROUTINE CSCAL(N,CA,CX,INCX) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
COMPLEX CA | |||
@@ -27,6 +27,32 @@ | |||
*> CSSCAL scales a complex vector by a real constant. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] SA | |||
*> \verbatim | |||
*> SA is REAL | |||
*> On entry, SA specifies the scalar alpha. | |||
*> \endverbatim | |||
*> | |||
*> \param[in,out] CX | |||
*> \verbatim | |||
*> CX is COMPLEX array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of CX | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -35,7 +61,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup complex_blas_level1 | |||
* | |||
@@ -52,10 +78,10 @@ | |||
* ===================================================================== | |||
SUBROUTINE CSSCAL(N,SA,CX,INCX) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
REAL SA | |||
@@ -26,6 +26,37 @@ | |||
*> CSWAP interchanges two vectors. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in,out] CX | |||
*> \verbatim | |||
*> CX is COMPLEX array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of CX | |||
*> \endverbatim | |||
*> | |||
*> \param[in,out] CY | |||
*> \verbatim | |||
*> CY is COMPLEX array, dimension ( 1 + ( N - 1 )*abs( INCY ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCY | |||
*> \verbatim | |||
*> INCY is INTEGER | |||
*> storage spacing between elements of CY | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -34,7 +65,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup complex_blas_level1 | |||
* | |||
@@ -50,10 +81,10 @@ | |||
* ===================================================================== | |||
SUBROUTINE CSWAP(N,CX,INCX,CY,INCY) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,INCY,N | |||
@@ -87,7 +87,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is COMPLEX array of DIMENSION ( LDA, ka ), where ka is | |||
*> A is COMPLEX array, dimension ( LDA, ka ), where ka is | |||
*> m when SIDE = 'L' or 'l' and is n otherwise. | |||
*> Before entry with SIDE = 'L' or 'l', the m by m part of | |||
*> the array A must contain the symmetric matrix, such that | |||
@@ -122,7 +122,7 @@ | |||
*> | |||
*> \param[in] B | |||
*> \verbatim | |||
*> B is COMPLEX array of DIMENSION ( LDB, n ). | |||
*> B is COMPLEX array, dimension ( LDB, N ) | |||
*> Before entry, the leading m by n part of the array B must | |||
*> contain the matrix B. | |||
*> \endverbatim | |||
@@ -144,7 +144,7 @@ | |||
*> | |||
*> \param[in,out] C | |||
*> \verbatim | |||
*> C is COMPLEX array of DIMENSION ( LDC, n ). | |||
*> C is COMPLEX array, dimension ( LDC, N ) | |||
*> Before entry, the leading m by n part of the array C must | |||
*> contain the matrix C, except when beta is zero, in which | |||
*> case C need not be set on entry. | |||
@@ -92,7 +92,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is COMPLEX array of DIMENSION ( LDA, ka ), where ka is | |||
*> A is COMPLEX array, dimension ( LDA, ka ), where ka is | |||
*> k when TRANS = 'N' or 'n', and is n otherwise. | |||
*> Before entry with TRANS = 'N' or 'n', the leading n by k | |||
*> part of the array A must contain the matrix A, otherwise | |||
@@ -111,7 +111,7 @@ | |||
*> | |||
*> \param[in] B | |||
*> \verbatim | |||
*> B is COMPLEX array of DIMENSION ( LDB, kb ), where kb is | |||
*> B is COMPLEX array, dimension ( LDB, kb ), where kb is | |||
*> k when TRANS = 'N' or 'n', and is n otherwise. | |||
*> Before entry with TRANS = 'N' or 'n', the leading n by k | |||
*> part of the array B must contain the matrix B, otherwise | |||
@@ -136,7 +136,7 @@ | |||
*> | |||
*> \param[in,out] C | |||
*> \verbatim | |||
*> C is COMPLEX array of DIMENSION ( LDC, n ). | |||
*> C is COMPLEX array, dimension ( LDC, N ) | |||
*> Before entry with UPLO = 'U' or 'u', the leading n by n | |||
*> upper triangular part of the array C must contain the upper | |||
*> triangular part of the symmetric matrix and the strictly | |||
@@ -90,7 +90,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is COMPLEX array of DIMENSION ( LDA, ka ), where ka is | |||
*> A is COMPLEX array, dimension ( LDA, ka ), where ka is | |||
*> k when TRANS = 'N' or 'n', and is n otherwise. | |||
*> Before entry with TRANS = 'N' or 'n', the leading n by k | |||
*> part of the array A must contain the matrix A, otherwise | |||
@@ -115,7 +115,7 @@ | |||
*> | |||
*> \param[in,out] C | |||
*> \verbatim | |||
*> C is COMPLEX array of DIMENSION ( LDC, n ). | |||
*> C is COMPLEX array, dimension ( LDC, N ) | |||
*> Before entry with UPLO = 'U' or 'u', the leading n by n | |||
*> upper triangular part of the array C must contain the upper | |||
*> triangular part of the symmetric matrix and the strictly | |||
@@ -90,7 +90,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is COMPLEX array of DIMENSION ( LDA, n ). | |||
*> A is COMPLEX array, dimension ( LDA, N ). | |||
*> Before entry with UPLO = 'U' or 'u', the leading ( k + 1 ) | |||
*> by n part of the array A must contain the upper triangular | |||
*> band part of the matrix of coefficients, supplied column by | |||
@@ -142,7 +142,7 @@ | |||
*> | |||
*> \param[in,out] X | |||
*> \verbatim | |||
*> X is COMPLEX array of dimension at least | |||
*> X is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element vector x. On exit, X is overwritten with the | |||
@@ -94,7 +94,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is COMPLEX array of DIMENSION ( LDA, n ). | |||
*> A is COMPLEX array, dimension ( LDA, N ) | |||
*> Before entry with UPLO = 'U' or 'u', the leading ( k + 1 ) | |||
*> by n part of the array A must contain the upper triangular | |||
*> band part of the matrix of coefficients, supplied column by | |||
@@ -146,7 +146,7 @@ | |||
*> | |||
*> \param[in,out] X | |||
*> \verbatim | |||
*> X is COMPLEX array of dimension at least | |||
*> X is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element right-hand side vector b. On exit, X is overwritten | |||
@@ -80,7 +80,7 @@ | |||
*> | |||
*> \param[in] AP | |||
*> \verbatim | |||
*> AP is COMPLEX array of DIMENSION at least | |||
*> AP is COMPLEX array, dimension at least | |||
*> ( ( n*( n + 1 ) )/2 ). | |||
*> Before entry with UPLO = 'U' or 'u', the array AP must | |||
*> contain the upper triangular matrix packed sequentially, | |||
@@ -98,7 +98,7 @@ | |||
*> | |||
*> \param[in,out] X | |||
*> \verbatim | |||
*> X is COMPLEX array of dimension at least | |||
*> X is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element vector x. On exit, X is overwritten with the | |||
@@ -83,7 +83,7 @@ | |||
*> | |||
*> \param[in] AP | |||
*> \verbatim | |||
*> AP is COMPLEX array of DIMENSION at least | |||
*> AP is COMPLEX array, dimension at least | |||
*> ( ( n*( n + 1 ) )/2 ). | |||
*> Before entry with UPLO = 'U' or 'u', the array AP must | |||
*> contain the upper triangular matrix packed sequentially, | |||
@@ -101,7 +101,7 @@ | |||
*> | |||
*> \param[in,out] X | |||
*> \verbatim | |||
*> X is COMPLEX array of dimension at least | |||
*> X is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element right-hand side vector b. On exit, X is overwritten | |||
@@ -109,7 +109,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is COMPLEX array of DIMENSION ( LDA, k ), where k is m | |||
*> A is COMPLEX array, dimension ( LDA, k ), where k is m | |||
*> when SIDE = 'L' or 'l' and is n when SIDE = 'R' or 'r'. | |||
*> Before entry with UPLO = 'U' or 'u', the leading k by k | |||
*> upper triangular part of the array A must contain the upper | |||
@@ -134,7 +134,7 @@ | |||
*> | |||
*> \param[in,out] B | |||
*> \verbatim | |||
*> B is COMPLEX array of DIMENSION ( LDB, n ). | |||
*> B is COMPLEX array, dimension ( LDB, N ). | |||
*> Before entry, the leading m by n part of the array B must | |||
*> contain the matrix B, and on exit is overwritten by the | |||
*> transformed matrix. | |||
@@ -80,7 +80,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is COMPLEX array of DIMENSION ( LDA, n ). | |||
*> A is COMPLEX array, dimension ( LDA, N ). | |||
*> Before entry with UPLO = 'U' or 'u', the leading n by n | |||
*> upper triangular part of the array A must contain the upper | |||
*> triangular matrix and the strictly lower triangular part of | |||
@@ -103,7 +103,7 @@ | |||
*> | |||
*> \param[in,out] X | |||
*> \verbatim | |||
*> X is COMPLEX array of dimension at least | |||
*> X is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element vector x. On exit, X is overwritten with the | |||
@@ -111,7 +111,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is COMPLEX array of DIMENSION ( LDA, k ), | |||
*> A is COMPLEX array, dimension ( LDA, k ), | |||
*> where k is m when SIDE = 'L' or 'l' | |||
*> and k is n when SIDE = 'R' or 'r'. | |||
*> Before entry with UPLO = 'U' or 'u', the leading k by k | |||
@@ -137,7 +137,7 @@ | |||
*> | |||
*> \param[in,out] B | |||
*> \verbatim | |||
*> B is COMPLEX array of DIMENSION ( LDB, n ). | |||
*> B is COMPLEX array, dimension ( LDB, N ) | |||
*> Before entry, the leading m by n part of the array B must | |||
*> contain the right-hand side matrix B, and on exit is | |||
*> overwritten by the solution matrix X. | |||
@@ -83,7 +83,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is COMPLEX array of DIMENSION ( LDA, n ). | |||
*> A is COMPLEX array, dimension ( LDA, N ) | |||
*> Before entry with UPLO = 'U' or 'u', the leading n by n | |||
*> upper triangular part of the array A must contain the upper | |||
*> triangular matrix and the strictly lower triangular part of | |||
@@ -106,7 +106,7 @@ | |||
*> | |||
*> \param[in,out] X | |||
*> \verbatim | |||
*> X is COMPLEX array of dimension at least | |||
*> X is COMPLEX array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element right-hand side vector b. On exit, X is overwritten | |||
@@ -26,6 +26,26 @@ | |||
*> DASUM takes the sum of the absolute values. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] DX | |||
*> \verbatim | |||
*> DX is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of DX | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -34,7 +54,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup double_blas_level1 | |||
* | |||
@@ -51,10 +71,10 @@ | |||
* ===================================================================== | |||
DOUBLE PRECISION FUNCTION DASUM(N,DX,INCX) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,N | |||
@@ -28,6 +28,43 @@ | |||
*> uses unrolled loops for increments equal to one. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] DA | |||
*> \verbatim | |||
*> DA is DOUBLE PRECISION | |||
*> On entry, DA specifies the scalar alpha. | |||
*> \endverbatim | |||
*> | |||
*> \param[in] DX | |||
*> \verbatim | |||
*> DX is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of DX | |||
*> \endverbatim | |||
*> | |||
*> \param[in,out] DY | |||
*> \verbatim | |||
*> DY is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCY ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCY | |||
*> \verbatim | |||
*> INCY is INTEGER | |||
*> storage spacing between elements of DY | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -36,7 +73,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup double_blas_level1 | |||
* | |||
@@ -52,10 +89,10 @@ | |||
* ===================================================================== | |||
SUBROUTINE DAXPY(N,DA,DX,INCX,DY,INCY) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
DOUBLE PRECISION DA | |||
@@ -24,6 +24,14 @@ | |||
*> DCABS1 computes |Re(.)| + |Im(.)| of a double complex number | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] Z | |||
*> \verbatim | |||
*> Z is COMPLEX*16 | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -32,17 +40,17 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup double_blas_level1 | |||
* | |||
* ===================================================================== | |||
DOUBLE PRECISION FUNCTION DCABS1(Z) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
COMPLEX*16 Z | |||
@@ -24,7 +24,38 @@ | |||
*> \verbatim | |||
*> | |||
*> DCOPY copies a vector, x, to a vector, y. | |||
*> uses unrolled loops for increments equal to one. | |||
*> uses unrolled loops for increments equal to 1. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] DX | |||
*> \verbatim | |||
*> DX is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of DX | |||
*> \endverbatim | |||
*> | |||
*> \param[out] DY | |||
*> \verbatim | |||
*> DY is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCY ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCY | |||
*> \verbatim | |||
*> INCY is INTEGER | |||
*> storage spacing between elements of DY | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
@@ -35,7 +66,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup double_blas_level1 | |||
* | |||
@@ -51,10 +82,10 @@ | |||
* ===================================================================== | |||
SUBROUTINE DCOPY(N,DX,INCX,DY,INCY) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,INCY,N | |||
@@ -27,6 +27,37 @@ | |||
*> uses unrolled loops for increments equal to one. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] DX | |||
*> \verbatim | |||
*> DX is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of DX | |||
*> \endverbatim | |||
*> | |||
*> \param[in] DY | |||
*> \verbatim | |||
*> DY is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCY ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCY | |||
*> \verbatim | |||
*> INCY is INTEGER | |||
*> storage spacing between elements of DY | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -35,7 +66,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup double_blas_level1 | |||
* | |||
@@ -51,10 +82,10 @@ | |||
* ===================================================================== | |||
DOUBLE PRECISION FUNCTION DDOT(N,DX,INCX,DY,INCY) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,INCY,N | |||
@@ -85,7 +85,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is DOUBLE PRECISION array of DIMENSION ( LDA, n ). | |||
*> A is DOUBLE PRECISION array, dimension ( LDA, N ) | |||
*> Before entry, the leading ( kl + ku + 1 ) by n part of the | |||
*> array A must contain the matrix of coefficients, supplied | |||
*> column by column, with the leading diagonal of the matrix in | |||
@@ -116,7 +116,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is DOUBLE PRECISION array of DIMENSION at least | |||
*> X is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n' | |||
*> and at least | |||
*> ( 1 + ( m - 1 )*abs( INCX ) ) otherwise. | |||
@@ -140,7 +140,7 @@ | |||
*> | |||
*> \param[in,out] Y | |||
*> \verbatim | |||
*> Y is DOUBLE PRECISION array of DIMENSION at least | |||
*> Y is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n' | |||
*> and at least | |||
*> ( 1 + ( n - 1 )*abs( INCY ) ) otherwise. | |||
@@ -97,7 +97,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is DOUBLE PRECISION array of DIMENSION ( LDA, ka ), where ka is | |||
*> A is DOUBLE PRECISION array, dimension ( LDA, ka ), where ka is | |||
*> k when TRANSA = 'N' or 'n', and is m otherwise. | |||
*> Before entry with TRANSA = 'N' or 'n', the leading m by k | |||
*> part of the array A must contain the matrix A, otherwise | |||
@@ -116,7 +116,7 @@ | |||
*> | |||
*> \param[in] B | |||
*> \verbatim | |||
*> B is DOUBLE PRECISION array of DIMENSION ( LDB, kb ), where kb is | |||
*> B is DOUBLE PRECISION array, dimension ( LDB, kb ), where kb is | |||
*> n when TRANSB = 'N' or 'n', and is k otherwise. | |||
*> Before entry with TRANSB = 'N' or 'n', the leading k by n | |||
*> part of the array B must contain the matrix B, otherwise | |||
@@ -142,7 +142,7 @@ | |||
*> | |||
*> \param[in,out] C | |||
*> \verbatim | |||
*> C is DOUBLE PRECISION array of DIMENSION ( LDC, n ). | |||
*> C is DOUBLE PRECISION array, dimension ( LDC, N ) | |||
*> Before entry, the leading m by n part of the array C must | |||
*> contain the matrix C, except when beta is zero, in which | |||
*> case C need not be set on entry. | |||
@@ -71,7 +71,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is DOUBLE PRECISION array of DIMENSION ( LDA, n ). | |||
*> A is DOUBLE PRECISION array, dimension ( LDA, N ) | |||
*> Before entry, the leading m by n part of the array A must | |||
*> contain the matrix of coefficients. | |||
*> \endverbatim | |||
@@ -86,7 +86,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is DOUBLE PRECISION array of DIMENSION at least | |||
*> X is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n' | |||
*> and at least | |||
*> ( 1 + ( m - 1 )*abs( INCX ) ) otherwise. | |||
@@ -110,7 +110,7 @@ | |||
*> | |||
*> \param[in,out] Y | |||
*> \verbatim | |||
*> Y is DOUBLE PRECISION array of DIMENSION at least | |||
*> Y is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n' | |||
*> and at least | |||
*> ( 1 + ( n - 1 )*abs( INCY ) ) otherwise. | |||
@@ -57,7 +57,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is DOUBLE PRECISION array of dimension at least | |||
*> X is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( m - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the m | |||
*> element vector x. | |||
@@ -72,7 +72,7 @@ | |||
*> | |||
*> \param[in] Y | |||
*> \verbatim | |||
*> Y is DOUBLE PRECISION array of dimension at least | |||
*> Y is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCY ) ). | |||
*> Before entry, the incremented array Y must contain the n | |||
*> element vector y. | |||
@@ -87,7 +87,7 @@ | |||
*> | |||
*> \param[in,out] A | |||
*> \verbatim | |||
*> A is DOUBLE PRECISION array of DIMENSION ( LDA, n ). | |||
*> A is DOUBLE PRECISION array, dimension ( LDA, N ) | |||
*> Before entry, the leading m by n part of the array A must | |||
*> contain the matrix of coefficients. On exit, A is | |||
*> overwritten by the updated matrix. | |||
@@ -29,6 +29,26 @@ | |||
*> DNRM2 := sqrt( x'*x ) | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of DX | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -37,7 +57,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup double_blas_level1 | |||
* | |||
@@ -54,10 +74,10 @@ | |||
* ===================================================================== | |||
DOUBLE PRECISION FUNCTION DNRM2(N,X,INCX) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,N | |||
@@ -27,6 +27,47 @@ | |||
*> DROT applies a plane rotation. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in,out] DX | |||
*> \verbatim | |||
*> DX is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of DX | |||
*> \endverbatim | |||
*> | |||
*> \param[in,out] DY | |||
*> \verbatim | |||
*> DY is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCY ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCY | |||
*> \verbatim | |||
*> INCY is INTEGER | |||
*> storage spacing between elements of DY | |||
*> \endverbatim | |||
*> | |||
*> \param[in] C | |||
*> \verbatim | |||
*> C is DOUBLE PRECISION | |||
*> \endverbatim | |||
*> | |||
*> \param[in] S | |||
*> \verbatim | |||
*> S is DOUBLE PRECISION | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -35,7 +76,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup double_blas_level1 | |||
* | |||
@@ -51,10 +92,10 @@ | |||
* ===================================================================== | |||
SUBROUTINE DROT(N,DX,INCX,DY,INCY,C,S) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
DOUBLE PRECISION C,S | |||
@@ -23,6 +23,29 @@ | |||
*> DROTG construct givens plane rotation. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] DA | |||
*> \verbatim | |||
*> DA is DOUBLE PRECISION | |||
*> \endverbatim | |||
*> | |||
*> \param[in] DB | |||
*> \verbatim | |||
*> DB is DOUBLE PRECISION | |||
*> \endverbatim | |||
*> | |||
*> \param[out] C | |||
*> \verbatim | |||
*> C is DOUBLE PRECISION | |||
*> \endverbatim | |||
*> | |||
*> \param[out] S | |||
*> \verbatim | |||
*> S is DOUBLE PRECISION | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -31,7 +54,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup double_blas_level1 | |||
* | |||
@@ -46,10 +69,10 @@ | |||
* ===================================================================== | |||
SUBROUTINE DROTG(DA,DB,C,S) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
DOUBLE PRECISION C,DA,DB,S | |||
@@ -51,8 +51,7 @@ | |||
*> | |||
*> \param[in,out] DX | |||
*> \verbatim | |||
*> DX is DOUBLE PRECISION array, dimension N | |||
*> double precision vector with N elements | |||
*> DX is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
@@ -63,8 +62,7 @@ | |||
*> | |||
*> \param[in,out] DY | |||
*> \verbatim | |||
*> DY is DOUBLE PRECISION array, dimension N | |||
*> double precision vector with N elements | |||
*> DY is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCY ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCY | |||
@@ -73,9 +71,9 @@ | |||
*> storage spacing between elements of DY | |||
*> \endverbatim | |||
*> | |||
*> \param[in,out] DPARAM | |||
*> \param[in] DPARAM | |||
*> \verbatim | |||
*> DPARAM is DOUBLE PRECISION array, dimension 5 | |||
*> DPARAM is DOUBLE PRECISION array, dimension (5) | |||
*> DPARAM(1)=DFLAG | |||
*> DPARAM(2)=DH11 | |||
*> DPARAM(3)=DH21 | |||
@@ -91,17 +89,17 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup double_blas_level1 | |||
* | |||
* ===================================================================== | |||
SUBROUTINE DROTM(N,DX,INCX,DY,INCY,DPARAM) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,INCY,N | |||
@@ -65,9 +65,9 @@ | |||
*> DY1 is DOUBLE PRECISION | |||
*> \endverbatim | |||
*> | |||
*> \param[in,out] DPARAM | |||
*> \param[out] DPARAM | |||
*> \verbatim | |||
*> DPARAM is DOUBLE PRECISION array, dimension 5 | |||
*> DPARAM is DOUBLE PRECISION array, dimension (5) | |||
*> DPARAM(1)=DFLAG | |||
*> DPARAM(2)=DH11 | |||
*> DPARAM(3)=DH21 | |||
@@ -83,17 +83,17 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup double_blas_level1 | |||
* | |||
* ===================================================================== | |||
SUBROUTINE DROTMG(DD1,DD2,DX1,DY1,DPARAM) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
DOUBLE PRECISION DD1,DD2,DX1,DY1 | |||
@@ -72,7 +72,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is DOUBLE PRECISION array of DIMENSION ( LDA, n ). | |||
*> A is DOUBLE PRECISION array, dimension ( LDA, N ) | |||
*> Before entry with UPLO = 'U' or 'u', the leading ( k + 1 ) | |||
*> by n part of the array A must contain the upper triangular | |||
*> band part of the symmetric matrix, supplied column by | |||
@@ -120,7 +120,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is DOUBLE PRECISION array of DIMENSION at least | |||
*> X is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the | |||
*> vector x. | |||
@@ -141,7 +141,7 @@ | |||
*> | |||
*> \param[in,out] Y | |||
*> \verbatim | |||
*> Y is DOUBLE PRECISION array of DIMENSION at least | |||
*> Y is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCY ) ). | |||
*> Before entry, the incremented array Y must contain the | |||
*> vector y. On exit, Y is overwritten by the updated vector y. | |||
@@ -25,7 +25,33 @@ | |||
*> \verbatim | |||
*> | |||
*> DSCAL scales a vector by a constant. | |||
*> uses unrolled loops for increment equal to one. | |||
*> uses unrolled loops for increment equal to 1. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] DA | |||
*> \verbatim | |||
*> DA is DOUBLE PRECISION | |||
*> On entry, DA specifies the scalar alpha. | |||
*> \endverbatim | |||
*> | |||
*> \param[in,out] DX | |||
*> \verbatim | |||
*> DX is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of DX | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
@@ -36,7 +62,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup double_blas_level1 | |||
* | |||
@@ -53,10 +79,10 @@ | |||
* ===================================================================== | |||
SUBROUTINE DSCAL(N,DA,DX,INCX) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
DOUBLE PRECISION DA | |||
@@ -65,7 +65,7 @@ | |||
*> | |||
*> \param[in] AP | |||
*> \verbatim | |||
*> AP is DOUBLE PRECISION array of DIMENSION at least | |||
*> AP is DOUBLE PRECISION array, dimension at least | |||
*> ( ( n*( n + 1 ) )/2 ). | |||
*> Before entry with UPLO = 'U' or 'u', the array AP must | |||
*> contain the upper triangular part of the symmetric matrix | |||
@@ -81,7 +81,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is DOUBLE PRECISION array of dimension at least | |||
*> X is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element vector x. | |||
@@ -103,7 +103,7 @@ | |||
*> | |||
*> \param[in,out] Y | |||
*> \verbatim | |||
*> Y is DOUBLE PRECISION array of dimension at least | |||
*> Y is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCY ) ). | |||
*> Before entry, the incremented array Y must contain the n | |||
*> element vector y. On exit, Y is overwritten by the updated | |||
@@ -65,7 +65,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is DOUBLE PRECISION array of dimension at least | |||
*> X is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element vector x. | |||
@@ -80,7 +80,7 @@ | |||
*> | |||
*> \param[in,out] AP | |||
*> \verbatim | |||
*> AP is DOUBLE PRECISION array of DIMENSION at least | |||
*> AP is DOUBLE PRECISION array, dimension at least | |||
*> ( ( n*( n + 1 ) )/2 ). | |||
*> Before entry with UPLO = 'U' or 'u', the array AP must | |||
*> contain the upper triangular part of the symmetric matrix | |||
@@ -65,7 +65,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is DOUBLE PRECISION array of dimension at least | |||
*> X is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element vector x. | |||
@@ -80,7 +80,7 @@ | |||
*> | |||
*> \param[in] Y | |||
*> \verbatim | |||
*> Y is DOUBLE PRECISION array of dimension at least | |||
*> Y is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCY ) ). | |||
*> Before entry, the incremented array Y must contain the n | |||
*> element vector y. | |||
@@ -95,7 +95,7 @@ | |||
*> | |||
*> \param[in,out] AP | |||
*> \verbatim | |||
*> AP is DOUBLE PRECISION array of DIMENSION at least | |||
*> AP is DOUBLE PRECISION array, dimension at least | |||
*> ( ( n*( n + 1 ) )/2 ). | |||
*> Before entry with UPLO = 'U' or 'u', the array AP must | |||
*> contain the upper triangular part of the symmetric matrix | |||
@@ -23,8 +23,39 @@ | |||
*> | |||
*> \verbatim | |||
*> | |||
*> interchanges two vectors. | |||
*> uses unrolled loops for increments equal one. | |||
*> DSWAP interchanges two vectors. | |||
*> uses unrolled loops for increments equal to 1. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in,out] DX | |||
*> \verbatim | |||
*> DX is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of DX | |||
*> \endverbatim | |||
*> | |||
*> \param[in,out] DY | |||
*> \verbatim | |||
*> DY is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCY ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCY | |||
*> \verbatim | |||
*> INCY is INTEGER | |||
*> storage spacing between elements of DY | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
@@ -35,7 +66,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup double_blas_level1 | |||
* | |||
@@ -51,10 +82,10 @@ | |||
* ===================================================================== | |||
SUBROUTINE DSWAP(N,DX,INCX,DY,INCY) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,INCY,N | |||
@@ -87,7 +87,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is DOUBLE PRECISION array of DIMENSION ( LDA, ka ), where ka is | |||
*> A is DOUBLE PRECISION array, dimension ( LDA, ka ), where ka is | |||
*> m when SIDE = 'L' or 'l' and is n otherwise. | |||
*> Before entry with SIDE = 'L' or 'l', the m by m part of | |||
*> the array A must contain the symmetric matrix, such that | |||
@@ -122,7 +122,7 @@ | |||
*> | |||
*> \param[in] B | |||
*> \verbatim | |||
*> B is DOUBLE PRECISION array of DIMENSION ( LDB, n ). | |||
*> B is DOUBLE PRECISION array, dimension ( LDB, N ) | |||
*> Before entry, the leading m by n part of the array B must | |||
*> contain the matrix B. | |||
*> \endverbatim | |||
@@ -144,7 +144,7 @@ | |||
*> | |||
*> \param[in,out] C | |||
*> \verbatim | |||
*> C is DOUBLE PRECISION array of DIMENSION ( LDC, n ). | |||
*> C is DOUBLE PRECISION array, dimension ( LDC, N ) | |||
*> Before entry, the leading m by n part of the array C must | |||
*> contain the matrix C, except when beta is zero, in which | |||
*> case C need not be set on entry. | |||
@@ -65,7 +65,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is DOUBLE PRECISION array of DIMENSION ( LDA, n ). | |||
*> A is DOUBLE PRECISION array, dimension ( LDA, N ) | |||
*> Before entry with UPLO = 'U' or 'u', the leading n by n | |||
*> upper triangular part of the array A must contain the upper | |||
*> triangular part of the symmetric matrix and the strictly | |||
@@ -86,7 +86,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is DOUBLE PRECISION array of dimension at least | |||
*> X is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element vector x. | |||
@@ -108,7 +108,7 @@ | |||
*> | |||
*> \param[in,out] Y | |||
*> \verbatim | |||
*> Y is DOUBLE PRECISION array of dimension at least | |||
*> Y is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCY ) ). | |||
*> Before entry, the incremented array Y must contain the n | |||
*> element vector y. On exit, Y is overwritten by the updated | |||
@@ -65,7 +65,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is DOUBLE PRECISION array of dimension at least | |||
*> X is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element vector x. | |||
@@ -80,7 +80,7 @@ | |||
*> | |||
*> \param[in,out] A | |||
*> \verbatim | |||
*> A is DOUBLE PRECISION array of DIMENSION ( LDA, n ). | |||
*> A is DOUBLE PRECISION array, dimension ( LDA, N ) | |||
*> Before entry with UPLO = 'U' or 'u', the leading n by n | |||
*> upper triangular part of the array A must contain the upper | |||
*> triangular part of the symmetric matrix and the strictly | |||
@@ -65,7 +65,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is DOUBLE PRECISION array of dimension at least | |||
*> X is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element vector x. | |||
@@ -80,7 +80,7 @@ | |||
*> | |||
*> \param[in] Y | |||
*> \verbatim | |||
*> Y is DOUBLE PRECISION array of dimension at least | |||
*> Y is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCY ) ). | |||
*> Before entry, the incremented array Y must contain the n | |||
*> element vector y. | |||
@@ -95,7 +95,7 @@ | |||
*> | |||
*> \param[in,out] A | |||
*> \verbatim | |||
*> A is DOUBLE PRECISION array of DIMENSION ( LDA, n ). | |||
*> A is DOUBLE PRECISION array, dimension ( LDA, N ) | |||
*> Before entry with UPLO = 'U' or 'u', the leading n by n | |||
*> upper triangular part of the array A must contain the upper | |||
*> triangular part of the symmetric matrix and the strictly | |||
@@ -95,7 +95,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is DOUBLE PRECISION array of DIMENSION ( LDA, ka ), where ka is | |||
*> A is DOUBLE PRECISION array, dimension ( LDA, ka ), where ka is | |||
*> k when TRANS = 'N' or 'n', and is n otherwise. | |||
*> Before entry with TRANS = 'N' or 'n', the leading n by k | |||
*> part of the array A must contain the matrix A, otherwise | |||
@@ -114,7 +114,7 @@ | |||
*> | |||
*> \param[in] B | |||
*> \verbatim | |||
*> B is DOUBLE PRECISION array of DIMENSION ( LDB, kb ), where kb is | |||
*> B is DOUBLE PRECISION array, dimension ( LDB, kb ), where kb is | |||
*> k when TRANS = 'N' or 'n', and is n otherwise. | |||
*> Before entry with TRANS = 'N' or 'n', the leading n by k | |||
*> part of the array B must contain the matrix B, otherwise | |||
@@ -139,7 +139,7 @@ | |||
*> | |||
*> \param[in,out] C | |||
*> \verbatim | |||
*> C is DOUBLE PRECISION array of DIMENSION ( LDC, n ). | |||
*> C is DOUBLE PRECISION array, dimension ( LDC, N ) | |||
*> Before entry with UPLO = 'U' or 'u', the leading n by n | |||
*> upper triangular part of the array C must contain the upper | |||
*> triangular part of the symmetric matrix and the strictly | |||
@@ -92,7 +92,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is DOUBLE PRECISION array of DIMENSION ( LDA, ka ), where ka is | |||
*> A is DOUBLE PRECISION array, dimension ( LDA, ka ), where ka is | |||
*> k when TRANS = 'N' or 'n', and is n otherwise. | |||
*> Before entry with TRANS = 'N' or 'n', the leading n by k | |||
*> part of the array A must contain the matrix A, otherwise | |||
@@ -117,7 +117,7 @@ | |||
*> | |||
*> \param[in,out] C | |||
*> \verbatim | |||
*> C is DOUBLE PRECISION array of DIMENSION ( LDC, n ). | |||
*> C is DOUBLE PRECISION array, dimension ( LDC, N ) | |||
*> Before entry with UPLO = 'U' or 'u', the leading n by n | |||
*> upper triangular part of the array C must contain the upper | |||
*> triangular part of the symmetric matrix and the strictly | |||
@@ -90,7 +90,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is DOUBLE PRECISION array of DIMENSION ( LDA, n ). | |||
*> A is DOUBLE PRECISION array, dimension ( LDA, N ) | |||
*> Before entry with UPLO = 'U' or 'u', the leading ( k + 1 ) | |||
*> by n part of the array A must contain the upper triangular | |||
*> band part of the matrix of coefficients, supplied column by | |||
@@ -142,7 +142,7 @@ | |||
*> | |||
*> \param[in,out] X | |||
*> \verbatim | |||
*> X is DOUBLE PRECISION array of dimension at least | |||
*> X is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element vector x. On exit, X is overwritten with the | |||
@@ -94,7 +94,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is DOUBLE PRECISION array of DIMENSION ( LDA, n ). | |||
*> A is DOUBLE PRECISION array, dimension ( LDA, N ) | |||
*> Before entry with UPLO = 'U' or 'u', the leading ( k + 1 ) | |||
*> by n part of the array A must contain the upper triangular | |||
*> band part of the matrix of coefficients, supplied column by | |||
@@ -146,7 +146,7 @@ | |||
*> | |||
*> \param[in,out] X | |||
*> \verbatim | |||
*> X is DOUBLE PRECISION array of dimension at least | |||
*> X is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element right-hand side vector b. On exit, X is overwritten | |||
@@ -80,7 +80,7 @@ | |||
*> | |||
*> \param[in] AP | |||
*> \verbatim | |||
*> AP is DOUBLE PRECISION array of DIMENSION at least | |||
*> AP is DOUBLE PRECISION array, dimension at least | |||
*> ( ( n*( n + 1 ) )/2 ). | |||
*> Before entry with UPLO = 'U' or 'u', the array AP must | |||
*> contain the upper triangular matrix packed sequentially, | |||
@@ -98,7 +98,7 @@ | |||
*> | |||
*> \param[in,out] X | |||
*> \verbatim | |||
*> X is DOUBLE PRECISION array of dimension at least | |||
*> X is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element vector x. On exit, X is overwritten with the | |||
@@ -83,7 +83,7 @@ | |||
*> | |||
*> \param[in] AP | |||
*> \verbatim | |||
*> AP is DOUBLE PRECISION array of DIMENSION at least | |||
*> AP is DOUBLE PRECISION array, dimension at least | |||
*> ( ( n*( n + 1 ) )/2 ). | |||
*> Before entry with UPLO = 'U' or 'u', the array AP must | |||
*> contain the upper triangular matrix packed sequentially, | |||
@@ -101,7 +101,7 @@ | |||
*> | |||
*> \param[in,out] X | |||
*> \verbatim | |||
*> X is DOUBLE PRECISION array of dimension at least | |||
*> X is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element right-hand side vector b. On exit, X is overwritten | |||
@@ -109,7 +109,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is DOUBLE PRECISION array of DIMENSION ( LDA, k ), where k is m | |||
*> A is DOUBLE PRECISION array, dimension ( LDA, k ), where k is m | |||
*> when SIDE = 'L' or 'l' and is n when SIDE = 'R' or 'r'. | |||
*> Before entry with UPLO = 'U' or 'u', the leading k by k | |||
*> upper triangular part of the array A must contain the upper | |||
@@ -134,7 +134,7 @@ | |||
*> | |||
*> \param[in,out] B | |||
*> \verbatim | |||
*> B is DOUBLE PRECISION array of DIMENSION ( LDB, n ). | |||
*> B is DOUBLE PRECISION array, dimension ( LDB, N ) | |||
*> Before entry, the leading m by n part of the array B must | |||
*> contain the matrix B, and on exit is overwritten by the | |||
*> transformed matrix. | |||
@@ -80,7 +80,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is DOUBLE PRECISION array of DIMENSION ( LDA, n ). | |||
*> A is DOUBLE PRECISION array, dimension ( LDA, N ) | |||
*> Before entry with UPLO = 'U' or 'u', the leading n by n | |||
*> upper triangular part of the array A must contain the upper | |||
*> triangular matrix and the strictly lower triangular part of | |||
@@ -103,7 +103,7 @@ | |||
*> | |||
*> \param[in,out] X | |||
*> \verbatim | |||
*> X is DOUBLE PRECISION array of dimension at least | |||
*> X is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element vector x. On exit, X is overwritten with the | |||
@@ -111,7 +111,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is DOUBLE PRECISION array of DIMENSION ( LDA, k ), | |||
*> A is DOUBLE PRECISION array, dimension ( LDA, k ), | |||
*> where k is m when SIDE = 'L' or 'l' | |||
*> and k is n when SIDE = 'R' or 'r'. | |||
*> Before entry with UPLO = 'U' or 'u', the leading k by k | |||
@@ -137,7 +137,7 @@ | |||
*> | |||
*> \param[in,out] B | |||
*> \verbatim | |||
*> B is DOUBLE PRECISION array of DIMENSION ( LDB, n ). | |||
*> B is DOUBLE PRECISION array, dimension ( LDB, N ) | |||
*> Before entry, the leading m by n part of the array B must | |||
*> contain the right-hand side matrix B, and on exit is | |||
*> overwritten by the solution matrix X. | |||
@@ -83,7 +83,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is DOUBLE PRECISION array of DIMENSION ( LDA, n ). | |||
*> A is DOUBLE PRECISION array, dimension ( LDA, N ) | |||
*> Before entry with UPLO = 'U' or 'u', the leading n by n | |||
*> upper triangular part of the array A must contain the upper | |||
*> triangular matrix and the strictly lower triangular part of | |||
@@ -106,7 +106,7 @@ | |||
*> | |||
*> \param[in,out] X | |||
*> \verbatim | |||
*> X is DOUBLE PRECISION array of dimension at least | |||
*> X is DOUBLE PRECISION array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the n | |||
*> element right-hand side vector b. On exit, X is overwritten | |||
@@ -27,6 +27,26 @@ | |||
*> returns a single precision result. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in,out] ZX | |||
*> \verbatim | |||
*> ZX is COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of ZX | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -35,7 +55,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup double_blas_level1 | |||
* | |||
@@ -52,10 +72,10 @@ | |||
* ===================================================================== | |||
DOUBLE PRECISION FUNCTION DZASUM(N,ZX,INCX) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,N | |||
@@ -29,6 +29,27 @@ | |||
*> DZNRM2 := sqrt( x**H*x ) | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is COMPLEX*16 array, dimension (N) | |||
*> complex vector with N elements | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of X | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -37,7 +58,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup double_blas_level1 | |||
* | |||
@@ -54,10 +75,10 @@ | |||
* ===================================================================== | |||
DOUBLE PRECISION FUNCTION DZNRM2(N,X,INCX) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,N | |||
@@ -26,6 +26,26 @@ | |||
*> ICAMAX finds the index of the first element having maximum |Re(.)| + |Im(.)| | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] CX | |||
*> \verbatim | |||
*> CX is COMPLEX array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of SX | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -34,7 +54,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup aux_blas | |||
* | |||
@@ -51,10 +71,10 @@ | |||
* ===================================================================== | |||
INTEGER FUNCTION ICAMAX(N,CX,INCX) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,N | |||
@@ -26,6 +26,26 @@ | |||
*> IDAMAX finds the index of the first element having maximum absolute value. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] DX | |||
*> \verbatim | |||
*> DX is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of SX | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -34,7 +54,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup aux_blas | |||
* | |||
@@ -51,10 +71,10 @@ | |||
* ===================================================================== | |||
INTEGER FUNCTION IDAMAX(N,DX,INCX) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,N | |||
@@ -26,6 +26,26 @@ | |||
*> ISAMAX finds the index of the first element having maximum absolute value. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] SX | |||
*> \verbatim | |||
*> SX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of SX | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -34,7 +54,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup aux_blas | |||
* | |||
@@ -51,10 +71,10 @@ | |||
* ===================================================================== | |||
INTEGER FUNCTION ISAMAX(N,SX,INCX) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,N | |||
@@ -26,6 +26,26 @@ | |||
*> IZAMAX finds the index of the first element having maximum |Re(.)| + |Im(.)| | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] ZX | |||
*> \verbatim | |||
*> ZX is COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of SX | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -34,7 +54,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup aux_blas | |||
* | |||
@@ -51,10 +71,10 @@ | |||
* ===================================================================== | |||
INTEGER FUNCTION IZAMAX(N,ZX,INCX) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,N | |||
@@ -27,6 +27,26 @@ | |||
*> uses unrolled loops for increment equal to one. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] SX | |||
*> \verbatim | |||
*> SX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of SX | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -35,7 +55,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup single_blas_level1 | |||
* | |||
@@ -52,10 +72,10 @@ | |||
* ===================================================================== | |||
REAL FUNCTION SASUM(N,SX,INCX) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,N | |||
@@ -28,6 +28,43 @@ | |||
*> uses unrolled loops for increments equal to one. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] SA | |||
*> \verbatim | |||
*> SA is REAL | |||
*> On entry, SA specifies the scalar alpha. | |||
*> \endverbatim | |||
*> | |||
*> \param[in] SX | |||
*> \verbatim | |||
*> SX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of SX | |||
*> \endverbatim | |||
*> | |||
*> \param[in,out] SY | |||
*> \verbatim | |||
*> SY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCY ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCY | |||
*> \verbatim | |||
*> INCY is INTEGER | |||
*> storage spacing between elements of SY | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -36,7 +73,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup single_blas_level1 | |||
* | |||
@@ -52,10 +89,10 @@ | |||
* ===================================================================== | |||
SUBROUTINE SAXPY(N,SA,SX,INCX,SY,INCY) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
REAL SA | |||
@@ -23,6 +23,14 @@ | |||
*> SCABS1 computes |Re(.)| + |Im(.)| of a complex number | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] Z | |||
*> \verbatim | |||
*> Z is COMPLEX | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -31,17 +39,17 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup single_blas_level1 | |||
* | |||
* ===================================================================== | |||
REAL FUNCTION SCABS1(Z) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
COMPLEX Z | |||
@@ -27,6 +27,26 @@ | |||
*> returns a single precision result. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in,out] CX | |||
*> \verbatim | |||
*> CX is COMPLEX array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of SX | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -35,7 +55,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup single_blas_level1 | |||
* | |||
@@ -52,10 +72,10 @@ | |||
* ===================================================================== | |||
REAL FUNCTION SCASUM(N,CX,INCX) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,N | |||
@@ -29,6 +29,27 @@ | |||
*> SCNRM2 := sqrt( x**H*x ) | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is COMPLEX array, dimension (N) | |||
*> complex vector with N elements | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of X | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -37,7 +58,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup single_blas_level1 | |||
* | |||
@@ -54,10 +75,10 @@ | |||
* ===================================================================== | |||
REAL FUNCTION SCNRM2(N,X,INCX) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,N | |||
@@ -27,6 +27,37 @@ | |||
*> uses unrolled loops for increments equal to 1. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] SX | |||
*> \verbatim | |||
*> SX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of SX | |||
*> \endverbatim | |||
*> | |||
*> \param[out] SY | |||
*> \verbatim | |||
*> SY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCY ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCY | |||
*> \verbatim | |||
*> INCY is INTEGER | |||
*> storage spacing between elements of SY | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -35,7 +66,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup single_blas_level1 | |||
* | |||
@@ -51,10 +82,10 @@ | |||
* ===================================================================== | |||
SUBROUTINE SCOPY(N,SX,INCX,SY,INCY) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,INCY,N | |||
@@ -27,6 +27,37 @@ | |||
*> uses unrolled loops for increments equal to one. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] SX | |||
*> \verbatim | |||
*> SX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of SX | |||
*> \endverbatim | |||
*> | |||
*> \param[in] SY | |||
*> \verbatim | |||
*> SY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCY ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCY | |||
*> \verbatim | |||
*> INCY is INTEGER | |||
*> storage spacing between elements of SY | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -35,7 +66,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup single_blas_level1 | |||
* | |||
@@ -51,10 +82,10 @@ | |||
* ===================================================================== | |||
REAL FUNCTION SDOT(N,SX,INCX,SY,INCY) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,INCY,N | |||
@@ -18,9 +18,11 @@ | |||
* REAL SX(*),SY(*) | |||
* .. | |||
* | |||
* PURPOSE | |||
* ======= | |||
* | |||
*> \par Purpose: | |||
* ============= | |||
*> | |||
*> \verbatim | |||
*> | |||
* Compute the inner product of two vectors with extended | |||
* precision accumulation. | |||
* | |||
@@ -28,56 +30,78 @@ | |||
* SDSDOT = SB + sum for I = 0 to N-1 of SX(LX+I*INCX)*SY(LY+I*INCY), | |||
* where LX = 1 if INCX .GE. 0, else LX = 1+(1-N)*INCX, and LY is | |||
* defined in a similar way using INCY. | |||
*> \endverbatim | |||
* | |||
* AUTHOR | |||
* ====== | |||
* Lawson, C. L., (JPL), Hanson, R. J., (SNLA), | |||
* Kincaid, D. R., (U. of Texas), Krogh, F. T., (JPL) | |||
* | |||
* ARGUMENTS | |||
* ========= | |||
* | |||
* N (input) INTEGER | |||
* number of elements in input vector(s) | |||
* | |||
* SB (input) REAL | |||
* single precision scalar to be added to inner product | |||
* | |||
* SX (input) REAL array, dimension (N) | |||
* single precision vector with N elements | |||
* | |||
* INCX (input) INTEGER | |||
* storage spacing between elements of SX | |||
* | |||
* SY (input) REAL array, dimension (N) | |||
* single precision vector with N elements | |||
* | |||
* INCY (input) INTEGER | |||
* storage spacing between elements of SY | |||
* | |||
* SDSDOT (output) REAL | |||
* single precision dot product (SB if N .LE. 0) | |||
* Arguments: | |||
* ========== | |||
* | |||
* Further Details | |||
* =============== | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] SB | |||
*> \verbatim | |||
*> SB is REAL | |||
*> single precision scalar to be added to inner product | |||
*> \endverbatim | |||
*> | |||
*> \param[in] SX | |||
*> \verbatim | |||
*> SX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> single precision vector with N elements | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of SX | |||
*> \endverbatim | |||
*> | |||
*> \param[in] SY | |||
*> \verbatim | |||
*> SY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> single precision vector with N elements | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCY | |||
*> \verbatim | |||
*> INCY is INTEGER | |||
*> storage spacing between elements of SY | |||
*> \endverbatim | |||
* | |||
* REFERENCES | |||
* Authors: | |||
* ======== | |||
* | |||
* C. L. Lawson, R. J. Hanson, D. R. Kincaid and F. T. | |||
* Krogh, Basic linear algebra subprograms for Fortran | |||
* usage, Algorithm No. 539, Transactions on Mathematical | |||
* Software 5, 3 (September 1979), pp. 308-323. | |||
*> \author Lawson, C. L., (JPL), Hanson, R. J., (SNLA), | |||
*> \author Kincaid, D. R., (U. of Texas), Krogh, F. T., (JPL) | |||
* | |||
* REVISION HISTORY (YYMMDD) | |||
*> \ingroup complex_blas_level1 | |||
* | |||
* 791001 DATE WRITTEN | |||
* 890531 Changed all specific intrinsics to generic. (WRB) | |||
* 890831 Modified array declarations. (WRB) | |||
* 890831 REVISION DATE from Version 3.2 | |||
* 891214 Prologue converted to Version 4.0 format. (BAB) | |||
* 920310 Corrected definition of LX in DESCRIPTION. (WRB) | |||
* 920501 Reformatted the REFERENCES section. (WRB) | |||
* 070118 Reformat to LAPACK coding style | |||
*> \par Further Details: | |||
* ===================== | |||
*> | |||
*> \verbatim | |||
*> | |||
*> REFERENCES | |||
*> | |||
*> C. L. Lawson, R. J. Hanson, D. R. Kincaid and F. T. | |||
*> Krogh, Basic linear algebra subprograms for Fortran | |||
*> usage, Algorithm No. 539, Transactions on Mathematical | |||
*> Software 5, 3 (September 1979), pp. 308-323. | |||
*> | |||
*> REVISION HISTORY (YYMMDD) | |||
*> | |||
*> 791001 DATE WRITTEN | |||
*> 890531 Changed all specific intrinsics to generic. (WRB) | |||
*> 890831 Modified array declarations. (WRB) | |||
*> 890831 REVISION DATE from Version 3.2 | |||
*> 891214 Prologue converted to Version 4.0 format. (BAB) | |||
*> 920310 Corrected definition of LX in DESCRIPTION. (WRB) | |||
*> 920501 Reformatted the REFERENCES section. (WRB) | |||
*> 070118 Reformat to LAPACK coding style | |||
*> \endverbatim | |||
* | |||
* ===================================================================== | |||
* | |||
@@ -133,17 +157,17 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup single_blas_level1 | |||
* | |||
* ===================================================================== | |||
REAL FUNCTION SDSDOT(N,SB,SX,INCX,SY,INCY) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
REAL SB | |||
@@ -85,7 +85,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is REAL array of DIMENSION ( LDA, n ). | |||
*> A is REAL array, dimension ( LDA, N ) | |||
*> Before entry, the leading ( kl + ku + 1 ) by n part of the | |||
*> array A must contain the matrix of coefficients, supplied | |||
*> column by column, with the leading diagonal of the matrix in | |||
@@ -116,7 +116,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is REAL array of DIMENSION at least | |||
*> X is REAL array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n' | |||
*> and at least | |||
*> ( 1 + ( m - 1 )*abs( INCX ) ) otherwise. | |||
@@ -140,7 +140,7 @@ | |||
*> | |||
*> \param[in,out] Y | |||
*> \verbatim | |||
*> Y is REAL array of DIMENSION at least | |||
*> Y is REAL array, dimension at least | |||
*> ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n' | |||
*> and at least | |||
*> ( 1 + ( n - 1 )*abs( INCY ) ) otherwise. | |||
@@ -97,7 +97,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is REAL array of DIMENSION ( LDA, ka ), where ka is | |||
*> A is REAL array, dimension ( LDA, ka ), where ka is | |||
*> k when TRANSA = 'N' or 'n', and is m otherwise. | |||
*> Before entry with TRANSA = 'N' or 'n', the leading m by k | |||
*> part of the array A must contain the matrix A, otherwise | |||
@@ -116,7 +116,7 @@ | |||
*> | |||
*> \param[in] B | |||
*> \verbatim | |||
*> B is REAL array of DIMENSION ( LDB, kb ), where kb is | |||
*> B is REAL array, dimension ( LDB, kb ), where kb is | |||
*> n when TRANSB = 'N' or 'n', and is k otherwise. | |||
*> Before entry with TRANSB = 'N' or 'n', the leading k by n | |||
*> part of the array B must contain the matrix B, otherwise | |||
@@ -142,7 +142,7 @@ | |||
*> | |||
*> \param[in,out] C | |||
*> \verbatim | |||
*> C is REAL array of DIMENSION ( LDC, n ). | |||
*> C is REAL array, dimension ( LDC, N ) | |||
*> Before entry, the leading m by n part of the array C must | |||
*> contain the matrix C, except when beta is zero, in which | |||
*> case C need not be set on entry. | |||
@@ -71,7 +71,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is REAL array of DIMENSION ( LDA, n ). | |||
*> A is REAL array, dimension ( LDA, N ) | |||
*> Before entry, the leading m by n part of the array A must | |||
*> contain the matrix of coefficients. | |||
*> \endverbatim | |||
@@ -86,7 +86,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is REAL array of DIMENSION at least | |||
*> X is REAL array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n' | |||
*> and at least | |||
*> ( 1 + ( m - 1 )*abs( INCX ) ) otherwise. | |||
@@ -110,7 +110,7 @@ | |||
*> | |||
*> \param[in,out] Y | |||
*> \verbatim | |||
*> Y is REAL array of DIMENSION at least | |||
*> Y is REAL array, dimension at least | |||
*> ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n' | |||
*> and at least | |||
*> ( 1 + ( n - 1 )*abs( INCY ) ) otherwise. | |||
@@ -57,7 +57,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is REAL array of dimension at least | |||
*> X is REAL array, dimension at least | |||
*> ( 1 + ( m - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the m | |||
*> element vector x. | |||
@@ -72,7 +72,7 @@ | |||
*> | |||
*> \param[in] Y | |||
*> \verbatim | |||
*> Y is REAL array of dimension at least | |||
*> Y is REAL array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCY ) ). | |||
*> Before entry, the incremented array Y must contain the n | |||
*> element vector y. | |||
@@ -87,7 +87,7 @@ | |||
*> | |||
*> \param[in,out] A | |||
*> \verbatim | |||
*> A is REAL array of DIMENSION ( LDA, n ). | |||
*> A is REAL array, dimension ( LDA, N ) | |||
*> Before entry, the leading m by n part of the array A must | |||
*> contain the matrix of coefficients. On exit, A is | |||
*> overwritten by the updated matrix. | |||
@@ -29,6 +29,26 @@ | |||
*> SNRM2 := sqrt( x'*x ). | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of SX | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -37,7 +57,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup single_blas_level1 | |||
* | |||
@@ -54,10 +74,10 @@ | |||
* ===================================================================== | |||
REAL FUNCTION SNRM2(N,X,INCX) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,N | |||
@@ -27,6 +27,47 @@ | |||
*> applies a plane rotation. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] N | |||
*> \verbatim | |||
*> N is INTEGER | |||
*> number of elements in input vector(s) | |||
*> \endverbatim | |||
*> | |||
*> \param[in,out] SX | |||
*> \verbatim | |||
*> SX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
*> \verbatim | |||
*> INCX is INTEGER | |||
*> storage spacing between elements of SX | |||
*> \endverbatim | |||
*> | |||
*> \param[in,out] SY | |||
*> \verbatim | |||
*> SY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCY ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCY | |||
*> \verbatim | |||
*> INCY is INTEGER | |||
*> storage spacing between elements of SY | |||
*> \endverbatim | |||
*> | |||
*> \param[in] C | |||
*> \verbatim | |||
*> C is REAL | |||
*> \endverbatim | |||
*> | |||
*> \param[in] S | |||
*> \verbatim | |||
*> S is REAL | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -35,7 +76,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup single_blas_level1 | |||
* | |||
@@ -51,10 +92,10 @@ | |||
* ===================================================================== | |||
SUBROUTINE SROT(N,SX,INCX,SY,INCY,C,S) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
REAL C,S | |||
@@ -23,6 +23,29 @@ | |||
*> SROTG construct givens plane rotation. | |||
*> \endverbatim | |||
* | |||
* Arguments: | |||
* ========== | |||
* | |||
*> \param[in] SA | |||
*> \verbatim | |||
*> SA is REAL | |||
*> \endverbatim | |||
*> | |||
*> \param[in] SB | |||
*> \verbatim | |||
*> SB is REAL | |||
*> \endverbatim | |||
*> | |||
*> \param[out] C | |||
*> \verbatim | |||
*> C is REAL | |||
*> \endverbatim | |||
*> | |||
*> \param[out] S | |||
*> \verbatim | |||
*> S is REAL | |||
*> \endverbatim | |||
* | |||
* Authors: | |||
* ======== | |||
* | |||
@@ -31,7 +54,7 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup single_blas_level1 | |||
* | |||
@@ -46,10 +69,10 @@ | |||
* ===================================================================== | |||
SUBROUTINE SROTG(SA,SB,C,S) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
REAL C,S,SA,SB | |||
@@ -52,8 +52,7 @@ | |||
*> | |||
*> \param[in,out] SX | |||
*> \verbatim | |||
*> SX is REAL array, dimension N | |||
*> double precision vector with N elements | |||
*> SX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCX | |||
@@ -64,8 +63,7 @@ | |||
*> | |||
*> \param[in,out] SY | |||
*> \verbatim | |||
*> SY is REAL array, dimension N | |||
*> double precision vector with N elements | |||
*> SY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCY ) ) | |||
*> \endverbatim | |||
*> | |||
*> \param[in] INCY | |||
@@ -74,9 +72,9 @@ | |||
*> storage spacing between elements of SY | |||
*> \endverbatim | |||
*> | |||
*> \param[in,out] SPARAM | |||
*> \param[in] SPARAM | |||
*> \verbatim | |||
*> SPARAM is REAL array, dimension 5 | |||
*> SPARAM is REAL array, dimension (5) | |||
*> SPARAM(1)=SFLAG | |||
*> SPARAM(2)=SH11 | |||
*> SPARAM(3)=SH21 | |||
@@ -92,17 +90,17 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup single_blas_level1 | |||
* | |||
* ===================================================================== | |||
SUBROUTINE SROTM(N,SX,INCX,SY,INCY,SPARAM) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
INTEGER INCX,INCY,N | |||
@@ -65,9 +65,9 @@ | |||
*> SY1 is REAL | |||
*> \endverbatim | |||
*> | |||
*> \param[in,out] SPARAM | |||
*> \param[out] SPARAM | |||
*> \verbatim | |||
*> SPARAM is REAL array, dimension 5 | |||
*> SPARAM is REAL array, dimension (5) | |||
*> SPARAM(1)=SFLAG | |||
*> SPARAM(2)=SH11 | |||
*> SPARAM(3)=SH21 | |||
@@ -83,17 +83,17 @@ | |||
*> \author Univ. of Colorado Denver | |||
*> \author NAG Ltd. | |||
* | |||
*> \date December 2016 | |||
*> \date November 2017 | |||
* | |||
*> \ingroup single_blas_level1 | |||
* | |||
* ===================================================================== | |||
SUBROUTINE SROTMG(SD1,SD2,SX1,SY1,SPARAM) | |||
* | |||
* -- Reference BLAS level1 routine (version 3.7.0) -- | |||
* -- Reference BLAS level1 routine (version 3.8.0) -- | |||
* -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
* December 2016 | |||
* November 2017 | |||
* | |||
* .. Scalar Arguments .. | |||
REAL SD1,SD2,SX1,SY1 | |||
@@ -72,7 +72,7 @@ | |||
*> | |||
*> \param[in] A | |||
*> \verbatim | |||
*> A is REAL array of DIMENSION ( LDA, n ). | |||
*> A is REAL array, dimension ( LDA, N ) | |||
*> Before entry with UPLO = 'U' or 'u', the leading ( k + 1 ) | |||
*> by n part of the array A must contain the upper triangular | |||
*> band part of the symmetric matrix, supplied column by | |||
@@ -120,7 +120,7 @@ | |||
*> | |||
*> \param[in] X | |||
*> \verbatim | |||
*> X is REAL array of DIMENSION at least | |||
*> X is REAL array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCX ) ). | |||
*> Before entry, the incremented array X must contain the | |||
*> vector x. | |||
@@ -141,7 +141,7 @@ | |||
*> | |||
*> \param[in,out] Y | |||
*> \verbatim | |||
*> Y is REAL array of DIMENSION at least | |||
*> Y is REAL array, dimension at least | |||
*> ( 1 + ( n - 1 )*abs( INCY ) ). | |||
*> Before entry, the incremented array Y must contain the | |||
*> vector y. On exit, Y is overwritten by the updated vector y. | |||