3 ($primer,$ztype,$output) = @ARGV;
4 $output =~ s/^\-o// or die "$output ?";
6 $gnuplot= "$output.gnuplot.tmp";
7 $initdata= "$output.initdata.tmp";
9 open Z, "$ztype" or die "$ztype $!";
10 open G, ">$gnuplot" or die $!;
12 sub pg ($$) { printf G "%s(u,v) = %s\n", @_ or die $!; }
15 $!=0; defined($_= <Z>) or die "$ztype $!";
17 next unless m/^splot\s+([^,]+),([^,]+),([^,]+)\s*$/;
18 pg('x',$1); pg('y',$2); pg('z',$3);
22 printf G "set print \"-\"\n" or die $!;
27 $!=0; system($_[0]); die "$! $?" if $! or $?;
30 run("./$primer >>$gnuplot");
31 run("gnuplot $gnuplot >$initdata");
33 open I, "$initdata" or die "$initdata $!";
34 open B, ">$output.new" or die "$output.new $!";
37 m/^(\d+) .*/ or die "$_ ?";
40 for ($i=0; $i<$dim; $i++) {
41 $!=0; defined($_= <I>) or die "$initdata $!";
42 print B pack "d", $_ or die $!;
46 rename "$output.new",$output or die $!;
48 print " wrote $output\n";