-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Description
This RFC proposes to generalize the generation of random arrays in C benchmarks for sorted-input packages. It mainly tries to add a random factor for the generated values and make use of the already existing rand_double() function and time.h header for consistency between packages.
For example, for double precision packages, to be changed from: (e.g., from stats/base/strided/dminsorted)
x = (double *) malloc( len * sizeof( double ) );
for ( i = 0; i < len; i++ ) {
x[ i ] = i;
}To:
x = (double *) malloc( len * sizeof( double ) );
for ( i = 0; i < len; i++ ) {
x[ i ] = (double)i + rand_double();
}Packages that are directly affected by this (add more if found):
-
stats/strided/dmediansorted -
stats/strided/dmaxsorted -
stats/strided/dminsorted -
stats/strided/smediansorted -
stats/strided/smaxsorted -
stats/strided/sminsorted
Related Issues
None.
Questions
Question 1
I suggest that we either enforce this or refactor the already existing packages that don't use any randomness by removing the time.h header and rand_double() function since they're not used anywhere in the benchmark.
Question 2
What about the absolute sorted-input packages? Current approach is: (from stats/base/strided/dmaxabssorted)
x = (double *) malloc( len * sizeof( double ) );
for ( i = 0; i < len; i++ ) {
x[ i ] = i - (len/2);
}Other
No.
Checklist
- I have read and understood the Code of Conduct.
- Searched for existing issues and pull requests.
- The issue name begins with
RFC:.