Something
public text v1 · immutablefunction 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;