[BACK]Return to babldmvc.adb CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Root_Counts / Dynlift

Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Dynlift/babldmvc.adb, Revision 1.1.1.1

1.1       maekawa     1: with text_io,integer_io;                 use text_io,integer_io;
                      2: with Communications_with_User;           use Communications_with_User;
                      3: with Timing_Package;                     use Timing_Package;
                      4: with Standard_Integer_Vectors;           use Standard_Integer_Vectors;
                      5: with Standard_Complex_Poly_Systems;      use Standard_Complex_Poly_Systems;
                      6: with Standard_Complex_Poly_Systems_io;   use Standard_Complex_Poly_Systems_io;
                      7: with Standard_Complex_Solutions;         use Standard_Complex_Solutions;
                      8: with Standard_Complex_Solutions_io;      use Standard_Complex_Solutions_io;
                      9: with Arrays_of_Integer_Vector_Lists;     use Arrays_of_Integer_Vector_Lists;
                     10: with Integer_Mixed_Subdivisions;         use Integer_Mixed_Subdivisions;
                     11: with Black_Mixed_Volume_Computations;    use Black_Mixed_Volume_Computations;
                     12:
                     13: procedure babldmvc ( infilename,outfilename : in string ) is
                     14:
                     15:   infile,outfile : file_type;
                     16:   lp : Link_to_Poly_Sys;
                     17:
                     18:   procedure Read_System ( file : in out file_type; filename : in string ) is
                     19:   begin
                     20:     if filename /= ""
                     21:      then Open_Input_File(file,filename);
                     22:           get(file,lp);
                     23:     end if;
                     24:   exception
                     25:     when others => put_line("Something is wrong with argument file...");
                     26:                    lp := null; return;
                     27:   end Read_System;
                     28:
                     29:   procedure Main ( file : in file_type; p : in out Poly_Sys ) is
                     30:
                     31:     timer : Timing_Widget;
                     32:     q : Poly_Sys(p'range);
                     33:     qsols : Solution_List;
                     34:     mix : Link_to_Vector;
                     35:     lifsup : Link_to_Array_of_Lists;
                     36:     mixsub : Mixed_Subdivision;
                     37:     mv : natural;
                     38:
                     39:   begin
                     40:     tstart(timer);
                     41:     Black_Box_Mixed_Volume_Computation(p,mix,lifsup,mixsub,mv);
                     42:     tstop(timer);
                     43:     new_line(outfile);
                     44:     put(outfile,"mixed volume : "); put(outfile,mv,1); new_line(outfile);
                     45:     new_line(outfile);
                     46:     print_times(outfile,timer,"Mixed-Volume Computation");
                     47:     if mv > 0
                     48:      then tstart(timer);
                     49:           Black_Box_Polyhedral_Continuation
                     50:             (p,mix.all,lifsup.all,mixsub,q,qsols);
                     51:           tstop(timer);
                     52:           new_line(outfile);
                     53:           put_line(outfile,"RANDOM COEFFICIENT START SYSTEM :");
                     54:           new_line(outfile);
                     55:           put_line(outfile,q);
                     56:           new_line(outfile);
                     57:           put_line(outfile,"START SOLUTIONS :");
                     58:           new_line(outfile);
                     59:           put(outfile,Length_Of(qsols),Head_Of(qsols).n,qsols);
                     60:           new_line(outfile);
                     61:           print_times(outfile,timer,"Polyhedral Continuation");
                     62:     end if;
                     63:   end Main;
                     64:
                     65: begin
                     66:   Read_System(infile,infilename);
                     67:   if lp = null
                     68:    then new_line;
                     69:         get(lp);
                     70:   end if;
                     71:   Close(infile);
                     72:   Create_Output_File(outfile,outfilename);
                     73:   put(outfile,lp.all);
                     74:   Main(outfile,lp.all);
                     75:   Close(outfile);
                     76: end babldmvc;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>