
Patricia Hill wrote:
In the copy methods/predicates the arguments have been reversed to match the corresponding ones in the C interface. Now the 1st argument unifies with a handle for the new polyhedron and the 2nd argument is the handle for the source/original polyhedron. Predicates affected are: ppl_new_C_Polyhedron_from_C_Polyhedron, ppl_new_NNC_Polyhedron_from_NNC_Polyhedron, ppl_new_C_Polyhedron_from_NNC_Polyhedron, ppl_new_NNC_Polyhedron_from_C_Polyhedron.
Hmm, are you sure this is a good thing? In C and C++ the ordering is as it is because of the similarity with (destructive, one-way) assignment. That is the reason why functions such as strcpy have an interface like this:
char *strcpy(char *dest, const char *src);
(do `man strcpy' to see this). In Prolog there is no such a thing as the assignment and, consequently, there is not this tradition. See, for instance, the definition of copy_term/2:
copy_term(?Term,?CopyOfTerm) [ISO]
My vote is against this change. BTW: if you try `make check' you will see that everything is broken at the moment. Ciao
Roberto