src/HOL/SPARK/Manual/document/Simple_Gcd.adb
author wenzelm
Mon, 24 Oct 2022 20:37:32 +0200
changeset 76371 1ac2416e8432
parent 45044 2fae15f8984d
permissions -rw-r--r--
tuned signature (again, amending f32ac01aef5e), e.g. relevant for Isabelle/DOF;
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;