IPortableDistribution<TResult> Interface
A marker interface used to indicate that an IDistribution<TResult> is portable - i.e. reproducible regardless of the machine architecture or runtime. Produces portable values random of TResult.

IPortableDistribution<TResult>

IDistribution<TResult>

Open.Decimal

Uniform.Decimal

Uniform.UInt32

Bernoulli

Closed.Decimal

Uniform.UInt64

Uniform.TimeSpan

Uniform.Int16

Uniform.SByte

Uniform.Int32

Uniform.UInt16

ClosedOpen.Decimal

Uniform.Byte

Uniform.Int64

OpenClosed.Decimal

Syntax

public interface IPortableDistribution<TResult> : IDistribution<TResult>

Remarks

Implementations are immutable and therefore thread safe. Results are also reproducible within the same assembly version.

Type Parameters

NameDescription
TResultThe type that is produced by this distribution.

Extension Methods

NameValueSummary
Select<TResult, TResult>(Func<TResult, TResult>)IDistribution<TResult>
Transforms a distribution by mapping its values using the selector provided. This method implements the "map" operator from functional programming principles.
SelectMany<TResult, TIntermediate, TResult>(Func<TResult, IDistribution<TIntermediate>>, Func<TResult, TIntermediate, TResult>)IDistribution<TResult>
Transforms a distribution by mapping values using the selector provided to produce a new distribution, which is then sampled from.
SelectMany<TResult, TResult>(Func<TResult, IDistribution<TResult>>)IDistribution<TResult>
Transforms a distribution by mapping values using the selector provided to produce a new distribution, which is then sampled from. This method implements the "bind" operator from functional programming principles.