Add possibility of using an array of precalculated pseudo random numbers to reduce processor load.

This commit is contained in:
Mike Brady
2017-01-30 18:34:09 +00:00
parent 5f61e30510
commit 0764199545
4 changed files with 12 additions and 0 deletions
+2
View File
@@ -757,6 +757,8 @@ uint64_t ranarrayval() {
ranarraynext = (ranarraynext++)%ranarraylength;
}
void r64arrayinit() { ranarrayinit(); }
uint64_t ranarray64u() { return (ranarrayval()); }
int64_t ranarray64i() { return (ranarrayval(&rx) >> 1); }
+4
View File
@@ -152,6 +152,10 @@ void r64init(uint64_t seed);
uint64_t r64u();
int64_t r64i();
void r64arrayinit();
uint64_t ranarray64u();
int64_t ranarray64i();
int debuglev;
void die(char *format, ...);
void warn(char *format, ...);
+2
View File
@@ -677,6 +677,8 @@ static inline void process_sample(int32_t sample, char **outp, enum sps_format_t
}
dither_mask -= 1;
int64_t r = r64i();
// int64_t r = ranarray64i();
int64_t tpdf = (r & dither_mask) - (previous_random_number & dither_mask);
previous_random_number = r;
// add dither, allowing for clipping
+4
View File
@@ -858,6 +858,10 @@ int main(int argc, char **argv) {
// initialise random number generator
r64init(0);
// initialise the randomw number array
r64arrayinit();
/* Check if we are called with -V or --version parameter */
if (argc >= 2 && ((strcmp(argv[1], "-V") == 0) || (strcmp(argv[1], "--version") == 0))) {