/[svn]/types/types.ml
ViewVC logotype

Diff of /types/types.ml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 16 by abate, Tue Jul 10 16:58:05 2007 UTC revision 17 by abate, Tue Jul 10 16:58:13 2007 UTC
# Line 52  Line 52 
52    let any_record = { empty with record = any.record }    let any_record = { empty with record = any.record }
53    
54    let cup x y =    let cup x y =
55      if x = y then x else {      if x == y then x else {
56        times = Boolean.cup x.times y.times;        times = Boolean.cup x.times y.times;
57        arrow = Boolean.cup x.arrow y.arrow;        arrow = Boolean.cup x.arrow y.arrow;
58        record= Boolean.cup x.record y.record;        record= Boolean.cup x.record y.record;
# Line 62  Line 62 
62      }      }
63    
64    let cap x y =    let cap x y =
65      if x = y then x else {      if x == y then x else {
66        times = Boolean.cap x.times y.times;        times = Boolean.cap x.times y.times;
67        record= Boolean.cap x.record y.record;        record= Boolean.cap x.record y.record;
68        arrow = Boolean.cap x.arrow y.arrow;        arrow = Boolean.cap x.arrow y.arrow;
# Line 72  Line 72 
72      }      }
73    
74    let diff x y =    let diff x y =
75      if x = y then empty else {      if x == y then empty else {
76        times = Boolean.diff x.times y.times;        times = Boolean.diff x.times y.times;
77        arrow = Boolean.diff x.arrow y.arrow;        arrow = Boolean.diff x.arrow y.arrow;
78        record= Boolean.diff x.record y.record;        record= Boolean.diff x.record y.record;
# Line 380  Line 380 
380  struct  struct
381    type t = (descr * descr) list    type t = (descr * descr) list
382    
383      let other d = { d with times = empty.times }
384      let is_product d = is_empty (other d)
385    
386    let get d =    let get d =
387      let line accu (left,right) =      let line accu (left,right) =
388        let rec aux accu d1 d2 = function        let rec aux accu d1 d2 = function
# Line 554  Line 557 
557  let normalize n =  let normalize n =
558    internalize (rec_normalize (descr n))    internalize (rec_normalize (descr n))
559    
 module Print =  
 struct  
560    module DescrHash =    module DescrHash =
561      Hashtbl.Make(      Hashtbl.Make(
562        struct        struct
# Line 565  Line 566 
566        end        end
567      )      )
568    
569    module Print =
570    struct
571    let named = DescrHash.create 10    let named = DescrHash.create 10
572    let register_global name d = DescrHash.add named d name    let register_global name d = DescrHash.add named d name
573    
# Line 751  Line 754 
754    let any = { empty with ints = Intervals.any }    let any = { empty with ints = Intervals.any }
755  end  end
756    
757    module Atom = struct
758      let has_atom d a = Atoms.contains a d.atoms
759    end
760    
761  (*  (*
762  let rec print_normal_record ppf = function  let rec print_normal_record ppf = function
763    | Success -> Format.fprintf ppf "Yes"    | Success -> Format.fprintf ppf "Yes"

Legend:
Removed from v.16  
changed lines
  Added in v.17

CVS Admin">CVS Admin
ViewVC Help
Powered by ViewVC 1.1.5