type csys = {
uri: E.uri;
- mutable is : int list
+ mutable tp : int list;
+ mutable t1 : int list;
+ mutable tn : (int * int) list;
}
let mark a = E.mark C.err C.start a
let init () = {
uri = U.uri_of_string (G.get_baseuri ());
- is = [];
+ tp = []; t1 = []; tn = []
}
-let add_infinite s a =
+let add_nonzero s a =
if !G.si && !G.cc then
let i = abs (mark a) in
- if L.mem i s.is then () else s.is <- i :: s.is
+ if L.mem i s.tp then () else s.tp <- i :: s.tp
+ else ()
+
+let add_zero s a =
+ if !G.si && !G.cc then
+ let i = abs (mark a) in
+ if L.mem i s.t1 then () else s.t1 <- i :: s.t1
+ else ()
+
+let add_equal s xa ia =
+ if !G.si && !G.cc then
+ let i = abs (mark xa), abs (mark ia) in
+ if L.mem i s.tn then () else s.tn <- i :: s.tn
else ()