Namespace Gamelogic.Extensions.Algorithms
Classes
- BufferExtensions
Provides extension methods for buffers.
- Capacity2Buffer<T>
Represents a buffer with a fixed capacity of two items.
- CollectionExtensions
This class provides useful extension methods for collections, mostly IEnumerable.
- Combinatorial
Combinatorial algorithms, including generating tuples, combinations, permutations and partitions.
Except for PowerSet, all methods are implemented after Knuth, described in The Art of Computer Programming Volume 4.
- 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 float.
- 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
A response curve with a step response.
- StepResponse<T>
A response curve with a step response.
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
Used to indicate whether steps are to the left, middle or right of samples.