Coverage Report

Created: 2025-11-16 07:40

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/ghostpdl/openjpeg/src/lib/openjp2/opj_intmath.h
Line
Count
Source
1
/*
2
 * The copyright in this software is being made available under the 2-clauses
3
 * BSD License, included below. This software may be subject to other third
4
 * party and contributor rights, including patent rights, and no such rights
5
 * are granted under this license.
6
 *
7
 * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
8
 * Copyright (c) 2002-2014, Professor Benoit Macq
9
 * Copyright (c) 2001-2003, David Janssens
10
 * Copyright (c) 2002-2003, Yannick Verschueren
11
 * Copyright (c) 2003-2007, Francois-Olivier Devaux
12
 * Copyright (c) 2003-2014, Antonin Descampe
13
 * Copyright (c) 2005, Herve Drolon, FreeImage Team
14
 * All rights reserved.
15
 *
16
 * Redistribution and use in source and binary forms, with or without
17
 * modification, are permitted provided that the following conditions
18
 * are met:
19
 * 1. Redistributions of source code must retain the above copyright
20
 *    notice, this list of conditions and the following disclaimer.
21
 * 2. Redistributions in binary form must reproduce the above copyright
22
 *    notice, this list of conditions and the following disclaimer in the
23
 *    documentation and/or other materials provided with the distribution.
24
 *
25
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
26
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
29
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35
 * POSSIBILITY OF SUCH DAMAGE.
36
 */
37
#ifndef OPJ_INTMATH_H
38
#define OPJ_INTMATH_H
39
/**
40
@file opj_intmath.h
41
@brief Implementation of operations on integers (INT)
42
43
The functions in OPJ_INTMATH.H have for goal to realize operations on integers.
44
*/
45
46
/** @defgroup OPJ_INTMATH OPJ_INTMATH - Implementation of operations on integers */
47
/*@{*/
48
49
/** @name Exported functions (see also openjpeg.h) */
50
/*@{*/
51
/* ----------------------------------------------------------------------- */
52
/**
53
Get the minimum of two integers
54
@return Returns a if a < b else b
55
*/
56
static INLINE OPJ_INT32 opj_int_min(OPJ_INT32 a, OPJ_INT32 b)
57
39.7M
{
58
39.7M
    return a < b ? a : b;
59
39.7M
}
Unexecuted instantiation: cio.c:opj_int_min
Unexecuted instantiation: event.c:opj_int_min
Unexecuted instantiation: image.c:opj_int_min
Unexecuted instantiation: openjpeg.c:opj_int_min
Unexecuted instantiation: j2k.c:opj_int_min
Unexecuted instantiation: jp2.c:opj_int_min
Unexecuted instantiation: mct.c:opj_int_min
Unexecuted instantiation: pi.c:opj_int_min
tcd.c:opj_int_min
Line
Count
Source
57
10.2M
{
58
10.2M
    return a < b ? a : b;
59
10.2M
}
Unexecuted instantiation: tgt.c:opj_int_min
Unexecuted instantiation: thread.c:opj_int_min
Unexecuted instantiation: bio.c:opj_int_min
dwt.c:opj_int_min
Line
Count
Source
57
25.8M
{
58
25.8M
    return a < b ? a : b;
59
25.8M
}
Unexecuted instantiation: function_list.c:opj_int_min
Unexecuted instantiation: invert.c:opj_int_min
Unexecuted instantiation: t1.c:opj_int_min
t2.c:opj_int_min
Line
Count
Source
57
3.74M
{
58
3.74M
    return a < b ? a : b;
59
3.74M
}
Unexecuted instantiation: sparse_array.c:opj_int_min
Unexecuted instantiation: ht_dec.c:opj_int_min
Unexecuted instantiation: mqc.c:opj_int_min
60
61
/**
62
Get the minimum of two integers
63
@return Returns a if a < b else b
64
*/
65
static INLINE OPJ_UINT32 opj_uint_min(OPJ_UINT32 a, OPJ_UINT32 b)
66
42.6M
{
67
42.6M
    return a < b ? a : b;
68
42.6M
}
Unexecuted instantiation: cio.c:opj_uint_min
Unexecuted instantiation: event.c:opj_uint_min
image.c:opj_uint_min
Line
Count
Source
66
33.4k
{
67
33.4k
    return a < b ? a : b;
68
33.4k
}
Unexecuted instantiation: openjpeg.c:opj_uint_min
Unexecuted instantiation: j2k.c:opj_uint_min
Unexecuted instantiation: jp2.c:opj_uint_min
Unexecuted instantiation: mct.c:opj_uint_min
pi.c:opj_uint_min
Line
Count
Source
66
908k
{
67
908k
    return a < b ? a : b;
68
908k
}
tcd.c:opj_uint_min
Line
Count
Source
66
15.8M
{
67
15.8M
    return a < b ? a : b;
68
15.8M
}
Unexecuted instantiation: tgt.c:opj_uint_min
Unexecuted instantiation: thread.c:opj_uint_min
Unexecuted instantiation: bio.c:opj_uint_min
dwt.c:opj_uint_min
Line
Count
Source
66
25.8M
{
67
25.8M
    return a < b ? a : b;
68
25.8M
}
Unexecuted instantiation: function_list.c:opj_uint_min
Unexecuted instantiation: invert.c:opj_uint_min
Unexecuted instantiation: t1.c:opj_uint_min
Unexecuted instantiation: t2.c:opj_uint_min
Unexecuted instantiation: sparse_array.c:opj_uint_min
Unexecuted instantiation: ht_dec.c:opj_uint_min
Unexecuted instantiation: mqc.c:opj_uint_min
69
70
/**
71
Get the maximum of two integers
72
@return Returns a if a > b else b
73
*/
74
static INLINE OPJ_INT32 opj_int_max(OPJ_INT32 a, OPJ_INT32 b)
75
10.2M
{
76
10.2M
    return (a > b) ? a : b;
77
10.2M
}
Unexecuted instantiation: cio.c:opj_int_max
Unexecuted instantiation: event.c:opj_int_max
Unexecuted instantiation: image.c:opj_int_max
Unexecuted instantiation: openjpeg.c:opj_int_max
Unexecuted instantiation: j2k.c:opj_int_max
Unexecuted instantiation: jp2.c:opj_int_max
Unexecuted instantiation: mct.c:opj_int_max
Unexecuted instantiation: pi.c:opj_int_max
tcd.c:opj_int_max
Line
Count
Source
75
10.2M
{
76
10.2M
    return (a > b) ? a : b;
77
10.2M
}
Unexecuted instantiation: tgt.c:opj_int_max
Unexecuted instantiation: thread.c:opj_int_max
Unexecuted instantiation: bio.c:opj_int_max
Unexecuted instantiation: dwt.c:opj_int_max
Unexecuted instantiation: function_list.c:opj_int_max
Unexecuted instantiation: invert.c:opj_int_max
Unexecuted instantiation: t1.c:opj_int_max
Unexecuted instantiation: t2.c:opj_int_max
Unexecuted instantiation: sparse_array.c:opj_int_max
Unexecuted instantiation: ht_dec.c:opj_int_max
Unexecuted instantiation: mqc.c:opj_int_max
78
79
/**
80
Get the maximum of two integers
81
@return Returns a if a > b else b
82
*/
83
static INLINE OPJ_UINT32 opj_uint_max(OPJ_UINT32  a, OPJ_UINT32  b)
84
17.7M
{
85
17.7M
    return (a > b) ? a : b;
86
17.7M
}
Unexecuted instantiation: cio.c:opj_uint_max
Unexecuted instantiation: event.c:opj_uint_max
image.c:opj_uint_max
Line
Count
Source
84
33.4k
{
85
33.4k
    return (a > b) ? a : b;
86
33.4k
}
Unexecuted instantiation: openjpeg.c:opj_uint_max
Unexecuted instantiation: j2k.c:opj_uint_max
Unexecuted instantiation: jp2.c:opj_uint_max
Unexecuted instantiation: mct.c:opj_uint_max
pi.c:opj_uint_max
Line
Count
Source
84
68.3k
{
85
68.3k
    return (a > b) ? a : b;
86
68.3k
}
tcd.c:opj_uint_max
Line
Count
Source
84
15.0M
{
85
15.0M
    return (a > b) ? a : b;
86
15.0M
}
Unexecuted instantiation: tgt.c:opj_uint_max
Unexecuted instantiation: thread.c:opj_uint_max
Unexecuted instantiation: bio.c:opj_uint_max
Unexecuted instantiation: dwt.c:opj_uint_max
Unexecuted instantiation: function_list.c:opj_uint_max
Unexecuted instantiation: invert.c:opj_uint_max
Unexecuted instantiation: t1.c:opj_uint_max
t2.c:opj_uint_max
Line
Count
Source
84
2.66M
{
85
2.66M
    return (a > b) ? a : b;
86
2.66M
}
Unexecuted instantiation: sparse_array.c:opj_uint_max
Unexecuted instantiation: ht_dec.c:opj_uint_max
Unexecuted instantiation: mqc.c:opj_uint_max
87
88
/**
89
 Get the saturated sum of two unsigned integers
90
 @return Returns saturated sum of a+b
91
 */
92
static INLINE OPJ_UINT32 opj_uint_adds(OPJ_UINT32 a, OPJ_UINT32 b)
93
15.0M
{
94
15.0M
    OPJ_UINT64 sum = (OPJ_UINT64)a + (OPJ_UINT64)b;
95
15.0M
    return (OPJ_UINT32)(-(OPJ_INT32)(sum >> 32)) | (OPJ_UINT32)sum;
96
15.0M
}
Unexecuted instantiation: cio.c:opj_uint_adds
Unexecuted instantiation: event.c:opj_uint_adds
image.c:opj_uint_adds
Line
Count
Source
93
33.4k
{
94
33.4k
    OPJ_UINT64 sum = (OPJ_UINT64)a + (OPJ_UINT64)b;
95
33.4k
    return (OPJ_UINT32)(-(OPJ_INT32)(sum >> 32)) | (OPJ_UINT32)sum;
96
33.4k
}
Unexecuted instantiation: openjpeg.c:opj_uint_adds
j2k.c:opj_uint_adds
Line
Count
Source
93
33.6k
{
94
33.6k
    OPJ_UINT64 sum = (OPJ_UINT64)a + (OPJ_UINT64)b;
95
33.6k
    return (OPJ_UINT32)(-(OPJ_INT32)(sum >> 32)) | (OPJ_UINT32)sum;
96
33.6k
}
Unexecuted instantiation: jp2.c:opj_uint_adds
Unexecuted instantiation: mct.c:opj_uint_adds
pi.c:opj_uint_adds
Line
Count
Source
93
68.3k
{
94
68.3k
    OPJ_UINT64 sum = (OPJ_UINT64)a + (OPJ_UINT64)b;
95
68.3k
    return (OPJ_UINT32)(-(OPJ_INT32)(sum >> 32)) | (OPJ_UINT32)sum;
96
68.3k
}
tcd.c:opj_uint_adds
Line
Count
Source
93
14.8M
{
94
14.8M
    OPJ_UINT64 sum = (OPJ_UINT64)a + (OPJ_UINT64)b;
95
14.8M
    return (OPJ_UINT32)(-(OPJ_INT32)(sum >> 32)) | (OPJ_UINT32)sum;
96
14.8M
}
Unexecuted instantiation: tgt.c:opj_uint_adds
Unexecuted instantiation: thread.c:opj_uint_adds
Unexecuted instantiation: bio.c:opj_uint_adds
Unexecuted instantiation: dwt.c:opj_uint_adds
Unexecuted instantiation: function_list.c:opj_uint_adds
Unexecuted instantiation: invert.c:opj_uint_adds
Unexecuted instantiation: t1.c:opj_uint_adds
Unexecuted instantiation: t2.c:opj_uint_adds
Unexecuted instantiation: sparse_array.c:opj_uint_adds
Unexecuted instantiation: ht_dec.c:opj_uint_adds
Unexecuted instantiation: mqc.c:opj_uint_adds
97
98
/**
99
 Get the saturated difference of two unsigned integers
100
 @return Returns saturated sum of a-b
101
 */
102
static INLINE OPJ_UINT32 opj_uint_subs(OPJ_UINT32 a, OPJ_UINT32 b)
103
0
{
104
0
    return (a >= b) ? a - b : 0;
105
0
}
Unexecuted instantiation: cio.c:opj_uint_subs
Unexecuted instantiation: event.c:opj_uint_subs
Unexecuted instantiation: image.c:opj_uint_subs
Unexecuted instantiation: openjpeg.c:opj_uint_subs
Unexecuted instantiation: j2k.c:opj_uint_subs
Unexecuted instantiation: jp2.c:opj_uint_subs
Unexecuted instantiation: mct.c:opj_uint_subs
Unexecuted instantiation: pi.c:opj_uint_subs
Unexecuted instantiation: tcd.c:opj_uint_subs
Unexecuted instantiation: tgt.c:opj_uint_subs
Unexecuted instantiation: thread.c:opj_uint_subs
Unexecuted instantiation: bio.c:opj_uint_subs
Unexecuted instantiation: dwt.c:opj_uint_subs
Unexecuted instantiation: function_list.c:opj_uint_subs
Unexecuted instantiation: invert.c:opj_uint_subs
Unexecuted instantiation: t1.c:opj_uint_subs
Unexecuted instantiation: t2.c:opj_uint_subs
Unexecuted instantiation: sparse_array.c:opj_uint_subs
Unexecuted instantiation: ht_dec.c:opj_uint_subs
Unexecuted instantiation: mqc.c:opj_uint_subs
106
107
/**
108
Clamp an integer inside an interval
109
@return
110
<ul>
111
<li>Returns a if (min < a < max)
112
<li>Returns max if (a > max)
113
<li>Returns min if (a < min)
114
</ul>
115
*/
116
static INLINE OPJ_INT32 opj_int_clamp(OPJ_INT32 a, OPJ_INT32 min,
117
                                      OPJ_INT32 max)
118
300M
{
119
300M
    if (a < min) {
120
7.93M
        return min;
121
7.93M
    }
122
293M
    if (a > max) {
123
42.5M
        return max;
124
42.5M
    }
125
250M
    return a;
126
293M
}
Unexecuted instantiation: cio.c:opj_int_clamp
Unexecuted instantiation: event.c:opj_int_clamp
Unexecuted instantiation: image.c:opj_int_clamp
Unexecuted instantiation: openjpeg.c:opj_int_clamp
Unexecuted instantiation: j2k.c:opj_int_clamp
Unexecuted instantiation: jp2.c:opj_int_clamp
Unexecuted instantiation: mct.c:opj_int_clamp
Unexecuted instantiation: pi.c:opj_int_clamp
tcd.c:opj_int_clamp
Line
Count
Source
118
300M
{
119
300M
    if (a < min) {
120
7.93M
        return min;
121
7.93M
    }
122
293M
    if (a > max) {
123
42.5M
        return max;
124
42.5M
    }
125
250M
    return a;
126
293M
}
Unexecuted instantiation: tgt.c:opj_int_clamp
Unexecuted instantiation: thread.c:opj_int_clamp
Unexecuted instantiation: bio.c:opj_int_clamp
Unexecuted instantiation: dwt.c:opj_int_clamp
Unexecuted instantiation: function_list.c:opj_int_clamp
Unexecuted instantiation: invert.c:opj_int_clamp
Unexecuted instantiation: t1.c:opj_int_clamp
Unexecuted instantiation: t2.c:opj_int_clamp
Unexecuted instantiation: sparse_array.c:opj_int_clamp
Unexecuted instantiation: ht_dec.c:opj_int_clamp
Unexecuted instantiation: mqc.c:opj_int_clamp
127
128
/**
129
Clamp an integer inside an interval
130
@return
131
<ul>
132
<li>Returns a if (min < a < max)
133
<li>Returns max if (a > max)
134
<li>Returns min if (a < min)
135
</ul>
136
*/
137
static INLINE OPJ_INT64 opj_int64_clamp(OPJ_INT64 a, OPJ_INT64 min,
138
                                        OPJ_INT64 max)
139
3.69G
{
140
3.69G
    if (a < min) {
141
460M
        return min;
142
460M
    }
143
3.23G
    if (a > max) {
144
120M
        return max;
145
120M
    }
146
3.11G
    return a;
147
3.23G
}
Unexecuted instantiation: cio.c:opj_int64_clamp
Unexecuted instantiation: event.c:opj_int64_clamp
Unexecuted instantiation: image.c:opj_int64_clamp
Unexecuted instantiation: openjpeg.c:opj_int64_clamp
Unexecuted instantiation: j2k.c:opj_int64_clamp
Unexecuted instantiation: jp2.c:opj_int64_clamp
Unexecuted instantiation: mct.c:opj_int64_clamp
Unexecuted instantiation: pi.c:opj_int64_clamp
tcd.c:opj_int64_clamp
Line
Count
Source
139
3.69G
{
140
3.69G
    if (a < min) {
141
460M
        return min;
142
460M
    }
143
3.23G
    if (a > max) {
144
120M
        return max;
145
120M
    }
146
3.11G
    return a;
147
3.23G
}
Unexecuted instantiation: tgt.c:opj_int64_clamp
Unexecuted instantiation: thread.c:opj_int64_clamp
Unexecuted instantiation: bio.c:opj_int64_clamp
Unexecuted instantiation: dwt.c:opj_int64_clamp
Unexecuted instantiation: function_list.c:opj_int64_clamp
Unexecuted instantiation: invert.c:opj_int64_clamp
Unexecuted instantiation: t1.c:opj_int64_clamp
Unexecuted instantiation: t2.c:opj_int64_clamp
Unexecuted instantiation: sparse_array.c:opj_int64_clamp
Unexecuted instantiation: ht_dec.c:opj_int64_clamp
Unexecuted instantiation: mqc.c:opj_int64_clamp
148
149
/**
150
@return Get absolute value of integer
151
*/
152
static INLINE OPJ_INT32 opj_int_abs(OPJ_INT32 a)
153
0
{
154
0
    return a < 0 ? -a : a;
155
0
}
Unexecuted instantiation: cio.c:opj_int_abs
Unexecuted instantiation: event.c:opj_int_abs
Unexecuted instantiation: image.c:opj_int_abs
Unexecuted instantiation: openjpeg.c:opj_int_abs
Unexecuted instantiation: j2k.c:opj_int_abs
Unexecuted instantiation: jp2.c:opj_int_abs
Unexecuted instantiation: mct.c:opj_int_abs
Unexecuted instantiation: pi.c:opj_int_abs
Unexecuted instantiation: tcd.c:opj_int_abs
Unexecuted instantiation: tgt.c:opj_int_abs
Unexecuted instantiation: thread.c:opj_int_abs
Unexecuted instantiation: bio.c:opj_int_abs
Unexecuted instantiation: dwt.c:opj_int_abs
Unexecuted instantiation: function_list.c:opj_int_abs
Unexecuted instantiation: invert.c:opj_int_abs
Unexecuted instantiation: t1.c:opj_int_abs
Unexecuted instantiation: t2.c:opj_int_abs
Unexecuted instantiation: sparse_array.c:opj_int_abs
Unexecuted instantiation: ht_dec.c:opj_int_abs
Unexecuted instantiation: mqc.c:opj_int_abs
156
/**
157
Divide an integer and round upwards
158
@return Returns a divided by b
159
*/
160
static INLINE OPJ_INT32 opj_int_ceildiv(OPJ_INT32 a, OPJ_INT32 b)
161
293k
{
162
293k
    assert(b);
163
293k
    return (OPJ_INT32)(((OPJ_INT64)a + b - 1) / b);
164
293k
}
Unexecuted instantiation: cio.c:opj_int_ceildiv
Unexecuted instantiation: event.c:opj_int_ceildiv
Unexecuted instantiation: image.c:opj_int_ceildiv
Unexecuted instantiation: openjpeg.c:opj_int_ceildiv
Unexecuted instantiation: j2k.c:opj_int_ceildiv
Unexecuted instantiation: jp2.c:opj_int_ceildiv
Unexecuted instantiation: mct.c:opj_int_ceildiv
Unexecuted instantiation: pi.c:opj_int_ceildiv
tcd.c:opj_int_ceildiv
Line
Count
Source
161
293k
{
162
    assert(b);
163
293k
    return (OPJ_INT32)(((OPJ_INT64)a + b - 1) / b);
164
293k
}
Unexecuted instantiation: tgt.c:opj_int_ceildiv
Unexecuted instantiation: thread.c:opj_int_ceildiv
Unexecuted instantiation: bio.c:opj_int_ceildiv
Unexecuted instantiation: dwt.c:opj_int_ceildiv
Unexecuted instantiation: function_list.c:opj_int_ceildiv
Unexecuted instantiation: invert.c:opj_int_ceildiv
Unexecuted instantiation: t1.c:opj_int_ceildiv
Unexecuted instantiation: t2.c:opj_int_ceildiv
Unexecuted instantiation: sparse_array.c:opj_int_ceildiv
Unexecuted instantiation: ht_dec.c:opj_int_ceildiv
Unexecuted instantiation: mqc.c:opj_int_ceildiv
165
166
/**
167
Divide an integer and round upwards
168
@return Returns a divided by b
169
*/
170
static INLINE OPJ_UINT32  opj_uint_ceildiv(OPJ_UINT32  a, OPJ_UINT32  b)
171
30.3M
{
172
30.3M
    assert(b);
173
30.3M
    return (OPJ_UINT32)(((OPJ_UINT64)a + b - 1) / b);
174
30.3M
}
Unexecuted instantiation: cio.c:opj_uint_ceildiv
Unexecuted instantiation: event.c:opj_uint_ceildiv
image.c:opj_uint_ceildiv
Line
Count
Source
171
131k
{
172
    assert(b);
173
131k
    return (OPJ_UINT32)(((OPJ_UINT64)a + b - 1) / b);
174
131k
}
Unexecuted instantiation: openjpeg.c:opj_uint_ceildiv
j2k.c:opj_uint_ceildiv
Line
Count
Source
171
33.4k
{
172
    assert(b);
173
33.4k
    return (OPJ_UINT32)(((OPJ_UINT64)a + b - 1) / b);
174
33.4k
}
Unexecuted instantiation: jp2.c:opj_uint_ceildiv
Unexecuted instantiation: mct.c:opj_uint_ceildiv
pi.c:opj_uint_ceildiv
Line
Count
Source
171
293k
{
172
    assert(b);
173
293k
    return (OPJ_UINT32)(((OPJ_UINT64)a + b - 1) / b);
174
293k
}
tcd.c:opj_uint_ceildiv
Line
Count
Source
171
29.9M
{
172
    assert(b);
173
29.9M
    return (OPJ_UINT32)(((OPJ_UINT64)a + b - 1) / b);
174
29.9M
}
Unexecuted instantiation: tgt.c:opj_uint_ceildiv
Unexecuted instantiation: thread.c:opj_uint_ceildiv
Unexecuted instantiation: bio.c:opj_uint_ceildiv
Unexecuted instantiation: dwt.c:opj_uint_ceildiv
Unexecuted instantiation: function_list.c:opj_uint_ceildiv
Unexecuted instantiation: invert.c:opj_uint_ceildiv
Unexecuted instantiation: t1.c:opj_uint_ceildiv
Unexecuted instantiation: t2.c:opj_uint_ceildiv
Unexecuted instantiation: sparse_array.c:opj_uint_ceildiv
Unexecuted instantiation: ht_dec.c:opj_uint_ceildiv
Unexecuted instantiation: mqc.c:opj_uint_ceildiv
175
176
/**
177
Divide an integer and round upwards
178
@return Returns a divided by b
179
*/
180
static INLINE OPJ_UINT32  opj_uint64_ceildiv_res_uint32(OPJ_UINT64 a,
181
        OPJ_UINT64 b)
182
0
{
183
0
    assert(b);
184
0
    return (OPJ_UINT32)((a + b - 1) / b);
185
0
}
Unexecuted instantiation: cio.c:opj_uint64_ceildiv_res_uint32
Unexecuted instantiation: event.c:opj_uint64_ceildiv_res_uint32
Unexecuted instantiation: image.c:opj_uint64_ceildiv_res_uint32
Unexecuted instantiation: openjpeg.c:opj_uint64_ceildiv_res_uint32
Unexecuted instantiation: j2k.c:opj_uint64_ceildiv_res_uint32
Unexecuted instantiation: jp2.c:opj_uint64_ceildiv_res_uint32
Unexecuted instantiation: mct.c:opj_uint64_ceildiv_res_uint32
Unexecuted instantiation: pi.c:opj_uint64_ceildiv_res_uint32
Unexecuted instantiation: tcd.c:opj_uint64_ceildiv_res_uint32
Unexecuted instantiation: tgt.c:opj_uint64_ceildiv_res_uint32
Unexecuted instantiation: thread.c:opj_uint64_ceildiv_res_uint32
Unexecuted instantiation: bio.c:opj_uint64_ceildiv_res_uint32
Unexecuted instantiation: dwt.c:opj_uint64_ceildiv_res_uint32
Unexecuted instantiation: function_list.c:opj_uint64_ceildiv_res_uint32
Unexecuted instantiation: invert.c:opj_uint64_ceildiv_res_uint32
Unexecuted instantiation: t1.c:opj_uint64_ceildiv_res_uint32
Unexecuted instantiation: t2.c:opj_uint64_ceildiv_res_uint32
Unexecuted instantiation: sparse_array.c:opj_uint64_ceildiv_res_uint32
Unexecuted instantiation: ht_dec.c:opj_uint64_ceildiv_res_uint32
Unexecuted instantiation: mqc.c:opj_uint64_ceildiv_res_uint32
186
187
/**
188
Divide an integer by a power of 2 and round upwards
189
@return Returns a divided by 2^b
190
*/
191
static INLINE OPJ_INT32 opj_int_ceildivpow2(OPJ_INT32 a, OPJ_INT32 b)
192
6.21M
{
193
6.21M
    return (OPJ_INT32)((a + ((OPJ_INT64)1 << b) - 1) >> b);
194
6.21M
}
Unexecuted instantiation: cio.c:opj_int_ceildivpow2
Unexecuted instantiation: event.c:opj_int_ceildivpow2
Unexecuted instantiation: image.c:opj_int_ceildivpow2
Unexecuted instantiation: openjpeg.c:opj_int_ceildivpow2
Unexecuted instantiation: j2k.c:opj_int_ceildivpow2
Unexecuted instantiation: jp2.c:opj_int_ceildivpow2
Unexecuted instantiation: mct.c:opj_int_ceildivpow2
Unexecuted instantiation: pi.c:opj_int_ceildivpow2
tcd.c:opj_int_ceildivpow2
Line
Count
Source
192
6.21M
{
193
6.21M
    return (OPJ_INT32)((a + ((OPJ_INT64)1 << b) - 1) >> b);
194
6.21M
}
Unexecuted instantiation: tgt.c:opj_int_ceildivpow2
Unexecuted instantiation: thread.c:opj_int_ceildivpow2
Unexecuted instantiation: bio.c:opj_int_ceildivpow2
Unexecuted instantiation: dwt.c:opj_int_ceildivpow2
Unexecuted instantiation: function_list.c:opj_int_ceildivpow2
Unexecuted instantiation: invert.c:opj_int_ceildivpow2
Unexecuted instantiation: t1.c:opj_int_ceildivpow2
Unexecuted instantiation: t2.c:opj_int_ceildivpow2
Unexecuted instantiation: sparse_array.c:opj_int_ceildivpow2
Unexecuted instantiation: ht_dec.c:opj_int_ceildivpow2
Unexecuted instantiation: mqc.c:opj_int_ceildivpow2
195
196
/**
197
 Divide a 64bits integer by a power of 2 and round upwards
198
 @return Returns a divided by 2^b
199
 */
200
static INLINE OPJ_INT32 opj_int64_ceildivpow2(OPJ_INT64 a, OPJ_INT32 b)
201
4.16M
{
202
4.16M
    return (OPJ_INT32)((a + ((OPJ_INT64)1 << b) - 1) >> b);
203
4.16M
}
Unexecuted instantiation: cio.c:opj_int64_ceildivpow2
Unexecuted instantiation: event.c:opj_int64_ceildivpow2
Unexecuted instantiation: image.c:opj_int64_ceildivpow2
Unexecuted instantiation: openjpeg.c:opj_int64_ceildivpow2
Unexecuted instantiation: j2k.c:opj_int64_ceildivpow2
Unexecuted instantiation: jp2.c:opj_int64_ceildivpow2
Unexecuted instantiation: mct.c:opj_int64_ceildivpow2
Unexecuted instantiation: pi.c:opj_int64_ceildivpow2
tcd.c:opj_int64_ceildivpow2
Line
Count
Source
201
4.16M
{
202
4.16M
    return (OPJ_INT32)((a + ((OPJ_INT64)1 << b) - 1) >> b);
203
4.16M
}
Unexecuted instantiation: tgt.c:opj_int64_ceildivpow2
Unexecuted instantiation: thread.c:opj_int64_ceildivpow2
Unexecuted instantiation: bio.c:opj_int64_ceildivpow2
Unexecuted instantiation: dwt.c:opj_int64_ceildivpow2
Unexecuted instantiation: function_list.c:opj_int64_ceildivpow2
Unexecuted instantiation: invert.c:opj_int64_ceildivpow2
Unexecuted instantiation: t1.c:opj_int64_ceildivpow2
Unexecuted instantiation: t2.c:opj_int64_ceildivpow2
Unexecuted instantiation: sparse_array.c:opj_int64_ceildivpow2
Unexecuted instantiation: ht_dec.c:opj_int64_ceildivpow2
Unexecuted instantiation: mqc.c:opj_int64_ceildivpow2
204
205
/**
206
 Divide an integer by a power of 2 and round upwards
207
 @return Returns a divided by 2^b
208
 */
209
static INLINE OPJ_UINT32 opj_uint_ceildivpow2(OPJ_UINT32 a, OPJ_UINT32 b)
210
23.7M
{
211
23.7M
    return (OPJ_UINT32)((a + ((OPJ_UINT64)1U << b) - 1U) >> b);
212
23.7M
}
Unexecuted instantiation: cio.c:opj_uint_ceildivpow2
Unexecuted instantiation: event.c:opj_uint_ceildivpow2
image.c:opj_uint_ceildivpow2
Line
Count
Source
210
65.5k
{
211
65.5k
    return (OPJ_UINT32)((a + ((OPJ_UINT64)1U << b) - 1U) >> b);
212
65.5k
}
Unexecuted instantiation: openjpeg.c:opj_uint_ceildivpow2
j2k.c:opj_uint_ceildivpow2
Line
Count
Source
210
122k
{
211
122k
    return (OPJ_UINT32)((a + ((OPJ_UINT64)1U << b) - 1U) >> b);
212
122k
}
Unexecuted instantiation: jp2.c:opj_uint_ceildivpow2
Unexecuted instantiation: mct.c:opj_uint_ceildivpow2
pi.c:opj_uint_ceildivpow2
Line
Count
Source
210
2.52M
{
211
2.52M
    return (OPJ_UINT32)((a + ((OPJ_UINT64)1U << b) - 1U) >> b);
212
2.52M
}
tcd.c:opj_uint_ceildivpow2
Line
Count
Source
210
21.0M
{
211
21.0M
    return (OPJ_UINT32)((a + ((OPJ_UINT64)1U << b) - 1U) >> b);
212
21.0M
}
Unexecuted instantiation: tgt.c:opj_uint_ceildivpow2
Unexecuted instantiation: thread.c:opj_uint_ceildivpow2
Unexecuted instantiation: bio.c:opj_uint_ceildivpow2
Unexecuted instantiation: dwt.c:opj_uint_ceildivpow2
Unexecuted instantiation: function_list.c:opj_uint_ceildivpow2
Unexecuted instantiation: invert.c:opj_uint_ceildivpow2
Unexecuted instantiation: t1.c:opj_uint_ceildivpow2
Unexecuted instantiation: t2.c:opj_uint_ceildivpow2
Unexecuted instantiation: sparse_array.c:opj_uint_ceildivpow2
Unexecuted instantiation: ht_dec.c:opj_uint_ceildivpow2
Unexecuted instantiation: mqc.c:opj_uint_ceildivpow2
213
214
/**
215
Divide an integer by a power of 2 and round downwards
216
@return Returns a divided by 2^b
217
*/
218
static INLINE OPJ_INT32 opj_int_floordivpow2(OPJ_INT32 a, OPJ_INT32 b)
219
3.55M
{
220
3.55M
    return a >> b;
221
3.55M
}
Unexecuted instantiation: cio.c:opj_int_floordivpow2
Unexecuted instantiation: event.c:opj_int_floordivpow2
Unexecuted instantiation: image.c:opj_int_floordivpow2
Unexecuted instantiation: openjpeg.c:opj_int_floordivpow2
Unexecuted instantiation: j2k.c:opj_int_floordivpow2
Unexecuted instantiation: jp2.c:opj_int_floordivpow2
Unexecuted instantiation: mct.c:opj_int_floordivpow2
Unexecuted instantiation: pi.c:opj_int_floordivpow2
tcd.c:opj_int_floordivpow2
Line
Count
Source
219
3.55M
{
220
3.55M
    return a >> b;
221
3.55M
}
Unexecuted instantiation: tgt.c:opj_int_floordivpow2
Unexecuted instantiation: thread.c:opj_int_floordivpow2
Unexecuted instantiation: bio.c:opj_int_floordivpow2
Unexecuted instantiation: dwt.c:opj_int_floordivpow2
Unexecuted instantiation: function_list.c:opj_int_floordivpow2
Unexecuted instantiation: invert.c:opj_int_floordivpow2
Unexecuted instantiation: t1.c:opj_int_floordivpow2
Unexecuted instantiation: t2.c:opj_int_floordivpow2
Unexecuted instantiation: sparse_array.c:opj_int_floordivpow2
Unexecuted instantiation: ht_dec.c:opj_int_floordivpow2
Unexecuted instantiation: mqc.c:opj_int_floordivpow2
222
223
/**
224
Divide an integer by a power of 2 and round downwards
225
@return Returns a divided by 2^b
226
*/
227
static INLINE OPJ_UINT32 opj_uint_floordivpow2(OPJ_UINT32 a, OPJ_UINT32 b)
228
840k
{
229
840k
    return a >> b;
230
840k
}
Unexecuted instantiation: cio.c:opj_uint_floordivpow2
Unexecuted instantiation: event.c:opj_uint_floordivpow2
Unexecuted instantiation: image.c:opj_uint_floordivpow2
Unexecuted instantiation: openjpeg.c:opj_uint_floordivpow2
Unexecuted instantiation: j2k.c:opj_uint_floordivpow2
Unexecuted instantiation: jp2.c:opj_uint_floordivpow2
Unexecuted instantiation: mct.c:opj_uint_floordivpow2
pi.c:opj_uint_floordivpow2
Line
Count
Source
228
840k
{
229
840k
    return a >> b;
230
840k
}
Unexecuted instantiation: tcd.c:opj_uint_floordivpow2
Unexecuted instantiation: tgt.c:opj_uint_floordivpow2
Unexecuted instantiation: thread.c:opj_uint_floordivpow2
Unexecuted instantiation: bio.c:opj_uint_floordivpow2
Unexecuted instantiation: dwt.c:opj_uint_floordivpow2
Unexecuted instantiation: function_list.c:opj_uint_floordivpow2
Unexecuted instantiation: invert.c:opj_uint_floordivpow2
Unexecuted instantiation: t1.c:opj_uint_floordivpow2
Unexecuted instantiation: t2.c:opj_uint_floordivpow2
Unexecuted instantiation: sparse_array.c:opj_uint_floordivpow2
Unexecuted instantiation: ht_dec.c:opj_uint_floordivpow2
Unexecuted instantiation: mqc.c:opj_uint_floordivpow2
231
232
/**
233
Get logarithm of an integer and round downwards
234
@return Returns log2(a)
235
*/
236
static INLINE OPJ_INT32 opj_int_floorlog2(OPJ_INT32 a)
237
0
{
238
0
    OPJ_INT32 l;
239
0
    for (l = 0; a > 1; l++) {
240
0
        a >>= 1;
241
0
    }
242
0
    return l;
243
0
}
Unexecuted instantiation: cio.c:opj_int_floorlog2
Unexecuted instantiation: event.c:opj_int_floorlog2
Unexecuted instantiation: image.c:opj_int_floorlog2
Unexecuted instantiation: openjpeg.c:opj_int_floorlog2
Unexecuted instantiation: j2k.c:opj_int_floorlog2
Unexecuted instantiation: jp2.c:opj_int_floorlog2
Unexecuted instantiation: mct.c:opj_int_floorlog2
Unexecuted instantiation: pi.c:opj_int_floorlog2
Unexecuted instantiation: tcd.c:opj_int_floorlog2
Unexecuted instantiation: tgt.c:opj_int_floorlog2
Unexecuted instantiation: thread.c:opj_int_floorlog2
Unexecuted instantiation: bio.c:opj_int_floorlog2
Unexecuted instantiation: dwt.c:opj_int_floorlog2
Unexecuted instantiation: function_list.c:opj_int_floorlog2
Unexecuted instantiation: invert.c:opj_int_floorlog2
Unexecuted instantiation: t1.c:opj_int_floorlog2
Unexecuted instantiation: t2.c:opj_int_floorlog2
Unexecuted instantiation: sparse_array.c:opj_int_floorlog2
Unexecuted instantiation: ht_dec.c:opj_int_floorlog2
Unexecuted instantiation: mqc.c:opj_int_floorlog2
244
/**
245
Get logarithm of an integer and round downwards
246
@return Returns log2(a)
247
*/
248
static INLINE OPJ_UINT32  opj_uint_floorlog2(OPJ_UINT32  a)
249
3.74M
{
250
3.74M
    OPJ_UINT32  l;
251
8.16M
    for (l = 0; a > 1; ++l) {
252
4.42M
        a >>= 1;
253
4.42M
    }
254
3.74M
    return l;
255
3.74M
}
Unexecuted instantiation: cio.c:opj_uint_floorlog2
Unexecuted instantiation: event.c:opj_uint_floorlog2
Unexecuted instantiation: image.c:opj_uint_floorlog2
Unexecuted instantiation: openjpeg.c:opj_uint_floorlog2
Unexecuted instantiation: j2k.c:opj_uint_floorlog2
Unexecuted instantiation: jp2.c:opj_uint_floorlog2
Unexecuted instantiation: mct.c:opj_uint_floorlog2
Unexecuted instantiation: pi.c:opj_uint_floorlog2
Unexecuted instantiation: tcd.c:opj_uint_floorlog2
Unexecuted instantiation: tgt.c:opj_uint_floorlog2
Unexecuted instantiation: thread.c:opj_uint_floorlog2
Unexecuted instantiation: bio.c:opj_uint_floorlog2
Unexecuted instantiation: dwt.c:opj_uint_floorlog2
Unexecuted instantiation: function_list.c:opj_uint_floorlog2
Unexecuted instantiation: invert.c:opj_uint_floorlog2
Unexecuted instantiation: t1.c:opj_uint_floorlog2
t2.c:opj_uint_floorlog2
Line
Count
Source
249
3.74M
{
250
3.74M
    OPJ_UINT32  l;
251
8.16M
    for (l = 0; a > 1; ++l) {
252
4.42M
        a >>= 1;
253
4.42M
    }
254
3.74M
    return l;
255
3.74M
}
Unexecuted instantiation: sparse_array.c:opj_uint_floorlog2
Unexecuted instantiation: ht_dec.c:opj_uint_floorlog2
Unexecuted instantiation: mqc.c:opj_uint_floorlog2
256
257
/**
258
Multiply two fixed-precision rational numbers.
259
@param a
260
@param b
261
@return Returns a * b
262
*/
263
static INLINE OPJ_INT32 opj_int_fix_mul(OPJ_INT32 a, OPJ_INT32 b)
264
0
{
265
#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(__INTEL_COMPILER) && defined(_M_IX86)
266
    OPJ_INT64 temp = __emul(a, b);
267
#else
268
0
    OPJ_INT64 temp = (OPJ_INT64) a * (OPJ_INT64) b ;
269
0
#endif
270
0
    temp += 4096;
271
0
    assert((temp >> 13) <= (OPJ_INT64)0x7FFFFFFF);
272
0
    assert((temp >> 13) >= (-(OPJ_INT64)0x7FFFFFFF - (OPJ_INT64)1));
273
0
    return (OPJ_INT32)(temp >> 13);
274
0
}
Unexecuted instantiation: cio.c:opj_int_fix_mul
Unexecuted instantiation: event.c:opj_int_fix_mul
Unexecuted instantiation: image.c:opj_int_fix_mul
Unexecuted instantiation: openjpeg.c:opj_int_fix_mul
Unexecuted instantiation: j2k.c:opj_int_fix_mul
Unexecuted instantiation: jp2.c:opj_int_fix_mul
Unexecuted instantiation: mct.c:opj_int_fix_mul
Unexecuted instantiation: pi.c:opj_int_fix_mul
Unexecuted instantiation: tcd.c:opj_int_fix_mul
Unexecuted instantiation: tgt.c:opj_int_fix_mul
Unexecuted instantiation: thread.c:opj_int_fix_mul
Unexecuted instantiation: bio.c:opj_int_fix_mul
Unexecuted instantiation: dwt.c:opj_int_fix_mul
Unexecuted instantiation: function_list.c:opj_int_fix_mul
Unexecuted instantiation: invert.c:opj_int_fix_mul
Unexecuted instantiation: t1.c:opj_int_fix_mul
Unexecuted instantiation: t2.c:opj_int_fix_mul
Unexecuted instantiation: sparse_array.c:opj_int_fix_mul
Unexecuted instantiation: ht_dec.c:opj_int_fix_mul
Unexecuted instantiation: mqc.c:opj_int_fix_mul
275
276
static INLINE OPJ_INT32 opj_int_fix_mul_t1(OPJ_INT32 a, OPJ_INT32 b)
277
0
{
278
0
#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(__INTEL_COMPILER) && defined(_M_IX86)
279
0
    OPJ_INT64 temp = __emul(a, b);
280
0
#else
281
0
    OPJ_INT64 temp = (OPJ_INT64) a * (OPJ_INT64) b ;
282
0
#endif
283
0
    temp += 4096;
284
0
    assert((temp >> (13 + 11 - T1_NMSEDEC_FRACBITS)) <= (OPJ_INT64)0x7FFFFFFF);
285
0
    assert((temp >> (13 + 11 - T1_NMSEDEC_FRACBITS)) >= (-(OPJ_INT64)0x7FFFFFFF -
286
0
            (OPJ_INT64)1));
287
0
    return (OPJ_INT32)(temp >> (13 + 11 - T1_NMSEDEC_FRACBITS)) ;
288
0
}
Unexecuted instantiation: cio.c:opj_int_fix_mul_t1
Unexecuted instantiation: event.c:opj_int_fix_mul_t1
Unexecuted instantiation: image.c:opj_int_fix_mul_t1
Unexecuted instantiation: openjpeg.c:opj_int_fix_mul_t1
Unexecuted instantiation: j2k.c:opj_int_fix_mul_t1
Unexecuted instantiation: jp2.c:opj_int_fix_mul_t1
Unexecuted instantiation: mct.c:opj_int_fix_mul_t1
Unexecuted instantiation: pi.c:opj_int_fix_mul_t1
Unexecuted instantiation: tcd.c:opj_int_fix_mul_t1
Unexecuted instantiation: tgt.c:opj_int_fix_mul_t1
Unexecuted instantiation: thread.c:opj_int_fix_mul_t1
Unexecuted instantiation: bio.c:opj_int_fix_mul_t1
Unexecuted instantiation: dwt.c:opj_int_fix_mul_t1
Unexecuted instantiation: function_list.c:opj_int_fix_mul_t1
Unexecuted instantiation: invert.c:opj_int_fix_mul_t1
Unexecuted instantiation: t1.c:opj_int_fix_mul_t1
Unexecuted instantiation: t2.c:opj_int_fix_mul_t1
Unexecuted instantiation: sparse_array.c:opj_int_fix_mul_t1
Unexecuted instantiation: ht_dec.c:opj_int_fix_mul_t1
Unexecuted instantiation: mqc.c:opj_int_fix_mul_t1
289
290
/**
291
Addition two signed integers with a wrap-around behaviour.
292
Assumes complement-to-two signed integers.
293
@param a
294
@param b
295
@return Returns a + b
296
*/
297
static INLINE OPJ_INT32 opj_int_add_no_overflow(OPJ_INT32 a, OPJ_INT32 b)
298
0
{
299
0
    void* pa = &a;
300
0
    void* pb = &b;
301
0
    OPJ_UINT32* upa = (OPJ_UINT32*)pa;
302
0
    OPJ_UINT32* upb = (OPJ_UINT32*)pb;
303
0
    OPJ_UINT32 ures = *upa + *upb;
304
0
    void* pures = &ures;
305
0
    OPJ_INT32* ipres = (OPJ_INT32*)pures;
306
0
    return *ipres;
307
0
}
Unexecuted instantiation: cio.c:opj_int_add_no_overflow
Unexecuted instantiation: event.c:opj_int_add_no_overflow
Unexecuted instantiation: image.c:opj_int_add_no_overflow
Unexecuted instantiation: openjpeg.c:opj_int_add_no_overflow
Unexecuted instantiation: j2k.c:opj_int_add_no_overflow
Unexecuted instantiation: jp2.c:opj_int_add_no_overflow
Unexecuted instantiation: mct.c:opj_int_add_no_overflow
Unexecuted instantiation: pi.c:opj_int_add_no_overflow
Unexecuted instantiation: tcd.c:opj_int_add_no_overflow
Unexecuted instantiation: tgt.c:opj_int_add_no_overflow
Unexecuted instantiation: thread.c:opj_int_add_no_overflow
Unexecuted instantiation: bio.c:opj_int_add_no_overflow
Unexecuted instantiation: dwt.c:opj_int_add_no_overflow
Unexecuted instantiation: function_list.c:opj_int_add_no_overflow
Unexecuted instantiation: invert.c:opj_int_add_no_overflow
Unexecuted instantiation: t1.c:opj_int_add_no_overflow
Unexecuted instantiation: t2.c:opj_int_add_no_overflow
Unexecuted instantiation: sparse_array.c:opj_int_add_no_overflow
Unexecuted instantiation: ht_dec.c:opj_int_add_no_overflow
Unexecuted instantiation: mqc.c:opj_int_add_no_overflow
308
309
/**
310
Subtract two signed integers with a wrap-around behaviour.
311
Assumes complement-to-two signed integers.
312
@param a
313
@param b
314
@return Returns a - b
315
*/
316
static INLINE OPJ_INT32 opj_int_sub_no_overflow(OPJ_INT32 a, OPJ_INT32 b)
317
0
{
318
0
    void* pa = &a;
319
0
    void* pb = &b;
320
0
    OPJ_UINT32* upa = (OPJ_UINT32*)pa;
321
0
    OPJ_UINT32* upb = (OPJ_UINT32*)pb;
322
0
    OPJ_UINT32 ures = *upa - *upb;
323
0
    void* pures = &ures;
324
0
    OPJ_INT32* ipres = (OPJ_INT32*)pures;
325
0
    return *ipres;
326
0
}
Unexecuted instantiation: cio.c:opj_int_sub_no_overflow
Unexecuted instantiation: event.c:opj_int_sub_no_overflow
Unexecuted instantiation: image.c:opj_int_sub_no_overflow
Unexecuted instantiation: openjpeg.c:opj_int_sub_no_overflow
Unexecuted instantiation: j2k.c:opj_int_sub_no_overflow
Unexecuted instantiation: jp2.c:opj_int_sub_no_overflow
Unexecuted instantiation: mct.c:opj_int_sub_no_overflow
Unexecuted instantiation: pi.c:opj_int_sub_no_overflow
Unexecuted instantiation: tcd.c:opj_int_sub_no_overflow
Unexecuted instantiation: tgt.c:opj_int_sub_no_overflow
Unexecuted instantiation: thread.c:opj_int_sub_no_overflow
Unexecuted instantiation: bio.c:opj_int_sub_no_overflow
Unexecuted instantiation: dwt.c:opj_int_sub_no_overflow
Unexecuted instantiation: function_list.c:opj_int_sub_no_overflow
Unexecuted instantiation: invert.c:opj_int_sub_no_overflow
Unexecuted instantiation: t1.c:opj_int_sub_no_overflow
Unexecuted instantiation: t2.c:opj_int_sub_no_overflow
Unexecuted instantiation: sparse_array.c:opj_int_sub_no_overflow
Unexecuted instantiation: ht_dec.c:opj_int_sub_no_overflow
Unexecuted instantiation: mqc.c:opj_int_sub_no_overflow
327
328
/* ----------------------------------------------------------------------- */
329
/*@}*/
330
331
/*@}*/
332
333
#endif /* OPJ_INTMATH_H */