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

end