Project

General

Profile

Revision 8e6cab20 src/plugins/salsa/salsaDatatypes.ml

View differences:

src/plugins/salsa/salsaDatatypes.ml
13 13
  Format.fprintf fmt "]@]";
14 14

  
15 15

  
16
module type VALUE =
17
sig
18
  type t
19
  val union: t -> t -> t
20
  val pp: Format.formatter -> t -> unit
21
    val leq: t -> t -> bool
22
end
23
  
16 24
module Ranges = 
17
  functor (Value: sig type t val union: t -> t -> t val pp: Format.formatter -> t -> unit end)  ->
25
  functor (Value: VALUE)  ->
18 26
struct
27
  module Value = Value
19 28
  type t = Value.t
20 29
  type r_t = (LT.ident, Value.t) Hashtbl.t
21 30

  
......
30 39
  						    pour chaque noeud *)
31 40

  
32 41

  
33
  let pp = pp_hash ~sep:";" (fun k v fmt -> Format.fprintf fmt "%s -> %a" k Value.pp v) 
42
  let pp fmt r =
43
    if Hashtbl.length r = 0 then
44
      Format.fprintf fmt "empty"
45
    else
46
      pp_hash ~sep:";" (fun k v fmt -> Format.fprintf fmt "%s -> %a" k Value.pp v) fmt r
34 47
  let pp_val = Value.pp
35 48

  
36 49
  let add_def ranges name r = 
......
114 127
      (* else *)
115 128
      (* 	Salsa.Builder.mk_cst (ST.I(r*.(1.-.epsilon_float),r*.(1.+.epsilon_float)),Float.ulp (ST.I(r,r))) *)
116 129
    | _ -> assert false
130

  
131
  let leq = Salsa.Float.feSseq
117 132
end
118 133

  
119 134
module RangesInt = Ranges (FloatIntSalsa)
......
212 227
let get_var vars_env v =
213 228
try
214 229
  VarEnv.find v vars_env
215
with Not_found -> Format.eprintf "Impossible to find var %s in var env %a@.@?" v
230
with Not_found -> Format.eprintf "Impossible to find var %s in var env %a@ " v
216 231
  (Utils.fprintf_list ~sep:", " (fun fmt (id, _) -> Format.pp_print_string fmt id)) (VarEnv.bindings vars_env) 
217 232
  ; assert false
218 233

  
......
353 368

  
354 369
  let empty (): fe_t = Hashtbl.create 13
355 370

  
356
  let pp fmt env = pp_hash ~sep:";" (fun k (_,v) fmt -> Format.fprintf fmt "%s -> %a" k MC.pp_val v) fmt env
371
  let pp fmt env = pp_hash ~sep:";@ " (fun k (_,v) fmt -> Format.fprintf fmt "%s -> %a" k MC.pp_val v) fmt env
357 372

  
358 373

  
359 374
  let get_sort_fun env =

Also available in: Unified diff