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

Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Symmetry/drivers_for_orbits_of_solutions.adb, Revision 1.1.1.1

1.1       maekawa     1: with integer_io;                         use integer_io;
                      2: with Standard_Complex_Solutions_io;      use Standard_Complex_Solutions_io;
                      3: with Symmetry_Group_io;
                      4: with Orbits_of_Solutions;                use Orbits_of_Solutions;
                      5:
                      6: package body Drivers_for_Orbits_of_Solutions is
                      7:
                      8:   procedure Driver_for_Orbits_of_Solutions
                      9:                   ( file : in file_type; sols : in out Solution_List;
                     10:                     v : in List_of_Permutations; allperms,signsym : in boolean;
                     11:                     tol : in double_float ) is
                     12:
                     13:   begin
                     14:     if not Is_Null(sols)
                     15:      then
                     16:        declare
                     17:          n : constant natural := Head_Of(sols).n;
                     18:          orb : Permutation(1..n);
                     19:        begin
                     20:          Driver_for_Orbits_of_Solutions(file,sols,v,allperms,signsym,tol,orb);
                     21:        end;
                     22:     end if;
                     23:   end Driver_for_Orbits_of_Solutions;
                     24:
                     25:   procedure Driver_for_Orbits_of_Solutions
                     26:                   ( file : in file_type; sols : in out Solution_List;
                     27:                     v : in List_of_Permutations; allperms,signsym : in boolean;
                     28:                     tol : in double_float; orbi : out Permutation ) is
                     29:
                     30:   begin
                     31:     if not Is_Null(sols)
                     32:      then declare
                     33:             n : constant natural := Head_Of(sols).n;
                     34:             orb : Permutation(1..n);
                     35:             len : natural;
                     36:           begin
                     37:             if allperms
                     38:              then sols := Generating(sols,signsym,tol);
                     39:              else Analyze(v,signsym,tol,sols);
                     40:             end if;
                     41:             len := Length_Of(sols);
                     42:             new_line(file);
                     43:             put(file,"The number of generating solutions : ");
                     44:             put(file,len,1); new_line(file);
                     45:             orb := Orbits(sols,tol);
                     46:             put(file,"The orbits : "); Symmetry_Group_io.put(file,orb);
                     47:             new_line(file);
                     48:             new_line(file);
                     49:             put_line(file,"THE GENERATING SOLUTIONS : ");
                     50:             put(file,len,Head_Of(sols).n,sols); new_line(file);
                     51:             orbi := orb;
                     52:           end;
                     53:     end if;
                     54:   end Driver_for_Orbits_of_Solutions;
                     55:
                     56: end Drivers_for_Orbits_of_Solutions;

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