Task #4802
closed[solver][constraint] создание Constraint без указания variables
100%
Description
При создании объекта Constraint с помощью вызова метода ConstraintBuilder.build() требуется подать на вход билдеру Node-выражение (с помощью метода setInnerRep) и набор деклараций переменных (с помощью методов addVariable\addVariables). Это не всегда удобно и, отчасти, избыточно, т.к. информация об используемых переменных уже, по сути, хранится в объектах класса Node.
Предлагаю реализовать создание Constraint с возможностью не указывать переменные. Т.е. если билдеру не дали ни одной переменной, то он должен выполнить обход Formulas и достать оттуда декларации переменных самостоятельно.
Updated by Sergey Smolov over 10 years ago
- Subject changed from создание Constraint без указания variables to [solver][constraint] создание Constraint без указания variables
Updated by Andrei Tatarnikov over 10 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
Возможность реализована в r538. В Formulas добавлен метод getVariables, позволяющий получить список всех переменных, используемых формулами. A в ConstraintBuilder добавлен метод addVariables, который позволяет добавить полученные переменные в сигнатуру ограничения.
Updated by Sergey Smolov over 10 years ago
- Status changed from Resolved to Verified
Добавил в проект jUnit-тест ru.ispras.fortress.solver.NoVariableDeclarationTestCase, проверяющий описанную функциональность.
Тест проходит.
Updated by Andrei Tatarnikov over 10 years ago
- Status changed from Verified to Closed
- Published in build set to 140915