aboutsummaryrefslogtreecommitdiff
path: root/lapack_testing.py
diff options
context:
space:
mode:
authorJulie <julie@cs.utk.edu>2016-06-02 22:39:35 -0700
committerJulie <julie@cs.utk.edu>2016-06-02 22:39:35 -0700
commit6df7ab774682211b738a7461e487f720f89b4e66 (patch)
treeeed16f294b867e0e22dfdfccc18f24987d2249a8 /lapack_testing.py
parentbb1201b3f411ccc9ab0f8bab849e1b901815db1a (diff)
Adapt lapack_testing.py to work on both Python 2 and Python 3
Contributed by Julien Schueller Sent to Julie on May 8th 2016 Correspond to SVN rev 1748.
Diffstat (limited to 'lapack_testing.py')
-rwxr-xr-xlapack_testing.py486
1 files changed, 243 insertions, 243 deletions
diff --git a/lapack_testing.py b/lapack_testing.py
index 8ddc049b..4ffd72a0 100755
--- a/lapack_testing.py
+++ b/lapack_testing.py
@@ -3,22 +3,22 @@
###############################################################################
-# lapack_testing.py
+# lapack_testing.py
###############################################################################
-
-from subprocess import Popen, STDOUT, PIPE
+from __future__ import print_function
+from subprocess import Popen, STDOUT, PIPE
import os, sys, math
import getopt
# Arguments
try:
- opts, args = getopt.getopt(sys.argv[1:], "hd:srep:t:n",
- ["help", "dir", "short", "run", "error","prec=","test=","number"])
-
-except getopt.error, msg:
- print msg
- print "for help use --help"
- sys.exit(2)
+ opts, args = getopt.getopt(sys.argv[1:], "hd:srep:t:n",
+ ["help", "dir", "short", "run", "error","prec=","test=","number"])
+
+except getopt.error as msg:
+ print(msg)
+ print("for help use --help")
+ sys.exit(2)
short_summary=0
with_file=1
@@ -32,56 +32,56 @@ bin_dir='bin/Release'
abs_bin_dir=os.path.normpath(os.path.join(os.getcwd(),bin_dir))
for o, a in opts:
- if o in ("-h", "--help"):
- print sys.argv[0]+" [-h|--help] [-d dir |--dir dir] [-s |--short] [-r |--run] [-e |--error] [-p p |--prec p] [-t test |--test test] [-n | --number]"
- print " - h is to print this message"
- print " - r is to use to run the LAPACK tests then analyse the output (.out files). By default, the script will not run all the LAPACK tests"
- print " - d [dir] is to indicate where is the LAPACK testing directory (.out files). By default, the script will use ."
- print " LEVEL OF OUTPUT"
- print " - x is to print a detailed summary"
- print " - e is to print only the error summary"
- print " - s is to print a short summary"
- print " - n is to print the numbers of failing tests (turn on summary mode)"
- print " SECLECTION OF TESTS:"
- print " - p [s/c/d/z/x] is to indicate the PRECISION to run:"
- print " s=single"
- print " d=double"
- print " sd=single/double"
- print " c=complex"
- print " z=double complex"
- print " cz=complex/double complex"
- print " x=all [DEFAULT]"
- print " - t [lin/eig/mixed/rfp/all] is to indicate which TEST FAMILY to run:"
- print " lin=Linear Equation"
- print " eig=Eigen Problems"
- print " mixed=mixed-precision"
- print " rfp=rfp format"
- print " all=all tests [DEFAULT]"
- print " EXAMPLES:"
- print " ./lapack_testing.py -n"
- print " Will return the numbers of failed tests by analyzing the LAPACK output"
- print " ./lapack_testing.py -n -r -p s"
- print " Will return the numbers of failed tests in REAL precision by running the LAPACK Tests then analyzing the output"
- print " ./lapack_testing.py -n -p s -t eig "
- print " Will return the numbers of failed tests in REAL precision by analyzing only the LAPACK output of EIGEN testings"
- print "Written by Julie Langou (June 2011) "
- sys.exit(0)
- else:
- if o in ("-s", "--short"):
- short_summary = 1
- if o in ("-r", "--run"):
- with_file = 0
- if o in ("-e", "--error"):
- just_errors = 1
- if o in ( '-p', '--prec' ):
- prec = a
- if o in ( '-d', '--dir' ):
- test_dir = a
- if o in ( '-t', '--test' ):
- test = a
- if o in ( '-n', '--number' ):
- only_numbers = 1
- short_summary = 1
+ if o in ("-h", "--help"):
+ print(sys.argv[0]+" [-h|--help] [-d dir |--dir dir] [-s |--short] [-r |--run] [-e |--error] [-p p |--prec p] [-t test |--test test] [-n | --number]")
+ print(" - h is to print this message")
+ print(" - r is to use to run the LAPACK tests then analyse the output (.out files). By default, the script will not run all the LAPACK tests")
+ print(" - d [dir] is to indicate where is the LAPACK testing directory (.out files). By default, the script will use .")
+ print(" LEVEL OF OUTPUT")
+ print(" - x is to print a detailed summary")
+ print(" - e is to print only the error summary")
+ print(" - s is to print a short summary")
+ print(" - n is to print the numbers of failing tests (turn on summary mode)")
+ print(" SECLECTION OF TESTS:")
+ print(" - p [s/c/d/z/x] is to indicate the PRECISION to run:")
+ print(" s=single")
+ print(" d=double")
+ print(" sd=single/double")
+ print(" c=complex")
+ print(" z=double complex")
+ print(" cz=complex/double complex")
+ print(" x=all [DEFAULT]")
+ print(" - t [lin/eig/mixed/rfp/all] is to indicate which TEST FAMILY to run:")
+ print(" lin=Linear Equation")
+ print(" eig=Eigen Problems")
+ print(" mixed=mixed-precision")
+ print(" rfp=rfp format")
+ print(" all=all tests [DEFAULT]")
+ print(" EXAMPLES:")
+ print(" ./lapack_testing.py -n")
+ print(" Will return the numbers of failed tests by analyzing the LAPACK output")
+ print(" ./lapack_testing.py -n -r -p s")
+ print(" Will return the numbers of failed tests in REAL precision by running the LAPACK Tests then analyzing the output")
+ print(" ./lapack_testing.py -n -p s -t eig ")
+ print(" Will return the numbers of failed tests in REAL precision by analyzing only the LAPACK output of EIGEN testings")
+ print("Written by Julie Langou (June 2011) ")
+ sys.exit(0)
+ else:
+ if o in ("-s", "--short"):
+ short_summary = 1
+ if o in ("-r", "--run"):
+ with_file = 0
+ if o in ("-e", "--error"):
+ just_errors = 1
+ if o in ( '-p', '--prec' ):
+ prec = a
+ if o in ( '-d', '--dir' ):
+ test_dir = a
+ if o in ( '-t', '--test' ):
+ test = a
+ if o in ( '-n', '--number' ):
+ only_numbers = 1
+ short_summary = 1
# process options
@@ -89,7 +89,7 @@ os.chdir(test_dir)
execution=1
summary="\n\t\t\t--> LAPACK TESTING SUMMARY <--\n";
-if with_file: summary+= "\t\tProcessing LAPACK Testing output found in the "+test_dir+" direcory\n";
+if with_file: summary+= "\t\tProcessing LAPACK Testing output found in the "+test_dir+" directory\n";
summary+="SUMMARY \tnb test run \tnumerical error \tother error \n";
summary+="================ \t===========\t=================\t================ \n";
nb_of_test=0
@@ -100,80 +100,80 @@ os.environ["PATH"] = os.environ["PATH"]+":."
# Define a function to open the executable (different filenames on unix and Windows)
def run_summary_test( f, cmdline, short_summary):
- nb_test_run=0
- nb_test_fail=0
- nb_test_illegal=0
- nb_test_info=0
-
- if (with_file):
- if not os.path.exists(cmdline):
- error_message=cmdline+" file not found"
- r=1
- if short_summary: return [nb_test_run,nb_test_fail,nb_test_illegal,nb_test_info]
- else:
- pipe = open(cmdline,'r')
- r=0
- else:
- if os.name != 'nt':
- cmdline='./' + cmdline
- else :
- cmdline=abs_bin_dir+os.path.sep+cmdline
-
- outfile=cmdline.split()[4]
- #pipe = open(outfile,'w')
- p = Popen(cmdline, shell=True)#, stdout=pipe)
- p.wait()
- #pipe.close()
- r=p.returncode
- pipe = open(outfile,'r')
- error_message=cmdline+" did not work"
-
- if r != 0 and not with_file:
- print "---- TESTING " + cmdline.split()[0] + "... FAILED(" + error_message +") !"
- for line in pipe.readlines():
- f.write(str(line))
- elif r != 0 and with_file and not short_summary:
- print "---- WARNING: please check that you have the LAPACK output : "+cmdline+"!"
- print "---- WARNING: with the option -r, we can run the LAPACK testing for you"
- # print "---- "+error_message
- else:
- for line in pipe.readlines():
- f.write(str(line))
- words_in_line=line.split()
- if (line.find("run")!=-1):
-# print line
- whereisrun=words_in_line.index("run)")
- nb_test_run+=int(words_in_line[whereisrun-2])
- if (line.find("out of")!=-1):
- if (short_summary==0): print line,
- whereisout= words_in_line.index("out")
- nb_test_fail+=int(words_in_line[whereisout-1])
- if ((line.find("illegal")!=-1) or (line.find("Illegal")!=-1)):
- if (short_summary==0):print line,
- nb_test_illegal+=1
- if (line.find(" INFO")!=-1):
- if (short_summary==0):print line,
- nb_test_info+=1
- if (with_file==1):
- pipe.close()
-
- f.flush();
-
- return [nb_test_run,nb_test_fail,nb_test_illegal,nb_test_info]
+ nb_test_run=0
+ nb_test_fail=0
+ nb_test_illegal=0
+ nb_test_info=0
+
+ if (with_file):
+ if not os.path.exists(cmdline):
+ error_message=cmdline+" file not found"
+ r=1
+ if short_summary: return [nb_test_run,nb_test_fail,nb_test_illegal,nb_test_info]
+ else:
+ pipe = open(cmdline,'r')
+ r=0
+ else:
+ if os.name != 'nt':
+ cmdline='./' + cmdline
+ else :
+ cmdline=abs_bin_dir+os.path.sep+cmdline
+
+ outfile=cmdline.split()[4]
+ #pipe = open(outfile,'w')
+ p = Popen(cmdline, shell=True)#, stdout=pipe)
+ p.wait()
+ #pipe.close()
+ r=p.returncode
+ pipe = open(outfile,'r')
+ error_message=cmdline+" did not work"
+
+ if r != 0 and not with_file:
+ print("---- TESTING " + cmdline.split()[0] + "... FAILED(" + error_message +") !")
+ for line in pipe.readlines():
+ f.write(str(line))
+ elif r != 0 and with_file and not short_summary:
+ print("---- WARNING: please check that you have the LAPACK output : "+cmdline+"!")
+ print("---- WARNING: with the option -r, we can run the LAPACK testing for you")
+ # print "---- "+error_message
+ else:
+ for line in pipe.readlines():
+ f.write(str(line))
+ words_in_line=line.split()
+ if (line.find("run")!=-1):
+# print line
+ whereisrun=words_in_line.index("run)")
+ nb_test_run+=int(words_in_line[whereisrun-2])
+ if (line.find("out of")!=-1):
+ if (short_summary==0): print(line, end=' ')
+ whereisout= words_in_line.index("out")
+ nb_test_fail+=int(words_in_line[whereisout-1])
+ if ((line.find("illegal")!=-1) or (line.find("Illegal")!=-1)):
+ if (short_summary==0):print(line, end=' ')
+ nb_test_illegal+=1
+ if (line.find(" INFO")!=-1):
+ if (short_summary==0):print(line, end=' ')
+ nb_test_info+=1
+ if (with_file==1):
+ pipe.close()
+
+ f.flush();
+
+ return [nb_test_run,nb_test_fail,nb_test_illegal,nb_test_info]
# If filename cannot be opened, send output to sys.stderr
filename = "testing_results.txt"
try:
- f = open(filename, 'w')
+ f = open(filename, 'w')
except IOError:
- f = sys.stdout
+ f = sys.stdout
if (short_summary==0):
- print " "
- print "---------------- Testing LAPACK Routines ----------------"
- print " "
- print "-- Detailed results are stored in", filename
+ print(" ")
+ print("---------------- Testing LAPACK Routines ----------------")
+ print(" ")
+ print("-- Detailed results are stored in", filename)
dtypes = (
("s", "d", "c", "z"),
@@ -181,32 +181,32 @@ dtypes = (
)
if prec=='s':
- range_prec=[0]
+ range_prec=[0]
elif prec=='d':
- range_prec=[1]
+ range_prec=[1]
elif prec=='sd':
- range_prec=[0,1]
+ range_prec=[0,1]
elif prec=='c':
- range_prec=[2]
+ range_prec=[2]
elif prec=='z':
- range_prec=[3]
+ range_prec=[3]
elif prec=='cz':
- range_prec=[2,3]
-else:
- prec='x';
- range_prec=range(4)
+ range_prec=[2,3]
+else:
+ prec='x';
+ range_prec=list(range(4))
if test=='lin':
- range_test=[15]
+ range_test=[15]
elif test=='mixed':
- range_test=[16]
- range_prec=[1,3]
+ range_test=[16]
+ range_prec=[1,3]
elif test=='rfp':
- range_test=[17]
+ range_test=[17]
elif test=='eig':
- range_test=range(15)
-else:
- range_test=range(18)
+ range_test=list(range(15))
+else:
+ range_test=list(range(18))
list_results = [
[0, 0, 0, 0, 0],
@@ -216,111 +216,111 @@ list_results = [
]
for dtype in range_prec:
- letter = dtypes[0][dtype]
- name = dtypes[1][dtype]
-
- if (short_summary==0):
- print " "
- print "------------------------- %s ------------------------" % name
- print " "
- sys.stdout.flush()
-
- dtests = (
- ("nep", "sep", "svd",
- letter+"ec",letter+"ed",letter+"gg",
- letter+"gd",letter+"sb",letter+"sg",
- letter+"bb","glm","gqr",
- "gsv","csd","lse",
- letter+"test", letter+dtypes[0][dtype-1]+"test",letter+"test_rfp"),
- ("Nonsymmetric Eigenvalue Problem", "Symmetric Eigenvalue Problem", "Singular Value Decomposition",
- "Eigen Condition","Nonsymmetric Eigenvalue","Nonsymmetric Generalized Eigenvalue Problem",
- "Nonsymmetric Generalized Eigenvalue Problem driver", "Symmetric Eigenvalue Problem", "Symmetric Eigenvalue Generalized Problem",
- "Banded Singular Value Decomposition routines", "Generalized Linear Regression Model routines", "Generalized QR and RQ factorization routines",
- "Generalized Singular Value Decomposition routines", "CS Decomposition routines", "Constrained Linear Least Squares routines",
- "Linear Equation routines", "Mixed Precision linear equation routines","RFP linear equation routines"),
- (letter+"nep", letter+"sep", letter+"svd",
- letter+"ec",letter+"ed",letter+"gg",
- letter+"gd",letter+"sb",letter+"sg",
- letter+"bb",letter+"glm",letter+"gqr",
- letter+"gsv",letter+"csd",letter+"lse",
- letter+"test", letter+dtypes[0][dtype-1]+"test",letter+"test_rfp"),
- )
-
-
- for dtest in range_test:
- nb_of_test=0
- # NEED TO SKIP SOME PRECISION (namely s and c) FOR PROTO MIXED PRECISION TESTING
- if dtest==16 and (letter=="s" or letter=="c"):
- continue
- if (with_file==1):
- cmdbase=dtests[2][dtest]+".out"
- else:
- if dtest==15:
- # LIN TESTS
- cmdbase="xlintst"+letter+" < "+dtests[0][dtest]+".in > "+dtests[2][dtest]+".out"
- elif dtest==16:
- # PROTO LIN TESTS
- cmdbase="xlintst"+letter+dtypes[0][dtype-1]+" < "+dtests[0][dtest]+".in > "+dtests[2][dtest]+".out"
- elif dtest==17:
- # PROTO LIN TESTS
- cmdbase="xlintstrf"+letter+" < "+dtests[0][dtest]+".in > "+dtests[2][dtest]+".out"
+ letter = dtypes[0][dtype]
+ name = dtypes[1][dtype]
+
+ if (short_summary==0):
+ print(" ")
+ print("------------------------- %s ------------------------" % name)
+ print(" ")
+ sys.stdout.flush()
+
+ dtests = (
+ ("nep", "sep", "svd",
+ letter+"ec",letter+"ed",letter+"gg",
+ letter+"gd",letter+"sb",letter+"sg",
+ letter+"bb","glm","gqr",
+ "gsv","csd","lse",
+ letter+"test", letter+dtypes[0][dtype-1]+"test",letter+"test_rfp"),
+ ("Nonsymmetric Eigenvalue Problem", "Symmetric Eigenvalue Problem", "Singular Value Decomposition",
+ "Eigen Condition","Nonsymmetric Eigenvalue","Nonsymmetric Generalized Eigenvalue Problem",
+ "Nonsymmetric Generalized Eigenvalue Problem driver", "Symmetric Eigenvalue Problem", "Symmetric Eigenvalue Generalized Problem",
+ "Banded Singular Value Decomposition routines", "Generalized Linear Regression Model routines", "Generalized QR and RQ factorization routines",
+ "Generalized Singular Value Decomposition routines", "CS Decomposition routines", "Constrained Linear Least Squares routines",
+ "Linear Equation routines", "Mixed Precision linear equation routines","RFP linear equation routines"),
+ (letter+"nep", letter+"sep", letter+"svd",
+ letter+"ec",letter+"ed",letter+"gg",
+ letter+"gd",letter+"sb",letter+"sg",
+ letter+"bb",letter+"glm",letter+"gqr",
+ letter+"gsv",letter+"csd",letter+"lse",
+ letter+"test", letter+dtypes[0][dtype-1]+"test",letter+"test_rfp"),
+ )
+
+
+ for dtest in range_test:
+ nb_of_test=0
+ # NEED TO SKIP SOME PRECISION (namely s and c) FOR PROTO MIXED PRECISION TESTING
+ if dtest==16 and (letter=="s" or letter=="c"):
+ continue
+ if (with_file==1):
+ cmdbase=dtests[2][dtest]+".out"
else:
- # EIG TESTS
- cmdbase="xeigtst"+letter+" < "+dtests[0][dtest]+".in > "+dtests[2][dtest]+".out"
- if (not just_errors and not short_summary):
- print "--> Testing "+name+" "+dtests[1][dtest]+" [ "+cmdbase+" ]"
- # Run the process: either to read the file or run the LAPACK testing
- nb_test = run_summary_test(f, cmdbase, short_summary)
- list_results[0][dtype]+=nb_test[0]
- list_results[1][dtype]+=nb_test[1]
- list_results[2][dtype]+=nb_test[2]
- list_results[3][dtype]+=nb_test[3]
- got_error=nb_test[1]+nb_test[2]+nb_test[3]
-
- if (not short_summary):
- if (nb_test[0]>0 and just_errors==0):
- print "--> Tests passed: "+str(nb_test[0])
- if (nb_test[1]>0):
- print "--> Tests failing to pass the threshold: "+str(nb_test[1])
- if (nb_test[2]>0):
- print "--> Illegal Error: "+str(nb_test[2])
- if (nb_test[3]>0):
- print "--> Info Error: "+str(nb_test[3])
- if (got_error>0 and just_errors==1):
- print "ERROR IS LOCATED IN "+name+" "+dtests[1][dtest]+" [ "+cmdbase+" ]"
- print ""
- if (just_errors==0):
- print ""
+ if dtest==15:
+ # LIN TESTS
+ cmdbase="xlintst"+letter+" < "+dtests[0][dtest]+".in > "+dtests[2][dtest]+".out"
+ elif dtest==16:
+ # PROTO LIN TESTS
+ cmdbase="xlintst"+letter+dtypes[0][dtype-1]+" < "+dtests[0][dtest]+".in > "+dtests[2][dtest]+".out"
+ elif dtest==17:
+ # PROTO LIN TESTS
+ cmdbase="xlintstrf"+letter+" < "+dtests[0][dtest]+".in > "+dtests[2][dtest]+".out"
+ else:
+ # EIG TESTS
+ cmdbase="xeigtst"+letter+" < "+dtests[0][dtest]+".in > "+dtests[2][dtest]+".out"
+ if (not just_errors and not short_summary):
+ print("--> Testing "+name+" "+dtests[1][dtest]+" [ "+cmdbase+" ]")
+ # Run the process: either to read the file or run the LAPACK testing
+ nb_test = run_summary_test(f, cmdbase, short_summary)
+ list_results[0][dtype]+=nb_test[0]
+ list_results[1][dtype]+=nb_test[1]
+ list_results[2][dtype]+=nb_test[2]
+ list_results[3][dtype]+=nb_test[3]
+ got_error=nb_test[1]+nb_test[2]+nb_test[3]
+
+ if (not short_summary):
+ if (nb_test[0]>0 and just_errors==0):
+ print("--> Tests passed: "+str(nb_test[0]))
+ if (nb_test[1]>0):
+ print("--> Tests failing to pass the threshold: "+str(nb_test[1]))
+ if (nb_test[2]>0):
+ print("--> Illegal Error: "+str(nb_test[2]))
+ if (nb_test[3]>0):
+ print("--> Info Error: "+str(nb_test[3]))
+ if (got_error>0 and just_errors==1):
+ print("ERROR IS LOCATED IN "+name+" "+dtests[1][dtest]+" [ "+cmdbase+" ]")
+ print("")
+ if (just_errors==0):
+ print("")
# elif (got_error>0):
# print dtests[2][dtest]+".out \t"+str(nb_test[1])+"\t"+str(nb_test[2])+"\t"+str(nb_test[3])
-
- sys.stdout.flush()
- if (list_results[0][dtype] > 0 ):
- percent_num_error=float(list_results[1][dtype])/float(list_results[0][dtype])*100
- percent_error=float(list_results[2][dtype]+list_results[3][dtype])/float(list_results[0][dtype])*100
- else:
- percent_num_error=0
- percent_error=0
- summary+=name+"\t"+str(list_results[0][dtype])+"\t\t"+str(list_results[1][dtype])+"\t("+"%.3f" % percent_num_error+"%)\t"+str(list_results[2][dtype]+list_results[3][dtype])+"\t("+"%.3f" % percent_error+"%)\t""\n"
- list_results[0][4]+=list_results[0][dtype]
- list_results[1][4]+=list_results[1][dtype]
- list_results[2][4]+=list_results[2][dtype]
- list_results[3][4]+=list_results[3][dtype]
-
+
+ sys.stdout.flush()
+ if (list_results[0][dtype] > 0 ):
+ percent_num_error=float(list_results[1][dtype])/float(list_results[0][dtype])*100
+ percent_error=float(list_results[2][dtype]+list_results[3][dtype])/float(list_results[0][dtype])*100
+ else:
+ percent_num_error=0
+ percent_error=0
+ summary+=name+"\t"+str(list_results[0][dtype])+"\t\t"+str(list_results[1][dtype])+"\t("+"%.3f" % percent_num_error+"%)\t"+str(list_results[2][dtype]+list_results[3][dtype])+"\t("+"%.3f" % percent_error+"%)\t""\n"
+ list_results[0][4]+=list_results[0][dtype]
+ list_results[1][4]+=list_results[1][dtype]
+ list_results[2][4]+=list_results[2][dtype]
+ list_results[3][4]+=list_results[3][dtype]
+
if only_numbers==1:
- print str(list_results[1][4])+"\n"+str(list_results[2][4]+list_results[3][4])
+ print(str(list_results[1][4])+"\n"+str(list_results[2][4]+list_results[3][4]))
else:
- print summary
- if (list_results[0][4] > 0 ):
- percent_num_error=float(list_results[1][4])/float(list_results[0][4])*100
- percent_error=float(list_results[2][4]+list_results[3][4])/float(list_results[0][4])*100
- else:
- percent_num_error=0
- percent_error=0
- if (prec=='x'):
- print "--> ALL PRECISIONS\t"+str(list_results[0][4])+"\t\t"+str(list_results[1][4])+"\t("+"%.3f" % percent_num_error+"%)\t"+str(list_results[2][4]+list_results[3][4])+"\t("+"%.3f" % percent_error+"%)\t""\n"
- if list_results[0][4] == 0:
- print "NO TESTS WERE ANALYZED, please use the -r option to run the LAPACK TESTING"
+ print(summary)
+ if (list_results[0][4] > 0 ):
+ percent_num_error=float(list_results[1][4])/float(list_results[0][4])*100
+ percent_error=float(list_results[2][4]+list_results[3][4])/float(list_results[0][4])*100
+ else:
+ percent_num_error=0
+ percent_error=0
+ if (prec=='x'):
+ print("--> ALL PRECISIONS\t"+str(list_results[0][4])+"\t\t"+str(list_results[1][4])+"\t("+"%.3f" % percent_num_error+"%)\t"+str(list_results[2][4]+list_results[3][4])+"\t("+"%.3f" % percent_error+"%)\t""\n")
+ if list_results[0][4] == 0:
+ print("NO TESTS WERE ANALYZED, please use the -r option to run the LAPACK TESTING")
# This may close the sys.stdout stream, so make it the last statement
f.close()