code: func newBitmapFrom(other *bitmap, size int) *bitmap {
  	bitmap := newBitmap(size)
  
  	if size > other.Size {
  		size = other.Size
  	}
  
  	div := size >> 3
  
  	for i := 0; i < div; i++ {
  		bitmap.data[i] = other.data[i]
  	}
  
  	for i := div << 3; i < size; i++ {
  		if other.Bit(i) == 1 {
  			bitmap.Set(i)
  		}
  	}
  
  	return bitmap
  }
docs: // newBitmapFrom returns a new copyed bitmap pointer which
  // newBitmap.data = other.data[:size].