All pastes #450353 Raw Edit

Something

public text v1 · immutable
·published 2007-04-20 19:48 UTC
rendered paste body
function GCD (First, Second : Integer) return Natural is
   function Internal (First, Second : Natural) return Natural is
   begin
      if Second = 0 then
         return First;
      else
         return Internal (Second, First mod Second );
      end if;
   end Internal;

begin
   if abs First = abs Second then
      return abs First;
   else
      return Internal (abs First, abs Second);
   end if;
end GCD;