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

Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Implift/drivers_for_vertex_points.adb, Revision 1.1

1.1     ! maekawa     1: with integer_io;                         use integer_io;
        !             2: with Timing_Package;                     use Timing_Package;
        !             3: with Lists_of_Integer_Vectors_io;        use Lists_of_Integer_Vectors_io;
        !             4: with Power_Lists,Vertices;               use Power_Lists,Vertices;
        !             5:
        !             6: package body Drivers_for_Vertex_Points is
        !             7:
        !             8:   procedure Vertex_Points ( file : in file_type; l : in out List ) is
        !             9:
        !            10:     timer : Timing_Widget;
        !            11:     res : List;
        !            12:
        !            13:   begin
        !            14:     put_line(file,"****  THE SUPPORT  ****");
        !            15:     new_line(file); put(file,l); new_line(file);
        !            16:     tstart(timer);
        !            17:     res := Vertex_Points(l);
        !            18:     tstop(timer);
        !            19:     new_line(file);
        !            20:     put_line(file,"****  THE VERTEX POINTS  ****");
        !            21:     new_line(file); put(file,res); new_line(file);
        !            22:     put_line(file,"****  REDUCTION OF POINTS  ****");
        !            23:     new_line(file);
        !            24:     put(file,"The number of points in the support   : ");
        !            25:     put(file,Length_Of(l),1); new_line(file);
        !            26:     put(file,"The number of remaining vertex points : ");
        !            27:     put(file,Length_Of(res),1); new_line(file);
        !            28:     new_line(file);
        !            29:     print_times(file,timer,"computing the vertex points");
        !            30:     new_line(file);
        !            31:     Clear(l);
        !            32:     l := res;
        !            33:   end Vertex_Points;
        !            34:
        !            35:   procedure Vertex_Points
        !            36:                ( file : in file_type; l : in out Array_of_Lists ) is
        !            37:
        !            38:     timer : Timing_Widget;
        !            39:     res : Array_of_Lists(l'range);
        !            40:
        !            41:   begin
        !            42:     tstart(timer);
        !            43:     for i in res'range loop
        !            44:       res(i) := Vertex_Points(l(i));
        !            45:     end loop;
        !            46:     tstop(timer);
        !            47:     new_line(file);
        !            48:     put_line(file,"****  THE VERTEX POINTS  ****");
        !            49:     new_line(file);
        !            50:     for i in res'range loop
        !            51:       put(file,res(i)); new_line(file);
        !            52:     end loop;
        !            53:     put_line(file,"****  REDUCTION OF POINTS  ****");
        !            54:     new_line(file);
        !            55:     for i in l'range loop
        !            56:       put(file,"The #points versus #vertices for support ");
        !            57:       put(file,i,1); put(file," : ");
        !            58:       put(file,Length_Of(l(i)),1); put(file,"  ->  ");
        !            59:       put(file,Length_Of(res(i)),1); new_line(file);
        !            60:     end loop;
        !            61:     new_line(file);
        !            62:     print_times(file,timer,"computing the vertex points");
        !            63:     new_line(file);
        !            64:     for i in l'range loop
        !            65:         Clear(l(i));
        !            66:         l(i) := res(i);
        !            67:     end loop;
        !            68:   end Vertex_Points;
        !            69:
        !            70:   procedure Vertex_Points
        !            71:                ( file : in file_type; mix : in Link_to_Vector;
        !            72:                  l : in out Array_of_Lists ) is
        !            73:
        !            74:     timer : Timing_Widget;
        !            75:     res : Array_of_Lists(l'range);
        !            76:     cnt : natural;
        !            77:
        !            78:   begin
        !            79:     tstart(timer);
        !            80:     cnt := 1;
        !            81:     for i in mix'range loop
        !            82:       res(cnt) := Vertex_Points(l(cnt));
        !            83:       cnt := cnt + mix(i);
        !            84:     end loop;
        !            85:     tstop(timer);
        !            86:     new_line(file);
        !            87:     put_line(file,"****  THE VERTEX POINTS  ****");
        !            88:     new_line(file);
        !            89:     cnt := 1;
        !            90:     for i in mix'range loop
        !            91:       put(file,res(cnt)); new_line(file);
        !            92:       cnt := cnt + mix(i);
        !            93:     end loop;
        !            94:     put_line(file,"****  REDUCTION OF POINTS  ****");
        !            95:     new_line(file);
        !            96:     cnt := 1;
        !            97:     for i in mix'range loop
        !            98:       put(file,"The #points versus #vertices for support ");
        !            99:       put(file,cnt,1); put(file," : ");
        !           100:       put(file,Length_Of(l(cnt)),1); put(file,"  ->  ");
        !           101:       put(file,Length_Of(res(cnt)),1); new_line(file);
        !           102:       cnt := cnt + mix(i);
        !           103:     end loop;
        !           104:     new_line(file);
        !           105:     print_times(file,timer,"computing the vertex points");
        !           106:     new_line(file);
        !           107:     cnt := 1;
        !           108:     for i in mix'range loop
        !           109:       for j in 0..(mix(i)-1) loop
        !           110:         Clear(l(cnt+j));
        !           111:         l(cnt+j) := res(cnt);
        !           112:       end loop;
        !           113:       cnt := cnt + mix(i);
        !           114:     end loop;
        !           115:   end Vertex_Points;
        !           116:
        !           117:   procedure Vertex_Points
        !           118:                 ( file : in file_type; p : in out Poly_Sys ) is
        !           119:
        !           120:     l : Array_of_Lists(p'range) := Create(p);
        !           121:     res : Poly_Sys(p'range);
        !           122:
        !           123:   begin
        !           124:     Vertex_Points(file,l);
        !           125:     res := Select_Terms(p,l);
        !           126:     Deep_Clear(l);
        !           127:     Clear(p); p := res;
        !           128:   end Vertex_Points;
        !           129:
        !           130:   procedure Vertex_Points
        !           131:                 ( file : in file_type; mix : in Link_to_Vector;
        !           132:                   p : in out Poly_Sys ) is
        !           133:
        !           134:     l : Array_of_Lists(p'range) := Create(p);
        !           135:     res : Poly_Sys(p'range);
        !           136:
        !           137:   begin
        !           138:     Vertex_Points(file,mix,l);
        !           139:     res := Select_Terms(p,l);
        !           140:     Deep_Clear(l);
        !           141:     Clear(p); p := res;
        !           142:   end Vertex_Points;
        !           143:
        !           144: end Drivers_for_Vertex_Points;

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