Annotation of OpenXM_contrib/PHC/Ada/Main/driver_for_root_refining.adb, Revision 1.1.1.1
1.1 maekawa 1: with integer_io; use integer_io;
2: with Timing_Package; use Timing_Package;
3: with Standard_Floating_Numbers; use Standard_Floating_Numbers;
4: with Scaling; use Scaling;
5: with Projective_Transformations; use Projective_Transformations;
6: with Standard_Root_Refiners; use Standard_Root_Refiners;
7:
8: procedure Driver_for_Root_Refining
9: ( file : in file_type; scalp,p : in Poly_Sys; basis : in natural;
10: scalvec : in Link_to_Vector; sols : in out Solution_List ) is
11:
12: numb : natural;
13: epsxa,epsfa : constant double_float := 10.0**(-8);
14: tolsing : constant double_float := 10.0**(-8);
15: timer : timing_widget;
16: len : constant natural := Length_Of(sols);
17:
18: begin
19: if (len /= 0) and then Head_Of(sols).n > p'last
20: then Affine_Transformation(sols);
21: end if;
22: if scalvec /= null
23: then put_line(file,"ROOT REFINING ON THE SCALED SYSTEM :");
24: tstart(timer);
25: numb := 0;
26: Reporting_Root_Refiner
27: (file,scalp,sols,epsxa,epsfa,tolsing,numb,5,false);
28: tstop(timer);
29: new_line(file);
30: print_times(file,timer,"Root Refining on the Scaled System");
31: Scale(basis,scalvec.all,sols);
32: end if;
33: tstart(timer);
34: numb := 0;
35: Reporting_Root_Refiner(file,p,sols,epsxa,epsfa,tolsing,numb,5,false);
36: tstop(timer);
37: new_line(file);
38: print_times(file,timer,"Root Refining");
39: end Driver_for_Root_Refining;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>