code: func (p *Params) BonusScale(v float64) *Params {
  	if v >= 0 {
  		p.bonusScale = v
  	}
  
  	// the bonus cannot exceed (1-sim), or the score may become greater than 1.
  	if float64(p.bonusPrefix)*p.bonusScale > 1 {
  		p.bonusScale = 1 / float64(p.bonusPrefix)
  	}
  
  	return p
  }
docs: // BonusScale overrides the default value for the scaling factor used by Match()
  // in calculating the bonus.
  // The new value must be zero or positive. To guarantee that the similarity score
  // remains in the interval 0..1, this scaling factor is not allowed to exceed
  // 1 / BonusPrefix.