RandomExtensionsNextHalf(Random, Half, Half, FloatScale) Method

Returns a random Half value that is within a specified range.


Namespace: KGySoft.CoreLibraries
Assembly: KGySoft.CoreLibraries (in KGySoft.CoreLibraries.dll) Version: 7.0.0-rc.1
public static Half NextHalf(
	this Random random,
	Half minValue,
	Half maxValue,
	FloatScale scale = FloatScale.Auto


random  Random
The Random instance to use.
minValue  Half
The lower bound of the random number returned.
maxValue  Half
The upper bound of the random number returned. Must be greater or equal to minValue.
scale  FloatScale  (Optional)
The scale to use to generate the random number. This parameter is optional.
Default value: Auto.

Return Value

A half-precision floating point number that is greater than or equal to minValue and less or equal to maxValue.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Random. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).


In most cases return value is less than maxValue. Return value can be equal to maxValue in very edge cases such as when minValue is equal to maxValue or when integer parts of both limits are beyond the precision of the Half type. With ForceLinear scale the result will be always less than maxValue.

If scale is Auto, then the ForceLinear option is used.

Generating random numbers by this method on the logarithmic scale is about 3 times slower than on the linear scale.


ArgumentNullExceptionrandom is .
ArgumentOutOfRangeExceptionmaxValue is less than minValue
scale is not a valid value of FloatScale.

See Also