File: src/absencelattice.ml (return to index)



Statistics:  
kind coverage
binding 4 / 4 (100%)
sequence 0 / 0 (-%)
for 0 / 0 (-%)
if/then 0 / 0 (-%)
try 0 / 0 (-%)
while 0 / 0 (-%)
match/function 7 / 7 (100%)
kind coverage
class expression 0 / 0 (-%)
class initializer 0 / 0 (-%)
class method 0 / 0 (-%)
class value 0 / 0 (-%)
toplevel expression 0 / 0 (-%)
lazy operator 0 / 0 (-%)



Source:

fold all unfold all
000001| (** Abstract absence datatype and operations *)
000002|  
000003| type elem =
000004|   | Must
000005|   | May
000006|  
000007| (*  bot : elem *)
000008| let bot = (*[1]*)Must
000009| let is_present = (*[1]*)bot
000010|  
000011| (*  top : elem *)
000012| let top = (*[1]*)May
000013| let maybe_absent = (*[1]*)top
000014|  
000015| (*  eq : elem -> elem -> bool  *)
000016| let eq (a:elem) a' = (*[1348243]*)a = a'
000017|  
000018| (*  leq : elem -> elem -> bool *)
000019| let leq a a' = match a with
000020|   | Must -> (*[20554262]*)true
000021|   | May  -> ((*[18816146]*)a' = May)
000022|  
000023| (*  join : elem -> elem -> elem *)
000024| let join a a' = match a with
000025|   | Must -> (*[7871027]*)a'
000026|   | May  -> (*[8249961]*)May
000027|  
000028| (*  meet : elem -> elem -> elem *)
000029| let meet a a' = match a with
000030|   | Must -> (*[1022722]*)Must
000031|   | May  -> (*[671430]*)a'
000032|  
000033|  
000034| (** {3 Pretty printing routine } *)
000035|  
000036| (*  to_string : elem -> unit  *)
000037| let to_string a = match a with
000038|   | Must -> "!"
000039|   | May  -> "?"
000040|  
000041| (*  pprint : elem -> unit  *)
000042| let pprint a = match a with
000043|   | Must -> Format.printf "!"
000044|   | May  -> Format.printf "?"

Legend:
   some code - line containing no point
   some code - line containing only visited points
   some code - line containing only unvisited points
   some code - line containing both visited and unvisited points