/src/jasper/src/libjasper/jpc/jpc_fix.h
Line | Count | Source |
1 | | /* |
2 | | * Copyright (c) 1999-2000 Image Power, Inc. and the University of |
3 | | * British Columbia. |
4 | | * Copyright (c) 2001-2002 Michael David Adams. |
5 | | * All rights reserved. |
6 | | */ |
7 | | |
8 | | /* __START_OF_JASPER_LICENSE__ |
9 | | * |
10 | | * JasPer License Version 2.0 |
11 | | * |
12 | | * Copyright (c) 2001-2006 Michael David Adams |
13 | | * Copyright (c) 1999-2000 Image Power, Inc. |
14 | | * Copyright (c) 1999-2000 The University of British Columbia |
15 | | * |
16 | | * All rights reserved. |
17 | | * |
18 | | * Permission is hereby granted, free of charge, to any person (the |
19 | | * "User") obtaining a copy of this software and associated documentation |
20 | | * files (the "Software"), to deal in the Software without restriction, |
21 | | * including without limitation the rights to use, copy, modify, merge, |
22 | | * publish, distribute, and/or sell copies of the Software, and to permit |
23 | | * persons to whom the Software is furnished to do so, subject to the |
24 | | * following conditions: |
25 | | * |
26 | | * 1. The above copyright notices and this permission notice (which |
27 | | * includes the disclaimer below) shall be included in all copies or |
28 | | * substantial portions of the Software. |
29 | | * |
30 | | * 2. The name of a copyright holder shall not be used to endorse or |
31 | | * promote products derived from the Software without specific prior |
32 | | * written permission. |
33 | | * |
34 | | * THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS |
35 | | * LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER |
36 | | * THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS |
37 | | * "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING |
38 | | * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A |
39 | | * PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO |
40 | | * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL |
41 | | * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING |
42 | | * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, |
43 | | * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION |
44 | | * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. NO ASSURANCES ARE |
45 | | * PROVIDED BY THE COPYRIGHT HOLDERS THAT THE SOFTWARE DOES NOT INFRINGE |
46 | | * THE PATENT OR OTHER INTELLECTUAL PROPERTY RIGHTS OF ANY OTHER ENTITY. |
47 | | * EACH COPYRIGHT HOLDER DISCLAIMS ANY LIABILITY TO THE USER FOR CLAIMS |
48 | | * BROUGHT BY ANY OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL |
49 | | * PROPERTY RIGHTS OR OTHERWISE. AS A CONDITION TO EXERCISING THE RIGHTS |
50 | | * GRANTED HEREUNDER, EACH USER HEREBY ASSUMES SOLE RESPONSIBILITY TO SECURE |
51 | | * ANY OTHER INTELLECTUAL PROPERTY RIGHTS NEEDED, IF ANY. THE SOFTWARE |
52 | | * IS NOT FAULT-TOLERANT AND IS NOT INTENDED FOR USE IN MISSION-CRITICAL |
53 | | * SYSTEMS, SUCH AS THOSE USED IN THE OPERATION OF NUCLEAR FACILITIES, |
54 | | * AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL |
55 | | * SYSTEMS, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH |
56 | | * THE FAILURE OF THE SOFTWARE OR SYSTEM COULD LEAD DIRECTLY TO DEATH, |
57 | | * PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH |
58 | | * RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY |
59 | | * EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES. |
60 | | * |
61 | | * __END_OF_JASPER_LICENSE__ |
62 | | */ |
63 | | |
64 | | /* |
65 | | * Fixed-Point Number Class |
66 | | * |
67 | | * $Id$ |
68 | | */ |
69 | | |
70 | | #ifndef JPC_FIX_H |
71 | | #define JPC_FIX_H |
72 | | |
73 | | /******************************************************************************\ |
74 | | * Includes. |
75 | | \******************************************************************************/ |
76 | | |
77 | | #include "jasper/jas_config.h" |
78 | | #include "jasper/jas_types.h" |
79 | | #include "jasper/jas_fix.h" |
80 | | #include "jasper/jas_math.h" |
81 | | |
82 | | /******************************************************************************\ |
83 | | * Basic parameters of the fixed-point type. |
84 | | \******************************************************************************/ |
85 | | |
86 | | /* |
87 | | jpc_fix_t. |
88 | | The integral type used to represent a fixed-point number. This |
89 | | type must be capable of representing values from -(2^31) to 2^31-1 |
90 | | (inclusive). |
91 | | |
92 | | jpc_fix_big_t. |
93 | | The integral type used to respresent higher-precision intermediate results. |
94 | | This type should be capable of representing values from -(2^63) to 2^63-1 |
95 | | (inclusive). |
96 | | |
97 | | JPC_FIX_FRACBITS. |
98 | | The number of bits used for the fractional part of a fixed-point number. |
99 | | */ |
100 | | |
101 | | typedef jas_fix_t jpc_fix_t; |
102 | | typedef jas_fix_big_t jpc_fix_big_t; |
103 | | |
104 | | #if defined(JAS_ENABLE_32BIT) |
105 | | #define JPC_FIX_FRACBITS 13 |
106 | | #else |
107 | 512k | #define JPC_FIX_FRACBITS 18 |
108 | | #endif |
109 | | |
110 | | /******************************************************************************\ |
111 | | * Instantiations of the generic fixed-point number macros for the |
112 | | * parameters given above. (Too bad C does not support templates, eh?) |
113 | | * The purpose of these macros is self-evident if one examines the |
114 | | * corresponding macros in the jasper/jas_fix.h header file. |
115 | | \******************************************************************************/ |
116 | | |
117 | 0 | #define JPC_FIX_ZERO JAS_FIX_ZERO(jpc_fix_t, JPC_FIX_FRACBITS) |
118 | 11.0k | #define JPC_FIX_ONE JAS_FIX_ONE(jpc_fix_t, JPC_FIX_FRACBITS) |
119 | 143k | #define JPC_FIX_HALF JAS_FIX_HALF(jpc_fix_t, JPC_FIX_FRACBITS) |
120 | | |
121 | | JAS_ATTRIBUTE_CONST |
122 | | static inline jpc_fix_t jpc_inttofix(int x) |
123 | 83.7k | { |
124 | 83.7k | return JAS_INTTOFIX(jpc_fix_t, JPC_FIX_FRACBITS, x); |
125 | 83.7k | } Unexecuted instantiation: jpc_dec.c:jpc_inttofix Line | Count | Source | 123 | 83.7k | { | 124 | 83.7k | return JAS_INTTOFIX(jpc_fix_t, JPC_FIX_FRACBITS, x); | 125 | 83.7k | } |
Unexecuted instantiation: jpc_math.c:jpc_inttofix Unexecuted instantiation: jpc_mct.c:jpc_inttofix Unexecuted instantiation: jpc_t1cod.c:jpc_inttofix Unexecuted instantiation: jpc_t1dec.c:jpc_inttofix Unexecuted instantiation: jpc_t1enc.c:jpc_inttofix Unexecuted instantiation: jpc_t2cod.c:jpc_inttofix Unexecuted instantiation: jpc_t2dec.c:jpc_inttofix Unexecuted instantiation: jpc_t2enc.c:jpc_inttofix Unexecuted instantiation: jpc_tsfb.c:jpc_inttofix Unexecuted instantiation: jpc_util.c:jpc_inttofix Unexecuted instantiation: jpc_cod.c:jpc_inttofix Unexecuted instantiation: jpc_qmfb.c:jpc_inttofix |
126 | | |
127 | | JAS_ATTRIBUTE_CONST |
128 | | static inline int jpc_fixtoint(jpc_fix_t x) |
129 | 309M | { |
130 | 309M | return JAS_FIXTOINT(jpc_fix_t, JPC_FIX_FRACBITS, x); |
131 | 309M | } Line | Count | Source | 129 | 309M | { | 130 | 309M | return JAS_FIXTOINT(jpc_fix_t, JPC_FIX_FRACBITS, x); | 131 | 309M | } |
Unexecuted instantiation: jpc_enc.c:jpc_fixtoint Unexecuted instantiation: jpc_math.c:jpc_fixtoint Unexecuted instantiation: jpc_mct.c:jpc_fixtoint Unexecuted instantiation: jpc_t1cod.c:jpc_fixtoint Unexecuted instantiation: jpc_t1dec.c:jpc_fixtoint Unexecuted instantiation: jpc_t1enc.c:jpc_fixtoint Unexecuted instantiation: jpc_t2cod.c:jpc_fixtoint Unexecuted instantiation: jpc_t2dec.c:jpc_fixtoint Unexecuted instantiation: jpc_t2enc.c:jpc_fixtoint Unexecuted instantiation: jpc_tsfb.c:jpc_fixtoint Unexecuted instantiation: jpc_util.c:jpc_fixtoint Unexecuted instantiation: jpc_cod.c:jpc_fixtoint Unexecuted instantiation: jpc_qmfb.c:jpc_fixtoint |
132 | | |
133 | | JAS_ATTRIBUTE_CONST |
134 | | static inline double jpc_fixtodbl(jpc_fix_t x) |
135 | 12.8M | { |
136 | 12.8M | return JAS_FIXTODBL(jpc_fix_t, JPC_FIX_FRACBITS, x); |
137 | 12.8M | } Unexecuted instantiation: jpc_dec.c:jpc_fixtodbl Unexecuted instantiation: jpc_enc.c:jpc_fixtodbl Unexecuted instantiation: jpc_math.c:jpc_fixtodbl Unexecuted instantiation: jpc_mct.c:jpc_fixtodbl Unexecuted instantiation: jpc_t1cod.c:jpc_fixtodbl Unexecuted instantiation: jpc_t1dec.c:jpc_fixtodbl Line | Count | Source | 135 | 12.8M | { | 136 | 12.8M | return JAS_FIXTODBL(jpc_fix_t, JPC_FIX_FRACBITS, x); | 137 | 12.8M | } |
Unexecuted instantiation: jpc_t2cod.c:jpc_fixtodbl Unexecuted instantiation: jpc_t2dec.c:jpc_fixtodbl Unexecuted instantiation: jpc_t2enc.c:jpc_fixtodbl Unexecuted instantiation: jpc_tsfb.c:jpc_fixtodbl Unexecuted instantiation: jpc_util.c:jpc_fixtodbl Unexecuted instantiation: jpc_cod.c:jpc_fixtodbl Unexecuted instantiation: jpc_qmfb.c:jpc_fixtodbl |
138 | | |
139 | | JAS_ATTRIBUTE_CONST |
140 | | static inline jpc_fix_t jpc_dbltofix(double x) |
141 | 529M | { |
142 | 529M | return JAS_DBLTOFIX(jpc_fix_t, JPC_FIX_FRACBITS, x); |
143 | 529M | } Unexecuted instantiation: jpc_dec.c:jpc_dbltofix Line | Count | Source | 141 | 916 | { | 142 | 916 | return JAS_DBLTOFIX(jpc_fix_t, JPC_FIX_FRACBITS, x); | 143 | 916 | } |
Unexecuted instantiation: jpc_math.c:jpc_dbltofix Line | Count | Source | 141 | 186M | { | 142 | 186M | return JAS_DBLTOFIX(jpc_fix_t, JPC_FIX_FRACBITS, x); | 143 | 186M | } |
Line | Count | Source | 141 | 4.60k | { | 142 | 4.60k | return JAS_DBLTOFIX(jpc_fix_t, JPC_FIX_FRACBITS, x); | 143 | 4.60k | } |
Unexecuted instantiation: jpc_t1dec.c:jpc_dbltofix Unexecuted instantiation: jpc_t1enc.c:jpc_dbltofix Unexecuted instantiation: jpc_t2cod.c:jpc_dbltofix Unexecuted instantiation: jpc_t2dec.c:jpc_dbltofix Unexecuted instantiation: jpc_t2enc.c:jpc_dbltofix Line | Count | Source | 141 | 447k | { | 142 | 447k | return JAS_DBLTOFIX(jpc_fix_t, JPC_FIX_FRACBITS, x); | 143 | 447k | } |
Unexecuted instantiation: jpc_util.c:jpc_dbltofix Unexecuted instantiation: jpc_cod.c:jpc_dbltofix Line | Count | Source | 141 | 342M | { | 142 | 342M | return JAS_DBLTOFIX(jpc_fix_t, JPC_FIX_FRACBITS, x); | 143 | 342M | } |
|
144 | | |
145 | | JAS_ATTRIBUTE_CONST |
146 | | static inline jpc_fix_t jpc_fix_add(jpc_fix_t x, jpc_fix_t y) |
147 | 863M | { |
148 | 863M | return JAS_FIX_ADD(jpc_fix_t, JPC_FIX_FRACBITS, x, y); |
149 | 863M | } Line | Count | Source | 147 | 30.2M | { | 148 | 30.2M | return JAS_FIX_ADD(jpc_fix_t, JPC_FIX_FRACBITS, x, y); | 149 | 30.2M | } |
Unexecuted instantiation: jpc_enc.c:jpc_fix_add Unexecuted instantiation: jpc_math.c:jpc_fix_add Line | Count | Source | 147 | 186M | { | 148 | 186M | return JAS_FIX_ADD(jpc_fix_t, JPC_FIX_FRACBITS, x, y); | 149 | 186M | } |
Unexecuted instantiation: jpc_t1cod.c:jpc_fix_add Unexecuted instantiation: jpc_t1dec.c:jpc_fix_add Unexecuted instantiation: jpc_t1enc.c:jpc_fix_add Unexecuted instantiation: jpc_t2cod.c:jpc_fix_add Unexecuted instantiation: jpc_t2dec.c:jpc_fix_add Unexecuted instantiation: jpc_t2enc.c:jpc_fix_add Unexecuted instantiation: jpc_tsfb.c:jpc_fix_add Unexecuted instantiation: jpc_util.c:jpc_fix_add Unexecuted instantiation: jpc_cod.c:jpc_fix_add Line | Count | Source | 147 | 647M | { | 148 | 647M | return JAS_FIX_ADD(jpc_fix_t, JPC_FIX_FRACBITS, x, y); | 149 | 647M | } |
|
150 | | |
151 | | JAS_ATTRIBUTE_CONST |
152 | | static inline jpc_fix_t jpc_fix_sub(jpc_fix_t x, jpc_fix_t y) |
153 | 35.7M | { |
154 | 35.7M | return JAS_FIX_SUB(jpc_fix_t, JPC_FIX_FRACBITS, x, y); |
155 | 35.7M | } Line | Count | Source | 153 | 35.7M | { | 154 | 35.7M | return JAS_FIX_SUB(jpc_fix_t, JPC_FIX_FRACBITS, x, y); | 155 | 35.7M | } |
Unexecuted instantiation: jpc_enc.c:jpc_fix_sub Unexecuted instantiation: jpc_math.c:jpc_fix_sub Unexecuted instantiation: jpc_mct.c:jpc_fix_sub Unexecuted instantiation: jpc_t1cod.c:jpc_fix_sub Unexecuted instantiation: jpc_t1dec.c:jpc_fix_sub Unexecuted instantiation: jpc_t1enc.c:jpc_fix_sub Unexecuted instantiation: jpc_t2cod.c:jpc_fix_sub Unexecuted instantiation: jpc_t2dec.c:jpc_fix_sub Unexecuted instantiation: jpc_t2enc.c:jpc_fix_sub Unexecuted instantiation: jpc_tsfb.c:jpc_fix_sub Unexecuted instantiation: jpc_util.c:jpc_fix_sub Unexecuted instantiation: jpc_cod.c:jpc_fix_sub Unexecuted instantiation: jpc_qmfb.c:jpc_fix_sub |
156 | | |
157 | | JAS_ATTRIBUTE_CONST |
158 | | static inline jpc_fix_t jpc_fix_mul(jpc_fix_big_t x, jpc_fix_big_t y) |
159 | 1.24G | { |
160 | 1.24G | return JAS_FIX_MUL(jpc_fix_t, JPC_FIX_FRACBITS, jpc_fix_big_t, x, y); |
161 | 1.24G | } Line | Count | Source | 159 | 65.9M | { | 160 | 65.9M | return JAS_FIX_MUL(jpc_fix_t, JPC_FIX_FRACBITS, jpc_fix_big_t, x, y); | 161 | 65.9M | } |
Unexecuted instantiation: jpc_enc.c:jpc_fix_mul Unexecuted instantiation: jpc_math.c:jpc_fix_mul Line | Count | Source | 159 | 186M | { | 160 | 186M | return JAS_FIX_MUL(jpc_fix_t, JPC_FIX_FRACBITS, jpc_fix_big_t, x, y); | 161 | 186M | } |
Unexecuted instantiation: jpc_t1cod.c:jpc_fix_mul Unexecuted instantiation: jpc_t1dec.c:jpc_fix_mul Unexecuted instantiation: jpc_t1enc.c:jpc_fix_mul Unexecuted instantiation: jpc_t2cod.c:jpc_fix_mul Unexecuted instantiation: jpc_t2dec.c:jpc_fix_mul Unexecuted instantiation: jpc_t2enc.c:jpc_fix_mul Unexecuted instantiation: jpc_tsfb.c:jpc_fix_mul Unexecuted instantiation: jpc_util.c:jpc_fix_mul Unexecuted instantiation: jpc_cod.c:jpc_fix_mul Line | Count | Source | 159 | 991M | { | 160 | 991M | return JAS_FIX_MUL(jpc_fix_t, JPC_FIX_FRACBITS, jpc_fix_big_t, x, y); | 161 | 991M | } |
|
162 | | |
163 | | JAS_ATTRIBUTE_CONST |
164 | | static inline jpc_fix_big_t jpc_fix_mulbyint(jpc_fix_big_t x, int y) |
165 | 0 | { |
166 | 0 | return JAS_FIX_MUL(jpc_fix_t, JPC_FIX_FRACBITS, jpc_fix_big_t, x, y); |
167 | 0 | } Unexecuted instantiation: jpc_dec.c:jpc_fix_mulbyint Unexecuted instantiation: jpc_enc.c:jpc_fix_mulbyint Unexecuted instantiation: jpc_math.c:jpc_fix_mulbyint Unexecuted instantiation: jpc_mct.c:jpc_fix_mulbyint Unexecuted instantiation: jpc_t1cod.c:jpc_fix_mulbyint Unexecuted instantiation: jpc_t1dec.c:jpc_fix_mulbyint Unexecuted instantiation: jpc_t1enc.c:jpc_fix_mulbyint Unexecuted instantiation: jpc_t2cod.c:jpc_fix_mulbyint Unexecuted instantiation: jpc_t2dec.c:jpc_fix_mulbyint Unexecuted instantiation: jpc_t2enc.c:jpc_fix_mulbyint Unexecuted instantiation: jpc_tsfb.c:jpc_fix_mulbyint Unexecuted instantiation: jpc_util.c:jpc_fix_mulbyint Unexecuted instantiation: jpc_cod.c:jpc_fix_mulbyint Unexecuted instantiation: jpc_qmfb.c:jpc_fix_mulbyint |
168 | | |
169 | | JAS_ATTRIBUTE_CONST |
170 | | static inline jpc_fix_t jpc_fix_div(jpc_fix_big_t x, jpc_fix_t y) |
171 | 0 | { |
172 | 0 | return JAS_FIX_DIV(jpc_fix_t, JPC_FIX_FRACBITS, jpc_fix_big_t, x, y); |
173 | 0 | } Unexecuted instantiation: jpc_dec.c:jpc_fix_div Unexecuted instantiation: jpc_enc.c:jpc_fix_div Unexecuted instantiation: jpc_math.c:jpc_fix_div Unexecuted instantiation: jpc_mct.c:jpc_fix_div Unexecuted instantiation: jpc_t1cod.c:jpc_fix_div Unexecuted instantiation: jpc_t1dec.c:jpc_fix_div Unexecuted instantiation: jpc_t1enc.c:jpc_fix_div Unexecuted instantiation: jpc_t2cod.c:jpc_fix_div Unexecuted instantiation: jpc_t2dec.c:jpc_fix_div Unexecuted instantiation: jpc_t2enc.c:jpc_fix_div Unexecuted instantiation: jpc_tsfb.c:jpc_fix_div Unexecuted instantiation: jpc_util.c:jpc_fix_div Unexecuted instantiation: jpc_cod.c:jpc_fix_div Unexecuted instantiation: jpc_qmfb.c:jpc_fix_div |
174 | | |
175 | | JAS_ATTRIBUTE_CONST |
176 | | static inline jpc_fix_t jpc_fix_neg(jpc_fix_t x) |
177 | 0 | { |
178 | 0 | return JAS_FIX_NEG(jpc_fix_t, JPC_FIX_FRACBITS, x); |
179 | 0 | } Unexecuted instantiation: jpc_dec.c:jpc_fix_neg Unexecuted instantiation: jpc_enc.c:jpc_fix_neg Unexecuted instantiation: jpc_math.c:jpc_fix_neg Unexecuted instantiation: jpc_mct.c:jpc_fix_neg Unexecuted instantiation: jpc_t1cod.c:jpc_fix_neg Unexecuted instantiation: jpc_t1dec.c:jpc_fix_neg Unexecuted instantiation: jpc_t1enc.c:jpc_fix_neg Unexecuted instantiation: jpc_t2cod.c:jpc_fix_neg Unexecuted instantiation: jpc_t2dec.c:jpc_fix_neg Unexecuted instantiation: jpc_t2enc.c:jpc_fix_neg Unexecuted instantiation: jpc_tsfb.c:jpc_fix_neg Unexecuted instantiation: jpc_util.c:jpc_fix_neg Unexecuted instantiation: jpc_cod.c:jpc_fix_neg Unexecuted instantiation: jpc_qmfb.c:jpc_fix_neg |
180 | | |
181 | | //#define jpc_fix_asl(x, n) JAS_FIX_ASL(jpc_fix_t, JPC_FIX_FRACBITS, x, n) |
182 | | //#define jpc_fix_asr(x, n) JAS_FIX_ASR(jpc_fix_t, JPC_FIX_FRACBITS, x, n) |
183 | | |
184 | | #if 0 |
185 | | #ifdef JAS_ENABLE_32BIT |
186 | | #define jpc_fix_asl jas_least32_asl |
187 | | #define jpc_fix_asr jas_least32_asr |
188 | | #else |
189 | | #define jpc_fix_asl jas_fast32_asl |
190 | | #define jpc_fix_asr jas_fast32_asr |
191 | | #endif |
192 | | #endif |
193 | 106M | #define jpc_fix_asl jas_fix_asl |
194 | 3.54G | #define jpc_fix_asr jas_fix_asr |
195 | | |
196 | | #define jpc_fix_pluseq(x, y) \ |
197 | 0 | JAS_FIX_PLUSEQ(jpc_fix_t, JPC_FIX_FRACBITS, x, y) |
198 | | #define jpc_fix_minuseq(x, y) \ |
199 | 660M | JAS_FIX_MINUSEQ(jpc_fix_t, JPC_FIX_FRACBITS, x, y) |
200 | | #define jpc_fix_muleq(x, y) \ |
201 | | JAS_FIX_MULEQ(jpc_fix_t, JPC_FIX_FRACBITS, jpc_fix_big_t, x, y) |
202 | | |
203 | | JAS_ATTRIBUTE_CONST |
204 | | static inline jpc_fix_t jpc_fix_abs(jpc_fix_t x) |
205 | 0 | { |
206 | 0 | return JAS_FIX_ABS(jpc_fix_t, JPC_FIX_FRACBITS, x); |
207 | 0 | } Unexecuted instantiation: jpc_dec.c:jpc_fix_abs Unexecuted instantiation: jpc_enc.c:jpc_fix_abs Unexecuted instantiation: jpc_math.c:jpc_fix_abs Unexecuted instantiation: jpc_mct.c:jpc_fix_abs Unexecuted instantiation: jpc_t1cod.c:jpc_fix_abs Unexecuted instantiation: jpc_t1dec.c:jpc_fix_abs Unexecuted instantiation: jpc_t1enc.c:jpc_fix_abs Unexecuted instantiation: jpc_t2cod.c:jpc_fix_abs Unexecuted instantiation: jpc_t2dec.c:jpc_fix_abs Unexecuted instantiation: jpc_t2enc.c:jpc_fix_abs Unexecuted instantiation: jpc_tsfb.c:jpc_fix_abs Unexecuted instantiation: jpc_util.c:jpc_fix_abs Unexecuted instantiation: jpc_cod.c:jpc_fix_abs Unexecuted instantiation: jpc_qmfb.c:jpc_fix_abs |
208 | | |
209 | | JAS_ATTRIBUTE_CONST |
210 | | static inline bool jpc_fix_isint(jpc_fix_t x) |
211 | 0 | { |
212 | 0 | return JAS_FIX_ISINT(jpc_fix_t, JPC_FIX_FRACBITS, x); |
213 | 0 | } Unexecuted instantiation: jpc_dec.c:jpc_fix_isint Unexecuted instantiation: jpc_enc.c:jpc_fix_isint Unexecuted instantiation: jpc_math.c:jpc_fix_isint Unexecuted instantiation: jpc_mct.c:jpc_fix_isint Unexecuted instantiation: jpc_t1cod.c:jpc_fix_isint Unexecuted instantiation: jpc_t1dec.c:jpc_fix_isint Unexecuted instantiation: jpc_t1enc.c:jpc_fix_isint Unexecuted instantiation: jpc_t2cod.c:jpc_fix_isint Unexecuted instantiation: jpc_t2dec.c:jpc_fix_isint Unexecuted instantiation: jpc_t2enc.c:jpc_fix_isint Unexecuted instantiation: jpc_tsfb.c:jpc_fix_isint Unexecuted instantiation: jpc_util.c:jpc_fix_isint Unexecuted instantiation: jpc_cod.c:jpc_fix_isint Unexecuted instantiation: jpc_qmfb.c:jpc_fix_isint |
214 | | |
215 | | JAS_ATTRIBUTE_CONST |
216 | | static inline int jpc_fix_sgn(jpc_fix_t x) |
217 | 0 | { |
218 | 0 | return JAS_FIX_SGN(jpc_fix_t, JPC_FIX_FRACBITS, x); |
219 | 0 | } Unexecuted instantiation: jpc_dec.c:jpc_fix_sgn Unexecuted instantiation: jpc_enc.c:jpc_fix_sgn Unexecuted instantiation: jpc_math.c:jpc_fix_sgn Unexecuted instantiation: jpc_mct.c:jpc_fix_sgn Unexecuted instantiation: jpc_t1cod.c:jpc_fix_sgn Unexecuted instantiation: jpc_t1dec.c:jpc_fix_sgn Unexecuted instantiation: jpc_t1enc.c:jpc_fix_sgn Unexecuted instantiation: jpc_t2cod.c:jpc_fix_sgn Unexecuted instantiation: jpc_t2dec.c:jpc_fix_sgn Unexecuted instantiation: jpc_t2enc.c:jpc_fix_sgn Unexecuted instantiation: jpc_tsfb.c:jpc_fix_sgn Unexecuted instantiation: jpc_util.c:jpc_fix_sgn Unexecuted instantiation: jpc_cod.c:jpc_fix_sgn Unexecuted instantiation: jpc_qmfb.c:jpc_fix_sgn |
220 | | |
221 | | JAS_ATTRIBUTE_CONST |
222 | | static inline jpc_fix_t jpc_fix_round(jpc_fix_t x) |
223 | 309M | { |
224 | 309M | return JAS_FIX_ROUND(jpc_fix_t, JPC_FIX_FRACBITS, x); |
225 | 309M | } Line | Count | Source | 223 | 309M | { | 224 | 309M | return JAS_FIX_ROUND(jpc_fix_t, JPC_FIX_FRACBITS, x); | 225 | 309M | } |
Unexecuted instantiation: jpc_enc.c:jpc_fix_round Unexecuted instantiation: jpc_math.c:jpc_fix_round Unexecuted instantiation: jpc_mct.c:jpc_fix_round Unexecuted instantiation: jpc_t1cod.c:jpc_fix_round Unexecuted instantiation: jpc_t1dec.c:jpc_fix_round Unexecuted instantiation: jpc_t1enc.c:jpc_fix_round Unexecuted instantiation: jpc_t2cod.c:jpc_fix_round Unexecuted instantiation: jpc_t2dec.c:jpc_fix_round Unexecuted instantiation: jpc_t2enc.c:jpc_fix_round Unexecuted instantiation: jpc_tsfb.c:jpc_fix_round Unexecuted instantiation: jpc_util.c:jpc_fix_round Unexecuted instantiation: jpc_cod.c:jpc_fix_round Unexecuted instantiation: jpc_qmfb.c:jpc_fix_round |
226 | | |
227 | | JAS_ATTRIBUTE_CONST |
228 | | static inline jpc_fix_t jpc_fix_floor(jpc_fix_t x) |
229 | 0 | { |
230 | 0 | return JAS_FIX_FLOOR(jpc_fix_t, JPC_FIX_FRACBITS, x); |
231 | 0 | } Unexecuted instantiation: jpc_dec.c:jpc_fix_floor Unexecuted instantiation: jpc_enc.c:jpc_fix_floor Unexecuted instantiation: jpc_math.c:jpc_fix_floor Unexecuted instantiation: jpc_mct.c:jpc_fix_floor Unexecuted instantiation: jpc_t1cod.c:jpc_fix_floor Unexecuted instantiation: jpc_t1dec.c:jpc_fix_floor Unexecuted instantiation: jpc_t1enc.c:jpc_fix_floor Unexecuted instantiation: jpc_t2cod.c:jpc_fix_floor Unexecuted instantiation: jpc_t2dec.c:jpc_fix_floor Unexecuted instantiation: jpc_t2enc.c:jpc_fix_floor Unexecuted instantiation: jpc_tsfb.c:jpc_fix_floor Unexecuted instantiation: jpc_util.c:jpc_fix_floor Unexecuted instantiation: jpc_cod.c:jpc_fix_floor Unexecuted instantiation: jpc_qmfb.c:jpc_fix_floor |
232 | | |
233 | | /******************************************************************************\ |
234 | | * Extra macros for convenience. |
235 | | \******************************************************************************/ |
236 | | |
237 | | /* Compute the sum of three fixed-point numbers. */ |
238 | | JAS_ATTRIBUTE_CONST |
239 | | static inline jpc_fix_t jpc_fix_add3(jpc_fix_t x, jpc_fix_t y, jpc_fix_t z) |
240 | 46.5M | { |
241 | 46.5M | return jpc_fix_add(jpc_fix_add(x, y), z); |
242 | 46.5M | } Unexecuted instantiation: jpc_dec.c:jpc_fix_add3 Unexecuted instantiation: jpc_enc.c:jpc_fix_add3 Unexecuted instantiation: jpc_math.c:jpc_fix_add3 Line | Count | Source | 240 | 46.5M | { | 241 | 46.5M | return jpc_fix_add(jpc_fix_add(x, y), z); | 242 | 46.5M | } |
Unexecuted instantiation: jpc_t1cod.c:jpc_fix_add3 Unexecuted instantiation: jpc_t1dec.c:jpc_fix_add3 Unexecuted instantiation: jpc_t1enc.c:jpc_fix_add3 Unexecuted instantiation: jpc_t2cod.c:jpc_fix_add3 Unexecuted instantiation: jpc_t2dec.c:jpc_fix_add3 Unexecuted instantiation: jpc_t2enc.c:jpc_fix_add3 Unexecuted instantiation: jpc_tsfb.c:jpc_fix_add3 Unexecuted instantiation: jpc_util.c:jpc_fix_add3 Unexecuted instantiation: jpc_cod.c:jpc_fix_add3 Unexecuted instantiation: jpc_qmfb.c:jpc_fix_add3 |
243 | | |
244 | | #endif |