Package com.singularsys.jep.functions
Class Binomial
- java.lang.Object
-
- com.singularsys.jep.functions.PostfixMathCommand
-
- com.singularsys.jep.functions.BinaryFunction
-
- com.singularsys.jep.functions.Binomial
-
- All Implemented Interfaces:
PostfixMathCommandI
,java.io.Serializable
public class Binomial extends BinaryFunction
Binomial coefficients: binom(n,i). Requires n,i integers >=0. Often written as nCi or column vector (n,i).The following rules apply:
(n,0) = 1, (n,1) = n, (n,n-1) = n, (n,n) = 1
(n,i) = n! / ( i! (n-i)! )
Pascals triangle rule: (n,i) = (n-1,i-1) + (n-1,i)
Binomial theorem: (a+b)^n = sum (n,i) a^i b^(n-i), i=0..n.For efficiency the binomial coefficients are stored in a static array.
- Author:
- Rich Morris Created on 13-Feb-2005
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class com.singularsys.jep.functions.PostfixMathCommand
curNumberOfParameters, name, NaN, numberOfParameters
-
-
Constructor Summary
Constructors Constructor Description Binomial()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static int
binom(int n, int i)
Returns the binomial coefficients. nCi.java.lang.Object
eval(java.lang.Object l, java.lang.Object r)
-
Methods inherited from class com.singularsys.jep.functions.BinaryFunction
instanceOf, instanceOf, run
-
Methods inherited from class com.singularsys.jep.functions.PostfixMathCommand
asArray, asBool, asDouble, asInt, asLong, asStrictInt, asString, checkNumberOfParameters, getName, getNumberOfParameters, setCurNumberOfParameters, setName, toString, toString
-
-
-
-
Method Detail
-
eval
public java.lang.Object eval(java.lang.Object l, java.lang.Object r) throws EvaluationException
- Specified by:
eval
in classBinaryFunction
- Throws:
EvaluationException
-
binom
public static int binom(int n, int i) throws java.lang.ArrayIndexOutOfBoundsException
Returns the binomial coefficients. nCi.- Parameters:
n
- ni
- i- Returns:
- the binomial coefficient
- Throws:
java.lang.ArrayIndexOutOfBoundsException
- if n<0, i<0 or i>n
-
-