change
authorbdemsky <bdemsky>
Fri, 15 May 2009 06:04:44 +0000 (06:04 +0000)
committerbdemsky <bdemsky>
Fri, 15 May 2009 06:04:44 +0000 (06:04 +0000)
Robust/src/Benchmarks/SingleTM/KMeans/Cluster.java
Robust/src/Benchmarks/SingleTM/KMeans/Common.java
Robust/src/Benchmarks/SingleTM/KMeans/GlobalArgs.java
Robust/src/Benchmarks/SingleTM/KMeans/KMeans.java
Robust/src/Benchmarks/SingleTM/KMeans/Normal.java

index 4b694240080c05bdc07a582fa9c263dd8da603fb..037dc779a0a72a58b4b62bf7416a546dacf46872 100644 (file)
@@ -83,10 +83,10 @@ public class Cluster {
    * extractMoments
    * =============================================================================
    */
-  public double[]
-    extractMoments (double []data, int num_elts, int num_moments)
+  public float[]
+    extractMoments (float []data, int num_elts, int num_moments)
     {
-      double[] moments = new double[num_moments];
+      float[] moments = new float[num_moments];
 
       for (int i = 0; i < num_elts; i++) {
         moments[0] += data[i];
@@ -109,18 +109,18 @@ public class Cluster {
    * =============================================================================
    */
   public void
-    zscoreTransform (double[][] data, /* in & out: [numObjects][numAttributes] */
+    zscoreTransform (float[][] data, /* in & out: [numObjects][numAttributes] */
         int     numObjects,
         int     numAttributes)
     {
-      double[] moments;
-      double[] single_variable = new double[numObjects];
+      float[] moments;
+      float[] single_variable = new float[numObjects];
       for (int i = 0; i < numAttributes; i++) {
         for (int j = 0; j < numObjects; j++) {
           single_variable[j] = data[j][i];
         }
         moments = extractMoments(single_variable, numObjects, 2);
-        moments[1] = Math.sqrt((double)moments[1]);
+        moments[1] = (float) Math.sqrt((double)moments[1]);
         for (int j = 0; j < numObjects; j++) {
           data[j][i] = (data[j][i]-moments[0])/moments[1];
         }
@@ -137,7 +137,7 @@ public class Cluster {
         int      nthreads,               /* in: number of threads*/
         int      numObjects,             /* number of input objects */
         int      numAttributes,          /* size of attribute of each object */
-        double[][]  attributes,           /* [numObjects][numAttributes] */
+        float[][]  attributes,           /* [numObjects][numAttributes] */
         KMeans kms,                       /* KMeans class hold the inputs and outputs */
         GlobalArgs args                 /* Global thread arguments */
         )
@@ -145,7 +145,7 @@ public class Cluster {
       int itime;
       int nclusters;
 
-      double[][] tmp_cluster_centres = null;
+      float[][] tmp_cluster_centres = null;
       int[] membership = new int[numObjects];
 
       Random randomPtr = new Random();
index b72294a970c0e1afc83fdd0b67d2dc705188dc27..83fc44b22aadf2e2d8410444a86fd1eb519efd68 100644 (file)
@@ -106,8 +106,7 @@ public class Common {
 
       /* Find the cluster center id with min distance to pt */
       for (i = 0; i < npts; i++) {
-        double dist;
-        dist = common_euclidDist2(pt, pts[i], nfeatures);  /* no need square root */
+        float dist = common_euclidDist2(pt, pts[i], nfeatures);  /* no need square root */
         if ((dist / max_dist) < limit) {
           max_dist = dist;
           index = i;
index 6285ae75bcced4b9d04f386b011e65f4908d3109..432c6f0464bb0d95ddee5a4ae3b435a1341c2085 100644 (file)
@@ -28,7 +28,7 @@ public class GlobalArgs {
   /**
    * List of attributes
    **/
-  public double[][] feature;
+  public float[][] feature;
 
   /**
    * Number of attributes per Object
@@ -55,7 +55,7 @@ public class GlobalArgs {
   /**
    *
    **/
-  public double[][] clusters;
+  public float[][] clusters;
 
 
   /**
@@ -66,13 +66,13 @@ public class GlobalArgs {
   /**
    * New centers of the clusters [nclusters][nfeatures]
    **/
-  public double[][] new_centers;
+  public float[][] new_centers;
 
   /**
     *
   **/
   public long global_i;
 
-  public double global_delta;
+  public float global_delta;
 
 }
index 30a179eec35efc8966382c4cdde40a052a254b61..44fdffaff5e19c0d3bb4d9c2be24de14fd25108f 100644 (file)
@@ -114,7 +114,7 @@ public class KMeans extends Thread {
   /**
    * threshold until which kmeans cluster continues
    **/
-  double threshold;
+  float threshold;
 
   /**
    * thread id
@@ -134,7 +134,7 @@ public class KMeans extends Thread {
   /**
    * Output: Cluster centers
    **/
-  double[][] cluster_centres;
+  float[][] cluster_centres;
 
   public KMeans() {
     max_nclusters = 13;
@@ -181,8 +181,8 @@ public class KMeans extends Thread {
       System.exit(0);
     }
     
-    double[][] buf;
-    double[][] attributes;
+    float[][] buf;
+    float[][] attributes;
     int numAttributes = 0;
     int numObjects = 0;
 
@@ -225,8 +225,8 @@ public class KMeans extends Thread {
     System.out.println("numObjects= " + numObjects + " numAttributes= " + numAttributes);
 
     /* Allocate new shared objects and read attributes of all objects */
-    buf = new double[numObjects][numAttributes];
-    attributes = new double[numObjects][numAttributes];
+    buf = new float[numObjects][numAttributes];
+    attributes = new float[numObjects][numAttributes];
     KMeans.readFromFile(inputFile, kms.filename, buf, MAX_LINE_LENGTH);
     System.out.println("Finished Reading from file ......");
 
@@ -352,7 +352,7 @@ public class KMeans extends Thread {
    * readFromFile()
    * Read attributes from the input file into an array
    **/
-  public static void readFromFile(FileInputStream inputFile, String filename, double[][] buf, int MAX_LINE_LENGTH) {
+  public static void readFromFile(FileInputStream inputFile, String filename, float[][] buf, int MAX_LINE_LENGTH) {
     inputFile = new FileInputStream(filename);
     int j;
     int i = 0;
@@ -415,11 +415,11 @@ public class KMeans extends Thread {
   }
 
   /**
-   * Convert a string into double
+   * Convert a string into float
    **/
-  public static double ByteToFloat (byte[] str, int offset, int length) {
-    double left=0.0d;
-    double right=0.0d;
+  public static float ByteToFloat (byte[] str, int offset, int length) {
+    float left=0.0d;
+    float right=0.0d;
     int i;
     for(i=0;i<length;i++) {
       if (str[i+offset]=='.')
@@ -427,7 +427,7 @@ public class KMeans extends Thread {
       left=left*10+(str[i+offset]-'0');
     }
     i++; //skip past decimal point
-    double multiplier=0.1d;
+    float multiplier=0.1d;
     for(;i<length;i++) {
       right+=multiplier*(str[i+offset]-'0');
       multiplier*=0.1d;
index 590fae238cccf8e86906e4a02d4d55c1d37111c8..8f9e23d214c943d13041f91d36d7c97a2a62b2cf 100644 (file)
@@ -98,15 +98,15 @@ public class Normal {
    */
   public static void work(int myId, GlobalArgs args) {
     int CHUNK=3;
-    double[][] feature = args.feature;
+    float[][] feature = args.feature;
     int nfeatures = args.nfeatures;
     int npoints = args.npoints;
     int nclusters = args.nclusters;
     int[] membership = args.membership;
-    double[][] clusters = args.clusters;
+    float[][] clusters = args.clusters;
     intwrapper[] new_centers_len = args.new_centers_len;
-    double[][] new_centers = args.new_centers;
-    double delta = 0.0;
+    float[][] new_centers = args.new_centers;
+    float delta = 0.0;
     int index, start, stop;
 
     start = myId * CHUNK;
@@ -161,22 +161,22 @@ public class Normal {
    * normal_exec
    * =============================================================================
    */
-  public double[][] normal_exec (
+  public float[][] normal_exec (
       int       nthreads,
-      double[][]   feature,    /* in: [npoints][nfeatures] */
+      float[][]   feature,    /* in: [npoints][nfeatures] */
       int       nfeatures,
       int       npoints,
       int       nclusters,
-      double     threshold,
+      float     threshold,
       int[]      membership,
       Random     randomPtr,  /* out: [npoints] */
       GlobalArgs args)
   {
-    double delta;
-    double[][] clusters;      /* out: [nclusters][nfeatures] */
+    float delta;
+    float[][] clusters;      /* out: [nclusters][nfeatures] */
 
     /* Allocate space for returning variable clusters[] */
-    clusters = new double[nclusters][nfeatures];
+    clusters = new float[nclusters][nfeatures];
 
     /* Randomly pick cluster centers */
     for (int i = 0; i < nclusters; i++) {
@@ -196,7 +196,7 @@ public class Normal {
      */
     intwrapper[] new_centers_len  = new intwrapper[nclusters];
 
-    double[][] new_centers = new double[nclusters][nfeatures];
+    float[][] new_centers = new float[nclusters][nfeatures];
 
     int loop = 0;
     do {