Example usage for org.apache.commons.lang.math NumberRange NumberRange

List of usage examples for org.apache.commons.lang.math NumberRange NumberRange

Introduction

In this page you can find the example usage for org.apache.commons.lang.math NumberRange NumberRange.

Prototype

public NumberRange(Number num) 

Source Link

Document

Constructs a new NumberRange using the specified number as both the minimum and maximum in this range.

Usage

From source file:au.org.ala.delta.model.NumericRange.java

private Range createRangeForSingleValue(Number value) {

    if ((_absoluteError == null) && (_percentageError == null)) {
        return new NumberRange(value);
    }//w  w w  .  jav a  2 s.  com
    double val = value.doubleValue();
    if (_absoluteError != null) {
        return new NumberRange(val - _absoluteError, val + _absoluteError);
    } else {
        double lower = 100 * val / (100 + _percentageError);
        double upper = val * (100 + _percentageError) / 100;
        return new NumberRange(lower, upper);
    }
}

From source file:au.org.ala.delta.editor.slotfile.model.VOAttributeAdaptor.java

private void addNumericRange(List<NumericRange> ranges, NumericRange range, List<Number> numbers) {
    if (!range.hasExtremeHigh() && !range.hasExtremeLow() && numbers.isEmpty()) {
        return;// w  ww. ja v  a2  s  .  co m
    }

    if (numbers.size() == 1) {
        range.setRange(new NumberRange(numbers.get(0)));
    } else if (numbers.size() == 2) {
        range.setRange(new NumberRange(numbers.get(0), numbers.get(1)));
    } else if (numbers.size() == 3) {
        range.setRange(new NumberRange(numbers.get(0), numbers.get(2)));
        range.setMiddle(numbers.get(1));
    }
    ranges.add(range);
}

From source file:se.crafted.chrisb.ecoCreature.drops.categories.AbstractDropCategory.java

private static NumberRange parseRange(String dropString) {
    NumberRange range = new NumberRange(1);

    String[] dropParts = dropString.split(":");

    if (dropParts.length > 1) {
        String[] rangeParts = dropParts[1].split("-");

        if (rangeParts.length == 2) {
            range = new NumberRange(Integer.parseInt(rangeParts[0]), Integer.parseInt(rangeParts[1]));
        } else {// w w w.  j a  v a 2s.c  o m
            range = new NumberRange(0, Integer.parseInt(dropParts[1]));
        }
    }

    return range;
}

From source file:se.crafted.chrisb.ecoCreature.drops.chances.AbstractChance.java

public AbstractChance() {
    range = new NumberRange(1);
    percentage = 100.0D;
    random = new Random();
}

From source file:se.crafted.chrisb.ecoCreature.drops.chances.ChanceTest.java

@Test
public void testNextWinner() {
    Number samples = 100000;/*from  ww  w.  ja  v a2 s  .com*/
    Number percent = 3;

    Chance chance = new TestChance(new NumberRange(1), percent.doubleValue());
    for (int i = 0; i < 10; i++) {
        double winnerCount = 0;
        for (int j = 0; j < samples.intValue(); j++) {
            if (chance.nextWinner()) {
                winnerCount++;
            }
        }
        double idealChance = winnerCount / samples.doubleValue();
        double delta = Math.abs(percent.doubleValue() / 100D - idealChance);
        Assert.assertTrue(delta < 0.01);
    }
}

From source file:se.crafted.chrisb.ecoCreature.drops.chances.ItemChanceTest.java

@Test
public void testItemDrop() {
    Number samples = 1000000;/*from   w w  w . j a v a 2s.  c  om*/
    ItemChance chance = new ItemChance(Material.GHAST_TEAR);
    chance.setRange(new NumberRange(1));
    chance.setPercentage(20);
    chance.setFixedAmount(false);
    int amount = 0;

    for (int i = 0; i < samples.intValue(); i++) {
        ItemStack stack = chance.nextItemStack(0);
        if (stack.getAmount() < 1) {
            continue;
        }
        amount += stack.getAmount();
    }

    double idealChance = amount / samples.doubleValue();
    double delta = Math.abs(chance.getChance() - idealChance);
    Assert.assertTrue(delta < 0.01);
}