3 # $Id: elite-pairs,v 1.2 2003/02/25 00:25:38 mdw Exp $
5 package require "elite" "1.0.0"
12 if {[array exists var]} {
13 foreach {k d} [array get var] {
14 $ip eval [list set ${v}($k) $d]
17 $ip eval [list set $v $var]
21 foreach {k v} [array get p] {
22 $ip eval [list set $k $v]
24 if {[catch { $ip eval [list expr $expr] } rc]} {
25 puts stderr "$argv0: error in expression: $rc"
34 for {set i 0} {$i < [llength $argv]} {incr i} {
35 set a [lindex $argv $i]
39 set a [lindex $argv $i]
40 set g [parse-galaxy-spec $a]
41 if {[string equal $g ""]} {
42 puts stderr "$argv0: bad galaxy string `$a'"
49 set d [expr {[lindex $argv $i] * 10}]
56 puts stderr "usage: $argv0 \[-g GALAXY\] \[-d DIST\] AEXPR BEXPR"
64 if {$i != [llength $argv] - 2} {
65 puts stderr "usage: $argv0 \[-g GALAXY\] \[-d DIST\] AEXPR BEXPR"
68 destructure {aexpr bexpr} [lrange $argv $i end]
69 puts -nonewline stderr "\[computing adjacency table..."
76 if {![ok $s {} $aexpr]} { continue }
79 foreach {ss xx yy} $adj($s) {
80 set d [world-distance $x $y $xx $yy]
81 if {[ok $ss {a d} $bexpr]} {
82 puts [format "%-11s %-11s (%.1f LY)" $a(name) [worldname $ss] \
83 [expr {[world-distance $x $y $xx $yy]/10.0}]]