Coverage Report

Created: 2025-07-07 10:01

/work/workdir/UnpackedTarball/cairo/src/cairo-wideint-private.h
Line
Count
Source (jump to first uncovered line)
1
/* cairo - a vector graphics library with display and print output
2
 *
3
 * Copyright © 2004 Keith Packard
4
 *
5
 * This library is free software; you can redistribute it and/or
6
 * modify it either under the terms of the GNU Lesser General Public
7
 * License version 2.1 as published by the Free Software Foundation
8
 * (the "LGPL") or, at your option, under the terms of the Mozilla
9
 * Public License Version 1.1 (the "MPL"). If you do not alter this
10
 * notice, a recipient may use your version of this file under either
11
 * the MPL or the LGPL.
12
 *
13
 * You should have received a copy of the LGPL along with this library
14
 * in the file COPYING-LGPL-2.1; if not, write to the Free Software
15
 * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
16
 * You should have received a copy of the MPL along with this library
17
 * in the file COPYING-MPL-1.1
18
 *
19
 * The contents of this file are subject to the Mozilla Public License
20
 * Version 1.1 (the "License"); you may not use this file except in
21
 * compliance with the License. You may obtain a copy of the License at
22
 * http://www.mozilla.org/MPL/
23
 *
24
 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
25
 * OF ANY KIND, either express or implied. See the LGPL or the MPL for
26
 * the specific language governing rights and limitations.
27
 *
28
 * The Original Code is the cairo graphics library.
29
 *
30
 * The Initial Developer of the Original Code is Keith Packard
31
 *
32
 * Contributor(s):
33
 *  Keith R. Packard <keithp@keithp.com>
34
 *
35
 */
36
37
#ifndef CAIRO_WIDEINT_H
38
#define CAIRO_WIDEINT_H
39
40
#include "cairo-wideint-type-private.h"
41
42
#include "cairo-compiler-private.h"
43
44
/*
45
 * 64-bit datatypes.  Two separate implementations, one using
46
 * built-in 64-bit signed/unsigned types another implemented
47
 * as a pair of 32-bit ints
48
 */
49
50
#define I cairo_private cairo_const
51
52
#if !HAVE_UINT64_T
53
54
cairo_uquorem64_t I
55
_cairo_uint64_divrem (cairo_uint64_t num, cairo_uint64_t den);
56
57
cairo_uint64_t I  _cairo_double_to_uint64 (double i);
58
double         I  _cairo_uint64_to_double (cairo_uint64_t i);
59
cairo_int64_t  I  _cairo_double_to_int64 (double i);
60
double         I  _cairo_int64_to_double (cairo_uint64_t i);
61
62
cairo_uint64_t I  _cairo_uint32_to_uint64 (uint32_t i);
63
#define     _cairo_uint64_to_uint32(a)  ((a).lo)
64
cairo_uint64_t I  _cairo_uint64_add (cairo_uint64_t a, cairo_uint64_t b);
65
cairo_uint64_t I  _cairo_uint64_sub (cairo_uint64_t a, cairo_uint64_t b);
66
cairo_uint64_t I  _cairo_uint64_mul (cairo_uint64_t a, cairo_uint64_t b);
67
cairo_uint64_t I  _cairo_uint32x32_64_mul (uint32_t a, uint32_t b);
68
cairo_uint64_t I  _cairo_uint64_lsl (cairo_uint64_t a, int shift);
69
cairo_uint64_t I  _cairo_uint64_rsl (cairo_uint64_t a, int shift);
70
cairo_uint64_t I  _cairo_uint64_rsa (cairo_uint64_t a, int shift);
71
int        I  _cairo_uint64_lt (cairo_uint64_t a, cairo_uint64_t b);
72
int        I  _cairo_uint64_cmp (cairo_uint64_t a, cairo_uint64_t b);
73
int        I  _cairo_uint64_eq (cairo_uint64_t a, cairo_uint64_t b);
74
cairo_uint64_t I  _cairo_uint64_negate (cairo_uint64_t a);
75
#define     _cairo_uint64_is_zero(a) ((a).hi == 0 && (a).lo == 0)
76
#define     _cairo_uint64_negative(a)   (((int32_t) ((a).hi)) < 0)
77
cairo_uint64_t I  _cairo_uint64_not (cairo_uint64_t a);
78
79
#define     _cairo_uint64_to_int64(i)   (i)
80
#define     _cairo_int64_to_uint64(i)   (i)
81
82
cairo_int64_t  I  _cairo_int32_to_int64(int32_t i);
83
#define     _cairo_int64_to_int32(a)    ((int32_t) _cairo_uint64_to_uint32(a))
84
#define     _cairo_int64_add(a,b)     _cairo_uint64_add (a,b)
85
#define     _cairo_int64_sub(a,b)     _cairo_uint64_sub (a,b)
86
#define     _cairo_int64_mul(a,b)     _cairo_uint64_mul (a,b)
87
cairo_int64_t  I  _cairo_int32x32_64_mul (int32_t a, int32_t b);
88
int        I  _cairo_int64_lt (cairo_int64_t a, cairo_int64_t b);
89
int        I  _cairo_int64_cmp (cairo_int64_t a, cairo_int64_t b);
90
#define     _cairo_int64_is_zero(a)     _cairo_uint64_is_zero (a)
91
#define     _cairo_int64_eq(a,b)      _cairo_uint64_eq (a,b)
92
#define     _cairo_int64_lsl(a,b)     _cairo_uint64_lsl (a,b)
93
#define     _cairo_int64_rsl(a,b)     _cairo_uint64_rsl (a,b)
94
#define     _cairo_int64_rsa(a,b)     _cairo_uint64_rsa (a,b)
95
#define     _cairo_int64_negate(a)      _cairo_uint64_negate(a)
96
#define     _cairo_int64_negative(a)    (((int32_t) ((a).hi)) < 0)
97
#define     _cairo_int64_not(a)     _cairo_uint64_not(a)
98
99
#else
100
101
static inline cairo_uquorem64_t
102
_cairo_uint64_divrem (cairo_uint64_t num, cairo_uint64_t den)
103
0
{
104
0
    cairo_uquorem64_t qr;
105
106
0
    qr.quo = num / den;
107
0
    qr.rem = num % den;
108
0
    return qr;
109
0
}
Unexecuted instantiation: cairo-font-face.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-font-options.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-image-surface.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-matrix.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-misc.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-mutex.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-path.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-pattern.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-recording-surface.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-rectangle.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-scaled-font.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-spline.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-stroke-style.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-surface.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-traps.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-unicode.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-version.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-ft-font.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-tag-stack.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-array.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-boxes.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-cache.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-clip.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-color.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-compositor.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-damage.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-debug.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-default-context.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-device.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-error.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-freed-pool.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-gstate.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-hash.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-image-compositor.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-image-info.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-image-source.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-line.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-no-compositor.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-observer.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-output-stream.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-path-bounds.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-path-fill.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-path-fixed.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-path-stroke.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-pen.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-polygon.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-region.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-slope.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-spans.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-surface-offset.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-user-font.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-cff-subset.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-type1-subset.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-arc.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-clip-region.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-clip-surface.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-contour.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-freelist.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-hull.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-wideint.c:_cairo_uint64_divrem
Unexecuted instantiation: cairo-surface-subsurface.c:_cairo_uint64_divrem
110
111
/*
112
 * These need to be functions or gcc will complain when used on the
113
 * result of a function:
114
 *
115
 * warning: cast from function call of type ‘#cairo_uint64_t’ to
116
 * non-matching type ‘double’
117
 */
118
0
static cairo_always_inline cairo_const cairo_uint64_t _cairo_double_to_uint64 (double i) { return i; }
Unexecuted instantiation: cairo-font-face.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-font-options.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-image-surface.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-matrix.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-misc.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-mutex.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-path.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-pattern.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-recording-surface.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-rectangle.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-scaled-font.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-spline.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-stroke-style.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-surface.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-traps.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-unicode.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-version.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-ft-font.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-tag-stack.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-array.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-boxes.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-cache.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-clip.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-color.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-compositor.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-damage.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-debug.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-default-context.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-device.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-error.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-freed-pool.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-gstate.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-hash.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-image-compositor.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-image-info.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-image-source.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-line.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-no-compositor.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-observer.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-output-stream.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-path-bounds.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-path-fill.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-path-fixed.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-path-stroke.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-pen.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-polygon.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-region.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-slope.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-spans.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-surface-offset.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-user-font.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-cff-subset.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-type1-subset.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-arc.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-clip-region.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-clip-surface.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-contour.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-freelist.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-hull.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-wideint.c:_cairo_double_to_uint64
Unexecuted instantiation: cairo-surface-subsurface.c:_cairo_double_to_uint64
119
0
static cairo_always_inline cairo_const double _cairo_uint64_to_double (cairo_uint64_t i) { return i; }
Unexecuted instantiation: cairo-font-face.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-font-options.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-image-surface.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-matrix.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-misc.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-mutex.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-path.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-pattern.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-recording-surface.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-rectangle.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-scaled-font.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-spline.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-stroke-style.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-surface.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-traps.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-unicode.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-version.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-ft-font.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-tag-stack.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-array.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-boxes.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-cache.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-clip.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-color.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-compositor.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-damage.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-debug.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-default-context.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-device.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-error.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-freed-pool.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-gstate.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-hash.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-image-compositor.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-image-info.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-image-source.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-line.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-no-compositor.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-observer.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-output-stream.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-path-bounds.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-path-fill.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-path-fixed.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-path-stroke.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-pen.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-polygon.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-region.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-slope.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-spans.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-surface-offset.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-user-font.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-cff-subset.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-type1-subset.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-arc.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-clip-region.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-clip-surface.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-contour.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-freelist.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-hull.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-wideint.c:_cairo_uint64_to_double
Unexecuted instantiation: cairo-surface-subsurface.c:_cairo_uint64_to_double
120
121
0
static cairo_always_inline cairo_int64_t I _cairo_double_to_int64 (double i) { return i; }
Unexecuted instantiation: cairo-font-face.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-font-options.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-image-surface.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-matrix.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-misc.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-mutex.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-path.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-pattern.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-recording-surface.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-rectangle.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-scaled-font.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-spline.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-stroke-style.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-surface.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-traps.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-unicode.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-version.c:_cairo_double_to_int64
Unexecuted instantiation: cairo.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-ft-font.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-tag-stack.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-array.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-boxes.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-cache.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-clip.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-color.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-compositor.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-damage.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-debug.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-default-context.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-device.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-error.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-freed-pool.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-gstate.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-hash.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-image-compositor.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-image-info.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-image-source.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-line.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-no-compositor.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-observer.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-output-stream.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-path-bounds.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-path-fill.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-path-fixed.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-path-stroke.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-pen.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-polygon.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-region.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-slope.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-spans.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-surface-offset.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-user-font.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-cff-subset.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-type1-subset.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-arc.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-clip-region.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-clip-surface.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-contour.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-freelist.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-hull.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-wideint.c:_cairo_double_to_int64
Unexecuted instantiation: cairo-surface-subsurface.c:_cairo_double_to_int64
122
0
static cairo_always_inline double I _cairo_int64_to_double (cairo_int64_t i) { return i; }
Unexecuted instantiation: cairo-font-face.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-font-options.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-image-surface.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-matrix.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-misc.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-mutex.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-path.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-pattern.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-recording-surface.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-rectangle.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-scaled-font.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-spline.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-stroke-style.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-surface.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-traps.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-unicode.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-version.c:_cairo_int64_to_double
Unexecuted instantiation: cairo.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-ft-font.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-tag-stack.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-array.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-boxes.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-cache.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-clip.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-color.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-compositor.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-damage.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-debug.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-default-context.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-device.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-error.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-freed-pool.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-gstate.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-hash.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-image-compositor.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-image-info.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-image-source.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-line.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-no-compositor.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-observer.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-output-stream.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-path-bounds.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-path-fill.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-path-fixed.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-path-stroke.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-pen.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-polygon.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-region.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-slope.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-spans.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-surface-offset.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-user-font.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-cff-subset.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-type1-subset.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-arc.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-clip-region.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-clip-surface.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-contour.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-freelist.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-hull.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-wideint.c:_cairo_int64_to_double
Unexecuted instantiation: cairo-surface-subsurface.c:_cairo_int64_to_double
123
124
0
#define     _cairo_uint32_to_uint64(i)  ((uint64_t) (i))
125
0
#define     _cairo_uint64_to_uint32(i)  ((uint32_t) (i))
126
0
#define     _cairo_uint64_add(a,b)      ((a) + (b))
127
0
#define     _cairo_uint64_sub(a,b)      ((a) - (b))
128
#define     _cairo_uint64_mul(a,b)      ((a) * (b))
129
0
#define     _cairo_uint32x32_64_mul(a,b)  ((uint64_t) (a) * (b))
130
#define     _cairo_uint64_lsl(a,b)      ((a) << (b))
131
#define     _cairo_uint64_rsl(a,b)      ((uint64_t) (a) >> (b))
132
#define     _cairo_uint64_rsa(a,b)      ((uint64_t) ((int64_t) (a) >> (b)))
133
0
#define     _cairo_uint64_lt(a,b)     ((a) < (b))
134
#define                 _cairo_uint64_cmp(a,b)       ((a) == (b) ? 0 : (a) < (b) ? -1 : 1)
135
#define     _cairo_uint64_is_zero(a)    ((a) == 0)
136
0
#define     _cairo_uint64_eq(a,b)     ((a) == (b))
137
#define     _cairo_uint64_negate(a)     ((uint64_t) -((int64_t) (a)))
138
#define     _cairo_uint64_negative(a)   ((int64_t) (a) < 0)
139
#define     _cairo_uint64_not(a)      (~(a))
140
141
#define     _cairo_uint64_to_int64(i)   ((int64_t) (i))
142
#define     _cairo_int64_to_uint64(i)   ((uint64_t) (i))
143
144
#define     _cairo_int32_to_int64(i)    ((int64_t) (i))
145
0
#define     _cairo_int64_to_int32(i)    ((int32_t) (i))
146
0
#define     _cairo_int64_add(a,b)     ((a) + (b))
147
0
#define     _cairo_int64_sub(a,b)     ((a) - (b))
148
0
#define     _cairo_int64_mul(a,b)     ((a) * (b))
149
1.15M
#define     _cairo_int32x32_64_mul(a,b) ((int64_t) (a) * (b))
150
0
#define     _cairo_int64_lt(a,b)      ((a) < (b))
151
448k
#define                 _cairo_int64_cmp(a,b)       ((a) == (b) ? 0 : (a) < (b) ? -1 : 1)
152
0
#define     _cairo_int64_is_zero(a)     ((a) == 0)
153
123M
#define     _cairo_int64_eq(a,b)      ((a) == (b))
154
#define     _cairo_int64_lsl(a,b)     ((a) << (b))
155
#define     _cairo_int64_rsl(a,b)     ((int64_t) ((uint64_t) (a) >> (b)))
156
#define     _cairo_int64_rsa(a,b)     ((int64_t) (a) >> (b))
157
0
#define     _cairo_int64_negate(a)      (-(a))
158
28.0M
#define     _cairo_int64_negative(a)    ((a) < 0)
159
#define     _cairo_int64_not(a)     (~(a))
160
161
#endif
162
163
/*
164
 * 64-bit comparisons derived from lt or eq
165
 */
166
#define     _cairo_uint64_le(a,b)     (!_cairo_uint64_gt(a,b))
167
#define     _cairo_uint64_ne(a,b)     (!_cairo_uint64_eq(a,b))
168
0
#define     _cairo_uint64_ge(a,b)     (!_cairo_uint64_lt(a,b))
169
#define     _cairo_uint64_gt(a,b)     _cairo_uint64_lt(b,a)
170
171
0
#define     _cairo_int64_le(a,b)      (!_cairo_int64_gt(a,b))
172
#define     _cairo_int64_ne(a,b)      (!_cairo_int64_eq(a,b))
173
0
#define     _cairo_int64_ge(a,b)      (!_cairo_int64_lt(a,b))
174
0
#define     _cairo_int64_gt(a,b)      _cairo_int64_lt(b,a)
175
176
/*
177
 * As the C implementation always computes both, create
178
 * a function which returns both for the 'native' type as well
179
 */
180
181
static inline cairo_quorem64_t
182
_cairo_int64_divrem (cairo_int64_t num, cairo_int64_t den)
183
0
{
184
0
    int     num_neg = _cairo_int64_negative (num);
185
0
    int     den_neg = _cairo_int64_negative (den);
186
0
    cairo_uquorem64_t uqr;
187
0
    cairo_quorem64_t  qr;
188
0
189
0
    if (num_neg)
190
0
  num = _cairo_int64_negate (num);
191
0
    if (den_neg)
192
0
  den = _cairo_int64_negate (den);
193
0
    uqr = _cairo_uint64_divrem (num, den);
194
0
    if (num_neg)
195
0
  qr.rem = _cairo_int64_negate (uqr.rem);
196
0
    else
197
0
  qr.rem = uqr.rem;
198
0
    if (num_neg != den_neg)
199
0
  qr.quo = (cairo_int64_t) _cairo_int64_negate (uqr.quo);
200
0
    else
201
0
  qr.quo = (cairo_int64_t) uqr.quo;
202
0
    return qr;
203
0
}
Unexecuted instantiation: cairo-font-face.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-font-options.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-image-surface.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-matrix.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-misc.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-mutex.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-path.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-pattern.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-recording-surface.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-rectangle.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-scaled-font.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-spline.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-stroke-style.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-surface.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-traps.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-unicode.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-version.c:_cairo_int64_divrem
Unexecuted instantiation: cairo.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-ft-font.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-tag-stack.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-array.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-boxes.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-cache.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-clip.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-color.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-compositor.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-damage.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-debug.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-default-context.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-device.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-error.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-freed-pool.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-gstate.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-hash.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-image-compositor.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-image-info.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-image-source.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-line.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-no-compositor.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-observer.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-output-stream.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-path-bounds.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-path-fill.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-path-fixed.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-path-stroke.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-pen.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-polygon.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-region.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-slope.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-spans.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-surface-offset.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-user-font.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-cff-subset.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-type1-subset.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-arc.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-clip-region.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-clip-surface.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-contour.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-freelist.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-hull.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-wideint.c:_cairo_int64_divrem
Unexecuted instantiation: cairo-surface-subsurface.c:_cairo_int64_divrem
204
205
static inline int32_t
206
_cairo_int64_32_div (cairo_int64_t num, int32_t den)
207
259k
{
208
#if !HAVE_UINT64_T
209
    return _cairo_int64_to_int32
210
  (_cairo_int64_divrem (num, _cairo_int32_to_int64 (den)).quo);
211
#else
212
259k
    return num / den;
213
259k
#endif
214
259k
}
Unexecuted instantiation: cairo-font-face.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-font-options.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-image-surface.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-matrix.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-misc.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-mutex.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-path.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-pattern.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-raster-source-pattern.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-recording-surface.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-rectangle.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-scaled-font.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-spline.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-stroke-style.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-surface-snapshot.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-surface-wrapper.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-surface.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-traps.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-unicode.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-version.c:_cairo_int64_32_div
Unexecuted instantiation: cairo.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-ft-font.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-pdf-surface.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-pdf-interchange.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-tag-stack.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-analysis-surface.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-array.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-boxes.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-cache.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-clip-boxes.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-clip.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-color.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-composite-rectangles.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-compositor.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-damage.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-debug.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-default-context.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-device.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-error.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-font-face-twin.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-freed-pool.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-gstate.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-hash.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-image-compositor.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-image-info.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-image-source.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-line.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-mask-compositor.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-mesh-pattern-rasterizer.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-mono-scan-converter.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-no-compositor.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-observer.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-output-stream.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-paginated-surface.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-path-bounds.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-path-fill.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-path-fixed.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-path-in-fill.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-path-stroke-boxes.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-path-stroke-polygon.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-path-stroke.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-pen.c:_cairo_int64_32_div
cairo-polygon.c:_cairo_int64_32_div
Line
Count
Source
207
259k
{
208
#if !HAVE_UINT64_T
209
    return _cairo_int64_to_int32
210
  (_cairo_int64_divrem (num, _cairo_int32_to_int64 (den)).quo);
211
#else
212
259k
    return num / den;
213
259k
#endif
214
259k
}
Unexecuted instantiation: cairo-region.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-shape-mask-compositor.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-slope.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-spans-compositor.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-spans.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-stroke-dash.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-surface-clipper.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-surface-offset.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-tor-scan-converter.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-tor22-scan-converter.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-toy-font-face.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-traps-compositor.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-user-font.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-cff-subset.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-scaled-font-subsets.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-truetype-subset.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-type1-fallback.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-type1-glyph-names.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-type1-subset.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-type3-glyph-surface.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-pdf-operators.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-pdf-shading.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-tag-attributes.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-deflate-stream.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-arc.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-bentley-ottmann-rectangular.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-bentley-ottmann-rectilinear.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-bentley-ottmann.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-boxes-intersect.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-clip-polygon.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-clip-region.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-clip-surface.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-contour.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-font-face-twin-data.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-freelist.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-hull.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-path-stroke-traps.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-polygon-intersect.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-polygon-reduce.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-rectangular-scan-converter.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-wideint.c:_cairo_int64_32_div
Unexecuted instantiation: cairo-surface-subsurface.c:_cairo_int64_32_div
215
216
/*
217
 * 128-bit datatypes.  Again, provide two implementations in
218
 * case the machine has a native 128-bit datatype.  GCC supports int128_t
219
 * on ia64
220
 */
221
222
#if !HAVE_UINT128_T
223
224
cairo_uint128_t I _cairo_uint32_to_uint128 (uint32_t i);
225
cairo_uint128_t I _cairo_uint64_to_uint128 (cairo_uint64_t i);
226
#define     _cairo_uint128_to_uint64(a) ((a).lo)
227
#define     _cairo_uint128_to_uint32(a) _cairo_uint64_to_uint32(_cairo_uint128_to_uint64(a))
228
cairo_uint128_t I _cairo_uint128_add (cairo_uint128_t a, cairo_uint128_t b);
229
cairo_uint128_t I _cairo_uint128_sub (cairo_uint128_t a, cairo_uint128_t b);
230
cairo_uint128_t I _cairo_uint128_mul (cairo_uint128_t a, cairo_uint128_t b);
231
cairo_uint128_t I _cairo_uint64x64_128_mul (cairo_uint64_t a, cairo_uint64_t b);
232
cairo_uint128_t I _cairo_uint128_lsl (cairo_uint128_t a, int shift);
233
cairo_uint128_t I _cairo_uint128_rsl (cairo_uint128_t a, int shift);
234
cairo_uint128_t I _cairo_uint128_rsa (cairo_uint128_t a, int shift);
235
int         I _cairo_uint128_lt (cairo_uint128_t a, cairo_uint128_t b);
236
int         I _cairo_uint128_cmp (cairo_uint128_t a, cairo_uint128_t b);
237
int         I _cairo_uint128_eq (cairo_uint128_t a, cairo_uint128_t b);
238
#define     _cairo_uint128_is_zero(a) (_cairo_uint64_is_zero ((a).hi) && _cairo_uint64_is_zero ((a).lo))
239
cairo_uint128_t I _cairo_uint128_negate (cairo_uint128_t a);
240
#define     _cairo_uint128_negative(a)  (_cairo_uint64_negative(a.hi))
241
cairo_uint128_t I _cairo_uint128_not (cairo_uint128_t a);
242
243
#define     _cairo_uint128_to_int128(i) (i)
244
#define     _cairo_int128_to_uint128(i) (i)
245
246
cairo_int128_t  I _cairo_int32_to_int128 (int32_t i);
247
cairo_int128_t  I _cairo_int64_to_int128 (cairo_int64_t i);
248
#define     _cairo_int128_to_int64(a)   ((cairo_int64_t) (a).lo)
249
#define     _cairo_int128_to_int32(a)   _cairo_int64_to_int32(_cairo_int128_to_int64(a))
250
#define     _cairo_int128_add(a,b)      _cairo_uint128_add(a,b)
251
#define     _cairo_int128_sub(a,b)      _cairo_uint128_sub(a,b)
252
#define     _cairo_int128_mul(a,b)      _cairo_uint128_mul(a,b)
253
cairo_int128_t I _cairo_int64x64_128_mul (cairo_int64_t a, cairo_int64_t b);
254
#define                 _cairo_int64x32_128_mul(a, b) _cairo_int64x64_128_mul(a, _cairo_int32_to_int64(b))
255
#define     _cairo_int128_lsl(a,b)      _cairo_uint128_lsl(a,b)
256
#define     _cairo_int128_rsl(a,b)      _cairo_uint128_rsl(a,b)
257
#define     _cairo_int128_rsa(a,b)      _cairo_uint128_rsa(a,b)
258
int           I _cairo_int128_lt (cairo_int128_t a, cairo_int128_t b);
259
int         I _cairo_int128_cmp (cairo_int128_t a, cairo_int128_t b);
260
#define     _cairo_int128_is_zero(a)    _cairo_uint128_is_zero (a)
261
#define     _cairo_int128_eq(a,b)     _cairo_uint128_eq (a,b)
262
#define     _cairo_int128_negate(a)     _cairo_uint128_negate(a)
263
#define     _cairo_int128_negative(a)   (_cairo_uint128_negative(a))
264
#define     _cairo_int128_not(a)      _cairo_uint128_not(a)
265
266
#else /* !HAVE_UINT128_T */
267
268
#define     _cairo_uint32_to_uint128(i) ((uint128_t) (i))
269
#define     _cairo_uint64_to_uint128(i) ((uint128_t) (i))
270
0
#define     _cairo_uint128_to_uint64(i) ((uint64_t) (i))
271
0
#define     _cairo_uint128_to_uint32(i) ((uint32_t) (i))
272
#define     _cairo_uint128_add(a,b)     ((a) + (b))
273
#define     _cairo_uint128_sub(a,b)     ((a) - (b))
274
#define     _cairo_uint128_mul(a,b)     ((a) * (b))
275
#define     _cairo_uint64x64_128_mul(a,b) ((uint128_t) (a) * (b))
276
#define     _cairo_uint128_lsl(a,b)     ((a) << (b))
277
#define     _cairo_uint128_rsl(a,b)     ((uint128_t) (a) >> (b))
278
#define     _cairo_uint128_rsa(a,b)     ((uint128_t) ((int128_t) (a) >> (b)))
279
#define     _cairo_uint128_lt(a,b)      ((a) < (b))
280
#define     _cairo_uint128_cmp(a,b)     ((a) == (b) ? 0 : (a) < (b) ? -1 : 1)
281
#define     _cairo_uint128_is_zero(a)   ((a) == 0)
282
#define     _cairo_uint128_eq(a,b)      ((a) == (b))
283
#define     _cairo_uint128_negate(a)    ((uint128_t) -((int128_t) (a)))
284
#define     _cairo_uint128_negative(a)  ((int128_t) (a) < 0)
285
#define     _cairo_uint128_not(a)     (~(a))
286
287
#define     _cairo_uint128_to_int128(i) ((int128_t) (i))
288
#define     _cairo_int128_to_uint128(i) ((uint128_t) (i))
289
290
#define     _cairo_int32_to_int128(i)   ((int128_t) (i))
291
#define     _cairo_int64_to_int128(i)   ((int128_t) (i))
292
#define     _cairo_int128_to_int64(i)   ((int64_t) (i))
293
#define     _cairo_int128_to_int32(i)   ((int32_t) (i))
294
#define     _cairo_int128_add(a,b)      ((a) + (b))
295
0
#define     _cairo_int128_sub(a,b)      ((a) - (b))
296
#define     _cairo_int128_mul(a,b)      ((a) * (b))
297
#define     _cairo_int64x64_128_mul(a,b) ((int128_t) (a) * (b))
298
#define                 _cairo_int64x32_128_mul(a, b) _cairo_int64x64_128_mul(a, _cairo_int32_to_int64(b))
299
#define     _cairo_int128_lt(a,b)     ((a) < (b))
300
0
#define     _cairo_int128_cmp(a,b)      ((a) == (b) ? 0 : (a) < (b) ? -1 : 1)
301
#define     _cairo_int128_is_zero(a)    ((a) == 0)
302
#define     _cairo_int128_eq(a,b)     ((a) == (b))
303
#define     _cairo_int128_lsl(a,b)      ((a) << (b))
304
#define     _cairo_int128_rsl(a,b)      ((int128_t) ((uint128_t) (a) >> (b)))
305
#define     _cairo_int128_rsa(a,b)      ((int128_t) (a) >> (b))
306
0
#define     _cairo_int128_negate(a)     (-(a))
307
0
#define     _cairo_int128_negative(a)   ((a) < 0)
308
#define     _cairo_int128_not(a)      (~(a))
309
310
#endif  /* HAVE_UINT128_T */
311
312
cairo_uquorem128_t I
313
_cairo_uint128_divrem (cairo_uint128_t num, cairo_uint128_t den);
314
315
cairo_quorem128_t I
316
_cairo_int128_divrem (cairo_int128_t num, cairo_int128_t den);
317
318
cairo_uquorem64_t I
319
_cairo_uint_96by64_32x64_divrem (cairo_uint128_t num,
320
         cairo_uint64_t  den);
321
322
cairo_quorem64_t I
323
_cairo_int_96by64_32x64_divrem (cairo_int128_t num,
324
        cairo_int64_t  den);
325
326
#define     _cairo_uint128_le(a,b)      (!_cairo_uint128_gt(a,b))
327
#define     _cairo_uint128_ne(a,b)      (!_cairo_uint128_eq(a,b))
328
#define     _cairo_uint128_ge(a,b)      (!_cairo_uint128_lt(a,b))
329
#define     _cairo_uint128_gt(a,b)      _cairo_uint128_lt(b,a)
330
331
#define     _cairo_int128_le(a,b)     (!_cairo_int128_gt(a,b))
332
#define     _cairo_int128_ne(a,b)     (!_cairo_int128_eq(a,b))
333
#define     _cairo_int128_ge(a,b)     (!_cairo_int128_lt(a,b))
334
#define     _cairo_int128_gt(a,b)     _cairo_int128_lt(b,a)
335
336
#undef I
337
338
#endif /* CAIRO_WIDEINT_H */