src/HOL/SPARK/Manual/document/Simple_Gcd.adb
author wenzelm
Mon, 13 Apr 2020 22:08:14 +0200
changeset 71751 abf3e80bd815
parent 45044 2fae15f8984d
permissions -rw-r--r--
tuned NEWS;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
45044
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
     1
package body Simple_Greatest_Common_Divisor
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
     2
is
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
     3
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
     4
   procedure G_C_D (M, N : in Natural; G : out Natural)
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
     5
   is
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
     6
      C, D, R : Natural;
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
     7
   begin
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
     8
      C := M; D := N;
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
     9
      while D /= 0
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    10
        --# assert Gcd (C, D) = Gcd (M, N);
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    11
      loop
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    12
         R := C mod D;
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    13
         C := D; D := R;
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    14
      end loop;
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    15
      G := C;
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    16
   end G_C_D;
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    17
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    18
end Simple_Greatest_Common_Divisor;