/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */
/* time: July 28, 1993 10:21:48 am PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: ImagerPixelImpl, module: ImagerPixelImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3188986349,3604261867] ImagerPixelImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; word r;} W9;
typedef struct {W8 f; W8 r;} W16;
typedef struct {W16 f; W6 r;} W22;
typedef W2 *W2Pt;
#define SOURCE(p, l) /* source p, l */
static float fc11 = 2147483647.0;
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static float fc33 = 0.0;
static float fc38 = 65536.0;
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
static float fc68 = 1.0;
static float fc71 = 0.5;
#define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) )
static void NoName←Q3756();
static void ImagerPixelImpl←P0();
static word NewPixels←P120();
static word ObtainScratchPixels←P180();
static void ReleaseScratchPixels←P240();
static void DoWithScratchPixels←P300();
static word NoName←Q3816();
static word NewPixelMap←P360();
static word MakePixelMap←P420();
static void GetPixels←P480();
static void PutPixels←P540();
static word ScaledFromRealMod←P600();
static void Resample1←P660();
static void boxes←P1668();
static void action←P1728();
static void Resample←P720();
static void boxActionPointSamples←P1884();
static void boxActionInterpolatedSamples←P1944();
static word HalfInteger←P780();
static void NoName←Q3876();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\260\302\146\322\300\075\027\134\123\100\214\000\000"};
static struct {unsigned f; char r[12];} string2 = {524296, "\011\000\004\040\040\000\010\001\000\000\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\260\302\146\322\300\075\027\134\123\100\354\000\000"};
static struct {unsigned f; char r[12];} string4 = {589833, "\011\000\004\100\240\040\001\030\001\000\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\276\024\021\355\300\326\324\253\353\100\164\000\000"};
static struct {unsigned f; char r[8];} string6 = {393222, "\006\001 \004O\377\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\213\226\301\143\300\072\355\320\373\100\150\000\000"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\243\162\130\311\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\260\302\146\322\300\075\027\134\123\100\150\000\000"};
static struct {
word f0[26]; word f26; word f27; word f28;
word f29; word f30; word f31; word f32;
word f33; word f34; word f35; word f36;
word f37; word f38; word f39; word f40;
word f41; word f42; word f43; word f44;
word f45; word f46; word f47; word f48;
word f49; word f50; word f51[9];
} globalframe = {
{0}, (word) HalfInteger←P780, 0, (word) Resample←P720,
0, (word) Resample1←P660, 0, (word) ScaledFromRealMod←P600,
0, (word) PutPixels←P540, 0, (word) GetPixels←P480,
0, (word) MakePixelMap←P420, 0, (word) NewPixelMap←P360,
0, (word) DoWithScratchPixels←P300, 0, (word) ReleaseScratchPixels←P240,
0, (word) ObtainScratchPixels←P180, 0, (word) NewPixels←P120,
0, (word) ImagerPixelImpl←P0, {0}
};
static void NoName←Q3756()
{
register ptr gf←c0296 = (ptr) &globalframe;
word var←c22152;
(* (( (ptr) gf←c0296)+23) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c0296)+24) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
(void) XR←DeclareGlobalFrame((word) "ImagerPixelImpl", &globalframe, (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6)
, (word) (( (bPt) gf←c0296)+200)/* var←c19464 */ );
var←c22152 = (word) XR←ImportInterface((word) "ImagerSample", (word) XR←GetTypeIndexS((word) (&string7)), 60);
(* (( (ptr) gf←c0296)+56)/* var←c19720 */ ) = var←c22152;
(void) XR←ImportProcS(var←c22152, 67905026);
(void) XR←ImportProcS(var←c22152, 1312773);
(void) XR←ImportProcS(var←c22152, 2370311);
(void) XR←ImportProcS(var←c22152, 2107398);
(void) XR←ImportProcS(var←c22152, 68685571);
(void) XR←ImportProcS(var←c22152, 67633410);
var←c22152 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string8)), 55);
(* (( (ptr) gf←c0296)+57)/* var←c20648 */ ) = var←c22152;
(void) XR←ImportProcS(var←c22152, 135013634);
(void) XR←ImportProcS(var←c22152, 135013890);
(void) XR←ImportProcS(var←c22152, 67383297);
var←c22152 = (word) XR←ImportInterface((word) "SF", (word) XR←GetTypeIndexS((word) (&string9)), 19);
(* (( (ptr) gf←c0296)+58)/* var←c20712 */ ) = var←c22152;
(void) XR←ImportProcS(var←c22152, 68160769);
var←c22152 = (word) XR←ExportInterface((word) "ImagerPixel", (word) XR←GetTypeIndexS((word) (&string10)), 9);
(* (( (ptr) gf←c0296)+59)/* var←c22184 */ ) = var←c22152;
(void) XR←ExportProcS(var←c22152, (word) (( (bPt) gf←c0296)+192)/* var←c19432 */ , 67895299, (word) "NewPixels");
(void) XR←ExportProcS(var←c22152, (word) (( (bPt) gf←c0296)+184)/* var←c19400 */ , 67633410, (word) "ObtainScratchPixels")
;
(void) XR←ExportProcS(var←c22152, (word) (( (bPt) gf←c0296)+176)/* var←c19368 */ , 262657, (word) "ReleaseScratchPixels")
;
(void) XR←ExportProcS(var←c22152, (word) (( (bPt) gf←c0296)+168)/* var←c19336 */ , 787203, (word) "DoWithScratchPixels");
(void) XR←ExportProcS(var←c22152, (word) (( (bPt) gf←c0296)+160)/* var←c19304 */ , 68682755, (word) "NewPixelMap");
(void) XR←ExportProcS(var←c22152, (word) (( (bPt) gf←c0296)+152)/* var←c19272 */ , 68420869, (word) "MakePixelMap");
(void) XR←ExportProcS(var←c22152, (word) (( (bPt) gf←c0296)+144)/* var←c19240 */ , 2098694, (word) "GetPixels");
(void) XR←ExportProcS(var←c22152, (word) (( (bPt) gf←c0296)+136)/* var←c19208 */ , 2361095, (word) "PutPixels");
(void) XR←ExportProcS(var←c22152, (word) (( (bPt) gf←c0296)+112)/* var←c19112 */ , 2361350, (word) "Resample");
}
static void ImagerPixelImpl←P0(formal←c025, formal←c024)
word formal←c025;
word formal←c024;
{
register ptr gf←c22216 = (ptr) &globalframe;
/* ImagerPixelImpl: */
SOURCE(524, 17181)
SOURCE(4788, 35)
(* (( (ptr) gf←c22216)+20)/* realLastInt←v3168 */ ) = (* (ptr) &fc11 );
}
static word NewPixels←P120(samplesPerPixel←v3796, length←v3824, scratch←v3852)
word samplesPerPixel←v3796;
word length←v3824;
word scratch←v3852;
{
register ptr gf←c22248 = (ptr) &globalframe;
word var←c3896;
word new←v6144;
/* NewPixels: */
SOURCE(1186, 369)
SOURCE(1299, 26)
new←v6144 = scratch←v3852;
SOURCE(1327, 97)
if ((new←v6144 == 0) || ((* (( (ptr) new←v6144)+1) ) != samplesPerPixel←v3796)) {
SOURCE(1382, 42)
{
word var←c19560;
word var←c19592;
word var←c19624;
var←c19560 = BCK(samplesPerPixel←v3796, 67108863);
var←c19592 = ((word) var←c19560 << 2);
var←c19624 = XR←NewObject((8 + var←c19592), (* (( (ptr) gf←c22248)+23) ));
(* (( (ptr) var←c19624)+1) ) = var←c19560;
new←v6144 = var←c19624;
};
};
SOURCE(1426, 86)
{
register word i←v6188 = 0;
register word noName←c19656;
noName←c19656 = samplesPerPixel←v3796;
if ((i←v6188 >= noName←c19656)) {
goto lab←L100000;
};
lab←L100003: ;
SOURCE(1464, 48)
{
word var←c19688;
{
word pd12;
pd12 = (* (( (ptr) (* (( (ptr) gf←c22248)+56)/* var←c19720 */ ))+5) );
var←c19688 = (word) ( *( (fPt) ((* (ptr) pd12 ))))(length←v3824, 0, pd12);
};
{
word limit13;
(* ((( (ptr) new←v6144)+2)+(
limit13 = (* (( (ptr) new←v6144)+1) ),
BCK(i←v6188, limit13)
)) ) = var←c19688;
};
};
i←v6188 = (i←v6188 + 1);
if ((i←v6188 < noName←c19656)) {
goto lab←L100003;
};
lab←L100000: ;
};
SOURCE(1523, 19)
(* (ptr) new←v6144 ) = length←v3824;
SOURCE(1544, 11)
return(new←v6144);
}
static word ObtainScratchPixels←P180(samplesPerPixel←v3992, length←v4020)
word samplesPerPixel←v3992;
word length←v4020;
{
register ptr gf←c22280 = (ptr) &globalframe;
word var←c4064;
/* ObtainScratchPixels: */
SOURCE(1674, 490)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c22280)+16)/* LOCK←v2692 */ ));
SOURCE(1775, 307)
{
register word i←v6232 = 0;
lab←L100007: ;
{
word buf←v6276;
SOURCE(1818, 41)
buf←v6276 = (* ((( (ptr) gf←c22280)+8)/* scratchPixelBuffers←v2944 */ +BCK(i←v6232, 12)) );
SOURCE(1861, 221)
if ( ( ( (buf←v6276 != 0) ? ((* (( (ptr) buf←v6276)+1) ) == samplesPerPixel←v3992) : 0 ) ? ((* (ptr) buf←v6276 ) >= length←v4020) : 0 ) ) {
SOURCE(1948, 28)
(* ((( (ptr) gf←c22280)+8)/* scratchPixelBuffers←v2944 */ +BCK(i←v6232, 12)) ) = 0;
SOURCE(1978, 19)
(* (ptr) buf←v6276 ) = length←v4020;
SOURCE(1999, 60)
{
register word j←v6320 = 0;
register word noName←c19752;
noName←c19752 = samplesPerPixel←v3992;
if ((j←v6320 >= noName←c19752)) {
goto lab←L100008;
};
lab←L100011: ;
SOURCE(2037, 22)
{
word limit14;
(* (ptr) (* ((( (ptr) buf←v6276)+2)+(
limit14 = (* (( (ptr) buf←v6276)+1) ),
BCK(j←v6320, limit14)
)) ) ) = length←v4020;
};
j←v6320 = (j←v6320 + 1);
if ((j←v6320 < noName←c19752)) {
goto lab←L100011;
};
lab←L100008: ;
};
SOURCE(2070, 12)
(void) (XR←MonitorExit((word) (( (bPt) gf←c22280)+16)/* LOCK←v2692 */ ));
return(buf←v6276);
};
};
if ((i←v6232 >= 11)) {
goto lab←L100004;
};
i←v6232 = (i←v6232 + 1);
goto lab←L100007;
lab←L100004: ;
};
SOURCE(2096, 68)
{
word var←c19784;
var←c19784 = (word) NewPixels←P120(samplesPerPixel←v3992, length←v4020, 0);
(void) (XR←MonitorExit((word) (( (bPt) gf←c22280)+16)/* LOCK←v2692 */ ));
return(var←c19784);
};
}
static void ReleaseScratchPixels←P240(pixels←v4124)
word pixels←v4124;
{
register ptr gf←c22312 = (ptr) &globalframe;
word var←c19848;
word slot←v6364 = 0;
/* ReleaseScratchPixels: */
SOURCE(2168, 514)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c22312)+16)/* LOCK←v2692 */ ));
SOURCE(2249, 41)
if (((* (( (ptr) pixels←v4124)+1) ) == 0)) {
SOURCE(2284, 6)
(void) (XR←MonitorExit((word) (( (bPt) gf←c22312)+16)/* LOCK←v2692 */ ));
return;
};
SOURCE(2301, 109)
{
register word j←v6408 = 1;
register word noName←c19816;
noName←c19816 = (* (( (ptr) pixels←v4124)+1) );
if ((j←v6408 >= noName←c19816)) {
goto lab←L100012;
};
lab←L100015: ;
SOURCE(2346, 64)
{
word limit15;
word limit16;
if (((* (( (ptr) (* ((( (ptr) pixels←v4124)+2)+(
limit15 = (* (( (ptr) pixels←v4124)+1) ),
BCK(j←v6408, limit15)
)) ))+1) ) != (* (( (ptr) (* ((( (ptr) pixels←v4124)+2)+(
limit16 = (* (( (ptr) pixels←v4124)+1) ),
BCK(0, limit16)
)) ))+1) ))) {
SOURCE(2396, 14)
(void) (XR←MonitorExit((word) (( (bPt) gf←c22312)+16)/* LOCK←v2692 */ ));
return;
};
};
j←v6408 = (j←v6408 + 1);
if ((j←v6408 < noName←c19816)) {
goto lab←L100015;
};
lab←L100012: ;
};
SOURCE(2412, 188)
{
register word i←v6452 = 0;
lab←L100019: ;
{
word t←v6496;
SOURCE(2455, 39)
t←v6496 = (* ((( (ptr) gf←c22312)+8)/* scratchPixelBuffers←v2944 */ +BCK(i←v6452, 12)) );
SOURCE(2496, 104)
if ((t←v6496 == 0)) {
SOURCE(2512, 14)
slot←v6364 = i←v6452;
}
else {
SOURCE(2526, 74)
if ((pixels←v4124 == t←v6496)) {
SOURCE(2545, 55)
var←c19848 = (* (( (ptr) (* (( (ptr) gf←c22312)+56)/* var←c19720 */ ))+4) );
(void) (XR←MonitorExit((word) (( (bPt) gf←c22312)+16)/* LOCK←v2692 */ ));
goto lab←L100020;
};
};
};
if ((i←v6452 >= 11)) {
goto lab←L100016;
};
i←v6452 = (i←v6452 + 1);
goto lab←L100019;
lab←L100016: ;
};
SOURCE(2611, 35)
{
word limit17;
(* (ptr) pixels←v4124 ) = (* (( (ptr) (* ((( (ptr) pixels←v4124)+2)+(
limit17 = (* (( (ptr) pixels←v4124)+1) ),
BCK(0, limit17)
)) ))+1) );
};
SOURCE(2648, 34)
(* ((( (ptr) gf←c22312)+8)/* scratchPixelBuffers←v2944 */ +BCK(slot←v6364, 12)) ) = pixels←v4124;
SOURCE(2168, 514)
(void) (XR←MonitorExit((word) (( (bPt) gf←c22312)+16)/* LOCK←v2692 */ ));
return;
/* c2c skipped dead code */
lab←L100020: ;
SOURCE(2545, 55)
(void) XR←RaiseError(var←c19848, 0);
}
static void DoWithScratchPixels←P300(samplesPerPixel←v4184, length←v4212, formal←c0322)
word samplesPerPixel←v4184;
word length←v4212;
word formal←c0322;
{
W6 var←c22344;
/* declaration of action←v4240 skipped */
/* declaration of scratch←v6540 skipped */
var←c22344.f4/* action←v4240 */ = formal←c0322;
/* DoWithScratchPixels: */
SOURCE(2688, 284)
SOURCE(2790, 92)
var←c22344.f5/* scratch←v6540 */ = (word) ObtainScratchPixels←P180(samplesPerPixel←v4184, length←v4212);
SOURCE(2884, 57)
{
word var←c0314;
var←c0314 = (word) &var←c22344;
(void) (word) XR←Enable(( ((word) (fPt) NoName←Q3816) ), ( ((word) (fPt) NoName←Q3876) ), var←c0314);
};
SOURCE(2943, 29)
(void) ReleaseScratchPixels←P240(var←c22344.f5/* scratch←v6540 */ );
}
static word NoName←Q3816(formal←c0301)
word formal←c0301;
{
SOURCE(2884, 57)
{
word pd18;
pd18 = (* (( (ptr) formal←c0301)+4) );
(void) ( *( (fPt) ((* (ptr) pd18 ))))((* ((( (ptr) formal←c0301)+5)) ), pd18);
};
return(0);
}
static word NewPixelMap←P360(samplesPerPixel←v4360, box←v4388, maxSample←v4416)
word samplesPerPixel←v4360;
W4 box←v4388;
word maxSample←v4416;
{
register ptr gf←c22376 = (ptr) &globalframe;
word var←c4460;
word new←v6584;
/* NewPixelMap: */
SOURCE(2978, 473)
SOURCE(3084, 49)
{
word var←c19880;
word var←c19912;
word var←c19944;
var←c19880 = BCK(samplesPerPixel←v4360, 67108863);
var←c19912 = ((word) var←c19880 << 2);
var←c19944 = XR←NewObject((24 + var←c19912), (* (( (ptr) gf←c22376)+24) ));
(* (( (ptr) var←c19944)+5) ) = var←c19880;
new←v6584 = var←c19944;
};
SOURCE(3135, 279)
{
register word i←v6628 = 0;
register word noName←c19976;
noName←c19976 = samplesPerPixel←v4360;
if ((i←v6628 >= noName←c19976)) {
goto lab←L100024;
};
lab←L100027: ;
{
word bitsPerSample←v6672;
SOURCE(3173, 165)
{
word var←c20008;
var←c20008 = (word) ( *( (fPt) ((* (ptr) maxSample←v4416 ))))(i←v6628, maxSample←v4416);
{
word idx19;
bitsPerSample←v6672 = (
idx19 = (word) ( (var←c20008 < 2) ? 1 : ( (var←c20008 < 4) ? 2 : ( (var←c20008 < 16) ? 4 : ( (var←c20008 < 256) ? 8 : ( (var←c20008 <= 65535) ? 16 : 32 ) ) ) ) ) ,
BCK(idx19, 33)
);
};
};
SOURCE(3340, 74)
{
word var←c20040;
{
word pd20;
pd20 = (* (( (ptr) (* (( (ptr) gf←c22376)+56)/* var←c19720 */ ))+19) );
var←c20040 = (word) ( *( (fPt) ((* (ptr) pd20 ))))(box←v4388, bitsPerSample←v6672, 0, pd20);
};
{
word limit21;
(* ((( (ptr) new←v6584)+6)+(
limit21 = (* (( (ptr) new←v6584)+5) ),
BCK(i←v6628, limit21)
)) ) = var←c20040;
};
};
};
i←v6628 = (i←v6628 + 1);
if ((i←v6628 < noName←c19976)) {
goto lab←L100027;
};
lab←L100024: ;
};
SOURCE(3425, 13)
(* (W4Pt) (( (ptr) new←v6584)+1) ) = box←v4388;
SOURCE(3440, 11)
return(new←v6584);
}
static word MakePixelMap←P420(s0←v4520, s1←v4548, s2←v4576, s3←v4604, s4←v4632)
word s0←v4520;
word s1←v4548;
word s2←v4576;
word s3←v4604;
word s4←v4632;
{
register ptr gf←c22408 = (ptr) &globalframe;
word var←c4676;
W5 s←v6716;
word n←v6772;
word new←v6800;
/* MakePixelMap: */
SOURCE(3457, 612)
SOURCE(3557, 64)
s←v6716.f0 = s0←v4520;
s←v6716.f1 = s1←v4548;
s←v6716.f2 = s2←v4576;
s←v6716.f3 = s3←v4604;
s←v6716.f4 = s4←v4632;
SOURCE(3716, 16)
{
word i←v18744;
SOURCE(3623, 90)
i←v18744 = 0;
SOURCE(3666, 47)
lab←L100030: ;
if ( ( (i←v18744 < 5) ? ((* (( (ptr) &s←v6716)+BCK(i←v18744, 5)) ) != 0) : 0 ) ) {
}
else {
goto lab←L100028;
};
SOURCE(3696, 17)
i←v18744 = (i←v18744 + 1);
goto lab←L100030;
lab←L100028: ;
SOURCE(3623, 90)
n←v6772 = i←v18744;
};
SOURCE(3734, 35)
{
word var←c20136;
word var←c20168;
word var←c20200;
var←c20136 = BCK(n←v6772, 67108863);
var←c20168 = ((word) var←c20136 << 2);
var←c20200 = XR←NewObject((24 + var←c20168), (* (( (ptr) gf←c22408)+24) ));
(* (( (ptr) var←c20200)+5) ) = var←c20136;
new←v6800 = var←c20200;
};
SOURCE(3771, 99)
if ((n←v6772 == 0)) {
(* (W4Pt) (( (ptr) new←v6800)+1) ) = (* (W4Pt) (( (ptr) gf←c22408)+52)/* var←c19528 */ );
}
else {
{
W4 var←c20232;
word map←v19032;
map←v19032 = s←v6716.f0;
var←c20232 = (* (W4Pt) map←v19032 );
(* (W4Pt) (( (ptr) new←v6800)+1) ) = var←c20232;
};
};
SOURCE(3872, 101)
{
register word i←v6940 = 0;
if ((i←v6940 >= n←v6772)) {
goto lab←L100033;
};
lab←L100036: ;
{
word assert←v6984;
SOURCE(3896, 62)
{
word var←c0315;
W4 var←c20264;
word map←v18984;
map←v18984 = (* (( (ptr) &s←v6716)+BCK(i←v6940, 5)) );
var←c20264 = (* (W4Pt) map←v18984 );
var←c0315 = (var←c0315 & 4294967294) | ((word) (1 & (XR←EqualWords(&var←c20264, (( (ptr) new←v6800)+1), 4))));
{
word idx22;
assert←v6984 = (
idx22 = (word) ( (unsigned) (var←c0315 & 1) - 1),
BCK(idx22, 1)
);
};
};
SOURCE(3960, 13)
{
word limit23;
(* ((( (ptr) new←v6800)+6)+(
limit23 = (* (( (ptr) new←v6800)+5) ),
BCK(i←v6940, limit23)
)) ) = (* (( (ptr) &s←v6716)+BCK(i←v6940, 5)) );
};
};
i←v6940 = (i←v6940 + 1);
if ((i←v6940 < n←v6772)) {
goto lab←L100036;
};
lab←L100033: ;
};
SOURCE(3984, 4)
{
register word i←v7048;
word assert←v7092;
i←v7048 = n←v6772;
if ((i←v7048 > 4)) {
goto lab←L100038;
};
lab←L100041: ;
SOURCE(4008, 37)
{
word idx24;
assert←v7092 = (
idx24 = (word) ( (unsigned) ((* (( (ptr) &s←v6716)+BCK(i←v7048, 5)) ) == 0) - 1),
BCK(idx24, 1)
);
};
if ((i←v7048 >= 4)) {
goto lab←L100038;
};
i←v7048 = (i←v7048 + 1);
goto lab←L100041;
lab←L100038: ;
};
SOURCE(4056, 13)
return(new←v6800);
}
static void GetPixels←P480(self←v4736, initIndex←v4764, delta←v4792, pixels←v4820, start←v4848, count←v4876)
word self←v4736;
W2 initIndex←v4764;
W2 delta←v4792;
word pixels←v4820;
word start←v4848;
word count←v4876;
{
register ptr gf←c22440 = (ptr) &globalframe;
/* GetPixels: */
SOURCE(4073, 307)
SOURCE(4262, 118)
{
register word i←v7156 = 0;
register word noName←c20296;
noName←c20296 = (* (( (ptr) self←v4736)+5) );
if ((i←v7156 >= noName←c20296)) {
goto lab←L100042;
};
lab←L100045: ;
SOURCE(4305, 75)
{
word pd25;
word limit26;
word limit27;
pd25 = (* (( (ptr) (* (( (ptr) gf←c22440)+56)/* var←c19720 */ ))+44) );
(void) ( *( (fPt) ((* (ptr) pd25 ))))((* ((( (ptr) self←v4736)+6)+(
limit26 = (* (( (ptr) self←v4736)+5) ),
BCK(i←v7156, limit26)
)) ), initIndex←v4764, delta←v4792, (* ((( (ptr) pixels←v4820)+2)+(
limit27 = (* (( (ptr) pixels←v4820)+1) ),
BCK(i←v7156, limit27)
)) ), start←v4848, count←v4876, pd25);
};
i←v7156 = (i←v7156 + 1);
if ((i←v7156 < noName←c20296)) {
goto lab←L100045;
};
lab←L100042: ;
};
}
static void PutPixels←P540(self←v4936, initIndex←v4964, delta←v4992, pixels←v5020, start←v5048, count←v5076, function←v5104)
word self←v4936;
W2 initIndex←v4964;
W2 delta←v4992;
word pixels←v5020;
word start←v5048;
word count←v5076;
word function←v5104;
{
register ptr gf←c22472 = (ptr) &globalframe;
/* PutPixels: */
SOURCE(4395, 378)
SOURCE(4645, 128)
{
register word i←v7200 = 0;
register word noName←c20328;
noName←c20328 = (* (( (ptr) self←v4936)+5) );
if ((i←v7200 >= noName←c20328)) {
goto lab←L100046;
};
lab←L100049: ;
SOURCE(4688, 85)
{
word pd28;
word limit29;
word limit30;
pd28 = (* (( (ptr) (* (( (ptr) gf←c22472)+56)/* var←c19720 */ ))+47) );
(void) ( *( (fPt) ((* (ptr) pd28 ))))((* ((( (ptr) self←v4936)+6)+(
limit29 = (* (( (ptr) self←v4936)+5) ),
BCK(i←v7200, limit29)
)) ), initIndex←v4964, delta←v4992, (* ((( (ptr) pixels←v5020)+2)+(
limit30 = (* (( (ptr) pixels←v5020)+1) ),
BCK(i←v7200, limit30)
)) ), start←v5048, count←v5076
, function←v5104, pd28);
};
i←v7200 = (i←v7200 + 1);
if ((i←v7200 < noName←c20328)) {
goto lab←L100049;
};
lab←L100046: ;
};
}
static word ScaledFromRealMod←P600(d←v5164, m←v5192)
word d←v5164;
word m←v5192;
{
word var←c5256;
word s←v7244 = 0;
/* ScaledFromRealMod: */
SOURCE(4826, 495)
SOURCE(4933, 365)
if ((m←v5192 != 0)) {
SOURCE(4947, 358)
{
word modulus←v7288;
SOURCE(4949, 17)
{
float tf31;
modulus←v7288 = (
tf31 = (float)(unsigned)m←v5192, *(word*)&tf31
);
};
SOURCE(4968, 237)
{
word var←c20392;
var←c20392 = d←v5164;
{
word x32;
word x34;
word x35;
word x36;
word x41;
word x42;
word x43;
word x44;
if ( ( ((
x32 = var←c20392, *(float*)&x32
) >= (
x34 = (* (ptr) &fc33 ), *(float*)&x34
)) ? ((
x35 = var←c20392, *(float*)&x35
) < (
x36 = modulus←v7288, *(float*)&x36
)) : 0 ) ) {
SOURCE(5001, 38)
{
word x37;
word x39;
float tf40;
s←v7244 = (word) XR←REAL32←Fix((
tf40 = (
/*1*/ x37 = d←v5164, *(float*)&x37
/*1*/ ) * (
/*1*/ x39 = (* (ptr) &fc38 ), *(float*)&x39
/*1*/ ), *(word*)&tf40
));
};
}
else {
if ( ( ((
x41 = var←c20392, *(float*)&x41
) > - (
x42 = modulus←v7288, *(float*)&x42
)) ? ((
x43 = var←c20392, *(float*)&x43
) < (
x44 = (* (ptr) &fc33 ), *(float*)&x44
)) : 0 ) ) {
SOURCE(5061, 51)
{
word x45;
word x46;
float tf47;
s←v7244 = (((word) m←v5192 << 16) - (word) XR←REAL32←Fix((
/*1*/ tf47 = ( - (
/*1*/ x45 = d←v5164, *(float*)&x45
/*1*/ )) * (
/*1*/ x46 = (* (ptr) &fc38 ), *(float*)&x46
/*1*/ ), *(word*)&tf47
/*1*/ )));
};
}
else {
SOURCE(5125, 80)
{
word var←c20424;
{
word x48;
word x49;
word x50;
word x51;
float tf52;
word x53;
*(float*)&var←c20424 = ((
/*1*/ x48 = d←v5164, *(float*)&x48
/*1*/ ) - ((
/*1*/ x49 = modulus←v7288, *(float*)&x49
/*1*/ ) * (float)(int)(word) XR←REAL32←Floor((
/*1*/ tf52 = (
/*1*/ x50 = d←v5164, *(float*)&x50
/*1*/ ) / (
/*1*/ x51 = modulus←v7288, *(float*)&x51
/*1*/ ), *(word*)&tf52
/*1*/ )))) * (
/*1*/ x53 = (* (ptr) &fc38 ), *(float*)&x53
/*1*/ );
};
s←v7244 = (word) XR←REAL32←Round(var←c20424);
};
};
};
};
};
SOURCE(5207, 33)
if (( (int)s←v7244 < (int)0)) {
SOURCE(5225, 15)
{
word idx54;
s←v7244 = (s←v7244 & 65535) | (((word) (
idx54 = (word) ( (unsigned) ((unsigned)s←v7244 >> 16) + m←v5192),
BCK(idx54, 65536)
)) << 16);
};
};
SOURCE(5243, 34)
if (( (unsigned) ((unsigned)s←v7244 >> 16) >= m←v5192)) {
SOURCE(5262, 15)
{
word idx55;
s←v7244 = (s←v7244 & 65535) | (((word) (
idx55 = (word) ( (unsigned) ((unsigned)s←v7244 >> 16) - m←v5192),
BCK(idx55, 65536)
)) << 16);
};
};
SOURCE(5280, 18)
if (( (unsigned) ((unsigned)s←v7244 >> 16) >= m←v5192)) {
SOURCE(5298, 5)
(void) XR←RaiseUnnamedError();
};
};
};
SOURCE(5308, 13)
return(s←v7244);
}
static void Resample1←P660(formal←c0323, source←v5716, m←v5744, interpolate←v5772)
word formal←c0323;
word source←v5716;
word m←v5744;
word interpolate←v5772;
{
W9 var←c22504;
/* declaration of dest←v5688 skipped */
/* declaration of var←c20456 skipped */
/* declaration of var←c20488 skipped */
(* (( (ptr) &var←c22504)+4)/* dest←v5688 */ ) = formal←c0323;
/* Resample1: */
SOURCE(5835, 391)
{
word tmpAddr56;
tmpAddr56 = (word) (( (ptr) &var←c22504)+5)/* var←c20456 */ ;
(* (ptr) tmpAddr56 ) = ( ((word) (fPt) action←P1728) );
(* (( (ptr) tmpAddr56) + 1) ) = 1;
};
{
word tmpAddr57;
tmpAddr57 = (word) (( (ptr) &var←c22504)+7)/* var←c20488 */ ;
(* (ptr) tmpAddr57 ) = ( ((word) (fPt) boxes←P1668) );
(* (( (ptr) tmpAddr57) + 1) ) = 1;
};
SOURCE(6124, 102)
(void) Resample←P720(source←v5716, m←v5744, interpolate←v5772, (word) (( (bPt) &var←c22504)+28)/* var←c20488 */ , (* (W4Pt) (
( (ptr) (* (( (ptr) &var←c22504)+4)/* dest←v5688 */ ))+1) ), (word) (( (bPt) &var←c22504)+20)/* var←c20456 */ );
}
static void boxes←P1668(boxAction←v17380, formal←c22536)
word boxAction←v17380;
word formal←c22536;
{
formal←c22536 = (formal←c22536 - 28);
/* boxes: */
SOURCE(5918, 45)
SOURCE(5944, 19)
(void) ( *( (fPt) ((* (ptr) boxAction←v17380 ))))((* (W4Pt) ((( (ptr) (* (( (ptr) formal←c22536)+4) ))+1)) ), boxAction←v17380)
;
}
static void action←P1728(pixels←v17440, min←v17468, formal←c22600)
word pixels←v17440;
W2 min←v17468;
word formal←c22600;
{
register ptr gf←c22568 = (ptr) &globalframe;
formal←c22600 = (formal←c22600 - 20);
/* action: */
SOURCE(5966, 144)
SOURCE(5993, 117)
{
register word j←v7404 = 0;
register word noName←c20520;
noName←c20520 = (* (( (ptr) pixels←v17440)+1) );
if ((j←v7404 >= noName←c20520)) {
goto lab←L100050;
};
lab←L100053: ;
SOURCE(6038, 72)
{
W2 var←c20552;
var←c20552.f0 = 0;
var←c20552.f1 = 1;
{
word pd58;
word limit59;
word limit60;
pd58 = (* (( (ptr) (* (( (ptr) gf←c22568)+56)/* var←c19720 */ ))+47) );
(void) ( *( (fPt) ((* (ptr) pd58 ))))((* ((( (ptr) (* (( (ptr) formal←c22600)+4) ))+6)+(
limit59 = (* (( (ptr) (* (( (ptr) formal←c22600)+4) ))+5) ),
BCK(j←v7404, limit59)
)) ), min←v17468, var←c20552, (* ((( (ptr) pixels←v17440)+2)+(
limit60 = (* (( (ptr) pixels←v17440)+1) ),
BCK(j←v7404, limit60)
)) ), 0, 2147483647
, 0, pd58);
};
};
j←v7404 = (j←v7404 + 1);
if ((j←v7404 < noName←c20520)) {
goto lab←L100053;
};
lab←L100050: ;
};
}
static void Resample←P720(formal←c0324, m←v5860, interpolate←v5888, boxes←v5916, bounds←v5944, formal←c0325)
word formal←c0324;
word m←v5860;
word interpolate←v5888;
word boxes←v5916;
W4 bounds←v5944;
word formal←c0325;
{
W22 var←c22632;
/* declaration of self←v5832 skipped */
/* declaration of action←v5972 skipped */
register ptr gf←c22664 = (ptr) &globalframe;
/* declaration of var←c20584 skipped */
/* declaration of var←c20616 skipped */
(* (( (ptr) &var←c22632)+4)/* self←v5832 */ ) = formal←c0324;
(* (( (ptr) &var←c22632)+5)/* action←v5972 */ ) = formal←c0325;
/* Resample: */
SOURCE(6232, 11206)
{
word tmpAddr61;
tmpAddr61 = (word) (( (ptr) &var←c22632)+6)/* var←c20584 */ ;
(* (ptr) tmpAddr61 ) = ( ((word) (fPt) boxActionInterpolatedSamples←P1944) );
(* (( (ptr) tmpAddr61) + 1) ) = 1;
};
{
word tmpAddr62;
tmpAddr62 = (word) (( (ptr) &var←c22632)+8)/* var←c20616 */ ;
(* (ptr) tmpAddr62 ) = ( ((word) (fPt) boxActionPointSamples←P1884) );
(* (( (ptr) tmpAddr62) + 1) ) = 1;
};
SOURCE(6377, 11061)
{
word pd63;
pd63 = (* (( (ptr) (* (( (ptr) gf←c22664)+57)/* var←c20648 */ ))+52) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd63 ))))(m←v5860, pd63))) {
SOURCE(6422, 11018)
{
/* declaration of samplesPerPixel←v7448 skipped */
/* declaration of sSize←v7476 skipped */
/* declaration of fSize←v7504 skipped */
/* declaration of ssDelta←v7532 skipped */
/* declaration of fsDelta←v7560 skipped */
/* declaration of sfDelta←v7588 skipped */
/* declaration of ffDelta←v7616 skipped */
/* declaration of d0←v7644 skipped */
/* declaration of s0←v7672 skipped */
/* declaration of f0←v7700 skipped */
/* declaration of pixels←v7728 skipped */
word rs←v7756;
word rf←v7784;
SOURCE(6424, 43)
(* (( (ptr) &var←c22632)+10)/* samplesPerPixel←v7448 */ ) = (* (( (ptr) (* (( (ptr) &var←c22632)+4)/* self←v5832 */ ))+5)
);
SOURCE(6469, 44)
{
word idx64;
(* (( (ptr) &var←c22632)+11)/* sSize←v7476 */ ) = (
idx64 = (word) ((* (( (ptr) (* (( (ptr) &var←c22632)+4)/* self←v5832 */ ))+3) ) - (* (( (ptr) (* (( (ptr) &var←c22632)+4)
/* self←v5832 */ ))+1) )),
BCK(idx64, 32768)
);
};
SOURCE(6560, 44)
{
word idx65;
(* (( (ptr) &var←c22632)+12)/* fSize←v7504 */ ) = (
idx65 = (word) ((* (( (ptr) (* (( (ptr) &var←c22632)+4)/* self←v5832 */ ))+4) ) - (* (( (ptr) (* (( (ptr) &var←c22632)+4)
/* self←v5832 */ ))+2) )),
BCK(idx65, 32768)
);
};
SOURCE(6943, 23)
(* (W2Pt) (( (ptr) &var←c22632)+17)/* d0←v7644 */ ) = (* (W2Pt) &bounds←v5944 );
SOURCE(7130, 76)
{
word var←c20680;
{
word pd66;
word idx67;
pd66 = (* (( (ptr) (* (( (ptr) gf←c22664)+58)/* var←c20712 */ ))+17) );
var←c20680 = (
idx67 = (word) ( *( (fPt) ((* (ptr) pd66 ))))(bounds←v5944, pd66),
SGNCK(idx67)
);
};
(* (( (ptr) &var←c22632)+21)/* pixels←v7728 */ ) = (word) ObtainScratchPixels←P180((* (( (ptr) &var←c22632)+10)/* samplesPerPixel←v7448 */ ), var←c20680)
;
};
SOURCE(7208, 18)
rs←v7756 = (* (ptr) &fc33 );
rf←v7784 = (* (ptr) &fc33 );
SOURCE(16627, 64)
{
W2 var←c20776;
{
W2 var←c0150;
{
W2 var←c20744;
var←c20744.f0 = (* (ptr) &fc33 );
var←c20744.f1 = (* (ptr) &fc68 );
{
word pd69;
pd69 = (* (( (ptr) (* (( (ptr) gf←c22664)+57)/* var←c20648 */ ))+42) );
(void) ( *( (fPt) ((* (ptr) pd69 ))))((word) &var←c0150, m←v5860, var←c20744, pd69);
};
};
var←c20776 = var←c0150;
};
rf←v7784 = var←c20776.f1;
rs←v7756 = var←c20776.f0;
};
SOURCE(16693, 41)
(* (( (ptr) &var←c22632)+15)/* sfDelta←v7588 */ ) = (word) ScaledFromRealMod←P600(rs←v7756, (* (( (ptr) &var←c22632)+11)
/* sSize←v7476 */ ));
SOURCE(16736, 41)
(* (( (ptr) &var←c22632)+16)/* ffDelta←v7616 */ ) = (word) ScaledFromRealMod←P600(rf←v7784, (* (( (ptr) &var←c22632)+12)
/* fSize←v7504 */ ));
SOURCE(16779, 64)
{
W2 var←c20840;
{
W2 var←c0153;
{
W2 var←c20808;
var←c20808.f0 = (* (ptr) &fc68 );
var←c20808.f1 = (* (ptr) &fc33 );
{
word pd70;
pd70 = (* (( (ptr) (* (( (ptr) gf←c22664)+57)/* var←c20648 */ ))+42) );
(void) ( *( (fPt) ((* (ptr) pd70 ))))((word) &var←c0153, m←v5860, var←c20808, pd70);
};
};
var←c20840 = var←c0153;
};
rf←v7784 = var←c20840.f1;
rs←v7756 = var←c20840.f0;
};
SOURCE(16845, 41)
(* (( (ptr) &var←c22632)+13)/* ssDelta←v7532 */ ) = (word) ScaledFromRealMod←P600(rs←v7756, (* (( (ptr) &var←c22632)+11)
/* sSize←v7476 */ ));
SOURCE(16888, 41)
(* (( (ptr) &var←c22632)+14)/* fsDelta←v7560 */ ) = (word) ScaledFromRealMod←P600(rf←v7784, (* (( (ptr) &var←c22632)+12)
/* fSize←v7504 */ ));
SOURCE(16931, 75)
{
W2 var←c20904;
{
W2 var←c0156;
{
W2 var←c20872;
{
word x72;
*(float*)&var←c20872.f0 = (float)(int)(* (( (ptr) &var←c22632)+17) ) + (
x72 = (* (ptr) &fc71 ), *(float*)&x72
);
};
{
word x73;
*(float*)&var←c20872.f1 = (float)(int)(* (( (ptr) &var←c22632)+18) ) + (
x73 = (* (ptr) &fc71 ), *(float*)&x73
);
};
{
word pd74;
pd74 = (* (( (ptr) (* (( (ptr) gf←c22664)+57)/* var←c20648 */ ))+41) );
(void) ( *( (fPt) ((* (ptr) pd74 ))))((word) &var←c0156, m←v5860, var←c20872, pd74);
};
};
var←c20904 = var←c0156;
};
rf←v7784 = var←c20904.f1;
rs←v7756 = var←c20904.f0;
};
SOURCE(17008, 157)
{
word tc75;
word tc76;
word tc77;
word tc78;
if ( ( ( (0 != interpolate←v5888) ? (0 != (word) HalfInteger←P780(rs←v7756)) : 0 ) ? (0 != (word) HalfInteger←P780(rf←v7784)
) : 0 ) ) {
tc78 = (word) ( (unsigned) (* (( (hPt) &var←c22632)+31) ) == 0);
}
else {
tc78 = (word) 0;
};
if (tc78) {
tc77 = (word) ( (unsigned) (* (( (hPt) &var←c22632)+33) ) == 0);
}
else {
tc77 = (word) 0;
};
if (tc77) {
tc76 = (word) ( (unsigned) (* (( (hPt) &var←c22632)+27) ) == 0);
}
else {
tc76 = (word) 0;
};
if (tc76) {
tc75 = (word) ( (unsigned) (* (( (hPt) &var←c22632)+29) ) == 0);
}
else {
tc75 = (word) 0;
};
if (tc75) {
SOURCE(17146, 19)
interpolate←v5888 = 0;
};
};
SOURCE(17170, 47)
if ((0 != interpolate←v5888)) {
SOURCE(17192, 11)
{
word x79;
word x80;
*(float*)&rs←v7756 = (
x79 = rs←v7756, *(float*)&x79
) - (
x80 = (* (ptr) &fc71 ), *(float*)&x80
);
};
SOURCE(17205, 12)
{
word x81;
word x82;
*(float*)&rf←v7784 = (
x81 = rf←v7784, *(float*)&x81
) - (
x82 = (* (ptr) &fc71 ), *(float*)&x82
);
};
};
SOURCE(17220, 51)
{
word x83;
float tf84;
(* (( (ptr) &var←c22632)+19)/* s0←v7672 */ ) = (word) ScaledFromRealMod←P600((
tf84 = (
x83 = rs←v7756, *(float*)&x83
) - (float)(int)(* (( (ptr) (* (( (ptr) &var←c22632)+4)/* self←v5832 */ ))+1) ), *(word*)&tf84
), (* (( (ptr) &var←c22632)+11)/* sSize←v7476 */ ));
};
SOURCE(17273, 51)
{
word x85;
float tf86;
(* (( (ptr) &var←c22632)+20)/* f0←v7700 */ ) = (word) ScaledFromRealMod←P600((
tf86 = (
x85 = rf←v7784, *(float*)&x85
) - (float)(int)(* (( (ptr) (* (( (ptr) &var←c22632)+4)/* self←v5832 */ ))+2) ), *(word*)&tf86
), (* (( (ptr) &var←c22632)+12)/* fSize←v7504 */ ));
};
SOURCE(17326, 82)
if ((0 != interpolate←v5888)) {
(void) ( *( (fPt) ((* (ptr) boxes←v5916 ))))((word) ((( (bPt) &var←c22632)+24)/* var←c20584 */ ), boxes←v5916);
}
else {
(void) ( *( (fPt) ((* (ptr) boxes←v5916 ))))((word) ((( (bPt) &var←c22632)+32)/* var←c20616 */ ), boxes←v5916);
};
SOURCE(17410, 28)
(void) ReleaseScratchPixels←P240((* ((( (ptr) &var←c22632)+21)/* pixels←v7728 */ ) ));
};
};
};
}
static void boxActionPointSamples←P1884(box←v17528, formal←c22728)
W4 box←v17528;
word formal←c22728;
{
register ptr gf←c22696 = (ptr) &globalframe;
word count←v7884;
word smax←v7912;
word fmax←v7940;
word ssup←v7968;
word fsup←v7996;
word ssdn←v8024;
word fsdn←v8052;
word sfup←v8080;
word ffup←v8108;
word sfdn←v8136;
word ffdn←v8164;
word d1s←v8192;
word d1f←v8220;
word s1←v8248;
word f1←v8276;
formal←c22728 = (formal←c22728 - 32);
/* boxActionPointSamples: */
SOURCE(7228, 38)
SOURCE(7268, 26)
{
word pd87;
word idx88;
pd87 = (* (( (ptr) (* (( (ptr) gf←c22696)+58)/* var←c20712 */ ))+17) );
count←v7884 = (
idx88 = (word) ( *( (fPt) ((* (ptr) pd87 ))))(box←v17528, pd87),
SGNCK(idx88)
);
};
SOURCE(7296, 50)
smax←v7912 = ((* (( (ptr) formal←c22728)+11) ) << 16);
SOURCE(7348, 50)
fmax←v7940 = ((* (( (ptr) formal←c22728)+12) ) << 16);
SOURCE(7400, 33)
ssup←v7968 = (* (( (ptr) formal←c22728)+13) );
SOURCE(7435, 33)
fsup←v7996 = (* (( (ptr) formal←c22728)+14) );
SOURCE(7470, 47)
ssdn←v8024 = (smax←v7912 - ssup←v7968);
SOURCE(7519, 47)
fsdn←v8052 = (fmax←v7940 - fsup←v7996);
SOURCE(7568, 33)
sfup←v8080 = (* (( (ptr) formal←c22728)+15) );
SOURCE(7603, 33)
ffup←v8108 = (* (( (ptr) formal←c22728)+16) );
SOURCE(7638, 47)
sfdn←v8136 = (smax←v7912 - sfup←v8080);
SOURCE(7687, 47)
ffdn←v8164 = (fmax←v7940 - ffup←v8108);
SOURCE(7801, 26)
s1←v8248 = (* (( (ptr) formal←c22728)+19) );
SOURCE(7869, 26)
f1←v8276 = (* (( (ptr) formal←c22728)+20) );
SOURCE(7937, 15)
{
W2 var←c21128;
var←c21128 = (* (W2Pt) (( (ptr) formal←c22728)+17) );
d1f←v8220 = var←c21128.f1;
d1s←v8192 = var←c21128.f0;
};
SOURCE(7954, 178)
lab←L100056: ;
if (( (int)d1s←v8192 < (int)box←v17528.f0)) {
}
else {
goto lab←L100054;
};
SOURCE(7977, 11)
d1s←v8192 = (d1s←v8192 + 1);
SOURCE(7990, 70)
if ((s1←v8248 < ssdn←v8024)) {
SOURCE(8012, 27)
s1←v8248 = (s1←v8248 + ssup←v7968);
}
else {
SOURCE(8039, 21)
s1←v8248 = (s1←v8248 - ssdn←v8024);
};
SOURCE(8062, 70)
if ((f1←v8276 < fsdn←v8052)) {
SOURCE(8084, 27)
f1←v8276 = (f1←v8276 + fsup←v7996);
}
else {
SOURCE(8111, 21)
f1←v8276 = (f1←v8276 - fsdn←v8052);
};
goto lab←L100056;
lab←L100054: ;
SOURCE(8143, 180)
lab←L100059: ;
if (( (int)d1s←v8192 > (int)box←v17528.f0)) {
}
else {
goto lab←L100057;
};
SOURCE(8166, 11)
d1s←v8192 = (d1s←v8192 - 1);
SOURCE(8179, 71)
if ((s1←v8248 >= ssup←v7968)) {
SOURCE(8202, 27)
s1←v8248 = (s1←v8248 - ssup←v7968);
}
else {
SOURCE(8229, 21)
s1←v8248 = (s1←v8248 + ssdn←v8024);
};
SOURCE(8252, 71)
if ((f1←v8276 >= fsup←v7996)) {
SOURCE(8275, 27)
f1←v8276 = (f1←v8276 - fsup←v7996);
}
else {
SOURCE(8302, 21)
f1←v8276 = (f1←v8276 + fsdn←v8052);
};
goto lab←L100059;
lab←L100057: ;
SOURCE(8334, 15)
(* (( (ptr) formal←c22728)+17) ) = d1s←v8192;
(* (( (ptr) formal←c22728)+18) ) = d1f←v8220;
SOURCE(8351, 13)
(* (( (ptr) formal←c22728)+19) ) = s1←v8248;
SOURCE(8366, 13)
(* (( (ptr) formal←c22728)+20) ) = f1←v8276;
SOURCE(8381, 178)
lab←L100062: ;
if (( (int)d1f←v8220 < (int)box←v17528.f1)) {
}
else {
goto lab←L100060;
};
SOURCE(8404, 11)
d1f←v8220 = (d1f←v8220 + 1);
SOURCE(8417, 70)
if ((s1←v8248 < sfdn←v8136)) {
SOURCE(8439, 27)
s1←v8248 = (s1←v8248 + sfup←v8080);
}
else {
SOURCE(8466, 21)
s1←v8248 = (s1←v8248 - sfdn←v8136);
};
SOURCE(8489, 70)
if ((f1←v8276 < ffdn←v8164)) {
SOURCE(8511, 27)
f1←v8276 = (f1←v8276 + ffup←v8108);
}
else {
SOURCE(8538, 21)
f1←v8276 = (f1←v8276 - ffdn←v8164);
};
goto lab←L100062;
lab←L100060: ;
SOURCE(8570, 180)
lab←L100065: ;
if (( (int)d1f←v8220 > (int)box←v17528.f1)) {
}
else {
goto lab←L100063;
};
SOURCE(8593, 11)
d1f←v8220 = (d1f←v8220 - 1);
SOURCE(8606, 71)
if ((s1←v8248 >= sfup←v8080)) {
SOURCE(8629, 27)
s1←v8248 = (s1←v8248 - sfup←v8080);
}
else {
SOURCE(8656, 21)
s1←v8248 = (s1←v8248 + sfdn←v8136);
};
SOURCE(8679, 71)
if ((f1←v8276 >= ffup←v8108)) {
SOURCE(8702, 27)
f1←v8276 = (f1←v8276 - ffup←v8108);
}
else {
SOURCE(8729, 21)
f1←v8276 = (f1←v8276 + ffdn←v8164);
};
goto lab←L100065;
lab←L100063: ;
SOURCE(8761, 21)
(* (ptr) (* (( (ptr) formal←c22728)+21) ) ) = count←v7884;
SOURCE(8784, 3435)
lab←L100068: ;
SOURCE(8817, 3164)
{
register word i←v8320 = 0;
if ((i←v8320 >= (* (( (ptr) formal←c22728)+10) ))) {
goto lab←L100069;
};
lab←L100072: ;
{
word map←v8364;
word rasterMap←v8392;
word easyLineCalc←v8420;
word samples←v8448;
word s←v8476;
word f←v8504;
SOURCE(8855, 37)
{
word limit89;
map←v8364 = (* ((( (ptr) (* (( (ptr) formal←c22728)+4) ))+6)+(
limit89 = (* (( (ptr) (* (( (ptr) formal←c22728)+4) ))+5) ),
BCK(i←v8320, limit89)
)) );
};
SOURCE(8894, 63)
{
word var←c21160;
var←c21160 = map←v8364;
if ((var←c21160 == 0)) {
goto lab←L100073;
};
if (((* (( (ptr) var←c21160)+6) ) == 0)) {
rasterMap←v8392 = var←c21160;
}
else {
lab←L100073: ;
rasterMap←v8392 = 0;
};
};
SOURCE(9010, 107)
easyLineCalc←v8420 = (unsigned) ( ( (rasterMap←v8392 != 0) ? ((* (( (ptr) rasterMap←v8392)+9) ) == 0) : 0 ) ? (((* (( (ptr) rasterMap←v8392)+7)
) & 037) == 0) : 0 ) ;
SOURCE(9119, 46)
{
word limit90;
samples←v8448 = (* ((( (ptr) (* (( (ptr) formal←c22728)+21) ))+2)+(
limit90 = (* (( (ptr) (* (( (ptr) formal←c22728)+21) ))+1) ),
BCK(i←v8320, limit90)
)) );
};
SOURCE(9167, 25)
s←v8476 = s1←v8248;
SOURCE(9194, 25)
f←v8504 = f1←v8276;
if ( ( ( (int)(* (( (ptr) formal←c22728)+15) ) == (int)0) ? ((* (( (ptr) formal←c22728)+16) ) == 65536) : 0 ) ) {
SOURCE(9291, 537)
{
word count1←v8592;
word count2←v8620;
word count3←v8648;
SOURCE(9293, 37)
{
word x91;
count1←v8592 = (x91 = ((* (( (ptr) formal←c22728)+12) ) - (unsigned) ((unsigned)f←v8504 >> 16)),
MIN((int)(word), count←v7884, x91));
};
SOURCE(9332, 38)
{
word x92;
count2←v8620 = (x92 = (unsigned) ((unsigned)f←v8504 >> 16),
MIN((int)(word), (count←v7884 - count1←v8592), x92));
};
SOURCE(9372, 33)
count3←v8648 = ((count←v7884 - count1←v8592) - count2←v8620);
SOURCE(9407, 136)
{
W2 var←c21224;
W2 var←c21256;
var←c21224.f0 = ( (unsigned) ((unsigned)s←v8476 >> 16) + (* (( (ptr) (* (( (ptr) formal←c22728)+4) ))+1) ));
var←c21224.f1 = ( (unsigned) ((unsigned)f←v8504 >> 16) + (* (( (ptr) (* (( (ptr) formal←c22728)+4) ))+2) ));
var←c21256.f0 = 0;
var←c21256.f1 = 1;
{
word pd93;
pd93 = (* (( (ptr) (* (( (ptr) gf←c22696)+56)/* var←c19720 */ ))+44) );
(void) ( *( (fPt) ((* (ptr) pd93 ))))(map←v8364, var←c21224, var←c21256, samples←v8448, 0, count1←v8592, pd93);
};
};
SOURCE(9545, 155)
if ((count2←v8620 != 0)) {
SOURCE(9564, 136)
{
W2 var←c21288;
W2 var←c21320;
var←c21288.f0 = ( (unsigned) ((unsigned)s←v8476 >> 16) + (* (( (ptr) (* (( (ptr) formal←c22728)+4) ))+1) ));
var←c21288.f1 = (* (( (ptr) (* (( (ptr) formal←c22728)+4) ))+2) );
var←c21320.f0 = 0;
var←c21320.f1 = 1;
{
word pd94;
pd94 = (* (( (ptr) (* (( (ptr) gf←c22696)+56)/* var←c19720 */ ))+44) );
(void) ( *( (fPt) ((* (ptr) pd94 ))))(map←v8364, var←c21288, var←c21320, samples←v8448, count1←v8592, count2←v8620, pd94)
;
};
};
};
SOURCE(9702, 124)
if ((count3←v8648 != 0)) {
SOURCE(9721, 105)
{
word pd95;
pd95 = (* (( (ptr) (* (( (ptr) gf←c22696)+56)/* var←c19720 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd95 ))))(samples←v8448, samples←v8448, SGNCK((count1←v8592 + count2←v8620)), 0, count3←v8648, pd95)
;
};
};
};
}
else {
if ( ( (0 != easyLineCalc←v8420) ? ((* (( (ptr) rasterMap←v8392)+5) ) == 1) : 0 ) ) {
SOURCE(9877, 497)
{
word base←v8692;
word upl←v8720;
word result←v8748;
word lastSHi←v8776;
word line←v8804;
SOURCE(9879, 46)
base←v8692 = (* (( (ptr) rasterMap←v8392)+8) );
SOURCE(9927, 44)
upl←v8720 = ((* (( (ptr) rasterMap←v8392)+7) ) >> 3);
SOURCE(9973, 65)
{
word check←v6104;
check←v6104 = ((* (( (ptr) samples←v8448)+1) ) - count←v7884);
SOURCE(1099, 81)
result←v8748 = (samples←v8448 + 8);
};
SOURCE(10040, 24)
lastSHi←v8776 = (unsigned) ((unsigned)s←v8476 >> 16);
SOURCE(10066, 33)
line←v8804 = (base←v8692 + (lastSHi←v8776 * upl←v8720));
SOURCE(10101, 262)
{
register word k←v8848 = 0;
if ((k←v8848 >= count←v7884)) {
goto lab←L100075;
};
lab←L100078: ;
SOURCE(10129, 63)
if ((lastSHi←v8776 != (unsigned) ((unsigned)s←v8476 >> 16))) {
SOURCE(10153, 14)
lastSHi←v8776 = (unsigned) ((unsigned)s←v8476 >> 16);
SOURCE(10169, 23)
line←v8804 = (base←v8692 + (lastSHi←v8776 * upl←v8720));
};
SOURCE(10203, 25)
SOURCE(10205, 23)
{
word ix96;
(* (( (ptr) result←v8748)+k←v8848) ) = (unsigned) (
ix96 = ((unsigned)f←v8504 >> 16),
((* (ptr) (( (ptr) line←v8804) + ((word) ix96 >> 5)) ) >> (31 - ((word) (ix96 & 037)))) & 1
);
};
SOURCE(10231, 65)
if ((s←v8476 < sfdn←v8136)) {
SOURCE(10252, 25)
s←v8476 = (s←v8476 + sfup←v8080);
}
else {
SOURCE(10277, 19)
s←v8476 = (s←v8476 - sfdn←v8136);
};
SOURCE(10298, 65)
if ((f←v8504 < ffdn←v8164)) {
SOURCE(10319, 25)
f←v8504 = (f←v8504 + ffup←v8108);
}
else {
SOURCE(10344, 19)
f←v8504 = (f←v8504 - ffdn←v8164);
};
k←v8848 = (k←v8848 + 1);
if ((k←v8848 < count←v7884)) {
goto lab←L100078;
};
lab←L100075: ;
};
};
}
else {
if ( ( (0 != easyLineCalc←v8420) ? ((* (( (ptr) rasterMap←v8392)+5) ) == 8) : 0 ) ) {
SOURCE(10423, 713)
{
word base←v8892;
word upl←v8920;
word result←v8948;
SOURCE(10425, 46)
base←v8892 = (* (( (ptr) rasterMap←v8392)+8) );
SOURCE(10473, 44)
upl←v8920 = ((* (( (ptr) rasterMap←v8392)+7) ) >> 3);
SOURCE(10519, 65)
{
word check←v18684;
check←v18684 = ((* (( (ptr) samples←v8448)+1) ) - count←v7884);
SOURCE(1099, 81)
result←v8948 = (samples←v8448 + 8);
};
SOURCE(10586, 536)
if ((sfup←v8080 == 0)) {
SOURCE(10604, 180)
{
word line←v8992;
SOURCE(10606, 36)
line←v8992 = (base←v8892 + ( (unsigned) ((unsigned)s←v8476 >> 16) * upl←v8920));
SOURCE(10644, 129)
{
/*1*/ register word k←v9036 = 0;
/*1*/ if ((k←v9036 >= count←v7884)) {
/*1*/ goto lab←L100080;
/*1*/ };
/*1*/ lab←L100083: ;
SOURCE(10680, 25)
SOURCE(10682, 23)
/*1*/ (* (( (ptr) result←v8948)+k←v9036) ) = (unsigned) (word) (* (( (bPt) line←v8992)+((unsigned)f←v8504 >> 16)) );
SOURCE(10708, 65)
/*1*/ if ((f←v8504 < ffdn←v8164)) {
SOURCE(10729, 25)
/*1*/ f←v8504 = (f←v8504 + ffup←v8108);
/*1*/ }
/*1*/ else {
SOURCE(10754, 19)
/*1*/ f←v8504 = (f←v8504 - ffdn←v8164);
/*1*/ };
/*1*/ k←v9036 = (k←v9036 + 1);
/*1*/ if ((k←v9036 < count←v7884)) {
/*1*/ goto lab←L100083;
/*1*/ };
/*1*/ lab←L100080: ;
/*1*/ };
};
}
else {
SOURCE(10791, 342)
{
word lastSHi←v9080;
word line←v9108;
SOURCE(10793, 24)
lastSHi←v9080 = (unsigned) ((unsigned)s←v8476 >> 16);
SOURCE(10819, 39)
line←v9108 = (base←v8892 + (lastSHi←v9080 * upl←v8920));
SOURCE(10860, 262)
{
/*1*/ register word k←v9152 = 0;
/*1*/ if ((k←v9152 >= count←v7884)) {
/*1*/ goto lab←L100084;
/*1*/ };
/*1*/ lab←L100087: ;
SOURCE(10888, 63)
/*1*/ if ((lastSHi←v9080 != (unsigned) ((unsigned)s←v8476 >> 16))) {
SOURCE(10912, 14)
/*1*/ lastSHi←v9080 = (unsigned) ((unsigned)s←v8476 >> 16);
SOURCE(10928, 23)
/*1*/ line←v9108 = (base←v8892 + (lastSHi←v9080 * upl←v8920));
/*1*/ };
SOURCE(10962, 25)
SOURCE(10964, 23)
/*1*/ (* (( (ptr) result←v8948)+k←v9152) ) = (unsigned) (word) (* (( (bPt) line←v9108)+((unsigned)f←v8504 >> 16)) );
SOURCE(10990, 65)
/*1*/ if ((s←v8476 < sfdn←v8136)) {
SOURCE(11011, 25)
/*1*/ s←v8476 = (s←v8476 + sfup←v8080);
/*1*/ }
/*1*/ else {
SOURCE(11036, 19)
/*1*/ s←v8476 = (s←v8476 - sfdn←v8136);
/*1*/ };
SOURCE(11057, 65)
/*1*/ if ((f←v8504 < ffdn←v8164)) {
SOURCE(11078, 25)
/*1*/ f←v8504 = (f←v8504 + ffup←v8108);
/*1*/ }
/*1*/ else {
SOURCE(11103, 19)
/*1*/ f←v8504 = (f←v8504 - ffdn←v8164);
/*1*/ };
/*1*/ k←v9152 = (k←v9152 + 1);
/*1*/ if ((k←v9152 < count←v7884)) {
/*1*/ goto lab←L100087;
/*1*/ };
/*1*/ lab←L100084: ;
/*1*/ };
};
};
};
}
else {
if ( ( (0 != easyLineCalc←v8420) ? ((* (( (ptr) rasterMap←v8392)+5) ) == 16) : 0 ) ) {
SOURCE(11186, 505)
{
word base←v9196;
word upl←v9224;
word result←v9252;
word lastSHi←v9280;
word line←v9308;
SOURCE(11188, 47)
base←v9196 = (* (( (ptr) rasterMap←v8392)+8) );
SOURCE(11237, 44)
upl←v9224 = ((* (( (ptr) rasterMap←v8392)+7) ) >> 3);
SOURCE(11283, 65)
{
word check←v18640;
check←v18640 = ((* (( (ptr) samples←v8448)+1) ) - count←v7884);
SOURCE(1099, 81)
result←v9252 = (samples←v8448 + 8);
};
SOURCE(11350, 24)
lastSHi←v9280 = (unsigned) ((unsigned)s←v8476 >> 16);
SOURCE(11376, 40)
line←v9308 = (base←v9196 + (lastSHi←v9280 * upl←v9224));
SOURCE(11418, 262)
{
register word k←v9352 = 0;
if ((k←v9352 >= count←v7884)) {
/*1*/ goto lab←L100089;
/*1*/ };
lab←L100092: ;
SOURCE(11446, 63)
if ((lastSHi←v9280 != (unsigned) ((unsigned)s←v8476 >> 16))) {
SOURCE(11470, 14)
/*1*/ lastSHi←v9280 = (unsigned) ((unsigned)s←v8476 >> 16);
SOURCE(11486, 23)
/*1*/ line←v9308 = (base←v9196 + (lastSHi←v9280 * upl←v9224));
/*1*/ };
SOURCE(11520, 25)
SOURCE(11522, 23)
(* (( (ptr) result←v9252)+k←v9352) ) = (unsigned) (word) (* (( (hPt) line←v9308)+((unsigned)f←v8504 >> 16)) );
SOURCE(11548, 65)
if ((s←v8476 < sfdn←v8136)) {
SOURCE(11569, 25)
/*1*/ s←v8476 = (s←v8476 + sfup←v8080);
/*1*/ }
else {
SOURCE(11594, 19)
/*1*/ s←v8476 = (s←v8476 - sfdn←v8136);
/*1*/ };
SOURCE(11615, 65)
if ((f←v8504 < ffdn←v8164)) {
SOURCE(11636, 25)
/*1*/ f←v8504 = (f←v8504 + ffup←v8108);
/*1*/ }
else {
SOURCE(11661, 19)
/*1*/ f←v8504 = (f←v8504 - ffdn←v8164);
/*1*/ };
k←v9352 = (k←v9352 + 1);
if ((k←v9352 < count←v7884)) {
/*1*/ goto lab←L100092;
/*1*/ };
lab←L100089: ;
};
};
}
else {
SOURCE(11735, 246)
{
register word k←v9396 = 0;
if ((k←v9396 >= count←v7884)) {
goto lab←L100093;
};
lab←L100096: ;
SOURCE(11763, 84)
{
word var←c21448;
{
/*1*/ W2 var←c21480;
/*1*/ var←c21480.f0 = ( (unsigned) ((unsigned)s←v8476 >> 16) + (* (( (ptr) (* (( (ptr) formal←c22728)+4) ))+1) ));
/*1*/ var←c21480.f1 = ( (unsigned) ((unsigned)f←v8504 >> 16) + (* (( (ptr) (* (( (ptr) formal←c22728)+4) ))+2) ));
/*1*/ {
/*1*/ word pd97;
/*1*/ pd97 = (* (( (ptr) (* (( (ptr) gf←c22696)+56)/* var←c19720 */ ))+42) );
/*1*/ var←c21448 = (word) ( *( (fPt) ((* (ptr) pd97 ))))(map←v8364, var←c21480, pd97);
/*1*/ };
/*1*/ };
{
/*1*/ word limit98;
/*1*/ (* ((( (ptr) samples←v8448)+2)+(
/*1*/ limit98 = (* (( (ptr) samples←v8448)+1) ),
/*1*/ BCK(k←v9396, limit98)
/*1*/ )) ) = var←c21448;
/*1*/ };
};
SOURCE(11849, 65)
if ((s←v8476 < sfdn←v8136)) {
SOURCE(11870, 25)
s←v8476 = (s←v8476 + sfup←v8080);
}
else {
SOURCE(11895, 19)
s←v8476 = (s←v8476 - sfdn←v8136);
};
SOURCE(11916, 65)
if ((f←v8504 < ffdn←v8164)) {
SOURCE(11937, 25)
f←v8504 = (f←v8504 + ffup←v8108);
}
else {
SOURCE(11962, 19)
f←v8504 = (f←v8504 - ffdn←v8164);
};
k←v9396 = (k←v9396 + 1);
if ((k←v9396 < count←v7884)) {
goto lab←L100096;
};
lab←L100093: ;
};
};
};
};
};
};
i←v8320 = (i←v8320 + 1);
if ((i←v8320 < (* (( (ptr) formal←c22728)+10) ))) {
goto lab←L100072;
};
lab←L100069: ;
};
SOURCE(12004, 26)
{
W2 var←c21512;
var←c21512.f0 = d1s←v8192;
var←c21512.f1 = d1f←v8220;
{
word pd99;
pd99 = (* (( (ptr) formal←c22728)+5) );
(void) ( *( (fPt) ((* (ptr) pd99 ))))((* (( (ptr) formal←c22728)+21) ), var←c21512, pd99);
};
};
SOURCE(12032, 11)
d1s←v8192 = (d1s←v8192 + 1);
SOURCE(12045, 26)
if (( (int)d1s←v8192 >= (int)box←v17528.f2)) {
SOURCE(12071, 4)
goto lab←L100067;
};
SOURCE(12077, 70)
if ((s1←v8248 < ssdn←v8024)) {
SOURCE(12099, 27)
s1←v8248 = (s1←v8248 + ssup←v7968);
}
else {
SOURCE(12126, 21)
s1←v8248 = (s1←v8248 - ssdn←v8024);
};
SOURCE(12149, 70)
if ((f1←v8276 < fsdn←v8052)) {
SOURCE(12171, 27)
f1←v8276 = (f1←v8276 + fsup←v7996);
}
else {
SOURCE(12198, 21)
f1←v8276 = (f1←v8276 - fsdn←v8052);
};
goto lab←L100068;
lab←L100067: ;
}
static void boxActionInterpolatedSamples←P1944(box←v17588, formal←c22792)
W4 box←v17588;
word formal←c22792;
{
register ptr gf←c22760 = (ptr) &globalframe;
word count←v9440;
word smax←v9468;
word fmax←v9496;
word ssup←v9524;
word fsup←v9552;
word ssdn←v9580;
word fsdn←v9608;
word sfup←v9636;
word ffup←v9664;
word sfdn←v9692;
word ffdn←v9720;
word isdn←v9804;
word ifdn←v9832;
word d1s←v9860;
word d1f←v9888;
word s1←v9916;
word f1←v9944;
formal←c22792 = (formal←c22792 - 24);
/* boxActionInterpolatedSamples: */
SOURCE(12233, 45)
SOURCE(12280, 26)
{
word pd100;
word idx101;
pd100 = (* (( (ptr) (* (( (ptr) gf←c22760)+58)/* var←c20712 */ ))+17) );
count←v9440 = (
idx101 = (word) ( *( (fPt) ((* (ptr) pd100 ))))(box←v17588, pd100),
SGNCK(idx101)
);
};
SOURCE(12308, 50)
smax←v9468 = ((* (( (ptr) formal←c22792)+11) ) << 16);
SOURCE(12360, 50)
fmax←v9496 = ((* (( (ptr) formal←c22792)+12) ) << 16);
SOURCE(12412, 33)
ssup←v9524 = (* (( (ptr) formal←c22792)+13) );
SOURCE(12447, 33)
fsup←v9552 = (* (( (ptr) formal←c22792)+14) );
SOURCE(12482, 47)
ssdn←v9580 = (smax←v9468 - ssup←v9524);
SOURCE(12531, 47)
fsdn←v9608 = (fmax←v9496 - fsup←v9552);
SOURCE(12580, 33)
sfup←v9636 = (* (( (ptr) formal←c22792)+15) );
SOURCE(12615, 33)
ffup←v9664 = (* (( (ptr) formal←c22792)+16) );
SOURCE(12650, 47)
sfdn←v9692 = (smax←v9468 - sfup←v9636);
SOURCE(12699, 47)
ffdn←v9720 = (fmax←v9496 - ffup←v9664);
SOURCE(12788, 29)
{
word idx102;
isdn←v9804 = (
idx102 = (word) ( (unsigned) ((unsigned)smax←v9468 >> 16) - 1),
SGNCK(idx102)
);
};
SOURCE(12819, 29)
{
word idx103;
ifdn←v9832 = (
idx103 = (word) ( (unsigned) ((unsigned)fmax←v9496 >> 16) - 1),
SGNCK(idx103)
);
};
SOURCE(12915, 26)
s1←v9916 = (* (( (ptr) formal←c22792)+19) );
SOURCE(12983, 26)
f1←v9944 = (* (( (ptr) formal←c22792)+20) );
SOURCE(13051, 15)
{
W2 var←c21736;
var←c21736 = (* (W2Pt) (( (ptr) formal←c22792)+17) );
d1f←v9888 = var←c21736.f1;
d1s←v9860 = var←c21736.f0;
};
SOURCE(13068, 178)
lab←L100099: ;
if (( (int)d1s←v9860 < (int)box←v17588.f0)) {
}
else {
goto lab←L100097;
};
SOURCE(13091, 11)
d1s←v9860 = (d1s←v9860 + 1);
SOURCE(13104, 70)
if ((s1←v9916 < ssdn←v9580)) {
SOURCE(13126, 27)
s1←v9916 = (s1←v9916 + ssup←v9524);
}
else {
SOURCE(13153, 21)
s1←v9916 = (s1←v9916 - ssdn←v9580);
};
SOURCE(13176, 70)
if ((f1←v9944 < fsdn←v9608)) {
SOURCE(13198, 27)
f1←v9944 = (f1←v9944 + fsup←v9552);
}
else {
SOURCE(13225, 21)
f1←v9944 = (f1←v9944 - fsdn←v9608);
};
goto lab←L100099;
lab←L100097: ;
SOURCE(13257, 180)
lab←L100102: ;
if (( (int)d1s←v9860 > (int)box←v17588.f0)) {
}
else {
goto lab←L100100;
};
SOURCE(13280, 11)
d1s←v9860 = (d1s←v9860 - 1);
SOURCE(13293, 71)
if ((s1←v9916 >= ssup←v9524)) {
SOURCE(13316, 27)
s1←v9916 = (s1←v9916 - ssup←v9524);
}
else {
SOURCE(13343, 21)
s1←v9916 = (s1←v9916 + ssdn←v9580);
};
SOURCE(13366, 71)
if ((f1←v9944 >= fsup←v9552)) {
SOURCE(13389, 27)
f1←v9944 = (f1←v9944 - fsup←v9552);
}
else {
SOURCE(13416, 21)
f1←v9944 = (f1←v9944 + fsdn←v9608);
};
goto lab←L100102;
lab←L100100: ;
SOURCE(13448, 15)
(* (( (ptr) formal←c22792)+17) ) = d1s←v9860;
(* (( (ptr) formal←c22792)+18) ) = d1f←v9888;
SOURCE(13465, 13)
(* (( (ptr) formal←c22792)+19) ) = s1←v9916;
SOURCE(13480, 13)
(* (( (ptr) formal←c22792)+20) ) = f1←v9944;
SOURCE(13495, 178)
lab←L100105: ;
if (( (int)d1f←v9888 < (int)box←v17588.f1)) {
}
else {
goto lab←L100103;
};
SOURCE(13518, 11)
d1f←v9888 = (d1f←v9888 + 1);
SOURCE(13531, 70)
if ((s1←v9916 < sfdn←v9692)) {
SOURCE(13553, 27)
s1←v9916 = (s1←v9916 + sfup←v9636);
}
else {
SOURCE(13580, 21)
s1←v9916 = (s1←v9916 - sfdn←v9692);
};
SOURCE(13603, 70)
if ((f1←v9944 < ffdn←v9720)) {
SOURCE(13625, 27)
f1←v9944 = (f1←v9944 + ffup←v9664);
}
else {
SOURCE(13652, 21)
f1←v9944 = (f1←v9944 - ffdn←v9720);
};
goto lab←L100105;
lab←L100103: ;
SOURCE(13684, 180)
lab←L100108: ;
if (( (int)d1f←v9888 > (int)box←v17588.f1)) {
}
else {
goto lab←L100106;
};
SOURCE(13707, 11)
d1f←v9888 = (d1f←v9888 - 1);
SOURCE(13720, 71)
if ((s1←v9916 >= sfup←v9636)) {
SOURCE(13743, 27)
s1←v9916 = (s1←v9916 - sfup←v9636);
}
else {
SOURCE(13770, 21)
s1←v9916 = (s1←v9916 + sfdn←v9692);
};
SOURCE(13793, 71)
if ((f1←v9944 >= ffup←v9664)) {
SOURCE(13816, 27)
f1←v9944 = (f1←v9944 - ffup←v9664);
}
else {
SOURCE(13843, 21)
f1←v9944 = (f1←v9944 + ffdn←v9720);
};
goto lab←L100108;
lab←L100106: ;
SOURCE(13875, 21)
(* (ptr) (* (( (ptr) formal←c22792)+21) ) ) = count←v9440;
SOURCE(13898, 2715)
lab←L100111: ;
SOURCE(13931, 2444)
{
register word i←v9988 = 0;
if ((i←v9988 >= (* (( (ptr) formal←c22792)+10) ))) {
goto lab←L100112;
};
lab←L100115: ;
{
word map←v10032;
word rasterMap←v10060;
word samples←v10088;
word s←v10116;
word f←v10144;
SOURCE(13969, 37)
{
word limit104;
map←v10032 = (* ((( (ptr) (* (( (ptr) formal←c22792)+4) ))+6)+(
limit104 = (* (( (ptr) (* (( (ptr) formal←c22792)+4) ))+5) ),
BCK(i←v9988, limit104)
)) );
};
SOURCE(14008, 63)
{
word var←c21768;
var←c21768 = map←v10032;
if ((var←c21768 == 0)) {
goto lab←L100116;
};
if (((* (( (ptr) var←c21768)+6) ) == 0)) {
rasterMap←v10060 = var←c21768;
}
else {
lab←L100116: ;
rasterMap←v10060 = 0;
};
};
SOURCE(14124, 46)
{
word limit105;
samples←v10088 = (* ((( (ptr) (* (( (ptr) formal←c22792)+21) ))+2)+(
limit105 = (* (( (ptr) (* (( (ptr) formal←c22792)+21) ))+1) ),
BCK(i←v9988, limit105)
)) );
};
SOURCE(14172, 25)
s←v10116 = s1←v9916;
SOURCE(14199, 25)
f←v10144 = f1←v9944;
SOURCE(14226, 2149)
if ( ( ( ( (rasterMap←v10060 != 0) ? ((* (( (ptr) rasterMap←v10060)+9) ) == 0) : 0 ) ? (((* (( (ptr) rasterMap←v10060)+7)
) & 037) == 0) : 0 ) ? ((* (( (ptr) rasterMap←v10060)+5) ) == 8) : 0 ) ) {
SOURCE(14349, 1034)
{
word base←v10232;
word unitsPerLine←v10260;
word result←v10288;
SOURCE(14351, 46)
base←v10232 = (* (( (ptr) rasterMap←v10060)+8) );
SOURCE(14399, 53)
unitsPerLine←v10260 = ((* (( (ptr) rasterMap←v10060)+7) ) >> 3);
SOURCE(14454, 78)
{
word check←v18596;
check←v18596 = ((* (( (ptr) samples←v10088)+1) ) - count←v9440);
SOURCE(1099, 81)
result←v10288 = (samples←v10088 + 8);
};
SOURCE(14534, 838)
{
register word k←v10344 = 0;
if ((k←v10344 >= count←v9440)) {
goto lab←L100118;
};
lab←L100121: ;
{
word is0←v10388;
word is1←v10416;
word if0←v10444;
word if1←v10472;
word w11←v10500;
word w10←v10528;
word w01←v10556;
word w00←v10584;
word line0←v10612;
word line1←v10640;
SOURCE(14562, 20)
is0←v10388 = (unsigned) ((unsigned)s←v10116 >> 16);
SOURCE(14584, 55)
is1←v10416 = ( (is0←v10388 < isdn←v9804) ? (is0←v10388 + 1) : (is0←v10388 - isdn←v9804) ) ;
SOURCE(14641, 20)
if0←v10444 = (unsigned) ((unsigned)f←v10144 >> 16);
SOURCE(14663, 55)
if1←v10472 = ( (if0←v10444 < ifdn←v9832) ? (if0←v10444 + 1) : (if0←v10444 - ifdn←v9832) ) ;
SOURCE(14720, 63)
{
word n←v18936;
n←v18936 = (( (unsigned) ( (((unsigned)s←v10116 << 16) >> 16) ) * (unsigned) ( (((unsigned)f←v10144 << 16) >> 16) )) + 65535);
w11←v10500 = ((word) n←v18936 >> 16);
};
SOURCE(14785, 24)
w10←v10528 = ( (unsigned) ( (((unsigned)s←v10116 << 16) >> 16) ) - w11←v10500);
SOURCE(14811, 24)
w01←v10556 = ( (unsigned) ( (((unsigned)f←v10144 << 16) >> 16) ) - w11←v10500);
SOURCE(14837, 40)
w00←v10584 = (((65535 - w01←v10556) - w10←v10528) - w11←v10500);
SOURCE(14879, 45)
line0←v10612 = (base←v10232 + (is0←v10388 * unitsPerLine←v10260));
SOURCE(14926, 45)
line1←v10640 = (base←v10232 + (is1←v10416 * unitsPerLine←v10260));
SOURCE(14981, 256)
{
word v00←v10684;
word v01←v10712;
word v10←v10740;
word v11←v10768;
word value←v10796;
SOURCE(14983, 26)
v00←v10684 = (unsigned) (word) (* (( (bPt) line0←v10612)+if0←v10444) );
SOURCE(15011, 26)
v01←v10712 = (unsigned) (word) (* (( (bPt) line0←v10612)+if1←v10472) );
SOURCE(15039, 26)
v10←v10740 = (unsigned) (word) (* (( (bPt) line1←v10640)+if0←v10444) );
SOURCE(15067, 26)
v11←v10768 = (unsigned) (word) (* (( (bPt) line1←v10640)+if1←v10472) );
SOURCE(15095, 121)
{
word n←v18888;
n←v18888 = (((((w00←v10584 * v00←v10684) + (w01←v10556 * v01←v10712)) + (w10←v10528 * v10←v10740)) + (w11←v10500 * v11←v10768)) +
65535);
value←v10796 = ((word) n←v18888 >> 16);
};
SOURCE(15218, 17)
(* (( (ptr) result←v10288)+k←v10344) ) = value←v10796;
};
SOURCE(15240, 65)
if ((s←v10116 < sfdn←v9692)) {
SOURCE(15261, 25)
s←v10116 = (s←v10116 + sfup←v9636);
}
else {
SOURCE(15286, 19)
s←v10116 = (s←v10116 - sfdn←v9692);
};
SOURCE(15307, 65)
if ((f←v10144 < ffdn←v9720)) {
SOURCE(15328, 25)
f←v10144 = (f←v10144 + ffup←v9664);
}
else {
SOURCE(15353, 19)
f←v10144 = (f←v10144 - ffdn←v9720);
};
};
k←v10344 = (k←v10344 + 1);
if ((k←v10344 < count←v9440)) {
goto lab←L100121;
};
lab←L100118: ;
};
};
}
else {
SOURCE(15420, 955)
{
register word k←v10840 = 0;
if ((k←v10840 >= count←v9440)) {
goto lab←L100124;
};
lab←L100127: ;
{
word is0←v10884;
word is1←v10912;
word if0←v10940;
word if1←v10968;
word w11←v10996;
word w10←v11024;
word w01←v11052;
word w00←v11080;
word v00←v11108;
word v01←v11136;
word v10←v11164;
word v11←v11192;
word value←v11220;
SOURCE(15448, 20)
is0←v10884 = (unsigned) ((unsigned)s←v10116 >> 16);
SOURCE(15470, 55)
is1←v10912 = ( (is0←v10884 < isdn←v9804) ? (is0←v10884 + 1) : (is0←v10884 - isdn←v9804) ) ;
SOURCE(15527, 20)
if0←v10940 = (unsigned) ((unsigned)f←v10144 >> 16);
SOURCE(15549, 55)
if1←v10968 = ( (if0←v10940 < ifdn←v9832) ? (if0←v10940 + 1) : (if0←v10940 - ifdn←v9832) ) ;
SOURCE(15606, 63)
{
word n←v18840;
n←v18840 = (( (unsigned) ( (((unsigned)s←v10116 << 16) >> 16) ) * (unsigned) ( (((unsigned)f←v10144 << 16) >> 16) )) + 65535);
w11←v10996 = ((word) n←v18840 >> 16);
};
SOURCE(15671, 24)
w10←v11024 = ( (unsigned) ( (((unsigned)s←v10116 << 16) >> 16) ) - w11←v10996);
SOURCE(15697, 24)
w01←v11052 = ( (unsigned) ( (((unsigned)f←v10144 << 16) >> 16) ) - w11←v10996);
SOURCE(15723, 40)
w00←v11080 = (((65535 - w01←v11052) - w10←v11024) - w11←v10996);
SOURCE(15802, 75)
{
W2 var←c21928;
var←c21928.f0 = (is0←v10884 + (* (( (ptr) (* (( (ptr) formal←c22792)+4) ))+1) ));
var←c21928.f1 = (if0←v10940 + (* (( (ptr) (* (( (ptr) formal←c22792)+4) ))+2) ));
{
word pd106;
pd106 = (* (( (ptr) (* (( (ptr) gf←c22760)+56)/* var←c19720 */ ))+42) );
v00←v11108 = (word) ( *( (fPt) ((* (ptr) pd106 ))))(map←v10032, var←c21928, pd106);
};
};
SOURCE(15879, 75)
{
W2 var←c21960;
var←c21960.f0 = (is0←v10884 + (* (( (ptr) (* (( (ptr) formal←c22792)+4) ))+1) ));
var←c21960.f1 = (if1←v10968 + (* (( (ptr) (* (( (ptr) formal←c22792)+4) ))+2) ));
{
word pd107;
pd107 = (* (( (ptr) (* (( (ptr) gf←c22760)+56)/* var←c19720 */ ))+42) );
v01←v11136 = (word) ( *( (fPt) ((* (ptr) pd107 ))))(map←v10032, var←c21960, pd107);
};
};
SOURCE(15956, 75)
{
W2 var←c21992;
var←c21992.f0 = (is1←v10912 + (* (( (ptr) (* (( (ptr) formal←c22792)+4) ))+1) ));
var←c21992.f1 = (if0←v10940 + (* (( (ptr) (* (( (ptr) formal←c22792)+4) ))+2) ));
{
word pd108;
pd108 = (* (( (ptr) (* (( (ptr) gf←c22760)+56)/* var←c19720 */ ))+42) );
v10←v11164 = (word) ( *( (fPt) ((* (ptr) pd108 ))))(map←v10032, var←c21992, pd108);
};
};
SOURCE(16033, 75)
{
W2 var←c22024;
var←c22024.f0 = (is1←v10912 + (* (( (ptr) (* (( (ptr) formal←c22792)+4) ))+1) ));
var←c22024.f1 = (if1←v10968 + (* (( (ptr) (* (( (ptr) formal←c22792)+4) ))+2) ));
{
word pd109;
pd109 = (* (( (ptr) (* (( (ptr) gf←c22760)+56)/* var←c19720 */ ))+42) );
v11←v11192 = (word) ( *( (fPt) ((* (ptr) pd109 ))))(map←v10032, var←c22024, pd109);
};
};
SOURCE(16110, 111)
{
word n←v18792;
n←v18792 = (((((w00←v11080 * v00←v11108) + (w01←v11052 * v01←v11136)) + (w10←v11024 * v10←v11164)) + (w11←v10996 * v11←v11192)) +
65535);
value←v11220 = ((word) n←v18792 >> 16);
};
SOURCE(16223, 18)
{
word limit110;
(* ((( (ptr) samples←v10088)+2)+(
limit110 = (* (( (ptr) samples←v10088)+1) ),
BCK(k←v10840, limit110)
)) ) = value←v11220;
};
SOURCE(16243, 65)
if ((s←v10116 < sfdn←v9692)) {
SOURCE(16264, 25)
s←v10116 = (s←v10116 + sfup←v9636);
}
else {
SOURCE(16289, 19)
s←v10116 = (s←v10116 - sfdn←v9692);
};
SOURCE(16310, 65)
if ((f←v10144 < ffdn←v9720)) {
SOURCE(16331, 25)
f←v10144 = (f←v10144 + ffup←v9664);
}
else {
SOURCE(16356, 19)
f←v10144 = (f←v10144 - ffdn←v9720);
};
};
k←v10840 = (k←v10840 + 1);
if ((k←v10840 < count←v9440)) {
goto lab←L100127;
};
lab←L100124: ;
};
};
};
i←v9988 = (i←v9988 + 1);
if ((i←v9988 < (* (( (ptr) formal←c22792)+10) ))) {
goto lab←L100115;
};
lab←L100112: ;
};
SOURCE(16398, 26)
{
W2 var←c22088;
var←c22088.f0 = d1s←v9860;
var←c22088.f1 = d1f←v9888;
{
word pd111;
pd111 = (* (( (ptr) formal←c22792)+5) );
(void) ( *( (fPt) ((* (ptr) pd111 ))))((* (( (ptr) formal←c22792)+21) ), var←c22088, pd111);
};
};
SOURCE(16426, 11)
d1s←v9860 = (d1s←v9860 + 1);
SOURCE(16439, 26)
if (( (int)d1s←v9860 >= (int)box←v17588.f2)) {
SOURCE(16465, 4)
goto lab←L100110;
};
SOURCE(16471, 70)
if ((s1←v9916 < ssdn←v9580)) {
SOURCE(16493, 27)
s1←v9916 = (s1←v9916 + ssup←v9524);
}
else {
SOURCE(16520, 21)
s1←v9916 = (s1←v9916 - ssdn←v9580);
};
SOURCE(16543, 70)
if ((f1←v9944 < fsdn←v9608)) {
SOURCE(16565, 27)
f1←v9944 = (f1←v9944 + fsup←v9552);
}
else {
SOURCE(16592, 21)
f1←v9944 = (f1←v9944 - fsdn←v9608);
};
goto lab←L100111;
lab←L100110: ;
}
static word HalfInteger←P780(r←v6032)
word r←v6032;
{
word var←c6076;
word n←v11376;
word halfInteger←v11404;
/* HalfInteger: */
SOURCE(17447, 258)
SOURCE(17592, 52)
n←v11376 = (word) ScaledFromRealMod←P600(r←v6032, 1);
SOURCE(17646, 36)
halfInteger←v11404 = (unsigned) ((( (((unsigned)n←v11376 << 16) >> 16) ) - 32760) <= 16);
SOURCE(17684, 21)
return(halfInteger←v11404);
}
static void NoName←Q3876(formal←c0295, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
word formal←c0295;
word formal←c200000;
word formal←c200001;
word formal←c200002;
word formal←c200003;
{
if ((formal←c200001 == XR←Unwind)) {
SOURCE(2911, 30)
(void) ReleaseScratchPixels←P240((* ((( (ptr) formal←c200000)+5)) ));
};
(* (ptr) formal←c0295 ) = 0;
(* (( (ptr) formal←c0295)+1) ) = 0;
return;
}
/* file: ImagerPixelImpl, module: ImagerPixelImpl, compiled at: July 28, 1993 10:21:47 am PDT */
extern void XR←install←ImagerPixelImpl() {
NoName←Q3756();
}
extern void XR←run←ImagerPixelImpl() { XR←Start(&globalframe); }