%#codegen
function y = fi_bitor(a, b)
coder.inline('always');
if isfi(a) && ~isfi(b)
    y = bitor(a, fi(b, numerictype(a), fimath(a)));
elseif ~isfi(a) && isfi(b)
    y = bitor(fi(a, numerictype(b), fimath(b)), b);
elseif isfi(a) && isfi(b)
    unionType = fixed.aggregateType(a, b);
    y = bitor(fi(a, unionType, fimath(a)), fi(b, unionType, fimath(b)));
else
    y = bitor(uint32(a), uint32(b));
end

end