Examples of ArrayListOfFloatsWritable


Examples of edu.umd.cloud9.io.array.ArrayListOfFloatsWritable

     *  Date:         8/20/04
     *  Compilation:  javac StdGaussian.java
     *  Execution:    java StdGaussian 
     **************************************************************************/
    double r, x, y;
    ArrayListOfFloatsWritable vector = new ArrayListOfFloatsWritable(numSamples);
    vector.setSize(numSamples);

    double normalizationFactor = 0;
    for(int i=0;i<numSamples;i++){

      // find a uniform random point (x, y) inside unit circle
      do {
        x = 2.0 * Math.random() - 1.0;
        y = 2.0 * Math.random() - 1.0;
        r = x*x + y*y;
      } while (r > 1 || r == 0);      // loop executed 4 / pi = 1.273.. times on average
      // http://en.wikipedia.org/wiki/Box-Muller_transform

      // apply the Box-Muller formula to get standard Gaussian z   
      double f = (x * Math.sqrt(-2.0 * Math.log(r) / r));
      normalizationFactor+=Math.pow(f, 2.0);
      vector.set(i,(float) f);
    }

    /*normalize vector*/
    normalizationFactor=Math.sqrt(normalizationFactor);
    for(int i=0;i<vector.size();i++){
      float val = vector.get(i);
      float newf = (float) (val/normalizationFactor);
      vector.set(i, newf);
    }
    return vector;
  }
View Full Code Here

Examples of edu.umd.cloud9.io.array.ArrayListOfFloatsWritable

    return vector;
  }
 
  public static FloatAsBytesWritable generateUnitRandomVectorAsBytes(int numSamples) {
    double r, x, y;
    ArrayListOfFloatsWritable vector = new ArrayListOfFloatsWritable(numSamples);
    vector.setSize(numSamples);
   
    byte[] bytes = new byte[numSamples];
    float max=Float.MIN_VALUE;
    float min=Float.MAX_VALUE;
   
    for(int i=0;i<numSamples;i++){

      // find a uniform random point (x, y) inside unit circle
      do {
        x = 2.0 * Math.random() - 1.0;
        y = 2.0 * Math.random() - 1.0;
        r = x*x + y*y;
      } while (r > 1 || r == 0);      // loop executed 4 / pi = 1.273.. times on average
      // http://en.wikipedia.org/wiki/Box-Muller_transform

      // apply the Box-Muller formula to get standard Gaussian z   
      float f = (float) (x * Math.sqrt(-2.0 * Math.log(r) / r));
      vector.set(i, f);
      if(f>0 && f>max){
        max=f;
      }else if(f<0 && f<min){
        min=f;
      }
     
    }

//    System.out.println(max);
//    System.out.println(min);

    /*normalize vector*/
    for(int i=0;i<vector.size();i++){
      float val = vector.get(i);
      float normalized2one=0.0f;
      //map values to [-1,1] range
      if(val>0){
        normalized2one = val/max;
      }else if(val<0){
View Full Code Here

Examples of edu.umd.cloud9.io.array.ArrayListOfFloatsWritable

    /*************************************************************************
     * Author: Kevin Wayne Date: 8/20/04 Compilation: javac StdGaussian.java Execution: java
     * StdGaussian
     **************************************************************************/
    double r, x, y;
    ArrayListOfFloatsWritable vector = new ArrayListOfFloatsWritable(numSamples);
    vector.setSize(numSamples);

    double normalizationFactor = 0;
    for (int i = 0; i < numSamples; i++) {

      // find a uniform random point (x, y) inside unit circle
      do {
        x = 2.0 * Math.random() - 1.0;
        y = 2.0 * Math.random() - 1.0;
        r = x * x + y * y;
      } while (r > 1 || r == 0); // loop executed 4 / pi = 1.273.. times on average
      // http://en.wikipedia.org/wiki/Box-Muller_transform

      // apply the Box-Muller formula to get standard Gaussian z
      double f = (x * Math.sqrt(-2.0 * Math.log(r) / r));
      normalizationFactor += Math.pow(f, 2.0);
      vector.set(i, (float) f);
    }

    /* normalize vector */
    normalizationFactor = Math.sqrt(normalizationFactor);
    for (int i = 0; i < vector.size(); i++) {
      float val = vector.get(i);
      float newf = (float) (val / normalizationFactor);
      vector.set(i, newf);
    }
    return vector;
  }
View Full Code Here

Examples of edu.umd.cloud9.io.array.ArrayListOfFloatsWritable

    return vector;
  }

  public static FloatAsBytesWritable generateUnitRandomVectorAsBytes(int numSamples) {
    double r, x, y;
    ArrayListOfFloatsWritable vector = new ArrayListOfFloatsWritable(numSamples);
    vector.setSize(numSamples);

    byte[] bytes = new byte[numSamples];
    float max = Float.MIN_VALUE;
    float min = Float.MAX_VALUE;

    for (int i = 0; i < numSamples; i++) {

      // find a uniform random point (x, y) inside unit circle
      do {
        x = 2.0 * Math.random() - 1.0;
        y = 2.0 * Math.random() - 1.0;
        r = x * x + y * y;
      } while (r > 1 || r == 0); // loop executed 4 / pi = 1.273.. times on average
      // http://en.wikipedia.org/wiki/Box-Muller_transform

      // apply the Box-Muller formula to get standard Gaussian z
      float f = (float) (x * Math.sqrt(-2.0 * Math.log(r) / r));
      vector.set(i, f);
      if (f > 0 && f > max) {
        max = f;
      } else if (f < 0 && f < min) {
        min = f;
      }

    }

    // System.out.println(max);
    // System.out.println(min);

    /* normalize vector */
    for (int i = 0; i < vector.size(); i++) {
      float val = vector.get(i);
      float normalized2one = 0.0f;
      // map values to [-1,1] range
      if (val > 0) {
        normalized2one = val / max;
      } else if (val < 0) {
View Full Code Here

Examples of edu.umd.cloud9.io.array.ArrayListOfFloatsWritable

    /*************************************************************************
     * Author: Kevin Wayne Date: 8/20/04 Compilation: javac StdGaussian.java Execution: java
     * StdGaussian
     **************************************************************************/
    double r, x, y;
    ArrayListOfFloatsWritable vector = new ArrayListOfFloatsWritable(numSamples);
    vector.setSize(numSamples);

    double normalizationFactor = 0;
    for (int i = 0; i < numSamples; i++) {

      // find a uniform random point (x, y) inside unit circle
      do {
        x = 2.0 * Math.random() - 1.0;
        y = 2.0 * Math.random() - 1.0;
        r = x * x + y * y;
      } while (r > 1 || r == 0); // loop executed 4 / pi = 1.273.. times on average
      // http://en.wikipedia.org/wiki/Box-Muller_transform

      // apply the Box-Muller formula to get standard Gaussian z
      double f = (x * Math.sqrt(-2.0 * Math.log(r) / r));
      normalizationFactor += Math.pow(f, 2.0);
      vector.set(i, (float) f);
    }

    /* normalize vector */
    normalizationFactor = Math.sqrt(normalizationFactor);
    for (int i = 0; i < vector.size(); i++) {
      float val = vector.get(i);
      float newf = (float) (val / normalizationFactor);
      vector.set(i, newf);
    }
    return vector;
  }
View Full Code Here

Examples of edu.umd.cloud9.io.array.ArrayListOfFloatsWritable

    return vector;
  }

  public static FloatAsBytesWritable generateUnitRandomVectorAsBytes(int numSamples) {
    double r, x, y;
    ArrayListOfFloatsWritable vector = new ArrayListOfFloatsWritable(numSamples);
    vector.setSize(numSamples);

    byte[] bytes = new byte[numSamples];
    float max = Float.MIN_VALUE;
    float min = Float.MAX_VALUE;

    for (int i = 0; i < numSamples; i++) {

      // find a uniform random point (x, y) inside unit circle
      do {
        x = 2.0 * Math.random() - 1.0;
        y = 2.0 * Math.random() - 1.0;
        r = x * x + y * y;
      } while (r > 1 || r == 0); // loop executed 4 / pi = 1.273.. times on average
      // http://en.wikipedia.org/wiki/Box-Muller_transform

      // apply the Box-Muller formula to get standard Gaussian z
      float f = (float) (x * Math.sqrt(-2.0 * Math.log(r) / r));
      vector.set(i, f);
      if (f > 0 && f > max) {
        max = f;
      } else if (f < 0 && f < min) {
        min = f;
      }

    }

    // System.out.println(max);
    // System.out.println(min);

    /* normalize vector */
    for (int i = 0; i < vector.size(); i++) {
      float val = vector.get(i);
      float normalized2one = 0.0f;
      // map values to [-1,1] range
      if (val > 0) {
        normalized2one = val / max;
      } else if (val < 0) {
View Full Code Here

Examples of edu.umd.cloud9.io.array.ArrayListOfFloatsWritable

    SequenceFile.Writer writer1 = SequenceFile.createWriter(fs, conf,
          new Path(TMP_FILENAME1), IntWritable.class, ArrayListOfFloatsWritable.class);
    SequenceFile.Writer writer2 = SequenceFile.createWriter(fs, conf,
          new Path(TMP_FILENAME2), IntWritable.class, FloatAsBytesWritable.class);

    ArrayListOfFloatsWritable a1 = WriteRandomVectors.generateUnitRandomVector(100);
    FloatAsBytesWritable a2 = WriteRandomVectors.generateUnitRandomVectorAsBytes(100);

    writer1.append(new IntWritable(1), a1);
    writer1.close();

    writer2.append(new IntWritable(1), a2);
    writer2.close();

    List<PairOfWritables<WritableComparable, Writable>> listOfKeysPairs1 =
      SequenceFileUtils.readFile(new Path(TMP_FILENAME1));
    fs.delete(new Path(TMP_FILENAME1), true);

    List<PairOfWritables<WritableComparable, Writable>> listOfKeysPairs2 =
      SequenceFileUtils.readFile(new Path(TMP_FILENAME2));
    fs.delete(new Path(TMP_FILENAME2), true);

    FloatAsBytesWritable b2 = (FloatAsBytesWritable) listOfKeysPairs2.get(0).getRightElement();
    ArrayListOfFloatsWritable b1 = (ArrayListOfFloatsWritable) listOfKeysPairs1.get(0)
        .getRightElement();

    for (int i = 0; i < 100; i++) {
      float f = b1.get(i);
      float g = a1.get(i);
      assertTrue(f == g);
    }
    for (int i = 0; i < 100; i++) {
      float f2 = b2.getAsFloat(i);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.