#!/usr/bin/perl require 'library.pl'; die unless @ARGV==4; ($prime,$instructions,$aout,$output) = @ARGV; $output =~ s/^\-o// or die "$output ?"; die if $prime =~ m/^\-/; die if $instructions =~ m/^\-/; $aoutin= "$output.aoutin.tmp"; $initdata= "$output.initdata.tmp"; run("cat $instructions >$aoutin"); open A, ">>$aoutin" or die $!; use Math::Trig; sub initdata_prime_point_callback ($$$$) { my ($u,$v,$comment,$floatformat) = @_; # SGT's coordinates # v corresponds to the old program's t, roughly printf(A "pointmap $floatformat $floatformat %s\n", $v/(pi), $u, $comment) or die $!; } sub initdata_return_vertex_transform () { ($vertex[0],$vertex[2])= ($vertex[2],$vertex[0]); map { $_ *= 0.7 } @vertex; $vertex[1] *= -1; $vertex[1] += 0.5; } initdata_process_prime(); print A "quit\n" or die $!; close A or die $!; run("./$aout <$aoutin >$initdata"); make_initdata();