### ==================================================================== ### Convert a list of wk*.dat* files to gnuplot commands. ### ### Usage: ### gawk -v wkkernels.awk file(s) > foo.gnu ### ### [04-Sep-2025] ### ==================================================================== BEGIN { print "XFMT0 = \"%.0f\"" print "XFMT1 = \"%.1f\"" print "XMAX = 2" print "YFMT = \"%.1f\"" print "XTICS = 1" print "set key off" print "set pointsize 0.5" print "set size ratio 0.5" print "set terminal postscript portrait enhanced color \"Helvetica-Bold\" 11 size 5,2" print "set linetype 1 lw 1 lc rgb \"blue\"" print "set linetype 2 lw 3 lc rgb \"red\"" print "set linetype 3 lw 1 lc rgb \"black\"" print "set xlabel \"x\"" print "set format x XFMT0" print "set format y YFMT" print "set xtics XTICS" print "set xrange [-XMAX:+XMAX]" print "set yrange [0:2]" print "" N = 100 } # { print "DEBUG: FILENAME = [" FILENAME "]" > "/dev/stderr"; fflush("") } { ++N EPSFILE = FILENAME sub("[.].*", "", EPSFILE) YNAME = EPSFILE sub("/tmp/", "", YNAME) gsub("_", "\\\\_", YNAME) if (FILENAME ~ /[.]dat[.]128/) W = "128" else if (FILENAME ~ /[.]dat[.]64/) W = "80" else if (FILENAME ~ /[.]dat[.]53/) W = "64" else if (FILENAME ~ /[.]dat[.]24/) W = "32" else if (FILENAME ~ /[.]dat[.]34/) W = "d128" else if (FILENAME ~ /[.]dat[.]16/) W = "d64" else if (FILENAME ~ /[.]dat[.]7/) W = "d32" else W = "999" if (FILENAME ~ /wk_atanh/) { print "set xrange [-1:1]" print "set xtics 0.5" print "set format x XFMT1" printf("set title \"%s ulps%s\"\n", YNAME, W) printf("set output \"%s.eps\"\n", EPSFILE) printf("plot \"%s\", 0.5, 1\n", FILENAME) print "set xtics XTICS" print "set xrange [-XMAX:+XMAX]" print "" } else if (FILENAME ~ /wk_acosh|wk_asinh/) { print "set xrange [-40:40]" print "set xtics 20" print "set format x XFMT0" printf("set title \"%s ulps%s\"\n", YNAME, W) printf("set output \"%s.eps\"\n", EPSFILE) printf("plot \"%s\", 0.5, 1\n", FILENAME) print "set xtics XTICS" print "set xrange [-XMAX:+XMAX]" print "" } else if (FILENAME ~ /wk_acos|wk_asin|series/) { print "set xrange [-1:1]" print "set xtics 0.5" print "set format x XFMT1" printf("set title \"%s ulps%s\"\n", YNAME, W) printf("set output \"%s.eps\"\n", EPSFILE) printf("plot \"%s\", 0.5, 1\n", FILENAME) print "set format x XFMT0" print "set xtics XTICS" print "set xrange [-XMAX:+XMAX]" print "" } else if (FILENAME ~ /wk_atan/) { print "set xrange [-10:10]" print "set xtics 5" print "set format x XFMT0" printf("set title \"%s ulps%s\"\n", YNAME, W) printf("set output \"%s.eps\"\n", EPSFILE) printf("plot \"%s\", 0.5, 1\n", FILENAME) print "set format x XFMT0" print "set xtics XTICS" print "set xrange [-XMAX:+XMAX]" print "" } else if (FILENAME ~ /wk_cosh|wk_sinh|wk_tanh/) { print "set xrange [-30:30]" print "set xtics 10" printf("set title \"%s ulps%s\"\n", YNAME, W) printf("set output \"%s.eps\"\n", EPSFILE) printf("plot \"%s\", 0.5, 1\n", FILENAME) print "set xtics XTICS" print "set xrange [-XMAX:+XMAX]" print "" } else { printf("set title \"%s ulps%s\"\n", YNAME, W) printf("set output \"%s.eps\"\n", EPSFILE) printf("plot \"%s\", 0.5, 1\n", FILENAME) print "" } nextfile }