示例#1
0
文件: BitMask.cs 项目: uiopsczc/Test
 public BitMask(BitMask mask)
 {
     bytes = new uint[mask.bytes.Length];
     for (var i = 0; i < mask.bytes.Length; i++)
     {
         bytes[i] = mask.bytes[i];
     }
 }
示例#2
0
文件: BitMask.cs 项目: uiopsczc/Test
 public BitMask And(BitMask mask)
 {
     for (var i = 0; i < mask.bytes.Length; i++)
     {
         bytes[i] = bytes[i] & mask.bytes[i];
     }
     return(this);
 }
示例#3
0
文件: BitMask.cs 项目: uiopsczc/Test
 public BitMask Xor(BitMask mask)
 {
     Debug.Assert(bytes.Length == mask.bytes.Length, "BitMasks must be the same size");
     for (var i = 0; i < mask.bytes.Length; i++)
     {
         bytes[i] = bytes[i] ^ mask.bytes[i];
     }
     return(this);
 }
示例#4
0
文件: BitMask.cs 项目: uiopsczc/Test
        private static bool _isEqual(BitMask m1, BitMask m2)
        {
            // BitMasks need to be the same size
            if (m1.bytes.Length != m2.bytes.Length)
            {
                return(false);
            }

            // Compare all elements in each BitMask's _byte array
            for (var i = 0; i < m1.bytes.Length; i++)
            {
                if (m1.bytes[i] != m2.bytes[i])
                {
                    return(false);
                }
            }

            return(true);
        }