Coverage Report

Created: 2025-08-21 07:05

/src/glib/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
#include <time.h>
30
31
G_BEGIN_DECLS
32
33
void g_set_user_dirs (const gchar *first_dir_type,
34
                      ...) G_GNUC_NULL_TERMINATED;
35
36
/* Returns the smallest power of 2 greater than or equal to n,
37
 * or 0 if such power does not fit in a gsize
38
 */
39
static inline gsize
40
g_nearest_pow (gsize num)
41
16.2k
{
42
16.2k
  gsize n = num - 1;
43
44
16.2k
  g_assert (num > 0 && num <= G_MAXSIZE / 2);
45
46
16.2k
  n |= n >> 1;
47
16.2k
  n |= n >> 2;
48
16.2k
  n |= n >> 4;
49
16.2k
  n |= n >> 8;
50
16.2k
  n |= n >> 16;
51
16.2k
#if GLIB_SIZEOF_SIZE_T == 8
52
16.2k
  n |= n >> 32;
53
16.2k
#endif
54
55
16.2k
  return n + 1;
56
16.2k
}
gmemoryoutputstream.c:g_nearest_pow
Line
Count
Source
41
4.03k
{
42
4.03k
  gsize n = num - 1;
43
44
4.03k
  g_assert (num > 0 && num <= G_MAXSIZE / 2);
45
46
4.03k
  n |= n >> 1;
47
4.03k
  n |= n >> 2;
48
4.03k
  n |= n >> 4;
49
4.03k
  n |= n >> 8;
50
4.03k
  n |= n >> 16;
51
4.03k
#if GLIB_SIZEOF_SIZE_T == 8
52
4.03k
  n |= n >> 32;
53
4.03k
#endif
54
55
4.03k
  return n + 1;
56
4.03k
}
Unexecuted instantiation: gdesktopappinfo.c:g_nearest_pow
Unexecuted instantiation: gdbusmessage.c:g_nearest_pow
garray.c:g_nearest_pow
Line
Count
Source
41
2.60k
{
42
2.60k
  gsize n = num - 1;
43
44
2.60k
  g_assert (num > 0 && num <= G_MAXSIZE / 2);
45
46
2.60k
  n |= n >> 1;
47
2.60k
  n |= n >> 2;
48
2.60k
  n |= n >> 4;
49
2.60k
  n |= n >> 8;
50
2.60k
  n |= n >> 16;
51
2.60k
#if GLIB_SIZEOF_SIZE_T == 8
52
2.60k
  n |= n >> 32;
53
2.60k
#endif
54
55
2.60k
  return n + 1;
56
2.60k
}
Unexecuted instantiation: gdate.c:g_nearest_pow
Unexecuted instantiation: gmessages.c:g_nearest_pow
gstring.c:g_nearest_pow
Line
Count
Source
41
9.64k
{
42
9.64k
  gsize n = num - 1;
43
44
9.64k
  g_assert (num > 0 && num <= G_MAXSIZE / 2);
45
46
9.64k
  n |= n >> 1;
47
9.64k
  n |= n >> 2;
48
9.64k
  n |= n >> 4;
49
9.64k
  n |= n >> 8;
50
9.64k
  n |= n >> 16;
51
9.64k
#if GLIB_SIZEOF_SIZE_T == 8
52
9.64k
  n |= n >> 32;
53
9.64k
#endif
54
55
9.64k
  return n + 1;
56
9.64k
}
Unexecuted instantiation: gtestutils.c:g_nearest_pow
Unexecuted instantiation: gutils.c:g_nearest_pow
57
58
void _g_unset_cached_tmp_dir (void);
59
60
gboolean _g_localtime (time_t timet, struct tm *tm);
61
62
G_END_DECLS
63
64
#endif /* __G_UTILS_PRIVATE_H__ */