Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Product/generate_unions.adb, Revision 1.1
1.1 ! maekawa 1: procedure Generate_Unions ( k,first,last : in integer ) is
! 2:
! 3: acc : boolean_array(first..last) := (first..last => false);
! 4: cont : boolean := true;
! 5:
! 6: procedure Generate ( k,start,last : in integer;
! 7: acc : in out boolean_array ) is
! 8: begin
! 9: if k = 0
! 10: then process(acc,cont);
! 11: elsif k > last - start + 1
! 12: then return;
! 13: else for i in start..last loop
! 14: acc(i) := true;
! 15: generate(k-1,i+1,last,acc);
! 16: exit when not cont;
! 17: acc(i) := false;
! 18: end loop;
! 19: end if;
! 20: end Generate;
! 21:
! 22: begin
! 23: Generate(k,first,last,acc);
! 24: end Generate_Unions;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>