public object Clone() { VariableValueArray clone = new VariableValueArray(BitsPerValue, Capacity); Backing.Copy(0, Backing, 0, Backing.Length); return(clone); }
public VariableValueArray IncreaseBitsPerValueTo(int newValue) { if (newValue < BitsPerValue || newValue == BitsPerValue) { throw new ArgumentException(nameof(newValue)); } VariableValueArray returned = new VariableValueArray(newValue, Capacity); for (int i = 0; i < Capacity; i++) { returned.Set(i, Get(i)); } return(returned); }