| @@ -6,7 +6,8 @@ cmake_minimum_required(VERSION 2.8.5) | |||
| project(OpenBLAS C ASM) | |||
| set(OpenBLAS_MAJOR_VERSION 0) | |||
| set(OpenBLAS_MINOR_VERSION 3) | |||
| set(OpenBLAS_PATCH_VERSION 9.dev) | |||
| set(OpenBLAS_PATCH_VERSION 10.dev) | |||
| set(OpenBLAS_VERSION "${OpenBLAS_MAJOR_VERSION}.${OpenBLAS_MINOR_VERSION}.${OpenBLAS_PATCH_VERSION}") | |||
| # Adhere to GNU filesystem layout conventions | |||
| @@ -1,4 +1,77 @@ | |||
| OpenBLAS ChangeLog | |||
| ==================================================================== | |||
| Version 0.3.10 | |||
| 14-Jun-2020 | |||
| common: | |||
| * Improved thread locking behaviour in blas_server and parallel getrf | |||
| * Imported bugfix 394 from LAPACK (spurious reference to "XERBL" | |||
| due to overlong lines) | |||
| * Imported bugfix 403 from LAPACK (compile option "recursive" required | |||
| for correctness with Intel and PGI) | |||
| * Imported bugfix 408 from LAPACK (wrong scaling in ZHEEQUB) | |||
| * Imported bugfix 411 from LAPACK (infinite loop in LARGV/LARTG/LARTGP) | |||
| * Fixed mismatches between BUFFERSIZE and GEMM_UNROLL parameters that | |||
| could lead to crashes at large matrix sizes | |||
| * Restored internal soname in dynamic libraries on FreeBSD and Dragonfly | |||
| * Added API (openblas_setaffinity) to set the thread affinity on Linux | |||
| * Added initial infrastructure for half-precision floating point | |||
| (bfloat16) support with a generic implementation of SHGEMM | |||
| * Added CMAKE build system support for building the cblas_Xgemm3m | |||
| functions | |||
| * Fixed CMAKE support for building in a path with embedded spaces | |||
| * Fixed CMAKE (non)handling of NO_EXPRECISION and MAX_STACK_ALLOC | |||
| * Fixed GCC version detection in the Makefiles | |||
| * Allowed overriding the names of AR, AS and LD in Makefile builds | |||
| POWER: | |||
| * Fixed big-endian POWER8 ELFv2 builds on FreeBSD | |||
| * Fixed GCC version checks and DYNAMIC_ARCH builds on POWER9 | |||
| * Fixed CMAKE build support for POWER9 | |||
| * fixed a potential race condition in the thread buffer allocation | |||
| * Worked around LAPACK test failures on PPC G4 | |||
| MIPS: | |||
| * Fixed a potential race condition in the thread buffer allocation | |||
| * Added support for MIPS 24K/24KE family based on P5600 kernels | |||
| MIPS64: | |||
| * fixed a potential race condition in the thread buffer allocation | |||
| * Added TARGET=GENERIC | |||
| ARMV7: | |||
| * Fixed a race condition in the thread buffer allocation | |||
| ARMV8: | |||
| * Fixed a race condition in the thread buffer allocation | |||
| * Fixed zero initialisation in the assembly for SGEMM and DGEMM BETA | |||
| * Improved performance of the ThunderX2 DAXPY kernel | |||
| * Added an optimized SGEMM kernel for Cortex A53 | |||
| * Fixed Makefile support for INTERFACE64 (8-byte integer) | |||
| x86_64: | |||
| * Fixed a syntax error in the CMAKE setup for SkylakeX | |||
| * Improved performance of STRSM on Haswell, SkylakeX and Ryzen | |||
| * Improved SGEMM performance on SGEMM for workloads with ldc a | |||
| multiple of 1024 | |||
| * Improved DGEMM performance on Skylake X | |||
| * Fixed unwanted AVX512-dependency of SGEMM in DYNAMIC_ARCH | |||
| builds created on SkylakeX | |||
| * Removed data alignment requirement in the SSE2 copy kernels | |||
| that could cause spurious crashes | |||
| * Added a workaround for an optimizer bug in AppleClang 11.0.3 | |||
| * Fixed LAPACK test failures due to wrong options for Intel Fortran | |||
| * Fixed compilation and LAPACK test results with recent Flang | |||
| and AMD AOCC | |||
| * Fixed DYNAMIC_ARCH builds with CMAKE on OS X | |||
| * Fixed missing exports of cblas_i?amin, cblas_i?min, cblas_i?max, | |||
| cblas_?sum, cblas_?gemm3m in the shared library on OS | |||
| * Fixed reporting of cpu name in DYNAMIC_ARCH builds (would sometimes | |||
| show the name of an older generation chip supported by the same kernels) | |||
| IBM Z: | |||
| * Improved performance of SGEMM/STRMM and DGEMM/DTRMM on Z14 | |||
| ==================================================================== | |||
| Version 0.3.9 | |||
| 1-Mar-2020 | |||
| @@ -3,7 +3,7 @@ | |||
| # | |||
| # This library's version | |||
| VERSION = 0.3.9.dev | |||
| VERSION = 0.3.10.dev | |||
| # If you set the suffix, the library name will be libopenblas_$(LIBNAMESUFFIX).a | |||
| # and libopenblas_$(LIBNAMESUFFIX).so. Meanwhile, the soname in shared library | |||
| @@ -263,10 +263,10 @@ endif | |||
| ARFLAGS = | |||
| CPP = $(COMPILER) -E | |||
| AR = $(CROSS_SUFFIX)ar | |||
| AS = $(CROSS_SUFFIX)as | |||
| LD = $(CROSS_SUFFIX)ld | |||
| RANLIB = $(CROSS_SUFFIX)ranlib | |||
| AR ?= $(CROSS_SUFFIX)ar | |||
| AS ?= $(CROSS_SUFFIX)as | |||
| LD ?= $(CROSS_SUFFIX)ld | |||
| RANLIB ?= $(CROSS_SUFFIX)ranlib | |||
| NM = $(CROSS_SUFFIX)nm | |||
| DLLWRAP = $(CROSS_SUFFIX)dllwrap | |||
| OBJCOPY = $(CROSS_SUFFIX)objcopy | |||
| @@ -282,9 +282,11 @@ endif | |||
| ifeq ($(C_COMPILER), GCC) | |||
| GCCVERSIONGTEQ4 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 4) | |||
| GCCVERSIONGT4 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \> 4) | |||
| GCCVERSIONEQ5 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` = 5) | |||
| GCCVERSIONGT5 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \> 5) | |||
| GCCVERSIONGTEQ7 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 7) | |||
| GCCVERSIONGTEQ9 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 9) | |||
| GCCMINORVERSIONGTEQ2 := $(shell expr `$(CC) -dumpversion | cut -f2 -d.` \>= 2) | |||
| GCCMINORVERSIONGTEQ7 := $(shell expr `$(CC) -dumpversion | cut -f2 -d.` \>= 7) | |||
| endif | |||
| @@ -570,20 +572,27 @@ ifeq ($(ARCH), zarch) | |||
| DYNAMIC_CORE = ZARCH_GENERIC | |||
| # Z13 is supported since gcc-5.2, gcc-6, and in RHEL 7.3 and newer | |||
| GCC_GE_52 := $(subst 0,,$(shell expr `$(CC) -dumpversion` \>= "5.2")) | |||
| ifeq ($(GCCVERSIONGT5), 1) | |||
| ZARCH_SUPPORT_Z13 := 1 | |||
| else ifeq ($(GCCVERSIONEQ5), 1) | |||
| ifeq ($(GCCMINORVERSIONGTEQ2), 1) | |||
| ZARCH_SUPPORT_Z13 := 1 | |||
| endif | |||
| endif | |||
| ifeq ($(wildcard /etc/redhat-release), /etc/redhat-release) | |||
| RHEL_WITH_Z13 := $(subst 0,,$(shell source /etc/os-release ; expr $$VERSION_ID \>= "7.3")) | |||
| ifeq ($(shell source /etc/os-release ; expr $$VERSION_ID \>= "7.3"), 1) | |||
| ZARCH_SUPPORT_Z13 := 1 | |||
| endif | |||
| endif | |||
| ifeq ($(or $(GCC_GE_52),$(RHEL_WITH_Z13)), 1) | |||
| ifeq ($(ZARCH_SUPPORT_Z13), 1) | |||
| DYNAMIC_CORE += Z13 | |||
| else | |||
| $(info OpenBLAS: Not building Z13 kernels because gcc is older than 5.2 or 6.x) | |||
| endif | |||
| GCC_MAJOR_GE_7 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 7) | |||
| ifeq ($(GCC_MAJOR_GE_7), 1) | |||
| ifeq ($(GCCVERSIONGTEQ7), 1) | |||
| DYNAMIC_CORE += Z14 | |||
| else | |||
| $(info OpenBLAS: Not building Z14 kernels because gcc is older than 7.x) | |||
| @@ -597,7 +606,6 @@ ifneq ($(C_COMPILER), GCC) | |||
| DYNAMIC_CORE += POWER9 | |||
| endif | |||
| ifeq ($(C_COMPILER), GCC) | |||
| GCCVERSIONGT5 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \> 5) | |||
| ifeq ($(GCCVERSIONGT5), 1) | |||
| DYNAMIC_CORE += POWER9 | |||
| else | |||
| @@ -783,7 +791,15 @@ endif | |||
| ifeq ($(F_COMPILER), FLANG) | |||
| CCOMMON_OPT += -DF_INTERFACE_FLANG | |||
| FCOMMON_OPT += -frecursive | |||
| FCOMMON_OPT += -Mrecursive -Kieee | |||
| ifeq ($(OSNAME), Linux) | |||
| ifeq ($(ARCH), x86_64) | |||
| FLANG_VENDOR := $(shell expr `$(FC) --version|cut -f 1 -d "."|head -1`) | |||
| ifeq ($(FLANG_VENDOR),AOCC) | |||
| FCOMMON_OPT += -fno-unroll-loops | |||
| endif | |||
| endif | |||
| endif | |||
| ifdef BINARY64 | |||
| ifdef INTERFACE64 | |||
| ifneq ($(INTERFACE64), 0) | |||
| @@ -797,11 +813,6 @@ endif | |||
| ifeq ($(USE_OPENMP), 1) | |||
| FCOMMON_OPT += -fopenmp | |||
| endif | |||
| #ifeq ($(OSNAME), Linux) | |||
| #ifeq ($(ARCH), x86_64) | |||
| #FLANG_VENDOR := $(shell expr `$(FC) --version|cut -f 1 -d "."|head -1`) | |||
| #endif | |||
| #endif | |||
| endif | |||
| ifeq ($(F_COMPILER), G77) | |||
| @@ -1276,12 +1287,7 @@ endif | |||
| override CFLAGS += $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR) | |||
| override PFLAGS += $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR) -DPROFILE $(COMMON_PROF) | |||
| #ifeq ($(FLANG_VENDOR),AOCC) | |||
| ifeq ($(F_COMPILER),FLANG) | |||
| override FFLAGS += $(filter-out -O2 -O3,$(COMMON_OPT)) -O1 $(FCOMMON_OPT) | |||
| else | |||
| override FFLAGS += $(COMMON_OPT) $(FCOMMON_OPT) | |||
| endif | |||
| override FPFLAGS += $(FCOMMON_OPT) $(COMMON_PROF) | |||
| #MAKEOVERRIDES = | |||
| @@ -16,7 +16,7 @@ if (${F_COMPILER} STREQUAL "FLANG") | |||
| if (USE_OPENMP) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -fopenmp") | |||
| endif () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -frecursive") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -Mrecursive -Kieee") | |||
| endif () | |||
| if (${F_COMPILER} STREQUAL "G77") | |||
| @@ -419,10 +419,9 @@ endif () | |||
| if ("${CMAKE_BUILD_TYPE}" STREQUAL "Release") | |||
| if ("${F_COMPILER}" STREQUAL "FLANG") | |||
| set(FILTER_FLAGS "-O2;-O3") | |||
| foreach (FILTER_FLAG ${FILTER_FLAGS}) | |||
| string(REPLACE ${FILTER_FLAG} "-O1" CMAKE_Fortran_FLAGS_RELEASE ${CMAKE_Fortran_FLAGS_RELEASE}) | |||
| endforeach () | |||
| if (${CMAKE_Fortran_COMPILER_VERSION} VERSION_LESS_EQUAL 3) | |||
| set(CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE} -fno-unroll-loops") | |||
| endif () | |||
| endif () | |||
| endif () | |||
| @@ -5,6 +5,14 @@ inline void pauser(){ | |||
| std::getline(std::cin, dummy); | |||
| } | |||
| void FailIfThreadsAreZero(uint32_t numConcurrentThreads) { | |||
| if(numConcurrentThreads == 0) { | |||
| std::cout<<"ERROR: Invalid parameter 0 for number of concurrent calls into OpenBLAS!"<<std::endl; | |||
| std::cout<<"CBLAS DGEMV thread safety test FAILED!"<<std::endl; | |||
| exit(-1); | |||
| } | |||
| } | |||
| void FillMatrices(std::vector<std::vector<double>>& matBlock, std::mt19937_64& PRNG, std::uniform_real_distribution<double>& rngdist, const blasint randomMatSize, const uint32_t numConcurrentThreads, const uint32_t numMat){ | |||
| for(uint32_t i=0; i<numMat; i++){ | |||
| for(uint32_t j = 0; j < static_cast<uint32_t>(randomMatSize*randomMatSize); j++){ | |||
| @@ -46,6 +46,8 @@ int main(int argc, char* argv[]){ | |||
| std::cout<<"Number of concurrent calls into OpenBLAS : "<<numConcurrentThreads<<'\n'; | |||
| std::cout<<"Number of testing rounds : "<<numTestRounds<<'\n'; | |||
| std::cout<<"This test will need "<<(static_cast<uint64_t>(randomMatSize*randomMatSize)*numConcurrentThreads*3*8)/static_cast<double>(1024*1024)<<" MiB of RAM\n"<<std::endl; | |||
| FailIfThreadsAreZero(numConcurrentThreads); | |||
| std::cout<<"Initializing random number generator..."<<std::flush; | |||
| std::mt19937_64 PRNG = InitPRNG(); | |||
| @@ -18,7 +18,7 @@ int main(int argc, char* argv[]){ | |||
| uint32_t maxHwThreads = omp_get_max_threads(); | |||
| if (maxHwThreads < 52) | |||
| numConcurrentThreads = maxHwThreads -4; | |||
| numConcurrentThreads = maxHwThreads; | |||
| if (argc > 4){ | |||
| std::cout<<"ERROR: too many arguments for thread safety tester"<<std::endl; | |||
| @@ -47,6 +47,8 @@ int main(int argc, char* argv[]){ | |||
| std::cout<<"Number of concurrent calls into OpenBLAS : "<<numConcurrentThreads<<'\n'; | |||
| std::cout<<"Number of testing rounds : "<<numTestRounds<<'\n'; | |||
| std::cout<<"This test will need "<<((static_cast<uint64_t>(randomMatSize*randomMatSize)*numConcurrentThreads*8)+(static_cast<uint64_t>(randomMatSize)*numConcurrentThreads*8*2))/static_cast<double>(1024*1024)<<" MiB of RAM\n"<<std::endl; | |||
| FailIfThreadsAreZero(numConcurrentThreads); | |||
| std::cout<<"Initializing random number generator..."<<std::flush; | |||
| std::mt19937_64 PRNG = InitPRNG(); | |||
| @@ -764,18 +764,53 @@ char *gotoblas_corename(void) { | |||
| if (gotoblas == &gotoblas_NORTHWOOD) return corename[ 3]; | |||
| if (gotoblas == &gotoblas_PRESCOTT) return corename[ 4]; | |||
| if (gotoblas == &gotoblas_BANIAS) return corename[ 5]; | |||
| if (gotoblas == &gotoblas_ATOM) return corename[ 6]; | |||
| if (gotoblas == &gotoblas_ATOM) | |||
| #ifdef DYNAMIC_OLDER | |||
| return corename[ 6]; | |||
| #else | |||
| return corename[10]; | |||
| #endif | |||
| if (gotoblas == &gotoblas_CORE2) return corename[ 7]; | |||
| if (gotoblas == &gotoblas_PENRYN) return corename[ 8]; | |||
| if (gotoblas == &gotoblas_DUNNINGTON) return corename[ 9]; | |||
| if (gotoblas == &gotoblas_PENRYN) | |||
| #ifdef DYNAMIC_OLDER | |||
| return corename[ 8]; | |||
| #else | |||
| return corename[7]; | |||
| #endif | |||
| if (gotoblas == &gotoblas_DUNNINGTON) | |||
| #ifdef DYNAMIC_OLDER | |||
| return corename[ 9]; | |||
| #else | |||
| return corename[7]; | |||
| #endif | |||
| if (gotoblas == &gotoblas_NEHALEM) return corename[10]; | |||
| if (gotoblas == &gotoblas_ATHLON) return corename[11]; | |||
| if (gotoblas == &gotoblas_OPTERON_SSE3) return corename[12]; | |||
| if (gotoblas == &gotoblas_OPTERON) return corename[13]; | |||
| if (gotoblas == &gotoblas_OPTERON_SSE3) | |||
| #ifdef DYNAMIC_OLDER | |||
| return corename[12]; | |||
| #else | |||
| return corename[7]; | |||
| #endif | |||
| if (gotoblas == &gotoblas_OPTERON) | |||
| #ifdef DYNAMIC_OLDER | |||
| return corename[13]; | |||
| #else | |||
| return corename[7]; | |||
| #endif | |||
| if (gotoblas == &gotoblas_BARCELONA) return corename[14]; | |||
| if (gotoblas == &gotoblas_NANO) return corename[15]; | |||
| if (gotoblas == &gotoblas_NANO) | |||
| #ifdef DYNAMIC_OLDER | |||
| return corename[15]; | |||
| #else | |||
| return corename[10]; | |||
| #endif | |||
| if (gotoblas == &gotoblas_SANDYBRIDGE) return corename[16]; | |||
| if (gotoblas == &gotoblas_BOBCAT) return corename[17]; | |||
| if (gotoblas == &gotoblas_BOBCAT) | |||
| #ifdef DYNAMIC_OLDER | |||
| return corename[17]; | |||
| #else | |||
| return corename[7]; | |||
| #endif | |||
| if (gotoblas == &gotoblas_BULLDOZER) return corename[18]; | |||
| if (gotoblas == &gotoblas_PILEDRIVER) return corename[19]; | |||
| if (gotoblas == &gotoblas_HASWELL) return corename[20]; | |||
| @@ -787,6 +822,7 @@ char *gotoblas_corename(void) { | |||
| } | |||
| static gotoblas_t *force_coretype(char *coretype){ | |||
| int i ; | |||
| @@ -40,15 +40,10 @@ | |||
| ztbsv,ztpmv,ztpsv,ztrmm,ztrmv,ztrsm,ztrsv, | |||
| xerbla, | |||
| saxpby,daxpby,caxpby,zaxpby, | |||
| somatcopy, domatcopy, comatcopy, zomatcopy, | |||
| simatcopy, dimatcopy, cimatcopy, zimatcopy, | |||
| sgeadd,dgeadd,cgeadd,zgeadd, | |||
| somatcopy, | |||
| simatcopy, | |||
| domatcopy, | |||
| dimatcopy, | |||
| comatcopy, | |||
| cimatcopy, | |||
| zomatcopy, | |||
| zimatcopy, | |||
| ssum, dsum, scsum, dzsum | |||
| ); | |||
| @halfblasobjs = (shgemm); | |||
| @@ -81,7 +76,12 @@ | |||
| cblas_saxpby,cblas_daxpby,cblas_caxpby,cblas_zaxpby, | |||
| cblas_somatcopy, cblas_domatcopy, cblas_comatcopy, cblas_zomatcopy, | |||
| cblas_simatcopy, cblas_dimatcopy, cblas_cimatcopy, cblas_zimatcopy, | |||
| cblas_sgeadd, cblas_dgeadd,cblas_cgeadd, cblas_zgeadd | |||
| cblas_sgeadd, cblas_dgeadd,cblas_cgeadd, cblas_zgeadd, | |||
| cblas_isamin, cblas_idamin, cblas_icamin, cblas_izamin, | |||
| cblas_ismin, cblas_idmin, cblas_icmin, cblas_izmin, | |||
| cblas_ismax, cblas_idmax, cblas_icmax, cblas_izmax, | |||
| cblas_ssum, cblas_dsum, cblas_scsum, cblas_dzsum, | |||
| cblas_xerbla | |||
| ); | |||
| @halfcblasobjs = (cblas_shgemm); | |||
| @@ -3501,9 +3501,12 @@ if ($ARGV[1] eq "x86") { @underscore_objs = (@underscore_objs, @gemm3mobjs); | |||
| if ($ARGV[1] eq "ia64") { @underscore_objs = (@underscore_objs, @gemm3mobjs); }; | |||
| if ($ARGV[1] eq "MIPS") { @underscore_objs = (@underscore_objs, @gemm3mobjs); }; | |||
| if ($ARGV[4] == 0) { | |||
| @no_underscore_objs = (@cblasobjs, @misc_no_underscore_objs); | |||
| if ($ARGV[1] eq "x86_64") { @no_underscore_objs = (@no_underscore_objs, @cblasgemm3mobjs); }; | |||
| if ($ARGV[1] eq "x86") { @no_underscore_objs = (@no_underscore_objs, @cblasgemm3mobjs); }; | |||
| if ($ARGV[1] eq "ia64") { @no_underscore_objs = (@no_underscore_objs, @cblasgemm3mobjs); }; | |||
| if ($ARGV[1] eq "MIPS") { @no_underscore_objs = (@no_underscore_objs, @cblasgemm3mobjs); }; | |||
| }else{ | |||
| #NO_CBLAS=1 | |||
| @no_underscore_objs = (@misc_no_underscore_objs); | |||
| @@ -1,7 +1,49 @@ | |||
| *> \brief \b CBLAT1 | |||
| * | |||
| * =========== DOCUMENTATION =========== | |||
| * | |||
| * Online html documentation available at | |||
| * http://www.netlib.org/lapack/explore-html/ | |||
| * | |||
| * Definition: | |||
| * =========== | |||
| * | |||
| * PROGRAM CBLAT1 | |||
| * | |||
| * | |||
| *> \par Purpose: | |||
| * ============= | |||
| *> | |||
| *> \verbatim | |||
| *> | |||
| *> Test program for the COMPLEX Level 1 BLAS. | |||
| *> Based upon the original BLAS test routine together with: | |||
| *> | |||
| *> F06GAF Example Program Text | |||
| *> \endverbatim | |||
| * | |||
| * Authors: | |||
| * ======== | |||
| * | |||
| *> \author Univ. of Tennessee | |||
| *> \author Univ. of California Berkeley | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \date April 2012 | |||
| * | |||
| *> \ingroup complex_blas_testing | |||
| * | |||
| * ===================================================================== | |||
| PROGRAM CBLAT1 | |||
| * Test program for the COMPLEX Level 1 BLAS. | |||
| * Based upon the original BLAS test routine together with: | |||
| * F06GAF Example Program Text | |||
| * | |||
| * -- Reference BLAS test routine (version 3.7.0) -- | |||
| * -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
| * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
| * April 2012 | |||
| * | |||
| * ===================================================================== | |||
| * | |||
| * .. Parameters .. | |||
| INTEGER NOUT | |||
| PARAMETER (NOUT=6) | |||
| @@ -114,8 +156,8 @@ | |||
| + (5.0E0,6.0E0), (5.0E0,6.0E0), (0.1E0,0.1E0), | |||
| + (-0.6E0,0.1E0), (0.1E0,-0.3E0), (7.0E0,8.0E0), | |||
| + (7.0E0,8.0E0), (7.0E0,8.0E0), (7.0E0,8.0E0), | |||
| + (7.0E0,8.0E0), (0.3E0,0.1E0), (0.1E0,0.4E0), | |||
| + (0.4E0,0.1E0), (0.1E0,0.2E0), (2.0E0,3.0E0), | |||
| + (7.0E0,8.0E0), (0.3E0,0.1E0), (0.5E0,0.0E0), | |||
| + (0.0E0,0.5E0), (0.0E0,0.2E0), (2.0E0,3.0E0), | |||
| + (2.0E0,3.0E0), (2.0E0,3.0E0), (2.0E0,3.0E0)/ | |||
| DATA ((CV(I,J,2),I=1,8),J=1,5)/(0.1E0,0.1E0), | |||
| + (4.0E0,5.0E0), (4.0E0,5.0E0), (4.0E0,5.0E0), | |||
| @@ -129,10 +171,10 @@ | |||
| + (3.0E0,6.0E0), (-0.6E0,0.1E0), (4.0E0,7.0E0), | |||
| + (0.1E0,-0.3E0), (7.0E0,2.0E0), (7.0E0,2.0E0), | |||
| + (7.0E0,2.0E0), (0.3E0,0.1E0), (5.0E0,8.0E0), | |||
| + (0.1E0,0.4E0), (6.0E0,9.0E0), (0.4E0,0.1E0), | |||
| + (8.0E0,3.0E0), (0.1E0,0.2E0), (9.0E0,4.0E0)/ | |||
| DATA STRUE2/0.0E0, 0.5E0, 0.6E0, 0.7E0, 0.7E0/ | |||
| DATA STRUE4/0.0E0, 0.7E0, 1.0E0, 1.3E0, 1.7E0/ | |||
| + (0.5E0,0.0E0), (6.0E0,9.0E0), (0.0E0,0.5E0), | |||
| + (8.0E0,3.0E0), (0.0E0,0.2E0), (9.0E0,4.0E0)/ | |||
| DATA STRUE2/0.0E0, 0.5E0, 0.6E0, 0.7E0, 0.8E0/ | |||
| DATA STRUE4/0.0E0, 0.7E0, 1.0E0, 1.3E0, 1.6E0/ | |||
| DATA ((CTRUE5(I,J,1),I=1,8),J=1,5)/(0.1E0,0.1E0), | |||
| + (1.0E0,2.0E0), (1.0E0,2.0E0), (1.0E0,2.0E0), | |||
| + (1.0E0,2.0E0), (1.0E0,2.0E0), (1.0E0,2.0E0), | |||
| @@ -145,8 +187,8 @@ | |||
| + (0.11E0,-0.03E0), (-0.17E0,0.46E0), | |||
| + (-0.17E0,-0.19E0), (7.0E0,8.0E0), (7.0E0,8.0E0), | |||
| + (7.0E0,8.0E0), (7.0E0,8.0E0), (7.0E0,8.0E0), | |||
| + (0.19E0,-0.17E0), (0.32E0,0.09E0), | |||
| + (0.23E0,-0.24E0), (0.18E0,0.01E0), | |||
| + (0.19E0,-0.17E0), (0.20E0,-0.35E0), | |||
| + (0.35E0,0.20E0), (0.14E0,0.08E0), | |||
| + (2.0E0,3.0E0), (2.0E0,3.0E0), (2.0E0,3.0E0), | |||
| + (2.0E0,3.0E0)/ | |||
| DATA ((CTRUE5(I,J,2),I=1,8),J=1,5)/(0.1E0,0.1E0), | |||
| @@ -162,9 +204,9 @@ | |||
| + (-0.17E0,0.46E0), (4.0E0,7.0E0), | |||
| + (-0.17E0,-0.19E0), (7.0E0,2.0E0), (7.0E0,2.0E0), | |||
| + (7.0E0,2.0E0), (0.19E0,-0.17E0), (5.0E0,8.0E0), | |||
| + (0.32E0,0.09E0), (6.0E0,9.0E0), | |||
| + (0.23E0,-0.24E0), (8.0E0,3.0E0), | |||
| + (0.18E0,0.01E0), (9.0E0,4.0E0)/ | |||
| + (0.20E0,-0.35E0), (6.0E0,9.0E0), | |||
| + (0.35E0,0.20E0), (8.0E0,3.0E0), | |||
| + (0.14E0,0.08E0), (9.0E0,4.0E0)/ | |||
| DATA ((CTRUE6(I,J,1),I=1,8),J=1,5)/(0.1E0,0.1E0), | |||
| + (1.0E0,2.0E0), (1.0E0,2.0E0), (1.0E0,2.0E0), | |||
| + (1.0E0,2.0E0), (1.0E0,2.0E0), (1.0E0,2.0E0), | |||
| @@ -177,8 +219,8 @@ | |||
| + (0.03E0,0.03E0), (-0.18E0,0.03E0), | |||
| + (0.03E0,-0.09E0), (7.0E0,8.0E0), (7.0E0,8.0E0), | |||
| + (7.0E0,8.0E0), (7.0E0,8.0E0), (7.0E0,8.0E0), | |||
| + (0.09E0,0.03E0), (0.03E0,0.12E0), | |||
| + (0.12E0,0.03E0), (0.03E0,0.06E0), (2.0E0,3.0E0), | |||
| + (0.09E0,0.03E0), (0.15E0,0.00E0), | |||
| + (0.00E0,0.15E0), (0.00E0,0.06E0), (2.0E0,3.0E0), | |||
| + (2.0E0,3.0E0), (2.0E0,3.0E0), (2.0E0,3.0E0)/ | |||
| DATA ((CTRUE6(I,J,2),I=1,8),J=1,5)/(0.1E0,0.1E0), | |||
| + (4.0E0,5.0E0), (4.0E0,5.0E0), (4.0E0,5.0E0), | |||
| @@ -193,8 +235,8 @@ | |||
| + (-0.18E0,0.03E0), (4.0E0,7.0E0), | |||
| + (0.03E0,-0.09E0), (7.0E0,2.0E0), (7.0E0,2.0E0), | |||
| + (7.0E0,2.0E0), (0.09E0,0.03E0), (5.0E0,8.0E0), | |||
| + (0.03E0,0.12E0), (6.0E0,9.0E0), (0.12E0,0.03E0), | |||
| + (8.0E0,3.0E0), (0.03E0,0.06E0), (9.0E0,4.0E0)/ | |||
| + (0.15E0,0.00E0), (6.0E0,9.0E0), (0.00E0,0.15E0), | |||
| + (8.0E0,3.0E0), (0.00E0,0.06E0), (9.0E0,4.0E0)/ | |||
| DATA ITRUE3/0, 1, 2, 2, 2/ | |||
| * .. Executable Statements .. | |||
| DO 60 INCX = 1, 2 | |||
| @@ -529,7 +571,8 @@ | |||
| * | |||
| * .. Parameters .. | |||
| INTEGER NOUT | |||
| PARAMETER (NOUT=6) | |||
| REAL ZERO | |||
| PARAMETER (NOUT=6, ZERO=0.0E0) | |||
| * .. Scalar Arguments .. | |||
| REAL SFAC | |||
| INTEGER LEN | |||
| @@ -552,7 +595,7 @@ | |||
| * | |||
| DO 40 I = 1, LEN | |||
| SD = SCOMP(I) - STRUE(I) | |||
| IF (SDIFF(ABS(SSIZE(I))+ABS(SFAC*SD),ABS(SSIZE(I))).EQ.0.0E0) | |||
| IF (ABS(SFAC*SD) .LE. ABS(SSIZE(I))*EPSILON(ZERO)) | |||
| + GO TO 40 | |||
| * | |||
| * HERE SCOMP(I) IS NOT CLOSE TO STRUE(I). | |||
| @@ -1,68 +1,114 @@ | |||
| *> \brief \b CBLAT2 | |||
| * | |||
| * =========== DOCUMENTATION =========== | |||
| * | |||
| * Online html documentation available at | |||
| * http://www.netlib.org/lapack/explore-html/ | |||
| * | |||
| * Definition: | |||
| * =========== | |||
| * | |||
| * PROGRAM CBLAT2 | |||
| * | |||
| * | |||
| *> \par Purpose: | |||
| * ============= | |||
| *> | |||
| *> \verbatim | |||
| *> | |||
| *> Test program for the COMPLEX Level 2 Blas. | |||
| *> | |||
| *> The program must be driven by a short data file. The first 18 records | |||
| *> of the file are read using list-directed input, the last 17 records | |||
| *> are read using the format ( A6, L2 ). An annotated example of a data | |||
| *> file can be obtained by deleting the first 3 characters from the | |||
| *> following 35 lines: | |||
| *> 'cblat2.out' NAME OF SUMMARY OUTPUT FILE | |||
| *> 6 UNIT NUMBER OF SUMMARY FILE | |||
| *> 'CBLA2T.SNAP' NAME OF SNAPSHOT OUTPUT FILE | |||
| *> -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) | |||
| *> F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. | |||
| *> F LOGICAL FLAG, T TO STOP ON FAILURES. | |||
| *> T LOGICAL FLAG, T TO TEST ERROR EXITS. | |||
| *> 16.0 THRESHOLD VALUE OF TEST RATIO | |||
| *> 6 NUMBER OF VALUES OF N | |||
| *> 0 1 2 3 5 9 VALUES OF N | |||
| *> 4 NUMBER OF VALUES OF K | |||
| *> 0 1 2 4 VALUES OF K | |||
| *> 4 NUMBER OF VALUES OF INCX AND INCY | |||
| *> 1 2 -1 -2 VALUES OF INCX AND INCY | |||
| *> 3 NUMBER OF VALUES OF ALPHA | |||
| *> (0.0,0.0) (1.0,0.0) (0.7,-0.9) VALUES OF ALPHA | |||
| *> 3 NUMBER OF VALUES OF BETA | |||
| *> (0.0,0.0) (1.0,0.0) (1.3,-1.1) VALUES OF BETA | |||
| *> CGEMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CGBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CHEMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CHBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CHPMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CTRMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CTBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CTPMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CTRSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CTBSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CTPSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CGERC T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CGERU T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CHER T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CHPR T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CHER2 T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CHPR2 T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> | |||
| *> Further Details | |||
| *> =============== | |||
| *> | |||
| *> See: | |||
| *> | |||
| *> Dongarra J. J., Du Croz J. J., Hammarling S. and Hanson R. J.. | |||
| *> An extended set of Fortran Basic Linear Algebra Subprograms. | |||
| *> | |||
| *> Technical Memoranda Nos. 41 (revision 3) and 81, Mathematics | |||
| *> and Computer Science Division, Argonne National Laboratory, | |||
| *> 9700 South Cass Avenue, Argonne, Illinois 60439, US. | |||
| *> | |||
| *> Or | |||
| *> | |||
| *> NAG Technical Reports TR3/87 and TR4/87, Numerical Algorithms | |||
| *> Group Ltd., NAG Central Office, 256 Banbury Road, Oxford | |||
| *> OX2 7DE, UK, and Numerical Algorithms Group Inc., 1101 31st | |||
| *> Street, Suite 100, Downers Grove, Illinois 60515-1263, USA. | |||
| *> | |||
| *> | |||
| *> -- Written on 10-August-1987. | |||
| *> Richard Hanson, Sandia National Labs. | |||
| *> Jeremy Du Croz, NAG Central Office. | |||
| *> | |||
| *> 10-9-00: Change STATUS='NEW' to 'UNKNOWN' so that the testers | |||
| *> can be run multiple times without deleting generated | |||
| *> output files (susan) | |||
| *> \endverbatim | |||
| * | |||
| * Authors: | |||
| * ======== | |||
| * | |||
| *> \author Univ. of Tennessee | |||
| *> \author Univ. of California Berkeley | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \date April 2012 | |||
| * | |||
| *> \ingroup complex_blas_testing | |||
| * | |||
| * ===================================================================== | |||
| PROGRAM CBLAT2 | |||
| * | |||
| * Test program for the COMPLEX Level 2 Blas. | |||
| * | |||
| * The program must be driven by a short data file. The first 18 records | |||
| * of the file are read using list-directed input, the last 17 records | |||
| * are read using the format ( A6, L2 ). An annotated example of a data | |||
| * file can be obtained by deleting the first 3 characters from the | |||
| * following 35 lines: | |||
| * 'CBLAT2.SUMM' NAME OF SUMMARY OUTPUT FILE | |||
| * 6 UNIT NUMBER OF SUMMARY FILE | |||
| * 'CBLA2T.SNAP' NAME OF SNAPSHOT OUTPUT FILE | |||
| * -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) | |||
| * F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. | |||
| * F LOGICAL FLAG, T TO STOP ON FAILURES. | |||
| * T LOGICAL FLAG, T TO TEST ERROR EXITS. | |||
| * 16.0 THRESHOLD VALUE OF TEST RATIO | |||
| * 6 NUMBER OF VALUES OF N | |||
| * 0 1 2 3 5 9 VALUES OF N | |||
| * 4 NUMBER OF VALUES OF K | |||
| * 0 1 2 4 VALUES OF K | |||
| * 4 NUMBER OF VALUES OF INCX AND INCY | |||
| * 1 2 -1 -2 VALUES OF INCX AND INCY | |||
| * 3 NUMBER OF VALUES OF ALPHA | |||
| * (0.0,0.0) (1.0,0.0) (0.7,-0.9) VALUES OF ALPHA | |||
| * 3 NUMBER OF VALUES OF BETA | |||
| * (0.0,0.0) (1.0,0.0) (1.3,-1.1) VALUES OF BETA | |||
| * CGEMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CGBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CHEMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CHBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CHPMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CTRMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CTBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CTPMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CTRSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CTBSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CTPSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CGERC T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CGERU T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CHER T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CHPR T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CHER2 T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CHPR2 T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * | |||
| * See: | |||
| * | |||
| * Dongarra J. J., Du Croz J. J., Hammarling S. and Hanson R. J.. | |||
| * An extended set of Fortran Basic Linear Algebra Subprograms. | |||
| * | |||
| * Technical Memoranda Nos. 41 (revision 3) and 81, Mathematics | |||
| * and Computer Science Division, Argonne National Laboratory, | |||
| * 9700 South Cass Avenue, Argonne, Illinois 60439, US. | |||
| * | |||
| * Or | |||
| * | |||
| * NAG Technical Reports TR3/87 and TR4/87, Numerical Algorithms | |||
| * Group Ltd., NAG Central Office, 256 Banbury Road, Oxford | |||
| * OX2 7DE, UK, and Numerical Algorithms Group Inc., 1101 31st | |||
| * Street, Suite 100, Downers Grove, Illinois 60515-1263, USA. | |||
| * -- Reference BLAS test routine (version 3.7.0) -- | |||
| * -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
| * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
| * April 2012 | |||
| * | |||
| * | |||
| * -- Written on 10-August-1987. | |||
| * Richard Hanson, Sandia National Labs. | |||
| * Jeremy Du Croz, NAG Central Office. | |||
| * ===================================================================== | |||
| * | |||
| * .. Parameters .. | |||
| INTEGER NIN | |||
| @@ -71,8 +117,8 @@ | |||
| PARAMETER ( NSUBS = 17 ) | |||
| COMPLEX ZERO, ONE | |||
| PARAMETER ( ZERO = ( 0.0, 0.0 ), ONE = ( 1.0, 0.0 ) ) | |||
| REAL RZERO, RHALF, RONE | |||
| PARAMETER ( RZERO = 0.0, RHALF = 0.5, RONE = 1.0 ) | |||
| REAL RZERO | |||
| PARAMETER ( RZERO = 0.0 ) | |||
| INTEGER NMAX, INCMAX | |||
| PARAMETER ( NMAX = 65, INCMAX = 2 ) | |||
| INTEGER NINMAX, NIDMAX, NKBMAX, NALMAX, NBEMAX | |||
| @@ -126,7 +172,7 @@ | |||
| * | |||
| READ( NIN, FMT = * )SUMMRY | |||
| READ( NIN, FMT = * )NOUT | |||
| OPEN( NOUT, FILE = SUMMRY, STATUS = 'NEW' ) | |||
| OPEN( NOUT, FILE = SUMMRY, STATUS = 'UNKNOWN' ) | |||
| NOUTC = NOUT | |||
| * | |||
| * Read name and unit number for snapshot output file and open file. | |||
| @@ -135,7 +181,7 @@ | |||
| READ( NIN, FMT = * )NTRA | |||
| TRACE = NTRA.GE.0 | |||
| IF( TRACE )THEN | |||
| OPEN( NTRA, FILE = SNAPS, STATUS = 'NEW' ) | |||
| OPEN( NTRA, FILE = SNAPS, STATUS = 'UNKNOWN' ) | |||
| END IF | |||
| * Read the flag that directs rewinding of the snapshot file. | |||
| READ( NIN, FMT = * )REWI | |||
| @@ -240,14 +286,7 @@ | |||
| * | |||
| * Compute EPS (the machine precision). | |||
| * | |||
| EPS = RONE | |||
| 90 CONTINUE | |||
| IF( SDIFF( RONE + EPS, RONE ).EQ.RZERO ) | |||
| $ GO TO 100 | |||
| EPS = RHALF*EPS | |||
| GO TO 90 | |||
| 100 CONTINUE | |||
| EPS = EPS + EPS | |||
| EPS = EPSILON(RZERO) | |||
| WRITE( NOUT, FMT = 9998 )EPS | |||
| * | |||
| * Check the reliability of CMVCH using exact data. | |||
| @@ -3079,7 +3118,6 @@ | |||
| 50 CONTINUE | |||
| END IF | |||
| * | |||
| 60 CONTINUE | |||
| LCERES = .TRUE. | |||
| GO TO 80 | |||
| 70 CONTINUE | |||
| @@ -1,50 +1,96 @@ | |||
| *> \brief \b CBLAT3 | |||
| * | |||
| * =========== DOCUMENTATION =========== | |||
| * | |||
| * Online html documentation available at | |||
| * http://www.netlib.org/lapack/explore-html/ | |||
| * | |||
| * Definition: | |||
| * =========== | |||
| * | |||
| * PROGRAM CBLAT3 | |||
| * | |||
| * | |||
| *> \par Purpose: | |||
| * ============= | |||
| *> | |||
| *> \verbatim | |||
| *> | |||
| *> Test program for the COMPLEX Level 3 Blas. | |||
| *> | |||
| *> The program must be driven by a short data file. The first 14 records | |||
| *> of the file are read using list-directed input, the last 9 records | |||
| *> are read using the format ( A6, L2 ). An annotated example of a data | |||
| *> file can be obtained by deleting the first 3 characters from the | |||
| *> following 23 lines: | |||
| *> 'cblat3.out' NAME OF SUMMARY OUTPUT FILE | |||
| *> 6 UNIT NUMBER OF SUMMARY FILE | |||
| *> 'CBLAT3.SNAP' NAME OF SNAPSHOT OUTPUT FILE | |||
| *> -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) | |||
| *> F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. | |||
| *> F LOGICAL FLAG, T TO STOP ON FAILURES. | |||
| *> T LOGICAL FLAG, T TO TEST ERROR EXITS. | |||
| *> 16.0 THRESHOLD VALUE OF TEST RATIO | |||
| *> 6 NUMBER OF VALUES OF N | |||
| *> 0 1 2 3 5 9 VALUES OF N | |||
| *> 3 NUMBER OF VALUES OF ALPHA | |||
| *> (0.0,0.0) (1.0,0.0) (0.7,-0.9) VALUES OF ALPHA | |||
| *> 3 NUMBER OF VALUES OF BETA | |||
| *> (0.0,0.0) (1.0,0.0) (1.3,-1.1) VALUES OF BETA | |||
| *> CGEMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CHEMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CSYMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CTRMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CTRSM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CHERK T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CSYRK T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CHER2K T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> CSYR2K T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> | |||
| *> Further Details | |||
| *> =============== | |||
| *> | |||
| *> See: | |||
| *> | |||
| *> Dongarra J. J., Du Croz J. J., Duff I. S. and Hammarling S. | |||
| *> A Set of Level 3 Basic Linear Algebra Subprograms. | |||
| *> | |||
| *> Technical Memorandum No.88 (Revision 1), Mathematics and | |||
| *> Computer Science Division, Argonne National Laboratory, 9700 | |||
| *> South Cass Avenue, Argonne, Illinois 60439, US. | |||
| *> | |||
| *> -- Written on 8-February-1989. | |||
| *> Jack Dongarra, Argonne National Laboratory. | |||
| *> Iain Duff, AERE Harwell. | |||
| *> Jeremy Du Croz, Numerical Algorithms Group Ltd. | |||
| *> Sven Hammarling, Numerical Algorithms Group Ltd. | |||
| *> | |||
| *> 10-9-00: Change STATUS='NEW' to 'UNKNOWN' so that the testers | |||
| *> can be run multiple times without deleting generated | |||
| *> output files (susan) | |||
| *> \endverbatim | |||
| * | |||
| * Authors: | |||
| * ======== | |||
| * | |||
| *> \author Univ. of Tennessee | |||
| *> \author Univ. of California Berkeley | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \date April 2012 | |||
| * | |||
| *> \ingroup complex_blas_testing | |||
| * | |||
| * ===================================================================== | |||
| PROGRAM CBLAT3 | |||
| * | |||
| * Test program for the COMPLEX Level 3 Blas. | |||
| * | |||
| * The program must be driven by a short data file. The first 14 records | |||
| * of the file are read using list-directed input, the last 9 records | |||
| * are read using the format ( A6, L2 ). An annotated example of a data | |||
| * file can be obtained by deleting the first 3 characters from the | |||
| * following 23 lines: | |||
| * 'CBLAT3.SUMM' NAME OF SUMMARY OUTPUT FILE | |||
| * 6 UNIT NUMBER OF SUMMARY FILE | |||
| * 'CBLAT3.SNAP' NAME OF SNAPSHOT OUTPUT FILE | |||
| * -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) | |||
| * F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. | |||
| * F LOGICAL FLAG, T TO STOP ON FAILURES. | |||
| * T LOGICAL FLAG, T TO TEST ERROR EXITS. | |||
| * 16.0 THRESHOLD VALUE OF TEST RATIO | |||
| * 6 NUMBER OF VALUES OF N | |||
| * 0 1 2 3 5 9 VALUES OF N | |||
| * 3 NUMBER OF VALUES OF ALPHA | |||
| * (0.0,0.0) (1.0,0.0) (0.7,-0.9) VALUES OF ALPHA | |||
| * 3 NUMBER OF VALUES OF BETA | |||
| * (0.0,0.0) (1.0,0.0) (1.3,-1.1) VALUES OF BETA | |||
| * CGEMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CHEMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CSYMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CTRMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CTRSM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CHERK T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CSYRK T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CHER2K T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * CSYR2K T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * | |||
| * See: | |||
| * | |||
| * Dongarra J. J., Du Croz J. J., Duff I. S. and Hammarling S. | |||
| * A Set of Level 3 Basic Linear Algebra Subprograms. | |||
| * | |||
| * Technical Memorandum No.88 (Revision 1), Mathematics and | |||
| * Computer Science Division, Argonne National Laboratory, 9700 | |||
| * South Cass Avenue, Argonne, Illinois 60439, US. | |||
| * -- Reference BLAS test routine (version 3.7.0) -- | |||
| * -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
| * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
| * April 2012 | |||
| * | |||
| * -- Written on 8-February-1989. | |||
| * Jack Dongarra, Argonne National Laboratory. | |||
| * Iain Duff, AERE Harwell. | |||
| * Jeremy Du Croz, Numerical Algorithms Group Ltd. | |||
| * Sven Hammarling, Numerical Algorithms Group Ltd. | |||
| * ===================================================================== | |||
| * | |||
| * .. Parameters .. | |||
| INTEGER NIN | |||
| @@ -53,8 +99,8 @@ | |||
| PARAMETER ( NSUBS = 9 ) | |||
| COMPLEX ZERO, ONE | |||
| PARAMETER ( ZERO = ( 0.0, 0.0 ), ONE = ( 1.0, 0.0 ) ) | |||
| REAL RZERO, RHALF, RONE | |||
| PARAMETER ( RZERO = 0.0, RHALF = 0.5, RONE = 1.0 ) | |||
| REAL RZERO | |||
| PARAMETER ( RZERO = 0.0 ) | |||
| INTEGER NMAX | |||
| PARAMETER ( NMAX = 65 ) | |||
| INTEGER NIDMAX, NALMAX, NBEMAX | |||
| @@ -103,7 +149,7 @@ | |||
| * | |||
| READ( NIN, FMT = * )SUMMRY | |||
| READ( NIN, FMT = * )NOUT | |||
| OPEN( NOUT, FILE = SUMMRY, STATUS = 'NEW' ) | |||
| OPEN( NOUT, FILE = SUMMRY ) | |||
| NOUTC = NOUT | |||
| * | |||
| * Read name and unit number for snapshot output file and open file. | |||
| @@ -112,7 +158,7 @@ | |||
| READ( NIN, FMT = * )NTRA | |||
| TRACE = NTRA.GE.0 | |||
| IF( TRACE )THEN | |||
| OPEN( NTRA, FILE = SNAPS, STATUS = 'NEW' ) | |||
| OPEN( NTRA, FILE = SNAPS ) | |||
| END IF | |||
| * Read the flag that directs rewinding of the snapshot file. | |||
| READ( NIN, FMT = * )REWI | |||
| @@ -189,14 +235,7 @@ | |||
| * | |||
| * Compute EPS (the machine precision). | |||
| * | |||
| EPS = RONE | |||
| 70 CONTINUE | |||
| IF( SDIFF( RONE + EPS, RONE ).EQ.RZERO ) | |||
| $ GO TO 80 | |||
| EPS = RHALF*EPS | |||
| GO TO 70 | |||
| 80 CONTINUE | |||
| EPS = EPS + EPS | |||
| EPS = EPSILON(RZERO) | |||
| WRITE( NOUT, FMT = 9998 )EPS | |||
| * | |||
| * Check the reliability of CMMCH using exact data. | |||
| @@ -1301,8 +1340,6 @@ | |||
| NC = 0 | |||
| RESET = .TRUE. | |||
| ERRMAX = RZERO | |||
| RALS = RONE | |||
| RBETS = RONE | |||
| * | |||
| DO 100 IN = 1, NIDIM | |||
| N = IDIM( IN ) | |||
| @@ -1948,7 +1985,7 @@ | |||
| * | |||
| * Tests the error exits from the Level 3 Blas. | |||
| * Requires a special version of the error-handling routine XERBLA. | |||
| * ALPHA, RALPHA, BETA, RBETA, A, B and C should not need to be defined. | |||
| * A, B and C should not need to be defined. | |||
| * | |||
| * Auxiliary routine for test program for Level 3 Blas. | |||
| * | |||
| @@ -1958,12 +1995,19 @@ | |||
| * Jeremy Du Croz, Numerical Algorithms Group Ltd. | |||
| * Sven Hammarling, Numerical Algorithms Group Ltd. | |||
| * | |||
| * 3-19-92: Initialize ALPHA, BETA, RALPHA, and RBETA (eca) | |||
| * 3-19-92: Fix argument 12 in calls to CSYMM and CHEMM | |||
| * with INFOT = 9 (eca) | |||
| * | |||
| * .. Scalar Arguments .. | |||
| INTEGER ISNUM, NOUT | |||
| CHARACTER*6 SRNAMT | |||
| * .. Scalars in Common .. | |||
| INTEGER INFOT, NOUTC | |||
| LOGICAL LERR, OK | |||
| * .. Parameters .. | |||
| REAL ONE, TWO | |||
| PARAMETER ( ONE = 1.0E0, TWO = 2.0E0 ) | |||
| * .. Local Scalars .. | |||
| COMPLEX ALPHA, BETA | |||
| REAL RALPHA, RBETA | |||
| @@ -1981,6 +2025,14 @@ | |||
| * LERR is set to .TRUE. by the special version of XERBLA each time | |||
| * it is called, and is then tested and re-set by CHKXER. | |||
| LERR = .FALSE. | |||
| * | |||
| * Initialize ALPHA, BETA, RALPHA, and RBETA. | |||
| * | |||
| ALPHA = CMPLX( ONE, -ONE ) | |||
| BETA = CMPLX( TWO, -TWO ) | |||
| RALPHA = ONE | |||
| RBETA = TWO | |||
| * | |||
| GO TO ( 10, 20, 30, 40, 50, 60, 70, 80, | |||
| $ 90 )ISNUM | |||
| 10 INFOT = 1 | |||
| @@ -2207,16 +2259,16 @@ | |||
| CALL CHEMM( 'R', 'L', 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL CHEMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 ) | |||
| CALL CHEMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL CHEMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) | |||
| CALL CHEMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL CHEMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 ) | |||
| CALL CHEMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL CHEMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) | |||
| CALL CHEMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 12 | |||
| CALL CHEMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 2, BETA, C, 1 ) | |||
| @@ -2274,16 +2326,16 @@ | |||
| CALL CSYMM( 'R', 'L', 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL CSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 ) | |||
| CALL CSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL CSYMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) | |||
| CALL CSYMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL CSYMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 ) | |||
| CALL CSYMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL CSYMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) | |||
| CALL CSYMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 12 | |||
| CALL CSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 2, BETA, C, 1 ) | |||
| @@ -3270,7 +3322,6 @@ | |||
| 50 CONTINUE | |||
| END IF | |||
| * | |||
| 60 CONTINUE | |||
| LCERES = .TRUE. | |||
| GO TO 80 | |||
| 70 CONTINUE | |||
| @@ -1,75 +1,121 @@ | |||
| *> \brief \b DBLAT2 | |||
| * | |||
| * =========== DOCUMENTATION =========== | |||
| * | |||
| * Online html documentation available at | |||
| * http://www.netlib.org/lapack/explore-html/ | |||
| * | |||
| * Definition: | |||
| * =========== | |||
| * | |||
| * PROGRAM DBLAT2 | |||
| * | |||
| * | |||
| *> \par Purpose: | |||
| * ============= | |||
| *> | |||
| *> \verbatim | |||
| *> | |||
| *> Test program for the DOUBLE PRECISION Level 2 Blas. | |||
| *> | |||
| *> The program must be driven by a short data file. The first 18 records | |||
| *> of the file are read using list-directed input, the last 16 records | |||
| *> are read using the format ( A6, L2 ). An annotated example of a data | |||
| *> file can be obtained by deleting the first 3 characters from the | |||
| *> following 34 lines: | |||
| *> 'dblat2.out' NAME OF SUMMARY OUTPUT FILE | |||
| *> 6 UNIT NUMBER OF SUMMARY FILE | |||
| *> 'DBLAT2.SNAP' NAME OF SNAPSHOT OUTPUT FILE | |||
| *> -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) | |||
| *> F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. | |||
| *> F LOGICAL FLAG, T TO STOP ON FAILURES. | |||
| *> T LOGICAL FLAG, T TO TEST ERROR EXITS. | |||
| *> 16.0 THRESHOLD VALUE OF TEST RATIO | |||
| *> 6 NUMBER OF VALUES OF N | |||
| *> 0 1 2 3 5 9 VALUES OF N | |||
| *> 4 NUMBER OF VALUES OF K | |||
| *> 0 1 2 4 VALUES OF K | |||
| *> 4 NUMBER OF VALUES OF INCX AND INCY | |||
| *> 1 2 -1 -2 VALUES OF INCX AND INCY | |||
| *> 3 NUMBER OF VALUES OF ALPHA | |||
| *> 0.0 1.0 0.7 VALUES OF ALPHA | |||
| *> 3 NUMBER OF VALUES OF BETA | |||
| *> 0.0 1.0 0.9 VALUES OF BETAC | |||
| *> DGEMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> DGBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> DSYMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> DSBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> DSPMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> DTRMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> DTBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> DTPMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> DTRSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> DTBSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> DTPSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> DGER T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> DSYR T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> DSPR T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> DSYR2 T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> DSPR2 T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> | |||
| *> Further Details | |||
| *> =============== | |||
| *> | |||
| *> See: | |||
| *> | |||
| *> Dongarra J. J., Du Croz J. J., Hammarling S. and Hanson R. J.. | |||
| *> An extended set of Fortran Basic Linear Algebra Subprograms. | |||
| *> | |||
| *> Technical Memoranda Nos. 41 (revision 3) and 81, Mathematics | |||
| *> and Computer Science Division, Argonne National Laboratory, | |||
| *> 9700 South Cass Avenue, Argonne, Illinois 60439, US. | |||
| *> | |||
| *> Or | |||
| *> | |||
| *> NAG Technical Reports TR3/87 and TR4/87, Numerical Algorithms | |||
| *> Group Ltd., NAG Central Office, 256 Banbury Road, Oxford | |||
| *> OX2 7DE, UK, and Numerical Algorithms Group Inc., 1101 31st | |||
| *> Street, Suite 100, Downers Grove, Illinois 60515-1263, USA. | |||
| *> | |||
| *> | |||
| *> -- Written on 10-August-1987. | |||
| *> Richard Hanson, Sandia National Labs. | |||
| *> Jeremy Du Croz, NAG Central Office. | |||
| *> | |||
| *> 10-9-00: Change STATUS='NEW' to 'UNKNOWN' so that the testers | |||
| *> can be run multiple times without deleting generated | |||
| *> output files (susan) | |||
| *> \endverbatim | |||
| * | |||
| * Authors: | |||
| * ======== | |||
| * | |||
| *> \author Univ. of Tennessee | |||
| *> \author Univ. of California Berkeley | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \date April 2012 | |||
| * | |||
| *> \ingroup double_blas_testing | |||
| * | |||
| * ===================================================================== | |||
| PROGRAM DBLAT2 | |||
| * | |||
| * Test program for the DOUBLE PRECISION Level 2 Blas. | |||
| * | |||
| * The program must be driven by a short data file. The first 18 records | |||
| * of the file are read using list-directed input, the last 16 records | |||
| * are read using the format ( A6, L2 ). An annotated example of a data | |||
| * file can be obtained by deleting the first 3 characters from the | |||
| * following 34 lines: | |||
| * 'DBLAT2.SUMM' NAME OF SUMMARY OUTPUT FILE | |||
| * 6 UNIT NUMBER OF SUMMARY FILE | |||
| * 'DBLAT2.SNAP' NAME OF SNAPSHOT OUTPUT FILE | |||
| * -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) | |||
| * F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. | |||
| * F LOGICAL FLAG, T TO STOP ON FAILURES. | |||
| * T LOGICAL FLAG, T TO TEST ERROR EXITS. | |||
| * 16.0 THRESHOLD VALUE OF TEST RATIO | |||
| * 6 NUMBER OF VALUES OF N | |||
| * 0 1 2 3 5 9 VALUES OF N | |||
| * 4 NUMBER OF VALUES OF K | |||
| * 0 1 2 4 VALUES OF K | |||
| * 4 NUMBER OF VALUES OF INCX AND INCY | |||
| * 1 2 -1 -2 VALUES OF INCX AND INCY | |||
| * 3 NUMBER OF VALUES OF ALPHA | |||
| * 0.0 1.0 0.7 VALUES OF ALPHA | |||
| * 3 NUMBER OF VALUES OF BETA | |||
| * 0.0 1.0 0.9 VALUES OF BETA | |||
| * DGEMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * DGBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * DSYMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * DSBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * DSPMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * DTRMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * DTBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * DTPMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * DTRSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * DTBSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * DTPSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * DGER T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * DSYR T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * DSPR T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * DSYR2 T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * DSPR2 T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * | |||
| * See: | |||
| * | |||
| * Dongarra J. J., Du Croz J. J., Hammarling S. and Hanson R. J.. | |||
| * An extended set of Fortran Basic Linear Algebra Subprograms. | |||
| * | |||
| * Technical Memoranda Nos. 41 (revision 3) and 81, Mathematics | |||
| * and Computer Science Division, Argonne National Laboratory, | |||
| * 9700 South Cass Avenue, Argonne, Illinois 60439, US. | |||
| * | |||
| * Or | |||
| * | |||
| * NAG Technical Reports TR3/87 and TR4/87, Numerical Algorithms | |||
| * Group Ltd., NAG Central Office, 256 Banbury Road, Oxford | |||
| * OX2 7DE, UK, and Numerical Algorithms Group Inc., 1101 31st | |||
| * Street, Suite 100, Downers Grove, Illinois 60515-1263, USA. | |||
| * -- Reference BLAS test routine (version 3.7.0) -- | |||
| * -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
| * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
| * April 2012 | |||
| * | |||
| * | |||
| * -- Written on 10-August-1987. | |||
| * Richard Hanson, Sandia National Labs. | |||
| * Jeremy Du Croz, NAG Central Office. | |||
| * ===================================================================== | |||
| * | |||
| * .. Parameters .. | |||
| INTEGER NIN | |||
| PARAMETER ( NIN = 5 ) | |||
| INTEGER NSUBS | |||
| PARAMETER ( NSUBS = 16 ) | |||
| DOUBLE PRECISION ZERO, HALF, ONE | |||
| PARAMETER ( ZERO = 0.0D0, HALF = 0.5D0, ONE = 1.0D0 ) | |||
| DOUBLE PRECISION ZERO, ONE | |||
| PARAMETER ( ZERO = 0.0D0, ONE = 1.0D0 ) | |||
| INTEGER NMAX, INCMAX | |||
| PARAMETER ( NMAX = 65, INCMAX = 2 ) | |||
| INTEGER NINMAX, NIDMAX, NKBMAX, NALMAX, NBEMAX | |||
| @@ -121,7 +167,7 @@ | |||
| * | |||
| READ( NIN, FMT = * )SUMMRY | |||
| READ( NIN, FMT = * )NOUT | |||
| OPEN( NOUT, FILE = SUMMRY, STATUS = 'NEW' ) | |||
| OPEN( NOUT, FILE = SUMMRY, STATUS = 'UNKNOWN' ) | |||
| NOUTC = NOUT | |||
| * | |||
| * Read name and unit number for snapshot output file and open file. | |||
| @@ -130,7 +176,7 @@ | |||
| READ( NIN, FMT = * )NTRA | |||
| TRACE = NTRA.GE.0 | |||
| IF( TRACE )THEN | |||
| OPEN( NTRA, FILE = SNAPS, STATUS = 'NEW' ) | |||
| OPEN( NTRA, FILE = SNAPS, STATUS = 'UNKNOWN' ) | |||
| END IF | |||
| * Read the flag that directs rewinding of the snapshot file. | |||
| READ( NIN, FMT = * )REWI | |||
| @@ -235,14 +281,7 @@ | |||
| * | |||
| * Compute EPS (the machine precision). | |||
| * | |||
| EPS = ONE | |||
| 90 CONTINUE | |||
| IF( DDIFF( ONE + EPS, ONE ).EQ.ZERO ) | |||
| $ GO TO 100 | |||
| EPS = HALF*EPS | |||
| GO TO 90 | |||
| 100 CONTINUE | |||
| EPS = EPS + EPS | |||
| EPS = EPSILON(ZERO) | |||
| WRITE( NOUT, FMT = 9998 )EPS | |||
| * | |||
| * Check the reliability of DMVCH using exact data. | |||
| @@ -2982,7 +3021,6 @@ | |||
| 50 CONTINUE | |||
| END IF | |||
| * | |||
| 60 CONTINUE | |||
| LDERES = .TRUE. | |||
| GO TO 80 | |||
| 70 CONTINUE | |||
| @@ -1,55 +1,101 @@ | |||
| *> \brief \b DBLAT3 | |||
| * | |||
| * =========== DOCUMENTATION =========== | |||
| * | |||
| * Online html documentation available at | |||
| * http://www.netlib.org/lapack/explore-html/ | |||
| * | |||
| * Definition: | |||
| * =========== | |||
| * | |||
| * PROGRAM DBLAT3 | |||
| * | |||
| * | |||
| *> \par Purpose: | |||
| * ============= | |||
| *> | |||
| *> \verbatim | |||
| *> | |||
| *> Test program for the DOUBLE PRECISION Level 3 Blas. | |||
| *> | |||
| *> The program must be driven by a short data file. The first 14 records | |||
| *> of the file are read using list-directed input, the last 6 records | |||
| *> are read using the format ( A6, L2 ). An annotated example of a data | |||
| *> file can be obtained by deleting the first 3 characters from the | |||
| *> following 20 lines: | |||
| *> 'dblat3.out' NAME OF SUMMARY OUTPUT FILE | |||
| *> 6 UNIT NUMBER OF SUMMARY FILE | |||
| *> 'DBLAT3.SNAP' NAME OF SNAPSHOT OUTPUT FILE | |||
| *> -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) | |||
| *> F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. | |||
| *> F LOGICAL FLAG, T TO STOP ON FAILURES. | |||
| *> T LOGICAL FLAG, T TO TEST ERROR EXITS. | |||
| *> 16.0 THRESHOLD VALUE OF TEST RATIO | |||
| *> 6 NUMBER OF VALUES OF N | |||
| *> 0 1 2 3 5 9 VALUES OF N | |||
| *> 3 NUMBER OF VALUES OF ALPHA | |||
| *> 0.0 1.0 0.7 VALUES OF ALPHA | |||
| *> 3 NUMBER OF VALUES OF BETA | |||
| *> 0.0 1.0 1.3 VALUES OF BETA | |||
| *> DGEMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> DSYMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> DTRMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> DTRSM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> DSYRK T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> DSYR2K T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> | |||
| *> Further Details | |||
| *> =============== | |||
| *> | |||
| *> See: | |||
| *> | |||
| *> Dongarra J. J., Du Croz J. J., Duff I. S. and Hammarling S. | |||
| *> A Set of Level 3 Basic Linear Algebra Subprograms. | |||
| *> | |||
| *> Technical Memorandum No.88 (Revision 1), Mathematics and | |||
| *> Computer Science Division, Argonne National Laboratory, 9700 | |||
| *> South Cass Avenue, Argonne, Illinois 60439, US. | |||
| *> | |||
| *> -- Written on 8-February-1989. | |||
| *> Jack Dongarra, Argonne National Laboratory. | |||
| *> Iain Duff, AERE Harwell. | |||
| *> Jeremy Du Croz, Numerical Algorithms Group Ltd. | |||
| *> Sven Hammarling, Numerical Algorithms Group Ltd. | |||
| *> | |||
| *> 10-9-00: Change STATUS='NEW' to 'UNKNOWN' so that the testers | |||
| *> can be run multiple times without deleting generated | |||
| *> output files (susan) | |||
| *> \endverbatim | |||
| * | |||
| * Authors: | |||
| * ======== | |||
| * | |||
| *> \author Univ. of Tennessee | |||
| *> \author Univ. of California Berkeley | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \date April 2012 | |||
| * | |||
| *> \ingroup double_blas_testing | |||
| * | |||
| * ===================================================================== | |||
| PROGRAM DBLAT3 | |||
| * | |||
| * Test program for the DOUBLE PRECISION Level 3 Blas. | |||
| * | |||
| * The program must be driven by a short data file. The first 14 records | |||
| * of the file are read using list-directed input, the last 6 records | |||
| * are read using the format ( A6, L2 ). An annotated example of a data | |||
| * file can be obtained by deleting the first 3 characters from the | |||
| * following 20 lines: | |||
| * 'DBLAT3.SUMM' NAME OF SUMMARY OUTPUT FILE | |||
| * 6 UNIT NUMBER OF SUMMARY FILE | |||
| * 'DBLAT3.SNAP' NAME OF SNAPSHOT OUTPUT FILE | |||
| * -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) | |||
| * F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. | |||
| * F LOGICAL FLAG, T TO STOP ON FAILURES. | |||
| * T LOGICAL FLAG, T TO TEST ERROR EXITS. | |||
| * 16.0 THRESHOLD VALUE OF TEST RATIO | |||
| * 6 NUMBER OF VALUES OF N | |||
| * 0 1 2 3 5 9 VALUES OF N | |||
| * 3 NUMBER OF VALUES OF ALPHA | |||
| * 0.0 1.0 0.7 VALUES OF ALPHA | |||
| * 3 NUMBER OF VALUES OF BETA | |||
| * 0.0 1.0 1.3 VALUES OF BETA | |||
| * DGEMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * DSYMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * DTRMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * DTRSM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * DSYRK T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * DSYR2K T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * | |||
| * See: | |||
| * | |||
| * Dongarra J. J., Du Croz J. J., Duff I. S. and Hammarling S. | |||
| * A Set of Level 3 Basic Linear Algebra Subprograms. | |||
| * | |||
| * Technical Memorandum No.88 (Revision 1), Mathematics and | |||
| * Computer Science Division, Argonne National Laboratory, 9700 | |||
| * South Cass Avenue, Argonne, Illinois 60439, US. | |||
| * -- Reference BLAS test routine (version 3.7.0) -- | |||
| * -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
| * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
| * April 2012 | |||
| * | |||
| * -- Written on 8-February-1989. | |||
| * Jack Dongarra, Argonne National Laboratory. | |||
| * Iain Duff, AERE Harwell. | |||
| * Jeremy Du Croz, Numerical Algorithms Group Ltd. | |||
| * Sven Hammarling, Numerical Algorithms Group Ltd. | |||
| * ===================================================================== | |||
| * | |||
| * .. Parameters .. | |||
| INTEGER NIN | |||
| PARAMETER ( NIN = 5 ) | |||
| INTEGER NSUBS | |||
| PARAMETER ( NSUBS = 6 ) | |||
| DOUBLE PRECISION ZERO, HALF, ONE | |||
| PARAMETER ( ZERO = 0.0D0, HALF = 0.5D0, ONE = 1.0D0 ) | |||
| DOUBLE PRECISION ZERO, ONE | |||
| PARAMETER ( ZERO = 0.0D0, ONE = 1.0D0 ) | |||
| INTEGER NMAX | |||
| PARAMETER ( NMAX = 65 ) | |||
| INTEGER NIDMAX, NALMAX, NBEMAX | |||
| @@ -96,7 +142,7 @@ | |||
| * | |||
| READ( NIN, FMT = * )SUMMRY | |||
| READ( NIN, FMT = * )NOUT | |||
| OPEN( NOUT, FILE = SUMMRY, STATUS = 'NEW' ) | |||
| OPEN( NOUT, FILE = SUMMRY, STATUS = 'UNKNOWN' ) | |||
| NOUTC = NOUT | |||
| * | |||
| * Read name and unit number for snapshot output file and open file. | |||
| @@ -105,7 +151,7 @@ | |||
| READ( NIN, FMT = * )NTRA | |||
| TRACE = NTRA.GE.0 | |||
| IF( TRACE )THEN | |||
| OPEN( NTRA, FILE = SNAPS, STATUS = 'NEW' ) | |||
| OPEN( NTRA, FILE = SNAPS, STATUS = 'UNKNOWN' ) | |||
| END IF | |||
| * Read the flag that directs rewinding of the snapshot file. | |||
| READ( NIN, FMT = * )REWI | |||
| @@ -182,14 +228,7 @@ | |||
| * | |||
| * Compute EPS (the machine precision). | |||
| * | |||
| EPS = ONE | |||
| 70 CONTINUE | |||
| IF( DDIFF( ONE + EPS, ONE ).EQ.ZERO ) | |||
| $ GO TO 80 | |||
| EPS = HALF*EPS | |||
| GO TO 70 | |||
| 80 CONTINUE | |||
| EPS = EPS + EPS | |||
| EPS = EPSILON(ZERO) | |||
| WRITE( NOUT, FMT = 9998 )EPS | |||
| * | |||
| * Check the reliability of DMMCH using exact data. | |||
| @@ -1802,7 +1841,7 @@ | |||
| * | |||
| * Tests the error exits from the Level 3 Blas. | |||
| * Requires a special version of the error-handling routine XERBLA. | |||
| * ALPHA, BETA, A, B and C should not need to be defined. | |||
| * A, B and C should not need to be defined. | |||
| * | |||
| * Auxiliary routine for test program for Level 3 Blas. | |||
| * | |||
| @@ -1812,12 +1851,18 @@ | |||
| * Jeremy Du Croz, Numerical Algorithms Group Ltd. | |||
| * Sven Hammarling, Numerical Algorithms Group Ltd. | |||
| * | |||
| * 3-19-92: Initialize ALPHA and BETA (eca) | |||
| * 3-19-92: Fix argument 12 in calls to SSYMM with INFOT = 9 (eca) | |||
| * | |||
| * .. Scalar Arguments .. | |||
| INTEGER ISNUM, NOUT | |||
| CHARACTER*6 SRNAMT | |||
| * .. Scalars in Common .. | |||
| INTEGER INFOT, NOUTC | |||
| LOGICAL LERR, OK | |||
| * .. Parameters .. | |||
| DOUBLE PRECISION ONE, TWO | |||
| PARAMETER ( ONE = 1.0D0, TWO = 2.0D0 ) | |||
| * .. Local Scalars .. | |||
| DOUBLE PRECISION ALPHA, BETA | |||
| * .. Local Arrays .. | |||
| @@ -1834,6 +1879,12 @@ | |||
| * LERR is set to .TRUE. by the special version of XERBLA each time | |||
| * it is called, and is then tested and re-set by CHKXER. | |||
| LERR = .FALSE. | |||
| * | |||
| * Initialize ALPHA and BETA. | |||
| * | |||
| ALPHA = ONE | |||
| BETA = TWO | |||
| * | |||
| GO TO ( 10, 20, 30, 40, 50, 60 )ISNUM | |||
| 10 INFOT = 1 | |||
| CALL DGEMM( '/', 'N', 0, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) | |||
| @@ -1963,16 +2014,16 @@ | |||
| CALL DSYMM( 'R', 'L', 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL DSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 ) | |||
| CALL DSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL DSYMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) | |||
| CALL DSYMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL DSYMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 ) | |||
| CALL DSYMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL DSYMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) | |||
| CALL DSYMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 12 | |||
| CALL DSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 2, BETA, C, 1 ) | |||
| @@ -2660,7 +2711,6 @@ | |||
| 50 CONTINUE | |||
| END IF | |||
| * | |||
| 60 CONTINUE | |||
| LDERES = .TRUE. | |||
| GO TO 80 | |||
| 70 CONTINUE | |||
| @@ -1,75 +1,121 @@ | |||
| *> \brief \b SBLAT2 | |||
| * | |||
| * =========== DOCUMENTATION =========== | |||
| * | |||
| * Online html documentation available at | |||
| * http://www.netlib.org/lapack/explore-html/ | |||
| * | |||
| * Definition: | |||
| * =========== | |||
| * | |||
| * PROGRAM SBLAT2 | |||
| * | |||
| * | |||
| *> \par Purpose: | |||
| * ============= | |||
| *> | |||
| *> \verbatim | |||
| *> | |||
| *> Test program for the REAL Level 2 Blas. | |||
| *> | |||
| *> The program must be driven by a short data file. The first 18 records | |||
| *> of the file are read using list-directed input, the last 16 records | |||
| *> are read using the format ( A6, L2 ). An annotated example of a data | |||
| *> file can be obtained by deleting the first 3 characters from the | |||
| *> following 34 lines: | |||
| *> 'sblat2.out' NAME OF SUMMARY OUTPUT FILE | |||
| *> 6 UNIT NUMBER OF SUMMARY FILE | |||
| *> 'SBLAT2.SNAP' NAME OF SNAPSHOT OUTPUT FILE | |||
| *> -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) | |||
| *> F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. | |||
| *> F LOGICAL FLAG, T TO STOP ON FAILURES. | |||
| *> T LOGICAL FLAG, T TO TEST ERROR EXITS. | |||
| *> 16.0 THRESHOLD VALUE OF TEST RATIO | |||
| *> 6 NUMBER OF VALUES OF N | |||
| *> 0 1 2 3 5 9 VALUES OF N | |||
| *> 4 NUMBER OF VALUES OF K | |||
| *> 0 1 2 4 VALUES OF K | |||
| *> 4 NUMBER OF VALUES OF INCX AND INCY | |||
| *> 1 2 -1 -2 VALUES OF INCX AND INCY | |||
| *> 3 NUMBER OF VALUES OF ALPHA | |||
| *> 0.0 1.0 0.7 VALUES OF ALPHA | |||
| *> 3 NUMBER OF VALUES OF BETA | |||
| *> 0.0 1.0 0.9 VALUES OF BETA | |||
| *> SGEMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> SGBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> SSYMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> SSBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> SSPMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> STRMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> STBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> STPMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> STRSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> STBSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> STPSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> SGER T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> SSYR T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> SSPR T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> SSYR2 T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> SSPR2 T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> | |||
| *> Further Details | |||
| *> =============== | |||
| *> | |||
| *> See: | |||
| *> | |||
| *> Dongarra J. J., Du Croz J. J., Hammarling S. and Hanson R. J.. | |||
| *> An extended set of Fortran Basic Linear Algebra Subprograms. | |||
| *> | |||
| *> Technical Memoranda Nos. 41 (revision 3) and 81, Mathematics | |||
| *> and Computer Science Division, Argonne National Laboratory, | |||
| *> 9700 South Cass Avenue, Argonne, Illinois 60439, US. | |||
| *> | |||
| *> Or | |||
| *> | |||
| *> NAG Technical Reports TR3/87 and TR4/87, Numerical Algorithms | |||
| *> Group Ltd., NAG Central Office, 256 Banbury Road, Oxford | |||
| *> OX2 7DE, UK, and Numerical Algorithms Group Inc., 1101 31st | |||
| *> Street, Suite 100, Downers Grove, Illinois 60515-1263, USA. | |||
| *> | |||
| *> | |||
| *> -- Written on 10-August-1987. | |||
| *> Richard Hanson, Sandia National Labs. | |||
| *> Jeremy Du Croz, NAG Central Office. | |||
| *> | |||
| *> 10-9-00: Change STATUS='NEW' to 'UNKNOWN' so that the testers | |||
| *> can be run multiple times without deleting generated | |||
| *> output files (susan) | |||
| *> \endverbatim | |||
| * | |||
| * Authors: | |||
| * ======== | |||
| * | |||
| *> \author Univ. of Tennessee | |||
| *> \author Univ. of California Berkeley | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \date April 2012 | |||
| * | |||
| *> \ingroup single_blas_testing | |||
| * | |||
| * ===================================================================== | |||
| PROGRAM SBLAT2 | |||
| * | |||
| * Test program for the REAL Level 2 Blas. | |||
| * | |||
| * The program must be driven by a short data file. The first 18 records | |||
| * of the file are read using list-directed input, the last 16 records | |||
| * are read using the format ( A6, L2 ). An annotated example of a data | |||
| * file can be obtained by deleting the first 3 characters from the | |||
| * following 34 lines: | |||
| * 'SBLAT2.SUMM' NAME OF SUMMARY OUTPUT FILE | |||
| * 6 UNIT NUMBER OF SUMMARY FILE | |||
| * 'SBLAT2.SNAP' NAME OF SNAPSHOT OUTPUT FILE | |||
| * -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) | |||
| * F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. | |||
| * F LOGICAL FLAG, T TO STOP ON FAILURES. | |||
| * T LOGICAL FLAG, T TO TEST ERROR EXITS. | |||
| * 16.0 THRESHOLD VALUE OF TEST RATIO | |||
| * 6 NUMBER OF VALUES OF N | |||
| * 0 1 2 3 5 9 VALUES OF N | |||
| * 4 NUMBER OF VALUES OF K | |||
| * 0 1 2 4 VALUES OF K | |||
| * 4 NUMBER OF VALUES OF INCX AND INCY | |||
| * 1 2 -1 -2 VALUES OF INCX AND INCY | |||
| * 3 NUMBER OF VALUES OF ALPHA | |||
| * 0.0 1.0 0.7 VALUES OF ALPHA | |||
| * 3 NUMBER OF VALUES OF BETA | |||
| * 0.0 1.0 0.9 VALUES OF BETA | |||
| * SGEMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * SGBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * SSYMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * SSBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * SSPMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * STRMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * STBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * STPMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * STRSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * STBSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * STPSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * SGER T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * SSYR T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * SSPR T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * SSYR2 T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * SSPR2 T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * | |||
| * See: | |||
| * | |||
| * Dongarra J. J., Du Croz J. J., Hammarling S. and Hanson R. J.. | |||
| * An extended set of Fortran Basic Linear Algebra Subprograms. | |||
| * | |||
| * Technical Memoranda Nos. 41 (revision 3) and 81, Mathematics | |||
| * and Computer Science Division, Argonne National Laboratory, | |||
| * 9700 South Cass Avenue, Argonne, Illinois 60439, US. | |||
| * | |||
| * Or | |||
| * | |||
| * NAG Technical Reports TR3/87 and TR4/87, Numerical Algorithms | |||
| * Group Ltd., NAG Central Office, 256 Banbury Road, Oxford | |||
| * OX2 7DE, UK, and Numerical Algorithms Group Inc., 1101 31st | |||
| * Street, Suite 100, Downers Grove, Illinois 60515-1263, USA. | |||
| * -- Reference BLAS test routine (version 3.7.0) -- | |||
| * -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
| * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
| * April 2012 | |||
| * | |||
| * | |||
| * -- Written on 10-August-1987. | |||
| * Richard Hanson, Sandia National Labs. | |||
| * Jeremy Du Croz, NAG Central Office. | |||
| * ===================================================================== | |||
| * | |||
| * .. Parameters .. | |||
| INTEGER NIN | |||
| PARAMETER ( NIN = 5 ) | |||
| INTEGER NSUBS | |||
| PARAMETER ( NSUBS = 16 ) | |||
| REAL ZERO, HALF, ONE | |||
| PARAMETER ( ZERO = 0.0, HALF = 0.5, ONE = 1.0 ) | |||
| REAL ZERO, ONE | |||
| PARAMETER ( ZERO = 0.0, ONE = 1.0 ) | |||
| INTEGER NMAX, INCMAX | |||
| PARAMETER ( NMAX = 65, INCMAX = 2 ) | |||
| INTEGER NINMAX, NIDMAX, NKBMAX, NALMAX, NBEMAX | |||
| @@ -121,7 +167,7 @@ | |||
| * | |||
| READ( NIN, FMT = * )SUMMRY | |||
| READ( NIN, FMT = * )NOUT | |||
| OPEN( NOUT, FILE = SUMMRY, STATUS = 'NEW' ) | |||
| OPEN( NOUT, FILE = SUMMRY, STATUS = 'UNKNOWN' ) | |||
| NOUTC = NOUT | |||
| * | |||
| * Read name and unit number for snapshot output file and open file. | |||
| @@ -130,7 +176,7 @@ | |||
| READ( NIN, FMT = * )NTRA | |||
| TRACE = NTRA.GE.0 | |||
| IF( TRACE )THEN | |||
| OPEN( NTRA, FILE = SNAPS, STATUS = 'NEW' ) | |||
| OPEN( NTRA, FILE = SNAPS, STATUS = 'UNKNOWN' ) | |||
| END IF | |||
| * Read the flag that directs rewinding of the snapshot file. | |||
| READ( NIN, FMT = * )REWI | |||
| @@ -235,14 +281,7 @@ | |||
| * | |||
| * Compute EPS (the machine precision). | |||
| * | |||
| EPS = ONE | |||
| 90 CONTINUE | |||
| IF( SDIFF( ONE + EPS, ONE ).EQ.ZERO ) | |||
| $ GO TO 100 | |||
| EPS = HALF*EPS | |||
| GO TO 90 | |||
| 100 CONTINUE | |||
| EPS = EPS + EPS | |||
| EPS = EPSILON(ZERO) | |||
| WRITE( NOUT, FMT = 9998 )EPS | |||
| * | |||
| * Check the reliability of SMVCH using exact data. | |||
| @@ -2982,7 +3021,6 @@ | |||
| 50 CONTINUE | |||
| END IF | |||
| * | |||
| 60 CONTINUE | |||
| LSERES = .TRUE. | |||
| GO TO 80 | |||
| 70 CONTINUE | |||
| @@ -1,55 +1,101 @@ | |||
| *> \brief \b SBLAT3 | |||
| * | |||
| * =========== DOCUMENTATION =========== | |||
| * | |||
| * Online html documentation available at | |||
| * http://www.netlib.org/lapack/explore-html/ | |||
| * | |||
| * Definition: | |||
| * =========== | |||
| * | |||
| * PROGRAM SBLAT3 | |||
| * | |||
| * | |||
| *> \par Purpose: | |||
| * ============= | |||
| *> | |||
| *> \verbatim | |||
| *> | |||
| *> Test program for the REAL Level 3 Blas. | |||
| *> | |||
| *> The program must be driven by a short data file. The first 14 records | |||
| *> of the file are read using list-directed input, the last 6 records | |||
| *> are read using the format ( A6, L2 ). An annotated example of a data | |||
| *> file can be obtained by deleting the first 3 characters from the | |||
| *> following 20 lines: | |||
| *> 'sblat3.out' NAME OF SUMMARY OUTPUT FILE | |||
| *> 6 UNIT NUMBER OF SUMMARY FILE | |||
| *> 'SBLAT3.SNAP' NAME OF SNAPSHOT OUTPUT FILE | |||
| *> -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) | |||
| *> F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. | |||
| *> F LOGICAL FLAG, T TO STOP ON FAILURES. | |||
| *> T LOGICAL FLAG, T TO TEST ERROR EXITS. | |||
| *> 16.0 THRESHOLD VALUE OF TEST RATIO | |||
| *> 6 NUMBER OF VALUES OF N | |||
| *> 0 1 2 3 5 9 VALUES OF N | |||
| *> 3 NUMBER OF VALUES OF ALPHA | |||
| *> 0.0 1.0 0.7 VALUES OF ALPHA | |||
| *> 3 NUMBER OF VALUES OF BETA | |||
| *> 0.0 1.0 1.3 VALUES OF BETA | |||
| *> SGEMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> SSYMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> STRMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> STRSM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> SSYRK T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> SSYR2K T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> | |||
| *> Further Details | |||
| *> =============== | |||
| *> | |||
| *> See: | |||
| *> | |||
| *> Dongarra J. J., Du Croz J. J., Duff I. S. and Hammarling S. | |||
| *> A Set of Level 3 Basic Linear Algebra Subprograms. | |||
| *> | |||
| *> Technical Memorandum No.88 (Revision 1), Mathematics and | |||
| *> Computer Science Division, Argonne National Laboratory, 9700 | |||
| *> South Cass Avenue, Argonne, Illinois 60439, US. | |||
| *> | |||
| *> -- Written on 8-February-1989. | |||
| *> Jack Dongarra, Argonne National Laboratory. | |||
| *> Iain Duff, AERE Harwell. | |||
| *> Jeremy Du Croz, Numerical Algorithms Group Ltd. | |||
| *> Sven Hammarling, Numerical Algorithms Group Ltd. | |||
| *> | |||
| *> 10-9-00: Change STATUS='NEW' to 'UNKNOWN' so that the testers | |||
| *> can be run multiple times without deleting generated | |||
| *> output files (susan) | |||
| *> \endverbatim | |||
| * | |||
| * Authors: | |||
| * ======== | |||
| * | |||
| *> \author Univ. of Tennessee | |||
| *> \author Univ. of California Berkeley | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \date April 2012 | |||
| * | |||
| *> \ingroup single_blas_testing | |||
| * | |||
| * ===================================================================== | |||
| PROGRAM SBLAT3 | |||
| * | |||
| * Test program for the REAL Level 3 Blas. | |||
| * | |||
| * The program must be driven by a short data file. The first 14 records | |||
| * of the file are read using list-directed input, the last 6 records | |||
| * are read using the format ( A6, L2 ). An annotated example of a data | |||
| * file can be obtained by deleting the first 3 characters from the | |||
| * following 20 lines: | |||
| * 'SBLAT3.SUMM' NAME OF SUMMARY OUTPUT FILE | |||
| * 6 UNIT NUMBER OF SUMMARY FILE | |||
| * 'SBLAT3.SNAP' NAME OF SNAPSHOT OUTPUT FILE | |||
| * -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) | |||
| * F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. | |||
| * F LOGICAL FLAG, T TO STOP ON FAILURES. | |||
| * T LOGICAL FLAG, T TO TEST ERROR EXITS. | |||
| * 16.0 THRESHOLD VALUE OF TEST RATIO | |||
| * 6 NUMBER OF VALUES OF N | |||
| * 0 1 2 3 5 9 VALUES OF N | |||
| * 3 NUMBER OF VALUES OF ALPHA | |||
| * 0.0 1.0 0.7 VALUES OF ALPHA | |||
| * 3 NUMBER OF VALUES OF BETA | |||
| * 0.0 1.0 1.3 VALUES OF BETA | |||
| * SGEMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * SSYMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * STRMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * STRSM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * SSYRK T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * SSYR2K T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * | |||
| * See: | |||
| * | |||
| * Dongarra J. J., Du Croz J. J., Duff I. S. and Hammarling S. | |||
| * A Set of Level 3 Basic Linear Algebra Subprograms. | |||
| * | |||
| * Technical Memorandum No.88 (Revision 1), Mathematics and | |||
| * Computer Science Division, Argonne National Laboratory, 9700 | |||
| * South Cass Avenue, Argonne, Illinois 60439, US. | |||
| * -- Reference BLAS test routine (version 3.7.0) -- | |||
| * -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
| * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
| * April 2012 | |||
| * | |||
| * -- Written on 8-February-1989. | |||
| * Jack Dongarra, Argonne National Laboratory. | |||
| * Iain Duff, AERE Harwell. | |||
| * Jeremy Du Croz, Numerical Algorithms Group Ltd. | |||
| * Sven Hammarling, Numerical Algorithms Group Ltd. | |||
| * ===================================================================== | |||
| * | |||
| * .. Parameters .. | |||
| INTEGER NIN | |||
| PARAMETER ( NIN = 5 ) | |||
| INTEGER NSUBS | |||
| PARAMETER ( NSUBS = 6 ) | |||
| REAL ZERO, HALF, ONE | |||
| PARAMETER ( ZERO = 0.0, HALF = 0.5, ONE = 1.0 ) | |||
| REAL ZERO, ONE | |||
| PARAMETER ( ZERO = 0.0, ONE = 1.0 ) | |||
| INTEGER NMAX | |||
| PARAMETER ( NMAX = 65 ) | |||
| INTEGER NIDMAX, NALMAX, NBEMAX | |||
| @@ -96,7 +142,7 @@ | |||
| * | |||
| READ( NIN, FMT = * )SUMMRY | |||
| READ( NIN, FMT = * )NOUT | |||
| OPEN( NOUT, FILE = SUMMRY, STATUS = 'NEW' ) | |||
| OPEN( NOUT, FILE = SUMMRY ) | |||
| NOUTC = NOUT | |||
| * | |||
| * Read name and unit number for snapshot output file and open file. | |||
| @@ -105,7 +151,7 @@ | |||
| READ( NIN, FMT = * )NTRA | |||
| TRACE = NTRA.GE.0 | |||
| IF( TRACE )THEN | |||
| OPEN( NTRA, FILE = SNAPS, STATUS = 'NEW' ) | |||
| OPEN( NTRA, FILE = SNAPS ) | |||
| END IF | |||
| * Read the flag that directs rewinding of the snapshot file. | |||
| READ( NIN, FMT = * )REWI | |||
| @@ -182,14 +228,7 @@ | |||
| * | |||
| * Compute EPS (the machine precision). | |||
| * | |||
| EPS = ONE | |||
| 70 CONTINUE | |||
| IF( SDIFF( ONE + EPS, ONE ).EQ.ZERO ) | |||
| $ GO TO 80 | |||
| EPS = HALF*EPS | |||
| GO TO 70 | |||
| 80 CONTINUE | |||
| EPS = EPS + EPS | |||
| EPS = EPSILON(ZERO) | |||
| WRITE( NOUT, FMT = 9998 )EPS | |||
| * | |||
| * Check the reliability of SMMCH using exact data. | |||
| @@ -1802,7 +1841,7 @@ | |||
| * | |||
| * Tests the error exits from the Level 3 Blas. | |||
| * Requires a special version of the error-handling routine XERBLA. | |||
| * ALPHA, BETA, A, B and C should not need to be defined. | |||
| * A, B and C should not need to be defined. | |||
| * | |||
| * Auxiliary routine for test program for Level 3 Blas. | |||
| * | |||
| @@ -1812,12 +1851,18 @@ | |||
| * Jeremy Du Croz, Numerical Algorithms Group Ltd. | |||
| * Sven Hammarling, Numerical Algorithms Group Ltd. | |||
| * | |||
| * 3-19-92: Initialize ALPHA and BETA (eca) | |||
| * 3-19-92: Fix argument 12 in calls to SSYMM with INFOT = 9 (eca) | |||
| * | |||
| * .. Scalar Arguments .. | |||
| INTEGER ISNUM, NOUT | |||
| CHARACTER*6 SRNAMT | |||
| * .. Scalars in Common .. | |||
| INTEGER INFOT, NOUTC | |||
| LOGICAL LERR, OK | |||
| * .. Parameters .. | |||
| REAL ONE, TWO | |||
| PARAMETER ( ONE = 1.0E0, TWO = 2.0E0 ) | |||
| * .. Local Scalars .. | |||
| REAL ALPHA, BETA | |||
| * .. Local Arrays .. | |||
| @@ -1834,6 +1879,12 @@ | |||
| * LERR is set to .TRUE. by the special version of XERBLA each time | |||
| * it is called, and is then tested and re-set by CHKXER. | |||
| LERR = .FALSE. | |||
| * | |||
| * Initialize ALPHA and BETA. | |||
| * | |||
| ALPHA = ONE | |||
| BETA = TWO | |||
| * | |||
| GO TO ( 10, 20, 30, 40, 50, 60 )ISNUM | |||
| 10 INFOT = 1 | |||
| CALL SGEMM( '/', 'N', 0, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) | |||
| @@ -1963,16 +2014,16 @@ | |||
| CALL SSYMM( 'R', 'L', 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL SSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 ) | |||
| CALL SSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL SSYMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) | |||
| CALL SSYMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL SSYMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 ) | |||
| CALL SSYMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL SSYMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) | |||
| CALL SSYMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 12 | |||
| CALL SSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 2, BETA, C, 1 ) | |||
| @@ -2660,7 +2711,6 @@ | |||
| 50 CONTINUE | |||
| END IF | |||
| * | |||
| 60 CONTINUE | |||
| LSERES = .TRUE. | |||
| GO TO 80 | |||
| 70 CONTINUE | |||
| @@ -1,7 +1,49 @@ | |||
| *> \brief \b ZBLAT1 | |||
| * | |||
| * =========== DOCUMENTATION =========== | |||
| * | |||
| * Online html documentation available at | |||
| * http://www.netlib.org/lapack/explore-html/ | |||
| * | |||
| * Definition: | |||
| * =========== | |||
| * | |||
| * PROGRAM ZBLAT1 | |||
| * | |||
| * | |||
| *> \par Purpose: | |||
| * ============= | |||
| *> | |||
| *> \verbatim | |||
| *> | |||
| *> Test program for the COMPLEX*16 Level 1 BLAS. | |||
| *> | |||
| *> Based upon the original BLAS test routine together with: | |||
| *> F06GAF Example Program Text | |||
| *> \endverbatim | |||
| * | |||
| * Authors: | |||
| * ======== | |||
| * | |||
| *> \author Univ. of Tennessee | |||
| *> \author Univ. of California Berkeley | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \date April 2012 | |||
| * | |||
| *> \ingroup complex16_blas_testing | |||
| * | |||
| * ===================================================================== | |||
| PROGRAM ZBLAT1 | |||
| * Test program for the COMPLEX*16 Level 1 BLAS. | |||
| * Based upon the original BLAS test routine together with: | |||
| * F06GAF Example Program Text | |||
| * | |||
| * -- Reference BLAS test routine (version 3.7.0) -- | |||
| * -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
| * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
| * April 2012 | |||
| * | |||
| * ===================================================================== | |||
| * | |||
| * .. Parameters .. | |||
| INTEGER NOUT | |||
| PARAMETER (NOUT=6) | |||
| @@ -114,8 +156,8 @@ | |||
| + (5.0D0,6.0D0), (5.0D0,6.0D0), (0.1D0,0.1D0), | |||
| + (-0.6D0,0.1D0), (0.1D0,-0.3D0), (7.0D0,8.0D0), | |||
| + (7.0D0,8.0D0), (7.0D0,8.0D0), (7.0D0,8.0D0), | |||
| + (7.0D0,8.0D0), (0.3D0,0.1D0), (0.1D0,0.4D0), | |||
| + (0.4D0,0.1D0), (0.1D0,0.2D0), (2.0D0,3.0D0), | |||
| + (7.0D0,8.0D0), (0.3D0,0.1D0), (0.5D0,0.0D0), | |||
| + (0.0D0,0.5D0), (0.0D0,0.2D0), (2.0D0,3.0D0), | |||
| + (2.0D0,3.0D0), (2.0D0,3.0D0), (2.0D0,3.0D0)/ | |||
| DATA ((CV(I,J,2),I=1,8),J=1,5)/(0.1D0,0.1D0), | |||
| + (4.0D0,5.0D0), (4.0D0,5.0D0), (4.0D0,5.0D0), | |||
| @@ -129,10 +171,10 @@ | |||
| + (3.0D0,6.0D0), (-0.6D0,0.1D0), (4.0D0,7.0D0), | |||
| + (0.1D0,-0.3D0), (7.0D0,2.0D0), (7.0D0,2.0D0), | |||
| + (7.0D0,2.0D0), (0.3D0,0.1D0), (5.0D0,8.0D0), | |||
| + (0.1D0,0.4D0), (6.0D0,9.0D0), (0.4D0,0.1D0), | |||
| + (8.0D0,3.0D0), (0.1D0,0.2D0), (9.0D0,4.0D0)/ | |||
| DATA STRUE2/0.0D0, 0.5D0, 0.6D0, 0.7D0, 0.7D0/ | |||
| DATA STRUE4/0.0D0, 0.7D0, 1.0D0, 1.3D0, 1.7D0/ | |||
| + (0.5D0,0.0D0), (6.0D0,9.0D0), (0.0D0,0.5D0), | |||
| + (8.0D0,3.0D0), (0.0D0,0.2D0), (9.0D0,4.0D0)/ | |||
| DATA STRUE2/0.0D0, 0.5D0, 0.6D0, 0.7D0, 0.8D0/ | |||
| DATA STRUE4/0.0D0, 0.7D0, 1.0D0, 1.3D0, 1.6D0/ | |||
| DATA ((CTRUE5(I,J,1),I=1,8),J=1,5)/(0.1D0,0.1D0), | |||
| + (1.0D0,2.0D0), (1.0D0,2.0D0), (1.0D0,2.0D0), | |||
| + (1.0D0,2.0D0), (1.0D0,2.0D0), (1.0D0,2.0D0), | |||
| @@ -145,8 +187,8 @@ | |||
| + (0.11D0,-0.03D0), (-0.17D0,0.46D0), | |||
| + (-0.17D0,-0.19D0), (7.0D0,8.0D0), (7.0D0,8.0D0), | |||
| + (7.0D0,8.0D0), (7.0D0,8.0D0), (7.0D0,8.0D0), | |||
| + (0.19D0,-0.17D0), (0.32D0,0.09D0), | |||
| + (0.23D0,-0.24D0), (0.18D0,0.01D0), | |||
| + (0.19D0,-0.17D0), (0.20D0,-0.35D0), | |||
| + (0.35D0,0.20D0), (0.14D0,0.08D0), | |||
| + (2.0D0,3.0D0), (2.0D0,3.0D0), (2.0D0,3.0D0), | |||
| + (2.0D0,3.0D0)/ | |||
| DATA ((CTRUE5(I,J,2),I=1,8),J=1,5)/(0.1D0,0.1D0), | |||
| @@ -162,9 +204,9 @@ | |||
| + (-0.17D0,0.46D0), (4.0D0,7.0D0), | |||
| + (-0.17D0,-0.19D0), (7.0D0,2.0D0), (7.0D0,2.0D0), | |||
| + (7.0D0,2.0D0), (0.19D0,-0.17D0), (5.0D0,8.0D0), | |||
| + (0.32D0,0.09D0), (6.0D0,9.0D0), | |||
| + (0.23D0,-0.24D0), (8.0D0,3.0D0), | |||
| + (0.18D0,0.01D0), (9.0D0,4.0D0)/ | |||
| + (0.20D0,-0.35D0), (6.0D0,9.0D0), | |||
| + (0.35D0,0.20D0), (8.0D0,3.0D0), | |||
| + (0.14D0,0.08D0), (9.0D0,4.0D0)/ | |||
| DATA ((CTRUE6(I,J,1),I=1,8),J=1,5)/(0.1D0,0.1D0), | |||
| + (1.0D0,2.0D0), (1.0D0,2.0D0), (1.0D0,2.0D0), | |||
| + (1.0D0,2.0D0), (1.0D0,2.0D0), (1.0D0,2.0D0), | |||
| @@ -177,8 +219,8 @@ | |||
| + (0.03D0,0.03D0), (-0.18D0,0.03D0), | |||
| + (0.03D0,-0.09D0), (7.0D0,8.0D0), (7.0D0,8.0D0), | |||
| + (7.0D0,8.0D0), (7.0D0,8.0D0), (7.0D0,8.0D0), | |||
| + (0.09D0,0.03D0), (0.03D0,0.12D0), | |||
| + (0.12D0,0.03D0), (0.03D0,0.06D0), (2.0D0,3.0D0), | |||
| + (0.09D0,0.03D0), (0.15D0,0.00D0), | |||
| + (0.00D0,0.15D0), (0.00D0,0.06D0), (2.0D0,3.0D0), | |||
| + (2.0D0,3.0D0), (2.0D0,3.0D0), (2.0D0,3.0D0)/ | |||
| DATA ((CTRUE6(I,J,2),I=1,8),J=1,5)/(0.1D0,0.1D0), | |||
| + (4.0D0,5.0D0), (4.0D0,5.0D0), (4.0D0,5.0D0), | |||
| @@ -193,8 +235,8 @@ | |||
| + (-0.18D0,0.03D0), (4.0D0,7.0D0), | |||
| + (0.03D0,-0.09D0), (7.0D0,2.0D0), (7.0D0,2.0D0), | |||
| + (7.0D0,2.0D0), (0.09D0,0.03D0), (5.0D0,8.0D0), | |||
| + (0.03D0,0.12D0), (6.0D0,9.0D0), (0.12D0,0.03D0), | |||
| + (8.0D0,3.0D0), (0.03D0,0.06D0), (9.0D0,4.0D0)/ | |||
| + (0.15D0,0.00D0), (6.0D0,9.0D0), (0.00D0,0.15D0), | |||
| + (8.0D0,3.0D0), (0.00D0,0.06D0), (9.0D0,4.0D0)/ | |||
| DATA ITRUE3/0, 1, 2, 2, 2/ | |||
| * .. Executable Statements .. | |||
| DO 60 INCX = 1, 2 | |||
| @@ -529,7 +571,8 @@ | |||
| * | |||
| * .. Parameters .. | |||
| INTEGER NOUT | |||
| PARAMETER (NOUT=6) | |||
| DOUBLE PRECISION ZERO | |||
| PARAMETER (NOUT=6, ZERO=0.0D0) | |||
| * .. Scalar Arguments .. | |||
| DOUBLE PRECISION SFAC | |||
| INTEGER LEN | |||
| @@ -552,7 +595,7 @@ | |||
| * | |||
| DO 40 I = 1, LEN | |||
| SD = SCOMP(I) - STRUE(I) | |||
| IF (SDIFF(ABS(SSIZE(I))+ABS(SFAC*SD),ABS(SSIZE(I))).EQ.0.0D0) | |||
| IF (ABS(SFAC*SD) .LE. ABS(SSIZE(I))*EPSILON(ZERO)) | |||
| + GO TO 40 | |||
| * | |||
| * HERE SCOMP(I) IS NOT CLOSE TO STRUE(I). | |||
| @@ -1,68 +1,114 @@ | |||
| *> \brief \b ZBLAT2 | |||
| * | |||
| * =========== DOCUMENTATION =========== | |||
| * | |||
| * Online html documentation available at | |||
| * http://www.netlib.org/lapack/explore-html/ | |||
| * | |||
| * Definition: | |||
| * =========== | |||
| * | |||
| * PROGRAM ZBLAT2 | |||
| * | |||
| * | |||
| *> \par Purpose: | |||
| * ============= | |||
| *> | |||
| *> \verbatim | |||
| *> | |||
| *> Test program for the COMPLEX*16 Level 2 Blas. | |||
| *> | |||
| *> The program must be driven by a short data file. The first 18 records | |||
| *> of the file are read using list-directed input, the last 17 records | |||
| *> are read using the format ( A6, L2 ). An annotated example of a data | |||
| *> file can be obtained by deleting the first 3 characters from the | |||
| *> following 35 lines: | |||
| *> 'zblat2.out' NAME OF SUMMARY OUTPUT FILE | |||
| *> 6 UNIT NUMBER OF SUMMARY FILE | |||
| *> 'CBLA2T.SNAP' NAME OF SNAPSHOT OUTPUT FILE | |||
| *> -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) | |||
| *> F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. | |||
| *> F LOGICAL FLAG, T TO STOP ON FAILURES. | |||
| *> T LOGICAL FLAG, T TO TEST ERROR EXITS. | |||
| *> 16.0 THRESHOLD VALUE OF TEST RATIO | |||
| *> 6 NUMBER OF VALUES OF N | |||
| *> 0 1 2 3 5 9 VALUES OF N | |||
| *> 4 NUMBER OF VALUES OF K | |||
| *> 0 1 2 4 VALUES OF K | |||
| *> 4 NUMBER OF VALUES OF INCX AND INCY | |||
| *> 1 2 -1 -2 VALUES OF INCX AND INCY | |||
| *> 3 NUMBER OF VALUES OF ALPHA | |||
| *> (0.0,0.0) (1.0,0.0) (0.7,-0.9) VALUES OF ALPHA | |||
| *> 3 NUMBER OF VALUES OF BETA | |||
| *> (0.0,0.0) (1.0,0.0) (1.3,-1.1) VALUES OF BETA | |||
| *> ZGEMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZGBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZHEMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZHBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZHPMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZTRMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZTBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZTPMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZTRSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZTBSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZTPSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZGERC T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZGERU T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZHER T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZHPR T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZHER2 T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZHPR2 T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> | |||
| *> Further Details | |||
| *> =============== | |||
| *> | |||
| *> See: | |||
| *> | |||
| *> Dongarra J. J., Du Croz J. J., Hammarling S. and Hanson R. J.. | |||
| *> An extended set of Fortran Basic Linear Algebra Subprograms. | |||
| *> | |||
| *> Technical Memoranda Nos. 41 (revision 3) and 81, Mathematics | |||
| *> and Computer Science Division, Argonne National Laboratory, | |||
| *> 9700 South Cass Avenue, Argonne, Illinois 60439, US. | |||
| *> | |||
| *> Or | |||
| *> | |||
| *> NAG Technical Reports TR3/87 and TR4/87, Numerical Algorithms | |||
| *> Group Ltd., NAG Central Office, 256 Banbury Road, Oxford | |||
| *> OX2 7DE, UK, and Numerical Algorithms Group Inc., 1101 31st | |||
| *> Street, Suite 100, Downers Grove, Illinois 60515-1263, USA. | |||
| *> | |||
| *> | |||
| *> -- Written on 10-August-1987. | |||
| *> Richard Hanson, Sandia National Labs. | |||
| *> Jeremy Du Croz, NAG Central Office. | |||
| *> | |||
| *> 10-9-00: Change STATUS='NEW' to 'UNKNOWN' so that the testers | |||
| *> can be run multiple times without deleting generated | |||
| *> output files (susan) | |||
| *> \endverbatim | |||
| * | |||
| * Authors: | |||
| * ======== | |||
| * | |||
| *> \author Univ. of Tennessee | |||
| *> \author Univ. of California Berkeley | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \date April 2012 | |||
| * | |||
| *> \ingroup complex16_blas_testing | |||
| * | |||
| * ===================================================================== | |||
| PROGRAM ZBLAT2 | |||
| * | |||
| * Test program for the COMPLEX*16 Level 2 Blas. | |||
| * | |||
| * The program must be driven by a short data file. The first 18 records | |||
| * of the file are read using list-directed input, the last 17 records | |||
| * are read using the format ( A6, L2 ). An annotated example of a data | |||
| * file can be obtained by deleting the first 3 characters from the | |||
| * following 35 lines: | |||
| * 'ZBLAT2.SUMM' NAME OF SUMMARY OUTPUT FILE | |||
| * 6 UNIT NUMBER OF SUMMARY FILE | |||
| * 'CBLA2T.SNAP' NAME OF SNAPSHOT OUTPUT FILE | |||
| * -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) | |||
| * F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. | |||
| * F LOGICAL FLAG, T TO STOP ON FAILURES. | |||
| * T LOGICAL FLAG, T TO TEST ERROR EXITS. | |||
| * 16.0 THRESHOLD VALUE OF TEST RATIO | |||
| * 6 NUMBER OF VALUES OF N | |||
| * 0 1 2 3 5 9 VALUES OF N | |||
| * 4 NUMBER OF VALUES OF K | |||
| * 0 1 2 4 VALUES OF K | |||
| * 4 NUMBER OF VALUES OF INCX AND INCY | |||
| * 1 2 -1 -2 VALUES OF INCX AND INCY | |||
| * 3 NUMBER OF VALUES OF ALPHA | |||
| * (0.0,0.0) (1.0,0.0) (0.7,-0.9) VALUES OF ALPHA | |||
| * 3 NUMBER OF VALUES OF BETA | |||
| * (0.0,0.0) (1.0,0.0) (1.3,-1.1) VALUES OF BETA | |||
| * ZGEMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZGBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZHEMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZHBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZHPMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZTRMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZTBMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZTPMV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZTRSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZTBSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZTPSV T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZGERC T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZGERU T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZHER T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZHPR T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZHER2 T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZHPR2 T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * | |||
| * See: | |||
| * | |||
| * Dongarra J. J., Du Croz J. J., Hammarling S. and Hanson R. J.. | |||
| * An extended set of Fortran Basic Linear Algebra Subprograms. | |||
| * | |||
| * Technical Memoranda Nos. 41 (revision 3) and 81, Mathematics | |||
| * and Computer Science Division, Argonne National Laboratory, | |||
| * 9700 South Cass Avenue, Argonne, Illinois 60439, US. | |||
| * | |||
| * Or | |||
| * | |||
| * NAG Technical Reports TR3/87 and TR4/87, Numerical Algorithms | |||
| * Group Ltd., NAG Central Office, 256 Banbury Road, Oxford | |||
| * OX2 7DE, UK, and Numerical Algorithms Group Inc., 1101 31st | |||
| * Street, Suite 100, Downers Grove, Illinois 60515-1263, USA. | |||
| * -- Reference BLAS test routine (version 3.7.0) -- | |||
| * -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
| * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
| * April 2012 | |||
| * | |||
| * | |||
| * -- Written on 10-August-1987. | |||
| * Richard Hanson, Sandia National Labs. | |||
| * Jeremy Du Croz, NAG Central Office. | |||
| * ===================================================================== | |||
| * | |||
| * .. Parameters .. | |||
| INTEGER NIN | |||
| @@ -72,8 +118,8 @@ | |||
| COMPLEX*16 ZERO, ONE | |||
| PARAMETER ( ZERO = ( 0.0D0, 0.0D0 ), | |||
| $ ONE = ( 1.0D0, 0.0D0 ) ) | |||
| DOUBLE PRECISION RZERO, RHALF, RONE | |||
| PARAMETER ( RZERO = 0.0D0, RHALF = 0.5D0, RONE = 1.0D0 ) | |||
| DOUBLE PRECISION RZERO | |||
| PARAMETER ( RZERO = 0.0D0 ) | |||
| INTEGER NMAX, INCMAX | |||
| PARAMETER ( NMAX = 65, INCMAX = 2 ) | |||
| INTEGER NINMAX, NIDMAX, NKBMAX, NALMAX, NBEMAX | |||
| @@ -127,7 +173,7 @@ | |||
| * | |||
| READ( NIN, FMT = * )SUMMRY | |||
| READ( NIN, FMT = * )NOUT | |||
| OPEN( NOUT, FILE = SUMMRY, STATUS = 'NEW' ) | |||
| OPEN( NOUT, FILE = SUMMRY, STATUS = 'UNKNOWN' ) | |||
| NOUTC = NOUT | |||
| * | |||
| * Read name and unit number for snapshot output file and open file. | |||
| @@ -136,7 +182,7 @@ | |||
| READ( NIN, FMT = * )NTRA | |||
| TRACE = NTRA.GE.0 | |||
| IF( TRACE )THEN | |||
| OPEN( NTRA, FILE = SNAPS, STATUS = 'NEW' ) | |||
| OPEN( NTRA, FILE = SNAPS, STATUS = 'UNKNOWN' ) | |||
| END IF | |||
| * Read the flag that directs rewinding of the snapshot file. | |||
| READ( NIN, FMT = * )REWI | |||
| @@ -241,14 +287,7 @@ | |||
| * | |||
| * Compute EPS (the machine precision). | |||
| * | |||
| EPS = RONE | |||
| 90 CONTINUE | |||
| IF( DDIFF( RONE + EPS, RONE ).EQ.RZERO ) | |||
| $ GO TO 100 | |||
| EPS = RHALF*EPS | |||
| GO TO 90 | |||
| 100 CONTINUE | |||
| EPS = EPS + EPS | |||
| EPS = EPSILON(RZERO) | |||
| WRITE( NOUT, FMT = 9998 )EPS | |||
| * | |||
| * Check the reliability of ZMVCH using exact data. | |||
| @@ -3087,7 +3126,6 @@ | |||
| 50 CONTINUE | |||
| END IF | |||
| * | |||
| 60 CONTINUE | |||
| LZERES = .TRUE. | |||
| GO TO 80 | |||
| 70 CONTINUE | |||
| @@ -1,50 +1,97 @@ | |||
| *> \brief \b ZBLAT3 | |||
| * | |||
| * =========== DOCUMENTATION =========== | |||
| * | |||
| * Online html documentation available at | |||
| * http://www.netlib.org/lapack/explore-html/ | |||
| * | |||
| * Definition: | |||
| * =========== | |||
| * | |||
| * PROGRAM ZBLAT3 | |||
| * | |||
| * | |||
| *> \par Purpose: | |||
| * ============= | |||
| *> | |||
| *> \verbatim | |||
| *> | |||
| *> Test program for the COMPLEX*16 Level 3 Blas. | |||
| *> | |||
| *> The program must be driven by a short data file. The first 14 records | |||
| *> of the file are read using list-directed input, the last 9 records | |||
| *> are read using the format ( A6, L2 ). An annotated example of a data | |||
| *> file can be obtained by deleting the first 3 characters from the | |||
| *> following 23 lines: | |||
| *> 'zblat3.out' NAME OF SUMMARY OUTPUT FILE | |||
| *> 6 UNIT NUMBER OF SUMMARY FILE | |||
| *> 'ZBLAT3.SNAP' NAME OF SNAPSHOT OUTPUT FILE | |||
| *> -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) | |||
| *> F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. | |||
| *> F LOGICAL FLAG, T TO STOP ON FAILURES. | |||
| *> T LOGICAL FLAG, T TO TEST ERROR EXITS. | |||
| *> 16.0 THRESHOLD VALUE OF TEST RATIO | |||
| *> 6 NUMBER OF VALUES OF N | |||
| *> 0 1 2 3 5 9 VALUES OF N | |||
| *> 3 NUMBER OF VALUES OF ALPHA | |||
| *> (0.0,0.0) (1.0,0.0) (0.7,-0.9) VALUES OF ALPHA | |||
| *> 3 NUMBER OF VALUES OF BETA | |||
| *> (0.0,0.0) (1.0,0.0) (1.3,-1.1) VALUES OF BETA | |||
| *> ZGEMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZHEMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZSYMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZTRMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZTRSM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZHERK T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZSYRK T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZHER2K T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> ZSYR2K T PUT F FOR NO TEST. SAME COLUMNS. | |||
| *> | |||
| *> | |||
| *> Further Details | |||
| *> =============== | |||
| *> | |||
| *> See: | |||
| *> | |||
| *> Dongarra J. J., Du Croz J. J., Duff I. S. and Hammarling S. | |||
| *> A Set of Level 3 Basic Linear Algebra Subprograms. | |||
| *> | |||
| *> Technical Memorandum No.88 (Revision 1), Mathematics and | |||
| *> Computer Science Division, Argonne National Laboratory, 9700 | |||
| *> South Cass Avenue, Argonne, Illinois 60439, US. | |||
| *> | |||
| *> -- Written on 8-February-1989. | |||
| *> Jack Dongarra, Argonne National Laboratory. | |||
| *> Iain Duff, AERE Harwell. | |||
| *> Jeremy Du Croz, Numerical Algorithms Group Ltd. | |||
| *> Sven Hammarling, Numerical Algorithms Group Ltd. | |||
| *> | |||
| *> 10-9-00: Change STATUS='NEW' to 'UNKNOWN' so that the testers | |||
| *> can be run multiple times without deleting generated | |||
| *> output files (susan) | |||
| *> \endverbatim | |||
| * | |||
| * Authors: | |||
| * ======== | |||
| * | |||
| *> \author Univ. of Tennessee | |||
| *> \author Univ. of California Berkeley | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \date April 2012 | |||
| * | |||
| *> \ingroup complex16_blas_testing | |||
| * | |||
| * ===================================================================== | |||
| PROGRAM ZBLAT3 | |||
| * | |||
| * Test program for the COMPLEX*16 Level 3 Blas. | |||
| * | |||
| * The program must be driven by a short data file. The first 14 records | |||
| * of the file are read using list-directed input, the last 9 records | |||
| * are read using the format ( A6, L2 ). An annotated example of a data | |||
| * file can be obtained by deleting the first 3 characters from the | |||
| * following 23 lines: | |||
| * 'ZBLAT3.SUMM' NAME OF SUMMARY OUTPUT FILE | |||
| * 6 UNIT NUMBER OF SUMMARY FILE | |||
| * 'ZBLAT3.SNAP' NAME OF SNAPSHOT OUTPUT FILE | |||
| * -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) | |||
| * F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. | |||
| * F LOGICAL FLAG, T TO STOP ON FAILURES. | |||
| * T LOGICAL FLAG, T TO TEST ERROR EXITS. | |||
| * 16.0 THRESHOLD VALUE OF TEST RATIO | |||
| * 6 NUMBER OF VALUES OF N | |||
| * 0 1 2 3 5 9 VALUES OF N | |||
| * 3 NUMBER OF VALUES OF ALPHA | |||
| * (0.0,0.0) (1.0,0.0) (0.7,-0.9) VALUES OF ALPHA | |||
| * 3 NUMBER OF VALUES OF BETA | |||
| * (0.0,0.0) (1.0,0.0) (1.3,-1.1) VALUES OF BETA | |||
| * ZGEMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZHEMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZSYMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZTRMM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZTRSM T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZHERK T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZSYRK T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZHER2K T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * ZSYR2K T PUT F FOR NO TEST. SAME COLUMNS. | |||
| * | |||
| * See: | |||
| * | |||
| * Dongarra J. J., Du Croz J. J., Duff I. S. and Hammarling S. | |||
| * A Set of Level 3 Basic Linear Algebra Subprograms. | |||
| * | |||
| * Technical Memorandum No.88 (Revision 1), Mathematics and | |||
| * Computer Science Division, Argonne National Laboratory, 9700 | |||
| * South Cass Avenue, Argonne, Illinois 60439, US. | |||
| * -- Reference BLAS test routine (version 3.7.0) -- | |||
| * -- Reference BLAS is a software package provided by Univ. of Tennessee, -- | |||
| * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
| * April 2012 | |||
| * | |||
| * -- Written on 8-February-1989. | |||
| * Jack Dongarra, Argonne National Laboratory. | |||
| * Iain Duff, AERE Harwell. | |||
| * Jeremy Du Croz, Numerical Algorithms Group Ltd. | |||
| * Sven Hammarling, Numerical Algorithms Group Ltd. | |||
| * ===================================================================== | |||
| * | |||
| * .. Parameters .. | |||
| INTEGER NIN | |||
| @@ -54,8 +101,8 @@ | |||
| COMPLEX*16 ZERO, ONE | |||
| PARAMETER ( ZERO = ( 0.0D0, 0.0D0 ), | |||
| $ ONE = ( 1.0D0, 0.0D0 ) ) | |||
| DOUBLE PRECISION RZERO, RHALF, RONE | |||
| PARAMETER ( RZERO = 0.0D0, RHALF = 0.5D0, RONE = 1.0D0 ) | |||
| DOUBLE PRECISION RZERO | |||
| PARAMETER ( RZERO = 0.0D0 ) | |||
| INTEGER NMAX | |||
| PARAMETER ( NMAX = 65 ) | |||
| INTEGER NIDMAX, NALMAX, NBEMAX | |||
| @@ -104,7 +151,7 @@ | |||
| * | |||
| READ( NIN, FMT = * )SUMMRY | |||
| READ( NIN, FMT = * )NOUT | |||
| OPEN( NOUT, FILE = SUMMRY, STATUS = 'NEW' ) | |||
| OPEN( NOUT, FILE = SUMMRY, STATUS = 'UNKNOWN' ) | |||
| NOUTC = NOUT | |||
| * | |||
| * Read name and unit number for snapshot output file and open file. | |||
| @@ -113,7 +160,7 @@ | |||
| READ( NIN, FMT = * )NTRA | |||
| TRACE = NTRA.GE.0 | |||
| IF( TRACE )THEN | |||
| OPEN( NTRA, FILE = SNAPS, STATUS = 'NEW' ) | |||
| OPEN( NTRA, FILE = SNAPS, STATUS = 'UNKNOWN' ) | |||
| END IF | |||
| * Read the flag that directs rewinding of the snapshot file. | |||
| READ( NIN, FMT = * )REWI | |||
| @@ -190,14 +237,7 @@ | |||
| * | |||
| * Compute EPS (the machine precision). | |||
| * | |||
| EPS = RONE | |||
| 70 CONTINUE | |||
| IF( DDIFF( RONE + EPS, RONE ).EQ.RZERO ) | |||
| $ GO TO 80 | |||
| EPS = RHALF*EPS | |||
| GO TO 70 | |||
| 80 CONTINUE | |||
| EPS = EPS + EPS | |||
| EPS = EPSILON(RZERO) | |||
| WRITE( NOUT, FMT = 9998 )EPS | |||
| * | |||
| * Check the reliability of ZMMCH using exact data. | |||
| @@ -1303,8 +1343,6 @@ | |||
| NC = 0 | |||
| RESET = .TRUE. | |||
| ERRMAX = RZERO | |||
| RALS = RONE | |||
| RBETS = RONE | |||
| * | |||
| DO 100 IN = 1, NIDIM | |||
| N = IDIM( IN ) | |||
| @@ -1951,7 +1989,7 @@ | |||
| * | |||
| * Tests the error exits from the Level 3 Blas. | |||
| * Requires a special version of the error-handling routine XERBLA. | |||
| * ALPHA, RALPHA, BETA, RBETA, A, B and C should not need to be defined. | |||
| * A, B and C should not need to be defined. | |||
| * | |||
| * Auxiliary routine for test program for Level 3 Blas. | |||
| * | |||
| @@ -1961,12 +1999,20 @@ | |||
| * Jeremy Du Croz, Numerical Algorithms Group Ltd. | |||
| * Sven Hammarling, Numerical Algorithms Group Ltd. | |||
| * | |||
| * 3-19-92: Initialize ALPHA, BETA, RALPHA, and RBETA (eca) | |||
| * 3-19-92: Fix argument 12 in calls to ZSYMM and ZHEMM | |||
| * with INFOT = 9 (eca) | |||
| * 10-9-00: Declared INTRINSIC DCMPLX (susan) | |||
| * | |||
| * .. Scalar Arguments .. | |||
| INTEGER ISNUM, NOUT | |||
| CHARACTER*6 SRNAMT | |||
| * .. Scalars in Common .. | |||
| INTEGER INFOT, NOUTC | |||
| LOGICAL LERR, OK | |||
| * .. Parameters .. | |||
| REAL ONE, TWO | |||
| PARAMETER ( ONE = 1.0D0, TWO = 2.0D0 ) | |||
| * .. Local Scalars .. | |||
| COMPLEX*16 ALPHA, BETA | |||
| DOUBLE PRECISION RALPHA, RBETA | |||
| @@ -1975,6 +2021,8 @@ | |||
| * .. External Subroutines .. | |||
| EXTERNAL ZGEMM, ZHEMM, ZHER2K, ZHERK, CHKXER, ZSYMM, | |||
| $ ZSYR2K, ZSYRK, ZTRMM, ZTRSM | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC DCMPLX | |||
| * .. Common blocks .. | |||
| COMMON /INFOC/INFOT, NOUTC, OK, LERR | |||
| * .. Executable Statements .. | |||
| @@ -1984,6 +2032,14 @@ | |||
| * LERR is set to .TRUE. by the special version of XERBLA each time | |||
| * it is called, and is then tested and re-set by CHKXER. | |||
| LERR = .FALSE. | |||
| * | |||
| * Initialize ALPHA, BETA, RALPHA, and RBETA. | |||
| * | |||
| ALPHA = DCMPLX( ONE, -ONE ) | |||
| BETA = DCMPLX( TWO, -TWO ) | |||
| RALPHA = ONE | |||
| RBETA = TWO | |||
| * | |||
| GO TO ( 10, 20, 30, 40, 50, 60, 70, 80, | |||
| $ 90 )ISNUM | |||
| 10 INFOT = 1 | |||
| @@ -2210,16 +2266,16 @@ | |||
| CALL ZHEMM( 'R', 'L', 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL ZHEMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 ) | |||
| CALL ZHEMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL ZHEMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) | |||
| CALL ZHEMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL ZHEMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 ) | |||
| CALL ZHEMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL ZHEMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) | |||
| CALL ZHEMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 12 | |||
| CALL ZHEMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 2, BETA, C, 1 ) | |||
| @@ -2277,16 +2333,16 @@ | |||
| CALL ZSYMM( 'R', 'L', 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL ZSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 ) | |||
| CALL ZSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL ZSYMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) | |||
| CALL ZSYMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL ZSYMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 ) | |||
| CALL ZSYMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 9 | |||
| CALL ZSYMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) | |||
| CALL ZSYMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 ) | |||
| CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) | |||
| INFOT = 12 | |||
| CALL ZSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 2, BETA, C, 1 ) | |||
| @@ -3276,7 +3332,6 @@ | |||
| 50 CONTINUE | |||
| END IF | |||
| * | |||
| 60 CONTINUE | |||
| LZERES = .TRUE. | |||
| GO TO 80 | |||
| 70 CONTINUE | |||