1package body Simple_Greatest_Common_Divisor
2is
3
4   procedure G_C_D (M, N : in Natural; G : out Natural)
5   is
6      C, D, R : Natural;
7   begin
8      C := M; D := N;
9      while D /= 0
10        --# assert Gcd (C, D) = Gcd (M, N);
11      loop
12         R := C mod D;
13         C := D; D := R;
14      end loop;
15      G := C;
16   end G_C_D;
17
18end Simple_Greatest_Common_Divisor;
19