@@ -68,7 +68,7 @@ get_uniform_rand_array_with_uniquevalues(int64_t arrsize,
6868template <typename T>
6969static std::vector<T>
7070get_array (std::string arrtype,
71- int64_t arrsize,
71+ size_t arrsize,
7272 T min = xss::fp::min<T>(),
7373 T max = xss::fp::max<T>())
7474{
@@ -80,7 +80,7 @@ get_array(std::string arrtype,
8080 }
8181 else if (arrtype == " constant" ) {
8282 T temp = get_uniform_rand_array<T>(1 , max, min)[0 ];
83- for (auto ii = 0 ; ii < arrsize; ++ii) {
83+ for (size_t ii = 0 ; ii < arrsize; ++ii) {
8484 arr.push_back (temp);
8585 }
8686 }
@@ -90,7 +90,20 @@ get_array(std::string arrtype,
9090 std::reverse (arr.begin (), arr.end ());
9191 }
9292 else if (arrtype == " smallrange" ) {
93- arr = get_uniform_rand_array<T>(arrsize, 10 , 1 );
93+ arr = get_uniform_rand_array<T>(arrsize, 20 , 1 );
94+ }
95+ else if (arrtype == " random_5d" ) {
96+ size_t temp = std::max ((size_t ) 1 , (size_t ) (0.5 * arrsize));
97+ std::vector<T> temparr = get_uniform_rand_array<T>(temp);
98+ for (size_t ii = 0 ; ii < arrsize; ++ii) {
99+ if (ii < temp) {
100+ arr.push_back (temparr[ii]);
101+ }
102+ else {
103+ arr.push_back ((T) 0 );
104+ }
105+ }
106+ std::shuffle (arr.begin (), arr.end (), std::default_random_engine (42 ));
94107 }
95108 else if (arrtype == " max_at_the_end" ) {
96109 arr = get_uniform_rand_array<T>(arrsize, max, min);
@@ -126,7 +139,7 @@ get_array(std::string arrtype,
126139 else {
127140 val = std::numeric_limits<T>::max ();
128141 }
129- for (auto ii = 1 ; ii <= arrsize; ++ii) {
142+ for (size_t ii = 1 ; ii <= arrsize; ++ii) {
130143 if (rand () % 0x1 ) {
131144 arr[ii] = val;
132145 }
0 commit comments