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