Analysis: add classes to manage constraints on symbolic dimensions 16/16116/3
authorCalixte DENIZET <calixte.denizet@scilab-enterprises.com>
Mon, 9 Mar 2015 14:17:45 +0000 (15:17 +0100)
committerAntoine ELIAS <antoine.elias@scilab-enterprises.com>
Tue, 10 Mar 2015 14:47:32 +0000 (15:47 +0100)
commitd62a0e115c76b711378c4e11159339ba80b38b2b
tree599f0adbdf7ddab6ec4932b13e7bdbf2d9209d3b
parent929161127425633b331a9a1d257af54e49624000
Analysis: add classes to manage constraints on symbolic dimensions
The idea is to be able to impose some constraints on dimensions, for example:
function c=add(a,b)
  c = a + b;
endfunction

if add is called with double matrice argument, the function will have the signature add(double[r1,c1], double[r2,c2]).
On the addition, the checker will say that the result is unknown (since the dimensions are not always the same),
so in this case we can add a constraint r1==r2 and c1==c2, if this constraint is verified then it will be add to the
function signature.
The function signature will become:
  add(double[r1,c1], double[r2,c2]) with constraint r1==r2 && c1==c2

Change-Id: Ife39165c830221faba1e66676d663e39cde63105
scilab/modules/ast/Makefile.am
scilab/modules/ast/Makefile.in
scilab/modules/ast/ast.vcxproj
scilab/modules/ast/ast.vcxproj.filters
scilab/modules/ast/includes/analysis/gvn/InferenceConstraint.hxx [new file with mode: 0644]
scilab/modules/ast/src/cpp/analysis/InferenceConstraints.cpp [new file with mode: 0644]