[PPL-devel] How tu use purify with PPL?

David Merchat david.merchat at imag.fr
Wed Feb 13 17:54:33 CET 2002


Helo

I'm a PhD student in VERIMAG and I work on tools of Bertrand Jeannet.
So i would like to thank you for PPL with is very similar to NewPolka
but in C++.
I work with PPL.0.2
I interfaced PPL with one of my programms and i tryed to complie with 
"purify" (my programm isn't finished and i have some problems of memory 
management). But it's seem that i can't compile PPL with "purify".
So my question is how comple PPL.0.2 with "purify" (if it's possible).


I also made some tests with PPL a observed some strange behaviours:
- satisfies with a polyhedron given by vertex allways abord
Exemple : 
    GenSys gs;
    gs.insert(vertex(1*A + 1*B));
    Polyhedron test(gs);
    ConSys lin;
    lin.insert(A >= 0);
    GenSys_Con_Rel rel = test.satisfies(lin[0]);
Execution
    Abort


- calling affine_image can produce a polyhedron which violates
invariants of PPL
Exemple
    ostream& sortie = cout;    
    Polyhedron test(3);
    test.insert(C == -2);
    test.insert(A == 0);
    LinExpression lin = LinExpression(Integer(2));
    lin = lin + (Integer(1)*Variable(0));
    lin = lin + (Integer(0)*Variable(1));
    lin = lin + (Integer(0)*Variable(2));
    lin = lin + (Integer(0)*Variable(2));
    test.affine_image(Variable(1), lin, 1);
    if(!test.OK()) sortie << "???" << endl;
Execution
Poly space_dim 3
-ZE -EM  -CM -GM  +CS -GS  -SC -SG 
con_sys (up-to-date)
3 x 4 (not_sorted)
1 0 0 0   >=
2 0 0 1   =
0 1 0 0   =

gen_sys (not_up-to-date)
0 x 0 (not_sorted)

sat_c
0 x 0

sat_g
0 x 0

Lin expr 2 1 0 0
Generators must have at least one nonzero homogeneous coefficient!
Here is the guilty polyhedron:
space_dim 3
-ZE -EM  -CM -GM  -CS +GS  -SC -SG 
con_sys (not_up-to-date)
3 x 4 (sorted)
2 0 0 1   =
0 1 0 0   =
1 0 0 0   >=

gen_sys (up-to-date)
2 x 4 (not_sorted)
0 0 0 0   L
1 0 2 -2   V

sat_c
0 x 0

sat_g
3 x 2
0 0 
0 0 
0 1 

???


Is there any others known strange behaviours?

Thanks for your answer and for PPL



-- 
MERCHAT David         david.merchat at imag.fr
VERIMAG-IMAG          telephone    04 76 63 48 44
2 Avenue de Vignate   secretariat  04 76 63 48 57
38610 GIEREs          fax          04 76 63 48 50



More information about the PPL-devel mailing list