7 if [catch { set result [BUC60897] } ] {
8 puts "BUC60897: Error; (case 1)"
10 set len [llength ${result}]
12 puts "length = ${len}"
13 puts "BUC60897: Error; (case 2)"
15 set circle_X [lindex ${result} 3]
16 set circle_Y [lindex ${result} 5]
17 set circle_R [lindex ${result} 7]
18 set tangency1_X [lindex ${result} 11]
19 set tangency1_Y [lindex ${result} 13]
20 set tangency2_X [lindex ${result} 17]
21 set tangency2_Y [lindex ${result} 19]
23 set x1 [expr abs(${tangency1_X} - ${circle_X})]
24 set y1 [expr abs(${tangency1_Y} - ${circle_Y})]
25 set R1 [expr sqrt(${x1} * ${x1} + ${y1} * ${y1})]
27 set x2 [expr abs(${tangency2_X} - ${circle_X})]
28 set y2 [expr abs(${tangency2_Y} - ${circle_Y})]
29 set R2 [expr sqrt(${x2} * ${x2} + ${y2} * ${y2})]
32 set delta_R1 [expr abs(${R1} - ${circle_R}) / ${circle_R} * 100.]
33 set delta_R2 [expr abs(${R2} - ${circle_R}) / ${circle_R} * 100.]
35 if {${delta_R1} > ${maxdelta}} {
36 puts "circle_X = ${circle_X}"
37 puts "circle_Y = ${circle_Y}"
38 puts "circle_R = ${circle_R}"
39 puts "tangency1_X = ${tangency1_X}"
40 puts "tangency1_Y = ${tangency1_Y}"
44 puts "delta_R1 = ${delta_R1}"
45 puts "maxdelta = ${maxdelta}"
46 puts "BUC60897: Error; (case 3)"
48 puts "BUC60897: OK; (case 1)"
51 if {${delta_R2} > ${maxdelta}} {
52 puts "circle_X = ${circle_X}"
53 puts "circle_Y = ${circle_Y}"
54 puts "circle_R = ${circle_R}"
55 puts "tangency2_X = ${tangency2_X}"
56 puts "tangency2_Y = ${tangency2_Y}"
60 puts "delta_R2 = ${delta_R2}"
61 puts "maxdelta = ${maxdelta}"
62 puts "BUC60897: Error; (case 4)"
64 puts "BUC60897: OK; (case 2)"