with Calendar;
use Calendar;
with B000001a;   -- Track program
with B000001b;   -- Track program with PRAGMA SUPPRESS
with Text_Io;

procedure B000001m is

    --  This is the main procedure for executing the Track Using
    --  a Covariance Matrix programs.  The program is called once
    --  with no Suppress checking and once with Suppress checking.
    --  The execution results are printed.

    Execution_Time : Duration;

    package Flt_Io is new Text_Io.Float_Io (Float);

    procedure Report_Time (Time : Duration; Repetitions : Integer) is

    begin -- REPORT_TIME
        Text_Io.Put_Line ("  ");
        Text_Io.Put ("Time Required : ");
        Flt_Io.Put (Float (Time));
        Text_Io.Put (" Seconds for ");
        Text_Io.Put (Integer'Image (Repetitions));
        Text_Io.Put_Line (" Repetitions ");
        Text_Io.Put_Line ("    ");
    end Report_Time;


begin -- B000001
    Text_Io.Put_Line ("B000001  application program, tracker");
    Text_Io.Put_Line (B000001a.Title);
    B000001a.Start (10000, Execution_Time);
    Report_Time (Execution_Time, 10000);

    Text_Io.Put_Line (B000001b.Title);
    B000001b.Start (10000, Execution_Time);
    Report_Time (Execution_Time, 10000);
end B000001m;