Path: blob/main/lib/libc/stdbit/stdc_count_zeros.c
96290 views
/*1* Copyright (c) 2025 Robert Clausecker <[email protected]>2*3* SPDX-License-Identifier: BSD-2-Clause4*/56#include <limits.h>7#include <stdbit.h>89unsigned int10stdc_count_zeros_uc(unsigned char x)11{12return (__builtin_popcount(x ^ UCHAR_MAX));13}1415unsigned int16stdc_count_zeros_us(unsigned short x)17{18return (__builtin_popcount(x ^ USHRT_MAX));19}2021unsigned int22stdc_count_zeros_ui(unsigned int x)23{24return (__builtin_popcount(~x));25}2627unsigned int28stdc_count_zeros_ul(unsigned long x)29{30return (__builtin_popcountl(~x));31}3233unsigned int34stdc_count_zeros_ull(unsigned long long x)35{36return (__builtin_popcountll(~x));37}383940