| @@ -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. | |||