Add an Id line.
[rocl] / elite-prices
1 #! /usr/bin/tclsh
2 #
3 # $Id: elite-prices,v 1.2 2003/02/25 00:25:38 mdw Exp $
4
5 package require "elite" "1.0.0"
6
7 # --- An optimal trading pair ---
8
9 set lezaer "1598f98a6581"
10 set esmaonbe "7997d18a0d89"
11
12 set np [expr {[llength $products]/2}]
13 puts -nonewline stderr "\[[string repeat { } $np]\] "
14 puts -nonewline stderr "\[[string repeat { } 32]\]"
15 puts -nonewline stderr "\r\[[string repeat { } $np]\] \["
16 flush stderr
17 foreach {a s} [list l $lezaer e $esmaonbe] {
18 for {set f 0} {$f < 256} {incr f} {
19 elite-market m $s $f
20 foreach {t p} $products { destructure [list ${a}($f:$t) .] $m($t) }
21 if {($f & 15) == 15} { puts -nonewline stderr "."; flush stderr }
22 }
23 }
24 foreach {t p} $products {
25 set tot($t) 0
26 set min($t) 100000
27 set max($t) -100000
28 }
29 set i 0
30 foreach {t p} $products {
31 incr i
32 puts -nonewline stderr "\r\[[string repeat . $i]"
33 puts -nonewline stderr "[string repeat { } [expr {$np - $i}]]\] "
34 puts -nonewline stderr "\[[string repeat { } 32]\]"
35 puts -nonewline stderr "\r\[[string repeat . $i]"
36 puts -nonewline stderr "[string repeat { } [expr {$np - $i}]]\] \["
37 set ll {}
38 set ee {}
39 for {set f 0} {$f < 256} {incr f} {
40 lappend ll $l($f:$t)
41 lappend ee $e($f:$t)
42 }
43 set j 0
44 foreach pl $ll {
45 foreach pe $ee {
46 set pr [expr {$pl - $pe}]
47 if {$pr < $min($t)} { set min($t) $pr }
48 if {$pr > $max($t)} { set max($t) $pr }
49 incr tot($t) $pr
50 }
51 incr j
52 if {($j & 7) == 0} { puts -nonewline stderr "."; flush stderr }
53 }
54 }
55 puts stderr ""
56
57 foreach {t p} $products {
58 puts [format "%-15s %5d %4d %4d" $t \
59 $min($t) [expr {$tot($t)/65536}] $max($t)]
60 }