Exemplo n.º 1
0
  @Override
  public void evaluate(VectorizedRowBatch batch) {

    if (childExpressions != null) {
      this.evaluateChildren(batch);
    }

    DoubleColumnVector outputColVector = (DoubleColumnVector) batch.cols[outputCol];
    int[] sel = batch.selected;
    int n = batch.size;
    double[] outputVector = outputColVector.vector;
    outputColVector.noNulls = true;
    outputColVector.isRepeating = false;

    // return immediately if batch is empty
    if (n == 0) {
      return;
    }

    // For no-seed case, create new random number generator locally.
    if (random == null) {
      random = new Random();
    }

    if (batch.selectedInUse) {
      for (int j = 0; j != n; j++) {
        int i = sel[j];
        outputVector[i] = random.nextDouble();
      }
    } else {
      for (int i = 0; i != n; i++) {
        outputVector[i] = random.nextDouble();
      }
    }
  }
Exemplo n.º 2
0
 protected DoubleColumnVector getDoubleColumnVectorWithNull() {
   DoubleColumnVector columnVector = new DoubleColumnVector(VectorizedRowBatch.DEFAULT_SIZE);
   columnVector.noNulls = false;
   Random random = new Random();
   for (int i = 0; i != VectorizedRowBatch.DEFAULT_SIZE; i++) {
     if (i % 100 == 0) {
       columnVector.isNull[i] = true;
     }
     columnVector.vector[i] = random.nextDouble();
   }
   return columnVector;
 }
Exemplo n.º 3
0
 protected DoubleColumnVector getRepeatingDoubleColumnVector() {
   DoubleColumnVector columnVector = new DoubleColumnVector(VectorizedRowBatch.DEFAULT_SIZE);
   columnVector.fill(2.0d);
   return columnVector;
 }