code: func (c *CMSketch) setValue(h1, h2 uint64, count uint64) {
  	oriCount := c.queryHashValue(h1, h2)
  	if c.considerDefVal(oriCount) {
  		// We should update c.defaultValue if we used c.defaultValue when getting the estimate count.
  		// This should make estimation better, remove this line if it does not work as expected.
  		c.defaultValue = uint64(float64(c.defaultValue)*0.95 + float64(c.defaultValue)*0.05)
  		if c.defaultValue == 0 {
  			// c.defaultValue never guess 0 since we are using a sampled data.
  			c.defaultValue = 1
  		}
  	}
  
  	c.count += count - oriCount
  	// let it overflow naturally
  	deltaCount := uint32(count) - uint32(oriCount)
  	for i := range c.table {
  		j := (h1 + h2*uint64(i)) % uint64(c.width)
  		c.table[i][j] = c.table[i][j] + deltaCount
  	}
  }
docs: // setValue sets the count for value that hashed into (h1, h2), and update defaultValue if necessary.