Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/tools/include/asm-generic/bitsperlong.h
26292 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
#ifndef __ASM_GENERIC_BITS_PER_LONG
3
#define __ASM_GENERIC_BITS_PER_LONG
4
5
#include <uapi/asm-generic/bitsperlong.h>
6
7
#ifdef __SIZEOF_LONG__
8
#define BITS_PER_LONG (__CHAR_BIT__ * __SIZEOF_LONG__)
9
#else
10
#define BITS_PER_LONG __WORDSIZE
11
#endif
12
13
#if BITS_PER_LONG != __BITS_PER_LONG
14
#error Inconsistent word size. Check asm/bitsperlong.h
15
#endif
16
17
#ifndef BITS_PER_LONG_LONG
18
#define BITS_PER_LONG_LONG 64
19
#endif
20
21
#define small_const_nbits(nbits) \
22
(__builtin_constant_p(nbits) && (nbits) <= BITS_PER_LONG && (nbits) > 0)
23
24
#endif /* __ASM_GENERIC_BITS_PER_LONG */
25
26