Esempio n. 1
0
 public override void Clear()
 {
     if (IsByteUniform(_defaultValue))
     {
         UnsafeUtil.setMemory(address, length << Shift, ( sbyte )_defaultValue);
     }
     else
     {
         for (long i = 0, adr = address; i < length; i++, adr += itemSize)
         {
             UnsafeUtil.putLong(adr, _defaultValue);
         }
     }
 }
Esempio n. 2
0
        public override void Clear()
        {
            if (IsByteUniform(_defaultValue))
            {
                UnsafeUtil.setMemory(Address, LengthConflict * itemSize, _defaultValue[0]);
            }
            else
            {
                long intermediary = UnsafeUtil.allocateMemory(itemSize, AllocationTracker);
                for (int i = 0; i < _defaultValue.Length; i++)
                {
                    UnsafeUtil.putByte(intermediary + i, _defaultValue[i]);
                }

                for (long i = 0, adr = Address; i < LengthConflict; i++, adr += itemSize)
                {
                    UnsafeUtil.copyMemory(intermediary, adr, itemSize);
                }
                UnsafeUtil.free(intermediary, itemSize, AllocationTracker);
            }
        }