/* 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); }