@Test public void chromosomeProbability() { final byte[] data = new byte[1234]; RandomRegistry.getRandom().nextBytes(data); final BitChromosome c = new BitChromosome(data); Assert.assertEquals( c.getOneProbability(), (double)bit.count(data)/(double)(data.length*8) ); }
/** * Return a {@link Writer} for {@link io.jenetics.BitChromosome} * objects. * * @return a chromosome writer */ public static Writer<io.jenetics.BitChromosome> writer() { return elem(ROOT_NAME, attr(LENGTH_NAME).map(io.jenetics.BitChromosome::length), attr(ONES_PROBABILITY_NAME).map(ch -> ch.getOneProbability()), text().map(io.jenetics.BitChromosome::toCanonicalString) ); }