Namespace Gamelogic.Extensions.Algorithms
Classes
- BufferExtensions
Provides extension methods for buffers.
- Capacity2Buffer<T>
Represents a buffer with a fixed capacity of two items.
- CollectionExtensions
Provides useful extension methods for collections, mostly IEnumerable<T>.
- Combinatorial
Provides combinatorial algorithms for generating tuples, combinations, permutations, and partitions.
- ComparerExtensions
Provides extension methods for IComparer<T>.
- Differentiator
Represents a differentiator that calculates the difference between two consecutive float values.
- DitherResponse
Dithers responses by adding noise before passing it to a step response. The noise is provided by an arbitrary generator, and errors are diffused over several calls.
- Generator
Contains static methods for creating generators, and extension methods to create generators from existing ones.
- Generator.AbstractGenerator<TResult>
This class provides a convenient base class to base an implementation of IGenerator on.
- IndexPriorityQueue<TElement, TPriority>
Represents a generic index-based priority queue where elements are ordered based on their priority determined by an IComparer<T>.
- Integrator
Represents an integrator that calculates the sum of float values over a specified window.
- LSystem<TSymbol>
A lightweight implementation of an L-system.
- PidController
Represents a Proportional-Integral-Derivative (PID) controller that calculates control values based on the difference between a desired set point and a measured process variable.
- RandomAccessPriorityQueue<TElement, TPriority>
Represents a generic index-based priority queue where elements are ordered based on their priority determined by an IComparer<T>.
- RandomAccessQueue<T>
Represents a queue that allows random access to its elements.
- ResponseCurve
Contains extension methods for Response curves.
- ResponseCurveBase<T>
A class that can be used as the base of the implementation of a response curve.
- ResponseCurveColor
A response curve with outputs of Color.
- ResponseCurveFloat
A response curve with outputs of float.
- ResponseCurveFloatSequence
A response curve where the outputs are sequences of floats.
- ResponseCurveInt
A response curve with outputs of int.
- ResponseCurveVector2
A response curve with outputs of Vector2.
- ResponseCurveVector3
A response curve with outputs of Vector3.
- ResponseCurveVector4
A response curve with outputs of Vector4.
- RingBuffer<T>
Represents buffer with a fixed capacity.
- StepResponse
Provides a factory method for creating step response curves.
- StepResponse<T>
A response curve that maps inputs to discrete output values using a step (non-interpolating) approach.
Interfaces
- IBuffer<T>
Represents a generic buffer interface.
- IGenerator
A generator can produce an infinite sequence of objects.
- IGenerator<TResult>
All generic generators implement this interface.
- IReadOnlyBuffer<T>
Represents a generic buffer interface that only supports reading capabilities.
- IResizeableBuffer<T>
A buffer that can change its capacity.
- IResponseCurve<T>
This interface represents a piecewise linear curve, with input-output pairs at the bends.
Enums
- StepResponse.StepType
Indicates on which side of the sample boundary the step value is taken.