File : rg_param.adb


with Ada.Text_IO, Reps, Intervals, Intervals.IO, Fouriers_Init;
use Ada.Text_IO, Reps, Intervals, Intervals.IO, Fouriers_Init;
pragma Elaborate_All(Intervals.IO);

procedure RG_Param is

  Sigma: constant Rep := 0.85001;
  Kappa: constant Rep := Sigma/0.4;
  RBall: constant Radius := 3.0E-12;       -- domain of contraction yielding H_infinity
  R:  constant Weights := (0.85,0.15);     -- for domain of RG
  Rpp: constant Weights := (0.90,0.165);   -- for domain of NN
  Rt:  constant Radius := 0.0001;          -- r, for norm of tori
  Rad: constant Radius := 0.002;           -- domain of contraction yielding Gamma_infinity
  RQ:  constant Radius := 0.7;             -- domain for q-derivatives

  procedure Show(R: in Rep) is
    type Fix is delta 0.000001 range 0.0 .. 9.0;
    package Fix_IO is new Ada.Text_IO.Fixed_IO(Fix);
    package Rep_IO is new Ada.Text_IO.Float_IO(Rep);
    use Fix_IO, Rep_IO;
  begin
    Put(Current_Output,Scal(R),False);
    Put("  (");
    if R<1.0E-2 then
      Put(Current_Output,Item=>R, Aft=>2, Exp=>3);
    else
      Put(Current_Output,Fix(R));
    end if;
    Put(" )");
    New_Line;
  end Show;

begin

  Put_Line("Sigma, kappa, and norm parameter r:");
  Show(Sigma);
  Show(Kappa);
  Show(Rt);
  New_Line;

  Put_Line("Domain parameters:");
  Show(R.Q);
  Show(R.P);
  Show(Rpp.Q);
  Show(Rpp.P);
  Show(RQ);
  New_Line;

  Put_Line("Radii of balls for contractions:");
  Show(RBall);
  Show(Rad);
  New_Line;

  Put_Line("On the left are the precise values, in hexadecimal notation.");
  Put_Line("In parentheses are the approximate values mentioned in the paper.");

end RG_Param;