"

IPortableDistribution<TResult> Interface

Summary

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.

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.