[BACK]Return to integer_linear_inequalities.adb CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Math_Lib / Supports

Annotation of OpenXM_contrib/PHC/Ada/Math_Lib/Supports/integer_linear_inequalities.adb, Revision 1.1

1.1     ! maekawa     1: with Standard_Floating_Numbers;          use Standard_Floating_Numbers;
        !             2: with Standard_Floating_Vectors;          use Standard_Floating_Vectors;
        !             3: with Standard_Floating_Matrices;
        !             4: with Floating_Linear_Inequalities;       use Floating_Linear_Inequalities;
        !             5:
        !             6: package body Integer_Linear_Inequalities is
        !             7:
        !             8:   procedure Integer_Complementary_Slackness
        !             9:                   ( tableau : in out Matrix; feasible : out boolean ) is
        !            10:   begin
        !            11:     Integer_Complementary_Slackness(tableau,tableau'last(2)-1,feasible);
        !            12:   end Integer_Complementary_Slackness;
        !            13:
        !            14:   procedure Integer_Complementary_Slackness
        !            15:                   ( tableau : in out Matrix; lastcol : in integer;
        !            16:                     feasible : out boolean ) is
        !            17:
        !            18:     tab : Standard_Floating_Matrices.Matrix
        !            19:                  (tableau'range(1),tableau'first(2)..lastcol);
        !            20:     rhs,sol : Standard_Floating_Vectors.Vector(tab'range(1));
        !            21:     tol : constant double_float := 10.0**(-12);  -- double precision
        !            22:     columns : Standard_Integer_Vectors.Vector(sol'range);
        !            23:
        !            24:   begin
        !            25:     for i in tab'range(1) loop
        !            26:       for j in tab'range(2) loop
        !            27:         tab(i,j) := double_float(tableau(i,j));
        !            28:       end loop;
        !            29:     end loop;
        !            30:     for i in rhs'range loop
        !            31:       rhs(i) := double_float(tableau(i,tableau'last(2)));
        !            32:     end loop;
        !            33:     Complementary_Slackness(tab,lastcol,rhs,tol,sol,columns,feasible);
        !            34:   end Integer_Complementary_Slackness;
        !            35:
        !            36: end Integer_Linear_Inequalities;

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