getValue() / $M)][] = $element; } $sorted = []; foreach ($buckets as $bucket) { $sorted[] = $algo::sort($bucket, SortOrder::ASC); } return $order === SortOrder::ASC ? \array_merge(...$sorted) : \array_reverse(\array_merge(...$sorted), false); } }