Some types of content require some initial setup before random data can be generated. Other types of data benefit from some form of buffering when generating multiple instances of random data. In both of these cases, Generators can be useful, allowing the initial setup to only be performed once for a given set of parameters, and enabling any buffering behavior that needs to be performed.
The preprocessor defines of the form MAKEITRANDOM_OPTIMIZED_FOR_platform are used to force optimizations for the specified platform or architecture. Ordinarily, this should not be necessary, as the proper platform optimizations will be enabled automatically during a build. But if for any particular reason the default behavior needs to be overridden, this set of defines will help.
These optimizations should not affect generated data in any way. All generation should produce exactly the same output, given the same inputs, no matter the platform on which it is run. If this is not the case, then this is an error, and a bug report to firstname.lastname@example.org would be greatly appreciated.
The following preprocessor defines are available:
Sometimes, updates in the Make It Random library will cause functions to generate different data than they used to. This may be due to things like optimizations or bug fixes in the new version, or simply architectural changes that improve the overall quality of the library at the expense of making some determinism-breaking changes.
If your application depends on the determinism of a past version of Make It Random, you may use one of the preprocessor defines of the form MAKEITRANDOM_BACKWARD_COMPATIBLE_version to force data generation to match what it was in the specified version. The following versions are available: