Esempio n. 1
0
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;
}
Esempio n. 2
0
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());
    }
}
Esempio n. 3
0
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());
    }
}