1 /* SPDX-License-Identifier: GPL-2.0-or-later 2 * Copyright (c) 2017 Cyril Hrubis <chrubis@suse.cz> 3 */ 4 5 #ifndef TST_MINMAX_H__ 6 #define TST_MINMAX_H__ 7 8 #ifndef MIN 9 # define MIN(a, b) ({ \ 10 typeof(a) _a = (a); \ 11 typeof(b) _b = (b); \ 12 (void) (&_a == &_b); \ 13 _a < _b ? _a : _b; \ 14 }) 15 #endif /* MIN */ 16 17 #ifndef MAX 18 # define MAX(a, b) ({ \ 19 typeof(a) _a = (a); \ 20 typeof(b) _b = (b); \ 21 (void) (&_a == &_b); \ 22 _a > _b ? _a : _b; \ 23 }) 24 #endif /* MAX */ 25 26 #endif /* TST_MINMAX_H__ */ 27