-- permute.ads generic type ITEM is private ; type INDEX is range <> ; type VECTOR_TYPE is array ( INDEX range <> ) of ITEM ; type PERMUTERS_TYPE is array ( INDEX range <> ) of INDEX ; procedure PERMUTE ( VECTOR : in out VECTOR_TYPE ; PERMUTERS : in out PERMUTERS_TYPE ; -- Scratch IF_LAST : out BOOLEAN ) ;