avutil/qsort: use the do while form for AV_QSORT, AV_MSORT
Reviewed-by: Clément Bœsch <u@pkh.me> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
This commit is contained in:
@ -27,7 +27,7 @@
|
|||||||
* to construct input that requires O(n^2) time but this is very unlikely to
|
* to construct input that requires O(n^2) time but this is very unlikely to
|
||||||
* happen with non constructed input.
|
* happen with non constructed input.
|
||||||
*/
|
*/
|
||||||
#define AV_QSORT(p, num, type, cmp) {\
|
#define AV_QSORT(p, num, type, cmp) do {\
|
||||||
void *stack[64][2];\
|
void *stack[64][2];\
|
||||||
int sp= 1;\
|
int sp= 1;\
|
||||||
stack[0][0] = p;\
|
stack[0][0] = p;\
|
||||||
@ -89,7 +89,7 @@
|
|||||||
}\
|
}\
|
||||||
}\
|
}\
|
||||||
}\
|
}\
|
||||||
}
|
} while (0)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Merge sort, this sort requires a temporary buffer and is stable, its worst
|
* Merge sort, this sort requires a temporary buffer and is stable, its worst
|
||||||
@ -97,7 +97,7 @@
|
|||||||
* @param p must be a lvalue pointer, this function may exchange it with tmp
|
* @param p must be a lvalue pointer, this function may exchange it with tmp
|
||||||
* @param tmp must be a lvalue pointer, this function may exchange it with p
|
* @param tmp must be a lvalue pointer, this function may exchange it with p
|
||||||
*/
|
*/
|
||||||
#define AV_MSORT(p, tmp, num, type, cmp) {\
|
#define AV_MSORT(p, tmp, num, type, cmp) do {\
|
||||||
unsigned i, j, step;\
|
unsigned i, j, step;\
|
||||||
for(step=1; step<(num); step+=step){\
|
for(step=1; step<(num); step+=step){\
|
||||||
for(i=0; i<(num); i+=2*step){\
|
for(i=0; i<(num); i+=2*step){\
|
||||||
@ -114,4 +114,4 @@
|
|||||||
}\
|
}\
|
||||||
FFSWAP(type*, p, tmp);\
|
FFSWAP(type*, p, tmp);\
|
||||||
}\
|
}\
|
||||||
}
|
} while (0)
|
||||||
|
Reference in New Issue
Block a user