12fb8cbc6SRobert Clausecker /* 22fb8cbc6SRobert Clausecker * Copyright (c) 2025 Robert Clausecker <fuz@FreeBSD.org> 32fb8cbc6SRobert Clausecker * 42fb8cbc6SRobert Clausecker * SPDX-License-Identifier: BSD-2-Clause 52fb8cbc6SRobert Clausecker */ 62fb8cbc6SRobert Clausecker 72fb8cbc6SRobert Clausecker #define FUNCSTEM stdc_bit_width 82fb8cbc6SRobert Clausecker #define MKREFFUNC(name, type) \ 92fb8cbc6SRobert Clausecker static unsigned \ 102fb8cbc6SRobert Clausecker name(type value) \ 112fb8cbc6SRobert Clausecker { \ 122fb8cbc6SRobert Clausecker unsigned width = 0; \ 132fb8cbc6SRobert Clausecker \ 142fb8cbc6SRobert Clausecker while (value != 0) { \ 152fb8cbc6SRobert Clausecker value >>= 1; \ 162fb8cbc6SRobert Clausecker width++; \ 172fb8cbc6SRobert Clausecker } \ 182fb8cbc6SRobert Clausecker \ 192fb8cbc6SRobert Clausecker return (width); \ 202fb8cbc6SRobert Clausecker } 212fb8cbc6SRobert Clausecker 222fb8cbc6SRobert Clausecker #include "stdbit-test-framework.c" 23