chiark / gitweb /
Ignore distribution files better.
[rocl] / elite-prices
CommitLineData
1304202a 1#! /usr/bin/tclsh
b130b8f5 2#
3# $Id: elite-prices,v 1.2 2003/02/25 00:25:38 mdw Exp $
1304202a 4
5package require "elite" "1.0.0"
6
7# --- An optimal trading pair ---
8
9set lezaer "1598f98a6581"
10set esmaonbe "7997d18a0d89"
11
12set np [expr {[llength $products]/2}]
13puts -nonewline stderr "\[[string repeat { } $np]\] "
14puts -nonewline stderr "\[[string repeat { } 32]\]"
15puts -nonewline stderr "\r\[[string repeat { } $np]\] \["
16flush stderr
17foreach {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}
24foreach {t p} $products {
25 set tot($t) 0
26 set min($t) 100000
27 set max($t) -100000
28}
29set i 0
30foreach {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}
55puts stderr ""
56
57foreach {t p} $products {
58 puts [format "%-15s %5d %4d %4d" $t \
59 $min($t) [expr {$tot($t)/65536}] $max($t)]
60}