(info: compute ctr, min, max, avg) o sub # = #1 (=4) # = #2 # = #3 # = #4 # = #5 # = #6 (=0) # = #7 (=0) # = #8 (=0) # = #9 (=0) # = 8 o if [# GT #] (debug, pointsdata: howmany too big: # - EXITING) (debug, pointsdata: howmany too big: # - EXITING) (AXIS,notify, pointsdata: howmany too big - EXITING) m2 o endif o if [# LT 2] (debug, pointsdata: howmany too small: # - EXITING) (debug, pointsdata: howmany too small: # - EXITING) (AXIS,notify, pointsdata: howmany too small - EXITING) m2 o endif # = 2 # = 0 #<_pointsdata:min> = +99999999 #<_pointsdata:max> = -99999999 o while [# LE [1 + #]] # = ## ;(debug, val=#) o if [# GT #<_pointsdata:max>] #<_pointsdata:max> = # o endif o if [# LT #<_pointsdata:min>] #<_pointsdata:min> = # o endif # = [# + #] # = [# +1] o endwhile #<_pointsdata:ctr> = [[#<_pointsdata:max>+#<_pointsdata:min>]/2] #<_pointsdata:avg> = [#/#] ;(debug, min=#<_pointsdata:min>) ;(debug, ctr=#<_pointsdata:ctr>) ;(debug, max=#<_pointsdata:max>) ;(debug, avg=#<_pointsdata:avg>) o endsub