All Downloads are FREE. Search and download functionalities are using the official Maven repository.

hep.aida.tfloat.bin.FloatBinFunctions1D Maven / Gradle / Ivy

Go to download

Parallel Colt is a multithreaded version of Colt - a library for high performance scientific computing in Java. It contains efficient algorithms for data analysis, linear algebra, multi-dimensional arrays, Fourier transforms, statistics and histogramming.

The newest version!
package hep.aida.tfloat.bin;

/**
 * Function objects computing dynamic bin aggregations; to be passed to generic
 * methods.
 * 
 * @see cern.colt.matrix.tfloat.algo.FloatFormatter
 * @see cern.colt.matrix.tfloat.algo.FloatStatistic
 * @author [email protected]
 * @version 1.0, 09/24/99
 */
public class FloatBinFunctions1D extends Object {
    /**
     * Little trick to allow for "aliasing", that is, renaming this class. Using
     * the aliasing you can instead write
     * 

* BinFunctions F = BinFunctions.functions;
someAlgo(F.max);
*/ public static final FloatBinFunctions1D functions = new FloatBinFunctions1D(); /** * Function that returns bin.max(). */ public static final FloatBinFunction1D max = new FloatBinFunction1D() { public final float apply(DynamicFloatBin1D bin) { return bin.max(); } public final String name() { return "Max"; } }; /** * Function that returns bin.mean(). */ public static final FloatBinFunction1D mean = new FloatBinFunction1D() { public final float apply(DynamicFloatBin1D bin) { return bin.mean(); } public final String name() { return "Mean"; } }; /** * Function that returns bin.median(). */ public static final FloatBinFunction1D median = new FloatBinFunction1D() { public final float apply(DynamicFloatBin1D bin) { return bin.median(); } public final String name() { return "Median"; } }; /** * Function that returns bin.min(). */ public static final FloatBinFunction1D min = new FloatBinFunction1D() { public final float apply(DynamicFloatBin1D bin) { return bin.min(); } public final String name() { return "Min"; } }; /** * Function that returns bin.rms(). */ public static final FloatBinFunction1D rms = new FloatBinFunction1D() { public final float apply(DynamicFloatBin1D bin) { return bin.rms(); } public final String name() { return "RMS"; } }; /** * Function that returns bin.size(). */ public static final FloatBinFunction1D size = new FloatBinFunction1D() { public final float apply(DynamicFloatBin1D bin) { return bin.size(); } public final String name() { return "Size"; } }; /** * Function that returns bin.standardDeviation(). */ public static final FloatBinFunction1D stdDev = new FloatBinFunction1D() { public final float apply(DynamicFloatBin1D bin) { return bin.standardDeviation(); } public final String name() { return "StdDev"; } }; /** * Function that returns bin.sum(). */ public static final FloatBinFunction1D sum = new FloatBinFunction1D() { public final float apply(DynamicFloatBin1D bin) { return bin.sum(); } public final String name() { return "Sum"; } }; /** * Function that returns bin.sumOfLogarithms(). */ public static final FloatBinFunction1D sumLog = new FloatBinFunction1D() { public final float apply(DynamicFloatBin1D bin) { return bin.sumOfLogarithms(); } public final String name() { return "SumLog"; } }; /** * Function that returns bin.geometricMean(). */ public static final FloatBinFunction1D geometricMean = new FloatBinFunction1D() { public final float apply(DynamicFloatBin1D bin) { return bin.geometricMean(); } public final String name() { return "GeomMean"; } }; /** * Makes this class non instantiable, but still let's others inherit from * it. */ protected FloatBinFunctions1D() { } /** * Function that returns bin.quantile(percentage). * * @param percentage * the percentage of the quantile (0 <= percentage <= 1 * ). */ public static FloatBinFunction1D quantile(final float percentage) { return new FloatBinFunction1D() { public final float apply(DynamicFloatBin1D bin) { return bin.quantile(percentage); } public final String name() { return new cern.colt.matrix.FormerFactory().create("%1.2G").form(percentage * 100) + "% Q."; } }; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy