Randomizer improvement notes
This commit is contained in:
parent
5ad79087a6
commit
8e6b249838
@ -238,6 +238,10 @@ static int __init pick_shuffle_option(spslr_u32 target, spslr_u32 origin_final_i
|
|||||||
const struct spslr_target* t = &spslr_targets[target];
|
const struct spslr_target* t = &spslr_targets[target];
|
||||||
spslr_u32 seen = 0;
|
spslr_u32 seen = 0;
|
||||||
|
|
||||||
|
/*
|
||||||
|
Note: Instead of looping over entire field array for each option, loops can be merged into one.
|
||||||
|
*/
|
||||||
|
|
||||||
for (spslr_u32 offset = 0; offset < t->size; offset += alignment) {
|
for (spslr_u32 offset = 0; offset < t->size; offset += alignment) {
|
||||||
if (!option_is_valid(target, origin_final_idx, origin, offset))
|
if (!option_is_valid(target, origin_final_idx, origin, offset))
|
||||||
continue;
|
continue;
|
||||||
@ -331,6 +335,9 @@ static void __init do_swap(spslr_u32 target, spslr_u32 origin_idx,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Note: final version should not shuffle random fields but try to shuffle each original field idx once
|
||||||
|
*/
|
||||||
static void __init shuffle_one_target(spslr_u32 target) {
|
static void __init shuffle_one_target(spslr_u32 target) {
|
||||||
const struct spslr_target* t = &spslr_targets[target];
|
const struct spslr_target* t = &spslr_targets[target];
|
||||||
if (t->fieldcnt == 0)
|
if (t->fieldcnt == 0)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user