output: Convert paper size tests to Autotest framework.
[pspp-builds.git] / tests / expressions / randist / randist.pl
index 2e1b89d9ce7ad9253da205842e23b8836bd2cfca..212b22270501363d83e0518c34c137fd64dbcdd3 100755 (executable)
@@ -1,4 +1,5 @@
-use warnings;
+use strict;
+use warnings 'all';
 
 our (@funcs);
 our (@vars);
@@ -37,13 +38,18 @@ while (<>) {
     }
 
     print "DATA LIST LIST/", join (' ', 'P', @vars), ".\n";
+    print "NUMERIC ", join (' ', 'x', @funcs), " (F10.4)\n";
     print "COMPUTE x = IDF.$dist (", join (', ', 'P', @vars), ").\n";
     foreach my $func (@funcs) {
        print "COMPUTE $func = $func.$dist (",
          join (', ', 'x', @vars), ").\n";
     }
+    my (@print) = ('P', @vars, 'x', @funcs);
+    print "DO IF \$CASENUM = 1.\n";
+    print "PRINT OUTFILE='$dist.out'/'", heading (@print), "'\n";
+    print "END IF.\n";
     print "PRINT OUTFILE='$dist.out'/",
-      join (' ', 'P', @vars, 'x', @funcs), ".\n";
+      join (' ', @print), ".\n";
     print "BEGIN DATA.\n";
     print_all_values (['P', @vars], []);
     print "END DATA.\n";
@@ -63,3 +69,16 @@ sub print_all_values {
        }
     }
 }
+
+sub heading {
+    my (@names) = @_;
+    my ($out);
+    $out .= pad_to (shift (@names), 8) while $names[0] ne 'x';
+    $out .= pad_to (shift (@names), 10) while @names;
+    return $out;
+}
+
+sub pad_to {
+    my ($s, $n) = @_;
+    return (' ' x ($n - length ($s))) . $s . ' ';
+}