A range describes the bounds of a number to generate, which may or may not be dependent on a 'Size'.
A range describes the bounds of a number to generate, which may or may not be dependent on a 'Size'.
Get the origin of a range. This might be the mid-point or the lower bound, depending on what the range represents. The 'bounds' of a range are scaled around this value when using the 'linear' family of combinators. When using a 'Range' to generate numbers, the shrinking function will shrink towards the origin.
Get the extents of a range, for a given size.
Tests are parameterized by the size of the randomly-generated data, the meaning of which depends on the particular generator used.
This is _purely_ to make consuming this library a nicer experience, mainly due to Scala's type inference problems and higher kinds.
We have our own FP predef for 2 reasons.
We have our own FP predef for 2 reasons.
1. The obvious political reasons. I don't think there are any really good reasons to need more than one implementation of this library (if we do our job correctly).
Probably more importantly:
2. Library dependencies _do_ have a cost. Especially in the JVM world where we insist of relying on binary compatibility.