/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */
/* time: July 28, 1993 10:15:55 am PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: ImagerColorPrivateImpl, module: ImagerColorPrivateImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [2475705411,748828630] ImagerColorPrivateImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2;} W3;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W3 r;} W11;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
#define SOURCE(p, l) /* source p, l */
static float fc58 = 0.0;
#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) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
static float fc123 = 1.0;
static void NoName←Q6864();
static void ImagerColorPrivateImpl←P0();
static word MakeStructure←P60();
static word SSize←P120();
static word SCheckSize←P180();
static void SGet←P240();
static word SGetAtom←P300();
static word SGetReal←P360();
static word SGetInt←P420();
static word SGetStructure←P480();
static word SGetOptionalStructure←P540();
static word SGetColor←P600();
static word SGetColorOperator←P660();
static void SGetProp←P720();
static word FlatSize←P780();
static void FlatGet←P840();
static word StructureFromElementGenerator←P900();
static void CountElements←P3732();
static void StoreElements←P3792();
static word StructureFromList←P960();
static void GenerateElements←P4140();
static word MergeSize←P1020();
static void MergeGet←P1080();
static word SMergeProp←P1140();
static word StructureEqual←P1200();
static word ColorEqual←P1260();
static word ConstantColorsEqual←P1320();
static word ApplyPixelEncoding←P1380();
static word PixelEncodingEqual←P1440();
static word PixelEncodingFromStructure←P1500();
static word StructureFromPixelEncoding←P1560();
static void G←P5448();
static word MakeSampleEncoding←P1620();
static word SampleEncodingEqual←P1680();
static word SampleEncodingFromStructure←P1740();
static word SampleEncodingSize←P1800();
static void SampleEncodingGet←P1860();
static word StructureFromSampleEncoding←P1920();
static void RegisterNamedColor←P1980();
static word DefineProcessSpace←P2040();
static word StoreColorOperator←P2100();
static word ColorOperatorFromColorSpace←P2160();
static word ColorSpaceDimension←P2220();
static word GetPixelEncoding←P2280();
static word TransformConstantColor←P2340();
static word pixelIn←P6036();
static word ApplyToList←P2400();
static word pixelIn←P6096();
static word MakeColorPoint←P2460();
static word DestroyColorPoint←P2520();
static word ChooseColorSpace←P2580();
static word ColorPointFromColor←P2640();
static word NarrowToOp←P2700();
static word IntensityFromColor←P2760();
static word GrayFromColor←P2820();
static word FindColorOperatorClass←P2880();
static word NewColorOperatorClass←P2940();
static word NewColorOperator←P3000();
static word compare←P6696();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\207\164\301\163\300\327\135\041\305\105\234\000\000"};
static struct {unsigned f; char r[4];} string2 = {196611, "\004@A"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\207\164\301\163\300\327\135\041\305\100\340\000\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\223\220\104\103\300\054\242\067\326\103\260\000\000"};
static struct {unsigned f; char r[12];} string5 = {524296, "\011\000\004\000\040\000\004\001\000\000\000"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\132\124\077\010\300\370\073\075\073\100\354\000\000"};
static struct {unsigned f; char r[4];} string7 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string8 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string9 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\132\124\077\010\300\370\073\075\073\100\370\000\000"};
static struct {unsigned f; char r[4];} string11 = {131074, "\004\034\000"};
static struct {unsigned f; char r[4];} string12 = {131076, "\216\251\000"};
static struct {unsigned f; char r[44];} string13 = {2752556, "\260\006\005\146\151\162\163\164\257\300\240\236\274\171\300\344\000\142\023\100\200\005\004\162\145\163\164\214\257\300\240\236\274\171\300\344\000\142\023\100\200\261\000"};
static struct {unsigned f; char r[4];} string14 = {131074, "\004\007\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\207\164\301\163\300\327\135\041\305\104\034\000\000"};
static struct {unsigned f; char r[20];} string16 = {1179668, "\260\006\005\146\151\162\163\164\256\005\004\162\145\163\164\214\256\261\000"};
static struct {unsigned f; char r[4];} string17 = {131074, "\003\001\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300ZT?\010\300\370;=;B`\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\223\220\104\103\300\054\242\067\326\101\240\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\207\164\301\163\300\327\135\041\305\100\164\000\000"};
static struct {unsigned f; char r[12];} string21 = {720907, "\007\000\040\006\003\001\013\000\000\013\013"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\223\220\104\103\300\054\242\067\326\102\030\000\000"};
static struct {unsigned f; char r[4];} string23 = {131074, "\004\006\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300ZT?\010\300\370;=;BT\000\000"};
static struct {unsigned f; char r[36];} string25 = {2293796, "Wrong type (expected ColorOperator)"};
static struct {unsigned f; char r[28];} string26 = {1769500, "Wrong type (expected Color)"};
static struct {unsigned f; char r[36];} string27 = {2162724, "Wrong type (expected Vector or 0)\000\000"};
static struct {unsigned f; char r[56];} string28 = {3407928, "this color operator is not supported for this device\000\000\000"};
static struct {unsigned f; char r[32];} string29 = {1835040, "Wrong type (expected Vector)\000\000\000"};
static struct {unsigned f; char r[32];} string30 = {1900576, "Wrong type (expected Integer)\000\000"};
static struct {unsigned f; char r[16];} string31 = {851984, "ColorOperator\000\000"};
static struct {unsigned f; char r[32];} string32 = {1835040, "Wrong type (expected Number)\000\000\000"};
static struct {unsigned f; char r[36];} string33 = {2097188, "Wrong type (expected Identifier)\000\000\000"};
static struct {unsigned f; char r[32];} string34 = {1966112, "No substitute for SpecialColor\000"};
static struct {unsigned f; char r[40];} string35 = {2424872, "Failed to find color model operator: \000\000"};
static struct {unsigned f; char r[8];} string36 = {262152, "name\000\000\000"};
static struct {unsigned f; char r[84];} string37 = {5242964, "Argument vector to ColorModelOperator has incorrect size (expected %g, found %g)\000\000\000"};
static struct {unsigned f; char r[16];} string38 = {851984, "\257\300\223\220\104\103\300\054\242\067\326\100\164\000\000"};
static struct {unsigned f; char r[28];} string39 = {1769499, "\006\011\040\001\044\001\050\001\054\001\060\001\064\004\100\377\100\124\001\100\130\001\100\310\004\137\377"};
static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\161\264\233\303\300\026\075\022\161\100\150\000\000"};
static struct {unsigned f; char r[16];} string41 = {851984, "\257\300\045\370\116\014\300\270\323\074\131\100\150\000\000"};
static struct {unsigned f; char r[16];} string42 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string43 = {851984, "\257\300\275\320\070\317\300\004\110\363\366\100\150\000\000"};
static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string45 = {851984, "\257\300\072\337\114\355\300\232\070\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string46 = {851984, "\257\300ZT?\010\300\370;=;@h\000\000"};
static struct {unsigned f; char r[32];} string47 = {1966112, "\211\022\021StructureClassRep\300ZT?\010\300\370;=;\000"};
static struct {unsigned f; char r[36];} string48 = {2228260, "\211\026\025ColorOperatorClassRep\300ZT?\010\300\370;=;\000"};
static struct {unsigned f; char r[16];} string49 = {851984, "\257\300\207\164\301\163\300\327\135\041\305\100\150\000\000"};
static struct {
word f0[63]; word f63; word f64; word f65;
word f66; word f67; word f68; word f69;
word f70; word f71; word f72; word f73;
word f74; word f75; word f76; word f77;
word f78; word f79; word f80; word f81;
word f82; word f83; word f84; word f85;
word f86; word f87; word f88; word f89;
word f90; word f91; word f92; word f93;
word f94; word f95; word f96; word f97;
word f98; word f99; word f100; word f101;
word f102; word f103; word f104; word f105;
word f106; word f107; word f108; word f109;
word f110; word f111; word f112; word f113;
word f114; word f115; word f116; word f117;
word f118; word f119; word f120; word f121;
word f122; word f123; word f124; word f125;
word f126; word f127; word f128; word f129;
word f130; word f131; word f132; word f133;
word f134; word f135; word f136; word f137;
word f138; word f139; word f140; word f141;
word f142; word f143; word f144; word f145;
word f146; word f147; word f148; word f149;
word f150; word f151; word f152; word f153;
word f154; word f155; word f156; word f157;
word f158; word f159; word f160; word f161;
word f162; word f163; word f164[9];
} globalframe = {
{0}, (word) NewColorOperator←P3000, 0, (word) NewColorOperatorClass←P2940,
0, (word) FindColorOperatorClass←P2880, 0, (word) GrayFromColor←P2820,
0, (word) IntensityFromColor←P2760, 0, (word) NarrowToOp←P2700,
0, (word) ColorPointFromColor←P2640, 0, (word) ChooseColorSpace←P2580,
0, (word) DestroyColorPoint←P2520, 0, (word) MakeColorPoint←P2460,
0, (word) ApplyToList←P2400, 0, (word) TransformConstantColor←P2340,
0, (word) GetPixelEncoding←P2280, 0, (word) ColorSpaceDimension←P2220,
0, (word) ColorOperatorFromColorSpace←P2160, 0, (word) StoreColorOperator←P2100,
0, (word) DefineProcessSpace←P2040, 0, (word) RegisterNamedColor←P1980,
0, (word) StructureFromSampleEncoding←P1920, 0, (word) SampleEncodingGet←P1860,
0, (word) SampleEncodingSize←P1800, 0, (word) SampleEncodingFromStructure←P1740,
0, (word) SampleEncodingEqual←P1680, 0, (word) MakeSampleEncoding←P1620,
0, (word) StructureFromPixelEncoding←P1560, 0, (word) PixelEncodingFromStructure←P1500,
0, (word) PixelEncodingEqual←P1440, 0, (word) ApplyPixelEncoding←P1380,
0, (word) ConstantColorsEqual←P1320, 0, (word) ColorEqual←P1260,
0, (word) StructureEqual←P1200, 0, (word) SMergeProp←P1140,
0, (word) MergeGet←P1080, 0, (word) MergeSize←P1020,
0, (word) StructureFromList←P960, 0, (word) StructureFromElementGenerator←P900,
0, (word) FlatGet←P840, 0, (word) FlatSize←P780,
0, (word) SGetProp←P720, 0, (word) SGetColorOperator←P660,
0, (word) SGetColor←P600, 0, (word) SGetOptionalStructure←P540,
0, (word) SGetStructure←P480, 0, (word) SGetInt←P420,
0, (word) SGetReal←P360, 0, (word) SGetAtom←P300,
0, (word) SGet←P240, 0, (word) SCheckSize←P180,
0, (word) SSize←P120, 0, (word) MakeStructure←P60,
0, (word) ImagerColorPrivateImpl←P0, {0}
};
static void NoName←Q6864()
{
register ptr gf←c0491 = (ptr) &globalframe;
word var←c38876;
(* (( (ptr) gf←c0491)+23) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c0491)+24) ) = (word) XR←GetTypeIndexS((word) (&string3));
(* (( (ptr) gf←c0491)+25) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
(* (( (ptr) gf←c0491)+31) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
(* (( (ptr) gf←c0491)+33) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string9);
(* (( (ptr) gf←c0491)+34) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11);
(* (( (ptr) gf←c0491)+37) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string9);
(* (( (ptr) gf←c0491)+38) ) = (word) XR←GetTypeIndex((word) &string13, 0, (word) &string14);
(* (( (ptr) gf←c0491)+39) ) = (word) XR←GetTypeIndexS((word) (&string15));
(* (( (ptr) gf←c0491)+40) ) = (word) XR←GetTypeIndex((word) &string16, 0, (word) &string17);
(* (( (ptr) gf←c0491)+41) ) = (word) XR←GetTypeIndexS((word) (&string18));
(* (( (ptr) gf←c0491)+42) ) = (word) XR←GetTypeIndex((word) &string19, 0, (word) &string5);
(* (( (ptr) gf←c0491)+43) ) = (word) XR←GetTypeIndex((word) &string20, 0, (word) &string21);
(* (( (ptr) gf←c0491)+48) ) = (word) XR←GetTypeIndex((word) &string22, 0, (word) &string23);
(* (( (ptr) gf←c0491)+49) ) = (word) XR←GetTypeIndex((word) &string24, 0, (word) &string5);
(* (ptr) (( (bPt) gf←c0491)+200) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string25);
(* (ptr) (( (bPt) gf←c0491)+204) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string26);
(* (ptr) (( (bPt) gf←c0491)+208) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string27);
(* (ptr) (( (bPt) gf←c0491)+212) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string28);
(* (ptr) (( (bPt) gf←c0491)+216) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string29);
(* (ptr) (( (bPt) gf←c0491)+220) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string30);
(* (ptr) (( (bPt) gf←c0491)+224) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+37) ), (word) &string31);
(* (ptr) (( (bPt) gf←c0491)+228) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string32);
(* (ptr) (( (bPt) gf←c0491)+232) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string33);
(* (ptr) (( (bPt) gf←c0491)+236) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string34);
(* (ptr) (( (bPt) gf←c0491)+240) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string35);
(* (ptr) (( (bPt) gf←c0491)+244) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+37) ), (word) &string36);
(* (ptr) (( (bPt) gf←c0491)+248) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0491)+33) ), (word) &string37);
(void) XR←DeclareGlobalFrame((word) "ImagerColorPrivateImpl", &globalframe, (word) XR←GetTypeIndex((word) &string38, 0, (word) &string39)
, (word) (( (bPt) gf←c0491)+652)/* var←c33820 */ );
var←c38876 = (word) XR←ImportInterface((word) "FunctionCache", (word) XR←GetTypeIndexS((word) (&string40)), 14);
(* (( (ptr) gf←c0491)+166)/* var←c34012 */ ) = var←c38876;
(void) XR←ImportProcS(var←c38876, 1311237);
(void) XR←ImportProcS(var←c38876, 135005443);
(void) XR←ImportProcS(var←c38876, 67633154);
var←c38876 = (word) XR←ImportInterface((word) "ImagerError", (word) XR←GetTypeIndexS((word) (&string41)), 3);
(* (( (ptr) gf←c0491)+167)/* var←c34108 */ ) = var←c38876;
var←c38876 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string42)), 103);
(* (( (ptr) gf←c0491)+168)/* var←c34268 */ ) = var←c38876;
(void) XR←ImportProcS(var←c38876, 68958724);
var←c38876 = (word) XR←ImportInterface((word) "RuntimeError", (word) XR←GetTypeIndexS((word) (&string43)), 27);
(* (( (ptr) gf←c0491)+169)/* var←c34332 */ ) = var←c38876;
var←c38876 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string44)), 43);
(* (( (ptr) gf←c0491)+170)/* var←c36380 */ ) = var←c38876;
(void) XR←ImportProcS(var←c38876, 67633666);
(void) XR←ImportProcS(var←c38876, 67896323);
var←c38876 = (word) XR←ImportInterface((word) "SymTab", (word) XR←GetTypeIndexS((word) (&string45)), 13);
(* (( (ptr) gf←c0491)+165)/* var←c33948 */ ) = var←c38876;
(void) XR←ImportProcS(var←c38876, 134742786);
(void) XR←ImportProcS(var←c38876, 67896835);
(void) XR←ImportProcS(var←c38876, 67633410);
var←c38876 = (word) XR←ExportInterface((word) "ImagerColor", (word) XR←GetTypeIndexS((word) (&string46)), 32);
(* (( (ptr) gf←c0491)+171)/* var←c38908 */ ) = var←c38876;
(void) XR←ExportType((word) "StructureClassRep", (word) XR←GetTypeIndexS((word) (&string47)), (word) XR←GetTypeIndexS((word) (&string3))
);
(void) XR←ExportType((word) "ColorOperatorClassRep", (word) XR←GetTypeIndexS((word) (&string48)), (word) XR←GetTypeIndex(
(word) &string1, 0, (word) &string2));
var←c38876 = (word) XR←ExportInterface((word) "ImagerColorPrivate", (word) XR←GetTypeIndexS((word) (&string49)), 48);
(* (( (ptr) gf←c0491)+172)/* var←c38940 */ ) = var←c38876;
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+644)/* var←c33788 */ , 67633154, (word) "MakeStructure");
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+636)/* var←c33756 */ , 67371265, (word) "SSize");
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+628)/* var←c33724 */ , 67633666, (word) "SCheckSize");
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+620)/* var←c33692 */ , 134742786, (word) "SGet");
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+612)/* var←c33660 */ , 67634178, (word) "SGetAtom");
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+604)/* var←c33628 */ , 67634434, (word) "SGetReal");
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+596)/* var←c33596 */ , 67634690, (word) "SGetInt");
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+588)/* var←c33564 */ , 67634946, (word) "SGetStructure");
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+580)/* var←c33532 */ , 67897347, (word) "SGetOptionalStructure")
;
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+572)/* var←c33500 */ , 67635458, (word) "SGetColor");
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+564)/* var←c33468 */ , 67635714, (word) "SGetColorOperator");
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+556)/* var←c33436 */ , 134744834, (word) "SGetProp");
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+500)/* var←c33212 */ , 67636226, (word) "SMergeProp");
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+532)/* var←c33340 */ , 67374337, (word) "StructureFromElementGenerator")
;
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+524)/* var←c33308 */ , 67374593, (word) "StructureFromList");
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+492)/* var←c33180 */ , 67636994, (word) "StructureEqual");
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+484)/* var←c33148 */ , 67637250, (word) "ColorEqual");
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+468)/* var←c33084 */ , 67899651, (word) "ApplyPixelEncoding")
;
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+460)/* var←c33052 */ , 67637762, (word) "PixelEncodingEqual")
;
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+452)/* var←c33020 */ , 67375873, (word) "PixelEncodingFromStructure")
;
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+444)/* var←c32988 */ , 67376129, (word) "StructureFromPixelEncoding")
;
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+436)/* var←c32956 */ , 67638530, (word) "MakeSampleEncoding")
;
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+428)/* var←c32924 */ , 67638786, (word) "SampleEncodingEqual")
;
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+420)/* var←c32892 */ , 67376897, (word) "SampleEncodingFromStructure")
;
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+396)/* var←c32796 */ , 67377153, (word) "StructureFromSampleEncoding")
;
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+476)/* var←c33116 */ , 67639554, (word) "ConstantColorsEqual")
;
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+276)/* var←c32316 */ , 67377665, (word) "GrayFromColor");
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+284)/* var←c32348 */ , 67377921, (word) "IntensityFromColor")
;
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+332)/* var←c32540 */ , 67902467, (word) "ApplyToList");
(void) XR←ExportVar(var←c38876, 29, (word) (( (bPt) gf←c0491)+44)/* namedColorTable←v5016 */ );
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+388)/* var←c32764 */ , 269825, (word) "RegisterNamedColor");
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+324)/* var←c32508 */ , 67641090, (word) "MakeColorPoint");
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+316)/* var←c32476 */ , 67379201, (word) "DestroyColorPoint");
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+380)/* var←c32732 */ , 67641602, (word) "DefineProcessSpace")
;
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+364)/* var←c32668 */ , 67379713, (word) "ColorOperatorFromColorSpace")
;
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+356)/* var←c32636 */ , 67379969, (word) "ColorSpaceDimension")
;
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+348)/* var←c32604 */ , 67380225, (word) "GetPixelEncoding");
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+340)/* var←c32572 */ , 67642626, (word) "TransformConstantColor")
;
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+308)/* var←c32444 */ , 67642882, (word) "ChooseColorSpace");
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+300)/* var←c32412 */ , 67643138, (word) "ColorPointFromColor")
;
(void) XR←ExportVar(var←c38876, 42, (word) (( (bPt) gf←c0491)+84)/* colorOperatorClassTable←v5576 */ );
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+268)/* var←c32284 */ , 67382017, (word) "FindColorOperatorClass")
;
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+260)/* var←c32252 */ , 68955143, (word) "NewColorOperatorClass")
;
(void) XR←ExportProcS(var←c38876, (word) (( (bPt) gf←c0491)+252)/* var←c32220 */ , 68431109, (word) "NewColorOperator");
}
static void ImagerColorPrivateImpl←P0(formal←c077, formal←c072)
word formal←c077;
word formal←c072;
{
register ptr gf←c38972 = (ptr) &globalframe;
/* ImagerColorPrivateImpl: */
SOURCE(1027, 20498)
SOURCE(6422, 92)
{
word var←c33852;
var←c33852 = XR←NewObject(8, (* (( (ptr) gf←c38972)+24) ));
(* (ptr) var←c33852 ) = (word) (( (bPt) gf←c38972)+548)/* var←c33404 */ ;
(* (( (ptr) var←c33852)+1) ) = (word) (( (bPt) gf←c38972)+540)/* var←c33372 */ ;
(* (( (ptr) gf←c38972)+8)/* flatStructureClass←v4232 */ ) = var←c33852;
};
SOURCE(8114, 95)
{
word var←c33884;
var←c33884 = XR←NewObject(8, (* (( (ptr) gf←c38972)+24) ));
(* (ptr) var←c33884 ) = (word) (( (bPt) gf←c38972)+516)/* var←c33276 */ ;
(* (( (ptr) var←c33884)+1) ) = (word) (( (bPt) gf←c38972)+508)/* var←c33244 */ ;
(* (( (ptr) gf←c38972)+9)/* mergeStructureClass←v4400 */ ) = var←c33884;
};
SOURCE(13446, 134)
{
word var←c33916;
var←c33916 = XR←NewObject(8, (* (( (ptr) gf←c38972)+24) ));
(* (ptr) var←c33916 ) = (word) (( (bPt) gf←c38972)+412)/* var←c32860 */ ;
(* (( (ptr) var←c33916)+1) ) = (word) (( (bPt) gf←c38972)+404)/* var←c32828 */ ;
(* (( (ptr) gf←c38972)+10)/* sampleEncodingClass←v4904 */ ) = var←c33916;
};
SOURCE(14097, 72)
{
word pd50;
pd50 = (* (( (ptr) (* (( (ptr) gf←c38972)+165)/* var←c33948 */ ))+5) );
(* (( (ptr) gf←c38972)+11)/* namedColorTable←v5016 */ ) = (word) ( *( (fPt) ((* (ptr) pd50 ))))(53, 0, pd50);
};
SOURCE(14424, 96)
{
word var←c33980;
var←c33980 = XR←NewObject(28, (* (( (ptr) gf←c38972)+25) ));
(* (ptr) var←c33980 ) = 6;
(* (( (ptr) gf←c38972)+12)/* colorSpaceTable←v5100 */ ) = var←c33980;
};
SOURCE(19549, 71)
{
word pd51;
pd51 = (* (( (ptr) (* (( (ptr) gf←c38972)+165)/* var←c33948 */ ))+5) );
(* (( (ptr) gf←c38972)+21)/* colorOperatorClassTable←v5576 */ ) = (word) ( *( (fPt) ((* (ptr) pd51 ))))(17, 0, pd51);
};
SOURCE(20592, 108)
{
word pd52;
pd52 = (* (( (ptr) (* (( (ptr) gf←c38972)+166)/* var←c34012 */ ))+4) );
(* (( (ptr) gf←c38972)+22)/* colorOperatorCache←v5660 */ ) = (word) ( *( (fPt) ((* (ptr) pd52 ))))(2147483647, 2147483647, pd52)
;
};
}
static word MakeStructure←P60(class←v5780, data←v5808)
word class←v5780;
word data←v5808;
{
register ptr gf←c39004 = (ptr) &globalframe;
word var←c5868;
word structure←v12952;
/* MakeStructure: */
SOURCE(3027, 188)
SOURCE(3113, 81)
structure←v12952 = XR←NewObject(8, (* (( (ptr) gf←c39004)+31) ));
(* (ptr) structure←v12952 ) = class←v5780;
(* (( (ptr) structure←v12952)+1) ) = data←v5808;
SOURCE(3196, 19)
return(structure←v12952);
}
static word SSize←P120(structure←v5928)
word structure←v5928;
{
word var←c5972;
/* SSize: */
SOURCE(3219, 132)
SOURCE(3279, 72)
{
word pd53;
if ((structure←v5928 == 0)) {
return(0);
}
else {
pd53 = (* (ptr) (* (ptr) structure←v5928 ) );
return((word) ( *( (fPt) ((* (ptr) pd53 ))))(structure←v5928, pd53));
};
};
}
static word SCheckSize←P180(structure←v6032, size←v6060)
word structure←v6032;
word size←v6060;
{
register ptr gf←c39036 = (ptr) &globalframe;
word var←c6104;
word structureSize←v12996;
/* SCheckSize: */
SOURCE(3355, 334)
SOURCE(3431, 37)
structureSize←v12996 = (word) SSize←P120(structure←v6032);
SOURCE(3470, 42)
if (( (int)structureSize←v12996 == (int)size←v6060)) {
SOURCE(3499, 13)
return(size←v6060);
};
SOURCE(3514, 175)
{
word var←c34140;
{
W2 var←c34172;
W2 var←c34204;
W2 var←c0536;
var←c34172.f0 = 5;
var←c34172.f1 = size←v6060;
var←c34204.f0 = 5;
var←c34204.f1 = structureSize←v12996;
(* (ptr) (word) &var←c0536 ) = 0;
(* (( (ptr) (word) &var←c0536) + 1) ) = 0;
{
word pd54;
pd54 = (* (( (ptr) (* (( (ptr) gf←c39036)+168)/* var←c34268 */ ))+62) );
var←c34140 = (word) ( *( (fPt) ((* (ptr) pd54 ))))((* (( (ptr) gf←c39036)+62) ), var←c34172, var←c34204, var←c0536, pd54)
;
};
};
{
W3 var←c092;
var←c092.f0 = 66;
var←c092.f1 = var←c34140;
var←c092.f2 = 0;
(void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c39036)+167)/* var←c34108 */ ))+4) ), (word) &var←c092);
};
};
}
static void SGet←P240(formal←c098, structure←v6164, i←v6192)
word formal←c098;
word structure←v6164;
word i←v6192;
{
register ptr gf←c39068 = (ptr) &globalframe;
W2 var←c6236;
/* SGet: */
SOURCE(3695, 173)
SOURCE(3766, 57)
if ((structure←v6164 == 0) || ( (int)i←v6192 < (int)0)) {
SOURCE(3799, 24)
(void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c39068)+169)/* var←c34332 */ ))+8) ), 0);
};
SOURCE(3825, 43)
{
W2 var←c34396;
{
word pd55;
pd55 = (* (( (ptr) (* (ptr) structure←v6164 ))+1) );
(void) ( *( (fPt) ((* (ptr) pd55 ))))((word) &var←c34396, structure←v6164, i←v6192, pd55);
};
var←c6236 = var←c34396;
/* removed tail goto */
};
(* (W2Pt) formal←c098 ) = var←c6236;
return;
}
static word SGetAtom←P300(structure←v6296, i←v6324)
word structure←v6296;
word i←v6324;
{
register ptr gf←c39100 = (ptr) &globalframe;
word var←c6368;
/* SGetAtom: */
SOURCE(3872, 241)
SOURCE(3944, 70)
{
W2 var←c34428;
(void) SGet←P240((word) &var←c34428, structure←v6296, i←v6324);
if ((var←c34428.f0 == 0)) {
{
W2 e←v13040;
e←v13040 = var←c34428;
SOURCE(3999, 15)
return(e←v13040.f1);
};
}
else {
};
};
SOURCE(4033, 80)
{
W3 var←c0106;
var←c0106.f0 = 70;
var←c0106.f1 = (* (( (ptr) gf←c39100)+58) );
var←c0106.f2 = 0;
(void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c39100)+167)/* var←c34108 */ ))+4) ), (word) &var←c0106);
};
}
static word SGetReal←P360(structure←v6428, i←v6456)
word structure←v6428;
word i←v6456;
{
register ptr gf←c39132 = (ptr) &globalframe;
word var←c6500;
/* SGetReal: */
SOURCE(4119, 271)
SOURCE(4191, 104)
{
W2 var←c34492;
(void) SGet←P240((word) &var←c34492, structure←v6428, i←v6456);
{
word var←c34524;
var←c34524 = var←c34492.f0;
if ((var←c34524 == 3)) {
{
W2 e←v13084;
e←v13084 = var←c34492;
SOURCE(4245, 14)
{
float tf56;
return((
tf56 = (float)(int)e←v13084.f1, *(word*)&tf56
));
};
};
}
else {
if ((var←c34524 == 2)) {
{
W2 e←v13128;
e←v13128 = var←c34492;
SOURCE(4280, 15)
return(e←v13128.f1);
};
}
else {
};
};
};
};
SOURCE(4314, 76)
{
W3 var←c0116;
var←c0116.f0 = 70;
var←c0116.f1 = (* (( (ptr) gf←c39132)+57) );
var←c0116.f2 = 0;
(void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c39132)+167)/* var←c34108 */ ))+4) ), (word) &var←c0116);
};
}
static word SGetInt←P420(structure←v6560, i←v6588)
word structure←v6560;
word i←v6588;
{
register ptr gf←c39164 = (ptr) &globalframe;
word var←c6632;
/* SGetInt: */
SOURCE(4396, 234)
SOURCE(4466, 68)
{
W2 var←c34588;
(void) SGet←P240((word) &var←c34588, structure←v6560, i←v6588);
if ((var←c34588.f0 == 3)) {
{
W2 e←v13172;
e←v13172 = var←c34588;
SOURCE(4520, 14)
return(e←v13172.f1);
};
}
else {
};
};
SOURCE(4553, 77)
{
W3 var←c0124;
var←c0124.f0 = 70;
var←c0124.f1 = (* (( (ptr) gf←c39164)+55) );
var←c0124.f2 = 0;
(void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c39164)+167)/* var←c34108 */ ))+4) ), (word) &var←c0124);
};
}
static word SGetStructure←P480(structure←v6692, i←v6720)
word structure←v6692;
word i←v6720;
{
register ptr gf←c39196 = (ptr) &globalframe;
word var←c6764;
/* SGetStructure: */
SOURCE(4636, 399)
SOURCE(4718, 222)
{
W2 var←c34652;
(void) SGet←P240((word) &var←c34652, structure←v6692, i←v6720);
{
word var←c34748;
var←c34748 = var←c34652.f0;
switch (var←c34748) {
case 1:
{
W2 e←v13216;
e←v13216 = var←c34652;
SOURCE(4778, 20)
return(e←v13216.f1);
};
case 3:
{
W2 e←v13260;
e←v13260 = var←c34652;
SOURCE(4818, 49)
if (( (int)e←v13260.f1 == (int)0)) {
SOURCE(4836, 31)
return((word) StructureFromList←P960(0));
};
};
break;
case 2:
{
W2 e←v13304;
e←v13304 = var←c34652;
SOURCE(4888, 52)
{
word x57;
word x59;
if (((
x57 = e←v13304.f1, *(float*)&x57
) == (
x59 = (* (ptr) &fc58 ), *(float*)&x59
))) {
SOURCE(4909, 31)
return((word) StructureFromList←P960(0));
};
};
};
break;
default:
break;
};
};
};
SOURCE(4959, 76)
{
W3 var←c0135;
var←c0135.f0 = 70;
var←c0135.f1 = (* (( (ptr) gf←c39196)+54) );
var←c0135.f2 = 0;
(void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c39196)+167)/* var←c34108 */ ))+4) ), (word) &var←c0135);
};
}
static word SGetOptionalStructure←P540(structure←v6824, i←v6852, wantSize←v6880)
word structure←v6824;
word i←v6852;
word wantSize←v6880;
{
register ptr gf←c39228 = (ptr) &globalframe;
word var←c6924;
/* SGetOptionalStructure: */
SOURCE(5041, 461)
SOURCE(5151, 251)
{
W2 var←c34812;
(void) SGet←P240((word) &var←c34812, structure←v6824, i←v6852);
{
word var←c34876;
var←c34876 = var←c34812.f0;
switch (var←c34876) {
case 1:
{
W2 e←v13348;
e←v13348 = var←c34812;
SOURCE(5213, 60)
if (( (int)wantSize←v6880 >= (int)0)) {
SOURCE(5235, 38)
{
word var←c34844;
var←c34844 = (word) SCheckSize←P180(e←v13348.f1, wantSize←v6880);
};
};
SOURCE(5275, 20)
return(e←v13348.f1);
};
case 3:
{
W2 e←v13392;
e←v13392 = var←c34812;
SOURCE(5318, 30)
if (( (int)e←v13392.f1 == (int)0)) {
SOURCE(5336, 12)
return(0);
};
};
break;
case 2:
{
W2 e←v13436;
e←v13436 = var←c34812;
SOURCE(5369, 33)
{
word x60;
word x61;
if (((
x60 = e←v13436.f1, *(float*)&x60
) == (
x61 = (* (ptr) &fc58 ), *(float*)&x61
))) {
SOURCE(5390, 12)
return(0);
};
};
};
break;
default:
break;
};
};
};
SOURCE(5421, 81)
{
W3 var←c0148;
var←c0148.f0 = 70;
var←c0148.f1 = (* (( (ptr) gf←c39228)+52) );
var←c0148.f2 = 0;
(void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c39228)+167)/* var←c34108 */ ))+4) ), (word) &var←c0148);
};
}
static word SGetColor←P600(structure←v6984, i←v7012)
word structure←v6984;
word i←v7012;
{
register ptr gf←c39260 = (ptr) &globalframe;
word var←c7056;
/* SGetColor: */
SOURCE(5508, 240)
SOURCE(5582, 72)
{
W2 var←c34940;
(void) SGet←P240((word) &var←c34940, structure←v6984, i←v7012);
if ((var←c34940.f0 == 4)) {
{
W2 e←v13480;
e←v13480 = var←c34940;
SOURCE(5638, 16)
return(e←v13480.f1);
};
}
else {
};
};
SOURCE(5673, 75)
{
W3 var←c0156;
var←c0156.f0 = 70;
var←c0156.f1 = (* (( (ptr) gf←c39260)+51) );
var←c0156.f2 = 0;
(void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c39260)+167)/* var←c34108 */ ))+4) ), (word) &var←c0156);
};
}
static word SGetColorOperator←P660(structure←v7116, i←v7144)
word structure←v7116;
word i←v7144;
{
register ptr gf←c39292 = (ptr) &globalframe;
word var←c7188;
/* SGetColorOperator: */
SOURCE(5754, 280)
SOURCE(5844, 88)
{
W2 var←c35004;
(void) SGet←P240((word) &var←c35004, structure←v7116, i←v7144);
if ((var←c35004.f0 == 5)) {
{
W2 e←v13524;
e←v13524 = var←c35004;
SOURCE(5908, 24)
return(e←v13524.f1);
};
}
else {
};
};
SOURCE(5951, 83)
{
W3 var←c0164;
var←c0164.f0 = 70;
var←c0164.f1 = (* (( (ptr) gf←c39292)+50) );
var←c0164.f2 = 0;
(void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c39292)+167)/* var←c34108 */ ))+4) ), (word) &var←c0164);
};
}
static void SGetProp←P720(formal←c0175, structure←v7248, key←v7276)
word formal←c0175;
word structure←v7248;
word key←v7276;
{
W2 var←c7320;
word size←v13568;
/* SGetProp: */
SOURCE(6040, 309)
SOURCE(6118, 28)
size←v13568 = (word) SSize←P120(structure←v7248);
SOURCE(6148, 146)
{
register word i←v13612;
i←v13612 = 0;
lab←L100005: ;
if (( (int)(i←v13612 + 1) < (int)size←v13568)) {
}
else {
goto lab←L100002;
};
SOURCE(6188, 106)
{
W2 var←c35068;
(void) SGet←P240((word) &var←c35068, structure←v7248, i←v13612);
if ((var←c35068.f0 == 0)) {
{
W2 a←v13656;
a←v13656 = var←c35068;
SOURCE(6244, 50)
if ((a←v13656.f1 == key←v7276)) {
SOURCE(6265, 29)
{
W2 var←c35132;
(void) SGet←P240((word) &var←c35132, structure←v7248, (i←v13612 + 1));
var←c7320 = var←c35132;
goto lab←L100001;
};
};
};
}
else {
};
};
i←v13612 = (i←v13612 + 2);
goto lab←L100005;
lab←L100002: ;
};
SOURCE(6323, 26)
var←c7320.f0 = 1;
var←c7320.f1 = 0;
/* removed tail goto */
lab←L100001: ;
(* (W2Pt) formal←c0175 ) = var←c7320;
return;
}
static word FlatSize←P780(structure←v7484)
word structure←v7484;
{
register ptr gf←c39324 = (ptr) &globalframe;
word var←c7528;
word data←v13700;
/* FlatSize: */
SOURCE(6516, 128)
SOURCE(6572, 51)
data←v13700 = XR←Narrow((* (( (ptr) structure←v7484)+1) ), (* (( (ptr) gf←c39324)+42) ));
SOURCE(6625, 19)
return((* (ptr) data←v13700 ));
}
static void FlatGet←P840(formal←c0184, structure←v7588, i←v7616)
word formal←c0184;
word structure←v7588;
word i←v7616;
{
register ptr gf←c39356 = (ptr) &globalframe;
W2 var←c7660;
word data←v13756;
W2 element←v13784;
/* FlatGet: */
SOURCE(6647, 166)
SOURCE(6714, 51)
data←v13756 = XR←Narrow((* (( (ptr) structure←v7588)+1) ), (* (( (ptr) gf←c39356)+42) ));
SOURCE(6767, 27)
{
word limit62;
element←v13784 = (* (W2Pt) (* ((( (ptr) data←v13756)+1)+(
limit62 = (* (ptr) data←v13756 ),
BCK(i←v7616, limit62)
)) ) );
};
SOURCE(6796, 17)
var←c7660 = element←v13784;
/* removed tail goto */
(* (W2Pt) formal←c0184 ) = var←c7660;
return;
}
static word StructureFromElementGenerator←P900(elementGenerator←v7720)
word elementGenerator←v7720;
{
W11 var←c39388;
register ptr gf←c39420 = (ptr) &globalframe;
word var←c7764;
/* declaration of var←c35196 skipped */
/* declaration of var←c35228 skipped */
/* declaration of data←v13840 skipped */
/* declaration of size←v13868 skipped */
/* declaration of i←v13924 skipped */
/* StructureFromElementGenerator: */
SOURCE(6817, 946)
{
word tmpAddr63;
tmpAddr63 = (word) (( (ptr) &var←c39388)+4)/* var←c35196 */ ;
(* (ptr) tmpAddr63 ) = ( ((word) (fPt) StoreElements←P3792) );
(* (( (ptr) tmpAddr63) + 1) ) = 1;
};
{
word tmpAddr64;
tmpAddr64 = (word) (( (ptr) &var←c39388)+6)/* var←c35228 */ ;
(* (ptr) tmpAddr64 ) = ( ((word) (fPt) CountElements←P3732) );
(* (( (ptr) tmpAddr64) + 1) ) = 1;
};
SOURCE(6921, 32)
(* (( (ptr) &var←c39388)+8)/* data←v13840 */ ) = 0;
SOURCE(6955, 13)
(* (( (ptr) &var←c39388)+9)/* size←v13868 */ ) = 0;
SOURCE(7022, 10)
(* (( (ptr) &var←c39388)+10)/* i←v13924 */ ) = 0;
SOURCE(7527, 31)
(void) ( *( (fPt) ((* (ptr) elementGenerator←v7720 ))))((word) ((( (bPt) &var←c39388)+24)/* var←c35228 */ ), elementGenerator←v7720)
;
SOURCE(7560, 34)
{
word var←c35260;
word var←c35292;
word var←c35324;
{
word idx65;
var←c35260 = (
idx65 = (* (( (ptr) &var←c39388)+9)/* size←v13868 */ ),
BCK(idx65, 67108863)
);
};
var←c35292 = ((word) var←c35260 << 2);
var←c35324 = XR←NewObject((4 + var←c35292), (* (( (ptr) gf←c39420)+42) ));
(* (ptr) var←c35324 ) = var←c35260;
(* (( (ptr) &var←c39388)+8)/* data←v13840 */ ) = var←c35324;
};
SOURCE(7596, 31)
(void) ( *( (fPt) ((* (ptr) elementGenerator←v7720 ))))((word) ((( (bPt) &var←c39388)+16)/* var←c35196 */ ), elementGenerator←v7720)
;
SOURCE(7629, 17)
if (( (int)(* (( (ptr) &var←c39388)+10)/* i←v13924 */ ) != (int)(* (( (ptr) &var←c39388)+9)/* size←v13868 */ ))) {
SOURCE(7646, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(7701, 62)
return((word) MakeStructure←P60((* (( (ptr) gf←c39420)+8)/* flatStructureClass←v4232 */ ), (* (( (ptr) &var←c39388)+8)/* data←v13840 */ ))
);
}
static void CountElements←P3732(element←v30792, formal←c39452)
W2 element←v30792;
word formal←c39452;
{
formal←c39452 = (formal←c39452 - 24);
/* CountElements: */
SOURCE(6970, 49)
SOURCE(7003, 16)
(* (( (ptr) formal←c39452)+9) ) = ((* (( (ptr) formal←c39452)+9) ) + 1);
}
static void StoreElements←P3792(element←v30852, formal←c39516)
W2 element←v30852;
word formal←c39516;
{
register ptr gf←c39484 = (ptr) &globalframe;
formal←c39516 = (formal←c39516 - 16);
/* StoreElements: */
SOURCE(7034, 490)
SOURCE(7067, 427)
{
W2 var←c35388;
var←c35388 = element←v30852;
{
word var←c35612;
var←c35612 = var←c35388.f0;
switch (var←c35612) {
case 0:
{
W2 atom←v14008;
atom←v14008 = var←c35388;
SOURCE(7114, 34)
{
word var←c35420;
var←c35420 = XR←NewObject(8, (* (( (ptr) gf←c39484)+43) ));
(* (W2Pt) var←c35420 ) = atom←v14008;
{
word idx66;
word limit67;
(* ((( (ptr) (* (( (ptr) formal←c39516)+8) ))+1)+(
/*1*/ idx66 = (* (( (ptr) formal←c39516)+10) ),
/*1*/ limit67 = (* (ptr) (* (( (ptr) formal←c39516)+8) ) ),
/*1*/ BCK(idx66, limit67)
/*1*/ )) ) = var←c35420;
};
};
};
break;
case 1:
{
W2 structure←v14052;
structure←v14052 = var←c35388;
SOURCE(7182, 44)
{
word var←c35452;
var←c35452 = XR←NewObject(8, (* (( (ptr) gf←c39484)+43) ));
(* (W2Pt) var←c35452 ) = structure←v14052;
{
word idx68;
word limit69;
(* ((( (ptr) (* (( (ptr) formal←c39516)+8) ))+1)+(
/*1*/ idx68 = (* (( (ptr) formal←c39516)+10) ),
/*1*/ limit69 = (* (ptr) (* (( (ptr) formal←c39516)+8) ) ),
/*1*/ BCK(idx68, limit69)
/*1*/ )) ) = var←c35452;
};
};
};
break;
case 2:
{
W2 real←v14096;
real←v14096 = var←c35388;
SOURCE(7250, 34)
{
word var←c35484;
var←c35484 = XR←NewObject(8, (* (( (ptr) gf←c39484)+43) ));
(* (W2Pt) var←c35484 ) = real←v14096;
{
word idx70;
word limit71;
(* ((( (ptr) (* (( (ptr) formal←c39516)+8) ))+1)+(
/*1*/ idx70 = (* (( (ptr) formal←c39516)+10) ),
/*1*/ limit71 = (* (ptr) (* (( (ptr) formal←c39516)+8) ) ),
/*1*/ BCK(idx70, limit71)
/*1*/ )) ) = var←c35484;
};
};
};
break;
case 3:
{
W2 int←v14140;
int←v14140 = var←c35388;
SOURCE(7306, 32)
{
word var←c35516;
var←c35516 = XR←NewObject(8, (* (( (ptr) gf←c39484)+43) ));
(* (W2Pt) var←c35516 ) = int←v14140;
{
word idx72;
word limit73;
(* ((( (ptr) (* (( (ptr) formal←c39516)+8) ))+1)+(
/*1*/ idx72 = (* (( (ptr) formal←c39516)+10) ),
/*1*/ limit73 = (* (ptr) (* (( (ptr) formal←c39516)+8) ) ),
/*1*/ BCK(idx72, limit73)
/*1*/ )) ) = var←c35516;
};
};
};
break;
case 4:
{
W2 color←v14184;
color←v14184 = var←c35388;
SOURCE(7364, 36)
{
word var←c35548;
var←c35548 = XR←NewObject(8, (* (( (ptr) gf←c39484)+43) ));
(* (W2Pt) var←c35548 ) = color←v14184;
{
word idx74;
word limit75;
(* ((( (ptr) (* (( (ptr) formal←c39516)+8) ))+1)+(
/*1*/ idx74 = (* (( (ptr) formal←c39516)+10) ),
/*1*/ limit75 = (* (ptr) (* (( (ptr) formal←c39516)+8) ) ),
/*1*/ BCK(idx74, limit75)
/*1*/ )) ) = var←c35548;
};
};
};
break;
case 5:
{
W2 colorOperator←v14228;
colorOperator←v14228 = var←c35388;
SOURCE(7442, 52)
{
word var←c35580;
var←c35580 = XR←NewObject(8, (* (( (ptr) gf←c39484)+43) ));
(* (W2Pt) var←c35580 ) = colorOperator←v14228;
{
word idx76;
word limit77;
(* ((( (ptr) (* (( (ptr) formal←c39516)+8) ))+1)+(
/*1*/ idx76 = (* (( (ptr) formal←c39516)+10) ),
/*1*/ limit77 = (* (ptr) (* (( (ptr) formal←c39516)+8) ) ),
/*1*/ BCK(idx76, limit77)
/*1*/ )) ) = var←c35580;
};
};
};
break;
default:
SOURCE(7507, 5)
(void) XR←RaiseUnnamedError();
break;
};
};
};
SOURCE(7514, 10)
(* (( (ptr) formal←c39516)+10) ) = ((* (( (ptr) formal←c39516)+10) ) + 1);
}
static word StructureFromList←P960(formal←c0551)
word formal←c0551;
{
W7 var←c39548;
/* declaration of list←v7824 skipped */
word var←c7952;
/* declaration of var←c35644 skipped */
var←c39548.f4/* list←v7824 */ = formal←c0551;
/* StructureFromList: */
SOURCE(7767, 277)
{
word tmpAddr78;
tmpAddr78 = (word) (( (ptr) &var←c39548)+5)/* var←c35644 */ ;
(* (ptr) tmpAddr78 ) = ( ((word) (fPt) GenerateElements←P4140) );
(* (( (ptr) tmpAddr78) + 1) ) = 1;
};
SOURCE(7988, 56)
return((word) StructureFromElementGenerator←P900((word) ((( (bPt) &var←c39548)+20)/* var←c35644 */ )));
}
static void GenerateElements←P4140(elementAction←v30984, formal←c39580)
word elementAction←v30984;
word formal←c39580;
{
formal←c39580 = (formal←c39580 - 20);
/* GenerateElements: */
SOURCE(7846, 128)
SOURCE(7885, 89)
{
register word each←v14316;
each←v14316 = (* (( (ptr) formal←c39580)+4) );
lab←L100010: ;
if ((each←v14316 != 0)) {
}
else {
goto lab←L100007;
};
SOURCE(7949, 25)
(void) ( *( (fPt) ((* (ptr) elementAction←v30984 ))))((* (W2Pt) (each←v14316) ), elementAction←v30984);
each←v14316 = (* (( (ptr) each←v14316)+2) );
goto lab←L100010;
lab←L100007: ;
};
}
static word MergeSize←P1020(structure←v8112)
word structure←v8112;
{
register ptr gf←c39612 = (ptr) &globalframe;
word var←c8156;
word data←v14444;
/* MergeSize: */
SOURCE(8211, 145)
SOURCE(8268, 52)
data←v14444 = XR←Narrow((* (( (ptr) structure←v8112)+1) ), (* (( (ptr) gf←c39612)+48) ));
SOURCE(8322, 34)
return(((* (ptr) data←v14444 ) + (word) SSize←P120((* ((( (ptr) data←v14444)+2)) ))));
}
static void MergeGet←P1080(formal←c0227, structure←v8216, i←v8244)
word formal←c0227;
word structure←v8216;
word i←v8244;
{
register ptr gf←c39644 = (ptr) &globalframe;
W2 var←c8288;
word data←v14500;
/* MergeGet: */
SOURCE(8359, 210)
SOURCE(8427, 52)
data←v14500 = XR←Narrow((* (( (ptr) structure←v8216)+1) ), (* (( (ptr) gf←c39644)+48) ));
SOURCE(8481, 88)
if (( (int)i←v8244 < (int)(* (ptr) data←v14500 ))) {
SOURCE(8504, 30)
{
W2 var←c35772;
(void) SGet←P240((word) &var←c35772, (* (( (ptr) data←v14500)+1) ), i←v8244);
var←c8288 = var←c35772;
/* removed tail goto */
};
}
else {
SOURCE(8534, 35)
{
W2 var←c35836;
(void) SGet←P240((word) &var←c35836, (* (( (ptr) data←v14500)+2) ), (i←v8244 - (* (ptr) data←v14500 )));
var←c8288 = var←c35836;
/* removed tail goto */
};
};
(* (W2Pt) formal←c0227 ) = var←c8288;
return;
}
static word SMergeProp←P1140(s←v8348, t←v8376)
word s←v8348;
word t←v8376;
{
register ptr gf←c39676 = (ptr) &globalframe;
word var←c8420;
/* SMergeProp: */
SOURCE(8575, 368)
if ((s←v8348 == 0)) {
SOURCE(8669, 10)
return(t←v8376);
}
else {
if ((t←v8376 == 0)) {
SOURCE(8692, 10)
return(s←v8348);
}
else {
SOURCE(8715, 228)
{
word sSize←v14556;
word tSize←v14584;
word data←v14612;
word structure←v14640;
SOURCE(8717, 21)
sSize←v14556 = (word) SSize←P120(s←v8348);
SOURCE(8740, 21)
tSize←v14584 = (word) SSize←P120(t←v8376);
SOURCE(8763, 81)
data←v14612 = XR←NewObject(12, (* (( (ptr) gf←c39676)+48) ));
(* (ptr) data←v14612 ) = sSize←v14556;
(* (( (ptr) data←v14612)+1) ) = s←v8348;
(* (( (ptr) data←v14612)+2) ) = t←v8376;
SOURCE(8846, 76)
structure←v14640 = (word) MakeStructure←P60((* (( (ptr) gf←c39676)+9)/* mergeStructureClass←v4400 */ ), data←v14612);
SOURCE(8924, 19)
return(structure←v14640);
};
};
};
}
static word StructureEqual←P1200(s←v8480, t←v8508)
word s←v8480;
word t←v8508;
{
word var←c8552;
/* StructureEqual: */
SOURCE(8950, 1183)
SOURCE(9015, 1118)
if ((s←v8480 == t←v8508)) {
SOURCE(9029, 19)
return(1);
}
else {
SOURCE(9048, 1085)
{
word sSize←v14696;
word tSize←v14724;
SOURCE(9050, 21)
sSize←v14696 = (word) SSize←P120(s←v8480);
SOURCE(9073, 21)
tSize←v14724 = (word) SSize←P120(t←v8508);
SOURCE(9096, 36)
if (( (int)sSize←v14696 != (int)tSize←v14724)) {
SOURCE(9118, 14)
return(0);
};
SOURCE(9134, 956)
{
register word i←v14768 = 0;
if (( (int)i←v14768 >= (int)sSize←v14696)) {
goto lab←L100012;
};
lab←L100015: ;
SOURCE(9162, 928)
{
W2 var←c35900;
(void) SGet←P240((word) &var←c35900, s←v8480, i←v14768);
{
word var←c36124;
var←c36124 = var←c35900.f0;
switch (var←c36124) {
case 0:
{
W2 si←v14812;
si←v14812 = var←c35900;
SOURCE(9210, 112)
{
/*1*/ W2 var←c35932;
/*1*/ (void) SGet←P240((word) &var←c35932, t←v8508, i←v14768);
/*1*/ if ((var←c35932.f0 == 0)) {
/*1*/ {
/*1*/ W2 ti←v14856;
/*1*/ ti←v14856 = var←c35932;
SOURCE(9258, 50)
/*1*/ if ((si←v14812.f1 != ti←v14856.f1)) {
SOURCE(9282, 26)
/*1*/ return(0);
/*1*/ };
/*1*/ };
/*1*/ }
/*1*/ else {
SOURCE(9308, 14)
/*1*/ return(0);
/*1*/ };
/*1*/ };
};
break;
case 3:
{
W2 si←v14900;
si←v14900 = var←c35900;
SOURCE(9343, 109)
{
/*1*/ W2 var←c35964;
/*1*/ (void) SGet←P240((word) &var←c35964, t←v8508, i←v14768);
/*1*/ if ((var←c35964.f0 == 3)) {
/*1*/ {
/*1*/ W2 ti←v14944;
/*1*/ ti←v14944 = var←c35964;
SOURCE(9390, 48)
/*1*/ if (( (int)si←v14900.f1 != (int)ti←v14944.f1)) {
SOURCE(9412, 26)
/*1*/ return(0);
/*1*/ };
/*1*/ };
/*1*/ }
/*1*/ else {
SOURCE(9438, 14)
/*1*/ return(0);
/*1*/ };
/*1*/ };
};
break;
case 2:
{
W2 si←v14988;
si←v14988 = var←c35900;
SOURCE(9474, 112)
{
/*1*/ W2 var←c35996;
/*1*/ (void) SGet←P240((word) &var←c35996, t←v8508, i←v14768);
/*1*/ if ((var←c35996.f0 == 2)) {
/*1*/ {
/*1*/ W2 ti←v15032;
/*1*/ ti←v15032 = var←c35996;
SOURCE(9522, 50)
/*1*/ {
/*1*/ word x79;
/*1*/ word x80;
/*1*/ if (((
/*1*/ x79 = si←v14988.f1, *(float*)&x79
/*1*/ ) != (
/*1*/ x80 = ti←v15032.f1, *(float*)&x80
/*1*/ ))) {
SOURCE(9546, 26)
/*1*/ return(0);
/*1*/ };
/*1*/ };
/*1*/ };
/*1*/ }
/*1*/ else {
SOURCE(9572, 14)
/*1*/ return(0);
/*1*/ };
/*1*/ };
};
break;
case 1:
{
W2 si←v15076;
si←v15076 = var←c35900;
SOURCE(9613, 148)
{
/*1*/ W2 var←c36028;
/*1*/ (void) SGet←P240((word) &var←c36028, t←v8508, i←v14768);
/*1*/ if ((var←c36028.f0 == 1)) {
/*1*/ {
/*1*/ W2 ti←v15120;
/*1*/ ti←v15120 = var←c36028;
SOURCE(9666, 81)
/*1*/ if ((0 == (word) StructureEqual←P1200(si←v15076.f1, ti←v15120.f1))) {
SOURCE(9721, 26)
/*1*/ return(0);
/*1*/ };
/*1*/ };
/*1*/ }
/*1*/ else {
SOURCE(9747, 14)
/*1*/ return(0);
/*1*/ };
/*1*/ };
};
break;
case 4:
{
W2 si←v15164;
si←v15164 = var←c35900;
SOURCE(9784, 132)
{
/*1*/ W2 var←c36060;
/*1*/ (void) SGet←P240((word) &var←c36060, t←v8508, i←v14768);
/*1*/ if ((var←c36060.f0 == 4)) {
/*1*/ {
/*1*/ W2 ti←v15208;
/*1*/ ti←v15208 = var←c36060;
SOURCE(9833, 69)
/*1*/ if ((0 == (word) ColorEqual←P1260(si←v15164.f1, ti←v15208.f1))) {
SOURCE(9876, 26)
/*1*/ return(0);
/*1*/ };
/*1*/ };
/*1*/ }
/*1*/ else {
SOURCE(9902, 14)
/*1*/ return(0);
/*1*/ };
/*1*/ };
};
break;
case 5:
{
W2 si←v15252;
si←v15252 = var←c35900;
SOURCE(9947, 143)
{
/*1*/ W2 var←c36092;
/*1*/ (void) SGet←P240((word) &var←c36092, t←v8508, i←v14768);
/*1*/ if ((var←c36092.f0 == 5)) {
/*1*/ {
/*1*/ W2 ti←v15296;
/*1*/ ti←v15296 = var←c36092;
SOURCE(10004, 72)
/*1*/ if ((si←v15252.f1 == ti←v15296.f1)) {
SOURCE(10050, 26)
/*1*/ return(0);
/*1*/ };
/*1*/ };
/*1*/ }
/*1*/ else {
SOURCE(10076, 14)
/*1*/ return(0);
/*1*/ };
/*1*/ };
};
break;
default:
SOURCE(10103, 5)
(void) XR←RaiseUnnamedError();
break;
};
};
};
i←v14768 = (i←v14768 + 1);
if (( (int)i←v14768 < (int)sSize←v14696)) {
goto lab←L100015;
};
lab←L100012: ;
};
SOURCE(10119, 14)
return(1);
};
};
}
static word ColorEqual←P1260(a←v8612, b←v8640)
word a←v8612;
word b←v8640;
{
word var←c8684;
/* ColorEqual: */
SOURCE(10140, 301)
SOURCE(10209, 27)
if ((a←v8612 == b←v8640)) {
SOURCE(10223, 13)
return(1);
};
SOURCE(10238, 149)
{
word var←c36156;
var←c36156 = a←v8612;
if ((var←c36156 == 0)) {
goto lab←L100016;
};
if (((* (ptr) var←c36156 ) == 0)) {
{
word aConstant←v15340;
aConstant←v15340 = var←c36156;
SOURCE(10287, 100)
{
word var←c36188;
var←c36188 = b←v8640;
if ((var←c36188 == 0)) {
goto lab←L100017;
};
if (((* (ptr) var←c36188 ) == 0)) {
{
word bConstant←v15384;
bConstant←v15384 = var←c36188;
SOURCE(10336, 51)
return((word) ConstantColorsEqual←P1320(aConstant←v15340, bConstant←v15384));
};
}
else {
lab←L100017: ;
};
};
};
}
else {
lab←L100016: ;
};
};
SOURCE(10427, 14)
return(0);
}
static word ConstantColorsEqual←P1320(a←v8744, b←v8772)
word a←v8744;
word b←v8772;
{
register ptr gf←c39708 = (ptr) &globalframe;
word var←c8816;
/* ConstantColorsEqual: */
SOURCE(10447, 728)
SOURCE(10521, 25)
if ((a←v8744 == b←v8772)) {
SOURCE(10533, 13)
return(1);
};
SOURCE(10548, 627)
{
word var←c36252;
var←c36252 = a←v8744;
if ((var←c36252 == 0)) {
goto lab←L100018;
};
{
word var←c36444;
var←c36444 = (* (( (ptr) var←c36252)+1) );
if ((var←c36444 == 0)) {
{
word aOp←v15428;
aOp←v15428 = var←c36252;
SOURCE(10592, 273)
{
word var←c36284;
var←c36284 = b←v8772;
if ((var←c36284 == 0)) {
goto lab←L100019;
};
if (((* (( (ptr) var←c36284)+1) ) == 0)) {
{
word bOp←v15472;
bOp←v15472 = var←c36284;
SOURCE(10637, 60)
if (((* (( (ptr) aOp←v15428)+2) ) != (* (( (ptr) bOp←v15472)+2) ))) {
SOURCE(10683, 14)
return(0);
};
SOURCE(10699, 42)
if (((* (( (ptr) aOp←v15428)+3) ) != (* (( (ptr) bOp←v15472)+3) ))) {
SOURCE(10727, 14)
return(0);
};
SOURCE(10743, 69)
{
register word j←v15516 = 0;
register word noName←c36316;
noName←c36316 = (* (( (ptr) aOp←v15428)+3) );
if ((j←v15516 >= noName←c36316)) {
/*1*/ goto lab←L100020;
/*1*/ };
lab←L100023: ;
SOURCE(10774, 38)
{
/*1*/ word limit81;
/*1*/ word x82;
/*1*/ word limit83;
/*1*/ word x84;
/*1*/ if (((
/*1*/ x82 = (* ((( (ptr) aOp←v15428)+4)+(
/*1*/ limit81 = (* (( (ptr) aOp←v15428)+3) ),
/*1*/ BCK(j←v15516, limit81)
/*1*/ )) ), *(float*)&x82
/*1*/ ) != (
/*1*/ x84 = (* ((( (ptr) bOp←v15472)+4)+(
/*1*/ limit83 = (* (( (ptr) bOp←v15472)+3) ),
/*1*/ BCK(j←v15516, limit83)
/*1*/ )) ), *(float*)&x84
/*1*/ ))) {
SOURCE(10798, 14)
/*1*/ return(0);
/*1*/ };
/*1*/ };
j←v15516 = (j←v15516 + 1);
if ((j←v15516 < noName←c36316)) {
/*1*/ goto lab←L100023;
/*1*/ };
lab←L100020: ;
};
SOURCE(10823, 14)
return(1);
};
}
else {
lab←L100019: ;
SOURCE(10851, 14)
return(0);
};
};
};
}
else {
if ((var←c36444 == 1)) {
{
word aSp←v15560;
aSp←v15560 = var←c36252;
SOURCE(10889, 286)
{
word var←c36348;
var←c36348 = b←v8772;
if ((var←c36348 == 0)) {
goto lab←L100024;
};
if (((* (( (ptr) var←c36348)+1) ) == 1)) {
{
word bSp←v15604;
bSp←v15604 = var←c36348;
SOURCE(10931, 42)
if (((* (( (ptr) aSp←v15560)+2) ) != (* (( (ptr) bSp←v15604)+2) ))) {
SOURCE(10959, 14)
/*1*/ return(0);
/*1*/ };
SOURCE(10975, 64)
{
/*1*/ word pd85;
/*1*/ pd85 = (* (( (ptr) (* (( (ptr) gf←c39708)+170)/* var←c36380 */ ))+8) );
/*1*/ if ((0 == (word) ( *( (fPt) ((* (ptr) pd85 ))))((* (( (ptr) aSp←v15560)+3) ), (* (( (ptr) bSp←v15604)+3) ), 0, pd85))) {
SOURCE(11025, 14)
/*1*/ return(0);
/*1*/ };
/*1*/ };
SOURCE(11041, 42)
if (((* (( (ptr) aSp←v15560)+4) ) != (* (( (ptr) bSp←v15604)+4) ))) {
SOURCE(11069, 14)
/*1*/ return(0);
/*1*/ };
SOURCE(11085, 60)
return((word) ConstantColorsEqual←P1320((* (( (ptr) aSp←v15560)+5) ), (* (( (ptr) bSp←v15604)+5) )));
};
}
else {
lab←L100024: ;
SOURCE(11161, 14)
return(0);
};
};
};
}
else {
lab←L100018: ;
SOURCE(11188, 5)
(void) XR←RaiseUnnamedError();
};
};
};
};
}
static word ApplyPixelEncoding←P1380(pm←v8888, i←v8916, value←v8944)
word pm←v8888;
word i←v8916;
word value←v8944;
{
word var←c8988;
/* ApplyPixelEncoding: */
SOURCE(11298, 190)
SOURCE(11390, 98)
if ((pm←v8888 == 0)) {
return(value←v8944);
}
else {
{
word var←c36508;
word var←c36540;
{
word x86;
word x87;
word limit88;
word x89;
var←c36508 = (x87 = (x86 = (word) XR←REAL32←Round(value←v8944),
MAX((int)(word), x86, 0)),
x89 = ((* (ptr) (* ((( (ptr) pm←v8888)+1)+(
limit88 = (* (ptr) pm←v8888 ),
BCK(i←v8916, limit88)
)) ) ) - 1),
MIN((int)(word), x87, x89));
};
{
word limit90;
var←c36540 = (* ((( (ptr) pm←v8888)+1)+(
limit90 = (* (ptr) pm←v8888 ),
BCK(i←v8916, limit90)
)) );
};
{
word limit91;
return((* ((( (ptr) var←c36540)+1)+(
limit91 = (* (ptr) var←c36540 ),
BCK(var←c36508, limit91)
)) ));
};
};
};
}
static word PixelEncodingEqual←P1440(a←v9048, b←v9076)
word a←v9048;
word b←v9076;
{
word var←c9120;
/* PixelEncodingEqual: */
SOURCE(11492, 294)
SOURCE(11565, 35)
if ((a←v9048 == 0) || (b←v9076 == 0)) {
SOURCE(11588, 12)
return( (unsigned) (a←v9048 == b←v9076));
};
SOURCE(11602, 60)
if (((* (ptr) a←v9048 ) != (* (ptr) b←v9076 ))) {
SOURCE(11648, 14)
return(0);
};
SOURCE(11664, 106)
{
register word i←v15648 = 0;
register word noName←c36572;
noName←c36572 = (* (ptr) a←v9048 );
if ((i←v15648 >= noName←c36572)) {
goto lab←L100025;
};
lab←L100028: ;
SOURCE(11704, 66)
{
word limit92;
word limit93;
if ((0 == (word) SampleEncodingEqual←P1680((* ((( (ptr) a←v9048)+1)+(
limit92 = (* (ptr) a←v9048 ),
BCK(i←v15648, limit92)
)) ), (* ((( (ptr) b←v9076)+1)+(
limit93 = (* (ptr) b←v9076 ),
BCK(i←v15648, limit93)
)) )))) {
SOURCE(11748, 22)
return(0);
};
};
i←v15648 = (i←v15648 + 1);
if ((i←v15648 < noName←c36572)) {
goto lab←L100028;
};
lab←L100025: ;
};
SOURCE(11772, 14)
return(1);
}
static word PixelEncodingFromStructure←P1500(structure←v9180)
word structure←v9180;
{
register ptr gf←c39740 = (ptr) &globalframe;
word var←c9224;
/* PixelEncodingFromStructure: */
SOURCE(11790, 330)
SOURCE(11881, 239)
if ((structure←v9180 == 0)) {
SOURCE(11905, 18)
return(0);
}
else {
SOURCE(11923, 197)
{
word size←v15692;
word map←v15720;
SOURCE(11925, 28)
{
word idx94;
size←v15692 = (
idx94 = (word) SSize←P120(structure←v9180),
SGNCK(idx94)
);
};
SOURCE(11955, 48)
{
word var←c36604;
word var←c36636;
word var←c36668;
var←c36604 = BCK(size←v15692, 67108863);
var←c36636 = ((word) var←c36604 << 2);
var←c36668 = XR←NewObject((4 + var←c36636), (* (( (ptr) gf←c39740)+49) ));
(* (ptr) var←c36668 ) = var←c36604;
map←v15720 = var←c36668;
};
SOURCE(12005, 100)
{
register word j←v15764 = 0;
if (( (int)j←v15764 >= (int)size←v15692)) {
goto lab←L100029;
};
lab←L100032: ;
SOURCE(12032, 73)
{
word var←c36700;
{
word var←c36732;
var←c36732 = (word) SGetStructure←P480(structure←v9180, j←v15764);
var←c36700 = (word) SampleEncodingFromStructure←P1740(var←c36732);
};
{
word limit95;
(* ((( (ptr) map←v15720)+1)+(
limit95 = (* (ptr) map←v15720 ),
BCK(j←v15764, limit95)
)) ) = var←c36700;
};
};
j←v15764 = (j←v15764 + 1);
if (( (int)j←v15764 < (int)size←v15692)) {
goto lab←L100032;
};
lab←L100029: ;
};
SOURCE(12107, 13)
return(map←v15720);
};
};
}
static word StructureFromPixelEncoding←P1560(formal←c0552)
word formal←c0552;
{
W7 var←c39772;
/* declaration of map←v9284 skipped */
word var←c9328;
/* declaration of var←c36764 skipped */
var←c39772.f4/* map←v9284 */ = formal←c0552;
/* StructureFromPixelEncoding: */
SOURCE(12127, 307)
{
word tmpAddr96;
tmpAddr96 = (word) (( (ptr) &var←c39772)+5)/* var←c36764 */ ;
(* (ptr) tmpAddr96 ) = ( ((word) (fPt) G←P5448) );
(* (( (ptr) tmpAddr96) + 1) ) = 1;
};
SOURCE(12392, 42)
return((word) StructureFromElementGenerator←P900((word) ((( (bPt) &var←c39772)+20)/* var←c36764 */ )));
}
static void G←P5448(elementAction←v15884, formal←c39804)
word elementAction←v15884;
word formal←c39804;
{
formal←c39804 = (formal←c39804 - 20);
/* G: */
SOURCE(12212, 175)
SOURCE(12274, 113)
{
register word i←v15912 = 0;
register word noName←c36828;
noName←c36828 = (* (ptr) (* (( (ptr) formal←c39804)+4) ) );
if ((i←v15912 >= noName←c36828)) {
goto lab←L100033;
};
lab←L100036: ;
SOURCE(12316, 71)
{
word var←c36860;
{
word limit97;
var←c36860 = (word) StructureFromSampleEncoding←P1920((* (((( (ptr) (* (( (ptr) formal←c39804)+4) ))+1)+(
limit97 = (* (ptr) (* (( (ptr) formal←c39804)+4) ) ),
BCK(i←v15912, limit97)
))) ));
};
{
W2 var←c36892;
var←c36892.f0 = 1;
var←c36892.f1 = var←c36860;
(void) ( *( (fPt) ((* (ptr) elementAction←v15884 ))))(var←c36892, elementAction←v15884);
};
};
i←v15912 = (i←v15912 + 1);
if ((i←v15912 < noName←c36828)) {
goto lab←L100036;
};
lab←L100033: ;
};
}
static word MakeSampleEncoding←P1620(size←v9400, sampleTableProc←v9428)
word size←v9400;
word sampleTableProc←v9428;
{
register ptr gf←c39836 = (ptr) &globalframe;
word var←c9472;
/* MakeSampleEncoding: */
SOURCE(12542, 307)
SOURCE(12649, 200)
if ((size←v9400 == 0)) {
SOURCE(12664, 18)
return(0);
}
else {
SOURCE(12682, 169)
{
word map←v15956;
SOURCE(12684, 50)
{
word var←c36924;
word var←c36956;
word var←c36988;
var←c36924 = BCK(size←v9400, 67108863);
var←c36956 = ((word) var←c36924 << 2);
var←c36988 = XR←NewObject((4 + var←c36956), (* (( (ptr) gf←c39836)+41) ));
(* (ptr) var←c36988 ) = var←c36924;
map←v15956 = var←c36988;
};
SOURCE(12736, 99)
{
register word i←v16000 = 0;
register word noName←c37020;
noName←c37020 = size←v9400;
if ((i←v16000 >= noName←c37020)) {
goto lab←L100037;
};
lab←L100040: ;
SOURCE(12763, 72)
{
word var←c37052;
{
float tf98;
if ((sampleTableProc←v9428 == 0)) {
var←c37052 = (
tf98 = (float)(unsigned)i←v16000, *(word*)&tf98
);
}
else {
var←c37052 = (word) ( *( (fPt) ((* (ptr) sampleTableProc←v9428 ))))(i←v16000, sampleTableProc←v9428);
};
};
{
word limit99;
(* ((( (ptr) map←v15956)+1)+(
limit99 = (* (ptr) map←v15956 ),
BCK(i←v16000, limit99)
)) ) = var←c37052;
};
};
i←v16000 = (i←v16000 + 1);
if ((i←v16000 < noName←c37020)) {
goto lab←L100040;
};
lab←L100037: ;
};
SOURCE(12837, 12)
return(map←v15956);
};
};
}
static word SampleEncodingEqual←P1680(a←v9532, b←v9560)
word a←v9532;
word b←v9560;
{
word var←c9604;
/* SampleEncodingEqual: */
SOURCE(12858, 288)
SOURCE(12933, 41)
if ( ( (a←v9532 == 0) ? (b←v9560 == 0) : 0 ) ) {
SOURCE(12961, 13)
return(1);
};
SOURCE(12976, 41)
if ((a←v9532 == 0) || (b←v9560 == 0)) {
SOURCE(13003, 14)
return(0);
};
SOURCE(13019, 38)
if (((* (ptr) a←v9532 ) != (* (ptr) b←v9560 ))) {
SOURCE(13043, 14)
return(0);
};
SOURCE(13059, 71)
{
register word i←v16044 = 0;
register word noName←c37084;
noName←c37084 = (* (ptr) a←v9532 );
if ((i←v16044 >= noName←c37084)) {
goto lab←L100041;
};
lab←L100044: ;
SOURCE(13088, 42)
{
word limit100;
word x101;
word limit102;
word x103;
if (((
x101 = (* ((( (ptr) a←v9532)+1)+(
limit100 = (* (ptr) a←v9532 ),
BCK(i←v16044, limit100)
)) ), *(float*)&x101
) != (
x103 = (* ((( (ptr) b←v9560)+1)+(
limit102 = (* (ptr) b←v9560 ),
BCK(i←v16044, limit102)
)) ), *(float*)&x103
))) {
SOURCE(13108, 22)
return(0);
};
};
i←v16044 = (i←v16044 + 1);
if ((i←v16044 < noName←c37084)) {
goto lab←L100044;
};
lab←L100041: ;
};
SOURCE(13132, 14)
return(1);
}
static word SampleEncodingFromStructure←P1740(structure←v9664)
word structure←v9664;
{
register ptr gf←c39868 = (ptr) &globalframe;
word var←c9708;
word size←v16088;
/* SampleEncodingFromStructure: */
SOURCE(13150, 289)
SOURCE(13243, 28)
size←v16088 = (word) SSize←P120(structure←v9664);
SOURCE(13273, 166)
if (( (int)size←v16088 == (int)0)) {
SOURCE(13290, 13)
return(0);
}
else {
SOURCE(13310, 129)
{
word v←v16132;
SOURCE(13312, 48)
{
word var←c37116;
word var←c37148;
word var←c37180;
var←c37116 = BCK(size←v16088, 67108863);
var←c37148 = ((word) var←c37116 << 2);
var←c37180 = XR←NewObject((4 + var←c37148), (* (( (ptr) gf←c39868)+41) ));
(* (ptr) var←c37180 ) = var←c37116;
v←v16132 = var←c37180;
};
SOURCE(13362, 64)
{
register word i←v16176 = 0;
if (( (int)i←v16176 >= (int)size←v16088)) {
goto lab←L100045;
};
lab←L100048: ;
SOURCE(13389, 37)
{
word var←c37212;
var←c37212 = (word) SGetReal←P360(structure←v9664, i←v16176);
{
word limit104;
(* ((( (ptr) v←v16132)+1)+(
limit104 = (* (ptr) v←v16132 ),
BCK(i←v16176, limit104)
)) ) = var←c37212;
};
};
i←v16176 = (i←v16176 + 1);
if (( (int)i←v16176 < (int)size←v16088)) {
goto lab←L100048;
};
lab←L100045: ;
};
SOURCE(13428, 11)
return(v←v16132);
};
};
}
static word SampleEncodingSize←P1800(structure←v9768)
word structure←v9768;
{
register ptr gf←c39900 = (ptr) &globalframe;
word var←c9812;
/* SampleEncodingSize: */
SOURCE(13583, 157)
SOURCE(13649, 91)
{
word var←c37244;
var←c37244 = (* (( (ptr) structure←v9768)+1) );
if ((var←c37244 == 0)) {
goto lab←L100049;
};
if (((* (( (ptr) gf←c39900)+41) ) == XR←GetReferentType(var←c37244))) {
{
word v←v16220;
v←v16220 = var←c37244;
SOURCE(13702, 15)
return((* (ptr) v←v16220 ));
};
}
else {
lab←L100049: ;
SOURCE(13730, 10)
return(0);
};
};
}
static void SampleEncodingGet←P1860(formal←c0352, structure←v9872, i←v9900)
word formal←c0352;
word structure←v9872;
word i←v9900;
{
register ptr gf←c39932 = (ptr) &globalframe;
W2 var←c9944;
/* SampleEncodingGet: */
SOURCE(13746, 184)
SOURCE(13823, 107)
{
word var←c37276;
var←c37276 = (* (( (ptr) structure←v9872)+1) );
if ((var←c37276 == 0)) {
goto lab←L100051;
};
if (((* (( (ptr) gf←c39932)+41) ) == XR←GetReferentType(var←c37276))) {
{
word v←v16264;
v←v16264 = var←c37276;
SOURCE(13876, 21)
{
W2 var←c37340;
{
W2 var←c37308;
var←c37308.f0 = 2;
{
word limit105;
var←c37308.f1 = (* ((( (ptr) v←v16264)+1)+(
limit105 = (* (ptr) v←v16264 ),
BCK(i←v9900, limit105)
)) );
};
var←c37340 = var←c37308;
};
var←c9944 = var←c37340;
/* removed tail goto */
};
};
}
else {
lab←L100051: ;
SOURCE(13910, 20)
var←c9944.f0 = 2;
var←c9944.f1 = (* (ptr) &fc58 );
goto lab←L100050;
};
};
lab←L100050: ;
(* (W2Pt) formal←c0352 ) = var←c9944;
return;
}
static word StructureFromSampleEncoding←P1920(e←v10004)
word e←v10004;
{
register ptr gf←c39964 = (ptr) &globalframe;
word var←c10048;
/* StructureFromSampleEncoding: */
SOURCE(13936, 157)
SOURCE(14021, 72)
if ((e←v10004 == 0)) {
return(0);
}
else {
return((word) MakeStructure←P60((* (( (ptr) gf←c39964)+10)/* sampleEncodingClass←v4904 */ ), e←v10004));
};
}
static void RegisterNamedColor←P1980(color←v10108)
word color←v10108;
{
register ptr gf←c39996 = (ptr) &globalframe;
/* RegisterNamedColor: */
SOURCE(14171, 168)
SOURCE(14241, 25)
if (((* (( (ptr) color←v10108)+3) ) == 0)) {
SOURCE(14266, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(14273, 66)
{
word var←c37436;
word pd106;
pd106 = (* (( (ptr) (* (( (ptr) gf←c39996)+165)/* var←c33948 */ ))+10) );
var←c37436 = (word) ( *( (fPt) ((* (ptr) pd106 ))))((* (( (ptr) gf←c39996)+11)/* namedColorTable←v5016 */ ), (* (( (ptr) color←v10108)+3)
), color←v10108, pd106);
};
}
static word DefineProcessSpace←P2040(colorOperator←v10272, val←v10300)
word colorOperator←v10272;
word val←v10300;
{
word var←c10364;
word result←v16308;
/* DefineProcessSpace: */
SOURCE(14523, 260)
SOURCE(14660, 24)
result←v16308 = val←v10300;
SOURCE(14686, 79)
lab←L100054: ;
if ((0 == (word) StoreColorOperator←P2100(result←v16308, colorOperator←v10272))) {
}
else {
goto lab←L100052;
};
SOURCE(14737, 28)
result←v16308 = (result←v16308 + 1);
goto lab←L100054;
lab←L100052: ;
SOURCE(14767, 16)
return(result←v16308);
}
static word StoreColorOperator←P2100(colorSpace←v10424, colorOperator←v10452)
word colorSpace←v10424;
word colorOperator←v10452;
{
register ptr gf←c40028 = (ptr) &globalframe;
word var←c10496;
word cst←v16352;
/* StoreColorOperator: */
SOURCE(14787, 567)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c40028)+16)/* LOCK←v2888 */ ));
SOURCE(14892, 45)
cst←v16352 = (* (( (ptr) gf←c40028)+12)/* colorSpaceTable←v5100 */ );
SOURCE(14939, 259)
if ((colorSpace←v10424 >= (* (ptr) cst←v16352 ))) {
SOURCE(14969, 231)
{
word newSize←v16408;
word new←v16436;
SOURCE(14971, 55)
{
word x107;
newSize←v16408 = (x107 = ((* (ptr) cst←v16352 ) << 1),
MAX( (unsigned) , x107, (colorSpace←v10424 + 1)));
};
SOURCE(15028, 62)
{
word var←c37468;
word var←c37500;
var←c37468 = ((word) newSize←v16408 << 2);
var←c37500 = XR←NewObject((4 + var←c37468), (* (( (ptr) gf←c40028)+25) ));
(* (ptr) var←c37500 ) = newSize←v16408;
new←v16436 = var←c37500;
};
SOURCE(15092, 68)
{
register word s←v16492 = 0;
register word noName←c37532;
noName←c37532 = (* (ptr) cst←v16352 );
if ((s←v16492 >= noName←c37532)) {
goto lab←L100055;
};
lab←L100058: ;
SOURCE(15145, 15)
{
word limit108;
word limit109;
(* ((( (ptr) new←v16436)+1)+(
limit108 = (* (ptr) new←v16436 ),
BCK(s←v16492, limit108)
)) ) = (* ((( (ptr) cst←v16352)+1)+(
limit109 = (* (ptr) cst←v16352 ),
BCK(s←v16492, limit109)
)) );
};
s←v16492 = (s←v16492 + 1);
if ((s←v16492 < noName←c37532)) {
goto lab←L100058;
};
lab←L100055: ;
};
SOURCE(15171, 27)
(* (( (ptr) gf←c40028)+12)/* colorSpaceTable←v5100 */ ) = new←v16436;
cst←v16352 = new←v16436;
};
};
SOURCE(15203, 151)
{
word var←c37596;
{
word limit110;
var←c37596 = (* ((( (ptr) cst←v16352)+1)+(
limit110 = (* (ptr) cst←v16352 ),
BCK(colorSpace←v10424, limit110)
)) );
};
if ((var←c37596 == colorOperator←v10452)) {
SOURCE(15250, 14)
(void) (XR←MonitorExit((word) (( (bPt) gf←c40028)+16)/* LOCK←v2888 */ ));
return(1);
}
else {
if ((var←c37596 == 0)) {
SOURCE(15276, 31)
{
word limit111;
(* ((( (ptr) cst←v16352)+1)+(
limit111 = (* (ptr) cst←v16352 ),
BCK(colorSpace←v10424, limit111)
)) ) = colorOperator←v10452;
};
SOURCE(15309, 14)
(void) (XR←MonitorExit((word) (( (bPt) gf←c40028)+16)/* LOCK←v2888 */ ));
return(1);
}
else {
SOURCE(15339, 15)
(void) (XR←MonitorExit((word) (( (bPt) gf←c40028)+16)/* LOCK←v2888 */ ));
return(0);
};
};
};
}
static word ColorOperatorFromColorSpace←P2160(colorSpace←v10556)
word colorSpace←v10556;
{
register ptr gf←c40060 = (ptr) &globalframe;
word var←c10600;
/* ColorOperatorFromColorSpace: */
SOURCE(15361, 187)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c40060)+16)/* LOCK←v2888 */ ));
SOURCE(15461, 87)
{
word var←c37660;
if ((colorSpace←v10556 < (* (ptr) (* (( (ptr) gf←c40060)+12)/* colorSpaceTable←v5100 */ ) ))) {
{
word var←c37628;
var←c37628 = (* (( (ptr) gf←c40060)+12)/* colorSpaceTable←v5100 */ );
{
word limit112;
var←c37660 = (* ((( (ptr) var←c37628)+1)+(
limit112 = (* (ptr) var←c37628 ),
BCK(colorSpace←v10556, limit112)
)) );
};
};
}
else {
var←c37660 = 0;
};
(void) (XR←MonitorExit((word) (( (bPt) gf←c40060)+16)/* LOCK←v2888 */ ));
return(var←c37660);
};
}
static word ColorSpaceDimension←P2220(colorSpace←v10660)
word colorSpace←v10660;
{
word var←c10704;
/* ColorSpaceDimension: */
SOURCE(15552, 306)
SOURCE(15628, 230)
{
word var←c37692;
var←c37692 = colorSpace←v10660;
switch (var←c37692) {
case 0:
SOURCE(15657, 10)
return(1);
case 1: case 2: case 3:
SOURCE(15692, 10)
return(3);
case 4:
SOURCE(15718, 10)
return(2);
default:
SOURCE(15741, 117)
{
word op←v16536;
SOURCE(15743, 59)
op←v16536 = (word) ColorOperatorFromColorSpace←P2160(colorSpace←v10660);
SOURCE(15804, 54)
if ((op←v16536 == 0)) {
return(0);
}
else {
return((* (( (ptr) op←v16536)+1) ));
};
};
};
};
}
static word GetPixelEncoding←P2280(colorOperator←v10764)
word colorOperator←v10764;
{
word var←c10808;
word class←v16580;
/* GetPixelEncoding: */
SOURCE(15864, 183)
SOURCE(15953, 47)
class←v16580 = (* (( (ptr) colorOperator←v10764)+2) );
SOURCE(16002, 45)
{
word pd113;
pd113 = (* (( (ptr) class←v16580)+3) );
return((word) ( *( (fPt) ((* (ptr) pd113 ))))(colorOperator←v10764, pd113));
};
}
static word TransformConstantColor←P2340(formal←c0553, colorSpace←v10896)
word formal←c0553;
word colorSpace←v10896;
{
W8 var←c40092;
/* declaration of color←v10868 skipped */
word var←c10940;
/* declaration of var←c37756 skipped */
word class←v16624;
/* declaration of pixelEncoding←v16652 skipped */
word out←v16708;
var←c40092.f4/* color←v10868 */ = formal←c0553;
/* TransformConstantColor: */
SOURCE(16053, 457)
{
word tmpAddr114;
tmpAddr114 = (word) (( (ptr) &var←c40092)+5)/* var←c37756 */ ;
(* (ptr) tmpAddr114 ) = ( ((word) (fPt) pixelIn←P6036) );
(* (( (ptr) tmpAddr114) + 1) ) = 1;
};
SOURCE(16163, 53)
class←v16624 = (* (( (ptr) (* (( (ptr) var←c40092.f4/* color←v10868 */ )+2) ))+2) );
SOURCE(16218, 68)
var←c40092.f7/* pixelEncoding←v16652 */ = (word) GetPixelEncoding←P2280((* ((( (ptr) var←c40092.f4/* color←v10868 */ )+2)
) ));
SOURCE(16370, 65)
{
word var←c37788;
var←c37788 = (word) ColorSpaceDimension←P2220(colorSpace←v10896);
out←v16708 = (word) MakeColorPoint←P2460(var←c37788, (* (ptr) &fc58 ));
};
SOURCE(16437, 58)
{
word pd115;
pd115 = (* (( (ptr) class←v16624)+4) );
(void) ( *( (fPt) ((* (ptr) pd115 ))))((* (( (ptr) var←c40092.f4/* color←v10868 */ )+2) ), (word) (( (bPt) &var←c40092)+20)
/* var←c37756 */ , colorSpace←v10896, out←v16708, pd115);
};
SOURCE(16497, 13)
return(out←v16708);
}
static word pixelIn←P6036(i←v31256, formal←c40124)
word i←v31256;
word formal←c40124;
{
word var←c31300;
formal←c40124 = (formal←c40124 - 20);
/* pixelIn: */
SOURCE(16288, 79)
SOURCE(16311, 56)
{
word limit116;
return((word) ApplyPixelEncoding←P1380((* (( (ptr) formal←c40124)+7) ), i←v31256, (* ((( (ptr) (* (( (ptr) formal←c40124)+4)
))+4)+(
limit116 = (* (( (ptr) (* (( (ptr) formal←c40124)+4) ))+3) ),
BCK(i←v31256, limit116)
)) )));
};
}
static word ApplyToList←P2400(colorOperator←v11000, colorSpace←v11028, formal←c0554)
word colorOperator←v11000;
word colorSpace←v11028;
word formal←c0554;
{
W8 var←c40156;
/* declaration of pixel←v11056 skipped */
register ptr gf←c40188 = (ptr) &globalframe;
word var←c11184;
/* declaration of var←c37852 skipped */
word class←v16752;
/* declaration of pixelEncoding←v16780 skipped */
word outList←v16836;
word out←v16864;
var←c40156.f4/* pixel←v11056 */ = formal←c0554;
/* ApplyToList: */
SOURCE(16514, 680)
{
word tmpAddr117;
tmpAddr117 = (word) (( (ptr) &var←c40156)+5)/* var←c37852 */ ;
(* (ptr) tmpAddr117 ) = ( ((word) (fPt) pixelIn←P6096) );
(* (( (ptr) tmpAddr117) + 1) ) = 1;
};
SOURCE(16642, 47)
class←v16752 = (* (( (ptr) colorOperator←v11000)+2) );
SOURCE(16691, 62)
var←c40156.f7/* pixelEncoding←v16780 */ = (word) GetPixelEncoding←P2280(colorOperator←v11000);
SOURCE(16911, 9)
{
word var←c37916;
outList←v16836 = XR←NewObject(8, (* (( (ptr) gf←c40188)+40) ));
var←c37916 = outList←v16836;
(* (ptr) var←c37916 ) = (* (ptr) &fc58 );
};
SOURCE(16944, 65)
{
word var←c37948;
var←c37948 = (word) ColorSpaceDimension←P2220(colorSpace←v11028);
out←v16864 = (word) MakeColorPoint←P2460(var←c37948, (* (ptr) &fc58 ));
};
SOURCE(17011, 52)
{
word pd118;
pd118 = (* (( (ptr) class←v16752)+4) );
(void) ( *( (fPt) ((* (ptr) pd118 ))))(colorOperator←v11000, (word) (( (bPt) &var←c40156)+20)/* var←c37852 */ , colorSpace←v11028, out←v16864, pd118)
;
};
SOURCE(17065, 72)
{
register word i←v16992;
i←v16992 = (* (( (ptr) out←v16864)+1) );
if ((0 >= i←v16992)) {
goto lab←L100059;
};
i←v16992 = (i←v16992 - 1);
lab←L100062: ;
SOURCE(17106, 31)
{
word var←c37980;
var←c37980 = XR←NewObject(8, (* (( (ptr) gf←c40188)+40) ));
{
word limit119;
(* (ptr) var←c37980 ) = (* ((( (ptr) out←v16864)+2)+(
limit119 = (* (( (ptr) out←v16864)+1) ),
BCK(i←v16992, limit119)
)) );
};
(* (( (ptr) var←c37980)+1) ) = outList←v16836;
outList←v16836 = var←c37980;
};
if ((0 >= i←v16992)) {
goto lab←L100059;
};
i←v16992 = (i←v16992 - 1);
goto lab←L100062;
lab←L100059: ;
};
SOURCE(17148, 28)
out←v16864 = (word) DestroyColorPoint←P2520(out←v16864);
SOURCE(17178, 16)
return(outList←v16836);
}
static word pixelIn←P6096(i←v31360, formal←c40220)
word i←v31360;
word formal←c40220;
{
word var←c31404;
word list←v17036;
formal←c40220 = (formal←c40220 - 20);
/* pixelIn: */
SOURCE(16755, 153)
SOURCE(16778, 6)
list←v17036 = (* (( (ptr) formal←c40220)+4) );
SOURCE(16806, 42)
{
register word noName←c38012 = 0;
register word noName←c38044;
noName←c38044 = i←v31360;
if ((noName←c38012 >= noName←c38044)) {
goto lab←L100063;
};
lab←L100066: ;
SOURCE(16824, 24)
list←v17036 = (* (( (ptr) list←v17036)+1) );
noName←c38012 = (noName←c38012 + 1);
if ((noName←c38012 < noName←c38044)) {
goto lab←L100066;
};
lab←L100063: ;
};
SOURCE(16850, 58)
return((word) ApplyPixelEncoding←P1380((* (( (ptr) formal←c40220)+7) ), i←v31360, (* (ptr) list←v17036 )));
}
static word MakeColorPoint←P2460(dim←v11400, s←v11428)
word dim←v11400;
word s←v11428;
{
register ptr gf←c40252 = (ptr) &globalframe;
word d←v11472;
/* MakeColorPoint: */
SOURCE(17308, 416)
SOURCE(17308, 416)
d←v11472 = 0;
SOURCE(17576, 37)
if (((dim←v11400 - 1) <= 3)) {
SOURCE(17601, 12)
SOURCE(17601, 12)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c40252)+16)/* LOCK←v2888 */ ));
SOURCE(17424, 137)
{
register word i←v17268 = 0;
lab←L100070: ;
SOURCE(17472, 29)
d←v11472 = (* (( (ptr) (( (W4Pt) (( (ptr) gf←c40252)+13)/* scratchColorPoint←v5352 */ )+BCK(i←v17268, 2)))+BCK((dim←v11400 - 1), 4)
) );
SOURCE(17503, 58)
if ((d←v11472 != 0)) {
SOURCE(17521, 31)
(* (( (ptr) (( (W4Pt) (( (ptr) gf←c40252)+13)/* scratchColorPoint←v5352 */ )+BCK(i←v17268, 2)))+BCK((dim←v11400 - 1), 4))
) = 0;
SOURCE(17554, 7)
goto lab←L100071;
};
if ((i←v17268 >= 1)) {
goto lab←L100067;
};
i←v17268 = (i←v17268 + 1);
goto lab←L100070;
lab←L100067: ;
};
lab←L100071: ;
(void) (XR←MonitorExit((word) (( (bPt) gf←c40252)+16)/* LOCK←v2888 */ ));
};
SOURCE(17615, 43)
if ((d←v11472 == 0)) {
SOURCE(17631, 27)
{
word var←c38108;
word var←c38140;
word var←c38172;
var←c38108 = BCK(dim←v11400, 67108863);
var←c38140 = ((word) var←c38108 << 2);
var←c38172 = XR←NewObject((8 + var←c38140), (* (( (ptr) gf←c40252)+39) ));
(* (( (ptr) var←c38172)+1) ) = var←c38108;
d←v11472 = var←c38172;
};
};
SOURCE(17660, 20)
(* (ptr) d←v11472 ) = 0;
SOURCE(17682, 42)
{
register word i←v17224 = 0;
register word noName←c38204;
noName←c38204 = dim←v11400;
if ((i←v17224 >= noName←c38204)) {
goto lab←L100072;
};
lab←L100075: ;
SOURCE(17708, 16)
{
word limit120;
(* ((( (ptr) d←v11472)+2)+(
limit120 = (* (( (ptr) d←v11472)+1) ),
BCK(i←v17224, limit120)
)) ) = s←v11428;
};
i←v17224 = (i←v17224 + 1);
if ((i←v17224 < noName←c38204)) {
goto lab←L100075;
};
lab←L100072: ;
};
SOURCE(17308, 416)
return(d←v11472);
}
static word DestroyColorPoint←P2520(d←v11532)
word d←v11532;
{
register ptr gf←c40284 = (ptr) &globalframe;
word var←c11576;
/* DestroyColorPoint: */
SOURCE(17730, 275)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c40284)+16)/* LOCK←v2888 */ ));
SOURCE(17730, 275)
var←c11576 = 0;
SOURCE(17814, 191)
if ((d←v11532 != 0)) {
SOURCE(17830, 190)
{
word dim←v17296;
SOURCE(17832, 16)
dim←v17296 = (* (( (ptr) d←v11532)+1) );
SOURCE(17850, 155)
if (((dim←v17296 - 1) <= 3)) {
SOURCE(17877, 128)
{
register word i←v17340 = 0;
lab←L100079: ;
SOURCE(17925, 80)
if (((* (( (ptr) (( (W4Pt) (( (ptr) gf←c40284)+13)/* scratchColorPoint←v5352 */ )+BCK(i←v17340, 2)))+BCK((dim←v17296 - 1), 4)
) ) == 0)) {
SOURCE(17967, 29)
(* (( (ptr) (( (W4Pt) (( (ptr) gf←c40284)+13)/* scratchColorPoint←v5352 */ )+BCK(i←v17340, 2)))+BCK((dim←v17296 - 1), 4))
) = d←v11532;
SOURCE(17998, 7)
(void) (XR←MonitorExit((word) (( (bPt) gf←c40284)+16)/* LOCK←v2888 */ ));
return(var←c11576);
};
if ((i←v17340 >= 1)) {
goto lab←L100076;
};
i←v17340 = (i←v17340 + 1);
goto lab←L100079;
lab←L100076: ;
};
};
};
};
SOURCE(17730, 275)
(void) (XR←MonitorExit((word) (( (bPt) gf←c40284)+16)/* LOCK←v2888 */ ));
return(var←c11576);
}
static word ChooseColorSpace←P2580(colorOperator←v11636, spaces←v11664)
word colorOperator←v11636;
word spaces←v11664;
{
register ptr gf←c40316 = (ptr) &globalframe;
word var←c11792;
/* ChooseColorSpace: */
SOURCE(18027, 572)
SOURCE(18141, 291)
{
register word tail←v17384;
tail←v17384 = spaces←v11664;
lab←L100083: ;
if ((tail←v17384 != 0)) {
}
else {
goto lab←L100080;
};
{
word c←v17512;
SOURCE(18210, 26)
c←v17512 = (* (ptr) tail←v17384 );
SOURCE(18238, 74)
if (((word) ColorOperatorFromColorSpace←P2160((* (ptr) (tail←v17384) )) == colorOperator←v11636)) {
SOURCE(18302, 10)
return(c←v17512);
};
SOURCE(18314, 118)
{
register word t←v17556;
t←v17556 = (* (( (ptr) (* (( (ptr) colorOperator←v11636)+2) ))+6) );
lab←L100087: ;
if ((t←v17556 != 0)) {
}
else {
goto lab←L100084;
};
SOURCE(18402, 30)
if (((* (ptr) t←v17556 ) == c←v17512)) {
SOURCE(18422, 10)
return(c←v17512);
};
t←v17556 = (* (( (ptr) t←v17556)+1) );
goto lab←L100087;
lab←L100084: ;
};
};
tail←v17384 = (* (( (ptr) tail←v17384)+1) );
goto lab←L100083;
lab←L100080: ;
};
SOURCE(18452, 147)
{
word var←c38236;
{
word var←c38268;
word var←c38300;
var←c38268 = XR←NewObject(12, (* (( (ptr) gf←c40316)+38) ));
var←c38300 = var←c38268;
(* (ptr) var←c38300 ) = (* (( (ptr) gf←c40316)+56) );
(* (( (ptr) var←c38300)+1) ) = colorOperator←v11636;
var←c38236 = var←c38268;
};
{
W3 var←c0435;
var←c0435.f0 = 101;
var←c0435.f1 = (* (( (ptr) gf←c40316)+53) );
var←c0435.f2 = var←c38236;
(void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c40316)+167)/* var←c34108 */ ))+4) ), (word) &var←c0435);
};
};
}
static word ColorPointFromColor←P2640(color←v11852, transform←v11880)
word color←v11852;
word transform←v11880;
{
word var←c11924;
word colorSpace←v17684;
word v←v17712;
word d←v17740;
/* ColorPointFromColor: */
SOURCE(18605, 338)
SOURCE(18715, 41)
colorSpace←v17684 = (* (ptr) transform←v11880 );
SOURCE(18758, 57)
v←v17712 = (word) TransformConstantColor←P2340(color←v11852, colorSpace←v17684);
SOURCE(18817, 54)
d←v17740 = (word) MakeColorPoint←P2460((* (( (ptr) (* (( (ptr) transform←v11880)+1) ))+1) ), (* (ptr) &fc58 ));
SOURCE(18873, 31)
{
word pd121;
pd121 = (* (( (ptr) transform←v11880)+2) );
(void) ( *( (fPt) ((* (ptr) pd121 ))))(transform←v11880, v←v17712, d←v17740, pd121);
};
SOURCE(18906, 24)
v←v17712 = (word) DestroyColorPoint←P2520(v←v17712);
SOURCE(18932, 11)
return(d←v17740);
}
static word NarrowToOp←P2700(color←v11984)
word color←v11984;
{
register ptr gf←c40348 = (ptr) &globalframe;
word var←c12028;
word c←v17784;
/* NarrowToOp: */
SOURCE(18947, 301)
SOURCE(19017, 24)
c←v17784 = color←v11984;
SOURCE(19043, 205)
lab←L100090: ;
SOURCE(19046, 202)
{
word var←c38364;
var←c38364 = c←v17784;
if ((var←c38364 == 0)) {
goto lab←L100091;
};
{
word var←c38428;
var←c38428 = (* (( (ptr) var←c38364)+1) );
if ((var←c38428 == 1)) {
{
word special←v17828;
special←v17828 = var←c38364;
SOURCE(19090, 22)
c←v17784 = (* (( (ptr) special←v17828)+5) );
};
}
else {
if ((var←c38428 == 0)) {
{
word op←v17872;
op←v17872 = var←c38364;
SOURCE(19137, 11)
return(op←v17872);
};
}
else {
lab←L100091: ;
SOURCE(19161, 87)
{
W3 var←c0450;
var←c0450.f0 = 122;
var←c0450.f1 = (* (( (ptr) gf←c40348)+59) );
var←c0450.f2 = 0;
(void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c40348)+167)/* var←c34108 */ ))+4) ), (word) &var←c0450);
};
};
};
};
};
goto lab←L100090;
}
static word IntensityFromColor←P2760(color←v12088)
word color←v12088;
{
word Y←v12132;
word p←v17916;
/* IntensityFromColor: */
SOURCE(19254, 178)
SOURCE(19254, 178)
Y←v12132 = (* (ptr) &fc58 );
SOURCE(19335, 61)
{
word var←c38460;
var←c38460 = (word) NarrowToOp←P2700(color←v12088);
p←v17916 = (word) TransformConstantColor←P2340(var←c38460, 0);
};
SOURCE(19398, 8)
{
word limit122;
Y←v12132 = (* ((( (ptr) p←v17916)+2)+(
limit122 = (* (( (ptr) p←v17916)+1) ),
BCK(0, limit122)
)) );
};
SOURCE(19408, 24)
p←v17916 = (word) DestroyColorPoint←P2520(p←v17916);
SOURCE(19254, 178)
return(Y←v12132);
}
static word GrayFromColor←P2820(color←v12192)
word color←v12192;
{
word var←c12236;
/* GrayFromColor: */
SOURCE(19438, 108)
SOURCE(19507, 39)
{
word x124;
word x125;
float tf126;
return((
tf126 = (
x124 = (* (ptr) &fc123 ), *(float*)&x124
) - (
x125 = (word) IntensityFromColor←P2760(color←v12192), *(float*)&x125
), *(word*)&tf126
));
};
}
static word FindColorOperatorClass←P2880(name←v12296)
word name←v12296;
{
register ptr gf←c40380 = (ptr) &globalframe;
word var←c12340;
word class←v17960;
/* FindColorOperatorClass: */
SOURCE(19623, 339)
SOURCE(19705, 83)
{
W2 var←c0460;
word var←c0537;
{
word pd127;
pd127 = (* (( (ptr) (* (( (ptr) gf←c40380)+165)/* var←c33948 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd127 ))))((word) &var←c0460, (* (( (ptr) gf←c40380)+21)/* colorOperatorClassTable←v5576 */ ), name←v12296, pd127)
;
};
var←c0537 = var←c0460.f1;
class←v17960 = XR←Narrow(var←c0537, (* (( (ptr) gf←c40380)+23) ));
};
SOURCE(19790, 156)
if ((class←v17960 == 0)) {
SOURCE(19810, 136)
{
word var←c38524;
word var←c38556;
{
word pd128;
pd128 = (* (( (ptr) (* (( (ptr) gf←c40380)+170)/* var←c36380 */ ))+6) );
var←c38524 = (word) ( *( (fPt) ((* (ptr) pd128 ))))((* (( (ptr) gf←c40380)+60) ), name←v12296, pd128);
};
{
word var←c38588;
word var←c38620;
var←c38588 = XR←NewObject(12, (* (( (ptr) gf←c40380)+38) ));
var←c38620 = var←c38588;
(* (ptr) var←c38620 ) = (* (( (ptr) gf←c40380)+61) );
(* (( (ptr) var←c38620)+1) ) = name←v12296;
var←c38556 = var←c38588;
};
{
W3 var←c0466;
var←c0466.f0 = 21;
var←c0466.f1 = var←c38524;
var←c0466.f2 = var←c38556;
(void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c40380)+167)/* var←c34108 */ ))+4) ), (word) &var←c0466);
};
};
};
SOURCE(19948, 14)
return(class←v17960);
}
static word NewColorOperatorClass←P2940(name←v12400, createColorOperator←v12428, getCreateData←v12456, getPixelEncoding←v12484, apply←v12512, dataEqual←v12540, supportedOutputs←v12568)
word name←v12400;
word createColorOperator←v12428;
word getCreateData←v12456;
word getPixelEncoding←v12484;
word apply←v12512;
word dataEqual←v12540;
word supportedOutputs←v12568;
{
register ptr gf←c40412 = (ptr) &globalframe;
word var←c12696;
word class←v18004;
/* NewColorOperatorClass: */
SOURCE(19968, 618)
SOURCE(20251, 249)
class←v18004 = XR←NewObject(28, (* (( (ptr) gf←c40412)+23) ));
(* (ptr) class←v18004 ) = name←v12400;
(* (( (ptr) class←v18004)+1) ) = XR←CheckProc(createColorOperator←v12428);
(* (( (ptr) class←v18004)+2) ) = XR←CheckProc(getCreateData←v12456);
(* (( (ptr) class←v18004)+3) ) = XR←CheckProc(getPixelEncoding←v12484);
(* (( (ptr) class←v18004)+4) ) = XR←CheckProc(apply←v12512);
(* (( (ptr) class←v18004)+5) ) = XR←CheckProc(dataEqual←v12540);
(* (( (ptr) class←v18004)+6) ) = supportedOutputs←v12568;
SOURCE(20502, 68)
{
word var←c38716;
word pd129;
pd129 = (* (( (ptr) (* (( (ptr) gf←c40412)+165)/* var←c33948 */ ))+10) );
var←c38716 = (word) ( *( (fPt) ((* (ptr) pd129 ))))((* (( (ptr) gf←c40412)+21)/* colorOperatorClassTable←v5576 */ ), name←v12400, class←v18004, pd129)
;
};
SOURCE(20572, 14)
return(class←v18004);
}
static word NewColorOperator←P3000(formal←c0555, formal←c0556, formal←c0557, formal←c0558, formal←c0559)
word formal←c0555;
word formal←c0556;
word formal←c0557;
word formal←c0558;
word formal←c0559;
{
W11 var←c40444;
/* declaration of chromatic←v12756 skipped */
/* declaration of samplesPerPixelIn←v12784 skipped */
/* declaration of class←v12812 skipped */
/* declaration of data←v12840 skipped */
/* declaration of appearanceHints←v12868 skipped */
register ptr gf←c40476 = (ptr) &globalframe;
word var←c12924;
/* declaration of var←c38748 skipped */
word new←v18076;
(* (( (ptr) &var←c40444)+4)/* chromatic←v12756 */ ) = formal←c0555;
(* (( (ptr) &var←c40444)+5)/* samplesPerPixelIn←v12784 */ ) = formal←c0556;
(* (( (ptr) &var←c40444)+6)/* class←v12812 */ ) = formal←c0557;
(* (( (ptr) &var←c40444)+7)/* data←v12840 */ ) = formal←c0558;
(* (( (ptr) &var←c40444)+8)/* appearanceHints←v12868 */ ) = formal←c0559;
/* NewColorOperator: */
SOURCE(20703, 822)
{
word tmpAddr130;
tmpAddr130 = (word) (( (ptr) &var←c40444)+9)/* var←c38748 */ ;
(* (ptr) tmpAddr130 ) = ( ((word) (fPt) compare←P6696) );
(* (( (ptr) tmpAddr130) + 1) ) = 1;
};
SOURCE(21183, 96)
{
W2 var←c0485;
word var←c0538;
{
word pd131;
pd131 = (* (( (ptr) (* (( (ptr) gf←c40476)+166)/* var←c34012 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd131 ))))((word) &var←c0485, (* (( (ptr) gf←c40476)+22)/* colorOperatorCache←v5660 */ ), (word) (
( (bPt) &var←c40444)+36)/* var←c38748 */ , 0, pd131);
};
var←c0538 = var←c0485.f0;
new←v18076 = XR←Narrow(var←c0538, (* (( (ptr) gf←c40476)+34) ));
};
SOURCE(21281, 30)
if ((new←v18076 != 0)) {
SOURCE(21299, 12)
return(new←v18076);
};
SOURCE(21313, 116)
{
word var←c38780;
var←c38780 = XR←NewObject(20, (* (( (ptr) gf←c40476)+34) ));
(* (ptr) var←c38780 ) = (* (( (ptr) &var←c40444)+4)/* chromatic←v12756 */ );
(* (( (ptr) var←c38780)+1) ) = (* (( (ptr) &var←c40444)+5)/* samplesPerPixelIn←v12784 */ );
(* (( (ptr) var←c38780)+2) ) = (* (( (ptr) &var←c40444)+6)/* class←v12812 */ );
(* (( (ptr) var←c38780)+3) ) = (* (( (ptr) &var←c40444)+7)/* data←v12840 */ );
new←v18076 = var←c38780;
};
SOURCE(21431, 79)
{
word pd132;
pd132 = (* (( (ptr) (* (( (ptr) gf←c40476)+166)/* var←c34012 */ ))+6) );
(void) ( *( (fPt) ((* (ptr) pd132 ))))((* (( (ptr) gf←c40476)+22)/* colorOperatorCache←v5660 */ ), new←v18076, new←v18076, 1, 0, pd132)
;
};
SOURCE(21512, 13)
return(new←v18076);
}
static word compare←P6696(argument←v31980, formal←c40540)
word argument←v31980;
word formal←c40540;
{
register ptr gf←c40508 = (ptr) &globalframe;
word good←v32024;
formal←c40540 = (formal←c40540 - 36);
/* compare: */
SOURCE(20869, 309)
SOURCE(20908, 270)
{
word var←c38812;
var←c38812 = argument←v31980;
if ((var←c38812 == 0)) {
goto lab←L100092;
};
if (((* (( (ptr) gf←c40508)+34) ) == XR←GetReferentType(var←c38812))) {
{
word old←v18120;
old←v18120 = var←c38812;
SOURCE(20956, 195)
{
word tc133;
word pd134;
if ( ( ( ( ((* (ptr) old←v18120 ) == (* (( (ptr) formal←c40540)+4) )) ? ((* (( (ptr) old←v18120)+1) ) == (* (( (ptr) formal←c40540)+5)
)) : 0 ) ? ((* (( (ptr) old←v18120)+2) ) == (* (( (ptr) formal←c40540)+6) )) : 0 ) ? (0 != (word) StructureEqual←P1200(
(* (( (ptr) old←v18120)+4) ), (* (( (ptr) formal←c40540)+8) ))) : 0 ) ) {
pd134 = (* (( (ptr) (* (( (ptr) formal←c40540)+6) ))+5) );
tc133 = (word) (unsigned) (0 != (word) ( *( (fPt) ((* (ptr) pd134 ))))((* (( (ptr) formal←c40540)+7) ), (* (( (ptr) old←v18120)+3)
), pd134));
}
else {
tc133 = (word) (unsigned) 0;
};
return(tc133);
};
};
}
else {
lab←L100092: ;
SOURCE(21164, 14)
return(0);
};
};
}
/* file: ImagerColorPrivateImpl, module: ImagerColorPrivateImpl, compiled at: July 28, 1993 10:15:55 am PDT */
extern void XR←install←ImagerColorPrivateImpl() {
NoName←Q6864();
}
extern void XR←run←ImagerColorPrivateImpl() { XR←Start(&globalframe); }