]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/helena/src/common/output.ml
matita gtk3: some bugs fixed
[helm.git] / helm / software / helena / src / common / output.ml
index 23829c095ff543aedfe7afe9db4eaf6e88a79776..492b6d2c935d1a9ca7e99fbc1e913db695d11649 100644 (file)
@@ -14,6 +14,8 @@ module KP = Printf
 module L  = Log
 module G  = Options
 
+IFDEF SUMMARY THEN
+
 type reductions = {
    beta   : int;
    zeta   : int;
@@ -25,13 +27,14 @@ type reductions = {
    lrt    : int;
    grt    : int;
    e      : int;
+   x      : int;
 }
 
 let level = 2
 
 let initial_reductions = {
    beta = 0; theta = 0; epsilon = 0; zeta = 0; ldelta = 0; gdelta = 0; upsilon = 0;
-   lrt = 0; grt = 0; e = 0;
+   lrt = 0; grt = 0; e = 0; x = 0;
 }
 
 let reductions = ref initial_reductions
@@ -40,8 +43,18 @@ let clear_reductions () = reductions := initial_reductions
 
 let add 
    ?(beta=0) ?(theta=0) ?(epsilon=0) ?(ldelta=0) ?(gdelta=0) ?(zeta=0) 
-   ?(upsilon=0) ?(lrt=0) ?(grt=0) ?(e=0) ()
-= reductions := {
+   ?(upsilon=0) ?(lrt=0) ?(grt=0) ?(e=0) ?(x=0) ()
+=
+(*
+   if !G.ct >= level then begin
+      if beta > 0 then L.warn level (KP.sprintf "BETA %u" beta);
+      if ldelta > 0 then L.warn level (KP.sprintf "EXP %u" ldelta);
+      if gdelta > 0 then L.warn level (KP.sprintf "EXP %u" gdelta);
+      if lrt > 0 then L.warn level (KP.sprintf "EXP %u" lrt);
+      if grt > 0 then L.warn level (KP.sprintf "EXP %u" grt); 
+   end;
+*)
+reductions := {
    beta = !reductions.beta + beta;
    zeta = !reductions.zeta + zeta;
    theta = !reductions.theta + theta;
@@ -52,12 +65,13 @@ let add
    lrt = !reductions.lrt + lrt;
    grt = !reductions.grt + grt;
    e = !reductions.e + e;
+   x = !reductions.x + x;
 }
 
 let print_reductions () =
    let r = !reductions in
    let rs = r.beta + r.ldelta + r.zeta + r.theta + r.epsilon + r.gdelta + r.upsilon in
-   let prs = r.lrt + r.grt + r.e in
+   let prs = r.lrt + r.grt + r.e + r.x in
    let delta = r.ldelta + r.gdelta in
    let rt = r.lrt + r.grt in
    L.warn level (KP.sprintf "Reductions summary");
@@ -74,5 +88,10 @@ let print_reductions () =
    L.warn level (KP.sprintf "    Reference typing:       %7u" rt);
    L.warn level (KP.sprintf "      Local:                %7u" r.lrt);
    L.warn level (KP.sprintf "      Global:               %7u" r.grt);
-   L.warn level (KP.sprintf "    Cast typing:            %7u" r.e);  
+   L.warn level (KP.sprintf "    Cast typing:            %7u" r.e);
+   L.warn level (KP.sprintf "    Binder typing:          %7u" r.x);
+IFDEF TYPE THEN
    L.warn level (KP.sprintf "Relocated nodes (icm):      %7u" !G.icm)
+ELSE () END
+
+END