
public class Combinatorics extends Object
| Modifier and Type | Field and Description | 
|---|---|
| protected static double[] | gammaLnCoefficientsA lookup table of coefficients in support of  gammaLn(double). | 
| Modifier and Type | Method and Description | 
|---|---|
| static double | gamma(double x)The gamma function. | 
| static double | gammaLn(double x)The log-gamma function. | 
| protected static void | orderedPartition(DynamicObjectArray<int[]> acc,
                int[] sizes,
                int nSizes,
                int nRemaining)A helper method in support of  orderedPartition(int, int, int). | 
| static int[][] | orderedPartition(int n)A facade for  orderedPartition(int, int, int). | 
| static int[][] | orderedPartition(int n,
                int nPartsLower,
                int nPartsUpper)Calculates all ordered partitions of an  nelement set into at leastnPartsLowerparts and at most
 (exclusive)nPartsUpperparts. | 
| protected static void | partition(DynamicObjectArray<int[]> acc,
         int[] sizes,
         int nSizes,
         int currentSize,
         int nRemaining)A helper method in support of  partition(int, int, int). | 
| static int[][] | partition(int n)A facade for  partition(int, int, int). | 
| static int[][] | partition(int n,
         int nPartsLower,
         int nPartsUpper)Calculates all partitions of an  nelement set into at leastnPartsLowerparts and at most
 (exclusive)nPartsUpperparts. | 
protected static final double[] gammaLnCoefficients
gammaLn(double).public static final int[][] partition(int n)
partition(int, int, int).n - the number of elements.public static final int[][] partition(int n,
                int nPartsLower,
                int nPartsUpper)
n element set into at least nPartsLower parts and at most
 (exclusive) nPartsUpper parts.n - the number of elements.nPartsLower - the lower bound on the number of parts.nPartsUpper - the upper bound (exclusive) on the number of parts.protected static final void partition(DynamicObjectArray<int[]> acc, int[] sizes, int nSizes, int currentSize, int nRemaining)
partition(int, int, int).acc - the partition accumulator.sizes - the partition sizes.nSizes - the number of parts so far.currentSize - the part size so far.nRemaining - the number of remaining elements.public static final int[][] orderedPartition(int n)
orderedPartition(int, int, int).n - the number of elements.public static final int[][] orderedPartition(int n,
                       int nPartsLower,
                       int nPartsUpper)
n element set into at least nPartsLower parts and at most
 (exclusive) nPartsUpper parts.n - the number of elements.nPartsLower - the lower bound on the number of parts.nPartsUpper - the upper bound (exclusive) on the number of parts.protected static final void orderedPartition(DynamicObjectArray<int[]> acc, int[] sizes, int nSizes, int nRemaining)
orderedPartition(int, int, int).acc - the ordered partition accumulator.sizes - the ordered partition sizes.nSizes - the number of parts so far.nRemaining - the number of remaining elements.public static final double gamma(double x)
x - the input value.public static final double gammaLn(double x)
x - the input value.