GAPopulation* GateCircuit::createPopulation() { GA1DArrayGenome<GENOME_ITEM_TYPE> g(pGlobals->settings->gateCircuit.genomeSize, getEvaluator()); setGACallbacks(&g); GAPopulation * population = new GAPopulation(g, pGlobals->settings->ga.popupationSize); return population; }
void ICircuit::setGACallbacks(GAGenome * g) { g->initializer(getInitializer()); g->evaluator(getEvaluator()); g->mutator(getMutator()); g->comparator(getComparator()); if (getSexualCrossover() != NULL) { g->crossover(getSexualCrossover()); } else { g->crossover(getAsexualCrossover()); } }
GAGenome* GateCircuit::createGenome(bool setCallbacks) { GA1DArrayGenome<GENOME_ITEM_TYPE> *g = new GA1DArrayGenome<GENOME_ITEM_TYPE>(pGlobals->settings->gateCircuit.genomeSize, getEvaluator()); if (setCallbacks){ setGACallbacks(g); } return g; }
boost::shared_ptr<DataTable> DefaultReferenceResolver::resolveEntity( boost::shared_ptr<Reference> ref, boost::shared_ptr<Context> con, boost::shared_ptr<EvaluationEnvironment> environment) /* throws(ContextException, SyntaxErrorException, EvaluationException) */ { if (ref->getEntityType() == ContextUtils::ENTITY_VARIABLE) { VariableDefinitionPtr vd = VariableDefinitionPtr(con->getVariableDefinition(ref->getEntity())); if (vd == 0) { //TODO: exception //throw IllegalStateException(::java::text::MessageFormat::format(Cres::get())->getString(u"conVarNotAvailExt"_j), new voidArray({ref)->getEntity()), con)->getPath())}))); } return con->getVariable(ref->getEntity(), getCallerController(), DefaultRequestControllerPtr(new DefaultRequestController(getEvaluator()))); }else if(ref->getEntityType() == ContextUtils::ENTITY_FUNCTION) { FunctionDefinitionPtr fd = FunctionDefinitionPtr(con->getFunctionDefinition(ref->getEntity())); if (fd == 0) { //TODO: exception //throw new ::java::lang::IllegalStateException(::jav::text::MessageFormat::format(Cres::get())->getString(u"conFuncNotAvailExt"_j), new voidArray({ref)->getEntity()), con)->getPath())}))); } //TODO: // boost::shared_ptr<DataTable> parameters = DataTableConstruction::constructTable(ref->getParameters(), // fd->getInputFormat(), // getEvaluator(), // environment); // return con->callFunction(ref->getEntity(), getCallerController(), DefaultRequestControllerPtr(new DefaultRequestController(getEvaluator()), parameters)); return boost::shared_ptr<DataTable>(0); } else { //TODO: exception //throw new ::java::lang::IllegalStateException(std::stringBuilder().append(u"Illegal entity type: "_j)->append(ref)->getEntityType())->toString()); } }