class CwCardUtils::SynergyProbability

def approx_combo(target_names, draws)

Approximation for >3 cards
def approx_combo(target_names, draws)
  draws_clamped = clamp_draws(draws)
  total = hypergeometric(@deck_size, draws_clamped).to_f
  prob_missing = target_names.sum do |name|
    copies = copies_by_name[name]
    hypergeometric(@deck_size - copies, draws_clamped).to_f / total
  end
  prob = 1 - prob_missing
  prob.clamp(0.0, 1.0)
end