Project

General

Profile

« Previous | Next » 

Revision 4d4a4502

Added by Pierre-Loïc Garoche almost 3 years ago

updated wrt tiny library API changes

View differences:

src/_tags.in
37 37
<**/*verifier.native> or <**/*.ml{,i}> : package(yojson)
38 38
<**/*verifier.native>: thread
39 39

  
40
#<**/*.native>                   : use_str
41
<**/main_lustre_compiler.native>: package(unix)
42
<**/main_lustre_testgen.native> : package(unix)
43
<**/main_lustre_verifier.native> : package(unix)
40
# <**/*.native>                   : use_str
41
<**/main_lustre_compiler.native>: package(unix,str)
42
<**/main_lustre_testgen.native> : package(unix,str)
43
<**/main_lustre_verifier.native> : package(unix,str)
44 44
<**/sf_sem.native>              : package(unix)
45 45
<**/*>                          : package(num)
46 46
<**/*>                          : package(zarith)
src/tools/tiny/tiny_tube.ml
27 27
     Format.fprintf fmt "%s __ %s = %b" n bv b  
28 28

  
29 29
  
30
let pp_bound fmt b = Tiny.Scalar.pp fmt b 
30
(*let pp_bound fmt b = Tiny.Scalar.pp fmt b *)
31 31

  
32 32
module type S =
33 33
  sig
34 34
    module Results: Tiny.Analyze.Results
35 35
    val list: (int * Results.Dom.t) list
36
    val bounds:  ((Tiny.Ast.Var.t * (Tiny.Ast.Var.t * bool) option) * (Tiny.Scalar.t * Tiny.Scalar.t)) list
36
    val bounds:  ((Tiny.Ast.Var.t * (Tiny.Ast.Var.t * bool) option) * (Tiny.Bounds.t)) list
37 37
  end
38 38
  
39 39
let process env ast results =
......
78 78
  *)
79 79

  
80 80
let pp_bounds fmt bounds =
81
  List.iter (fun ((v,ctx) as x, (min, max)) ->
81
  List.iter (fun ((v,ctx) as x, bounds) ->
82 82
      
83 83
      Format.fprintf fmt
84
        "%a in %a,%a@."
84
        "%a in %a@."
85 85
        pp_var x
86
        pp_bound min
87
        pp_bound max)
86
        Tiny.Bounds.pp bounds)
88 87
    bounds
89 88
  
90 89
let pp env ast results fmt =
......
98 97
let export env ast results fmt =
99 98
  let m = process env ast results in
100 99
  let module M = (val m: S) in
101
  List.iter (fun (x, (min, max)) ->
100
  List.iter (fun (x, bounds) ->
102 101
      Format.fprintf fmt
103
        "%a in %a,%a@."
102
        "%a in %a@."
104 103
        pp_var x
105
        pp_bound min
106
        pp_bound max)
104
        Tiny.Bounds.pp bounds)
107 105
    M.bounds;
108 106
  Format.fprintf fmt "Tube: %i@." (List.length M.list);
109 107
  List.iter (fun (idx, elem) ->
......
149 147
      Format.fprintf fmt "@[<h 0>%i, %a@]"
150 148
        idx
151 149
        (Utils.fprintf_list ~sep:", "
152
           (fun fmt (min_, max_) ->
153
             let pp_bound fmt b = match b with
154
               | None -> Format.fprintf fmt ","
155
               | Some b -> Tiny.Scalar.pp fmt b
156
             in
157
             Format.fprintf fmt "%a, %a" pp_bound min_ pp_bound max_))
150
           (fun fmt bounds_ (* (min_, max_) *) ->
151
             match bounds_ with
152
               None -> Format.fprintf fmt ",,,"
153
             | Some b -> Tiny.Bounds.pp fmt b
154
             (* let pp_bound fmt b = match b with
155
              *   | None -> Format.fprintf fmt ","
156
              *   | Some b -> Tiny.Bounds.pp fmt b (\* Scalar.pp fmt b *\)
157
              * in *)
158
             (* Format.fprintf fmt "%a, %a" pp_bound min_ pp_bound max_ *)))
158 159
        (List.map (fun v -> if List.mem_assoc v bounds_idx then
159
                              let min_, max_ = List.assoc v bounds_idx in
160
                              Some min_, Some max_
160
                              Some (List.assoc v bounds_idx)
161
                              (* let min_, max_ = List.assoc v bounds_idx in
162
                               * Some min_, Some max_ *)
161 163
                            else
162
                              None, None
164
                              None(* , None *)
163 165
           ) ordered_list)
164 166
    ))
165 167
    bounds;
......
181 183
    | Some ((bname,_ (* type should be bool *) ), bval) ->
182 184
        Format.fprintf fmt "%s,%a,%s,%b" n (Tiny.Ast.pp_base_type) t bname bval
183 185
  in
184
  let pp_bound fmt (min_, max_) =
185
    Format.fprintf fmt "%a,%a" Tiny.Scalar.pp min_ Tiny.Scalar.pp max_
186
  in
187 186
  Format.fprintf fmt "timestep,varid,type,boolpart,boolval,min,max@.";
188 187
  Utils.fprintf_list ~sep:"@." (
189 188
      fun fmt (idx, idx_bounds) ->
190 189
      Utils.fprintf_list ~sep:"@." (fun fmt (vctx, vctx_bound) ->
191
          Format.fprintf fmt "%i,%a,%a" idx pp_vctx vctx pp_bound vctx_bound
190
          Format.fprintf fmt "%i,%a,%a" idx pp_vctx vctx Tiny.Bounds.pp vctx_bound
192 191
        ) fmt idx_bounds
193 192
    ) fmt bounds
194 193

  

Also available in: Unified diff