Shuffle preprocessor metaprogram. More...
Defines | |
| #define | VL_SHUFFLE_array VL_SHUFFLE_type* |
| #define | VL_SHUFFLE_prefix ShufflePrefix |
| #define | VL_SHUFFLE_type ShuffleType |
| #define | VL_SHUFFLE_array ShuffleType* |
Functions | |
| void | VL_SHUFFLE_swap (VL_SHUFFLE_array array, vl_uindex indexA, vl_uindex indexB) |
| Swap two array elements. | |
| void | VL_SHUFFLE_shuffle (VL_SHUFFLE_array array, vl_size size, VlRand *rand) |
| Shuffle. | |
Detailed Description
- Todo:
- large array compatibility.
Define Documentation
| #define VL_SHUFFLE_array VL_SHUFFLE_type* |
Data type of the shuffle container
| #define VL_SHUFFLE_array ShuffleType* |
Data type of the shuffle container
| #define VL_SHUFFLE_prefix ShufflePrefix |
Prefix of the shuffle functions
| #define VL_SHUFFLE_type ShuffleType |
Data type of the shuffle elements
Function Documentation
- Parameters:
-
array (in/out) pointer to the array. size size of the array. rand random number generator to use.
The function randomly permutes the array.
- Parameters:
-
array shuffle array. indexA index of the first element to swap. indexB index of the second element to swap.
The function swaps the two elements a and @ b. The function uses a temporary element of type VL_SHUFFLE_type and the copy operator =.