-- create type my2int4 ( internallength = 4, -- input = typetest.myint4in, output = typetest.myint4out, -- passedbyvalue, externallength = 10); create or replace package moretypetest as function my2int24pl(int2, my2int4) returns my2int4 as 'int24pl' language 'internal' function my2int42pl(my2int4, int2) returns my2int4 as 'int24pl' language 'internal' function my2int24mi(int2, my2int4) returns my2int4 as 'int24mi' language 'internal' function my2int42mi(my2int4, int2) returns my2int4 as 'int24mi' language 'internal' function my2int24mul(int2, my2int4) returns my2int4 as 'int24mul' language 'internal' function my2int42mul(my2int4, int2) returns my2int4 as 'int24mul' language 'internal' function my2int24div(int2, my2int4) returns my2int4 as 'int24div' language 'internal' function my2int42div(my2int4, int2) returns my2int4 as 'int24div' language 'internal' function my2int24mod(int2, my2int4) returns my2int4 as 'int24mod' language 'internal' function my2int42mod(my2int4, int2) returns my2int4 as 'int24mod' language 'internal' operator + (procedure = my2int24pl, leftarg = int2, rightarg = my2int4, commutator = + ) operator + (procedure = my2int42pl, leftarg = my2int4, rightarg = int2, commutator = + ) operator - (procedure = my2int24mi, leftarg = int2, rightarg = my2int4) operator - (procedure = my2int42mi, leftarg = my2int4, rightarg = int2) operator * (procedure = my2int24mul, leftarg = int2, rightarg = my2int4, commutator = + ) operator * (procedure = my2int42mul, leftarg = my2int4, rightarg = int2, commutator = + ) operator / (procedure = my2int24div, leftarg = int2, rightarg = my2int4) operator / (procedure = my2int42div, leftarg = my2int4, rightarg = int2) operator % (procedure = my2int24mod, leftarg = int2, rightarg = my2int4) operator % (procedure = my2int42mod, leftarg = my2int4, rightarg = int2) ;