3 package require "elite" "1.0.0"
10 if {[array exists var]} {
11 foreach {k d} [array get var] {
12 $ip eval [list set ${v}($k) $d]
15 $ip eval [list set $v $var]
19 foreach {k v} [array get p] {
20 $ip eval [list set $k $v]
22 if {[catch { $ip eval [list expr $expr] } rc]} {
23 puts stderr "$argv0: error in expression: $rc"
32 for {set i 0} {$i < [llength $argv]} {incr i} {
33 set a [lindex $argv $i]
37 set a [lindex $argv $i]
38 set g [parse-galaxy-spec $a]
39 if {[string equal $g ""]} {
40 puts stderr "$argv0: bad galaxy string `$a'"
47 set d [expr {[lindex $argv $i] * 10}]
54 puts stderr "usage: $argv0 \[-g GALAXY\] \[-d DIST\] AEXPR BEXPR"
62 if {$i != [llength $argv] - 2} {
63 puts stderr "usage: $argv0 \[-g GALAXY\] \[-d DIST\] AEXPR BEXPR"
66 destructure {aexpr bexpr} [lrange $argv $i end]
67 puts -nonewline stderr "\[computing adjacency table..."
74 if {![ok $s {} $aexpr]} { continue }
77 foreach {ss xx yy} $adj($s) {
78 set d [world-distance $x $y $xx $yy]
79 if {[ok $ss {a d} $bexpr]} {
80 puts [format "%-11s %-11s (%.1f LY)" $a(name) [worldname $ss] \
81 [expr {[world-distance $x $y $xx $yy]/10.0}]]