From ab1ba788c7db86ca62e78166ed736ae4e555c5f0 Mon Sep 17 00:00:00 2001 From: Andreas Lauser Date: Mon, 22 Oct 2012 14:20:30 +0200 Subject: [PATCH] make the fuzzycompare script work, update reference solutions --- bin/fuzzycomparevtu.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/bin/fuzzycomparevtu.py b/bin/fuzzycomparevtu.py index 383d4bc2f..1d9ced231 100755 --- a/bin/fuzzycomparevtu.py +++ b/bin/fuzzycomparevtu.py @@ -10,16 +10,19 @@ def isFuzzyEqual(vtkFile1, vtkFile2, absTol, relTol): for curLine1 in vtkFile1.xreadlines(): curLine2 = vtkFile2.readline() - if curLine1.find(""): + if curLine1.find("") >= 0: inField = False continue - m = re.match('Name="\([a-zA-Z0-9 _\-]*\)"', curLine1) + m = re.search(r'Name="([a-zA-Z0-9 _\-]*)"', curLine1) if m: curFieldName = m.group(1) inField = True continue + if not inField: + continue + curVals1 = map(float, curLine1.split()) curVals2 = map(float, curLine2.split()) @@ -30,11 +33,8 @@ def isFuzzyEqual(vtkFile1, vtkFile2, absTol, relTol): for i in range(0, len(curVals1)): number1 = curVals1[i] number2 = curVals2[i] - if abs(number1 - number2) > absTol: - print 'Absolute difference between %f and %f too large (%f) in data field "%s"'%(number1,number2,abs(number1 - number2), curFieldName) - return False - elif number2 != 0 and abs(number1/number2 - 1) > relTol: - print 'Relative difference between %f and %f too large (%f%%) in data field "%s"'%(number1,number2,abs(number1/number2 - 1)*100, curFieldName) + if abs(number1 - number2) > absTol and number2 != 0 and abs(number1/number2 - 1) > relTol: + print 'Difference between %f and %f too large (%f%%) in data field "%s"'%(number1,number2,abs(number1/number2 - 1)*100, curFieldName) return False return True