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