Coverage Report

Created: 2025-11-24 06:55

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/irssi/subprojects/glib-2.74.3/glib/gutilsprivate.h
Line
Count
Source
1
/*
2
 * Copyright © 2018 Endless Mobile, Inc.
3
 *
4
 * SPDX-License-Identifier: LGPL-2.1-or-later
5
 *
6
 * This library is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU Lesser General Public
8
 * License as published by the Free Software Foundation; either
9
 * version 2.1 of the License, or (at your option) any later version.
10
 *
11
 * This library is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
 * Lesser General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU Lesser General Public
17
 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
18
 *
19
 * Author: Philip Withnall <withnall@endlessm.com>
20
 */
21
22
#ifndef __G_UTILS_PRIVATE_H__
23
#define __G_UTILS_PRIVATE_H__
24
25
#include "glibconfig.h"
26
#include "gtypes.h"
27
#include "gtestutils.h"
28
29
G_BEGIN_DECLS
30
31
GLIB_AVAILABLE_IN_2_60
32
void g_set_user_dirs (const gchar *first_dir_type,
33
                      ...) G_GNUC_NULL_TERMINATED;
34
35
/* Returns the smallest power of 2 greater than or equal to n,
36
 * or 0 if such power does not fit in a gsize
37
 */
38
static inline gsize
39
g_nearest_pow (gsize num)
40
72.2M
{
41
72.2M
  gsize n = num - 1;
42
43
72.2M
  g_assert (num > 0 && num <= G_MAXSIZE / 2);
44
45
72.2M
  n |= n >> 1;
46
72.2M
  n |= n >> 2;
47
72.2M
  n |= n >> 4;
48
72.2M
  n |= n >> 8;
49
72.2M
  n |= n >> 16;
50
72.2M
#if GLIB_SIZEOF_SIZE_T == 8
51
72.2M
  n |= n >> 32;
52
72.2M
#endif
53
54
72.2M
  return n + 1;
55
72.2M
}
gstring.c:g_nearest_pow
Line
Count
Source
40
66.7M
{
41
66.7M
  gsize n = num - 1;
42
43
66.7M
  g_assert (num > 0 && num <= G_MAXSIZE / 2);
44
45
66.7M
  n |= n >> 1;
46
66.7M
  n |= n >> 2;
47
66.7M
  n |= n >> 4;
48
66.7M
  n |= n >> 8;
49
66.7M
  n |= n >> 16;
50
66.7M
#if GLIB_SIZEOF_SIZE_T == 8
51
66.7M
  n |= n >> 32;
52
66.7M
#endif
53
54
66.7M
  return n + 1;
55
66.7M
}
Unexecuted instantiation: gtestutils.c:g_nearest_pow
Unexecuted instantiation: gutils.c:g_nearest_pow
garray.c:g_nearest_pow
Line
Count
Source
40
5.52M
{
41
5.52M
  gsize n = num - 1;
42
43
5.52M
  g_assert (num > 0 && num <= G_MAXSIZE / 2);
44
45
5.52M
  n |= n >> 1;
46
5.52M
  n |= n >> 2;
47
5.52M
  n |= n >> 4;
48
5.52M
  n |= n >> 8;
49
5.52M
  n |= n >> 16;
50
5.52M
#if GLIB_SIZEOF_SIZE_T == 8
51
5.52M
  n |= n >> 32;
52
5.52M
#endif
53
54
5.52M
  return n + 1;
55
5.52M
}
56
57
G_END_DECLS
58
59
#endif /* __G_UTILS_PRIVATE_H__ */