/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1994 by Xerox Corporation. All rights reserved. */
/* time: March 9, 1994 11:49:32 am PST */
/* C2C version: January 12, 1994 (sun4) */
/* ref-counting: off */
/* file: ImagerColorTranslateImpl, module: ImagerColorTranslateImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
#define XRM←BITAND(x, y) (((word)(x)) & ((word)(y)))
#define XRM←BITRSHIFT(x, y) ((word)(x) >> (word)(y))
#define XRM←BITLSHIFT(x, y) ((word)(x) << (word)(y))
static char versionStamp[] = "@(#)mob←version [4023270074,526166156] ImagerColorTranslateImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W8 f; W3 r;} W11;
typedef struct {word f0, f1, f2, f3;} W4;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {W8 f; W5 r;} W13;
typedef struct {W8 f; W4 r;} W12;
typedef struct {W8 f; W8 r;} W16;
typedef struct {W16 f; W11 r;} W27;
typedef W4 *W4Pt;
typedef struct {W8 f; W2 r;} W10;
#define SOURCE(p, l) /* source p, l */
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static float fc26 = 0.5;
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
static float fc50 = 0.0;
#define MAX(cast, x, y) ( ( cast x) > ( cast y) ? (x) : (y) )
#define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) )
static void NoName←Q3480();
static void ImagerColorTranslateImpl←P0();
static word MakeAccelerator←P60();
static void RegisterAccelerator←P120();
static word Insert←P180();
static void Remove←P240();
static void UnregisterAccelerators←P300();
static word RemoveAccelerator←P360();
static word GetAccelerators←P420();
static word Translate←P480();
static word maxIn←P1008();
static word maxOut←P1068();
static void TranslatePixels←P540();
static word GeneralTranslate←P600();
static word maxIn←P1368();
static void translateAction←P1428();
static word maxOut←P1488();
static word FallbackTranslatePixels←P720();
static void SlowTranslate←P1596();
static word pixelIn←P1752();
static void InitOtherCases←P780();
static word OneDimTranslate←P840();
static void TableTranslate←P1956();
static word pixelIn←P2112();
static word SmallTableTranslate←P900();
static word InitMultiDimTable←P2508();
static word PixelIn←P2880();
static word PakNSav←P2568();
static void MultiDimTableTranslate←P2628();
static word PIn←P3084();
static struct {unsigned f; char r[4];} string1 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\325\144\161\001\300\312\034\225\256\100\164\000\000"};
static struct {unsigned f; char r[4];} string4 = {131074, "\004\022\000"};
static struct {unsigned f; char r[48];} string5 = {2949168, "\260\006\005\146\151\162\163\164\216\257\300\325\144\161\001\300\312\034\225\256\100\164\005\004\162\145\163\164\255\214\216\257\300\325\144\161\001\300\312\034\225\256\100\164\261\000\000"};
static struct {unsigned f; char r[4];} string6 = {131074, "\004\003\000"};
static struct {unsigned f; char r[12];} string7 = {524300, "Fallback\000\000\000"};
static struct {unsigned f; char r[8];} string8 = {393224, "OneDim\000"};
static struct {unsigned f; char r[12];} string9 = {655372, "SmallTable\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\357\316\072\272\300\037\134\250\214\100\164\000\000"};
static struct {unsigned f; char r[16];} string11 = {786444, "\006\004\040\001\044\001\050\001\100\110\004\007\000\000\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\230\052\311\306\300\242\375\035\324\100\150\000\000"};
static struct {unsigned f; char r[16];} string13 = {851984, "\257\300\213\226\301\143\300\072\355\320\373\100\150\000\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\260\302\146\322\300\075\027\134\123\100\150\000\000"};
static struct {unsigned f; char r[16];} string15 = {1231905127, "erColorPrivate"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\207\164\301\163\300\327\135\041\305\100\150\000\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\132\124\077\010\300\370\073\075\073\100\150\000\000"};
static struct {unsigned f; char r[36];} string18 = {2228260, "\211\026\025\103\157\154\157\162\117\160\145\162\141\164\157\162\103\154\141\163\163\122\145\160\300\132\124\077\010\300\370\073\075\073\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\207\164\301\163\300\327\135\041\305\105\234\000\000"};
static struct {unsigned f; char r[4];} string20 = {196611, "\004@A"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\325\144\161\001\300\312\034\225\256\100\150\000\000"};
static struct {
word f0[21]; word f21; word f22; word f23;
word f24; word f25; 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[7];
} globalframe = {
{0}, (word) SmallTableTranslate←P900, 0, (word) OneDimTranslate←P840,
0, (word) InitOtherCases←P780, 0, (word) FallbackTranslatePixels←P720,
0, (word) GeneralTranslate←P600, 0, (word) TranslatePixels←P540,
0, (word) Translate←P480, 0, (word) GetAccelerators←P420,
0, (word) RemoveAccelerator←P360, 0, (word) UnregisterAccelerators←P300,
0, (word) Remove←P240, 0, (word) Insert←P180,
0, (word) RegisterAccelerator←P120, 0, (word) MakeAccelerator←P60,
0, (word) ImagerColorTranslateImpl←P0, {0}
};
static void NoName←Q3480()
{
register ptr gf←c0278 = (ptr) &globalframe;
word var←c24160;
(* (( (ptr) gf←c0278)+13) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c0278)+14) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
(* (( (ptr) gf←c0278)+16) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
(* (ptr) (( (bPt) gf←c0278)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0278)+13) ), (word) &string7);
(* (ptr) (( (bPt) gf←c0278)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0278)+13) ), (word) &string8);
(* (ptr) (( (bPt) gf←c0278)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0278)+13) ), (word) &string9);
(void) XR←DeclareGlobalFrame((word) "ImagerColorTranslateImpl", &globalframe, (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11)
, (word) (( (bPt) gf←c0278)+196)/* var←c21280 */ );
var←c24160 = (word) XR←ImportInterface((word) "ImagerPixelArray", (word) XR←GetTypeIndexS((word) (&string12)), 13);
(* (( (ptr) gf←c0278)+51)/* var←c22080 */ ) = var←c24160;
(void) XR←ImportProcS(var←c24160, 1574406);
(void) XR←ImportProcS(var←c24160, 67633922);
var←c24160 = (word) XR←ImportInterface((word) "ImagerSample", (word) XR←GetTypeIndexS((word) (&string13)), 60);
(* (( (ptr) gf←c0278)+54)/* var←c23200 */ ) = var←c24160;
(void) XR←ImportProcS(var←c24160, 67896579);
var←c24160 = (word) XR←ImportInterface((word) "ImagerPixel", (word) XR←GetTypeIndexS((word) (&string14)), 9);
(* (( (ptr) gf←c0278)+52)/* var←c22368 */ ) = var←c24160;
(void) XR←ImportProcS(var←c24160, 262657);
(void) XR←ImportProcS(var←c24160, 2361095);
(void) XR←ImportProcS(var←c24160, 68682755);
(void) XR←ImportProcS(var←c24160, 67633410);
var←c24160 = (word) XR←ImportInterface((word) &string15, (word) XR←GetTypeIndexS((word) (&string16)), 48);
(* (( (ptr) gf←c0278)+53)/* var←c22656 */ ) = var←c24160;
(void) XR←ImportProcS(var←c24160, 67899651);
(void) XR←ImportProcS(var←c24160, 67379201);
(void) XR←ImportProcS(var←c24160, 67380225);
(void) XR←ImportProcS(var←c24160, 67641090);
(void) XR←ImportProcS(var←c24160, 67379969);
var←c24160 = (word) XR←ExportInterface((word) "ImagerColor", (word) XR←GetTypeIndexS((word) (&string17)), 32);
(* (( (ptr) gf←c0278)+55)/* var←c24192 */ ) = var←c24160;
(void) XR←ExportType((word) "ColorOperatorClassRep", (word) XR←GetTypeIndexS((word) (&string18)), (word) XR←GetTypeIndex(
(word) &string19, 0, (word) &string20));
var←c24160 = (word) XR←ExportInterface((word) &string15, (word) XR←GetTypeIndexS((word) (&string16)), 48);
(* (( (ptr) gf←c0278)+56)/* var←c24224 */ ) = var←c24160;
(void) XR←ExportProcS(var←c24160, (word) (( (bPt) gf←c0278)+124)/* var←c20992 */ , 1058820, (word) "TranslatePixels");
(void) XR←ExportProcS(var←c24160, (word) (( (bPt) gf←c0278)+132)/* var←c21024 */ , 67905795, (word) "Translate");
var←c24160 = (word) XR←ExportInterface((word) "ImagerColorTranslateWorks", (word) XR←GetTypeIndexS((word) (&string21)), 5)
;
(* (( (ptr) gf←c0278)+56)/* var←c24224 */ ) = var←c24160;
(void) XR←ExportProcS(var←c24160, (word) (( (bPt) gf←c0278)+188)/* var←c21248 */ , 68419589, (word) "MakeAccelerator");
(void) XR←ExportProcS(var←c24160, (word) (( (bPt) gf←c0278)+180)/* var←c21216 */ , 262401, (word) "RegisterAccelerator");
(void) XR←ExportProcS(var←c24160, (word) (( (bPt) gf←c0278)+148)/* var←c21088 */ , 67371521, (word) "RemoveAccelerator");
(void) XR←ExportProcS(var←c24160, (word) (( (bPt) gf←c0278)+156)/* var←c21120 */ , 768, (word) "UnregisterAccelerators");
(void) XR←ExportProcS(var←c24160, (word) (( (bPt) gf←c0278)+140)/* var←c21056 */ , 67109888, (word) "GetAccelerators");
}
static void ImagerColorTranslateImpl←P0(formal←c033, formal←c030)
word formal←c033;
word formal←c030;
{
register ptr gf←c24256 = (ptr) &globalframe;
/* ImagerColorTranslateImpl: */
SOURCE(732, 13403)
SOURCE(2072, 135)
(* (( (ptr) gf←c24256)+8)/* fallback←v3112 */ ) = (word) MakeAccelerator←P60(2147483647, (* (( (ptr) gf←c24256)+18) ), 0, (word) (
( (bPt) gf←c24256)+108)/* var←c20928 */ , 0);
SOURCE(2210, 53)
{
word var←c21312;
word var←c21344;
var←c21312 = XR←NewObject(8, (* (( (ptr) gf←c24256)+16) ));
var←c21344 = var←c21312;
(* (ptr) var←c21344 ) = (* (( (ptr) gf←c24256)+8)/* fallback←v3112 */ );
(* (( (ptr) gf←c24256)+9)/* initialAccelerators←v3140 */ ) = var←c21312;
};
SOURCE(2266, 51)
(* (( (ptr) gf←c24256)+10)/* accelerators←v3168 */ ) = (* (( (ptr) gf←c24256)+9)/* initialAccelerators←v3140 */ );
SOURCE(9621, 27)
(* (( (ptr) gf←c24256)+11)/* smallTableSize←v3560 */ ) = 8192;
SOURCE(14119, 16)
(void) InitOtherCases←P780();
}
static word MakeAccelerator←P60(slot←v3668, name←v3696, fastTranslate←v3724, fastTranslatePixels←v3752, propList←v3780)
word slot←v3668;
word name←v3696;
word fastTranslate←v3724;
word fastTranslatePixels←v3752;
word propList←v3780;
{
register ptr gf←c24288 = (ptr) &globalframe;
word var←c3824;
/* MakeAccelerator: */
SOURCE(1545, 454)
SOURCE(1761, 238)
{
word var←c21408;
var←c21408 = XR←NewObject(20, (* (( (ptr) gf←c24288)+14) ));
(* (ptr) var←c21408 ) = slot←v3668;
(* (( (ptr) var←c21408)+1) ) = name←v3696;
(* (( (ptr) var←c21408)+2) ) = XR←CheckProc ( (fastTranslate←v3724 == 0) ? (word) (( (bPt) gf←c24288)+116)/* var←c20960 */ : fastTranslate←v3724 ) ;
(* (( (ptr) var←c21408)+3) ) = XR←CheckProc(fastTranslatePixels←v3752);
(* (( (ptr) var←c21408)+4) ) = propList←v3780;
return(var←c21408);
};
}
static void RegisterAccelerator←P120(a←v3968)
word a←v3968;
{
register ptr gf←c24320 = (ptr) &globalframe;
/* RegisterAccelerator: */
SOURCE(2333, 128)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c24320)+16)/* LOCK←v2748 */ ));
SOURCE(2407, 54)
if ((a←v3968 != 0)) {
SOURCE(2423, 38)
(* (( (ptr) gf←c24320)+10)/* accelerators←v3168 */ ) = (word) Insert←P180(a←v3968, (* (( (ptr) gf←c24320)+10)/* accelerators←v3168 */ ))
;
};
SOURCE(2333, 128)
(void) (XR←MonitorExit((word) (( (bPt) gf←c24320)+16)/* LOCK←v2748 */ ));
return;
}
static word Insert←P180(a←v4028, list←v4056)
word a←v4028;
word list←v4056;
{
register ptr gf←c24352 = (ptr) &globalframe;
word var←c4100;
/* Insert: */
SOURCE(2467, 328)
SOURCE(2564, 231)
if ((list←v4056 == 0)) {
SOURCE(2583, 22)
{
word var←c21472;
word var←c21504;
var←c21472 = XR←NewObject(8, (* (( (ptr) gf←c24352)+16) ));
var←c21504 = var←c21472;
(* (ptr) var←c21504 ) = a←v4028;
return(var←c21472);
};
}
else {
SOURCE(2605, 192)
{
word oldSlot←v5968;
SOURCE(2607, 30)
oldSlot←v5968 = (* (ptr) (* (ptr) list←v4056 ) );
SOURCE(2639, 156)
{
word var←c21536;
var←c21536 = (* (ptr) a←v4028 );
if (( (int)var←c21536 < (int)oldSlot←v5968)) {
SOURCE(2671, 22)
{
word var←c21600;
var←c21600 = XR←NewObject(8, (* (( (ptr) gf←c24352)+16) ));
(* (ptr) var←c21600 ) = a←v4028;
(* (( (ptr) var←c21600)+1) ) = list←v4056;
return(var←c21600);
};
}
else {
if (( (int)var←c21536 == (int)oldSlot←v5968)) {
SOURCE(2708, 27)
{
word var←c21664;
var←c21664 = XR←NewObject(8, (* (( (ptr) gf←c24352)+16) ));
(* (ptr) var←c21664 ) = a←v4028;
(* (( (ptr) var←c21664)+1) ) = (* (( (ptr) list←v4056)+1) );
return(var←c21664);
};
}
else {
SOURCE(2748, 47)
{
word var←c21728;
word var←c21760;
var←c21728 = (word) Insert←P180(a←v4028, (* (( (ptr) list←v4056)+1) ));
var←c21760 = XR←NewObject(8, (* (( (ptr) gf←c24352)+16) ));
(* (ptr) var←c21760 ) = (* (ptr) list←v4056 );
(* (( (ptr) var←c21760)+1) ) = var←c21728;
return(var←c21760);
};
};
};
};
};
};
}
static void Remove←P240(formal←c062, list←v4160, slot←v4188)
word formal←c062;
word list←v4160;
word slot←v4188;
{
register ptr gf←c24384 = (ptr) &globalframe;
word new←v4232;
word a←v4260;
/* Remove: */
SOURCE(2804, 299)
SOURCE(2804, 299)
new←v4232 = 0;
SOURCE(2804, 299)
a←v4260 = 0;
SOURCE(2917, 37)
if ((list←v4160 == 0)) {
SOURCE(2936, 18)
new←v4232 = list←v4160;
a←v4260 = 0;
goto lab←L100000;
};
SOURCE(2956, 82)
if ( ( ((* (ptr) list←v4160 ) != 0) ? ( (int)(* (ptr) (* (ptr) list←v4160 ) ) == (int)slot←v4188) : 0 ) ) {
SOURCE(3008, 30)
new←v4232 = (* (( (ptr) list←v4160)+1) );
a←v4260 = (* (ptr) list←v4160 );
goto lab←L100000;
};
SOURCE(3040, 34)
{
W2 var←c21856;
(void) Remove←P240((word) &var←c21856, (* (( (ptr) list←v4160)+1) ), slot←v4188);
a←v4260 = var←c21856.f1;
new←v4232 = var←c21856.f0;
};
SOURCE(3076, 27)
{
word var←c21888;
var←c21888 = XR←NewObject(8, (* (( (ptr) gf←c24384)+16) ));
(* (ptr) var←c21888 ) = (* (ptr) list←v4160 );
(* (( (ptr) var←c21888)+1) ) = new←v4232;
new←v4232 = var←c21888;
};
/* removed tail goto */
lab←L100000: ;
(* (ptr) formal←c062 ) = new←v4232;
(* (( (ptr) formal←c062)+1) ) = a←v4260;
return;
}
static void UnregisterAccelerators←P300()
{
register ptr gf←c24416 = (ptr) &globalframe;
/* UnregisterAccelerators: */
SOURCE(3109, 81)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c24416)+16)/* LOCK←v2748 */ ));
SOURCE(3155, 35)
(* (( (ptr) gf←c24416)+10)/* accelerators←v3168 */ ) = (* (( (ptr) gf←c24416)+9)/* initialAccelerators←v3140 */ );
SOURCE(3109, 81)
(void) (XR←MonitorExit((word) (( (bPt) gf←c24416)+16)/* LOCK←v2748 */ ));
return;
}
static word RemoveAccelerator←P360(slot←v4336)
word slot←v4336;
{
register ptr gf←c24448 = (ptr) &globalframe;
word a←v4380;
/* RemoveAccelerator: */
SOURCE(3193, 138)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c24448)+16)/* LOCK←v2748 */ ));
SOURCE(3193, 138)
a←v4380 = 0;
SOURCE(3285, 46)
{
W2 var←c21920;
(void) Remove←P240((word) &var←c21920, (* (( (ptr) gf←c24448)+10)/* accelerators←v3168 */ ), slot←v4336);
a←v4380 = var←c21920.f1;
(* (( (ptr) gf←c24448)+10)/* accelerators←v3168 */ ) = var←c21920.f0;
};
SOURCE(3193, 138)
(void) (XR←MonitorExit((word) (( (bPt) gf←c24448)+16)/* LOCK←v2748 */ ));
return(a←v4380);
}
static word GetAccelerators←P420()
{
register ptr gf←c24480 = (ptr) &globalframe;
word var←c4440;
/* GetAccelerators: */
SOURCE(3336, 86)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c24480)+16)/* LOCK←v2748 */ ));
SOURCE(3401, 21)
{
word var←c21952;
var←c21952 = (* (( (ptr) gf←c24480)+10)/* accelerators←v3168 */ );
(void) (XR←MonitorExit((word) (( (bPt) gf←c24480)+16)/* LOCK←v2748 */ ));
return(var←c21952);
};
}
static word Translate←P480(colorOperator←v4500, formal←c0337, formal←c0338)
word colorOperator←v4500;
word formal←c0337;
word formal←c0338;
{
W6 var←c24512;
/* declaration of transform←v4528 skipped */
/* declaration of pa←v4556 skipped */
register ptr gf←c24544 = (ptr) &globalframe;
word var←c4600;
W2 var←c21984;
W2 var←c22016;
word samplesPerPixelIn←v6012;
var←c24512.f4/* transform←v4528 */ = formal←c0337;
var←c24512.f5/* pa←v4556 */ = formal←c0338;
/* Translate: */
SOURCE(3428, 525)
(* (ptr) (word) &var←c21984 ) = ( ((word) (fPt) maxOut←P1068) );
(* (( (ptr) (word) &var←c21984) + 1) ) = 1;
(* (ptr) (word) &var←c22016 ) = ( ((word) (fPt) maxIn←P1008) );
(* (( (ptr) (word) &var←c22016) + 1) ) = 1;
SOURCE(3548, 43)
samplesPerPixelIn←v6012 = (* (( (ptr) var←c24512.f5/* pa←v4556 */ )+1) );
SOURCE(3712, 241)
{
register word tail←v6112;
tail←v6112 = (* (( (ptr) gf←c24544)+10)/* accelerators←v3168 */ );
lab←L100004: ;
if ((tail←v6112 != 0)) {
}
else {
goto lab←L100001;
};
{
word a←v6156;
SOURCE(3784, 41)
a←v6156 = (* (ptr) tail←v6112 );
SOURCE(3827, 126)
if (((* (( (ptr) a←v6156)+2) ) != 0)) {
SOURCE(3857, 96)
{
word pm←v6200;
SOURCE(3859, 63)
{
word pd22;
pd22 = (* (( (ptr) a←v6156)+2) );
pm←v6200 = (word) ( *( (fPt) ((* (ptr) pd22 ))))(a←v6156, colorOperator←v4500, var←c24512.f4/* transform←v4528 */ , var←c24512.f5/* pa←v4556 */ , pd22)
;
};
SOURCE(3924, 29)
if ((pm←v6200 != 0)) {
SOURCE(3941, 12)
return(pm←v6200);
};
};
};
};
tail←v6112 = (* (( (ptr) tail←v6112)+1) );
goto lab←L100004;
lab←L100001: ;
};
SOURCE(3965, 5)
(void) XR←RaiseUnnamedError();
}
static word maxIn←P1008(i←v17440, formal←c24608)
word i←v17440;
word formal←c24608;
{
register ptr gf←c24576 = (ptr) &globalframe;
word var←c17484;
/* maxIn: */
SOURCE(3593, 51)
SOURCE(3614, 30)
{
word pd23;
pd23 = (* (( (ptr) (* (( (ptr) gf←c24576)+51)/* var←c22080 */ ))+7) );
return((word) ( *( (fPt) ((* (ptr) pd23 ))))((* (( (ptr) formal←c24608)+5) ), i←v17440, pd23));
};
}
static word maxOut←P1068(i←v17544, formal←c24640)
word i←v17544;
word formal←c24640;
{
word var←c17588;
/* maxOut: */
SOURCE(3647, 62)
SOURCE(3669, 40)
{
word var←c0317;
{
word var←c22144;
word real←v20784;
{
word var←c22176;
var←c22176 = (* (( (ptr) (* (( (ptr) formal←c24640)+4) ))+1) );
{
word limit24;
word x25;
word x27;
*(float*)&real←v20784 = (
x25 = (* ((( (ptr) var←c22176)+2)+(
limit24 = (* (( (ptr) var←c22176)+1) ),
BCK(i←v17544, limit24)
)) ), *(float*)&x25
) + (
x27 = (* (ptr) &fc26 ), *(float*)&x27
);
};
};
SOURCE(5772, 21)
var←c22144 = (word) (long int)*(float*)&(real←v20784);
var←c0317 = SGNCK(var←c22144);
};
return(var←c0317);
};
}
static void TranslatePixels←P540(colorOperator←v4660, transform←v4688, maxIn←v4716, translateAction←v4744)
word colorOperator←v4660;
word transform←v4688;
word maxIn←v4716;
word translateAction←v4744;
{
register ptr gf←c24672 = (ptr) &globalframe;
/* TranslatePixels: */
SOURCE(3976, 400)
SOURCE(4135, 241)
{
register word tail←v6244;
tail←v6244 = (* (( (ptr) gf←c24672)+10)/* accelerators←v3168 */ );
lab←L100009: ;
if ((tail←v6244 != 0)) {
}
else {
goto lab←L100006;
};
{
word a←v6288;
SOURCE(4207, 41)
a←v6288 = (* (ptr) tail←v6244 );
SOURCE(4250, 126)
{
word tc28;
word pd29;
if (((* (( (ptr) a←v6288)+3) ) != 0)) {
pd29 = (* (( (ptr) a←v6288)+3) );
tc28 = (word) (0 != (word) ( *( (fPt) ((* (ptr) pd29 ))))(a←v6288, colorOperator←v4660, transform←v4688, maxIn←v4716, translateAction←v4744, pd29)
);
}
else {
tc28 = (word) 0;
};
if (tc28) {
SOURCE(4370, 6)
return;
};
};
};
tail←v6244 = (* (( (ptr) tail←v6244)+1) );
goto lab←L100009;
lab←L100006: ;
};
SOURCE(4387, 5)
(void) XR←RaiseUnnamedError();
}
static word GeneralTranslate←P600(self←v4864, colorOperator←v4892, formal←c0339, formal←c0340)
word self←v4864;
word colorOperator←v4892;
word formal←c0339;
word formal←c0340;
{
W11 var←c24704;
/* declaration of transform←v4920 skipped */
/* declaration of pa←v4948 skipped */
word var←c4992;
/* declaration of var←c22240 skipped */
/* declaration of var←c22272 skipped */
/* declaration of pm←v6360 skipped */
word done←v6416;
(* (( (ptr) &var←c24704)+4)/* transform←v4920 */ ) = formal←c0339;
(* (( (ptr) &var←c24704)+5)/* pa←v4948 */ ) = formal←c0340;
/* GeneralTranslate: */
SOURCE(4397, 1231)
{
word tmpAddr30;
tmpAddr30 = (word) (( (ptr) &var←c24704)+6)/* var←c22240 */ ;
(* (ptr) tmpAddr30 ) = ( ((word) (fPt) translateAction←P1428) );
(* (( (ptr) tmpAddr30) + 1) ) = 1;
};
{
word tmpAddr31;
tmpAddr31 = (word) (( (ptr) &var←c24704)+8)/* var←c22272 */ ;
(* (ptr) tmpAddr31 ) = ( ((word) (fPt) maxIn←P1368) );
(* (( (ptr) tmpAddr31) + 1) ) = 1;
};
SOURCE(4604, 18)
(* (( (ptr) &var←c24704)+10)/* pm←v6360 */ ) = 0;
SOURCE(5418, 93)
{
word pd32;
pd32 = (* (( (ptr) self←v4864)+3) );
done←v6416 = (word) ( *( (fPt) ((* (ptr) pd32 ))))(self←v4864, colorOperator←v4892, (* (( (ptr) &var←c24704)+4)/* transform←v4920 */ ), (word) (
( (bPt) &var←c24704)+32)/* var←c22272 */ , (word) (( (bPt) &var←c24704)+24)/* var←c22240 */ , pd32);
};
SOURCE(5513, 26)
if ( ( (0 != done←v6416) ? ((* (( (ptr) &var←c24704)+10)/* pm←v6360 */ ) == 0) : 0 ) ) {
SOURCE(5539, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(5617, 11)
return((* (( (ptr) &var←c24704)+10)/* pm←v6360 */ ));
}
static word maxIn←P1368(i←v17796, formal←c24768)
word i←v17796;
word formal←c24768;
{
register ptr gf←c24736 = (ptr) &globalframe;
word var←c17840;
formal←c24768 = (formal←c24768 - 32);
/* maxIn: */
SOURCE(4550, 51)
SOURCE(4571, 30)
{
word pd33;
pd33 = (* (( (ptr) (* (( (ptr) gf←c24736)+51)/* var←c22080 */ ))+7) );
return((word) ( *( (fPt) ((* (ptr) pd33 ))))((* (( (ptr) formal←c24768)+5) ), i←v17796, pd33));
};
}
static void translateAction←P1428(translate←v6492, formal←c24864)
word translate←v6492;
word formal←c24864;
{
W6 var←c24800;
register ptr gf←c24832 = (ptr) &globalframe;
/* declaration of var←c22336 skipped */
word sSize←v6520;
word fSize←v6548;
word samplesPerPixelIn←v6576;
word pixelsIn←v6604;
word samplesPerPixelOut←v6632;
word pixelsOut←v6660;
formal←c24864 = (formal←c24864 - 24);
var←c24800.f0 = formal←c24864;
/* translateAction: */
SOURCE(4624, 789)
{
word tmpAddr34;
tmpAddr34 = (word) (( (ptr) &var←c24800)+4)/* var←c22336 */ ;
(* (ptr) tmpAddr34 ) = ( ((word) (fPt) maxOut←P1488) );
(* (( (ptr) tmpAddr34) + 1) ) = 1;
};
SOURCE(4677, 21)
{
word idx35;
sSize←v6520 = (
idx35 = (* (( (ptr) (* (( (ptr) formal←c24864)+5) ))+2) ),
SGNCK(idx35)
);
};
SOURCE(4700, 21)
{
word idx36;
fSize←v6548 = (
idx36 = (* (( (ptr) (* (( (ptr) formal←c24864)+5) ))+3) ),
SGNCK(idx36)
);
};
SOURCE(4723, 43)
samplesPerPixelIn←v6576 = (* (( (ptr) (* (( (ptr) formal←c24864)+5) ))+1) );
SOURCE(4768, 81)
{
word pd37;
pd37 = (* (( (ptr) (* (( (ptr) gf←c24832)+52)/* var←c22368 */ ))+5) );
pixelsIn←v6604 = (word) ( *( (fPt) ((* (ptr) pd37 ))))(samplesPerPixelIn←v6576, fSize←v6548, pd37);
};
SOURCE(4851, 48)
samplesPerPixelOut←v6632 = (* (( (ptr) (* (( (ptr) (* (( (ptr) formal←c24864)+4) ))+1) ))+1) );
SOURCE(4901, 83)
{
word pd38;
pd38 = (* (( (ptr) (* (( (ptr) gf←c24832)+52)/* var←c22368 */ ))+5) );
pixelsOut←v6660 = (word) ( *( (fPt) ((* (ptr) pd38 ))))(samplesPerPixelOut←v6632, fSize←v6548, pd38);
};
SOURCE(5051, 81)
{
W4 var←c22400;
var←c22400.f0 = 0;
var←c22400.f1 = 0;
var←c22400.f2 = sSize←v6520;
var←c22400.f3 = fSize←v6548;
{
word pd39;
pd39 = (* (( (ptr) (* (( (ptr) gf←c24832)+52)/* var←c22368 */ ))+8) );
(* (( (ptr) formal←c24864)+10) ) = (word) ( *( (fPt) ((* (ptr) pd39 ))))(samplesPerPixelOut←v6632, var←c22400, (word) (( (bPt) &var←c24800)+16)
/* var←c22336 */ , pd39);
};
};
SOURCE(5134, 181)
{
register word s←v6732 = 0;
if ((s←v6732 >= sSize←v6520)) {
goto lab←L100010;
};
lab←L100013: ;
SOURCE(5162, 42)
{
word pd40;
pd40 = (* (( (ptr) (* (( (ptr) gf←c24832)+51)/* var←c22080 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd40 ))))((* (( (ptr) formal←c24864)+5) ), s←v6732, 0, pixelsIn←v6604, 0, 2147483647, pd40);
};
SOURCE(5206, 51)
(void) ( *( (fPt) ((* (ptr) translate←v6492 ))))(pixelsIn←v6604, pixelsOut←v6660, translate←v6492);
SOURCE(5259, 56)
{
W2 var←c22432;
W2 var←c22464;
var←c22432.f0 = s←v6732;
var←c22432.f1 = 0;
var←c22464.f0 = 0;
var←c22464.f1 = 1;
{
word pd41;
pd41 = (* (( (ptr) (* (( (ptr) gf←c24832)+52)/* var←c22368 */ ))+11) );
(void) ( *( (fPt) ((* (ptr) pd41 ))))((* (( (ptr) formal←c24864)+10) ), var←c22432, var←c22464, pixelsOut←v6660, 0, 2147483647
, 0, pd41);
};
};
s←v6732 = (s←v6732 + 1);
if ((s←v6732 < sSize←v6520)) {
goto lab←L100013;
};
lab←L100010: ;
};
SOURCE(5326, 43)
{
word pd42;
pd42 = (* (( (ptr) (* (( (ptr) gf←c24832)+52)/* var←c22368 */ ))+6) );
(void) ( *( (fPt) ((* (ptr) pd42 ))))(pixelsOut←v6660, pd42);
};
SOURCE(5371, 42)
{
word pd43;
pd43 = (* (( (ptr) (* (( (ptr) gf←c24832)+52)/* var←c22368 */ ))+6) );
(void) ( *( (fPt) ((* (ptr) pd43 ))))(pixelsIn←v6604, pd43);
};
}
static word maxOut←P1488(i←v17964, formal←c24896)
word i←v17964;
word formal←c24896;
{
word var←c18008;
formal←c24896 = (formal←c24896 - 16);
/* maxOut: */
SOURCE(4986, 62)
SOURCE(5008, 40)
{
word var←c0318;
{
word var←c22528;
word real←v20708;
{
word var←c22560;
var←c22560 = (* (( (ptr) (* (( (ptr) (* (ptr) formal←c24896 ))+4) ))+1) );
{
word limit44;
word x45;
word x46;
*(float*)&real←v20708 = (
x45 = (* ((( (ptr) var←c22560)+2)+(
limit44 = (* (( (ptr) var←c22560)+1) ),
BCK(i←v17964, limit44)
)) ), *(float*)&x45
) + (
x46 = (* (ptr) &fc26 ), *(float*)&x46
);
};
};
SOURCE(5772, 21)
var←c22528 = (word) (long int)*(float*)&(real←v20708);
var←c0318 = SGNCK(var←c22528);
};
return(var←c0318);
};
}
static word FallbackTranslatePixels←P720(self←v5156, formal←c0341, formal←c0342, maxIn←v5240, translateAction←v5268)
word self←v5156;
word formal←c0341;
word formal←c0342;
word maxIn←v5240;
word translateAction←v5268;
{
W13 var←c24928;
/* declaration of colorOperator←v5184 skipped */
/* declaration of transform←v5212 skipped */
register ptr gf←c24960 = (ptr) &globalframe;
word done←v5372;
/* declaration of var←c22624 skipped */
/* declaration of colorSpace←v6908 skipped */
word dim←v6936;
/* declaration of samplesPerPixelOut←v6964 skipped */
/* declaration of vScratch←v6992 skipped */
/* declaration of dScratch←v7020 skipped */
/* declaration of pixelEncoding←v7048 skipped */
(* (( (ptr) &var←c24928)+4)/* colorOperator←v5184 */ ) = formal←c0341;
(* (( (ptr) &var←c24928)+5)/* transform←v5212 */ ) = formal←c0342;
/* FallbackTranslatePixels: */
SOURCE(5797, 1207)
{
word tmpAddr47;
tmpAddr47 = (word) (( (ptr) &var←c24928)+6)/* var←c22624 */ ;
(* (ptr) tmpAddr47 ) = ( ((word) (fPt) SlowTranslate←P1596) );
(* (( (ptr) tmpAddr47) + 1) ) = 1;
};
SOURCE(5797, 1207)
done←v5372 = 1;
SOURCE(6018, 41)
(* (( (ptr) &var←c24928)+8)/* colorSpace←v6908 */ ) = (* (ptr) (* (( (ptr) &var←c24928)+5)/* transform←v5212 */ ) );
SOURCE(6061, 42)
{
word pd48;
pd48 = (* (( (ptr) (* (( (ptr) gf←c24960)+53)/* var←c22656 */ ))+39) );
dim←v6936 = (word) ( *( (fPt) ((* (ptr) pd48 ))))((* ((( (ptr) &var←c24928)+8)/* colorSpace←v6908 */ ) ), pd48);
};
SOURCE(6105, 48)
(* (( (ptr) &var←c24928)+9)/* samplesPerPixelOut←v6964 */ ) = (* (( (ptr) (* (( (ptr) (* (( (ptr) &var←c24928)+5)/* transform←v5212 */ ))+1)
))+1) );
SOURCE(6155, 42)
{
word pd49;
pd49 = (* (( (ptr) (* (( (ptr) gf←c24960)+53)/* var←c22656 */ ))+35) );
(* (( (ptr) &var←c24928)+10)/* vScratch←v6992 */ ) = (word) ( *( (fPt) ((* (ptr) pd49 ))))(dim←v6936, (* (ptr) &fc50 ), pd49)
;
};
SOURCE(6199, 57)
{
word pd51;
pd51 = (* (( (ptr) (* (( (ptr) gf←c24960)+53)/* var←c22656 */ ))+35) );
(* (( (ptr) &var←c24928)+11)/* dScratch←v7020 */ ) = (word) ( *( (fPt) ((* (ptr) pd51 ))))((* (( (ptr) &var←c24928)+9)/* samplesPerPixelOut←v6964 */ ), (* (ptr) &fc50 ), pd51)
;
};
SOURCE(6258, 74)
{
word pd52;
pd52 = (* (( (ptr) (* (( (ptr) gf←c24960)+53)/* var←c22656 */ ))+40) );
(* (( (ptr) &var←c24928)+12)/* pixelEncoding←v7048 */ ) = (word) ( *( (fPt) ((* (ptr) pd52 ))))((* ((( (ptr) &var←c24928)+4)
/* colorOperator←v5184 */ ) ), pd52);
};
SOURCE(6894, 30)
(void) ( *( (fPt) ((* (ptr) translateAction←v5268 ))))((word) ((( (bPt) &var←c24928)+24)/* var←c22624 */ ), translateAction←v5268)
;
SOURCE(6926, 38)
{
word pd53;
pd53 = (* (( (ptr) (* (( (ptr) gf←c24960)+53)/* var←c22656 */ ))+36) );
(* (( (ptr) &var←c24928)+11)/* dScratch←v7020 */ ) = (word) ( *( (fPt) ((* (ptr) pd53 ))))((* ((( (ptr) &var←c24928)+11)
/* dScratch←v7020 */ ) ), pd53);
};
SOURCE(6966, 38)
{
word pd54;
pd54 = (* (( (ptr) (* (( (ptr) gf←c24960)+53)/* var←c22656 */ ))+36) );
(* (( (ptr) &var←c24928)+10)/* vScratch←v6992 */ ) = (word) ( *( (fPt) ((* (ptr) pd54 ))))((* ((( (ptr) &var←c24928)+10)
/* vScratch←v6992 */ ) ), pd54);
};
SOURCE(5797, 1207)
return(done←v5372);
}
static void SlowTranslate←P1596(formal←c0343, pixelsOut←v18400, formal←c25024)
word formal←c0343;
word pixelsOut←v18400;
word formal←c25024;
{
W8 var←c24992;
/* declaration of pixelsIn←v18372 skipped */
/* declaration of var←c22688 skipped */
word v←v7120;
word d←v7148;
word class←v7176;
formal←c25024 = (formal←c25024 - 24);
var←c24992.f4/* pixelsIn←v18372 */ = formal←c0343;
var←c24992.f0 = formal←c25024;
/* SlowTranslate: */
SOURCE(6334, 537)
{
word tmpAddr55;
tmpAddr55 = (word) (( (ptr) &var←c24992)+5)/* var←c22688 */ ;
(* (ptr) tmpAddr55 ) = ( ((word) (fPt) pixelIn←P1752) );
(* (( (ptr) tmpAddr55) + 1) ) = 1;
};
SOURCE(6368, 24)
v←v7120 = (* (( (ptr) formal←c25024)+10) );
SOURCE(6394, 24)
d←v7148 = (* (( (ptr) formal←c25024)+11) );
SOURCE(6420, 47)
class←v7176 = (* (( (ptr) (* (( (ptr) formal←c25024)+4) ))+2) );
SOURCE(6469, 402)
{
/* declaration of j←v7220 skipped */
register word noName←c22720;
var←c24992.f7/* j←v7220 */ = 0;
noName←c22720 = (* (ptr) var←c24992.f4/* pixelsIn←v18372 */ );
if ((var←c24992.f7/* j←v7220 */ >= noName←c22720)) {
goto lab←L100015;
};
lab←L100018: ;
SOURCE(6714, 50)
{
word pd56;
pd56 = (* (( (ptr) class←v7176)+4) );
(void) ( *( (fPt) ((* (ptr) pd56 ))))((* (( (ptr) formal←c25024)+4) ), (word) (( (bPt) &var←c24992)+20)/* var←c22688 */ , (* (
( (ptr) formal←c25024)+8) ), v←v7120, pd56);
};
SOURCE(6766, 31)
{
word pd57;
pd57 = (* (( (ptr) (* (( (ptr) formal←c25024)+5) ))+2) );
(void) ( *( (fPt) ((* (ptr) pd57 ))))((* (( (ptr) formal←c25024)+5) ), v←v7120, d←v7148, pd57);
};
SOURCE(6799, 72)
{
register word i←v7308 = 0;
if ((i←v7308 >= (* (( (ptr) formal←c25024)+9) ))) {
goto lab←L100019;
};
lab←L100022: ;
SOURCE(6840, 31)
{
word var←c22752;
{
word var←c22784;
word real←v20632;
{
word limit58;
word x59;
word x60;
*(float*)&real←v20632 = (
x59 = (* ((( (ptr) d←v7148)+2)+(
limit58 = (* (( (ptr) d←v7148)+1) ),
BCK(i←v7308, limit58)
)) ), *(float*)&x59
) + (
x60 = (* (ptr) &fc26 ), *(float*)&x60
);
};
SOURCE(5772, 21)
var←c22784 = (word) (long int)*(float*)&(real←v20632);
var←c22752 = SGNCK(var←c22784);
};
{
word var←c22848;
{
word limit61;
var←c22848 = (* ((( (ptr) pixelsOut←v18400)+2)+(
limit61 = (* (( (ptr) pixelsOut←v18400)+1) ),
BCK(i←v7308, limit61)
)) );
};
{
word idx62;
word limit63;
(* ((( (ptr) var←c22848)+2)+(
idx62 = (word) var←c24992.f7/* j←v7220 */ ,
limit63 = (* (( (ptr) var←c22848)+1) ),
BCK(idx62, limit63)
)) ) = var←c22752;
};
};
};
i←v7308 = (i←v7308 + 1);
if ((i←v7308 < (* (( (ptr) formal←c25024)+9) ))) {
goto lab←L100022;
};
lab←L100019: ;
};
var←c24992.f7/* j←v7220 */ = (var←c24992.f7/* j←v7220 */ + 1);
if ((var←c24992.f7/* j←v7220 */ < noName←c22720)) {
goto lab←L100018;
};
lab←L100015: ;
};
}
static word pixelIn←P1752(i←v18700, formal←c25056)
word i←v18700;
word formal←c25056;
{
word var←c18744;
word v←v7352;
formal←c25056 = (formal←c25056 - 20);
/* pixelIn: */
SOURCE(6507, 21)
SOURCE(6530, 28)
{
word var←c22880;
{
word limit64;
var←c22880 = (* ((( (ptr) (* (( (ptr) formal←c25056)+4) ))+2)+(
limit64 = (* (( (ptr) (* (( (ptr) formal←c25056)+4) ))+1) ),
BCK(i←v18700, limit64)
)) );
};
{
word idx65;
word limit66;
v←v7352 = (* ((( (ptr) var←c22880)+2)+(
idx65 = (* (( (ptr) formal←c25056)+7) ),
limit66 = (* (( (ptr) var←c22880)+1) ),
BCK(idx65, limit66)
)) );
};
};
SOURCE(6560, 146)
if (((* (( (ptr) (* (ptr) formal←c25056 ))+12) ) == 0)) {
SOURCE(6588, 16)
{
float tf67;
return((
tf67 = (float)(unsigned)v←v7352, *(word*)&tf67
));
};
}
else {
SOURCE(6604, 104)
{
word limit←v7396;
SOURCE(6606, 41)
{
word limit68;
word idx69;
limit←v7396 = (
idx69 = (word) ((* (ptr) (* ((( (ptr) (* (( (ptr) (* (ptr) formal←c25056 ))+12) ))+1)+(
limit68 = (* (ptr) (* (( (ptr) (* (ptr) formal←c25056 ))+12) ) ),
BCK(i←v18700, limit68)
)) ) ) - 1),
SGNCK(idx69)
);
};
SOURCE(6649, 27)
if ((v←v7352 > limit←v7396)) {
SOURCE(6667, 9)
v←v7352 = limit←v7396;
};
SOURCE(6678, 28)
{
word var←c22912;
{
word limit70;
var←c22912 = (* ((( (ptr) (* (( (ptr) (* (ptr) formal←c25056 ))+12) ))+1)+(
limit70 = (* (ptr) (* (( (ptr) (* (ptr) formal←c25056 ))+12) ) ),
BCK(i←v18700, limit70)
)) );
};
{
word limit71;
return((* ((( (ptr) var←c22912)+1)+(
limit71 = (* (ptr) var←c22912 ),
BCK(v←v7352, limit71)
)) ));
};
};
};
};
}
static void InitOtherCases←P780()
{
register ptr gf←c25088 = (ptr) &globalframe;
/* InitOtherCases: */
SOURCE(7009, 237)
SOURCE(7034, 101)
{
word var←c22944;
var←c22944 = (word) MakeAccelerator←P60(1000, (* (( (ptr) gf←c25088)+19) ), 0, (word) (( (bPt) gf←c25088)+92)/* var←c20864 */ , 0)
;
(void) RegisterAccelerator←P120(var←c22944);
};
SOURCE(7137, 109)
{
word var←c22976;
var←c22976 = (word) MakeAccelerator←P60(2000, (* (( (ptr) gf←c25088)+20) ), 0, (word) (( (bPt) gf←c25088)+84)/* var←c20832 */ , 0)
;
(void) RegisterAccelerator←P120(var←c22976);
};
}
static word OneDimTranslate←P840(self←v5448, colorOperator←v5476, transform←v5504, maxIn←v5532, translateAction←v5560)
word self←v5448;
word colorOperator←v5476;
word transform←v5504;
word maxIn←v5532;
word translateAction←v5560;
{
W12 var←c25120;
register ptr gf←c25152 = (ptr) &globalframe;
word var←c5664;
/* declaration of var←c23008 skipped */
/* declaration of var←c23040 skipped */
word dimIn←v7440;
/* OneDimTranslate: */
SOURCE(7252, 2365)
{
word tmpAddr72;
tmpAddr72 = (word) (( (ptr) &var←c25120)+4)/* var←c23008 */ ;
(* (ptr) tmpAddr72 ) = ( ((word) (fPt) pixelIn←P2112) );
(* (( (ptr) tmpAddr72) + 1) ) = 1;
};
{
word tmpAddr73;
tmpAddr73 = (word) (( (ptr) &var←c25120)+6)/* var←c23040 */ ;
(* (ptr) tmpAddr73 ) = ( ((word) (fPt) TableTranslate←P1956) );
(* (( (ptr) tmpAddr73) + 1) ) = 1;
};
SOURCE(7452, 44)
dimIn←v7440 = (* (( (ptr) colorOperator←v5476)+1) );
SOURCE(7498, 2099)
if ((dimIn←v7440 == 1)) {
SOURCE(7516, 2083)
{
word colorSpace←v7484;
word dim←v7512;
/* declaration of samplesPerPixelOut←v7540 skipped */
/* declaration of pixelEncoding←v7568 skipped */
word maxIn0←v7596;
/* declaration of table←v7624 skipped */
word d←v7680;
word v←v7708;
word class←v7736;
SOURCE(7518, 41)
colorSpace←v7484 = (* (ptr) transform←v5504 );
SOURCE(7561, 42)
{
word pd74;
pd74 = (* (( (ptr) (* (( (ptr) gf←c25152)+53)/* var←c22656 */ ))+39) );
dim←v7512 = (word) ( *( (fPt) ((* (ptr) pd74 ))))(colorSpace←v7484, pd74);
};
SOURCE(7605, 48)
(* (( (ptr) &var←c25120)+8)/* samplesPerPixelOut←v7540 */ ) = (* (( (ptr) (* (( (ptr) transform←v5504)+1) ))+1) );
SOURCE(7655, 74)
{
word pd75;
pd75 = (* (( (ptr) (* (( (ptr) gf←c25152)+53)/* var←c22656 */ ))+40) );
(* (( (ptr) &var←c25120)+9)/* pixelEncoding←v7568 */ ) = (word) ( *( (fPt) ((* (ptr) pd75 ))))(colorOperator←v5476, pd75)
;
};
SOURCE(7731, 27)
maxIn0←v7596 = (word) ( *( (fPt) ((* (ptr) maxIn←v5532 ))))(0, maxIn←v5532);
SOURCE(7760, 82)
{
word pd76;
pd76 = (* (( (ptr) (* (( (ptr) gf←c25152)+52)/* var←c22368 */ ))+5) );
(* (( (ptr) &var←c25120)+10)/* table←v7624 */ ) = (word) ( *( (fPt) ((* (ptr) pd76 ))))((* (( (ptr) &var←c25120)+8)/* samplesPerPixelOut←v7540 */ ), (maxIn0←v7596 +
1), pd76);
};
SOURCE(9008, 50)
{
word pd77;
pd77 = (* (( (ptr) (* (( (ptr) gf←c25152)+53)/* var←c22656 */ ))+35) );
d←v7680 = (word) ( *( (fPt) ((* (ptr) pd77 ))))((* (( (ptr) &var←c25120)+8)/* samplesPerPixelOut←v7540 */ ), (* (ptr) &fc50 ), pd77)
;
};
SOURCE(9060, 35)
{
word pd78;
pd78 = (* (( (ptr) (* (( (ptr) gf←c25152)+53)/* var←c22656 */ ))+35) );
v←v7708 = (word) ( *( (fPt) ((* (ptr) pd78 ))))(dim←v7512, (* (ptr) &fc50 ), pd78);
};
SOURCE(9097, 47)
class←v7736 = (* (( (ptr) colorOperator←v5476)+2) );
SOURCE(9146, 293)
{
/* declaration of s0←v7780 skipped */
(* (( (ptr) &var←c25120)+11)/* s0←v7780 */ ) = 0;
if (((* (( (ptr) &var←c25120)+11)/* s0←v7780 */ ) > maxIn0←v7596)) {
goto lab←L100024;
};
lab←L100027: ;
SOURCE(9277, 50)
{
word pd79;
pd79 = (* (( (ptr) class←v7736)+4) );
(void) ( *( (fPt) ((* (ptr) pd79 ))))(colorOperator←v5476, (word) (( (bPt) &var←c25120)+16)/* var←c23008 */ , colorSpace←v7484, v←v7708, pd79)
;
};
SOURCE(9329, 31)
{
word pd80;
pd80 = (* (( (ptr) transform←v5504)+2) );
(void) ( *( (fPt) ((* (ptr) pd80 ))))(transform←v5504, v←v7708, d←v7680, pd80);
};
SOURCE(9362, 77)
{
register word i←v7868 = 0;
if ((i←v7868 >= (* (( (ptr) &var←c25120)+8)/* samplesPerPixelOut←v7540 */ ))) {
goto lab←L100028;
};
lab←L100031: ;
SOURCE(9403, 36)
{
word var←c23072;
{
word var←c23104;
word real←v20556;
{
word limit81;
word x82;
word x83;
*(float*)&real←v20556 = (
x82 = (* ((( (ptr) d←v7680)+2)+(
/*1*/ limit81 = (* (( (ptr) d←v7680)+1) ),
/*1*/ BCK(i←v7868, limit81)
/*1*/ )) ), *(float*)&x82
) + (
x83 = (* (ptr) &fc26 ), *(float*)&x83
);
};
SOURCE(5772, 21)
var←c23104 = (word) (long int)*(float*)&(real←v20556);
var←c23072 = (MAX((int)(word), var←c23104, 0));
};
{
word var←c23168;
{
word limit84;
var←c23168 = (* ((( (ptr) (* (( (ptr) &var←c25120)+10)/* table←v7624 */ ))+2)+(
/*1*/ limit84 = (* (( (ptr) (* (( (ptr) &var←c25120)+10)/* table←v7624 */ ))+1) ),
/*1*/ BCK(i←v7868, limit84)
/*1*/ )) );
};
{
word idx85;
word limit86;
(* ((( (ptr) var←c23168)+2)+(
/*1*/ idx85 = (* (( (ptr) &var←c25120)+11)/* s0←v7780 */ ),
/*1*/ limit86 = (* (( (ptr) var←c23168)+1) ),
/*1*/ BCK(idx85, limit86)
/*1*/ )) ) = var←c23072;
};
};
};
i←v7868 = (i←v7868 + 1);
if ((i←v7868 < (* (( (ptr) &var←c25120)+8)/* samplesPerPixelOut←v7540 */ ))) {
goto lab←L100031;
};
lab←L100028: ;
};
if (((* (( (ptr) &var←c25120)+11)/* s0←v7780 */ ) >= maxIn0←v7596)) {
goto lab←L100024;
};
(* (( (ptr) &var←c25120)+11)/* s0←v7780 */ ) = ((* (( (ptr) &var←c25120)+11)/* s0←v7780 */ ) + 1);
goto lab←L100027;
lab←L100024: ;
};
SOURCE(9459, 31)
(void) ( *( (fPt) ((* (ptr) translateAction←v5560 ))))((word) ((( (bPt) &var←c25120)+24)/* var←c23040 */ ), translateAction←v5560)
;
SOURCE(9492, 39)
{
word pd87;
pd87 = (* (( (ptr) (* (( (ptr) gf←c25152)+52)/* var←c22368 */ ))+6) );
(void) ( *( (fPt) ((* (ptr) pd87 ))))((* ((( (ptr) &var←c25120)+10)/* table←v7624 */ ) ), pd87);
};
SOURCE(9533, 24)
{
word pd88;
pd88 = (* (( (ptr) (* (( (ptr) gf←c25152)+53)/* var←c22656 */ ))+36) );
v←v7708 = (word) ( *( (fPt) ((* (ptr) pd88 ))))(v←v7708, pd88);
};
SOURCE(9559, 24)
{
word pd89;
pd89 = (* (( (ptr) (* (( (ptr) gf←c25152)+53)/* var←c22656 */ ))+36) );
d←v7680 = (word) ( *( (fPt) ((* (ptr) pd89 ))))(d←v7680, pd89);
};
SOURCE(9585, 12)
return(1);
};
};
SOURCE(9602, 15)
return(0);
}
static void TableTranslate←P1956(pixelsIn←v19328, pixelsOut←v19356, formal←c25216)
word pixelsIn←v19328;
word pixelsOut←v19356;
word formal←c25216;
{
register ptr gf←c25184 = (ptr) &globalframe;
word count←v7976;
formal←c25216 = (formal←c25216 - 24);
/* TableTranslate: */
SOURCE(7844, 40)
SOURCE(7886, 28)
count←v7976 = (* (ptr) pixelsIn←v19328 );
SOURCE(7916, 1069)
{
register word i←v8020 = 0;
if ((i←v8020 >= (* (( (ptr) formal←c25216)+8) ))) {
goto lab←L100033;
};
lab←L100036: ;
{
word samplesIn←v8064;
word samplesOut←v8092;
word samplesTable←v8120;
word max←v8148;
word pointerIn←v8176;
word pointerOut←v8204;
word pointerTable←v8232;
SOURCE(7957, 37)
{
word limit90;
samplesIn←v8064 = (* ((( (ptr) pixelsIn←v19328)+2)+(
limit90 = (* (( (ptr) pixelsIn←v19328)+1) ),
BCK(0, limit90)
)) );
};
SOURCE(7996, 39)
{
word limit91;
samplesOut←v8092 = (* ((( (ptr) pixelsOut←v19356)+2)+(
limit91 = (* (( (ptr) pixelsOut←v19356)+1) ),
BCK(i←v8020, limit91)
)) );
};
SOURCE(8037, 37)
{
word limit92;
samplesTable←v8120 = (* ((( (ptr) (* (( (ptr) formal←c25216)+10) ))+2)+(
limit92 = (* (( (ptr) (* (( (ptr) formal←c25216)+10) ))+1) ),
BCK(i←v8020, limit92)
)) );
};
SOURCE(8076, 37)
{
word idx93;
max←v8148 = (
idx93 = (word) ((* (ptr) samplesTable←v8120 ) - 1),
SGNCK(idx93)
);
};
SOURCE(8115, 103)
{
word pd94;
pd94 = (* (( (ptr) (* (( (ptr) gf←c25184)+54)/* var←c23200 */ ))+9) );
pointerIn←v8176 = (word) ( *( (fPt) ((* (ptr) pd94 ))))(samplesIn←v8064, 0, count←v7976, pd94);
};
SOURCE(8220, 105)
{
word pd95;
pd95 = (* (( (ptr) (* (( (ptr) gf←c25184)+54)/* var←c23200 */ ))+9) );
pointerOut←v8204 = (word) ( *( (fPt) ((* (ptr) pd95 ))))(samplesOut←v8092, 0, count←v7976, pd95);
};
SOURCE(8327, 107)
{
word pd96;
pd96 = (* (( (ptr) (* (( (ptr) gf←c25184)+54)/* var←c23200 */ ))+9) );
pointerTable←v8232 = (word) ( *( (fPt) ((* (ptr) pd96 ))))(samplesTable←v8120, 0, SGNCK(max←v8148), pd96);
};
SOURCE(8532, 300)
{
register word noName←c23232 = 0;
register word noName←c23264;
noName←c23264 = ((word) count←v7976 >> 2);
if ((noName←c23232 >= noName←c23264)) {
goto lab←L100037;
};
lab←L100040: ;
SOURCE(8556, 52)
{
word x97;
(* (ptr) pointerOut←v8204 ) = (* (( (ptr) pointerTable←v8232)+(x97 = (* (ptr) pointerIn←v8176 ),
MIN( (unsigned) , x97, max←v8148))) );
};
SOURCE(8610, 52)
{
word x98;
(* (( (ptr) pointerOut←v8204)+1) ) = (* (( (ptr) pointerTable←v8232)+(x98 = (* (( (ptr) pointerIn←v8176)+1) ),
MIN( (unsigned) , x98, max←v8148))) );
};
SOURCE(8664, 52)
{
word x99;
(* (( (ptr) pointerOut←v8204)+2) ) = (* (( (ptr) pointerTable←v8232)+(x99 = (* (( (ptr) pointerIn←v8176)+2) ),
MIN( (unsigned) , x99, max←v8148))) );
};
SOURCE(8718, 52)
{
word x100;
(* (( (ptr) pointerOut←v8204)+3) ) = (* (( (ptr) pointerTable←v8232)+(x100 = (* (( (ptr) pointerIn←v8176)+3) ),
MIN( (unsigned) , x100, max←v8148))) );
};
SOURCE(8772, 28)
pointerIn←v8176 = (pointerIn←v8176 + 16);
SOURCE(8802, 30)
pointerOut←v8204 = (pointerOut←v8204 + 16);
noName←c23232 = (noName←c23232 + 1);
if ((noName←c23232 < noName←c23264)) {
goto lab←L100040;
};
lab←L100037: ;
};
SOURCE(8843, 142)
{
register word noName←c23296 = 0;
register word noName←c23328;
noName←c23328 = (count←v7976 & 3);
if ((noName←c23296 >= noName←c23328)) {
goto lab←L100041;
};
lab←L100044: ;
SOURCE(8871, 52)
{
word x101;
(* (ptr) pointerOut←v8204 ) = (* (( (ptr) pointerTable←v8232)+(x101 = (* (ptr) pointerIn←v8176 ),
MIN( (unsigned) , x101, max←v8148))) );
};
SOURCE(8925, 28)
pointerIn←v8176 = (pointerIn←v8176 + 4);
SOURCE(8955, 30)
pointerOut←v8204 = (pointerOut←v8204 + 4);
noName←c23296 = (noName←c23296 + 1);
if ((noName←c23296 < noName←c23328)) {
goto lab←L100044;
};
lab←L100041: ;
};
};
i←v8020 = (i←v8020 + 1);
if ((i←v8020 < (* (( (ptr) formal←c25216)+8) ))) {
goto lab←L100036;
};
lab←L100033: ;
};
}
static word pixelIn←P2112(i←v19416, formal←c25280)
word i←v19416;
word formal←c25280;
{
register ptr gf←c25248 = (ptr) &globalframe;
word var←c19460;
word check←v7912;
formal←c25280 = (formal←c25280 - 16);
/* pixelIn: */
SOURCE(9181, 21)
SOURCE(9204, 17)
check←v7912 = BCK(i←v19416, 1);
SOURCE(9223, 49)
{
word pd102;
float tf103;
pd102 = (* (( (ptr) (* (( (ptr) gf←c25248)+53)/* var←c22656 */ ))+21) );
return((word) ( *( (fPt) ((* (ptr) pd102 ))))((* (( (ptr) formal←c25280)+9) ), i←v19416, (
tf103 = (float)(unsigned)(* (( (ptr) formal←c25280)+11) ), *(word*)&tf103
), pd102));
};
}
static word SmallTableTranslate←P900(self←v5724, formal←c0344, formal←c0345, maxIn←v5808, translateAction←v5836)
word self←v5724;
word formal←c0344;
word formal←c0345;
word maxIn←v5808;
word translateAction←v5836;
{
W27 var←c25312;
/* declaration of colorOperator←v5752 skipped */
/* declaration of transform←v5780 skipped */
register ptr gf←c25344 = (ptr) &globalframe;
word var←c5940;
/* declaration of var←c23392 skipped */
/* declaration of var←c23424 skipped */
/* declaration of var←c23456 skipped */
/* declaration of dimIn←v8368 skipped */
(* (( (ptr) &var←c25312)+4)/* colorOperator←v5752 */ ) = formal←c0344;
(* (( (ptr) &var←c25312)+5)/* transform←v5780 */ ) = formal←c0345;
/* SmallTableTranslate: */
SOURCE(9651, 4464)
{
word tmpAddr104;
tmpAddr104 = (word) (( (ptr) &var←c25312)+6)/* var←c23392 */ ;
(* (ptr) tmpAddr104 ) = ( ((word) (fPt) MultiDimTableTranslate←P2628) );
(* (( (ptr) tmpAddr104) + 1) ) = 1;
};
{
word tmpAddr105;
tmpAddr105 = (word) (( (ptr) &var←c25312)+8)/* var←c23424 */ ;
(* (ptr) tmpAddr105 ) = ( ((word) (fPt) PakNSav←P2568) );
(* (( (ptr) tmpAddr105) + 1) ) = 1;
};
{
word tmpAddr106;
tmpAddr106 = (word) (( (ptr) &var←c25312)+10)/* var←c23456 */ ;
(* (ptr) tmpAddr106 ) = ( ((word) (fPt) InitMultiDimTable←P2508) );
(* (( (ptr) tmpAddr106) + 1) ) = 1;
};
SOURCE(9855, 44)
(* (( (ptr) &var←c25312)+12)/* dimIn←v8368 */ ) = (* (( (ptr) (* (( (ptr) &var←c25312)+4)/* colorOperator←v5752 */ ))+1)
);
SOURCE(9901, 4191)
if ( ( ((* (( (ptr) &var←c25312)+12)/* dimIn←v8368 */ ) > 0) ? ((* (( (ptr) (* (( (ptr) &var←c25312)+4)/* colorOperator←v5752 */ ))+1)
) <= 4) : 0 ) ) {
SOURCE(9960, 4137)
{
/* declaration of colorSpace←v8412 skipped */
/* declaration of dim←v8440 skipped */
/* declaration of samplesPerPixelOut←v8468 skipped */
/* declaration of pixelEncoding←v8496 skipped */
/* declaration of mask←v8524 skipped */
/* declaration of packing←v8552 skipped */
/* declaration of tableSize←v8580 skipped */
SOURCE(9962, 41)
(* (( (ptr) &var←c25312)+13)/* colorSpace←v8412 */ ) = (* (ptr) (* (( (ptr) &var←c25312)+5)/* transform←v5780 */ ) );
SOURCE(10005, 42)
{
word pd107;
pd107 = (* (( (ptr) (* (( (ptr) gf←c25344)+53)/* var←c22656 */ ))+39) );
(* (( (ptr) &var←c25312)+14)/* dim←v8440 */ ) = (word) ( *( (fPt) ((* (ptr) pd107 ))))((* ((( (ptr) &var←c25312)+13)/* colorSpace←v8412 */ ) ), pd107)
;
};
SOURCE(10049, 48)
(* (( (ptr) &var←c25312)+15)/* samplesPerPixelOut←v8468 */ ) = (* (( (ptr) (* (( (ptr) (* (( (ptr) &var←c25312)+5)/* transform←v5780 */ ))+1)
))+1) );
SOURCE(10099, 74)
{
word pd108;
pd108 = (* (( (ptr) (* (( (ptr) gf←c25344)+53)/* var←c22656 */ ))+40) );
(* (( (ptr) &var←c25312)+16)/* pixelEncoding←v8496 */ ) = (word) ( *( (fPt) ((* (ptr) pd108 ))))((* ((( (ptr) &var←c25312)+4)
/* colorOperator←v5752 */ ) ), pd108);
};
SOURCE(10175, 39)
XR←FillWords(&(* (W4Pt) ((( (ptr) &var←c25312)+17)/* mask←v8524 */ )), 4, 0);
SOURCE(10268, 41)
XR←FillWords(&(* (W4Pt) ((( (ptr) &var←c25312)+21)/* packing←v8552 */ )), 4, 0);
SOURCE(10336, 18)
(* (( (ptr) &var←c25312)+25)/* tableSize←v8580 */ ) = 1;
SOURCE(10356, 256)
{
register word i←v8716 = 0;
if ((i←v8716 >= (* (( (ptr) &var←c25312)+12)/* dimIn←v8368 */ ))) {
goto lab←L100045;
};
lab←L100048: ;
{
word maxi←v8760;
word bits←v8788 = 0;
word m←v8816 = 1;
SOURCE(10384, 20)
{
word idx109;
maxi←v8760 = (
idx109 = (word) ( *( (fPt) ((* (ptr) maxIn←v5808 ))))(i←v8716, maxIn←v5808),
SGNCK(idx109)
);
};
SOURCE(10434, 50)
lab←L100051: ;
if ((m←v8816 <= maxi←v8760)) {
}
else {
goto lab←L100049;
};
SOURCE(10452, 7)
m←v8816 = ((word) m←v8816 << 1);
SOURCE(10461, 23)
bits←v8788 = (bits←v8788 + 1);
goto lab←L100051;
lab←L100049: ;
SOURCE(10486, 17)
(* ((( (ptr) &var←c25312)+21)/* packing←v8552 */ +BCK(i←v8716, 4)) ) = BCK(bits←v8788, 32);
SOURCE(10505, 13)
(* ((( (ptr) &var←c25312)+17)/* mask←v8524 */ +BCK(i←v8716, 4)) ) = (m←v8816 - 1);
SOURCE(10520, 57)
if (((* (( (ptr) &var←c25312)+25)/* tableSize←v8580 */ ) > (* (( (ptr) gf←c25344)+11)/* smallTableSize←v3560 */ ))) {
SOURCE(10557, 20)
(* (( (ptr) &var←c25312)+25)/* tableSize←v8580 */ ) = 2147483647;
SOURCE(10579, 5)
goto lab←L100046;
};
SOURCE(10587, 25)
{
word idx110;
(* (( (ptr) &var←c25312)+25)/* tableSize←v8580 */ ) = (
idx110 = (word) ((* (( (ptr) &var←c25312)+25)/* tableSize←v8580 */ ) * m←v8816),
SGNCK(idx110)
);
};
};
i←v8716 = (i←v8716 + 1);
if ((i←v8716 < (* (( (ptr) &var←c25312)+12)/* dimIn←v8368 */ ))) {
goto lab←L100048;
};
lab←L100045: ;
lab←L100046: ;
};
SOURCE(10623, 3469)
if (((* (( (ptr) &var←c25312)+25)/* tableSize←v8580 */ ) <= (* (( (ptr) gf←c25344)+11)/* smallTableSize←v3560 */ ))) {
SOURCE(10659, 3435)
{
/* declaration of table←v8916 skipped */
SOURCE(12468, 40)
(* (( (ptr) &var←c25312)+26)/* table←v8916 */ ) = (word) InitMultiDimTable←P2508((word) ((( (bPt) &var←c25312)+40)/* var←c23456 */ ))
;
SOURCE(13998, 39)
(void) ( *( (fPt) ((* (ptr) translateAction←v5836 ))))((word) ((( (bPt) &var←c25312)+24)/* var←c23392 */ ), translateAction←v5836)
;
SOURCE(14039, 39)
{
word pd111;
pd111 = (* (( (ptr) (* (( (ptr) gf←c25344)+52)/* var←c22368 */ ))+6) );
(void) ( *( (fPt) ((* (ptr) pd111 ))))((* ((( (ptr) &var←c25312)+26)/* table←v8916 */ ) ), pd111);
};
SOURCE(14080, 12)
return(1);
};
};
};
};
SOURCE(14100, 15)
return(0);
}
static word InitMultiDimTable←P2508(formal←c25440)
word formal←c25440;
{
W10 var←c25376;
register ptr gf←c25408 = (ptr) &globalframe;
word var←c9020;
/* declaration of var←c23552 skipped */
word table←v9288;
word d←v9316;
word v←v9344;
word class←v9372;
formal←c25440 = (formal←c25440 - 40);
(* (ptr) &var←c25376 ) = formal←c25440;
/* InitMultiDimTable: */
SOURCE(10661, 33)
{
word tmpAddr112;
tmpAddr112 = (word) (( (ptr) &var←c25376)+4)/* var←c23552 */ ;
(* (ptr) tmpAddr112 ) = ( ((word) (fPt) PixelIn←P2880) );
(* (( (ptr) tmpAddr112) + 1) ) = 1;
};
SOURCE(10711, 83)
{
word pd113;
pd113 = (* (( (ptr) (* (( (ptr) gf←c25408)+52)/* var←c22368 */ ))+5) );
table←v9288 = (word) ( *( (fPt) ((* (ptr) pd113 ))))((* (( (ptr) formal←c25440)+15) ), (* (( (ptr) formal←c25440)+25) ), pd113)
;
};
SOURCE(10796, 50)
{
word pd114;
pd114 = (* (( (ptr) (* (( (ptr) gf←c25408)+53)/* var←c22656 */ ))+35) );
d←v9316 = (word) ( *( (fPt) ((* (ptr) pd114 ))))((* (( (ptr) formal←c25440)+15) ), (* (ptr) &fc50 ), pd114);
};
SOURCE(10848, 35)
{
word pd115;
pd115 = (* (( (ptr) (* (( (ptr) gf←c25408)+53)/* var←c22656 */ ))+35) );
v←v9344 = (word) ( *( (fPt) ((* (ptr) pd115 ))))((* (( (ptr) formal←c25440)+14) ), (* (ptr) &fc50 ), pd115);
};
SOURCE(10885, 47)
class←v9372 = (* (( (ptr) (* (( (ptr) formal←c25440)+4) ))+2) );
SOURCE(10934, 491)
{
register word packed←v9416 = 0;
register word noName←c23584;
noName←c23584 = (* (( (ptr) formal←c25440)+25) );
if ((packed←v9416 >= noName←c23584)) {
goto lab←L100052;
};
lab←L100055: ;
{
word p←v9460;
/* declaration of s←v9488 skipped */
SOURCE(10976, 20)
p←v9460 = packed←v9416;
SOURCE(11052, 108)
{
register word i←v9568;
i←v9568 = (* (( (ptr) formal←c25440)+12) );
if ((0 >= i←v9568)) {
goto lab←L100056;
};
i←v9568 = (i←v9568 - 1);
lab←L100059: ;
SOURCE(11091, 32)
{
word var←c23616;
var←c23616 = (word) XRM←BITAND(p←v9460, (* ((( (ptr) formal←c25440)+17)+BCK(i←v9568, 4)) ));
(* ((( (ptr) &var←c25376)+6)/* s←v9488 */ +BCK(i←v9568, 4)) ) = var←c23616;
};
SOURCE(11125, 35)
p←v9460 = (word) XRM←BITRSHIFT(p←v9460, (* ((( (ptr) formal←c25440)+21)+BCK(i←v9568, 4)) ));
if ((0 >= i←v9568)) {
goto lab←L100056;
};
i←v9568 = (i←v9568 - 1);
goto lab←L100059;
lab←L100056: ;
};
SOURCE(11179, 257)
SOURCE(11259, 50)
{
word pd116;
pd116 = (* (( (ptr) class←v9372)+4) );
(void) ( *( (fPt) ((* (ptr) pd116 ))))((* (( (ptr) formal←c25440)+4) ), (word) (( (bPt) &var←c25376)+16)/* var←c23552 */ , (* (
( (ptr) formal←c25440)+13) ), v←v9344, pd116);
};
SOURCE(11311, 31)
{
word pd117;
pd117 = (* (( (ptr) (* (( (ptr) formal←c25440)+5) ))+2) );
(void) ( *( (fPt) ((* (ptr) pd117 ))))((* (( (ptr) formal←c25440)+5) ), v←v9344, d←v9316, pd117);
};
SOURCE(11344, 81)
{
register word i←v9656 = 0;
if ((i←v9656 >= (* (( (ptr) formal←c25440)+15) ))) {
goto lab←L100060;
};
lab←L100063: ;
SOURCE(11385, 40)
{
word var←c23648;
{
word var←c23680;
word real←v20480;
{
word limit118;
word x119;
word x120;
*(float*)&real←v20480 = (
x119 = (* ((( (ptr) d←v9316)+2)+(
/*1*/ limit118 = (* (( (ptr) d←v9316)+1) ),
/*1*/ BCK(i←v9656, limit118)
/*1*/ )) ), *(float*)&x119
) + (
x120 = (* (ptr) &fc26 ), *(float*)&x120
);
};
SOURCE(5772, 21)
var←c23680 = (word) (long int)*(float*)&(real←v20480);
var←c23648 = (MAX((int)(word), var←c23680, 0));
};
{
word var←c23744;
{
word limit121;
var←c23744 = (* ((( (ptr) table←v9288)+2)+(
limit121 = (* (( (ptr) table←v9288)+1) ),
BCK(i←v9656, limit121)
)) );
};
{
word limit122;
(* ((( (ptr) var←c23744)+2)+(
limit122 = (* (( (ptr) var←c23744)+1) ),
BCK(packed←v9416, limit122)
)) ) = var←c23648;
};
};
};
i←v9656 = (i←v9656 + 1);
if ((i←v9656 < (* (( (ptr) formal←c25440)+15) ))) {
goto lab←L100063;
};
lab←L100060: ;
};
};
packed←v9416 = (packed←v9416 + 1);
if ((packed←v9416 < noName←c23584)) {
goto lab←L100055;
};
lab←L100052: ;
};
SOURCE(11448, 24)
{
word pd123;
pd123 = (* (( (ptr) (* (( (ptr) gf←c25408)+53)/* var←c22656 */ ))+36) );
v←v9344 = (word) ( *( (fPt) ((* (ptr) pd123 ))))(v←v9344, pd123);
};
SOURCE(11474, 24)
{
word pd124;
pd124 = (* (( (ptr) (* (( (ptr) gf←c25408)+53)/* var←c22656 */ ))+36) );
d←v9316 = (word) ( *( (fPt) ((* (ptr) pd124 ))))(d←v9316, pd124);
};
SOURCE(11500, 15)
return(table←v9288);
}
static word PixelIn←P2880(i←v20072, formal←c25504)
word i←v20072;
word formal←c25504;
{
register ptr gf←c25472 = (ptr) &globalframe;
word var←c20116;
formal←c25504 = (formal←c25504 - 16);
/* PixelIn: */
SOURCE(11181, 21)
SOURCE(11204, 52)
{
word pd125;
float tf126;
pd125 = (* (( (ptr) (* (( (ptr) gf←c25472)+53)/* var←c22656 */ ))+21) );
return((word) ( *( (fPt) ((* (ptr) pd125 ))))((* (( (ptr) (* (ptr) formal←c25504 ))+16) ), i←v20072, (
tf126 = (float)(unsigned)(* ((( (ptr) formal←c25504)+6)+BCK(i←v20072, 4)) ), *(word*)&tf126
), pd125));
};
}
static word PakNSav←P2568(buf←v9080, p0←v9108, p1←v9136, p2←v9164, p3←v9192, formal←c25568)
word buf←v9080;
word p0←v9108;
word p1←v9136;
word p2←v9164;
word p3←v9192;
word formal←c25568;
{
register ptr gf←c25536 = (ptr) &globalframe;
word var←c9248;
word count←v9700;
word packed←v9728;
word dimIn←v9756;
word b1←v9784;
word b2←v9812;
word b3←v9840;
word m0←v9868;
word m1←v9896;
word m2←v9924;
word m3←v9952;
formal←c25568 = (formal←c25568 - 32);
/* PakNSav: */
SOURCE(11518, 22)
SOURCE(11683, 23)
count←v9700 = (* (ptr) buf←v9080 );
SOURCE(11708, 89)
{
word pd127;
pd127 = (* (( (ptr) (* (( (ptr) gf←c25536)+54)/* var←c23200 */ ))+9) );
packed←v9728 = (word) ( *( (fPt) ((* (ptr) pd127 ))))(buf←v9080, 0, count←v9700, pd127);
};
SOURCE(11799, 44)
dimIn←v9756 = (* (( (ptr) (* (( (ptr) formal←c25568)+4) ))+1) );
SOURCE(11880, 24)
b1←v9784 = (* (( (ptr) formal←c25568)+22) );
SOURCE(11906, 24)
b2←v9812 = (* (( (ptr) formal←c25568)+23) );
SOURCE(11932, 24)
b3←v9840 = (* (( (ptr) formal←c25568)+24) );
SOURCE(11958, 22)
m0←v9868 = (* (( (ptr) formal←c25568)+17) );
SOURCE(11982, 22)
m1←v9896 = (* (( (ptr) formal←c25568)+18) );
SOURCE(12006, 22)
m2←v9924 = (* (( (ptr) formal←c25568)+19) );
SOURCE(12030, 22)
m3←v9952 = (* (( (ptr) formal←c25568)+20) );
SOURCE(12054, 383)
{
register word j←v10068 = 0;
if ((j←v10068 >= count←v9700)) {
goto lab←L100065;
};
lab←L100068: ;
{
word s←v10112;
SOURCE(12082, 38)
s←v10112 = (word) XRM←BITAND((* (ptr) p0←v9108 ), m0←v9868);
SOURCE(12122, 20)
p0←v9108 = (p0←v9108 + 4);
SOURCE(12144, 272)
if ((dimIn←v9756 > 1)) {
SOURCE(12164, 54)
s←v10112 = ((word) XRM←BITLSHIFT(s←v10112, b1←v9784) + (word) XRM←BITAND((* (ptr) p1←v9136 ), m1←v9896));
SOURCE(12220, 20)
p1←v9136 = (p1←v9136 + 4);
SOURCE(12242, 54)
s←v10112 = ((word) XRM←BITLSHIFT(s←v10112, b2←v9812) + (word) XRM←BITAND((* (ptr) p2←v9164 ), m2←v9924));
SOURCE(12298, 20)
p2←v9164 = (p2←v9164 + 4);
SOURCE(12320, 96)
if ((dimIn←v9756 > 3)) {
SOURCE(12340, 54)
s←v10112 = ((word) XRM←BITLSHIFT(s←v10112, b3←v9840) + (word) XRM←BITAND((* (ptr) p3←v9192 ), m3←v9952));
SOURCE(12396, 20)
p3←v9192 = (p3←v9192 + 4);
};
};
SOURCE(12424, 13)
(* (( (ptr) packed←v9728)+j←v10068) ) = s←v10112;
};
j←v10068 = (j←v10068 + 1);
if ((j←v10068 < count←v9700)) {
goto lab←L100068;
};
lab←L100065: ;
};
SOURCE(12448, 15)
return(packed←v9728);
}
static void MultiDimTableTranslate←P2628(formal←c0346, pixelsOut←v19664, formal←c25664)
word formal←c0346;
word pixelsOut←v19664;
word formal←c25664;
{
W8 var←c25600;
/* declaration of pixelsIn←v19636 skipped */
register ptr gf←c25632 = (ptr) &globalframe;
/* declaration of var←c23808 skipped */
/* declaration of count←v10156 skipped */
word packedBuf←v10184;
word check←v10212;
word packed←v10240;
formal←c25664 = (formal←c25664 - 24);
var←c25600.f4/* pixelsIn←v19636 */ = formal←c0346;
var←c25600.f0 = formal←c25664;
/* MultiDimTableTranslate: */
SOURCE(12510, 48)
{
word tmpAddr128;
tmpAddr128 = (word) (( (ptr) &var←c25600)+5)/* var←c23808 */ ;
(* (ptr) tmpAddr128 ) = ( ((word) (fPt) PIn←P3084) );
(* (( (ptr) tmpAddr128) + 1) ) = 1;
};
SOURCE(12560, 28)
var←c25600.f7/* count←v10156 */ = (* (ptr) var←c25600.f4/* pixelsIn←v19636 */ );
SOURCE(12590, 57)
{
word var←c23840;
var←c23840 = ((* (( (ptr) formal←c25664)+15) ) - 1);
{
word limit129;
packedBuf←v10184 = (* ((( (ptr) pixelsOut←v19664)+2)+(
limit129 = (* (( (ptr) pixelsOut←v19664)+1) ),
BCK(var←c23840, limit129)
)) );
};
};
SOURCE(12768, 40)
{
word idx130;
check←v10212 = (
idx130 = (word) ((* (ptr) packedBuf←v10184 ) - var←c25600.f7/* count←v10156 */ ),
BCK(idx130, 1)
);
};
SOURCE(12810, 95)
{
word var←c23872;
word var←c23904;
word var←c23936;
word var←c23968;
var←c23872 = (word) PIn←P3084(0, (word) (( (bPt) &var←c25600)+20)/* var←c23808 */ );
var←c23904 = (word) PIn←P3084(1, (word) (( (bPt) &var←c25600)+20)/* var←c23808 */ );
var←c23936 = (word) PIn←P3084(2, (word) (( (bPt) &var←c25600)+20)/* var←c23808 */ );
var←c23968 = (word) PIn←P3084(3, (word) (( (bPt) &var←c25600)+20)/* var←c23808 */ );
packed←v10240 = (word) PakNSav←P2568(packedBuf←v10184, var←c23872, var←c23904, var←c23936, var←c23968, (word) (( (bPt) formal←c25664)+32)
);
};
SOURCE(13121, 854)
{
register word i←v10460 = 0;
if ((i←v10460 >= (* (( (ptr) formal←c25664)+15) ))) {
goto lab←L100069;
};
lab←L100072: ;
{
word samplesTable←v10504;
word pointerTable←v10532;
word pointerIn←v10560;
word pointerOut←v10588;
SOURCE(13162, 37)
{
word limit131;
samplesTable←v10504 = (* ((( (ptr) (* (( (ptr) formal←c25664)+26) ))+2)+(
limit131 = (* (( (ptr) (* (( (ptr) formal←c25664)+26) ))+1) ),
BCK(i←v10460, limit131)
)) );
};
SOURCE(13201, 108)
{
word pd132;
pd132 = (* (( (ptr) (* (( (ptr) gf←c25632)+54)/* var←c23200 */ ))+9) );
pointerTable←v10532 = (word) ( *( (fPt) ((* (ptr) pd132 ))))(samplesTable←v10504, 0, (* (( (ptr) formal←c25664)+25) ), pd132)
;
};
SOURCE(13311, 54)
pointerIn←v10560 = packed←v10240;
SOURCE(13367, 107)
{
word pd133;
word limit134;
pd133 = (* (( (ptr) (* (( (ptr) gf←c25632)+54)/* var←c23200 */ ))+9) );
pointerOut←v10588 = (word) ( *( (fPt) ((* (ptr) pd133 ))))((* ((( (ptr) pixelsOut←v19664)+2)+(
limit134 = (* (( (ptr) pixelsOut←v19664)+1) ),
BCK(i←v10460, limit134)
)) ), 0, var←c25600.f7/* count←v10156 */ , pd133);
};
SOURCE(13572, 260)
{
register word noName←c24000 = 0;
register word noName←c24032;
noName←c24032 = ((word) var←c25600.f7/* count←v10156 */ >> 2);
if ((noName←c24000 >= noName←c24032)) {
goto lab←L100073;
};
lab←L100076: ;
SOURCE(13596, 42)
(* (ptr) pointerOut←v10588 ) = (* (( (ptr) pointerTable←v10532)+(* (ptr) pointerIn←v10560 )) );
SOURCE(13640, 42)
(* (( (ptr) pointerOut←v10588)+1) ) = (* (( (ptr) pointerTable←v10532)+(* (( (ptr) pointerIn←v10560)+1) )) );
SOURCE(13684, 42)
(* (( (ptr) pointerOut←v10588)+2) ) = (* (( (ptr) pointerTable←v10532)+(* (( (ptr) pointerIn←v10560)+2) )) );
SOURCE(13728, 42)
(* (( (ptr) pointerOut←v10588)+3) ) = (* (( (ptr) pointerTable←v10532)+(* (( (ptr) pointerIn←v10560)+3) )) );
SOURCE(13772, 28)
pointerIn←v10560 = (pointerIn←v10560 + 16);
SOURCE(13802, 30)
pointerOut←v10588 = (pointerOut←v10588 + 16);
noName←c24000 = (noName←c24000 + 1);
if ((noName←c24000 < noName←c24032)) {
goto lab←L100076;
};
lab←L100073: ;
};
SOURCE(13843, 132)
{
register word noName←c24064 = 0;
register word noName←c24096;
noName←c24096 = (var←c25600.f7/* count←v10156 */ & 3);
if ((noName←c24064 >= noName←c24096)) {
goto lab←L100077;
};
lab←L100080: ;
SOURCE(13871, 42)
(* (ptr) pointerOut←v10588 ) = (* (( (ptr) pointerTable←v10532)+(* (ptr) pointerIn←v10560 )) );
SOURCE(13915, 28)
pointerIn←v10560 = (pointerIn←v10560 + 4);
SOURCE(13945, 30)
pointerOut←v10588 = (pointerOut←v10588 + 4);
noName←c24064 = (noName←c24064 + 1);
if ((noName←c24064 < noName←c24096)) {
goto lab←L100080;
};
lab←L100077: ;
};
};
i←v10460 = (i←v10460 + 1);
if ((i←v10460 < (* (( (ptr) formal←c25664)+15) ))) {
goto lab←L100072;
};
lab←L100069: ;
};
}
static word PIn←P3084(i←v10376, formal←c25728)
word i←v10376;
word formal←c25728;
{
register ptr gf←c25696 = (ptr) &globalframe;
word var←c10420;
formal←c25728 = (formal←c25728 - 20);
/* PIn: */
SOURCE(12907, 18)
SOURCE(12996, 30)
if (( (int)i←v10376 >= (int)(* (( (ptr) (* (ptr) formal←c25728 ))+12) ))) {
SOURCE(13015, 11)
i←v10376 = ((* (( (ptr) (* (ptr) formal←c25728 ))+12) ) - 1);
};
SOURCE(13028, 26)
if (( (int)i←v10376 < (int)0)) {
SOURCE(13042, 12)
return(0);
};
SOURCE(13056, 62)
{
word pd135;
word limit136;
pd135 = (* (( (ptr) (* (( (ptr) gf←c25696)+54)/* var←c23200 */ ))+9) );
return((word) ( *( (fPt) ((* (ptr) pd135 ))))((* ((( (ptr) (* (( (ptr) formal←c25728)+4) ))+2)+(
limit136 = (* (( (ptr) (* (( (ptr) formal←c25728)+4) ))+1) ),
BCK(i←v10376, limit136)
)) ), 0, (* (( (ptr) formal←c25728)+7) ), pd135));
};
}
/* file: ImagerColorTranslateImpl, module: ImagerColorTranslateImpl, compiled at: March 9, 1994 11:49:31 am PST */
extern void XR←install←ImagerColorTranslateImpl() {
NoName←Q3480();
}
extern void XR←run←ImagerColorTranslateImpl() { XR←Start(&globalframe); }