UNPKG

@zfunction/genetics-js

Version:

Genetic and evolutionary algorithms framework for the web

62 lines 2.37 kB
"use strict"; /* * @license * Copyright (c) 2019 Cristian Abrante. All rights reserved. * Licensed under the MIT License. See LICENSE in the project root for license information. */ var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); Object.defineProperty(exports, "__esModule", { value: true }); var utils_1 = require("../../utils/"); var integer_1 = require("./../../../individual/numeric/integer"); var base_1 = require("./../base"); /** * ## IntegerGenerator * Generates an [[IntegerIndividual]]. */ var IntegerGenerator = /** @class */ (function (_super) { __extends(IntegerGenerator, _super); function IntegerGenerator() { return _super !== null && _super.apply(this, arguments) || this; } /** * Generates a gene with the specified * params. * @param params of the generator. * @param index * @return the generated gene. */ IntegerGenerator.prototype.generateGene = function (params, index) { var particularValue = params.particularValue(index); if (particularValue === undefined) { return utils_1.Generator.generateInteger(params.range, params.engine); } else { return particularValue; } }; /** * Constructs the individual given * the genotype and the range. * @param genotype of the individual. * @param params of the generator. * @return [[NumericIndividual]] constructed with the given params. */ IntegerGenerator.prototype.construct = function (genotype, params) { return new integer_1.IntegerIndividual(genotype, params.range); }; return IntegerGenerator; }(base_1.NumericGenerator)); exports.IntegerGenerator = IntegerGenerator; //# sourceMappingURL=IntegerGenerator.js.map