|
XenevaOS
|
#include <linux/compiler_attributes.h>#include <linux/math.h>#include <linux/typecheck.h>#include <linux/stddef.h>

Go to the source code of this file.
Macros | |
| #define | for_each_if(condition) if (!(condition)) {} else |
| #define | find_closest(x, a, as) |
| #define | find_closest_descending(x, a, as) |
| #define find_closest | ( | x, | |
| a, | |||
| as | |||
| ) |
find_closest - locate the closest element in a sorted array @x: The reference value. : The array in which to look for the closest element. Must be sorted in ascending order. @as: Size of 'a'.
Returns the index of the element closest to 'x'. Note: If using an array of negative numbers (or mixed positive numbers), then be sure that 'x' is of a signed-type to get good results.
| #define find_closest_descending | ( | x, | |
| a, | |||
| as | |||
| ) |
find_closest_descending - locate the closest element in a sorted array @x: The reference value. : The array in which to look for the closest element. Must be sorted in descending order. @as: Size of 'a'.
Similar to find_closest() but 'a' is expected to be sorted in descending order. The iteration is done in reverse order, so that the comparison of '__fc_right' & '__fc_left' also works for unsigned numbers.
| #define for_each_if | ( | condition | ) | if (!(condition)) {} else |
for_each_if - helper for handling conditionals in various for_each macros @condition: The condition to check
Typical use::
define for_each_foo_bar(x, y) \' list_for_each_entry(x, y->list, head) \' for_each_if(x->something == SOMETHING)
The for_each_if() macro makes the use of for_each_foo_bar() less error prone.