List of usage examples for org.apache.commons.math3.distribution IntegerDistribution getSupportLowerBound
int getSupportLowerBound();
From source file:com.wormsim.utils.Utils.java
/** * Returns a string representation of the provided distribution. TODO: Make * this complete TODO: Make this compatible with custom distributions (or just * more complex ones).//w ww .j a v a2 s . c o m * * @param dist The distribution to translate * * @return The distribution as a string. */ public static String integerDistributionToString(IntegerDistribution dist) { if (dist instanceof EnumeratedIntegerDistribution) { return Double.toString(dist.getNumericalMean()); } else if (dist instanceof UniformIntegerDistribution) { return "Uniform(" + dist.getSupportLowerBound() + "," + dist.getSupportUpperBound() + ")"; } else if (dist instanceof BinomialDistribution) { BinomialDistribution dist2 = (BinomialDistribution) dist; return "Binomial(" + dist2.getNumberOfTrials() + "," + dist2.getProbabilityOfSuccess() + ")"; } else { return dist.toString(); } }
From source file:fr.obeo.emf.specimen.SpecimenGenerator.java
private void generateManyAttribute(EObject eObject, EAttribute eAttribute, IntegerDistribution distribution, Class<?> instanceClass) { List<Object> values = (List<Object>) eObject.eGet(eAttribute); for (int i = distribution.getSupportLowerBound(); i < distribution.sample(); i++) { final Object value = nextValue(instanceClass); values.add(value);// w w w. ja v a 2s. c o m } }
From source file:fr.obeo.emf.specimen.DirectWriteSpecimenGenerator.java
protected void generateManyAttribute(EObject eObject, EAttribute eAttribute, IntegerDistribution distribution, Class<?> instanceClass) { @SuppressWarnings("unchecked") List<Object> values = (List<Object>) eObject.eGet(eAttribute); for (int i = distribution.getSupportLowerBound(); i < distribution.sample(); i++) { final Object value; EDataType eAttributeType = eAttribute.getEAttributeType(); if (eAttributeType instanceof EEnum) { assert instanceClass == null; EEnum eEnum = (EEnum) eAttributeType; instanceClass = int.class; int randomValue = Math.abs((Integer) nextValue(instanceClass)); int size = eEnum.getELiterals().size(); value = eEnum.getELiterals().get(randomValue % size); } else {// ww w . j ava 2 s. c om value = nextValue(instanceClass); } values.add(value); } }