Project

General

Profile

Actions

Task #4802

closed

[solver][constraint] создание Constraint без указания variables

Added by Sergey Smolov over 10 years ago. Updated over 10 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Andrei Tatarnikov
Category:
-
Target version:
Start date:
03/31/2014
Due date:
% Done:

100%

Estimated time:
Detected in build:
svn
Published in build:
140915

Description

При создании объекта Constraint с помощью вызова метода ConstraintBuilder.build() требуется подать на вход билдеру Node-выражение (с помощью метода setInnerRep) и набор деклараций переменных (с помощью методов addVariable\addVariables). Это не всегда удобно и, отчасти, избыточно, т.к. информация об используемых переменных уже, по сути, хранится в объектах класса Node.

Предлагаю реализовать создание Constraint с возможностью не указывать переменные. Т.е. если билдеру не дали ни одной переменной, то он должен выполнить обход Formulas и достать оттуда декларации переменных самостоятельно.

Actions #1

Updated by Sergey Smolov over 10 years ago

  • Subject changed from создание Constraint без указания variables to [solver][constraint] создание Constraint без указания variables
Actions #2

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, который позволяет добавить полученные переменные в сигнатуру ограничения.

Actions #3

Updated by Sergey Smolov over 10 years ago

  • Status changed from Resolved to Verified

Добавил в проект jUnit-тест ru.ispras.fortress.solver.NoVariableDeclarationTestCase, проверяющий описанную функциональность.
Тест проходит.

Actions #4

Updated by Andrei Tatarnikov over 10 years ago

  • Status changed from Verified to Closed
  • Published in build set to 140915
Actions

Also available in: Atom PDF