enome
Version:
A genome generation and evolution library.
17 lines • 1.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var _ = require("lodash");
var gene_1 = require("../genotypes/gene");
var genome_1 = require("../genotypes/genome");
function fillRandom(genomes, percent) {
if (percent > 1 || percent < 0) {
throw new Error('percent must be a number between 0 (inclusive) and 1 (inclusive)');
}
var removed = new gene_1.Gene(percent).elements(_.shuffle(genomes));
var culled = genomes.filter(function (g) { return !_.includes(removed, g); });
var random = _.range(removed.length).map(function (i) { return new genome_1.Genome(genomes[0].options); });
var filled = _.concat(culled, random);
return filled;
}
exports.fillRandom = fillRandom;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsbC1yYW5kb20uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3BlcmF0b3JzL2ZpbGwtcmFuZG9tLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMEJBQTRCO0FBQzVCLDBDQUF5QztBQUN6Qyw4Q0FBNkM7QUFJN0Msb0JBQ0UsT0FBeUIsRUFDekIsT0FBZTtJQUVmLEVBQUUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FDYixrRUFBa0UsQ0FDbkUsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFNLE9BQU8sR0FBRyxJQUFJLFdBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQy9ELElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUF2QixDQUF1QixDQUFDLENBQUM7SUFDNUQsSUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUN4QyxVQUFBLENBQUMsSUFBSSxPQUFBLElBQUksZUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBOUIsQ0FBOEIsQ0FDcEMsQ0FBQztJQUNGLElBQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXhDLE1BQU0sQ0FBQyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQWxCRCxnQ0FrQkMifQ==