X-Git-Url: http://plrg.eecs.uci.edu/git/?p=IRC.git;a=blobdiff_plain;f=Robust%2Fsrc%2FBenchmarks%2FPrefetch%2FKMeans%2FKMeans.java;h=8baafbd4eeb970e9177c2630d53120e374493d70;hp=844c6efa246d2c45949a6d3877514bb5cb31956f;hb=71b76e14c3d63d2e7497ce01a4e1de2144c39d0c;hpb=018677a159a6a529dd74c1d0bd443fe2b230877a diff --git a/Robust/src/Benchmarks/Prefetch/KMeans/KMeans.java b/Robust/src/Benchmarks/Prefetch/KMeans/KMeans.java index 844c6efa..8baafbd4 100644 --- a/Robust/src/Benchmarks/Prefetch/KMeans/KMeans.java +++ b/Robust/src/Benchmarks/Prefetch/KMeans/KMeans.java @@ -407,9 +407,7 @@ public class KMeans extends Thread { km.isBinaryFile = new Integer(args[i++]).intValue(); } } else if(arg.equals("-z")) { - if(i < args.length) { - - } + km.use_zscore_transform=0; } else if(arg.equals("-nthreads")) { if(i < args.length) { km.nthreads = new Integer(args[i++]).intValue(); @@ -455,38 +453,60 @@ public class KMeans extends Thread { // transaction will never abort because it is only executed // on master machine and therefore the fileread native call is //allowed as a warning + j = -1; while ((n = inputFile.read(b)) != 0) { - j = -1; int x=0; if (oldbytes!=null) { //find space + boolean cr=false; for (;x < n; x++) { if (b[x] == ' ') break; + if(b[x] =='\n') { + cr=true; + break; + } } byte newbytes[]= new byte[x+oldbytes.length]; - for(int ii=0;ii='0'&&oldbytes[ii]<='9') + isnumber=true; newbytes[ii]=oldbytes[ii]; - for(int ii=0;ii='0'&&b[ii]<='9') + isnumber=true; newbytes[ii+oldbytes.length]=b[ii]; - x++; //skip past space - if (j>=0) { - buf[i][j]=(float)Double.parseDouble(new String(newbytes, 0, newbytes.length)); } - j++; + if(x!=n) + x++; //skip past space + if(isnumber) { + if (j>=0) { + buf[i][j]=(float)Double.parseDouble(new String(newbytes, 0, newbytes.length)); + } + j++; + } + if(cr) { + j=-1; + i++; + } oldbytes=null; } while (x < n) { int y=x; + boolean cr=false; + boolean isnumber=false; for(y=x;y='0')&&(b[y]<='9')) + isnumber=true; if (b[y]==' ') break; if (b[y]=='\n') { - i++; - j = -1; - x=y;//push end to current character + cr=true; + break; } } if (y==n) { @@ -496,14 +516,22 @@ public class KMeans extends Thread { oldbytes[ii]=b[ii+x]; break; } - //otherwise x is beginning of character string, y is end - if (j>=0) { - buf[i][j]=(float)Double.parseDouble(new String(b,x,y-x)); + if (isnumber) { + if (j>=0) { + buf[i][j]=(float)Double.parseDouble(new String(b,x,y-x)); + } + j++; + } + if(cr) { + i++;//skip to next line + j = -1;//don't store line number + x=y;//skip to end of number + x++;//skip past return + } else { + x=y;//skip to end of number + x++;//skip past space } - x=y;//skip to end of number - x++;//skip past space - j++; } } }