puts "========" puts "OCC22241" puts "========" puts "" ########################################################### # The bug is appendix to the Salome Bug 0021148 ########################################################### set BugNumber OCC22241 restore [locate_data_file bug22241_c1.draw] c1 restore [locate_data_file bug22241_c2.draw] c2 set extrema_res [extrema c1 c2] set extrema_length [llength ${extrema_res} ] if {${extrema_length} < 8 } { puts "${BugNumber}: Faulty" } else { regexp {Extrema 1 is point : +([-0-9.+eE]+) +([-0-9.+eE]+) +([-0-9.+eE]+)} $extrema_res full X Y Z set good_X 1 set good_Y 3.0891916307971289e-33 set good_Z 0.059999999999999998 set percent_max 0.1 proc GetPercent {Value GoodValue} { set Percent 0. if {${GoodValue} != 0.} { set Percent [expr abs(${Value} - ${GoodValue}) / abs(double(${GoodValue})) * 100.] } elseif {${Value} != 0.} { set Percent [expr abs(${GoodValue} - ${Value}) / abs(double(${Value})) * 100.] } else { set Percent 0. } return ${Percent} } set X_percent [GetPercent ${X} ${good_X}] set Y_percent [GetPercent ${Y} ${good_Y}] set Z_percent [GetPercent ${Z} ${good_Z}] if {${X_percent} > ${percent_max} || ${Y_percent} > ${percent_max} || ${Z_percent} > ${percent_max}} { puts "X = ${X} Y = ${Y} Z = ${Z}" puts "X_percent = ${X_percent} Y_percent = ${Y_percent} Z_percent = ${Z_percent}" puts "${BugNumber}: Faulty" } else { puts "${BugNumber}: OK" } }