# Hierarchy For All Packages

Package Hierarchies:

- org.uncommons.maths,
- org.uncommons.maths.binary,
- org.uncommons.maths.combinatorics,
- org.uncommons.maths.number,
- org.uncommons.maths.random,
- org.uncommons.maths.statistics

## Class Hierarchy

- java.lang.Object
  - org.uncommons.maths.number.AdjustableNumberGenerator<T> (implements org.uncommons.maths.number.NumberGenerator<T>)
  - org.uncommons.maths.binary.BinaryUtils
  - org.uncommons.maths.random.BinomialGenerator (implements org.uncommons.maths.number.NumberGenerator<T>)
  - org.uncommons.maths.binary.BitString (implements java.lang.Cloneable, java.io.Serializable)
  - org.uncommons.maths.combinatorics.CombinationGenerator<T> (implements java.lang.Iterable<T>)
  - org.uncommons.maths.number.ConstantGenerator<T> (implements org.uncommons.maths.number.NumberGenerator<T>)
  - org.uncommons.maths.random.ContinuousUniformGenerator (implements org.uncommons.maths.number.NumberGenerator<T>)
  - org.uncommons.maths.statistics.DataSet
  - org.uncommons.maths.random.DefaultSeedGenerator (implements org.uncommons.maths.random.SeedGenerator)
  - org.uncommons.maths.random.DevRandomSeedGenerator (implements org.uncommons.maths.random.SeedGenerator)
  - org.uncommons.maths.random.DiehardInputGenerator
  - org.uncommons.maths.random.DiscreteUniformGenerator (implements org.uncommons.maths.number.NumberGenerator<T>)
  - org.uncommons.maths.random.ExponentialGenerator (implements org.uncommons.maths.number.NumberGenerator<T>)
  - org.uncommons.maths.random.GaussianGenerator (implements org.uncommons.maths.number.NumberGenerator<T>)
  - org.uncommons.maths.Maths
  - java.lang.Number (implements java.io.Serializable)
    - org.uncommons.maths.random.Probability (implements java.lang.Comparable<T>)
    - org.uncommons.maths.number.Rational (implements java.lang.Comparable<T>)
  - org.uncommons.maths.combinatorics.PermutationGenerator<T> (implements java.lang.Iterable<T>)
  - org.uncommons.maths.random.PoissonGenerator (implements org.uncommons.maths.number.NumberGenerator<T>)
  - java.util.Random (implements java.util.random.RandomGenerator, java.io.Serializable)
    - org.uncommons.maths.random.AESCounterRNG (implements org.uncommons.maths.random.RepeatableRNG)
    - org.uncommons.maths.random.CellularAutomatonRNG (implements org.uncommons.maths.random.RepeatableRNG)
    - org.uncommons.maths.random.CMWC4096RNG (implements org.uncommons.maths.random.RepeatableRNG)
    - org.uncommons.maths.random.JavaRNG (implements org.uncommons.maths.random.RepeatableRNG)
    - org.uncommons.maths.random.MersenneTwisterRNG (implements org.uncommons.maths.random.RepeatableRNG)
    - org.uncommons.maths.random.XORShiftRNG (implements org.uncommons.maths.random.RepeatableRNG)
  - org.uncommons.maths.random.RandomDotOrgSeedGenerator (implements org.uncommons.maths.random.SeedGenerator)
  - org.uncommons.maths.random.SecureRandomSeedGenerator (implements org.uncommons.maths.random.SeedGenerator)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - org.uncommons.maths.statistics.EmptyDataSetException
      - org.uncommons.maths.random.SeedException

## Interface Hierarchy

- org.uncommons.maths.number.NumberGenerator<T>
- org.uncommons.maths.random.RepeatableRNG
- org.uncommons.maths.random.SeedGenerator