Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/lib/libc/tests/stdbit/stdc_first_leading_one_test.c
96309 views
1
/*
2
* Copyright (c) 2025 Robert Clausecker <[email protected]>
3
*
4
* SPDX-License-Identifier: BSD-2-Clause
5
*/
6
7
#define FUNCSTEM stdc_first_leading_one
8
#define MKREFFUNC(name, type) \
9
static unsigned \
10
name(type value) \
11
{ \
12
type bit = 1; \
13
unsigned pos = 1; \
14
\
15
if (value == 0) \
16
return (0); \
17
\
18
while ((type)(bit << 1) != 0) \
19
bit <<= 1; \
20
\
21
while ((bit & value) == 0) { \
22
bit >>= 1; \
23
pos++; \
24
} \
25
\
26
return (pos); \
27
}
28
29
#include "stdbit-test-framework.c"
30
31