Skip to content

Releases: ZorPastaman/Random-Generators

Overtested Release

07 Aug 16:03
Compare
Choose a tag to compare

Added

  • Distribution Tests

Extreme Release

06 Jul 12:58
Compare
Choose a tag to compare

Added

  • Extreme Value distribution.
  • Inclusive float and double generation methods to XorShift engines.
  • LCG32 and LCG64 random engines and their distribution wrappers.
  • Xoroshiro128+ random engine ana its distribution wrapper.

Removed

  • Long, Ulong and Double generation methods from XorShift32 random engine.

Fallback editor fix

23 Jul 06:32
Compare
Choose a tag to compare

Fixed

  • DiscreteGeneratorProviderEditor is not Fallback now. It caused issues with some Custom Editors.

Restructure & new distributions

01 Apr 07:08
Compare
Choose a tag to compare

Added

  • XorShift128 random engine and wrappers for it.
  • Geometric distribution.
  • Distributions with setup data (Gamma, Binomial, Geometric, Negative Binomial, Poisson, Weighted)
    got special methods and Setup structs that help to compute setup data once and reuse it.
  • UnityGeneratorStruct. It's the same thing as UnityGeneratorClass but it's a struct.
    It's used in distributions to mimic IContinuousGenerator.
  • FuncGeneratorClass and FuncGeneratorStruct. They are wrappers over Func. They are used
    to mimic IContinuousGenerator. The latter is used in distributions.
  • AddModificator for continuous and discrete generators.
  • MultiplyModificator for continuous generators.
  • Weibull distribution.

Changed

  • Unity 2019.4 is now required.
  • XorShift algorithms can now jump forward.
  • Generators and filters are not serializable anymore.
  • UnityGenerator is renamed to UnityGeneratorClass.
  • All distributions now use the same method for UnityEngine.Random, Func and IContinuousGenerator
    as iid sources.
  • Exponential, Gamma, Bernoulli, Binomial, Geometric, Negative Binomial distributions now require
    iid sources in range [0, 1). All other distributions can work with iid sources in range [0, 1].

Removed

  • UnityGeneratorSimple.
  • All non-standard methods were removed from distributions. Those were methods that modified the result -
    use AddModificator or MultiplyModificator to get such a functionality. It affected Bates, Exponential,
    Gamma, Irwin-Hall, Binomial, Geometric, Negative Binomial and Poisson distributions.
  • Simple generators of mentioned above distributions were removed. Now non-simple generators do the same.

XorShift32(64)

01 Nov 10:21
Compare
Choose a tag to compare

Added

  • Exponential distribution.
  • XorShift32 random engine and wrappers for it.
  • XorShift64 random engine and wrappers for it.

Changed

  • Distributions now use normal epsilon because
    some CPUs don't support standard C# denormal epsilon.

Fixed

  • Binomial distribution became more correct.

Optimization, fixes & new distributions

07 Oct 19:51
Compare
Choose a tag to compare

Added

  • DropSharedGenerator() and DropSharedFilter() methods. They allow to drop a current generator/filter and create a new one on a next call of sharedGenerator/sharedFilter property.
  • Editable Weighted generator providers.
  • Gamma distribution.
  • Negative Binomial distribution.
  • Weighted distribution editor.

Changed

  • Marsaglia distribution is renamed to Normal distribution.
  • Binomial distribution is rewritten and became much faster.
  • Poisson distribution is rewritten to avoid infinite loops.
  • Inlining of some methods is changed for performance reasons and more compact assemblies.

Removed

  • Box-Muller distribution. If you use it, start to use Normal distribution.

Fixed

  • NormalGenerator didn't use its parameters.

Long paths fix

23 Sep 18:48
Compare
Choose a tag to compare

Changed

  • Project structure is changed to shorten paths to avoid long paths.
  • AcceptanceRejection... names are renamed to Rejection... names.
  • Namespace Zor.RandomGenerators.ContinuousDistributions.IndependentDistributions is shortened to Zor.RandomGenerators.ContinuousDistributions.
  • Namespace Zor.RandomGenerators.ContinuousDistributions.NormalDistributions is shortened to Zor.RandomGenerators.ContinuousDistributions.
  • Namespace Zor.RandomGenerators.ContinuousDistributions.UniformDistributions is shortened to namespace Zor.RandomGenerators.ContinuousDistributions.

First Release

19 Sep 07:58
Compare
Choose a tag to compare

Added

Distributions

  • Random generators infrastructure.
  • Random generator providers infrastructure.
  • Acceptance-Rejection distribution.
  • Bates distribution.
  • Bernoulli distribution.
  • Binomial distribution.
  • Box-Muller distribution.
  • Irwin-Hall distribution.
  • Marsaglia distribution.
  • Sharp random generator wrapper.
  • Poisson distribution.
  • Unity random generator wrapper.
  • Weighted distribution.

Modificators

  • Modificators infrastructure.
  • Clamp modificator.
  • Round modificator.

Filters

  • Filters infrastructure.
  • Ascendant Sequence filter.
  • Close filter.
  • Descendant Sequence filter.
  • Greater filter.
  • Frequent Value filter.
  • In Range filter.
  • Less filter.
  • Little Difference filter.
  • Not In Range filter.
  • Opposite Pattern filter.
  • Pair filter.
  • Repeating Pattern filter.
  • Same Pattern filter.
  • Same Sequence filter.

Assets

  • Default Bates generator provider.
  • Default Bool Uniform generator provider.
  • Default Float Uniform generator provider.
  • Default Int Uniform generator provider.
  • Default Marsaglia generator provider.