Redzen 14.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Redzen --version 14.0.0
NuGet\Install-Package Redzen -Version 14.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Redzen" Version="14.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Redzen --version 14.0.0
#r "nuget: Redzen, 14.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Redzen as a Cake Addin
#addin nuget:?package=Redzen&version=14.0.0

// Install Redzen as a Cake Tool
#tool nuget:?package=Redzen&version=14.0.0

Redzen

A general purpose C# code library.

Available in nuget form at nuget.org/packages/Redzen/

Much of the code in Redzen began life in SharpNEAT and other projects, and has found a new home in the Redzen library to allow for reuse of general purpose code.

This project endeavours to provide code that is high quality, well tested, clean, performant, efficient. The name alludes to an attempt to apply Zen philosophy to the creation of software.

Redzen top level namespaces

  • Collections
  • IO
  • Linq
  • Numerics
  • Random
  • Sorting
  • Structures

Redzen project map

  • Collections

    • IntStack
      • A stack of int32 values. A simpler alternative to Stack<int> that provides additional Poke() and TryPoke() methods. Optimised for stacks of Int32.
    • LightweightList
      • A simpler alternative to List<T> that provides an AsSpan() method for efficient access to the internal array element.
    • LightweightStack
      • A simpler alternative to Stack<T> that provides additional Poke() and TryPoke() methods.
  • IO

    • Base64EncodingOutputStream
      • Base64 stream encoder.
    • FileByteArray
      • Presents a 'byte array' backed by a file on disk.
    • MemoryBlockStream
      • A memory backed stream that stores byte data in blocks, this gives improved performance over System.IO.MemoryStream in some circumstances.
    • NonClosingStreamWrapper
      • Wraps a stream and prevents calls to Close() and Dispose() from being made on it.
    • StreamHelper
      • General purpose helper methods for working with streams.
  • Linq

    • EnumerableUtils
      • Utility methods related to LINQ and IEnumerable.
  • Numerics

    • Distributions
      • Double
        • BoxMullerGaussian
          • Static methods for taking samples from Gaussian distributions using the Box-Muller transform.
        • BoxMullerGaussianSampler
          • A Gaussian distribution sampler based on the Box-Muller transform.
        • BoxMullerGaussianStatelessSampler
          • A stateless Gaussian distribution sampler based on the Box-Muller transform.
        • UniformDistribution
          • Static methods for taking samples from uniform distributions.
        • UniformDistributionSampler
          • A uniform distribution sampler.
        • UniformDistributionStatelessSampler
          • A stateless uniform distribution sampler.
        • ZigguratGaussian
          • Static methods for taking samples from Gaussian distributions using the Ziggurat algorithm.
        • ZigguratGaussianSampler
          • A Gaussian distribution sampler based on the Ziggurat algorithm.
        • ZigguratGaussianStatelessSampler
          • A stateless Gaussian distribution sampler based on the Ziggurat algorithm.
      • Float
        • BoxMullerGaussian
          • Static methods for taking samples from Gaussian distributions using the Box-Muller transform.
        • BoxMullerGaussianSampler
          • A Gaussian distribution sampler based on the Box-Muller transform.
        • BoxMullerGaussianStatelessSampler
          • A stateless Gaussian distribution sampler based on the Box-Muller transform.
        • UniformDistribution
          • Static methods for taking samples from uniform distributions.
        • UniformDistributionSampler
          • A uniform distribution sampler.
        • UniformDistributionStatelessSampler
          • A stateless uniform distribution sampler.
        • ZigguratGaussian
          • Static methods for taking samples from Gaussian distributions using the Ziggurat algorithm.
        • ZigguratGaussianSampler
          • A Gaussian distribution sampler based on the Ziggurat algorithm.
        • ZigguratGaussianStatelessSampler
          • A stateless Gaussian distribution sampler based on the Ziggurat algorithm.
  • Random

    • DefaultRandomSeedSource
      • A default source of seed values for use by pseudo-random number generators (PRNGs).
    • RandomDefaults
      • Provides a means of creating default implementations of IRandomSource, and also a standard way of generating seed values for PRNGs generally.
    • Splitmix64Rng
      • Splitmix64 Pseudo Random Number Generator (PRNG).
    • WyRandom
    • XorShiftRandom
      • xor-shift pseudo random number generator (PRNG) devised by George Marsaglia.
    • Xoshiro256PlusPlusRandom
      • xoshiro256+ (xor, shift, rotate) pseudo-random number generator (PRNG).
    • Xoshiro256PlusRandom
      • xoshiro256++ (xor, shift, rotate) pseudo-random number generator (PRNG).
    • Xoshiro256StarStarRandom
      • xoshiro256** (xor, shift, rotate) pseudo-random number generator (PRNG).
    • Xoshiro512StarStarRandom
      • xoshiro512** (xor, shift, rotate) pseudo-random number generator (PRNG).
  • Sorting

    • IntroSort<K, V, W>
      • For sorting an array of key values, and two additional arrays based on the array of keys.
    • SortUtils
      • Helper methods related to sorting.
    • TimSort<T>
      • A timsort implementation.
    • TimSort<K,V>
      • A timsort implementation. This version accepts a secondary values array, the elements of which are repositioned in-line with their associated key values.
    • TimSort<K,V,W>
      • A timsort implementation. This version accepts two secondary values arrays, the elements of which are repositioned in-line with their associated key values.
  • Structures

    • Compact
      • CompactIntegerList
        • A compact list of sequential integer values.
      • FixedPointDecimal
        • A fixed point decimal data type that uses Int32 for its underlying state, i.e. 4 bytes versus the native decimal's 16 bytes.
    • BoolArray
      • A leaner faster alternative to System.Collections.BitArray.
    • CircularBuffer<T>
      • A generic circular buffer of items of type T.
    • CircularBufferWithStats
      • A circular buffer of double precision floating point values, that maintains a sum of the contained values, and therefore also the arithmetic mean.
    • Int32Sequence
      • Conveniently encapsulates a single Int32, which is incremented to produce new IDs.
    • KeyedCircularBuffer<K,V>
      • A generic circular buffer of KeyValuePairs. The values are retrievable by their key.
  • MathSpanUtils

    • Math utility methods for working with spans.
  • MathUtils

    • Math utility methods.
  • PrimeUtils

    • Utility methods related to prime numbers.
  • SearchUtils

    • Helper methods related to binary search.
  • SpanUtils

    • Span static utility methods.
  • VariableUtils

    • General purpose helper methods.
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Redzen:

Package Downloads
SharpNeatLib

SharpNEAT - Evolution of Neural Networks.

SharpNeat

SharpNEAT - Evolution of Neural Networks.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on Redzen:

Repository Stars
colgreen/sharpneat
SharpNEAT - Evolution of Neural Networks. A C# .NET Framework.
Version Downloads Last updated
15.0.0 1,290 7/22/2023
14.0.0 1,447 1/1/2023
13.0.0 1,233 1/9/2022
12.0.0 8,272 3/14/2021
11.0.0 3,551 8/2/2020
10.0.0 1,186 6/28/2020
9.1.3 1,077 12/30/2021
9.1.2 1,243 11/8/2020
9.1.1 7,113 7/5/2020
9.1.0 1,061 6/14/2020
9.0.0 2,480 4/24/2019
8.0.0 2,042 1/22/2019
7.2.3 2,196 6/23/2018
7.2.2 1,533 6/13/2018
7.2.1 1,781 5/20/2018
7.2.0 1,528 5/19/2018
7.1.0 1,498 5/18/2018
7.0.1 1,769 5/11/2018
7.0.0 1,731 5/10/2018
6.0.0 1,689 5/8/2018
5.0.0 1,545 4/23/2018
4.0.0 2,270 1/27/2018
3.0.2 7,049 4/23/2017
3.0.1 1,506 3/29/2017
3.0.0 1,517 3/29/2017
2.0.0 1,623 3/11/2017
1.0.5 2,810 3/9/2016
1.0.4 1,807 2/14/2016
1.0.3 1,820 2/6/2016
1.0.2 1,816 2/6/2016
1.0.1 1,791 2/5/2016
1.0.0.1 1,817 11/7/2015

Breaking Changes

       - IntroSort API changed from IntroSort{K,V,W}.Sort(...) to IntroSort.Sort{K,V,W}(...).
       - Refactor of the Timsort public API. It now presents a single set of set of Timsort.Sort() methods with generic type parameters on the method. Previously the type params were on the three different Timsort generic classes, which made for a poor public API.
       - Refactor of HistogramData.

       New
       - Added AsSpan() method to IntStack and LightweightStack{T}.
- Added RentedArray.

       Improvements
       - XML documentation corrections and improvements.
       - Performance: Defined SkipLocalsInit attribute on the Redzen assembly. The previous attempt to do this was incorrect and didn't actually cause local field initialization to be skipped.