3bea4c16 |
1 | puts "===========" |
2 | puts "OCC15489" |
3 | puts "===========" |
4 | |
5 | set BugNumber OCC15489 |
6 | |
7 | ###################################################### |
8 | # Constructor gp_Lin2d(A, B, C) creates line with origin point in infinity |
9 | ###################################################### |
10 | |
11 | proc GetPercent {Value GoodValue} { |
12 | set Percent 0. |
13 | if {${GoodValue} != 0.} { |
14 | set Percent [expr abs(${Value} - ${GoodValue}) / abs(double(${GoodValue})) * 100.] |
15 | } elseif {${Value} != 0.} { |
16 | set Percent [expr abs(${GoodValue} - ${Value}) / abs(double(${Value})) * 100.] |
17 | } else { |
18 | set Percent 0. |
19 | } |
20 | return ${Percent} |
21 | } |
22 | |
23 | pload QAcommands |
24 | |
25 | set A 1e-20 |
26 | set B -1. |
27 | set C 2. |
28 | |
29 | set OriginList [OCC15489 $A $B $C] |
30 | regexp {X_0 += +([-0-9.+eE]+)} $OriginList full X_0 |
31 | regexp {Y_0 += +([-0-9.+eE]+)} $OriginList full Y_0 |
32 | |
33 | set percent_max 0.1 |
34 | set good_X_0 -1.9999999999999999e-20 |
35 | set good_Y_0 2 |
36 | set status 0 |
37 | |
38 | set X_0_percent [GetPercent ${X_0} ${good_X_0}] |
39 | puts "X_0_percent = ${X_0_percent}" |
40 | if { ${X_0_percent} > ${percent_max} } { |
41 | puts "X_0: Faulty ${BugNumber}" |
42 | set status 1 |
43 | } else { |
44 | puts "X_0: OK ${BugNumber}" |
45 | } |
46 | |
47 | set Y_0_percent [GetPercent ${Y_0} ${good_Y_0}] |
48 | puts "Y_0_percent = ${Y_0_percent}" |
49 | if { ${Y_0_percent} > ${percent_max} } { |
50 | puts "Y_0: Faulty ${BugNumber}" |
51 | set status 1 |
52 | } else { |
53 | puts "Y_0: OK ${BugNumber}" |
54 | } |
55 | |
56 | # Resume |
57 | puts "" |
58 | if { ${status} != 0 } { |
59 | puts "Faulty ${BugNumber}" |
60 | } else { |
61 | puts "OK ${BugNumber}" |
62 | } |