Table of Contents

Namespace Gamelogic.Extensions.Algorithms

Classes

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.

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.

LSystem<TSymbol>

A lightweight implementation of an L-system.

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.

StepResponse

A response curve with a step response.

StepResponse<T>

A response curve with a step response.

Interfaces

IGenerator

A generator can produce an infinite sequence of objects.

IGenerator<TResult>

All generic generators implement this interface.

IResponseCurve<T>

This interface represents a piecewise linear curve, with input-output pairs at the bends. Outputs can be any type for which continuous interpolation makes sense.

Enums

StepResponse.StepType

Used to indicate whether steps are to the left, middle or right of samples.