Re: [PPL-devel] integer versus rational solutions (fwd)

make check failed with one test:
tests failed: test06
On Thu, Jul 9, 2009 at 11:52 AM, Michael Classenmichael.classen@uni-passau.de wrote:
Thank you! now it seems to work... :-)
On Thu, Jul 9, 2009 at 11:24 AM, P M Hillhill@comp.leeds.ac.uk wrote:
2.61 should be ok. You should be running autoreconf and not autoconf. Does that work?
On Thu, 9 Jul 2009, Michael Classen wrote:
Sorry to ask again, but now that I think I have checked out the products branch, I get all sorts of autoconf errors when trying to generate the "configure" script:
configure.ac:42: error: possibly undefined macro: AM_INIT_AUTOMAKE If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. configure.ac:143: error: possibly undefined macro: AM_CONDITIONAL configure.ac:657: error: possibly undefined macro: AC_CHECK_FPU_CONTROL configure.ac:660: error: possibly undefined macro: AC_CXX_PROVIDES_PROPER_LONG_DOUBLE configure.ac:663: error: possibly undefined macro: AC_CXX_FLOAT_BINARY_FORMAT configure.ac:666: error: possibly undefined macro: AC_CXX_DOUBLE_BINARY_FORMAT configure.ac:669: error: possibly undefined macro: AC_CXX_LONG_DOUBLE_BINARY_FORMAT [...]
We use autoconf 2.61 here, could that be out of date?
Michael
On Thu, Jul 9, 2009 at 10:31 AM, P M Hillhill@comp.leeds.ac.uk wrote:
I also have the same problem. We'll fix the problem asap but, in the meantime, the git anonymous access should let you grab a copy.
Pat
On Thu, 9 Jul 2009, Michael Classen wrote:
Hello Patricia,
thanks for the effort! I just have a simple technical question: I just tried to check out the latest snapshot of the "products" branch from the GIT web access:
http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=shortlog;h=refs/heads/...
But it seems that the resulting .tar.gz file is somehow not in any format that gzip can handle:
2677> tar xvzf ppl-a648638a1c5f2b288e03625b5dc07a2bc69d9bd8.tar.gz gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error exit delayed from previous errors
Is there anything obvious wrong with what I'm doing here? I also tried a few other snapshots and also some graphical archive program, but to the same result...
greetings, Michael
On Thu, Jul 9, 2009 at 10:09 AM, P M Hillhill@comp.leeds.ac.uk wrote:
Resending to ppl-devel.
---------- Forwarded message ---------- Date: Wed, 8 Jul 2009 14:24:15 +0100 (BST) From: P M Hill hill@comp.leeds.ac.uk To: Tobias Grosser grosser@fim.uni-passau.de Cc: "gcc-graphite@googlegroups.com" gcc-graphite@googlegroups.com, ppl-devel ppl-devel@cs.unipr.it Subject: Re: [PPL-devel] integer versus rational solutions
On Wed, 8 Jul 2009, Tobias Grosser wrote:
> Hi, > > I just tried to use the ppl to work with integer polyhedron, however I > am stuck with the examples in the documentation for the > Partial_Reduced_Product: > > > > > http://www.cs.unipr.it/ppl/Documentation/user/ppl-user-0.10.2-html/classParm... > > --------------------------------------------------------------------- > In all the examples it is assumed that the template R is the > No_Reduction<D1, D2> class and that variables x and y are defined > (where > they are used) as follows: > Variable x(0); > Variable y(1); > > Example 1 > The following code builds a direct product of a Grid and NNC > Polyhedron, corresponding to the positive even integer pairs in > R^2, given as a system of congruences: > > Congruence_System cgs; > cgs.insert((x %= 0) / 2); > cgs.insert((y %= 0) / 2); > Partially_Reduced_Product<Grid, NNC_Polyhedron, > No_Reduction<D1, > D2> > > dp(cgs); > dp.add_constraint(x >= 0); > dp.add_constraint(y >= 0); > > Example 2 > The following code builds the same product in R^2: > Partially_Reduced_Product<Grid, NNC_Polyhedron, No_Reduction<D1, > D2> >> >> dp(2); > > dp.add_constraint(x >= 0); > dp.add_constraint(y >= 0); > dp.add_congruence((x %= 0) / 2); > dp.add_congruence((y %= 0) / 2); > ---------------------------------------------------------------------
Hi Tobias,
> > I would like to create the set of even positive integer pairs, so I > tried Example 1 and 2. With both I have the same problems. > > 1. D1 and D2 are not defined: > > test.cpp:9: error: 'D1' was not declared in this scope > test.cpp:9: error: 'D2' was not declared in this scope > > So I replace D1 with "Grid" and D2 with "NNC_Polyhedron"
That is correct. They have to be specified.
> > 2. An exception when adding constrains:
Only equalities can be added to a product of a grid and polyhedron, best to use refine_with-...() methods here.
> > terminate called after throwing an instance of 'std::invalid_argument' > what(): PPL::Grid::add_constraint(c): > c is not an equality constraint. > > So I removed the positive constraints. > > 3. An exception when adding congruences: > > terminate called after throwing an instance of 'std::invalid_argument' > what(): PPL::NNC_Polyhedron::add_congruence(cg): > cg is a non-trivial, proper congruence. > > Do you have any idea what I did wrong?
Yes, you have to use refiine_with_constraint() and refine_with_congruence();
The add methods cannot be used here unless the constraint/congruence is an equality.
There is also another problem in your code in that you cannot build the product directly from the congruences as they cannot be add'ed to the NNC_Polyhedron component. Instead, first build a grid from the congruences and then build the product using the grid.
Here is my code, based on your examples, that works here:
/* Example 1 */
Congruence_System cgs; cgs.insert((x %= 0) / 2); cgs.insert((y %= 0) / 2); Grid gr(cgs); Partially_Reduced_Product<Grid, NNC_Polyhedron, No_Reduction<Grid, NNC_Polyhedron> > dp(gr); dp.refine_with_constraint(x >= 0); dp.refine_with_constraint(y >= 0);
/* Example 2 */
Partially_Reduced_Product<Grid, NNC_Polyhedron, No_Reduction<Grid, NNC_Polyhedron> > dp(2);
dp.refine_with_constraint(x >= 0); dp.refine_with_constraint(y >= 0); dp.refine_with_congruence((x %= 0) / 2); dp.refine_with_congruence((y %= 0) / 2);
I used here the master branch of the git repository head version. The latest developments for the PPL domain for partially reduced products are in the products branch.
HTH. Let me know if you have further queries wrt this domain, we will glad to help.
Pat _______________________________________________ PPL-devel mailing list PPL-devel@cs.unipr.it http://www.cs.unipr.it/mailman/listinfo/ppl-devel

On Thu, 9 Jul 2009, Michael Classen wrote:
make check failed with one test:
tests failed: test06
Can you let me have more details wrt which "test06" is failing? This test06 will be part of a larger test which will be indicated as failing a few lines before this message, starting with "FAIL:".
It would be also useful to know what configuration command you are using.
Pat
On Thu, Jul 9, 2009 at 11:52 AM, Michael Classenmichael.classen@uni-passau.de wrote:
Thank you! now it seems to work... :-)
On Thu, Jul 9, 2009 at 11:24 AM, P M Hillhill@comp.leeds.ac.uk wrote:
2.61 should be ok. You should be running autoreconf and not autoconf. Does that work?
On Thu, 9 Jul 2009, Michael Classen wrote:
Sorry to ask again, but now that I think I have checked out the products branch, I get all sorts of autoconf errors when trying to generate the "configure" script:
configure.ac:42: error: possibly undefined macro: AM_INIT_AUTOMAKE If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. configure.ac:143: error: possibly undefined macro: AM_CONDITIONAL configure.ac:657: error: possibly undefined macro: AC_CHECK_FPU_CONTROL configure.ac:660: error: possibly undefined macro: AC_CXX_PROVIDES_PROPER_LONG_DOUBLE configure.ac:663: error: possibly undefined macro: AC_CXX_FLOAT_BINARY_FORMAT configure.ac:666: error: possibly undefined macro: AC_CXX_DOUBLE_BINARY_FORMAT configure.ac:669: error: possibly undefined macro: AC_CXX_LONG_DOUBLE_BINARY_FORMAT [...]
We use autoconf 2.61 here, could that be out of date?
Michael
On Thu, Jul 9, 2009 at 10:31 AM, P M Hillhill@comp.leeds.ac.uk wrote:
I also have the same problem. We'll fix the problem asap but, in the meantime, the git anonymous access should let you grab a copy.
Pat
On Thu, 9 Jul 2009, Michael Classen wrote:
Hello Patricia,
thanks for the effort! I just have a simple technical question: I just tried to check out the latest snapshot of the "products" branch from the GIT web access:
http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=shortlog;h=refs/heads/...
But it seems that the resulting .tar.gz file is somehow not in any format that gzip can handle:
2677> tar xvzf ppl-a648638a1c5f2b288e03625b5dc07a2bc69d9bd8.tar.gz gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error exit delayed from previous errors
Is there anything obvious wrong with what I'm doing here? I also tried a few other snapshots and also some graphical archive program, but to the same result...
greetings, Michael
On Thu, Jul 9, 2009 at 10:09 AM, P M Hillhill@comp.leeds.ac.uk wrote: > > Resending to ppl-devel. > > ---------- Forwarded message ---------- > Date: Wed, 8 Jul 2009 14:24:15 +0100 (BST) > From: P M Hill hill@comp.leeds.ac.uk > To: Tobias Grosser grosser@fim.uni-passau.de > Cc: "gcc-graphite@googlegroups.com" gcc-graphite@googlegroups.com, > ppl-devel ppl-devel@cs.unipr.it > Subject: Re: [PPL-devel] integer versus rational solutions > > On Wed, 8 Jul 2009, Tobias Grosser wrote: > >> Hi, >> >> I just tried to use the ppl to work with integer polyhedron, however I >> am stuck with the examples in the documentation for the >> Partial_Reduced_Product: >> >> >> >> >> http://www.cs.unipr.it/ppl/Documentation/user/ppl-user-0.10.2-html/classParm... >> >> --------------------------------------------------------------------- >> In all the examples it is assumed that the template R is the >> No_Reduction<D1, D2> class and that variables x and y are defined >> (where >> they are used) as follows: >> Variable x(0); >> Variable y(1); >> >> Example 1 >> The following code builds a direct product of a Grid and NNC >> Polyhedron, corresponding to the positive even integer pairs in >> R^2, given as a system of congruences: >> >> Congruence_System cgs; >> cgs.insert((x %= 0) / 2); >> cgs.insert((y %= 0) / 2); >> Partially_Reduced_Product<Grid, NNC_Polyhedron, >> No_Reduction<D1, >> D2> > >> dp(cgs); >> dp.add_constraint(x >= 0); >> dp.add_constraint(y >= 0); >> >> Example 2 >> The following code builds the same product in R^2: >> Partially_Reduced_Product<Grid, NNC_Polyhedron, No_Reduction<D1, >> D2> >>> >>> dp(2); >> >> dp.add_constraint(x >= 0); >> dp.add_constraint(y >= 0); >> dp.add_congruence((x %= 0) / 2); >> dp.add_congruence((y %= 0) / 2); >> --------------------------------------------------------------------- > > Hi Tobias, > >> >> I would like to create the set of even positive integer pairs, so I >> tried Example 1 and 2. With both I have the same problems. >> >> 1. D1 and D2 are not defined: >> >> test.cpp:9: error: 'D1' was not declared in this scope >> test.cpp:9: error: 'D2' was not declared in this scope >> >> So I replace D1 with "Grid" and D2 with "NNC_Polyhedron" > > That is correct. They have to be specified. > >> >> 2. An exception when adding constrains: > > Only equalities can be added to a product of a grid and polyhedron, > best to use refine_with-...() methods here. > >> >> terminate called after throwing an instance of 'std::invalid_argument' >> what(): PPL::Grid::add_constraint(c): >> c is not an equality constraint. >> >> So I removed the positive constraints. >> >> 3. An exception when adding congruences: >> >> terminate called after throwing an instance of 'std::invalid_argument' >> what(): PPL::NNC_Polyhedron::add_congruence(cg): >> cg is a non-trivial, proper congruence. >> >> Do you have any idea what I did wrong? > > Yes, you have to use refiine_with_constraint() > and refine_with_congruence(); > > The add methods cannot be used here unless the constraint/congruence is > an > equality. > > There is also another problem in your code in that you cannot build the > product directly from the congruences as they cannot be add'ed to the > NNC_Polyhedron component. Instead, first build a grid from the > congruences > and then build the product using the grid. > > Here is my code, based on your examples, that works here: > > ------------------------------------------------- > > /* > Example 1 > */ > > Congruence_System cgs; > cgs.insert((x %= 0) / 2); > cgs.insert((y %= 0) / 2); > Grid gr(cgs); > Partially_Reduced_Product<Grid, NNC_Polyhedron, > No_Reduction<Grid, NNC_Polyhedron> > > dp(gr); > dp.refine_with_constraint(x >= 0); > dp.refine_with_constraint(y >= 0); > > -------------------------------------------------- > > /* > Example 2 > */ > > Partially_Reduced_Product<Grid, NNC_Polyhedron, > No_Reduction<Grid, NNC_Polyhedron> > > dp(2); > > dp.refine_with_constraint(x >= 0); > dp.refine_with_constraint(y >= 0); > dp.refine_with_congruence((x %= 0) / 2); > dp.refine_with_congruence((y %= 0) / 2); > > -------------------------------------------------- > > I used here the master branch of the git repository head version. The > latest > developments for the PPL domain for partially reduced products are in > the > products branch. > > HTH. Let me know if you have further queries wrt this domain, we will > glad > to help. > > Pat > _______________________________________________ > PPL-devel mailing list > PPL-devel@cs.unipr.it > http://www.cs.unipr.it/mailman/listinfo/ppl-devel >
participants (2)
-
Michael Classen
-
P M Hill