Patent attributes
Pseudo-random numbers (PRNs) generated by a PRN generator are mapped to predefined number ranges or target ranges. The target range may be smaller or larger than the range of the PRN generator. Mapping to a smaller target range may include generating PRNs (e.g., integers) from a particular bit-input stream (e.g., 32-bit) having a uniform distribution across the range of numbers; selecting an optimal subset of the generated PRNs to map; and mapping the selected PRNs to a corresponding number in a target range such that the mapped numbers are uniformly distributed across the target range. Mapping to a larger target range may include generating uniformly distributed PRNs; applying a generation function to the PRNs to generate uniformly distributed packed numbers; and applying a mapping function to map selected packed numbers to the target range such that the mapped numbers are uniformly distributed.