xref: /llvm-project/libc/src/stdbit/stdc_bit_width_ull.cpp (revision 5ff3ff33ff930e4ec49da7910612d8a41eb068cb)
1041638c4SNick Desaulniers //===-- Implementation of stdc_bit_width_ull ------------------------------===//
2041638c4SNick Desaulniers //
3041638c4SNick Desaulniers // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4041638c4SNick Desaulniers // See https://llvm.org/LICENSE.txt for license information.
5041638c4SNick Desaulniers // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6041638c4SNick Desaulniers //
7041638c4SNick Desaulniers //===----------------------------------------------------------------------===//
8041638c4SNick Desaulniers 
9041638c4SNick Desaulniers #include "src/stdbit/stdc_bit_width_ull.h"
10041638c4SNick Desaulniers 
11041638c4SNick Desaulniers #include "src/__support/CPP/bit.h"
12041638c4SNick Desaulniers #include "src/__support/common.h"
13*5ff3ff33SPetr Hosek #include "src/__support/macros/config.h"
14041638c4SNick Desaulniers 
15*5ff3ff33SPetr Hosek namespace LIBC_NAMESPACE_DECL {
16041638c4SNick Desaulniers 
17041638c4SNick Desaulniers LLVM_LIBC_FUNCTION(unsigned, stdc_bit_width_ull, (unsigned long long value)) {
18041638c4SNick Desaulniers   return static_cast<unsigned>(cpp::bit_width(value));
19041638c4SNick Desaulniers }
20041638c4SNick Desaulniers 
21*5ff3ff33SPetr Hosek } // namespace LIBC_NAMESPACE_DECL
22