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>
Uniform.Int64
Uniform.UInt32
Uniform.Decimal
Uniform.Int16
Uniform.UInt16
Uniform.UInt64
Closed.Decimal
Uniform.Int32
Bernoulli
Uniform.TimeSpan
OpenClosed.Decimal
Uniform.SByte
Uniform.Byte
ClosedOpen.Decimal
Open.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.