[BACK]Return to driver_for_root_refining.adb CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Main

File: [local] / OpenXM_contrib / PHC / Ada / Main / driver_for_root_refining.adb (download)

Revision 1.1.1.1 (vendor branch), Sun Oct 29 17:45:23 2000 UTC (23 years, 6 months ago) by maekawa
Branch: PHC, MAIN
CVS Tags: v2, maekawa-ipv6, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, RELEASE_1_2_1, HEAD
Changes since 1.1: +0 -0 lines

Import the second public release of PHCpack.

OKed by Jan Verschelde.

with integer_io;                         use integer_io;
with Timing_Package;                     use Timing_Package;
with Standard_Floating_Numbers;          use Standard_Floating_Numbers;
with Scaling;                            use Scaling;
with Projective_Transformations;         use Projective_Transformations;
with Standard_Root_Refiners;             use Standard_Root_Refiners;

procedure Driver_for_Root_Refining
             ( file : in file_type; scalp,p : in Poly_Sys; basis : in natural;
               scalvec : in Link_to_Vector; sols : in out Solution_List ) is

  numb : natural;
  epsxa,epsfa : constant double_float := 10.0**(-8);
  tolsing : constant double_float := 10.0**(-8);
  timer : timing_widget;
  len : constant natural := Length_Of(sols);

begin
  if (len /= 0) and then Head_Of(sols).n > p'last
   then Affine_Transformation(sols);
  end if;
  if scalvec /= null
   then put_line(file,"ROOT REFINING ON THE SCALED SYSTEM :");
        tstart(timer);
        numb := 0;
        Reporting_Root_Refiner
          (file,scalp,sols,epsxa,epsfa,tolsing,numb,5,false);
        tstop(timer);
        new_line(file);
        print_times(file,timer,"Root Refining on the Scaled System");
        Scale(basis,scalvec.all,sols);
  end if;
  tstart(timer);
  numb := 0;
  Reporting_Root_Refiner(file,p,sols,epsxa,epsfa,tolsing,numb,5,false);
  tstop(timer);
  new_line(file);
  print_times(file,timer,"Root Refining");
end Driver_for_Root_Refining;