1*2fb8cbc6SRobert Clausecker /* 2*2fb8cbc6SRobert Clausecker * Copyright (c) 2025 Robert Clausecker <fuz@FreeBSD.org> 3*2fb8cbc6SRobert Clausecker * 4*2fb8cbc6SRobert Clausecker * SPDX-License-Identifier: BSD-2-Clause 5*2fb8cbc6SRobert Clausecker */ 6*2fb8cbc6SRobert Clausecker 7*2fb8cbc6SRobert Clausecker #define FUNCSTEM stdc_bit_ceil 8*2fb8cbc6SRobert Clausecker #define MKREFFUNC(name, type) \ 9*2fb8cbc6SRobert Clausecker static type \ 10*2fb8cbc6SRobert Clausecker name(type value) \ 11*2fb8cbc6SRobert Clausecker { \ 12*2fb8cbc6SRobert Clausecker type ceil = 1; \ 13*2fb8cbc6SRobert Clausecker \ 14*2fb8cbc6SRobert Clausecker while (ceil < value && ceil != 0) \ 15*2fb8cbc6SRobert Clausecker ceil <<= 1; \ 16*2fb8cbc6SRobert Clausecker \ 17*2fb8cbc6SRobert Clausecker return (ceil); \ 18*2fb8cbc6SRobert Clausecker } 19*2fb8cbc6SRobert Clausecker 20*2fb8cbc6SRobert Clausecker #include "stdbit-test-framework.c" 21