Initial data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 72d218235f
commit f23f22d71c
199087 changed files with 3378941 additions and 0 deletions

View file

@ -0,0 +1,58 @@
create or replace package ethiopian is
function multiply
( left in integer,
right in integer)
return integer;
end ethiopian;
/
create or replace package body ethiopian is
function is_even(item in integer) return boolean is
begin
return item mod 2 = 0;
end is_even;
function double(item in integer) return integer is
begin
return item * 2;
end double;
function half(item in integer) return integer is
begin
return trunc(item / 2);
end half;
function multiply
( left in integer,
right in integer)
return Integer
is
temp integer := 0;
plier integer := left;
plicand integer := right;
begin
loop
if not is_even(plier) then
temp := temp + plicand;
end if;
exit when plier <= 1;
plier := half(plier);
plicand := double(plicand);
end loop;
return temp;
end multiply;
end ethiopian;
/
/* example call */
begin
dbms_output.put_line(ethiopian.multiply(17, 34));
end;
/