un_or_all
- Posted by unkmar Sep 06, 2008
- 802 views
global function un_or_all(atom a) atom item, x sequence result item = 1 result = {} while (a) do x = and_bits(a, item) if (x) then result &= x a -= x item *= 2 -- left shift end while return result end function ? un_or_all(or_all({8, 1, 2, 32})) -- {1, 2, 8, 32} ? un_or_all(or_all({1, 5, 8, 16, 32})) -- {1, 4, 8, 16, 32}
This message brought to you by
Unkmar - Lucius L. Hilley III
Unkmar - Lucius L. Hilley III