Randomizer fix
This commit is contained in:
parent
d6bf54d3ab
commit
cf0d403716
@ -335,6 +335,8 @@ static void __init do_swap(spslr_u32 target, spslr_u32 origin_idx,
|
|||||||
*get_rfield(target, origin_idx) = tmp;
|
*get_rfield(target, origin_idx) = tmp;
|
||||||
get_rfield(target, origin_idx)->offset = origin_region_ptr;
|
get_rfield(target, origin_idx)->offset = origin_region_ptr;
|
||||||
origin_region_ptr += get_ofield(target, get_rfield(target, origin_idx)->oidx)->size;
|
origin_region_ptr += get_ofield(target, get_rfield(target, origin_idx)->oidx)->size;
|
||||||
|
|
||||||
|
it--; // Must still look at the element now at it
|
||||||
} else {
|
} else {
|
||||||
for (spslr_u32 pull_it = it; pull_it > origin_idx + (spslr_u32)pulled; pull_it--)
|
for (spslr_u32 pull_it = it; pull_it > origin_idx + (spslr_u32)pulled; pull_it--)
|
||||||
*get_rfield(target, pull_it) = *get_rfield(target, pull_it - 1);
|
*get_rfield(target, pull_it) = *get_rfield(target, pull_it - 1);
|
||||||
|
|||||||
@ -284,7 +284,7 @@ static int check_target(spslr_u32 tidx) {
|
|||||||
int main(void) {
|
int main(void) {
|
||||||
srand((unsigned)time(NULL));
|
srand((unsigned)time(NULL));
|
||||||
|
|
||||||
spslr_u32 rounds = 1000;
|
spslr_u32 rounds = 100;
|
||||||
|
|
||||||
for (spslr_u32 iter = 0; iter < rounds; iter++) {
|
for (spslr_u32 iter = 0; iter < rounds; iter++) {
|
||||||
if (spslr_randomizer_init() < 0) {
|
if (spslr_randomizer_init() < 0) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user