Beispiel #1
0
        private static MGRB DoBitOperation(MGRB bits, MGRB c, OPERATION op, int maxsize)
        {
            if (bits != null)
            {
                switch (op)
                {
                case OPERATION.AND:
                    bits = bits.And(c);
                    break;

                case OPERATION.OR:
                    bits = bits.Or(c);
                    break;

                case OPERATION.ANDNOT:
                    bits = bits.And(c.Not(maxsize));
                    break;
                }
            }
            else
            {
                bits = c;
            }
            return(bits);
        }
Beispiel #2
0
        public MGRB AndNot(MGRB b)
        {
            long c = _size;

            if (b._size > c)
            {
                c = b._size;
            }

            return(And(b.Not(c)));
        }
Beispiel #3
0
 public MGRB Query(RDBExpression ex, object from, int maxsize)
 {
     lock (_lock)
     {
         bool b = (bool)from;
         if (b)
         {
             return(_bits);
         }
         else
         {
             return(_bits.Not(maxsize));
         }
     }
 }