/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */ /* time: March 10, 1992 11:56:50 am PST */ /* C2C version: October 16, 1990 (native) */ /* ref-counting: off */ /* file: ImagerPixelArrayAISImpl, module: ImagerPixelArrayAISImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [1597582896,954321430] ImagerPixelArrayAISImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef word (*fPt)(); typedef struct {word f0, f1, f2;} W3; typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8; typedef struct {W8 f; W8 r;} W16; typedef struct {W16 f; W16 r;} W32; typedef struct {W32 f; W32 r;} W64; typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7; typedef struct {W64 f; W7 r;} W71; typedef struct {word f0, f1;} W2; typedef W3 *W3Pt; typedef W2 *W2Pt; typedef W8 *W8Pt; typedef struct {word f0, f1, f2, f3;} W4; typedef struct {W8 f; W4 r;} W12; typedef struct {word f0, f1, f2, f3, f4;} W5; typedef W4 *W4Pt; #define SOURCE(p, l) /* source p, l */ #define IOP2(op, x, y) ( (word) ((x) op (y)) ) #define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i ) #define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) ) #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) ) static void NoName←Q2652(); static void ImagerPixelArrayAISImpl←P0(); static void ProduceError←P180(); static void Assert←P240(); static void ReadBytes←P360(); static word FromAIS←P420(); static word p←P1044(); static word MaxSampleValueAIS←P480(); static void GetSamplesAIS←P540(); static void entryGetSamplesAIS←P1152(); static word NoName←Q2712(); static word Join3AIS←P600(); static void NoName←Q2772(); 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[48];} string3 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\363\223\326\161\300\017\164\046\072\104\350\005\004\162\145\163\164\214\216\257\300\363\223\326\161\300\017\164\046\072\104\350\261\000\000\000"}; static struct {unsigned f; char r[4];} string4 = {131074, "\004\003\000"}; static struct {unsigned f; char r[16];} string5 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"}; static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\071\045\144\167\300\145\377\112\006\100\310\000\000"}; static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\360\267\030\234\300\056\314\125\176\100\164\000\000"}; static struct {unsigned f; char r[8];} string8 = {262148, "\004\200\203\360\000\000\000"}; static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\071\045\144\167\300\145\377\112\006\100\274\000\000"}; static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\071\045\144\167\300\145\377\112\006\100\260\000\000"}; static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\071\045\144\167\300\145\377\112\006\100\230\000\000"}; static struct {unsigned f; char r[32];} string12 = {1835040, "AIS password value is wrong.\000\000\000"}; static struct {unsigned f; char r[28];} string13 = {1572892, "Unknown AIS coding type.\000\000\000"}; static struct {unsigned f; char r[20];} string14 = {1048596, "File not found: \000\000\000"}; static struct {unsigned f; char r[36];} string15 = {2293796, "AIS file structure is inconsistent."}; static struct {unsigned f; char r[4];} string16 = {196612, "AIS"}; static struct {unsigned f; char r[16];} string17 = {983056, "Bug in FromAIS."}; static struct {unsigned f; char r[44];} string18 = {2621484, "AIS file has unimplemented scanDirection\000\000\000"}; static struct {unsigned f; char r[32];} string19 = {1835040, "AIS file has no raster part.\000\000\000"}; static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\137\071\056\060\300\070\341\312\026\100\200\000\000"}; static struct {unsigned f; char r[12];} string21 = {589833, "\006\002\024\001\100\144\004\100\377\000\000"}; static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\045\370\116\014\300\270\323\074\131\100\150\000\000"}; static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\230\052\311\306\300\242\375\035\324\100\150\000\000"}; static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\170\002\151\000\300\332\212\147\067\100\150\000\000"}; static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\213\226\301\143\300\072\355\320\373\100\150\000\000"}; static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\041\257\203\366\300\322\161\356\007\100\150\000\000"}; static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"}; static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"}; static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"}; static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\056\204\102\044\300\111\366\033\137\100\150\000\000"}; static struct { word f0[4]; word f4; word f5[28]; 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[10]; } globalframe = { {0}, 16, {0}, (word) Join3AIS←P600, 0, (word) GetSamplesAIS←P540, 0, (word) MaxSampleValueAIS←P480, 0, (word) FromAIS←P420, 0, (word) ReadBytes←P360, 0, (word) Assert←P240, 0, (word) ProduceError←P180, 0, (word) ImagerPixelArrayAISImpl←P0, {0} }; static void NoName←Q2652() { register ptr gf←c0162 = (ptr) &globalframe; word var←c24736; (* (( (ptr) gf←c0162)+6) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf←c0162)+7) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4); (* (( (ptr) gf←c0162)+11) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string2); (* (( (ptr) gf←c0162)+12) ) = (word) XR←GetTypeIndexS((word) (&string6)); (* (( (ptr) gf←c0162)+13) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8); (* (( (ptr) gf←c0162)+22) ) = (word) XR←GetTypeIndexS((word) (&string9)); (* (( (ptr) gf←c0162)+23) ) = (word) XR←GetTypeIndexS((word) (&string10)); (* (( (ptr) gf←c0162)+24) ) = (word) XR←GetTypeIndexS((word) (&string11)); (* (ptr) (( (bPt) gf←c0162)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0162)+11) ), (word) &string12); (* (ptr) (( (bPt) gf←c0162)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0162)+11) ), (word) &string13); (* (ptr) (( (bPt) gf←c0162)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0162)+11) ), (word) &string14); (* (ptr) (( (bPt) gf←c0162)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0162)+11) ), (word) &string15); (* (ptr) (( (bPt) gf←c0162)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0162)+6) ), (word) &string16); (* (ptr) (( (bPt) gf←c0162)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0162)+11) ), (word) &string17); (* (ptr) (( (bPt) gf←c0162)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0162)+11) ), (word) &string18); (* (ptr) (( (bPt) gf←c0162)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0162)+11) ), (word) &string19); (void) XR←DeclareGlobalFrame((word) "ImagerPixelArrayAISImpl", &globalframe, (word) XR←GetTypeIndex((word) &string20, 0, (word) &string21) , (word) (( (bPt) gf←c0162)+188)/* var←c22368 */ ); var←c24736 = (word) XR←ImportInterface((word) "ImagerError", (word) XR←GetTypeIndexS((word) (&string22)), 3); (* (( (ptr) gf←c0162)+50)/* var←c22432 */ ) = var←c24736; var←c24736 = (word) XR←ImportInterface((word) "ImagerPixelArray", (word) XR←GetTypeIndexS((word) (&string23)), 13); (* (( (ptr) gf←c0162)+56)/* var←c24704 */ ) = var←c24736; (void) XR←ImportProcS(var←c24736, 67898115); var←c24736 = (word) XR←ImportInterface((word) "ImagerPixelArrayPrivate", (word) XR←GetTypeIndexS((word) (&string24)), 2); (* (( (ptr) gf←c0162)+49)/* var←c22400 */ ) = var←c24736; (void) XR←ImportProcS(var←c24736, 68944135); (void) XR←ImportProcS(var←c24736, 68681734); var←c24736 = (word) XR←ImportInterface((word) "ImagerSample", (word) XR←GetTypeIndexS((word) (&string25)), 60); (* (( (ptr) gf←c0162)+54)/* var←c24032 */ ) = var←c24736; (void) XR←ImportProcS(var←c24736, 2107398); (void) XR←ImportProcS(var←c24736, 68685571); var←c24736 = (word) XR←ImportInterface((word) "ImagerSys", (word) XR←GetTypeIndexS((word) (&string26)), 15); (* (( (ptr) gf←c0162)+52)/* var←c22592 */ ) = var←c24736; (void) XR←ImportProcS(var←c24736, 67373313); var←c24736 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string27)), 55); (* (( (ptr) gf←c0162)+55)/* var←c24224 */ ) = var←c24736; (void) XR←ImportProcS(var←c24736, 67897091); var←c24736 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string28)), 103); (* (( (ptr) gf←c0162)+51)/* var←c22528 */ ) = var←c24736; (void) XR←ImportProcS(var←c24736, 530946); (void) XR←ImportProcS(var←c24736, 67377409); (void) XR←ImportProcS(var←c24736, 68160002); var←c24736 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string29)), 43); (* (( (ptr) gf←c0162)+53)/* var←c22688 */ ) = var←c24736; (void) XR←ImportProcS(var←c24736, 67902211); (void) XR←ImportProcS(var←c24736, 67633666); var←c24736 = (word) XR←ExportInterface((word) "ImagerPixelArrayAIS", (word) XR←GetTypeIndexS((word) (&string30)), 2); (* (( (ptr) gf←c0162)+57)/* var←c24768 */ ) = var←c24736; (void) XR←ExportProcS(var←c24736, (word) (( (bPt) gf←c0162)+156)/* var←c22240 */ , 67371009); (void) XR←ExportProcS(var←c24736, (word) (( (bPt) gf←c0162)+132)/* var←c22144 */ , 67895555); } static void ImagerPixelArrayAISImpl←P0(formal←c024, formal←c023) word formal←c024; word formal←c023; { register ptr gf←c24800 = (ptr) &globalframe; /* ImagerPixelArrayAISImpl: */ SOURCE(956, 8758) /* moved to installation proc */ SOURCE(8100, 160) { word pd31; pd31 = (* (( (ptr) (* (( (ptr) gf←c24800)+49)/* var←c22400 */ ))+4) ); (* (( (ptr) gf←c24800)+5)/* classAIS←v3448 */ ) = (word) ( *( (fPt) ((* (ptr) pd31 ))))((* (( (ptr) gf←c24800)+29) ), (word) ( ( (bPt) gf←c24800)+148)/* var←c22208 */ , 0, (word) (( (bPt) gf←c24800)+140)/* var←c22176 */ , 0, 0, pd31); }; } static void ProduceError←P180(explanation←v3820) word explanation←v3820; { register ptr gf←c24832 = (ptr) &globalframe; /* ProduceError: */ SOURCE(1644, 109) SOURCE(1687, 66) { W3 var←c027; var←c027.f0 = 40; var←c027.f1 = explanation←v3820; var←c027.f2 = 0; (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c24832)+50)/* var←c22432 */ ))+4) ), (word) &var←c027); }; } static void Assert←P240(assertion←v3880) word assertion←v3880; { register ptr gf←c24864 = (ptr) &globalframe; /* Assert: */ SOURCE(1759, 108) SOURCE(1794, 73) if ((0 == assertion←v3880)) { SOURCE(1816, 51) (void) ProduceError←P180((* ((( (ptr) gf←c24864)+28)) )); }; } static void ReadBytes←P360(stream←v4044, base←v4072, bytes←v4100) word stream←v4044; word base←v4072; word bytes←v4100; { register ptr gf←c24896 = (ptr) &globalframe; word actualBytes←v4404; /* ReadBytes: */ SOURCE(1995, 224) SOURCE(2081, 82) { W3 var←c22496; var←c22496.f0 = base←v4072; var←c22496.f1 = 0; var←c22496.f2 = bytes←v4100; { word pd32; pd32 = (* (( (ptr) (* (( (ptr) gf←c24896)+51)/* var←c22528 */ ))+14) ); actualBytes←v4404 = (word) ( *( (fPt) ((* (ptr) pd32 ))))(stream←v4044, var←c22496, pd32); }; }; SOURCE(2165, 54) if (( (int)actualBytes←v4404 != (int)bytes←v4100)) { SOURCE(2191, 28) { word var←c034; var←c034 = stream←v4044; (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c24896)+51)/* var←c22528 */ ))+4) ), (word) &var←c034); }; }; } static word FromAIS←P420(name←v4172) word name←v4172; { W71 var←c24928; register ptr gf←c24960 = (ptr) &globalframe; word var←c4216; /* declaration of var←c22560 skipped */ word stream←v4448; word data←v4476; word header←v4504; word m←v4532 = 0; /* FromAIS: */ SOURCE(2244, 5849) { word tmpAddr33; tmpAddr33 = (word) (( (ptr) &var←c24928)+4)/* var←c22560 */ ; (* (ptr) tmpAddr33 ) = ( ((word) (fPt) p←P1044) ); (* (( (ptr) tmpAddr33) + 1) ) = 1; }; SOURCE(2323, 46) { word pd34; pd34 = (* (( (ptr) (* (( (ptr) gf←c24960)+52)/* var←c22592 */ ))+13) ); stream←v4448 = (word) ( *( (fPt) ((* (ptr) pd34 ))))(name←v4172, pd34); }; SOURCE(2371, 44) data←v4476 = XR←NewObject(64, (* (( (ptr) gf←c24960)+13) )); (* (( (ptr) data←v4476)+4) ) = stream←v4448; SOURCE(2644, 119) if ((stream←v4448 == 0)) { SOURCE(2665, 98) { word var←c22656; { word pd35; pd35 = (* (( (ptr) (* (( (ptr) gf←c24960)+53)/* var←c22688 */ ))+6) ); var←c22656 = (word) ( *( (fPt) ((* (ptr) pd35 ))))((* (( (ptr) gf←c24960)+27) ), name←v4172, pd35); }; { W3 var←c044; var←c044.f0 = 20; var←c044.f1 = var←c22656; var←c044.f2 = 0; (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c24960)+50)/* var←c22432 */ ))+4) ), (word) &var←c044); }; }; }; SOURCE(2773, 54) SOURCE(2775, 52) (void) ReadBytes←P360(stream←v4448, (word) &header←v4504, 4); SOURCE(2830, 84) if (((* (hPt) &header←v4504 ) != 33962)) { SOURCE(2870, 44) (void) ProduceError←P180((* ((( (ptr) gf←c24960)+25)) )); }; SOURCE(2916, 81) { word tc36; if ((( (((unsigned)header←v4504 << 16) >> 16) ) > 0)) { tc36 = (word) ((( (((unsigned)header←v4504 << 16) >> 16) ) & 01777) == 0); } else { tc36 = (word) 0; }; (void) Assert←P240(tc36); }; SOURCE(2999, 65) { word aisWords←v21812; aisWords←v21812 = ( (((unsigned)header←v4504 << 16) >> 16) ); SOURCE(1937, 52) (* (( (ptr) data←v4476)+10) ) = IOP2( * , (int)2, (int)aisWords←v21812); }; SOURCE(3066, 3661) { register word firstPart←v4704; firstPart←v4704 = 1; lab←L100004: ; { word partHeader←v4748; word startIndex←v4776; word stopIndex←v4804; SOURCE(3253, 37) { word pd37; pd37 = (* (( (ptr) (* (( (ptr) gf←c24960)+51)/* var←c22528 */ ))+29) ); startIndex←v4776 = (word) ( *( (fPt) ((* (ptr) pd37 ))))(stream←v4448, pd37); }; SOURCE(3316, 53) SOURCE(3318, 51) (void) ReadBytes←P360(stream←v4448, (word) &partHeader←v4748, 2); SOURCE(3372, 88) { word var←c22784; word aisWords←v21764; aisWords←v21764 = (((((unsigned)partHeader←v4748 << 6) >> 30) << 8) + (* (( (bPt) &partHeader←v4748)+1) )); SOURCE(1937, 52) var←c22784 = IOP2( * , (int)2, (int)aisWords←v21764); stopIndex←v4804 = (startIndex←v4776 + var←c22784); }; SOURCE(3462, 42) (void) Assert←P240(( (int)stopIndex←v4804 <= (int)(* (( (ptr) data←v4476)+10) ))); SOURCE(3506, 3074) { word var←c22816; var←c22816 = ((unsigned)partHeader←v4748 >> 26); switch (var←c22816) { case 0: SOURCE(3545, 59) { word tc38; if (((((unsigned)partHeader←v4748 << 6) >> 30) == 0)) { tc38 = (word) ((* (( (bPt) &partHeader←v4748)+1) ) == 0); } else { tc38 = (word) 0; }; (void) Assert←P240(tc38); }; SOURCE(3606, 5) goto lab←L100002; case 1: SOURCE(3649, 1231) { W3 raster←v4976; SOURCE(3797, 17) (void) Assert←P240(firstPart←v4704); SOURCE(3853, 49) SOURCE(3855, 47) (void) ReadBytes←P360(stream←v4448, (word) &raster←v4976, 10); SOURCE(3905, 38) { word var←c22848; { word pd39; pd39 = (* (( (ptr) (* (( (ptr) gf←c24960)+51)/* var←c22528 */ ))+29) ); var←c22848 = ( (int)(word) ( *( (fPt) ((* (ptr) pd39 ))))(stream←v4448, pd39) <= (int)stopIndex←v4804); }; (void) Assert←P240(var←c22848); }; SOURCE(3945, 103) { word tc40; word tc41; if (((* (hPt) &raster←v4976 ) > 0)) { tc41 = (word) ((* (( (hPt) &raster←v4976)+1) ) > 0); } else { tc41 = (word) 0; }; if (tc41) { tc40 = (word) ((* (( (hPt) &raster←v4976)+3) ) > 0); } else { tc40 = (word) 0; }; (void) Assert←P240(tc40); }; SOURCE(4050, 40) { word var←c22880; var←c22880 = XR←NewObject(12, (* (( (ptr) gf←c24960)+24) )); (* (W3Pt) var←c22880 ) = raster←v4976; (* (( (ptr) data←v4476)+5) ) = var←c22880; }; SOURCE(4092, 786) { word var←c22912; var←c22912 = (* (( (bPt) &raster←v4976)+9) ); if ((var←c22912 == 1)) { SOURCE(4131, 693) { /*1*/ W2 uca←v5148; /*1*/ word byteSizeCoding←v5176; SOURCE(4274, 51) /*1*/ { /*1*/ word pd42; /*1*/ pd42 = (* (( (ptr) (* (( (ptr) gf←c24960)+51)/* var←c22528 */ ))+29) ); /*1*/ byteSizeCoding←v5176 = (stopIndex←v4804 - (word) ( *( (fPt) ((* (ptr) pd42 ))))(stream←v4448, pd42)); /*1*/ }; SOURCE(4327, 41) /*1*/ (void) Assert←P240(( (int)byteSizeCoding←v5176 <= (int)8)); SOURCE(4378, 42) SOURCE(4380, 40) /*1*/ (void) ReadBytes←P360(stream←v4448, (word) &uca←v5148, byteSizeCoding←v5176); SOURCE(4423, 62) /*1*/ if (((* (hPt) &uca←v5148 ) == 0)) { SOURCE(4459, 26) /*1*/ (* (( (bPt) &uca←v5148)+1) ) = 1; /*1*/ }; SOURCE(4497, 178) /*1*/ { /*1*/ word var←c22944; /*1*/ { /*1*/ word var←c22976; /*1*/ word aisWords←v21716; /*1*/ word var←c0175; /*1*/ aisWords←v21716 = (* (( (hPt) &uca←v5148)+1) ); SOURCE(1937, 52) /*1*/ var←c22976 = IOP2( * , (int)2, (int)aisWords←v21716); /*1*/ var←c0175 = IOP2( * , (int)8, (int)var←c22976); /*1*/ var←c22944 = ( (int)IOP2( * , (int)IOP2( * , (int)(* (hPt) &uca←v5148 ), (int)(* (( (hPt) &raster←v4976)+3) )), (int)(* ( /*1*/ ( (hPt) &raster←v4976)+1) )) <= (int)var←c0175); /*1*/ }; /*1*/ (void) Assert←P240(var←c22944); /*1*/ }; SOURCE(4677, 107) /*1*/ if (( (int)byteSizeCoding←v5176 < (int)8)) { SOURCE(4720, 35) /*1*/ (void) Assert←P240(((* (( (hPt) &uca←v5148)+2) ) == 65535)); SOURCE(4757, 27) /*1*/ (* (( (hPt) &uca←v5148)+3) ) = 65535; /*1*/ }; SOURCE(4789, 33) /*1*/ { /*1*/ word var←c23008; /*1*/ var←c23008 = XR←NewObject(8, (* (( (ptr) gf←c24960)+23) )); /*1*/ (* (W2Pt) var←c23008 ) = uca←v5148; /*1*/ (* (( (ptr) data←v4476)+6) ) = var←c23008; /*1*/ }; /*1*/ }; } else { SOURCE(4838, 40) (void) ProduceError←P180((* ((( (ptr) gf←c24960)+26)) )); }; }; }; break; case 2: SOURCE(4896, 552) { W2 placement←v5348; word var←c23072; word temp←v21908; word var←c23136; word temp←v7972; word var←c23200; word temp←v22084; word var←c23264; word temp←v22040; SOURCE(5061, 55) SOURCE(5063, 53) (void) ReadBytes←P360(stream←v4448, (word) &placement←v5348, 8); SOURCE(5119, 37) { word var←c23040; { word pd43; pd43 = (* (( (ptr) (* (( (ptr) gf←c24960)+51)/* var←c22528 */ ))+29) ); var←c23040 = ( (int)(word) ( *( (fPt) ((* (ptr) pd43 ))))(stream←v4448, pd43) == (int)stopIndex←v4804); }; (void) Assert←P240(var←c23040); }; SOURCE(5158, 209) { word tc44; word tc45; word tc46; temp←v21908 = (* (hPt) &placement←v5348 ); var←c23072 = (int) ( short )( (((unsigned)temp←v21908 << 16) >> 16) ); if (( (int)var←c23072 == (int) (word) -1)) { temp←v7972 = (* (( (hPt) &placement←v5348)+1) ); var←c23136 = (int) ( short )( (((unsigned)temp←v7972 << 16) >> 16) ); tc46 = (word) ( (int)var←c23136 == (int) (word) -1); } else { tc46 = (word) 0; }; if (tc46) { temp←v22084 = (* (( (hPt) &placement←v5348)+2) ); var←c23200 = (int) ( short )( (((unsigned)temp←v22084 << 16) >> 16) ); tc45 = (word) ( (int)var←c23200 == (int) (word) -1); } else { tc45 = (word) 0; }; if (tc45) { temp←v22040 = (* (( (hPt) &placement←v5348)+3) ); var←c23264 = (int) ( short )( (((unsigned)temp←v22040 << 16) >> 16) ); tc44 = (word) ( (int)var←c23264 == (int) (word) -1); } else { tc44 = (word) 0; }; if (tc44) { } else { SOURCE(5301, 66) { /*1*/ word var←c23328; /*1*/ word var←c23360; /*1*/ word temp←v21996; /*1*/ temp←v21996 = (* (( (hPt) &placement←v5348)+2) ); /*1*/ var←c23360 = (int) ( short )( (((unsigned)temp←v21996 << 16) >> 16) ); /*1*/ if (( (int)var←c23360 > (int)0)) { /*1*/ { /*1*/ word var←c23424; /*1*/ word temp←v21952; /*1*/ temp←v21952 = (* (( (hPt) &placement←v5348)+3) ); /*1*/ var←c23424 = (int) ( short )( (((unsigned)temp←v21952 << 16) >> 16) ); /*1*/ var←c23328 = ( (int)var←c23424 > (int)0); /*1*/ }; /*1*/ } /*1*/ else { /*1*/ var←c23328 = 0; /*1*/ }; /*1*/ (void) Assert←P240(var←c23328); /*1*/ }; }; }; SOURCE(5369, 26) (void) Assert←P240(((* (( (ptr) data←v4476)+7) ) == 0)); SOURCE(5397, 49) { word var←c23488; var←c23488 = XR←NewObject(8, (* (( (ptr) gf←c24960)+22) )); (* (W2Pt) var←c23488 ) = placement←v5348; (* (( (ptr) data←v4476)+7) ) = var←c23488; }; }; break; case 3: SOURCE(5465, 411) { W8 photometry←v5520; SOURCE(5467, 39) XR←FillWords(&photometry←v5520, 8, 0); photometry←v5520.f5 = (word) -1; photometry←v5520.f6 = (word) -1; SOURCE(5633, 57) SOURCE(5635, 55) (void) ReadBytes←P360(stream←v4448, (word) &photometry←v5520, 30); SOURCE(5693, 38) { word var←c23552; { word pd47; pd47 = (* (( (ptr) (* (( (ptr) gf←c24960)+51)/* var←c22528 */ ))+29) ); var←c23552 = ( (int)(word) ( *( (fPt) ((* (ptr) pd47 ))))(stream←v4448, pd47) <= (int)stopIndex←v4804); }; (void) Assert←P240(var←c23552); }; SOURCE(5733, 30) { word pd48; pd48 = (* (( (ptr) (* (( (ptr) gf←c24960)+51)/* var←c22528 */ ))+30) ); (void) ( *( (fPt) ((* (ptr) pd48 ))))(stream←v4448, stopIndex←v4804, pd48); }; SOURCE(5793, 27) (void) Assert←P240(((* (( (ptr) data←v4476)+8) ) == 0)); SOURCE(5822, 52) { word var←c23584; var←c23584 = XR←NewObject(32, (* (( (ptr) gf←c24960)+12) )); (* (W8Pt) var←c23584 ) = photometry←v5520; (* (( (ptr) data←v4476)+8) ) = var←c23584; }; }; break; case 4: SOURCE(5890, 646) { /* declaration of comment←v5692 skipped */ word byteSizeComment←v5720; word length←v5748 = 0; word rope←v5776 = 0; SOURCE(6041, 52) { word pd49; pd49 = (* (( (ptr) (* (( (ptr) gf←c24960)+51)/* var←c22528 */ ))+29) ); byteSizeComment←v5720 = (stopIndex←v4804 - (word) ( *( (fPt) ((* (ptr) pd49 ))))(stream←v4448, pd49)); }; SOURCE(6168, 50) (void) Assert←P240( ( ( (int)byteSizeComment←v5720 >= (int)1) ? ( (int)byteSizeComment←v5720 <= (int)256) : 0 ) ); SOURCE(6228, 47) SOURCE(6230, 45) (void) ReadBytes←P360(stream←v4448, (word) (( (bPt) &var←c24928)+24)/* comment←v5692 */ , byteSizeComment←v5720); SOURCE(6278, 26) length←v5748 = (* (( (bPt) &var←c24928)+24) ); SOURCE(6306, 38) (void) Assert←P240(( (int)byteSizeComment←v5720 >= (int)SGNCK((length←v5748 + 1)))); SOURCE(6346, 144) { /* declaration of i←v5948 skipped */ SOURCE(6380, 10) (* (( (ptr) &var←c24928)+70)/* i←v5948 */ ) = 0; SOURCE(6449, 39) { word pd50; pd50 = (* (( (ptr) (* (( (ptr) gf←c24960)+53)/* var←c22688 */ ))+31) ); rope←v5776 = (word) ( *( (fPt) ((* (ptr) pd50 ))))(length←v5748, (word) (( (bPt) &var←c24928)+16)/* var←c22560 */ , 2147483647, pd50) ; }; }; SOURCE(6493, 41) { word var←c23616; var←c23616 = XR←NewObject(8, (* (( (ptr) gf←c24960)+7) )); (* (ptr) var←c23616 ) = rope←v5776; (* (( (ptr) var←c23616)+1) ) = (* (( (ptr) data←v4476)+9) ); (* (( (ptr) data←v4476)+9) ) = var←c23616; }; }; break; default: SOURCE(6550, 30) { word pd51; pd51 = (* (( (ptr) (* (( (ptr) gf←c24960)+51)/* var←c22528 */ ))+30) ); (void) ( *( (fPt) ((* (ptr) pd51 ))))(stream←v4448, stopIndex←v4804, pd51); }; break; }; }; SOURCE(6610, 117) { word pd52; pd52 = (* (( (ptr) (* (( (ptr) gf←c24960)+51)/* var←c22528 */ ))+29) ); if (( (int)(word) ( *( (fPt) ((* (ptr) pd52 ))))(stream←v4448, pd52) == (int)stopIndex←v4804)) { } else { SOURCE(6658, 69) { W3 var←c089; var←c089.f0 = 10; var←c089.f1 = (* (( (ptr) gf←c24960)+30) ); var←c089.f2 = 0; (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c24960)+50)/* var←c22432 */ ))+4) ), (word) &var←c089); }; }; }; }; firstPart←v4704 = 0; goto lab←L100004; lab←L100002: ; }; SOURCE(6738, 1355) if ( ( ((* (( (ptr) data←v4476)+5) ) != 0) ? ((* (( (ptr) data←v4476)+6) ) != 0) : 0 ) ) { SOURCE(6779, 1247) { word samplesPerPixel←v6080; word sSize←v6108; word fSize←v6136; word linesPerBlock←v6164; word bytesPadding←v6192 = 0; word scanMode←v6220; SOURCE(6781, 56) { word h←v21572; h←v21572 = (* (( (hPt) (* (( (ptr) data←v4476)+5) ))+3) ); SOURCE(1429, 31) samplesPerPixel←v6080 = h←v21572; }; SOURCE(6839, 45) { word h←v21524; h←v21524 = (* (hPt) (* (( (ptr) data←v4476)+5) ) ); SOURCE(1429, 31) sSize←v6108 = h←v21524; }; SOURCE(6886, 46) { word h←v21476; h←v21476 = (* (( (hPt) (* (( (ptr) data←v4476)+5) ))+1) ); SOURCE(1429, 31) fSize←v6136 = h←v21476; }; SOURCE(6934, 58) { word h←v21428; h←v21428 = (* (( (hPt) (* (( (ptr) data←v4476)+6) ))+2) ); SOURCE(1429, 31) linesPerBlock←v6164 = h←v21428; }; SOURCE(7017, 39) scanMode←v6220 = 0; SOURCE(7058, 69) { word var←c23808; word aisWords←v21668; { word h←v21380; h←v21380 = (* (( (hPt) (* (( (ptr) data←v4476)+6) ))+1) ); SOURCE(1429, 31) aisWords←v21668 = h←v21380; }; SOURCE(1937, 52) var←c23808 = IOP2( * , (int)2, (int)aisWords←v21668); (* (( (ptr) data←v4476)+12) ) = var←c23808; }; SOURCE(7129, 156) if (((* (( (hPt) (* (( (ptr) data←v4476)+6) ))+2) ) == 65535)) { SOURCE(7168, 54) { word x53; linesPerBlock←v6164 = (x53 = (* (( (ptr) gf←c24960)+4)/* defaultLinesPerBlock←v3280 */ ), MIN( (unsigned) , x53, sSize←v6108)); }; } else { SOURCE(7222, 63) { word var←c23872; word aisWords←v21620; { word h←v21332; h←v21332 = (* (( (hPt) (* (( (ptr) data←v4476)+6) ))+3) ); SOURCE(1429, 31) aisWords←v21620 = h←v21332; }; SOURCE(1937, 52) var←c23872 = IOP2( * , (int)2, (int)aisWords←v21620); bytesPadding←v6192 = var←c23872; }; }; SOURCE(7287, 65) (* (( (ptr) data←v4476)+11) ) = (IOP2( * , (int)(* (( (ptr) data←v4476)+12) ), (int)linesPerBlock←v6164) + bytesPadding←v6192); SOURCE(7354, 213) { word var←c23936; { word var←c23968; word h←v21284; h←v21284 = (* (hPt) (* (( (ptr) data←v4476)+6) ) ); SOURCE(1429, 31) var←c23968 = h←v21284; var←c23936 = BCK(var←c23968, 33); }; { W4 var←c24000; var←c24000.f0 = 0; var←c24000.f1 = 0; var←c24000.f2 = SGNCK(linesPerBlock←v6164); { word idx54; var←c24000.f3 = ( idx54 = (word) (samplesPerPixel←v6080 * fSize←v6136), SGNCK(idx54) ); }; { word pd55; pd55 = (* (( (ptr) (* (( (ptr) gf←c24960)+54)/* var←c24032 */ ))+19) ); (* (( (ptr) data←v4476)+15) ) = (word) ( *( (fPt) ((* (ptr) pd55 ))))(var←c24000, var←c23936, IOP2( * , (int)8, (int)(* ( ( (ptr) data←v4476)+12) )), pd55); }; }; }; SOURCE(7569, 228) { word var←c24096; { word var←c24064; word h←v21236; h←v21236 = (* (( (hPt) (* (( (ptr) data←v4476)+5) ))+2) ); SOURCE(1429, 31) var←c24064 = h←v21236; var←c24096 = var←c24064; }; switch (var←c24096) { case 0: case 8: SOURCE(7621, 34) scanMode←v6220 = 6; break; case 3: SOURCE(7662, 36) scanMode←v6220 = 13; break; default: SOURCE(7711, 86) { W3 var←c0114; var←c0114.f0 = 103; var←c0114.f1 = (* (( (ptr) gf←c24960)+31) ); var←c0114.f2 = 0; (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c24960)+50)/* var←c22432 */ ))+4) ), (word) &var←c0114); }; break; }; }; SOURCE(7799, 225) { word var←c24192; { word pd56; pd56 = (* (( (ptr) (* (( (ptr) gf←c24960)+55)/* var←c24224 */ ))+11) ); var←c24192 = (word) ( *( (fPt) ((* (ptr) pd56 ))))(scanMode←v6220, SGNCK(sSize←v6108), SGNCK(fSize←v6136), pd56); }; { word pd57; pd57 = (* (( (ptr) (* (( (ptr) gf←c24960)+49)/* var←c22400 */ ))+5) ); return((word) ( *( (fPt) ((* (ptr) pd57 ))))((* (( (ptr) gf←c24960)+5)/* classAIS←v3448 */ ), data←v4476, 1, samplesPerPixel←v6080, SGNCK( sSize←v6108), SGNCK(fSize←v6136) , var←c24192, pd57)); }; }; }; } else { SOURCE(8035, 44) (void) ProduceError←P180((* ((( (ptr) gf←c24960)+32)) )); SOURCE(8081, 12) return(0); }; } static word p←P1044(formal←c24992) word formal←c24992; { word var←c6052; formal←c24992 = (formal←c24992 - 16); /* p: */ SOURCE(6392, 17) SOURCE(6419, 27) { word var←c0177; { word var←c0176; { word idx58; (* (( (ptr) formal←c24992)+70) ) = ((* (( (ptr) formal←c24992)+70) ) + 1); var←c0176 = (var←c0176 & 4294967040) | ((word) (* ((( (bPt) formal←c24992)+24)+( idx58 = (* (( (ptr) formal←c24992)+70) ), BCK(idx58, 256) )) )); }; var←c0177 = (var←c0176 & 0377); }; return(var←c0177); }; } static word MaxSampleValueAIS←P480(pa←v14768, i←v14796) word pa←v14768; word i←v14796; { register ptr gf←c25024 = (ptr) &globalframe; word var←c14840; word data←v6264; /* MaxSampleValueAIS: */ SOURCE(8263, 154) SOURCE(8329, 28) data←v6264 = XR←Narrow((* (( (ptr) pa←v14768)+6) ), (* (( (ptr) gf←c25024)+13) )); SOURCE(8359, 58) { word var←c0178; { word var←c24288; { word var←c24320; word h←v21188; h←v21188 = (* (hPt) (* (( (ptr) data←v6264)+6) ) ); SOURCE(1429, 31) var←c24320 = h←v21188; var←c24288 = var←c24320; }; var←c0178 = ((word) Basics←BITSHIFT(1, var←c24288) - 1); }; return(var←c0178); }; } static void GetSamplesAIS←P540(pa←v14900, formal←c0186, formal←c0187, formal←c0188, formal←c0189, formal←c0190, formal←c0191) word pa←v14900; word formal←c0186; word formal←c0187; word formal←c0188; word formal←c0189; word formal←c0190; word formal←c0191; { W12 var←c25056; /* declaration of i←v14928 skipped */ /* declaration of s←v14956 skipped */ /* declaration of f←v14984 skipped */ /* declaration of buffer←v15012 skipped */ /* declaration of start←v15040 skipped */ /* declaration of count←v15068 skipped */ register ptr gf←c25088 = (ptr) &globalframe; /* declaration of var←c24352 skipped */ word data←v6308; (* (( (ptr) &var←c25056)+4)/* i←v14928 */ ) = formal←c0186; (* (( (ptr) &var←c25056)+5)/* s←v14956 */ ) = formal←c0187; (* (( (ptr) &var←c25056)+6)/* f←v14984 */ ) = formal←c0188; (* (( (ptr) &var←c25056)+7)/* buffer←v15012 */ ) = formal←c0189; (* (( (ptr) &var←c25056)+8)/* start←v15040 */ ) = formal←c0190; (* (( (ptr) &var←c25056)+9)/* count←v15068 */ ) = formal←c0191; /* GetSamplesAIS: */ SOURCE(8423, 1131) { word tmpAddr59; tmpAddr59 = (word) (( (ptr) &var←c25056)+10)/* var←c24352 */ ; (* (ptr) tmpAddr59 ) = ( ((word) (fPt) entryGetSamplesAIS←P1152) ); (* (( (ptr) tmpAddr59) + 1) ) = 1; }; SOURCE(8481, 28) data←v6308 = XR←Narrow((* (( (ptr) pa←v14900)+6) ), (* (( (ptr) gf←c25088)+13) )); SOURCE(9530, 24) (void) entryGetSamplesAIS←P1152(data←v6308, (word) (( (bPt) &var←c25056)+40)/* var←c24352 */ ); } static void entryGetSamplesAIS←P1152(formal←c0192, formal←c25152) word formal←c0192; word formal←c25152; { W5 var←c25120; /* declaration of data←v6412 skipped */ formal←c25152 = (formal←c25152 - 40); var←c25120.f4/* data←v6412 */ = formal←c0192; var←c25120.f0 = formal←c25152; /* entryGetSamplesAIS: */ SOURCE(8511, 1014) (void) (XR←MonitorEntry(var←c25120.f4/* data←v6412 */ )); SOURCE(8559, 966) { word var←c0179; var←c0179 = (word) &var←c25120; (void) (word) XR←Enable(( ((word) (fPt) NoName←Q2712) ), ( ((word) (fPt) NoName←Q2772) ), var←c0179); }; SOURCE(8511, 1014) (void) (XR←MonitorExit(var←c25120.f4/* data←v6412 */ )); return; } static word NoName←Q2712(formal←c0173) word formal←c0173; { register ptr gf←c0172 = (ptr) &globalframe; SOURCE(8582, 16) { word s0←v6440; word f0←v6468; word samplesPerPixel←v6496; word bufferMap←v6524; W2 bufferSize←v6552; SOURCE(8582, 16) { word idx60; s0←v6440 = ( idx60 = (* (( (ptr) (* (ptr) formal←c0173 ))+5) ), SGNCK(idx60) ); }; SOURCE(8600, 16) { word idx61; f0←v6468 = ( idx61 = (* (( (ptr) (* (ptr) formal←c0173 ))+6) ), SGNCK(idx61) ); }; SOURCE(8618, 61) { word h←v21140; h←v21140 = (* (( (hPt) (* (( (ptr) (* (( (ptr) formal←c0173)+4) ))+5) ))+3) ); SOURCE(1429, 31) samplesPerPixel←v6496 = h←v21140; }; SOURCE(8681, 56) bufferMap←v6524 = (* (( (ptr) (* (( (ptr) formal←c0173)+4) ))+15) ); SOURCE(8739, 52) { word map←v21860; map←v21860 = bufferMap←v6524; { W4 b←v12368; b←v12368 = (* (W4Pt) map←v21860 ); bufferSize←v6552.f0 = (b←v12368.f2 - b←v12368.f0); bufferSize←v6552.f1 = (b←v12368.f3 - b←v12368.f1); }; }; SOURCE(8793, 551) if ((s0←v6440 < (* (( (ptr) (* (( (ptr) formal←c0173)+4) ))+13) )) || (s0←v6440 >= (* (( (ptr) (* (( (ptr) formal←c0173)+4) ))+14) ))) { SOURCE(8834, 513) { word linesPerBlock←v6596; word block←v6624; word byteIndex←v6652; word byteCount←v6680 = 0; SOURCE(8836, 33) { word idx62; linesPerBlock←v6596 = ( idx62 = (word) bufferSize←v6552.f0, SGNCK(idx62) ); }; SOURCE(8871, 29) { word idx63; block←v6624 = ( idx63 = (word) (s0←v6440 / linesPerBlock←v6596), SGNCK(idx63) ); }; SOURCE(8932, 65) byteIndex←v6652 = ((* (( (ptr) (* (( (ptr) formal←c0173)+4) ))+10) ) + IOP2( * , (int)block←v6624, (int)(* (( (ptr) (* ( ( (ptr) formal←c0173)+4) ))+11) ))); SOURCE(9019, 31) (* (( (ptr) (* (( (ptr) formal←c0173)+4) ))+13) ) = (block←v6624 * linesPerBlock←v6596); SOURCE(9080, 69) { word var←c24480; word h←v21092; h←v21092 = (* (hPt) (* (( (ptr) (* (( (ptr) formal←c0173)+4) ))+5) ) ); SOURCE(1429, 31) var←c24480 = h←v21092; { word x64; (* (( (ptr) (* (( (ptr) formal←c0173)+4) ))+14) ) = (x64 = ((* (( (ptr) (* (( (ptr) formal←c0173)+4) ))+13) ) + linesPerBlock←v6596), MIN( (unsigned) , x64, var←c24480)); }; }; SOURCE(9151, 51) byteCount←v6680 = IOP2( * , (int)((* (( (ptr) (* (( (ptr) formal←c0173)+4) ))+14) ) - (* (( (ptr) (* (( (ptr) formal←c0173)+4) ))+13) )), (int)(* (( (ptr) (* (( (ptr) formal←c0173)+4) ))+12) )); SOURCE(9204, 35) { word pd65; pd65 = (* (( (ptr) (* (( (ptr) gf←c0172)+51)/* var←c22528 */ ))+30) ); (void) ( *( (fPt) ((* (ptr) pd65 ))))((* (( (ptr) (* (( (ptr) formal←c0173)+4) ))+4) ), byteIndex←v6652, pd65); }; SOURCE(9249, 95) SOURCE(9251, 93) (void) ReadBytes←P360((* (( (ptr) (* (( (ptr) formal←c0173)+4) ))+4) ), (* (( (ptr) bufferMap←v6524)+8) ), byteCount←v6680) ; }; }; SOURCE(9350, 175) { W2 var←c24512; W2 var←c24544; var←c24512.f0 = (s0←v6440 - (* (( (ptr) (* (( (ptr) formal←c0173)+4) ))+13) )); { word idx66; var←c24512.f1 = ( idx66 = (word) ((f0←v6468 * samplesPerPixel←v6496) + (* (( (ptr) (* (ptr) formal←c0173 ))+4) )), SGNCK(idx66) ); }; var←c24544.f0 = 0; var←c24544.f1 = SGNCK(samplesPerPixel←v6496); { word pd67; pd67 = (* (( (ptr) (* (( (ptr) gf←c0172)+54)/* var←c24032 */ ))+44) ); (void) ( *( (fPt) ((* (ptr) pd67 ))))(bufferMap←v6524, var←c24512, var←c24544, (* (( (ptr) (* (ptr) formal←c0173 ))+7) ), (* ( ( (ptr) (* (ptr) formal←c0173 ))+8) ), (* (( (ptr) (* (ptr) formal←c0173 ))+9) ), pd67); }; }; }; return(0); } static word Join3AIS←P600(name1←v4276, name2←v4304, name3←v4332) word name1←v4276; word name2←v4304; word name3←v4332; { register ptr gf←c25184 = (ptr) &globalframe; word var←c4376; /* Join3AIS: */ SOURCE(9561, 153) SOURCE(9636, 78) { word var←c24608; word var←c24640; word var←c24672; var←c24608 = (word) FromAIS←P420(name1←v4276); var←c24640 = (word) FromAIS←P420(name2←v4304); var←c24672 = (word) FromAIS←P420(name3←v4332); { word pd68; pd68 = (* (( (ptr) (* (( (ptr) gf←c25184)+56)/* var←c24704 */ ))+15) ); return((word) ( *( (fPt) ((* (ptr) pd68 ))))(var←c24608, var←c24640, var←c24672, pd68)); }; }; } static void NoName←Q2772(formal←c0161, formal←c200000, formal←c200001, formal←c200002, formal←c200003) word formal←c0161; word formal←c200000; word formal←c200001; word formal←c200002; word formal←c200003; { if ((formal←c200001 == XR←Unwind)) { (void) (XR←MonitorExit(* (( (ptr) formal←c200000)+4) )); }; (* (ptr) formal←c0161 ) = 0; (* (( (ptr) formal←c0161)+1) ) = 0; return; } /* file: ImagerPixelArrayAISImpl, module: ImagerPixelArrayAISImpl, compiled at: March 10, 1992 11:56:49 am PST */ extern void XR←install←ImagerPixelArrayAISImpl() { NoName←Q2652(); } extern void XR←run←ImagerPixelArrayAISImpl() { XR←Start(&globalframe); }