Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Dynlift/babldmvc.adb, Revision 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>