Example usage for com.google.common.primitives Doubles min

List of usage examples for com.google.common.primitives Doubles min

Introduction

In this page you can find the example usage for com.google.common.primitives Doubles min.

Prototype

public static double min(double... array) 

Source Link

Document

Returns the least value present in array , using the same rules of comparison as Math#min(double,double) .

Usage

From source file:br.usp.lti.cdds.metaheuristics.RoulleteSelection.java

public static Solution select(ArrayList<Solution> solutionSet) {
    double[] prob = new double[solutionSet.size()];
    for (int i = 0; i < prob.length; i++) {
        prob[i] = solutionSet.get(i).getFitness();
    }/*  w  ww.  j av a 2s  . c  o m*/
    double min = Doubles.min(prob);
    double max = Doubles.max(prob);
    double sum = 0;
    for (int i = 0; i < prob.length; i++) {
        prob[i] = (max - prob[i]) / (max - min);
        sum += prob[i];
    }

    for (int i = 0; i < prob.length; i++) {
        prob[i] = prob[i] / sum;
    }

    //prepare roullete
    int[] roullete = new int[100];
    int roulletepos = 0;

    for (int i = 0; i < prob.length; i++) {
        double roulletepart = Math.round(prob[i] * 100.0);
        for (int k = 0; k < roulletepart && roulletepos < roullete.length; k++) {
            roullete[roulletepos++] = i;
        }
    }

    int truepos;
    //do{
    Random rdn = new Random();
    int selected = rdn.nextInt(roullete.length);
    truepos = roullete[selected];
    //}while(truepos==previousSelected);

    return solutionSet.get(truepos);
}

From source file:org.eclipse.recommenders.jayes.transformation.SmoothedFactorDecomposition.java

@Override
protected double[] toLatentSpace(double[] v, List<double[]> best) {
    double min = Doubles.min(v);
    double[] latent = new double[v.length + 1];
    latent[0] = min;//from   w  w  w  . j av a2s.  com
    double[] h = new double[v.length];
    Arrays.fill(h, min);
    MathUtils.secureSubtract(v, h, h);
    System.arraycopy(h, 0, latent, 1, h.length);
    return latent;
}

From source file:inflor.core.transforms.LogrithmicTransform.java

public void optimize(double[] data) {
    min = Doubles.min(data);
    max = Doubles.max(data);
}

From source file:org.esa.s3tbx.olci.radiometry.rayleigh.SpikeInterpolation.java

public static double getUpperValue(double[] doubles, double val) {
    final List<Double> xMin = new ArrayList<>();
    int length = doubles.length;
    IntStream.range(0, length).forEach(i -> {
        double v = doubles[i];
        if (v >= val) {
            xMin.add(v);//  ww  w  .  j  av a  2s  . c om
        }
    });
    double[] allMax = Doubles.toArray(xMin);
    if (allMax.length == 0) {
        throw new IllegalArgumentException("Can fine the closest max value of " + val);
    }
    return Doubles.min(allMax);
}

From source file:inflor.core.plots.CategoryResponseChart.java

public JFreeChart createChart(FCSFrame dataFrame) {

    CategoryXYZDataSet categoryData = new CategoryXYZDataSet();
    double zMin = Double.MAX_VALUE;
    double zMax = 1;
    if (dataFrame.getKeywords().containsKey(FCSUtilities.KEY_MERGE_MAP)) {
        String[] mergeMap = dataFrame.getKeywordValue(FCSUtilities.KEY_MERGE_MAP)
                .split(NodeUtilities.DELIMITER_REGEX);
        FCSDimension dim = dataFrame.getDimension(axisName);
        double[] transformedData = transform.transform(dim.getData());
        int perFileSize = dim.getData().length / mergeMap.length;
        for (int i = 0; i < mergeMap.length; i++) {

            double[] unMergedData = new double[perFileSize];
            for (int j = 0; j < unMergedData.length; j++) {
                unMergedData[j] = transformedData[i * unMergedData.length + j];
            }//from  ww w .j av  a 2 s  . co m
            double tMin = transform.getMinTranformedValue();
            double tMax = transform.getMaxTransformedValue();
            Histogram1D hist = new Histogram1D(unMergedData, tMin, tMax, ChartingDefaults.BIN_COUNT);
            double[] x = hist.getNonZeroX();
            double[] y = new double[x.length];
            for (int j = 0; j < y.length; j++) {
                y[j] = i;
            }
            double[] z = hist.getNonZeroY();
            double currentZMin = Doubles.min(z);
            double currentZMax = Doubles.max(z);
            if (currentZMin < zMin) {
                zMin = currentZMin;
            } else if (currentZMax > zMax) {
                zMax = currentZMax;
            }

            categoryData.addCategoricalSeries(mergeMap[i], x, z);
        }
    } else {
        FCSDimension dim = dataFrame.getDimension(axisName);
        double[] transformedData = transform.transform(dim.getData());
        Histogram1D hist = new Histogram1D(transformedData, transform.getMinTranformedValue(),
                transform.getMaxTransformedValue(), ChartingDefaults.BIN_COUNT);
        double[] x = hist.getNonZeroX();
        double[] y = new double[x.length];
        for (int j = 0; j < y.length; j++) {
            y[j] = 0;
        }
        double[] z = hist.getNonZeroY();
        double currentZMin = Doubles.min(z);
        double currentZMax = Doubles.max(z);
        if (currentZMin < zMin) {
            zMin = currentZMin;
        } else if (currentZMax > zMax) {
            zMax = currentZMax;
        }

        categoryData.addCategoricalSeries(dataFrame.getDisplayName(), x, z);
    }

    ValueAxis domainAxis = PlotUtils.createAxis(axisName, transform);
    NumberAxis rangeAxis = new CategoricalNumberAxis("", categoryData.getLabelMap());
    // Renderer configuration
    XYBlockRenderer renderer = new XYBlockRenderer();
    double xWidth = (transform.getMaxTransformedValue() - transform.getMinTranformedValue())
            / ChartingDefaults.BIN_COUNT;
    renderer.setBlockWidth(xWidth);
    renderer.setBlockHeight(0.5);
    renderer.setBlockAnchor(RectangleAnchor.LEFT);

    PaintScale paintScale = PlotUtils.createPaintScale(zMax, ChartingDefaults.DEFAULT_COLOR_SCHEME);
    renderer.setPaintScale(paintScale);

    // Add to panel.
    XYPlot responsePlot = new XYPlot(categoryData, domainAxis, rangeAxis, renderer);
    JFreeChart chart = new JFreeChart(responsePlot);
    chart.removeLegend();
    return chart;
}

From source file:com.davidbracewell.math.linear.DenseVector.java

@Override
public double min() {
    return Doubles.min(map);
}

From source file:edu.cmu.lti.oaqa.baseqa.answer.collective_score.scorers.EditDistanceCollectiveAnswerScorer.java

@Override
public Map<String, Double> score(JCas jcas, Answer answer) {
    Map<Answer, Double> neighbor2distance = distances.row(answer);
    ImmutableMap.Builder<String, Double> builder = ImmutableMap.builder();
    for (int topLimit : topLimits) {
        double[] distances = answers.subList(0, Math.min(answers.size(), topLimit)).stream()
                .mapToDouble(neighbor -> neighbor2distance.getOrDefault(neighbor, 0.0)).toArray();
        builder.put("edit-distance-min-" + topLimit, Doubles.min(distances));
        builder.put("edit-distance-max-" + topLimit, Doubles.max(distances));
        builder.put("edit-distance-avg-" + topLimit, DoubleStream.of(distances).average().orElse(0.0));
    }/*ww w.j a v  a2s  .  com*/
    return builder.build();
}

From source file:com.davidbracewell.math.linear.SparseVector.java

@Override
public double min() {
    return Doubles.min(map.values().elements());
}

From source file:com.mgmtp.perfload.perfalyzer.binning.PerfMonBinningStrategy.java

private void writeAggregatedLine(final WritableByteChannel destChannel) throws IOException {
    double[] allValues = binManager.flatValuesStream().toArray();

    StrBuilder sb = new StrBuilder();

    String min = intNumberFormat.format(Doubles.min(allValues));
    String max = intNumberFormat.format(Doubles.max(allValues));

    switch (typeConfig) {
    case CPU:// ww  w . ja  va  2 s  .c  o m
    case IO:
    case JAVA:
        String mean = intNumberFormat.format(StatUtils.mean(allValues));
        appendEscapedAndQuoted(sb, DELIMITER, min, mean, max);
        break;
    case MEM:
    case SWAP:
        Percentile percentile = new Percentile();
        percentile.setData(allValues);
        String q10 = intNumberFormat.format(percentile.evaluate(10d));
        String q50 = intNumberFormat.format(percentile.evaluate(50d));
        String q90 = intNumberFormat.format(percentile.evaluate(90d));
        appendEscapedAndQuoted(sb, DELIMITER, min, q10, q50, q90, max);
        break;
    default:
        throw new IllegalStateException("Invalid perfMon data type");
    }

    writeLineToChannel(destChannel, sb.toString(), Charsets.UTF_8);
}

From source file:edu.cmu.lti.oaqa.baseqa.answer.collective_score.scorers.DistanceCollectiveAnswerScorer.java

@Override
public Map<String, Double> score(JCas jcas, Answer answer) {
    Map<Answer, Double> neighbor2distance = distances.row(answer);
    Map<Answer, Double> neighbor2ndistance = ndistances.row(answer);
    ImmutableMap.Builder<String, Double> builder = ImmutableMap.builder();
    for (int topLimit : topLimits) {
        double[] distances = answers.subList(0, Math.min(answers.size(), topLimit)).stream()
                .mapToDouble(neighbor -> neighbor2distance.getOrDefault(neighbor, 0.0)).toArray();
        builder.put("distance-min-" + topLimit, Doubles.min(distances));
        builder.put("distance-max-" + topLimit, Doubles.max(distances));
        builder.put("distance-avg-" + topLimit, DoubleStream.of(distances).average().orElse(0.0));
        double[] ndistances = answers.subList(0, Math.min(answers.size(), topLimit)).stream()
                .mapToDouble(neighbor -> neighbor2ndistance.getOrDefault(neighbor, 0.0)).toArray();
        builder.put("ndistance-min-" + topLimit, Doubles.min(ndistances));
        builder.put("ndistance-max-" + topLimit, Doubles.max(ndistances));
        builder.put("ndistance-avg-" + topLimit, DoubleStream.of(ndistances).average().orElse(0.0));
    }//from w w  w  .ja va2 s . co m
    return builder.build();
}