List of usage examples for org.apache.commons.lang.math NumberRange NumberRange
public NumberRange(Number num)
Constructs a new NumberRange using the specified number as both the minimum and maximum in this range.
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); }