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>