13186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn/*
23186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn * Copyright (C) 2015 The Android Open Source Project
33186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn *
43186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn * Licensed under the Apache License, Version 2.0 (the "License");
53186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn * you may not use this file except in compliance with the License.
63186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn * You may obtain a copy of the License at
73186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn *
83186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn *      http://www.apache.org/licenses/LICENSE-2.0
93186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn *
103186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn * Unless required by applicable law or agreed to in writing, software
113186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn * distributed under the License is distributed on an "AS IS" BASIS,
123186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
133186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn * See the License for the specific language governing permissions and
143186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn * limitations under the License.
153186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn */
163186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn
17dbc8c16841483f665feeb9df362551b8e9e65263Tim Kilbourn#ifndef ANDROID_BIT_UTILS_H_
18dbc8c16841483f665feeb9df362551b8e9e65263Tim Kilbourn#define ANDROID_BIT_UTILS_H_
19dbc8c16841483f665feeb9df362551b8e9e65263Tim Kilbourn
20dbc8c16841483f665feeb9df362551b8e9e65263Tim Kilbourn#include <cstdint>
213186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn
223186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbournnamespace android {
233186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn
243186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn/** Test whether any bits in the interval [start, end) are set in the array. */
253186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbournbool testBitInRange(const uint8_t arr[], size_t start, size_t end);
263186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn
273186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn}  // namespace android
283186e7bf4805b317769470137ffcf1f7eb0215e0Tim Kilbourn
29dbc8c16841483f665feeb9df362551b8e9e65263Tim Kilbourn#endif  // ANDROID_BIT_UTILS_H_
30