Mercurial > hg > mauch-mirex-2010
view _FullBNT/KPMtools/mysymsetdiff.m @ 9:4ea6619cb3f5 tip
removed log files
author | matthiasm |
---|---|
date | Fri, 11 Apr 2014 15:55:11 +0100 |
parents | b5b38998ef3b |
children |
line wrap: on
line source
function C = mysymsetdiff(A,B) % MYSYMSETDIFF Symmetric set difference of two sets of positive integers (much faster than built-in setdiff) % C = mysetdiff(A,B) % C = (A\B) union (B\A) = { things that A and B don't have in common } if isempty(A) ma = 0; else ma = max(A); end if isempty(B) mb = 0; else mb = max(B); end if ma==0 C = B; elseif mb==0 C = A; else % both non-empty m = max(ma,mb); bitsA = sparse(1, m); bitsA(A) = 1; bitsB = sparse(1, m); bitsB(B) = 1; C = find(xor(bitsA, bitsB)); end