#include <splot.h> int i,j; double calc[11][4]; double *data; double calc2[11][4]; double *data2; double calc3[11][4]; double *data3; main() { /* read in data files */ readdata("demo\mult1.dat",data); readdata("demo\mult2.dat",data2); readdata("demo\mult3.dat",data3); /* average batch values */ for (i = 0; i < 11;i++) { for (j = 0;j < 10;j++) { calc[i][0] += data[i * 10 + j][0]; calc[i][1] += data[i * 10 + j][1]; calc[i][2] += data[i * 10 + j][2]; calc[i][3] += data[i * 10 + j][3]; calc2[i][0] += data2[i * 10 + j][0]; calc2[i][1] += data2[i * 10 + j][1]; calc2[i][2] += data2[i * 10 + j][2]; calc2[i][3] += data2[i * 10 + j][3]; calc3[i][0] += data3[i * 10 + j][0]; calc3[i][1] += data3[i * 10 + j][1]; calc3[i][2] += data3[i * 10 + j][2]; calc3[i][3] += data3[i * 10 + j][3]; } calc[i][0] /= 10; calc[i][1] /= 10; calc[i][2] /= 10; calc[i][3] /= 10; calc2[i][0] /= 10; calc2[i][1] /= 10; calc2[i][2] /= 10; calc2[i][3] /= 10; calc3[i][0] /= 10; calc3[i][1] /= 10; calc3[i][2] /= 10; calc3[i][3] /= 10; } abox(8,6,5,19.25); ascale(YAXES,0,100); ascale(XAXES,calc,0); /* set(YMULT,10);*/ set(FONTMULT,0.7); set(TICKLENGTH,-0.2); tickmarks(); ticklabel(); text(14.03,22.25,"1024 Data Items"); set(PLOTTYPE,SYM_LINES); set(AXESCLIP,ON); set(CURSYMBOL,OSQUARE); set(LINECOLOUR,RED); set(LINESTYLE,SOLID); drawdata(calc,0,1); set(CURSYMBOL,CROSS); set(LINECOLOUR,BLACK); set(LINESTYLE,DASHED); drawdata(calc,0,2); set(CURSYMBOL,OCIRCLE); set(LINECOLOUR,GREEN); set(LINESTYLE,DOTTED); drawdata(calc,0,3); /* the second data set */ set(LINECOLOUR,BLACK); set(LINESTYLE,SOLID); abox(8,6,5,11); ascale(YAXES,calc2,1); ascale(XAXES,calc2,0); tickmarks(); ticklabel(); label(LEFT,"Throughput (TPS)"); text(14.03,14,"128 Data Items"); set(CURSYMBOL,OSQUARE); set(LINECOLOUR,RED); set(LINESTYLE,SOLID); drawdata(calc2,0,1); set(CURSYMBOL,CROSS); set(LINECOLOUR,BLACK); set(LINESTYLE,DASHED); drawdata(calc2,0,2); set(CURSYMBOL,OCIRCLE); set(LINECOLOUR,GREEN); set(LINESTYLE,DOTTED); drawdata(calc2,0,3); /* the third data set */ set(LINECOLOUR,BLACK); set(LINESTYLE,SOLID); abox(8,6,5,2.75); ascale(YAXES,0,10); ascale(XAXES,calc3,0); tickmarks(); ticklabel(); text(14.03,5.75,"16 Data Items"); set(CURSYMBOL,OSQUARE); set(LINECOLOUR,RED); set(LINESTYLE,SOLID); moveto(5.76,24.5); symbol(OSQUARE); rlineto(1.5,0); symbol(OSQUARE); drawdata(calc3,0,1); set(CURSYMBOL,CROSS); set(LINECOLOUR,BLACK); set(LINESTYLE,DASHED); moveto(5.76,23.6); symbol(CROSS); rlineto(1.5,0); symbol(CROSS); drawdata(calc3,0,2); set(CURSYMBOL,OCIRCLE); set(LINECOLOUR,GREEN); set(LINESTYLE,DOTTED); moveto(5.76,22.7); symbol(OCIRCLE); rlineto(1.5,0); symbol(OCIRCLE); drawdata(calc3,0,3); set(LINECOLOUR,BLACK); set(LINESTYLE,SOLID); label(BOTTOM,"Multi Programming Level"); text(7.53,24.5,"MTL"); text(7.53,23.6,"TPL"); text(7.53,22.7,"TSO"); }