Task

Write two equal-sized numerical arrays 'x' and 'y' to
a two-column text file named 'filename'.

The first column of the file contains values from an 'x'-array with a
given 'xprecision', the second -- values from 'y'-array with 'yprecision'.

For example, considering:

   x = {1, 2, 3, 1e11};
   y = {1, 1.4142135623730951, 1.7320508075688772, 316227.76601683791}; 
                                                          /* sqrt(x) */
   xprecision = 3;
   yprecision = 5;

The file should look like:

   1    1
   2    1.4142
   3    1.7321
   1e+011   3.1623e+005

This task is intended as a subtask for Measure relative performance of sorting algorithms implementations.




3 as $xprecision
5 as $yprecision
 
[ ] as $results
 
[ 1 2 3 1e11 ] as $a
 
group
   $a each sqrt
list as $b
 
# generate format specifier   "%-8.3g %.5g\n"
"%%-8.%($xprecision)dg %%.%($yprecision)dg\n" as $f   
 
define print2 use $v1, $v2, $f
   $v2 1.0 prefer  $v1 1.0 prefer $f format $results push
 
4 each as $i
   $f $b $i get $a $i get print2
$results "" join "results.dat" write