All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.hammerlab.math.Binomial.scala Maven / Gradle / Ivy

The newest version!
package org.hammerlab.math

trait Binomial
  extends Serializable {
  object binomial {
    def apply(n: Int, k: Int): Long =
      if (k > n || k < 0 || n < 0)
        0
      else if (k > n - k)
        apply(n, n - k)
      else {
        var b = 1
        var i = 1
        var m = n
        while (i <= k) {
          b = b * m / i
          i += 1
          m -= 1
        }
        b
      }
  }
}

object Binomial extends Binomial




© 2015 - 2025 Weber Informatics LLC | Privacy Policy