I was able to speed up the BIS_fnc_arrayShuffle function a bit with some modification and also fixed a slight bug with the random number being biased against the first and last element by swapping the "round" with "floor" call. It still uses the modern Fisher-Yates shuffle algorithm to generate a random distribution of the finite array set. It also uses the new push_back function that has recently been added in report ID 0019447.
A more detailed analysis and test cases can be found on my blog post here which include screenshots and refactoring the code here: http://jamiesharpe.info/blog/?p=400 {F24277} {F24278} {F24279} {F24280} {F24281}