Mercurial > hgrepos > Python2 > PyMuPDF
comparison mupdf-source/thirdparty/leptonica/src/fhmtgenlow.1.c @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1:1d09e1dec1d9 | 2:b50eed0cc0ef |
|---|---|
| 1 /*====================================================================* | |
| 2 - Copyright (C) 2001 Leptonica. All rights reserved. | |
| 3 - | |
| 4 - Redistribution and use in source and binary forms, with or without | |
| 5 - modification, are permitted provided that the following conditions | |
| 6 - are met: | |
| 7 - 1. Redistributions of source code must retain the above copyright | |
| 8 - notice, this list of conditions and the following disclaimer. | |
| 9 - 2. Redistributions in binary form must reproduce the above | |
| 10 - copyright notice, this list of conditions and the following | |
| 11 - disclaimer in the documentation and/or other materials | |
| 12 - provided with the distribution. | |
| 13 - | |
| 14 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
| 15 - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
| 16 - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
| 17 - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANY | |
| 18 - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | |
| 19 - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | |
| 20 - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | |
| 21 - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | |
| 22 - OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | |
| 23 - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | |
| 24 - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
| 25 *====================================================================*/ | |
| 26 | |
| 27 /*! | |
| 28 * Low-level fast hit-miss transform with auto-generated sels | |
| 29 * | |
| 30 * Dispatcher: | |
| 31 * l_int32 fhmtgen_low_1() | |
| 32 * | |
| 33 * Static Low-level: | |
| 34 * void fhmt_1_*() | |
| 35 */ | |
| 36 | |
| 37 #include "allheaders.h" | |
| 38 | |
| 39 static void fhmt_1_0(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); | |
| 40 static void fhmt_1_1(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); | |
| 41 static void fhmt_1_2(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); | |
| 42 static void fhmt_1_3(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); | |
| 43 static void fhmt_1_4(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); | |
| 44 static void fhmt_1_5(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); | |
| 45 static void fhmt_1_6(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); | |
| 46 static void fhmt_1_7(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); | |
| 47 static void fhmt_1_8(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); | |
| 48 static void fhmt_1_9(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); | |
| 49 | |
| 50 | |
| 51 /*---------------------------------------------------------------------* | |
| 52 * Fast hmt dispatcher * | |
| 53 *---------------------------------------------------------------------*/ | |
| 54 /*! | |
| 55 * fhmtgen_low_1() | |
| 56 * | |
| 57 * a dispatcher to appropriate low-level code | |
| 58 */ | |
| 59 l_int32 | |
| 60 fhmtgen_low_1(l_uint32 *datad, | |
| 61 l_int32 w, | |
| 62 l_int32 h, | |
| 63 l_int32 wpld, | |
| 64 l_uint32 *datas, | |
| 65 l_int32 wpls, | |
| 66 l_int32 index) | |
| 67 { | |
| 68 | |
| 69 switch (index) | |
| 70 { | |
| 71 case 0: | |
| 72 fhmt_1_0(datad, w, h, wpld, datas, wpls); | |
| 73 break; | |
| 74 case 1: | |
| 75 fhmt_1_1(datad, w, h, wpld, datas, wpls); | |
| 76 break; | |
| 77 case 2: | |
| 78 fhmt_1_2(datad, w, h, wpld, datas, wpls); | |
| 79 break; | |
| 80 case 3: | |
| 81 fhmt_1_3(datad, w, h, wpld, datas, wpls); | |
| 82 break; | |
| 83 case 4: | |
| 84 fhmt_1_4(datad, w, h, wpld, datas, wpls); | |
| 85 break; | |
| 86 case 5: | |
| 87 fhmt_1_5(datad, w, h, wpld, datas, wpls); | |
| 88 break; | |
| 89 case 6: | |
| 90 fhmt_1_6(datad, w, h, wpld, datas, wpls); | |
| 91 break; | |
| 92 case 7: | |
| 93 fhmt_1_7(datad, w, h, wpld, datas, wpls); | |
| 94 break; | |
| 95 case 8: | |
| 96 fhmt_1_8(datad, w, h, wpld, datas, wpls); | |
| 97 break; | |
| 98 case 9: | |
| 99 fhmt_1_9(datad, w, h, wpld, datas, wpls); | |
| 100 break; | |
| 101 } | |
| 102 | |
| 103 return 0; | |
| 104 } | |
| 105 | |
| 106 | |
| 107 /*--------------------------------------------------------------------------* | |
| 108 * Low-level auto-generated static routines * | |
| 109 *--------------------------------------------------------------------------*/ | |
| 110 /* | |
| 111 * N.B. In all the low-level routines, the part of the image | |
| 112 * that is accessed has been clipped by 32 pixels on | |
| 113 * all four sides. This is done in the higher level | |
| 114 * code by redefining w and h smaller and by moving the | |
| 115 * start-of-image pointers up to the beginning of this | |
| 116 * interior rectangle. | |
| 117 */ | |
| 118 static void | |
| 119 fhmt_1_0(l_uint32 *datad, | |
| 120 l_int32 w, | |
| 121 l_int32 h, | |
| 122 l_int32 wpld, | |
| 123 l_uint32 *datas, | |
| 124 l_int32 wpls) | |
| 125 { | |
| 126 l_int32 i; | |
| 127 l_int32 j, pwpls; | |
| 128 l_uint32 *sptr, *dptr; | |
| 129 | |
| 130 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ | |
| 131 | |
| 132 for (i = 0; i < h; i++) { | |
| 133 sptr = datas + i * wpls; | |
| 134 dptr = datad + i * wpld; | |
| 135 for (j = 0; j < pwpls; j++, sptr++, dptr++) { | |
| 136 *dptr = ((~*(sptr - wpls) >> 1) | (~*(sptr - wpls - 1) << 31)) & | |
| 137 (~*(sptr - wpls)) & | |
| 138 ((~*(sptr - wpls) << 1) | (~*(sptr - wpls + 1) >> 31)) & | |
| 139 ((~*(sptr) >> 1) | (~*(sptr - 1) << 31)) & | |
| 140 (*sptr) & | |
| 141 ((~*(sptr) << 1) | (~*(sptr + 1) >> 31)) & | |
| 142 ((~*(sptr + wpls) >> 1) | (~*(sptr + wpls - 1) << 31)) & | |
| 143 (~*(sptr + wpls)) & | |
| 144 ((~*(sptr + wpls) << 1) | (~*(sptr + wpls + 1) >> 31)); | |
| 145 } | |
| 146 } | |
| 147 } | |
| 148 | |
| 149 static void | |
| 150 fhmt_1_1(l_uint32 *datad, | |
| 151 l_int32 w, | |
| 152 l_int32 h, | |
| 153 l_int32 wpld, | |
| 154 l_uint32 *datas, | |
| 155 l_int32 wpls) | |
| 156 { | |
| 157 l_int32 i; | |
| 158 l_int32 j, pwpls; | |
| 159 l_uint32 *sptr, *dptr; | |
| 160 | |
| 161 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ | |
| 162 | |
| 163 for (i = 0; i < h; i++) { | |
| 164 sptr = datas + i * wpls; | |
| 165 dptr = datad + i * wpld; | |
| 166 for (j = 0; j < pwpls; j++, sptr++, dptr++) { | |
| 167 *dptr = ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & | |
| 168 (*sptr) & | |
| 169 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & | |
| 170 ((~*(sptr + wpls) >> 1) | (~*(sptr + wpls - 1) << 31)) & | |
| 171 (~*(sptr + wpls)) & | |
| 172 ((~*(sptr + wpls) << 1) | (~*(sptr + wpls + 1) >> 31)); | |
| 173 } | |
| 174 } | |
| 175 } | |
| 176 | |
| 177 static void | |
| 178 fhmt_1_2(l_uint32 *datad, | |
| 179 l_int32 w, | |
| 180 l_int32 h, | |
| 181 l_int32 wpld, | |
| 182 l_uint32 *datas, | |
| 183 l_int32 wpls) | |
| 184 { | |
| 185 l_int32 i; | |
| 186 l_int32 j, pwpls; | |
| 187 l_uint32 *sptr, *dptr; | |
| 188 | |
| 189 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ | |
| 190 | |
| 191 for (i = 0; i < h; i++) { | |
| 192 sptr = datas + i * wpls; | |
| 193 dptr = datad + i * wpld; | |
| 194 for (j = 0; j < pwpls; j++, sptr++, dptr++) { | |
| 195 *dptr = ((~*(sptr - wpls) >> 1) | (~*(sptr - wpls - 1) << 31)) & | |
| 196 (~*(sptr - wpls)) & | |
| 197 ((~*(sptr - wpls) << 1) | (~*(sptr - wpls + 1) >> 31)) & | |
| 198 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & | |
| 199 (*sptr) & | |
| 200 ((*(sptr) << 1) | (*(sptr + 1) >> 31)); | |
| 201 } | |
| 202 } | |
| 203 } | |
| 204 | |
| 205 static void | |
| 206 fhmt_1_3(l_uint32 *datad, | |
| 207 l_int32 w, | |
| 208 l_int32 h, | |
| 209 l_int32 wpld, | |
| 210 l_uint32 *datas, | |
| 211 l_int32 wpls) | |
| 212 { | |
| 213 l_int32 i; | |
| 214 l_int32 j, pwpls; | |
| 215 l_uint32 *sptr, *dptr; | |
| 216 | |
| 217 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ | |
| 218 | |
| 219 for (i = 0; i < h; i++) { | |
| 220 sptr = datas + i * wpls; | |
| 221 dptr = datad + i * wpld; | |
| 222 for (j = 0; j < pwpls; j++, sptr++, dptr++) { | |
| 223 *dptr = (*(sptr - wpls)) & | |
| 224 ((~*(sptr - wpls) << 1) | (~*(sptr - wpls + 1) >> 31)) & | |
| 225 (*sptr) & | |
| 226 ((~*(sptr) << 1) | (~*(sptr + 1) >> 31)) & | |
| 227 (*(sptr + wpls)) & | |
| 228 ((~*(sptr + wpls) << 1) | (~*(sptr + wpls + 1) >> 31)); | |
| 229 } | |
| 230 } | |
| 231 } | |
| 232 | |
| 233 static void | |
| 234 fhmt_1_4(l_uint32 *datad, | |
| 235 l_int32 w, | |
| 236 l_int32 h, | |
| 237 l_int32 wpld, | |
| 238 l_uint32 *datas, | |
| 239 l_int32 wpls) | |
| 240 { | |
| 241 l_int32 i; | |
| 242 l_int32 j, pwpls; | |
| 243 l_uint32 *sptr, *dptr; | |
| 244 | |
| 245 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ | |
| 246 | |
| 247 for (i = 0; i < h; i++) { | |
| 248 sptr = datas + i * wpls; | |
| 249 dptr = datad + i * wpld; | |
| 250 for (j = 0; j < pwpls; j++, sptr++, dptr++) { | |
| 251 *dptr = ((~*(sptr - wpls) >> 1) | (~*(sptr - wpls - 1) << 31)) & | |
| 252 (*(sptr - wpls)) & | |
| 253 ((~*(sptr) >> 1) | (~*(sptr - 1) << 31)) & | |
| 254 (*sptr) & | |
| 255 ((~*(sptr + wpls) >> 1) | (~*(sptr + wpls - 1) << 31)) & | |
| 256 (*(sptr + wpls)); | |
| 257 } | |
| 258 } | |
| 259 } | |
| 260 | |
| 261 static void | |
| 262 fhmt_1_5(l_uint32 *datad, | |
| 263 l_int32 w, | |
| 264 l_int32 h, | |
| 265 l_int32 wpld, | |
| 266 l_uint32 *datas, | |
| 267 l_int32 wpls) | |
| 268 { | |
| 269 l_int32 i; | |
| 270 l_int32 j, pwpls; | |
| 271 l_uint32 *sptr, *dptr; | |
| 272 l_int32 wpls2, wpls3, wpls4; | |
| 273 l_int32 wpls5, wpls6; | |
| 274 | |
| 275 wpls2 = 2 * wpls; | |
| 276 wpls3 = 3 * wpls; | |
| 277 wpls4 = 4 * wpls; | |
| 278 wpls5 = 5 * wpls; | |
| 279 wpls6 = 6 * wpls; | |
| 280 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ | |
| 281 | |
| 282 for (i = 0; i < h; i++) { | |
| 283 sptr = datas + i * wpls; | |
| 284 dptr = datad + i * wpld; | |
| 285 for (j = 0; j < pwpls; j++, sptr++, dptr++) { | |
| 286 *dptr = ((~*(sptr - wpls6) << 1) | (~*(sptr - wpls6 + 1) >> 31)) & | |
| 287 ((*(sptr - wpls6) << 3) | (*(sptr - wpls6 + 1) >> 29)) & | |
| 288 (~*(sptr - wpls2)) & | |
| 289 ((*(sptr - wpls2) << 2) | (*(sptr - wpls2 + 1) >> 30)) & | |
| 290 ((~*(sptr + wpls2) >> 1) | (~*(sptr + wpls2 - 1) << 31)) & | |
| 291 ((*(sptr + wpls2) << 1) | (*(sptr + wpls2 + 1) >> 31)) & | |
| 292 ((~*(sptr + wpls6) >> 2) | (~*(sptr + wpls6 - 1) << 30)) & | |
| 293 (*(sptr + wpls6)); | |
| 294 } | |
| 295 } | |
| 296 } | |
| 297 | |
| 298 static void | |
| 299 fhmt_1_6(l_uint32 *datad, | |
| 300 l_int32 w, | |
| 301 l_int32 h, | |
| 302 l_int32 wpld, | |
| 303 l_uint32 *datas, | |
| 304 l_int32 wpls) | |
| 305 { | |
| 306 l_int32 i; | |
| 307 l_int32 j, pwpls; | |
| 308 l_uint32 *sptr, *dptr; | |
| 309 l_int32 wpls2; | |
| 310 | |
| 311 wpls2 = 2 * wpls; | |
| 312 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ | |
| 313 | |
| 314 for (i = 0; i < h; i++) { | |
| 315 sptr = datas + i * wpls; | |
| 316 dptr = datad + i * wpld; | |
| 317 for (j = 0; j < pwpls; j++, sptr++, dptr++) { | |
| 318 *dptr = ((~*(sptr - wpls) >> 1) | (~*(sptr - wpls - 1) << 31)) & | |
| 319 (~*(sptr - wpls)) & | |
| 320 ((~*(sptr - wpls) << 1) | (~*(sptr - wpls + 1) >> 31)) & | |
| 321 ((~*(sptr - wpls) << 2) | (~*(sptr - wpls + 1) >> 30)) & | |
| 322 ((~*(sptr) >> 1) | (~*(sptr - 1) << 31)) & | |
| 323 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & | |
| 324 ((~*(sptr + wpls) >> 1) | (~*(sptr + wpls - 1) << 31)) & | |
| 325 ((*(sptr + wpls) << 1) | (*(sptr + wpls + 1) >> 31)) & | |
| 326 ((*(sptr + wpls) << 2) | (*(sptr + wpls + 1) >> 30)) & | |
| 327 ((~*(sptr + wpls2) >> 1) | (~*(sptr + wpls2 - 1) << 31)) & | |
| 328 (*(sptr + wpls2)) & | |
| 329 ((*(sptr + wpls2) << 1) | (*(sptr + wpls2 + 1) >> 31)) & | |
| 330 ((*(sptr + wpls2) << 2) | (*(sptr + wpls2 + 1) >> 30)); | |
| 331 } | |
| 332 } | |
| 333 } | |
| 334 | |
| 335 static void | |
| 336 fhmt_1_7(l_uint32 *datad, | |
| 337 l_int32 w, | |
| 338 l_int32 h, | |
| 339 l_int32 wpld, | |
| 340 l_uint32 *datas, | |
| 341 l_int32 wpls) | |
| 342 { | |
| 343 l_int32 i; | |
| 344 l_int32 j, pwpls; | |
| 345 l_uint32 *sptr, *dptr; | |
| 346 l_int32 wpls2; | |
| 347 | |
| 348 wpls2 = 2 * wpls; | |
| 349 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ | |
| 350 | |
| 351 for (i = 0; i < h; i++) { | |
| 352 sptr = datas + i * wpls; | |
| 353 dptr = datad + i * wpld; | |
| 354 for (j = 0; j < pwpls; j++, sptr++, dptr++) { | |
| 355 *dptr = ((~*(sptr - wpls) >> 2) | (~*(sptr - wpls - 1) << 30)) & | |
| 356 ((~*(sptr - wpls) >> 1) | (~*(sptr - wpls - 1) << 31)) & | |
| 357 (~*(sptr - wpls)) & | |
| 358 ((~*(sptr - wpls) << 1) | (~*(sptr - wpls + 1) >> 31)) & | |
| 359 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & | |
| 360 ((~*(sptr) << 1) | (~*(sptr + 1) >> 31)) & | |
| 361 ((*(sptr + wpls) >> 2) | (*(sptr + wpls - 1) << 30)) & | |
| 362 ((*(sptr + wpls) >> 1) | (*(sptr + wpls - 1) << 31)) & | |
| 363 ((~*(sptr + wpls) << 1) | (~*(sptr + wpls + 1) >> 31)) & | |
| 364 ((*(sptr + wpls2) >> 2) | (*(sptr + wpls2 - 1) << 30)) & | |
| 365 ((*(sptr + wpls2) >> 1) | (*(sptr + wpls2 - 1) << 31)) & | |
| 366 (*(sptr + wpls2)) & | |
| 367 ((~*(sptr + wpls2) << 1) | (~*(sptr + wpls2 + 1) >> 31)); | |
| 368 } | |
| 369 } | |
| 370 } | |
| 371 | |
| 372 static void | |
| 373 fhmt_1_8(l_uint32 *datad, | |
| 374 l_int32 w, | |
| 375 l_int32 h, | |
| 376 l_int32 wpld, | |
| 377 l_uint32 *datas, | |
| 378 l_int32 wpls) | |
| 379 { | |
| 380 l_int32 i; | |
| 381 l_int32 j, pwpls; | |
| 382 l_uint32 *sptr, *dptr; | |
| 383 l_int32 wpls2; | |
| 384 | |
| 385 wpls2 = 2 * wpls; | |
| 386 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ | |
| 387 | |
| 388 for (i = 0; i < h; i++) { | |
| 389 sptr = datas + i * wpls; | |
| 390 dptr = datad + i * wpld; | |
| 391 for (j = 0; j < pwpls; j++, sptr++, dptr++) { | |
| 392 *dptr = ((~*(sptr - wpls2) >> 1) | (~*(sptr - wpls2 - 1) << 31)) & | |
| 393 (*(sptr - wpls2)) & | |
| 394 ((*(sptr - wpls2) << 1) | (*(sptr - wpls2 + 1) >> 31)) & | |
| 395 ((*(sptr - wpls2) << 2) | (*(sptr - wpls2 + 1) >> 30)) & | |
| 396 ((~*(sptr - wpls) >> 1) | (~*(sptr - wpls - 1) << 31)) & | |
| 397 ((*(sptr - wpls) << 1) | (*(sptr - wpls + 1) >> 31)) & | |
| 398 ((*(sptr - wpls) << 2) | (*(sptr - wpls + 1) >> 30)) & | |
| 399 ((~*(sptr) >> 1) | (~*(sptr - 1) << 31)) & | |
| 400 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & | |
| 401 ((~*(sptr + wpls) >> 1) | (~*(sptr + wpls - 1) << 31)) & | |
| 402 (~*(sptr + wpls)) & | |
| 403 ((~*(sptr + wpls) << 1) | (~*(sptr + wpls + 1) >> 31)) & | |
| 404 ((~*(sptr + wpls) << 2) | (~*(sptr + wpls + 1) >> 30)); | |
| 405 } | |
| 406 } | |
| 407 } | |
| 408 | |
| 409 static void | |
| 410 fhmt_1_9(l_uint32 *datad, | |
| 411 l_int32 w, | |
| 412 l_int32 h, | |
| 413 l_int32 wpld, | |
| 414 l_uint32 *datas, | |
| 415 l_int32 wpls) | |
| 416 { | |
| 417 l_int32 i; | |
| 418 l_int32 j, pwpls; | |
| 419 l_uint32 *sptr, *dptr; | |
| 420 l_int32 wpls2; | |
| 421 | |
| 422 wpls2 = 2 * wpls; | |
| 423 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ | |
| 424 | |
| 425 for (i = 0; i < h; i++) { | |
| 426 sptr = datas + i * wpls; | |
| 427 dptr = datad + i * wpld; | |
| 428 for (j = 0; j < pwpls; j++, sptr++, dptr++) { | |
| 429 *dptr = ((*(sptr - wpls2) >> 2) | (*(sptr - wpls2 - 1) << 30)) & | |
| 430 ((*(sptr - wpls2) >> 1) | (*(sptr - wpls2 - 1) << 31)) & | |
| 431 (*(sptr - wpls2)) & | |
| 432 ((~*(sptr - wpls2) << 1) | (~*(sptr - wpls2 + 1) >> 31)) & | |
| 433 ((*(sptr - wpls) >> 2) | (*(sptr - wpls - 1) << 30)) & | |
| 434 ((*(sptr - wpls) >> 1) | (*(sptr - wpls - 1) << 31)) & | |
| 435 ((~*(sptr - wpls) << 1) | (~*(sptr - wpls + 1) >> 31)) & | |
| 436 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & | |
| 437 ((~*(sptr) << 1) | (~*(sptr + 1) >> 31)) & | |
| 438 ((~*(sptr + wpls) >> 2) | (~*(sptr + wpls - 1) << 30)) & | |
| 439 ((~*(sptr + wpls) >> 1) | (~*(sptr + wpls - 1) << 31)) & | |
| 440 (~*(sptr + wpls)) & | |
| 441 ((~*(sptr + wpls) << 1) | (~*(sptr + wpls + 1) >> 31)); | |
| 442 } | |
| 443 } | |
| 444 } | |
| 445 |
