/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */ /* time: March 10, 1992 11:59:10 am PST */ /* C2C version: October 16, 1990 (native) */ /* ref-counting: off */ /* file: AISIOImpl, module: AISIOImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [3014783417,3483348990] AISIOImpl"; 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 struct {word f0, f1, f2, f3;} W4; typedef W4 *W4Pt; typedef struct {word f0, f1, f2, f3, f4;} W5; typedef W5 *W5Pt; typedef W2 *W2Pt; typedef W3 *W3Pt; typedef W8 *W8Pt; typedef W7 *W7Pt; #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 BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) ) #define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) ) #define MAX(cast, x, y) ( ( cast x) > ( cast y) ? (x) : (y) ) static void NoName←Q2316(); static void AISIOImpl←P0(); static word IOrd←P60(); static word COrd←P120(); static word Card←P180(); static void Assert←P240(); static void ReadBytes←P360(); static word ReadInfo←P420(); static word p←P1200(); static word Read←P480(); static void WriteBytes←P540(); static void Write←P600(); static void WritePartHeader←P1356(); static word NewSampleMap←P660(); static word ReadSample←P720(); static void WriteSample←P780(); static void ReadLine←P840(); static void WriteLine←P900(); static struct {unsigned f; char r[16];} string1 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\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 = {851984, "\257\300\150\223\370\056\300\265\120\000\347\100\164\000\000"}; static struct {unsigned f; char r[4];} string6 = {196611, "\004@~"}; static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\071\045\144\167\300\145\377\112\006\100\310\000\000"}; static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\071\045\144\167\300\145\377\112\006\100\274\000\000"}; static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\071\045\144\167\300\145\377\112\006\100\230\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 = {786448, "raster first\000\000\000"}; static struct {unsigned f; char r[8];} string12 = {262152, "stop\000\000\000"}; static struct {unsigned f; char r[8];} string13 = {393224, "raster\000"}; static struct {unsigned f; char r[16];} string14 = {917520, "byteSizeCoding\000"}; static struct {unsigned f; char r[8];} string15 = {327688, "scans\000\000"}; static struct {unsigned f; char r[20];} string16 = {1114132, "scanLinesPerBlock\000\000"}; static struct {unsigned f; char r[12];} string17 = {720908, "part length"}; static struct {unsigned f; char r[24];} string18 = {1507352, "Unknown AIS coding type"}; static struct {unsigned f; char r[16];} string19 = {851984, "rasterSection\000\000"}; static struct {unsigned f; char r[12];} string20 = {589836, "placement\000\000"}; static struct {unsigned f; char r[8];} string21 = {327688, "place\000\000"}; static struct {unsigned f; char r[8];} string22 = {393224, "header\000"}; static struct {unsigned f; char r[20];} string23 = {1048596, "bad AIS password\000\000\000"}; static struct {unsigned f; char r[8];} string24 = {458760, "comment"}; static struct {unsigned f; char r[4];} string25 = {65540, ")\000\000"}; static struct {unsigned f; char r[16];} string26 = {917520, "Bug in FromAIS\000"}; static struct {unsigned f; char r[44];} string27 = {2621484, "AIS file has unimplemented scanDirection\000\000\000"}; static struct {unsigned f; char r[32];} string28 = {1835040, "AIS file has no raster part.\000\000\000"}; static struct {unsigned f; char r[20];} string29 = {1048596, "no pixels in map\000\000\000"}; static struct {unsigned f; char r[40];} string30 = {2359336, "AIS file structure is inconsistent (\000\000\000"}; static struct {unsigned f; char r[16];} string31 = {851984, "\257\300\263\261\361\271\300\317\237\257\376\100\164\000\000"}; static struct {unsigned f; char r[12];} string32 = {589833, "\006\001\100\120\010\000\004\024\001\000\000"}; static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\213\226\301\143\300\072\355\320\373\100\150\000\000"}; static struct {unsigned f; char r[16];} string34 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"}; static struct {unsigned f; char r[16];} string35 = {851984, "\257\300\141\260\110\353\300\162\250\066\353\100\150\000\000"}; static struct {unsigned f; char r[16];} string36 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"}; static struct {unsigned f; char r[16];} string37 = {851984, "\257\300\150\223\370\056\300\265\120\000\347\100\150\000\000"}; static struct { word f0[41]; word f41; word f42; word f43; word f44; word f45; word f46; word f47; word f48; word f49; word f50; word f51; word f52; word f53; word f54; word f55; word f56; word f57; word f58; word f59; word f60; word f61; word f62; word f63; word f64; word f65; word f66; word f67; word f68; word f69; word f70; word f71; word f72[13]; } globalframe = { {0}, (word) WriteLine←P900, 0, (word) ReadLine←P840, 0, (word) WriteSample←P780, 0, (word) ReadSample←P720, 0, (word) NewSampleMap←P660, 0, (word) Write←P600, 0, (word) WriteBytes←P540, 0, (word) Read←P480, 0, (word) ReadInfo←P420, 0, (word) ReadBytes←P360, 0, (word) Assert←P240, 0, (word) Card←P180, 0, (word) COrd←P120, 0, (word) IOrd←P60, 0, (word) AISIOImpl←P0, 0, 2147483647, {0} }; static void NoName←Q2316() { register ptr gf←c0191 = (ptr) &globalframe; word var←c26624; (* (( (ptr) gf←c0191)+6) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf←c0191)+8) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4); (* (( (ptr) gf←c0191)+9) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6); (* (( (ptr) gf←c0191)+16) ) = (word) XR←GetTypeIndexS((word) (&string7)); (* (( (ptr) gf←c0191)+17) ) = (word) XR←GetTypeIndexS((word) (&string8)); (* (( (ptr) gf←c0191)+18) ) = (word) XR←GetTypeIndexS((word) (&string9)); (* (( (ptr) gf←c0191)+19) ) = (word) XR←GetTypeIndexS((word) (&string10)); (* (ptr) (( (bPt) gf←c0191)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+6) ), (word) &string11); (* (ptr) (( (bPt) gf←c0191)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+6) ), (word) &string12); (* (ptr) (( (bPt) gf←c0191)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+6) ), (word) &string13); (* (ptr) (( (bPt) gf←c0191)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+6) ), (word) &string14); (* (ptr) (( (bPt) gf←c0191)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+6) ), (word) &string15); (* (ptr) (( (bPt) gf←c0191)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+6) ), (word) &string16); (* (ptr) (( (bPt) gf←c0191)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+6) ), (word) &string17); (* (ptr) (( (bPt) gf←c0191)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+6) ), (word) &string18); (* (ptr) (( (bPt) gf←c0191)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+6) ), (word) &string19); (* (ptr) (( (bPt) gf←c0191)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+6) ), (word) &string20); (* (ptr) (( (bPt) gf←c0191)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+6) ), (word) &string21); (* (ptr) (( (bPt) gf←c0191)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+6) ), (word) &string22); (* (ptr) (( (bPt) gf←c0191)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+6) ), (word) &string23); (* (ptr) (( (bPt) gf←c0191)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+6) ), (word) &string24); (* (ptr) (( (bPt) gf←c0191)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+6) ), (word) &string25); (* (ptr) (( (bPt) gf←c0191)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+6) ), (word) &string26); (* (ptr) (( (bPt) gf←c0191)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+6) ), (word) &string27); (* (ptr) (( (bPt) gf←c0191)+148) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+6) ), (word) &string28); (* (ptr) (( (bPt) gf←c0191)+152) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+6) ), (word) &string29); (* (ptr) (( (bPt) gf←c0191)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0191)+6) ), (word) &string30); (void) XR←DeclareGlobalFrame((word) "AISIOImpl", &globalframe, (word) XR←GetTypeIndex((word) &string31, 0, (word) &string32) , (word) (( (bPt) gf←c0191)+276)/* var←c24160 */ ); var←c26624 = (word) XR←ImportInterface((word) "ImagerSample", (word) XR←GetTypeIndexS((word) (&string33)), 60); (* (( (ptr) gf←c0191)+83)/* var←c25504 */ ) = var←c26624; (void) XR←ImportProcS(var←c26624, 2370311); (void) XR←ImportProcS(var←c26624, 2107398); (void) XR←ImportProcS(var←c26624, 1320708); (void) XR←ImportProcS(var←c26624, 67905026); (void) XR←ImportProcS(var←c26624, 2370822); (void) XR←ImportProcS(var←c26624, 68685571); var←c26624 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string34)), 103); (* (( (ptr) gf←c0191)+81)/* var←c24512 */ ) = var←c26624; (void) XR←ImportProcS(var←c26624, 1053698); (void) XR←ImportProcS(var←c26624, 530434); (void) XR←ImportProcS(var←c26624, 530946); (void) XR←ImportProcS(var←c26624, 67377409); (void) XR←ImportProcS(var←c26624, 68160002); var←c26624 = (word) XR←ImportInterface((word) "PFS", (word) XR←GetTypeIndexS((word) (&string35)), 40); (* (( (ptr) gf←c0191)+82)/* var←c24608 */ ) = var←c26624; (void) XR←ImportProcS(var←c26624, 67371265); (void) XR←ImportProcS(var←c26624, 71312136); var←c26624 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string36)), 43); (* (( (ptr) gf←c0191)+80)/* var←c24448 */ ) = var←c26624; (void) XR←ImportProcS(var←c26624, 67902211); (void) XR←ImportProcS(var←c26624, 68419845); var←c26624 = (word) XR←ExportInterface((word) "AISIO", (word) XR←GetTypeIndexS((word) (&string37)), 9); (* (( (ptr) gf←c0191)+84)/* var←c26656 */ ) = var←c26624; (void) XR←ExportVar(var←c26624, 0, (word) (( (bPt) gf←c0191)+160)/* var←c23680 */ ); (void) XR←ExportProcS(var←c26624, (word) (( (bPt) gf←c0191)+228)/* var←c23968 */ , 67371265); (void) XR←ExportProcS(var←c26624, (word) (( (bPt) gf←c0191)+220)/* var←c23936 */ , 67633666); (void) XR←ExportProcS(var←c26624, (word) (( (bPt) gf←c0191)+204)/* var←c23872 */ , 1311493); (void) XR←ExportProcS(var←c26624, (word) (( (bPt) gf←c0191)+196)/* var←c23840 */ , 67896323); (void) XR←ExportProcS(var←c26624, (word) (( (bPt) gf←c0191)+188)/* var←c23808 */ , 67896579); (void) XR←ExportProcS(var←c26624, (word) (( (bPt) gf←c0191)+180)/* var←c23776 */ , 1050116); (void) XR←ExportProcS(var←c26624, (word) (( (bPt) gf←c0191)+172)/* var←c23744 */ , 788227); (void) XR←ExportProcS(var←c26624, (word) (( (bPt) gf←c0191)+164)/* var←c23712 */ , 788483); } static void AISIOImpl←P0(formal←c029, formal←c028) word formal←c029; word formal←c028; { register ptr gf←c26688 = (ptr) &globalframe; /* AISIOImpl: */ SOURCE(70, 11818) /* moved to installation proc */ SOURCE(827, 30) (* (( (ptr) gf←c26688)+4)/* defaultLinesPerBlock←v3140 */ ) = 16; } static word IOrd←P60(h←v3728) word h←v3728; { word var←c3772; /* IOrd: */ SOURCE(902, 81) SOURCE(955, 28) { word var←c24320; { word temp←v10584; temp←v10584 = ( (((unsigned)h←v3728 << 16) >> 16) ); var←c24320 = (int) ( short )( (((unsigned)temp←v10584 << 16) >> 16) ); }; return(var←c24320); }; } static word COrd←P120(h←v3832) word h←v3832; { word var←c3876; /* COrd: */ SOURCE(986, 84) SOURCE(1041, 29) return(h←v3832); } static word Card←P180(h←v3936) word h←v3936; { word var←c3980; /* Card: */ SOURCE(1073, 84) SOURCE(1128, 29) return(h←v3936); } static void Assert←P240(title←v4040, assertion←v4068) word title←v4040; word assertion←v4068; { register ptr gf←c26720 = (ptr) &globalframe; /* Assert: */ SOURCE(1160, 137) SOURCE(1208, 89) if ((0 == assertion←v4068)) { SOURCE(1230, 67) { word var←c24416; { word pd38; pd38 = (* (( (ptr) (* (( (ptr) gf←c26720)+80)/* var←c24448 */ ))+5) ); var←c24416 = (word) ( *( (fPt) ((* (ptr) pd38 ))))((* (( (ptr) gf←c26720)+39) ), title←v4040, (* (( (ptr) gf←c26720)+34) ), 0, 0, pd38); }; { word var←c041; var←c041 = var←c24416; (void) XR←RaiseError((word) (( (bPt) gf←c26720)+160)/* var←c23680 */ , (word) &var←c041); }; }; }; } static void ReadBytes←P360(stream←v4232, base←v4260, bytes←v4288) word stream←v4232; word base←v4260; word bytes←v4288; { register ptr gf←c26752 = (ptr) &globalframe; word actualBytes←v5664; /* ReadBytes: */ SOURCE(1425, 226) SOURCE(1511, 82) { W3 var←c24480; var←c24480.f0 = base←v4260; var←c24480.f1 = 0; var←c24480.f2 = bytes←v4288; { word pd39; pd39 = (* (( (ptr) (* (( (ptr) gf←c26752)+81)/* var←c24512 */ ))+14) ); actualBytes←v5664 = (word) ( *( (fPt) ((* (ptr) pd39 ))))(stream←v4232, var←c24480, pd39); }; }; SOURCE(1595, 56) if (( (int)actualBytes←v5664 != (int)bytes←v4288)) { SOURCE(1623, 28) { word var←c047; var←c047 = stream←v4232; (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c26752)+81)/* var←c24512 */ ))+4) ), (word) &var←c047); }; }; } static word ReadInfo←P420(name←v4360) word name←v4360; { W71 var←c26784; register ptr gf←c26816 = (ptr) &globalframe; word info←v4404; /* declaration of var←c24544 skipped */ word in←v5708; word header←v5736; word partHeader←v5764; W3 raster←v5792; W2 uca←v5820; W2 placement←v5848; W8 photometry←v5876; /* declaration of comment←v5904 skipped */ /* ReadInfo: */ SOURCE(1675, 4436) { word tmpAddr40; tmpAddr40 = (word) (( (ptr) &var←c26784)+4)/* var←c24544 */ ; (* (ptr) tmpAddr40 ) = ( ((word) (fPt) p←P1200) ); (* (( (ptr) tmpAddr40) + 1) ) = 1; }; SOURCE(1675, 4436) info←v4404 = 0; SOURCE(1735, 60) { word var←c24576; { word pd41; pd41 = (* (( (ptr) (* (( (ptr) gf←c26816)+82)/* var←c24608 */ ))+5) ); var←c24576 = (word) ( *( (fPt) ((* (ptr) pd41 ))))(name←v4360, pd41); }; { W2 var←c24640; var←c24640.f0 = 4096; var←c24640.f1 = 2; { word pd42; pd42 = (* (( (ptr) (* (( (ptr) gf←c26816)+82)/* var←c24608 */ ))+39) ); in←v5708 = (word) ( *( (fPt) ((* (ptr) pd42 ))))(var←c24576, 0, (* (W4Pt) (( (ptr) gf←c26816)+71)/* var←c24224 */ ), 0, 0, (* (W5Pt) ( ( (ptr) gf←c26816)+75)/* var←c24288 */ ) , 1, var←c24640, pd42); }; }; }; SOURCE(2540, 39) XR←FillWords(&photometry←v5876, 8, 0); photometry←v5876.f5 = (word) -1; photometry←v5876.f6 = (word) -1; SOURCE(2845, 25) info←v4404 = XR←NewObject(28, (* (( (ptr) gf←c26816)+9) )); SOURCE(2880, 62) SOURCE(2881, 61) (void) ReadBytes←P360(in←v5708, (word) &header←v5736, 4); SOURCE(2945, 81) if (((* (hPt) &header←v5736 ) != 33962)) { SOURCE(3001, 25) { word var←c061; var←c061 = (* (( (ptr) gf←c26816)+32) ); (void) XR←RaiseError((word) (( (bPt) gf←c26816)+160)/* var←c23680 */ , (word) &var←c061); }; }; SOURCE(3028, 105) { word var←c24736; if (((word) COrd←P120(( (((unsigned)header←v5736 << 16) >> 16) )) > 0)) { var←c24736 = (((word) COrd←P120(( (((unsigned)header←v5736 << 16) >> 16) )) & 01777) == 0); } else { var←c24736 = 0; }; (void) Assert←P240((* (( (ptr) gf←c26816)+31) ), var←c24736); }; SOURCE(3135, 59) { word var←c24768; { word var←c24800; word aisWords←v23600; aisWords←v23600 = (word) COrd←P120(( (((unsigned)header←v5736 << 16) >> 16) )); SOURCE(1367, 52) var←c24800 = IOP2( * , (int)2, (int)aisWords←v23600); var←c24768 = var←c24800; }; (* (ptr) info←v4404 ) = var←c24768; }; SOURCE(3196, 2892) { register word firstPart←v6844; firstPart←v6844 = 1; lab←L100005: ; { word startIndex←v6888; word stopIndex←v6916; SOURCE(3233, 44) { word pd43; pd43 = (* (( (ptr) (* (( (ptr) gf←c26816)+81)/* var←c24512 */ ))+29) ); startIndex←v6888 = (word) ( *( (fPt) ((* (ptr) pd43 ))))(in←v5708, pd43); }; stopIndex←v6916 = startIndex←v6888; SOURCE(3287, 61) SOURCE(3288, 60) (void) ReadBytes←P360(in←v5708, (word) &partHeader←v5764, 2); SOURCE(3351, 87) { word var←c24832; word aisWords←v23552; aisWords←v23552 = (((((unsigned)partHeader←v5764 << 6) >> 30) << 8) + (* (( (bPt) &partHeader←v5764)+1) )); SOURCE(1367, 52) var←c24832 = IOP2( * , (int)2, (int)aisWords←v23552); stopIndex←v6916 = (startIndex←v6888 + var←c24832); }; SOURCE(3440, 55) (void) Assert←P240((* (( (ptr) gf←c26816)+28) ), ( (int)stopIndex←v6916 <= (int)(* (ptr) info←v4404 ))); SOURCE(3497, 2502) { word var←c24864; var←c24864 = ((unsigned)partHeader←v5764 >> 26); switch (var←c24864) { case 0: SOURCE(3536, 78) { word tc44; if (((((unsigned)partHeader←v5764 << 6) >> 30) == 0)) { tc44 = (word) ((* (( (bPt) &partHeader←v5764)+1) ) == 0); } else { tc44 = (word) 0; }; (void) Assert←P240((* (( (ptr) gf←c26816)+26) ), tc44); }; SOURCE(3616, 4) goto lab←L100003; case 1: SOURCE(3686, 33) (void) Assert←P240((* (( (ptr) gf←c26816)+20) ), firstPart←v6844); SOURCE(3758, 57) SOURCE(3759, 56) (void) ReadBytes←P360(in←v5708, (word) &raster←v5792, 10); SOURCE(3818, 44) { word var←c24896; { word pd45; pd45 = (* (( (ptr) (* (( (ptr) gf←c26816)+81)/* var←c24512 */ ))+29) ); var←c24896 = ( (int)(word) ( *( (fPt) ((* (ptr) pd45 ))))(in←v5708, pd45) <= (int)stopIndex←v6916); }; (void) Assert←P240((* (( (ptr) gf←c26816)+21) ), var←c24896); }; SOURCE(3864, 113) { word var←c24928; { word tc46; if (((word) COrd←P120((* (hPt) &raster←v5792 )) > 0)) { tc46 = (word) ((word) COrd←P120((* (( (hPt) &raster←v5792)+1) )) > 0); } else { tc46 = (word) 0; }; if (tc46) { var←c24928 = ((word) COrd←P120((* (( (hPt) &raster←v5792)+3) )) > 0); } else { var←c24928 = 0; }; }; (void) Assert←P240((* (( (ptr) gf←c26816)+22) ), var←c24928); }; SOURCE(3979, 737) { word var←c24960; var←c24960 = (* (( (bPt) &raster←v5792)+9) ); if ((var←c24960 == 1)) { SOURCE(4018, 652) { word byteSizeCoding←v6960; SOURCE(4020, 47) { /*1*/ word pd47; /*1*/ pd47 = (* (( (ptr) (* (( (ptr) gf←c26816)+81)/* var←c24512 */ ))+29) ); /*1*/ byteSizeCoding←v6960 = (stopIndex←v6916 - (word) ( *( (fPt) ((* (ptr) pd47 ))))(in←v5708, pd47)); /*1*/ }; SOURCE(4069, 75) (void) Assert←P240((* (( (ptr) gf←c26816)+23) ), ( (int)byteSizeCoding←v6960 <= (int)8)); SOURCE(4154, 36) SOURCE(4155, 35) (void) ReadBytes←P360(in←v5708, (word) &uca←v5820, byteSizeCoding←v6960); SOURCE(4193, 64) if (((word) COrd←P120((* (hPt) &uca←v5820 )) == 0)) { SOURCE(4231, 26) /*1*/ (* (( (bPt) &uca←v5820)+1) ) = 1; /*1*/ }; SOURCE(4269, 185) { /*1*/ word var←c24992; /*1*/ { /*1*/ word var←c25024; /*1*/ word aisWords←v23504; /*1*/ word var←c0206; /*1*/ aisWords←v23504 = (word) COrd←P120((* (( (hPt) &uca←v5820)+1) )); SOURCE(1367, 52) /*1*/ var←c25024 = IOP2( * , (int)2, (int)aisWords←v23504); /*1*/ var←c0206 = IOP2( * , (int)8, (int)var←c25024); /*1*/ var←c24992 = ( (int)IOP2( * , (int)IOP2( * , (int)(word) COrd←P120((* (hPt) &uca←v5820 )), (int)(word) COrd←P120((* ( /*1*/ ( (hPt) &raster←v5792)+3) ))), (int)(word) COrd←P120((* (( (hPt) &raster←v5792)+1) ))) <= (int)var←c0206); /*1*/ }; /*1*/ (void) Assert←P240((* (( (ptr) gf←c26816)+24) ), var←c24992); /*1*/ }; SOURCE(4456, 174) if (( (int)byteSizeCoding←v6960 < (int)8)) { SOURCE(4515, 72) /*1*/ (void) Assert←P240((* (( (ptr) gf←c26816)+25) ), ((* (( (hPt) &uca←v5820)+2) ) == 65535)); SOURCE(4589, 41) /*1*/ (* (( (hPt) &uca←v5820)+3) ) = 65535; /*1*/ }; SOURCE(4635, 33) { /*1*/ word var←c25056; /*1*/ var←c25056 = XR←NewObject(8, (* (( (ptr) gf←c26816)+19) )); /*1*/ (* (W2Pt) var←c25056 ) = uca←v5820; /*1*/ (* (( (ptr) info←v4404)+2) ) = var←c25056; /*1*/ }; }; } else { SOURCE(4684, 32) { word var←c080; var←c080 = (* (( (ptr) gf←c26816)+27) ); (void) XR←RaiseError((word) (( (bPt) gf←c26816)+160)/* var←c23680 */ , (word) &var←c080); }; }; }; SOURCE(4718, 40) { word var←c25088; var←c25088 = XR←NewObject(12, (* (( (ptr) gf←c26816)+18) )); (* (W3Pt) var←c25088 ) = raster←v5792; (* (( (ptr) info←v4404)+1) ) = var←c25088; }; break; case 2: SOURCE(4786, 63) SOURCE(4787, 62) (void) ReadBytes←P360(in←v5708, (word) &placement←v5848, 8); SOURCE(4852, 48) { word var←c25120; { word pd48; pd48 = (* (( (ptr) (* (( (ptr) gf←c26816)+81)/* var←c24512 */ ))+29) ); var←c25120 = ( (int)(word) ( *( (fPt) ((* (ptr) pd48 ))))(in←v5708, pd48) == (int)stopIndex←v6916); }; (void) Assert←P240((* (( (ptr) gf←c26816)+29) ), var←c25120); }; SOURCE(4902, 226) { word tc49; word tc50; word tc51; if (( (int)(word) IOrd←P60((* (hPt) &placement←v5848 )) == (int) (word) -1)) { tc51 = (word) ( (int)(word) IOrd←P60((* (( (hPt) &placement←v5848)+1) )) == (int) (word) -1); } else { tc51 = (word) 0; }; if (tc51) { tc50 = (word) ( (int)(word) IOrd←P60((* (( (hPt) &placement←v5848)+2) )) == (int) (word) -1); } else { tc50 = (word) 0; }; if (tc50) { tc49 = (word) ( (int)(word) IOrd←P60((* (( (hPt) &placement←v5848)+3) )) == (int) (word) -1); } else { tc49 = (word) 0; }; if (tc49) { } else { SOURCE(5053, 75) { word var←c25152; if (( (int)(word) IOrd←P60((* (( (hPt) &placement←v5848)+2) )) > (int)0)) { /*1*/ var←c25152 = ( (int)(word) IOrd←P60((* (( (hPt) &placement←v5848)+3) )) > (int)0); /*1*/ } else { /*1*/ var←c25152 = 0; /*1*/ }; (void) Assert←P240((* (( (ptr) gf←c26816)+30) ), var←c25152); }; }; }; SOURCE(5130, 49) { word var←c25184; var←c25184 = XR←NewObject(8, (* (( (ptr) gf←c26816)+17) )); (* (W2Pt) var←c25184 ) = placement←v5848; (* (( (ptr) info←v4404)+3) ) = var←c25184; }; break; case 3: SOURCE(5208, 65) SOURCE(5209, 64) (void) ReadBytes←P360(in←v5708, (word) &photometry←v5876, 30); SOURCE(5276, 44) { word var←c25216; { word pd52; pd52 = (* (( (ptr) (* (( (ptr) gf←c26816)+81)/* var←c24512 */ ))+29) ); var←c25216 = ( (int)(word) ( *( (fPt) ((* (ptr) pd52 ))))(in←v5708, pd52) <= (int)stopIndex←v6916); }; (void) Assert←P240((* (( (ptr) gf←c26816)+21) ), var←c25216); }; SOURCE(5322, 26) { word pd53; pd53 = (* (( (ptr) (* (( (ptr) gf←c26816)+81)/* var←c24512 */ ))+30) ); (void) ( *( (fPt) ((* (ptr) pd53 ))))(in←v5708, stopIndex←v6916, pd53); }; SOURCE(5378, 52) { word var←c25248; var←c25248 = XR←NewObject(32, (* (( (ptr) gf←c26816)+16) )); (* (W8Pt) var←c25248 ) = photometry←v5876; (* (( (ptr) info←v4404)+4) ) = var←c25248; }; break; case 4: SOURCE(5446, 513) { word byteSizeComment←v7004; word length←v7032 = 0; SOURCE(5448, 48) { word pd54; pd54 = (* (( (ptr) (* (( (ptr) gf←c26816)+81)/* var←c24512 */ ))+29) ); byteSizeComment←v7004 = (stopIndex←v6916 - (word) ( *( (fPt) ((* (ptr) pd54 ))))(in←v5708, pd54)); }; SOURCE(5553, 76) (void) Assert←P240((* (( (ptr) gf←c26816)+33) ), ( ( (int)byteSizeComment←v7004 >= (int)1) ? ( (int)byteSizeComment←v7004 <= (int)256) : 0 ) ) ; SOURCE(5639, 41) SOURCE(5640, 40) (void) ReadBytes←P360(in←v5708, (word) (( (bPt) &var←c26784)+24)/* comment←v5904 */ , byteSizeComment←v7004); SOURCE(5683, 26) length←v7032 = (* (( (bPt) &var←c26784)+24) ); SOURCE(5711, 51) (void) Assert←P240((* (( (ptr) gf←c26816)+33) ), ( (int)byteSizeComment←v7004 >= (int)SGNCK((length←v7032 + 1)))); SOURCE(5764, 192) { /* declaration of i←v7076 skipped */ word rope←v7132; SOURCE(5798, 10) (* (( (ptr) &var←c26784)+70)/* i←v7076 */ ) = 0; SOURCE(5865, 45) { word pd55; pd55 = (* (( (ptr) (* (( (ptr) gf←c26816)+80)/* var←c24448 */ ))+31) ); rope←v7132 = (word) ( *( (fPt) ((* (ptr) pd55 ))))(length←v7032, (word) (( (bPt) &var←c26784)+16)/* var←c24544 */ , 2147483647, pd55) ; }; SOURCE(5913, 41) { word var←c25280; var←c25280 = XR←NewObject(8, (* (( (ptr) gf←c26816)+8) )); (* (ptr) var←c25280 ) = rope←v7132; (* (( (ptr) var←c25280)+1) ) = (* (( (ptr) info←v4404)+5) ); (* (( (ptr) info←v4404)+5) ) = var←c25280; }; }; }; break; default: SOURCE(5973, 26) { word pd56; pd56 = (* (( (ptr) (* (( (ptr) gf←c26816)+81)/* var←c24512 */ ))+30) ); (void) ( *( (fPt) ((* (ptr) pd56 ))))(in←v5708, stopIndex←v6916, pd56); }; break; }; }; SOURCE(6029, 59) { word pd57; pd57 = (* (( (ptr) (* (( (ptr) gf←c26816)+81)/* var←c24512 */ ))+29) ); if (( (int)(word) ( *( (fPt) ((* (ptr) pd57 ))))(in←v5708, pd57) != (int)stopIndex←v6916)) { SOURCE(6065, 23) { word var←c092; var←c092 = (* (( (ptr) gf←c26816)+35) ); (void) XR←RaiseError((word) (( (bPt) gf←c26816)+160)/* var←c23680 */ , (word) &var←c092); }; }; }; }; firstPart←v6844 = 0; goto lab←L100005; lab←L100003: ; }; SOURCE(6099, 12) { word pd58; pd58 = (* (( (ptr) (* (( (ptr) gf←c26816)+81)/* var←c24512 */ ))+28) ); (void) ( *( (fPt) ((* (ptr) pd58 ))))(in←v5708, 0, pd58); }; SOURCE(1675, 4436) return(info←v4404); } static word p←P1200(formal←c26848) word formal←c26848; { word var←c7208; formal←c26848 = (formal←c26848 - 16); /* p: */ SOURCE(5810, 17) SOURCE(5836, 26) { word var←c0208; { word var←c0207; { word idx59; (* (( (ptr) formal←c26848)+70) ) = ((* (( (ptr) formal←c26848)+70) ) + 1); var←c0207 = (var←c0207 & 4294967040) | ((word) (* ((( (bPt) formal←c26848)+24)+( idx59 = (* (( (ptr) formal←c26848)+70) ), BCK(idx59, 256) )) )); }; var←c0208 = (var←c0207 & 0377); }; return(var←c0208); }; } static word Read←P480(name←v4464, info←v4492) word name←v4464; word info←v4492; { register ptr gf←c26880 = (ptr) &globalframe; word map←v4536; word i←v7236; word in←v7264; /* Read: */ SOURCE(6117, 1609) SOURCE(6117, 1609) map←v4536 = 0; SOURCE(6201, 24) i←v7236 = (word) ReadInfo←P420(name←v4464); SOURCE(6227, 60) { word var←c25312; { word pd60; pd60 = (* (( (ptr) (* (( (ptr) gf←c26880)+82)/* var←c24608 */ ))+5) ); var←c25312 = (word) ( *( (fPt) ((* (ptr) pd60 ))))(name←v4464, pd60); }; { W2 var←c25344; var←c25344.f0 = 4096; var←c25344.f1 = 2; { word pd61; pd61 = (* (( (ptr) (* (( (ptr) gf←c26880)+82)/* var←c24608 */ ))+39) ); in←v7264 = (word) ( *( (fPt) ((* (ptr) pd61 ))))(var←c25312, 0, (* (W4Pt) (( (ptr) gf←c26880)+71)/* var←c24224 */ ), 0, 0, (* (W5Pt) ( ( (ptr) gf←c26880)+75)/* var←c24288 */ ) , 1, var←c25344, pd61); }; }; }; SOURCE(6289, 29) if ((info←v4492 != 0)) { SOURCE(6308, 10) (* (W7Pt) info←v4492 ) = (* (W7Pt) i←v7236 ); }; SOURCE(6320, 1392) if ( ( ((* (( (ptr) i←v7236)+1) ) != 0) ? ((* (( (ptr) i←v7236)+2) ) != 0) : 0 ) ) { SOURCE(6359, 1309) { word samplesPerPixel←v7308; W2 size←v7336; word bytesPerLine←v7364; word bytesPadding←v7392; word linesPerBlock←v7420; word bytesPerBlock←v7448; word buf←v7476; word base←v7504; SOURCE(6361, 53) samplesPerPixel←v7308 = (word) COrd←P120((* (( (hPt) (* (( (ptr) i←v7236)+1) ))+3) )); SOURCE(6416, 78) size←v7336.f0 = (word) COrd←P120((* (hPt) (* (( (ptr) i←v7236)+1) ) )); size←v7336.f1 = (word) COrd←P120((* (( (hPt) (* (( (ptr) i←v7236)+1) ))+1) )); SOURCE(6496, 66) { word aisWords←v23456; aisWords←v23456 = (word) COrd←P120((* (( (hPt) (* (( (ptr) i←v7236)+2) ))+1) )); SOURCE(1367, 52) bytesPerLine←v7364 = IOP2( * , (int)2, (int)aisWords←v23456); }; SOURCE(6564, 124) if (((* (( (hPt) (* (( (ptr) i←v7236)+2) ))+2) ) == 65535)) { bytesPadding←v7392 = 0; } else { { word var←c25440; word aisWords←v23408; aisWords←v23408 = (word) COrd←P120((* (( (hPt) (* (( (ptr) i←v7236)+2) ))+3) )); SOURCE(1367, 52) var←c25440 = IOP2( * , (int)2, (int)aisWords←v23408); bytesPadding←v7392 = var←c25440; }; }; SOURCE(6690, 141) { word tc62; word x63; word x64; if (((* (( (hPt) (* (( (ptr) i←v7236)+2) ))+2) ) == 65535)) { tc62 = (word) (x63 = (* (( (ptr) gf←c26880)+4)/* defaultLinesPerBlock←v3140 */ ), x64 = size←v7336.f0, MIN((int)(word), x63, x64)); } else { tc62 = (word) COrd←P120((* (( (hPt) (* (( (ptr) i←v7236)+2) ))+2) )); }; linesPerBlock←v7420 = tc62; }; SOURCE(6833, 60) bytesPerBlock←v7448 = (IOP2( * , (int)bytesPerLine←v7364, (int)linesPerBlock←v7420) + bytesPadding←v7392); SOURCE(6895, 218) { W4 var←c25472; var←c25472.f0 = 0; var←c25472.f1 = 0; var←c25472.f2 = linesPerBlock←v7420; var←c25472.f3 = IOP2( * , (int)samplesPerPixel←v7308, (int)size←v7336.f1); { word pd65; pd65 = (* (( (ptr) (* (( (ptr) gf←c26880)+83)/* var←c25504 */ ))+19) ); buf←v7476 = (word) ( *( (fPt) ((* (ptr) pd65 ))))(var←c25472, 8, IOP2( * , (int)8, (int)bytesPerLine←v7364), pd65); }; }; SOURCE(7115, 59) base←v7504 = (* (( (ptr) buf←v7476)+8) ); SOURCE(7176, 187) { word var←c25536; { word idx66; var←c25536 = ( idx66 = (word) COrd←P120((* (hPt) (* (( (ptr) i←v7236)+2) ) )), BCK(idx66, 33) ); }; { W4 var←c25568; var←c25568.f0 = 0; var←c25568.f1 = 0; var←c25568.f2 = size←v7336.f0; var←c25568.f3 = IOP2( * , (int)samplesPerPixel←v7308, (int)size←v7336.f1); { word pd67; pd67 = (* (( (ptr) (* (( (ptr) gf←c26880)+83)/* var←c25504 */ ))+19) ); map←v4536 = (word) ( *( (fPt) ((* (ptr) pd67 ))))(var←c25568, var←c25536, IOP2( * , (int)8, (int)bytesPerLine←v7364), pd67) ; }; }; }; SOURCE(7365, 118) { word var←c25600; var←c25600 = (word) COrd←P120((* (( (hPt) (* (( (ptr) i←v7236)+1) ))+2) )); switch (var←c25600) { case 0: case 3: case 8: break; default: SOURCE(7434, 49) { word var←c0116; var←c0116 = (* (( (ptr) gf←c26880)+36) ); (void) XR←RaiseError((word) (( (bPt) gf←c26880)+160)/* var←c23680 */ , (word) &var←c0116); }; break; }; }; SOURCE(7485, 31) { word pd68; pd68 = (* (( (ptr) (* (( (ptr) gf←c26880)+81)/* var←c24512 */ ))+30) ); (void) ( *( (fPt) ((* (ptr) pd68 ))))(in←v7264, (* (ptr) i←v7236 ), pd68); }; SOURCE(7518, 139) { register word s←v7560 = 0; register word noName←c25632; { word idx69; noName←c25632 = ( idx69 = (word) size←v7336.f0, SGNCK(idx69) ); }; if ((s←v7560 >= noName←c25632)) { goto lab←L100010; }; lab←L100013: ; SOURCE(7555, 34) SOURCE(7556, 33) (void) ReadBytes←P360(in←v7264, base←v7504, bytesPerLine←v7364); SOURCE(7592, 65) { W2 var←c25664; W2 var←c25696; W2 var←c25728; var←c25664.f0 = s←v7560; var←c25664.f1 = 0; var←c25696.f0 = 0; var←c25696.f1 = 0; var←c25728.f0 = 1; var←c25728.f1 = size←v7336.f1; { word pd70; pd70 = (* (( (ptr) (* (( (ptr) gf←c26880)+83)/* var←c25504 */ ))+49) ); (void) ( *( (fPt) ((* (ptr) pd70 ))))(map←v4536, buf←v7476, var←c25664, var←c25696, var←c25728, 0, pd70); }; }; s←v7560 = (s←v7560 + 1); if ((s←v7560 < noName←c25632)) { goto lab←L100013; }; lab←L100010: ; }; }; } else { SOURCE(7675, 37) { word var←c0122; var←c0122 = (* (( (ptr) gf←c26880)+37) ); (void) XR←RaiseError((word) (( (bPt) gf←c26880)+160)/* var←c23680 */ , (word) &var←c0122); }; }; SOURCE(7714, 12) { word pd71; pd71 = (* (( (ptr) (* (( (ptr) gf←c26880)+81)/* var←c24512 */ ))+28) ); (void) ( *( (fPt) ((* (ptr) pd71 ))))(in←v7264, 0, pd71); }; SOURCE(6117, 1609) return(map←v4536); } static void WriteBytes←P540(out←v4596, base←v4624, bytes←v4652) word out←v4596; word base←v4624; word bytes←v4652; { register ptr gf←c26912 = (ptr) &globalframe; /* WriteBytes: */ SOURCE(7731, 147) SOURCE(7818, 60) { W3 var←c25760; var←c25760.f0 = base←v4624; var←c25760.f1 = 0; var←c25760.f2 = bytes←v4652; { word pd72; pd72 = (* (( (ptr) (* (( (ptr) gf←c26912)+81)/* var←c24512 */ ))+24) ); (void) ( *( (fPt) ((* (ptr) pd72 ))))(out←v4596, var←c25760, pd72); }; }; } static void Write←P600(name←v4724, map←v4752, placement←v4780, photometry←v4808, comments←v4836) word name←v4724; word map←v4752; word placement←v4780; word photometry←v4808; word comments←v4836; { W7 var←c26944; register ptr gf←c26976 = (ptr) &globalframe; /* declaration of var←c25792 skipped */ word wordsHeader←v7632 = 2048; /* declaration of out←v7660 skipped */ word header←v7688; W3 raster←v7716; W2 uca←v7744; W4 box←v7772; W2 size←v7800; word bpp←v7828; word aisWordsPerLine←v7856; word buf←v7884; word base←v7912; /* Write: */ SOURCE(7884, 3096) { word tmpAddr73; tmpAddr73 = (word) (( (ptr) &var←c26944)+4)/* var←c25792 */ ; (* (ptr) tmpAddr73 ) = ( ((word) (fPt) WritePartHeader←P1356) ); (* (( (ptr) tmpAddr73) + 1) ) = 1; }; SOURCE(8536, 62) { word var←c25824; { word pd74; pd74 = (* (( (ptr) (* (( (ptr) gf←c26976)+82)/* var←c24608 */ ))+5) ); var←c25824 = (word) ( *( (fPt) ((* (ptr) pd74 ))))(name←v4724, pd74); }; { W2 var←c25856; var←c25856.f0 = 4096; var←c25856.f1 = 2; { word pd75; pd75 = (* (( (ptr) (* (( (ptr) gf←c26976)+82)/* var←c24608 */ ))+39) ); var←c26944.f6/* out←v7660 */ = (word) ( *( (fPt) ((* (ptr) pd75 ))))(var←c25824, 1, (* (W4Pt) (( (ptr) gf←c26976)+71)/* var←c24224 */ ), 0, 0, (* (W5Pt) ( ( (ptr) gf←c26976)+75)/* var←c24288 */ ) , 1, var←c25856, pd75); }; }; }; SOURCE(9040, 48) box←v7772 = (* (W4Pt) map←v4752 ); SOURCE(9090, 50) { W4 b←v21908; b←v21908 = (* (W4Pt) map←v4752 ); size←v7800.f0 = (b←v21908.f2 - b←v21908.f0); size←v7800.f1 = (b←v21908.f3 - b←v21908.f1); }; SOURCE(9142, 76) { word x76; bpp←v7828 = (x76 = (* (( (ptr) map←v4752)+5) ), MAX( (unsigned) , 1, x76)); }; SOURCE(9220, 41) aisWordsPerLine←v7856 = IOP2( / , (int)(IOP2( * , (int)size←v7800.f1, (int)bpp←v7828) + 15), (int)16); SOURCE(9263, 73) { W4 var←c25952; var←c25952.f0 = 0; var←c25952.f1 = 0; var←c25952.f2 = 1; var←c25952.f3 = size←v7800.f1; { word pd77; pd77 = (* (( (ptr) (* (( (ptr) gf←c26976)+83)/* var←c25504 */ ))+19) ); buf←v7884 = (word) ( *( (fPt) ((* (ptr) pd77 ))))(var←c25952, bpp←v7828, 0, pd77); }; }; SOURCE(9338, 59) base←v7912 = (* (( (ptr) buf←v7884)+8) ); SOURCE(9399, 57) { word x78; word x79; if (( (int)(x78 = size←v7800.f1, x79 = size←v7800.f0, MIN((int)(word), x78, x79)) == (int)0)) { SOURCE(9431, 25) { word var←c0148; var←c0148 = (* (( (ptr) gf←c26976)+38) ); (void) XR←RaiseError((word) (( (bPt) gf←c26976)+160)/* var←c23680 */ , (word) &var←c0148); }; }; }; SOURCE(9458, 59) header←v7688 = (( (((unsigned)(word) Card←P180(BCK(wordsHeader←v7632, 65536)) << 16) >> 16) ) + 2225733632); SOURCE(9519, 84) { word var←c26016; word var←c26048; word var←c26080; word var←c26112; { word idx80; var←c26016 = (word) Card←P180(( idx80 = (word) size←v7800.f0, BCK(idx80, 65536) )); }; { word idx81; var←c26048 = (word) Card←P180(( idx81 = (word) size←v7800.f1, BCK(idx81, 65536) )); }; var←c26080 = (word) Card←P180(3); var←c26112 = (word) Card←P180(1); raster←v7716.f0 = ((var←c26016 << 16) + ( (((unsigned)var←c26048 << 16) >> 16) )); raster←v7716.f1 = ((var←c26080 << 16) + ( (((unsigned)var←c26112 << 16) >> 16) )); raster←v7716.f2 = 131071; }; SOURCE(9605, 80) { word var←c26144; word var←c26176; var←c26144 = (word) Card←P180(bpp←v7828); var←c26176 = (word) Card←P180(BCK(aisWordsPerLine←v7856, 65536)); uca←v7744.f0 = ((var←c26144 << 16) + ( (((unsigned)var←c26176 << 16) >> 16) )); uca←v7744.f1 = (word) -1; }; SOURCE(9695, 64) SOURCE(9696, 63) (void) WriteBytes←P540(var←c26944.f6/* out←v7660 */ , (word) &header←v7688, 4); SOURCE(9762, 89) (void) WritePartHeader←P1356(1, 18, (word) (( (bPt) &var←c26944)+16)/* var←c25792 */ ); SOURCE(9861, 59) SOURCE(9862, 58) (void) WriteBytes←P540(var←c26944.f6/* out←v7660 */ , (word) &raster←v7716, 10); SOURCE(9931, 55) SOURCE(9932, 54) (void) WriteBytes←P540(var←c26944.f6/* out←v7660 */ , (word) &uca←v7744, 8); SOURCE(9989, 339) if ((placement←v4780 != 0)) { SOURCE(10013, 318) { W2 part←v8440; SOURCE(10174, 19) part←v8440 = (* (W2Pt) placement←v4780 ); SOURCE(10195, 63) (void) WritePartHeader←P1356(2, 8, (word) (( (bPt) &var←c26944)+16)/* var←c25792 */ ); SOURCE(10268, 60) SOURCE(10269, 59) (void) WriteBytes←P540(var←c26944.f6/* out←v7660 */ , (word) &part←v8440, 8); }; }; SOURCE(10334, 345) if ((photometry←v4808 != 0)) { SOURCE(10359, 323) { W8 part←v8612; SOURCE(10361, 33) XR←FillWords(&part←v8612, 8, 0); part←v8612.f5 = (word) -1; part←v8612.f6 = (word) -1; SOURCE(10521, 20) part←v8612 = (* (W8Pt) photometry←v4808 ); SOURCE(10543, 65) (void) WritePartHeader←P1356(3, 30, (word) (( (bPt) &var←c26944)+16)/* var←c25792 */ ); SOURCE(10618, 61) SOURCE(10619, 60) (void) WriteBytes←P540(var←c26944.f6/* out←v7660 */ , (word) &part←v8612, 30); }; }; SOURCE(10685, 23) if ((comments←v4836 != 0)) { }; SOURCE(10719, 23) (void) WritePartHeader←P1356(0, 0, (word) (( (bPt) &var←c26944)+16)/* var←c25792 */ ); SOURCE(10758, 31) { word pd82; pd82 = (* (( (ptr) (* (( (ptr) gf←c26976)+81)/* var←c24512 */ ))+30) ); (void) ( *( (fPt) ((* (ptr) pd82 ))))(var←c26944.f6/* out←v7660 */ , IOP2( * , (int)2, (int)wordsHeader←v7632), pd82); }; SOURCE(10791, 164) { register word s←v8784; register word noName←c26240; { word idx83; s←v8784 = ( idx83 = (word) box←v7772.f0, SGNCK(idx83) ); }; { word idx84; noName←c26240 = ( idx84 = (word) box←v7772.f2, SGNCK(idx84) ); }; if ((s←v8784 >= noName←c26240)) { goto lab←L100015; }; lab←L100018: ; SOURCE(10831, 73) { W2 var←c26272; W2 var←c26304; W2 var←c26336; var←c26272.f0 = 0; var←c26272.f1 = 0; var←c26304.f0 = s←v8784; var←c26304.f1 = box←v7772.f1; var←c26336.f0 = 1; var←c26336.f1 = size←v7800.f1; { word pd85; pd85 = (* (( (ptr) (* (( (ptr) gf←c26976)+83)/* var←c25504 */ ))+49) ); (void) ( *( (fPt) ((* (ptr) pd85 ))))(buf←v7884, map←v4752, var←c26272, var←c26304, var←c26336, 0, pd85); }; }; SOURCE(10914, 41) SOURCE(10915, 40) (void) WriteBytes←P540(var←c26944.f6/* out←v7660 */ , base←v7912, IOP2( * , (int)aisWordsPerLine←v7856, (int)2)); s←v8784 = (s←v8784 + 1); if ((s←v8784 < noName←c26240)) { goto lab←L100018; }; lab←L100015: ; }; SOURCE(10967, 13) { word pd86; pd86 = (* (( (ptr) (* (( (ptr) gf←c26976)+81)/* var←c24512 */ ))+28) ); (void) ( *( (fPt) ((* (ptr) pd86 ))))(var←c26944.f6/* out←v7660 */ , 0, pd86); }; } static void WritePartHeader←P1356(type←v7988, nBytesInPart←v8016, formal←c27008) word type←v7988; word nBytesInPart←v8016; word formal←c27008; { word nWordsTotal←v8828; word part←v8856; formal←c27008 = (formal←c27008 - 16); /* WritePartHeader: */ SOURCE(8038, 467) SOURCE(8114, 68) nWordsTotal←v8828 = IOP2( / , (int)(nBytesInPart←v8016 + 2), (int)2); SOURCE(8327, 53) { word idx87; word idx88; (* (hPt) &part←v8856 ) = (((((type←v7988 & 077) << 2) + ( idx87 = (word) IOP2( / , (int)nWordsTotal←v8828, (int)256), BCK(idx87, 4) )) << 8) + ( idx88 = (word) IOP2( % , (int)nWordsTotal←v8828, (int)256), BCK(idx88, 256) )); }; SOURCE(8382, 56) if ((type←v7988 == 0)) { SOURCE(8401, 37) (* (( (bPt) &part←v8856)+1) ) = 0; part←v8856 = (part←v8856 & 4244635647) | (((0)) << 24); }; SOURCE(8448, 57) SOURCE(8449, 56) (void) WriteBytes←P540((* (( (ptr) formal←c27008)+6) ), (word) &part←v8856, 2); } static word NewSampleMap←P660(scanCount←v4980, scanLength←v5008, bitsPerPixel←v5036) word scanCount←v4980; word scanLength←v5008; word bitsPerPixel←v5036; { register ptr gf←c27040 = (ptr) &globalframe; word map←v5100; /* NewSampleMap: */ SOURCE(10985, 253) SOURCE(10985, 253) map←v5100 = 0; SOURCE(11110, 128) { W4 var←c26400; var←c26400.f0 = 0; var←c26400.f1 = 0; var←c26400.f2 = SGNCK(scanCount←v4980); var←c26400.f3 = SGNCK(scanLength←v5008); { word pd89; pd89 = (* (( (ptr) (* (( (ptr) gf←c27040)+83)/* var←c25504 */ ))+19) ); map←v5100 = (word) ( *( (fPt) ((* (ptr) pd89 ))))(var←c26400, bitsPerPixel←v5036, 0, pd89); }; }; SOURCE(10985, 253) return(map←v5100); } static word ReadSample←P720(map←v5160, line←v5188, pixel←v5216) word map←v5160; word line←v5188; word pixel←v5216; { register ptr gf←c27072 = (ptr) &globalframe; word value←v5260; /* ReadSample: */ SOURCE(11244, 156) SOURCE(11338, 62) { W2 var←c26432; var←c26432.f0 = SGNCK(line←v5188); var←c26432.f1 = SGNCK(pixel←v5216); { word pd90; pd90 = (* (( (ptr) (* (( (ptr) gf←c27072)+83)/* var←c25504 */ ))+42) ); value←v5260 = (word) ( *( (fPt) ((* (ptr) pd90 ))))(map←v5160, var←c26432, pd90); }; }; SOURCE(11244, 156) return(value←v5260); } static void WriteSample←P780(map←v5320, value←v5348, line←v5376, pixel←v5404) word map←v5320; word value←v5348; word line←v5376; word pixel←v5404; { register ptr gf←c27104 = (ptr) &globalframe; /* WriteSample: */ SOURCE(11405, 154) SOURCE(11491, 68) { W2 var←c26464; var←c26464.f0 = SGNCK(line←v5376); var←c26464.f1 = SGNCK(pixel←v5404); { word pd91; pd91 = (* (( (ptr) (* (( (ptr) gf←c27104)+83)/* var←c25504 */ ))+43) ); (void) ( *( (fPt) ((* (ptr) pd91 ))))(map←v5320, var←c26464, value←v5348, 0, pd91); }; }; } static void ReadLine←P840(map←v5464, buffer←v5492, line←v5520) word map←v5464; word buffer←v5492; word line←v5520; { register ptr gf←c27136 = (ptr) &globalframe; /* ReadLine: */ SOURCE(11565, 158) SOURCE(11646, 77) { W2 var←c26496; W2 var←c26528; var←c26496.f0 = SGNCK(line←v5520); var←c26496.f1 = 0; var←c26528.f0 = 0; var←c26528.f1 = 1; { word pd92; pd92 = (* (( (ptr) (* (( (ptr) gf←c27136)+83)/* var←c25504 */ ))+44) ); (void) ( *( (fPt) ((* (ptr) pd92 ))))(map←v5464, var←c26496, var←c26528, buffer←v5492, 0, 2147483647, pd92); }; }; } static void WriteLine←P900(map←v5580, buffer←v5608, line←v5636) word map←v5580; word buffer←v5608; word line←v5636; { register ptr gf←c27168 = (ptr) &globalframe; /* WriteLine: */ SOURCE(11729, 159) SOURCE(11811, 77) { W2 var←c26560; W2 var←c26592; var←c26560.f0 = SGNCK(line←v5636); var←c26560.f1 = 0; var←c26592.f0 = 0; var←c26592.f1 = 1; { word pd93; pd93 = (* (( (ptr) (* (( (ptr) gf←c27168)+83)/* var←c25504 */ ))+47) ); (void) ( *( (fPt) ((* (ptr) pd93 ))))(map←v5580, var←c26560, var←c26592, buffer←v5608, 0, 2147483647 , 0, pd93); }; }; } /* file: AISIOImpl, module: AISIOImpl, compiled at: March 10, 1992 11:59:09 am PST */ extern void XR←install←AISIOImpl() { NoName←Q2316(); } extern void XR←run←AISIOImpl() { XR←Start(&globalframe); }