예제 #1
0
        /// <summary>
        /// Substract keys
        /// </summary>
        /// <param name="ls"></param>
        /// <returns></returns>
        public LongSet Minus(LongSet ls)
        {
            LongSet rv = new LongSet(this);

            foreach (long v in keys)
            {
                if (ls.Exist(v))
                {
                    rv.Remove(v);
                }
            }
            return(rv);
        }
예제 #2
0
 /// <summary>
 /// Intersects sets
 /// </summary>
 /// <param name="ls"></param>
 /// <returns></returns>
 public LongSet Intersect(LongSet ls)
 {
     if (this._size > ls._size)
     {
         return(ls.Union(this));
     }
     else
     {
         LongSet rv = new LongSet();
         foreach (long v in keys)
         {
             if (ls.Exist(v))
             {
                 rv.Add(v);
             }
         }
         return(rv);
     }
 }
예제 #3
0
        /// <summary>
        /// Intersects sets
        /// </summary>
        /// <param name="ls"></param>
        /// <returns></returns>
		public LongSet Intersect( LongSet ls )
		{
			if(this._size>ls._size)
				return ls.Union(this);
			else
			{
				LongSet rv = new LongSet();
				foreach(long v in keys)
				{
					if(ls.Exist(v))
						rv.Add(v);
				}
				return rv;
			}
		}
예제 #4
0
        /// <summary>
        /// Substract keys
        /// </summary>
        /// <param name="ls"></param>
        /// <returns></returns>
		public LongSet Minus( LongSet ls )
		{
			LongSet rv = new LongSet(this);
			foreach(long v in keys)
			{
				if(ls.Exist(v))
					rv.Remove(v);
			}
			return rv;
		}