11 lines
216 B
SQL
11 lines
216 B
SQL
CREATE FUNCTION gcd(integer, integer)
|
|
RETURNS integer
|
|
LANGUAGE sql
|
|
AS $function$
|
|
WITH RECURSIVE x (u, v) AS (
|
|
SELECT ABS($1), ABS($2)
|
|
UNION
|
|
SELECT v, u % v FROM x WHERE v > 0
|
|
)
|
|
SELECT min(u) FROM x;
|
|
$function$
|