Beispiel #1
0
void Explanation_Based_Chunker::cache_constraints_in_test(test t)
{
    test ctest;
    constraint* new_constraint = NULL;

    for (cons* c = t->data.conjunct_list; c != NIL; c = c->rest)
    {
        ctest = static_cast<test>(c->first);
        if (test_can_be_transitive_constraint(ctest))
        {

            thisAgent->memoryManager->allocate_with_pool(MP_constraints, &new_constraint);
            new_constraint->eq_test = t->eq_test;
            new_constraint->constraint_test = ctest;
            constraints->push_back(new_constraint);
            thisAgent->explanationMemory->increment_stat_constraints_collected();
        }
    }
}
Beispiel #2
0
void Explanation_Based_Chunker::cache_constraints_in_test(test t)
{
    test ctest;
    constraint* new_constraint = NULL;

    for (cons* c = t->data.conjunct_list; c != NIL; c = c->rest)
    {
        ctest = static_cast<test>(c->first);
        if (test_can_be_transitive_constraint(ctest))
        {

            thisAgent->memoryManager->allocate_with_pool(MP_constraints, &new_constraint);
            new_constraint->eq_test = t->eq_test;
            new_constraint->constraint_test = ctest;
            dprint(DT_CONSTRAINTS, "Caching constraints on %t [%g]: %t [%g]\n", new_constraint->eq_test, new_constraint->eq_test, new_constraint->constraint_test, new_constraint->constraint_test);
            constraints->push_back(new_constraint);
            #ifdef EBC_DETAILED_STATISTICS
                thisAgent->explanationMemory->increment_stat_constraints_collected();
            #endif
        }
    }
}