/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */
/* time: February 22, 1992 2:21:47 pm PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: CustomBrickImpl, module: CustomBrickImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [4244920600,3863202814] CustomBrickImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W8 r;} W16;
typedef struct {word f0, f1;} W2;
typedef struct {W16 f; W2 r;} W18;
typedef word (*fPt)();
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {word f0, f1, f2, f3;} W4;
typedef struct {word f0, f1, f2;} W3;
typedef W3 *W3Pt;
#define SOURCE(p, l) /* source p, l */
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
static void NoName←Q672();
static void CustomBrickImpl←P0();
static void Complain←P60();
static word HalftonePropertiesFromRope←P120();
static word CmdTokenBreak←P180();
static word GetCmdToken←P240();
static word NoName←Q732();
static word RealToNum←P300();
static word NoName←Q792();
static word RealFromRope←P360();
static word NoName←Q852();
static word NoName←Q912();
static void ParseBrick←P420();
static void NoName←Q972();
static void NoName←Q1032();
static void NoName←Q1092();
static void NoName←Q1152();
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[44];} string3 = {2752556, "\260\006\005\146\151\162\163\164\257\300\236\211\262\021\300\215\235\324\340\101\034\005\004\162\145\163\164\214\257\300\236\211\262\021\300\215\235\324\340\101\034\261\000"};
static struct {unsigned f; char r[4];} string4 = {131074, "\004)\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\361\072\110\004\300\054\212\055\367\100\274\000\000"};
static struct {unsigned f; char r[4];} string6 = {131074, "\003\001\000"};
static struct {unsigned f; char r[8];} string7 = {458760, "\205\210\242\000C\347\242"};
static struct {unsigned f; char r[20];} string8 = {1114132, "Number expected: \000\000"};
static struct {unsigned f; char r[44];} string9 = {2621484, "Value (%g) should be in range [%g .. %g]\000\000\000"};
static struct {unsigned f; char r[4];} string10 = {65540, "]\000\000"};
static struct {unsigned f; char r[16];} string11 = {983056, "Malformed array"};
static struct {unsigned f; char r[8];} string12 = {327688, "black\000\000"};
static struct {unsigned f; char r[8];} string13 = {262152, "cyan\000\000\000"};
static struct {unsigned f; char r[8];} string14 = {458760, "magenta"};
static struct {unsigned f; char r[8];} string15 = {393224, "yellow\000"};
static struct {unsigned f; char r[36];} string16 = {2097188, "Expected toner name, but found \042\000\000\000"};
static struct {unsigned f; char r[4];} string17 = {65540, "\042\000\000"};
static struct {unsigned f; char r[8];} string18 = {327688, "brick\000\000"};
static struct {unsigned f; char r[24];} string19 = {1507352, "Missing \042brick\042 Keyword"};
static struct {unsigned f; char r[44];} string20 = {2621484, "Brick values should be IN [0..maxSample]\000\000\000"};
static struct {unsigned f; char r[28];} string21 = {1769500, "%g (%g) should be integral."};
static struct {unsigned f; char r[8];} string22 = {327688, "Value\000\000"};
static struct {unsigned f; char r[4];} string23 = {65540, "[\000\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\375\004\131\030\300\346\103\313\376\100\164\000\000"};
static struct {unsigned f; char r[8];} string25 = {458759, "\006\001,\004\200\377\377"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\255\053\300\023\300\142\135\315\105\100\150\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\213\226\301\143\300\072\355\320\373\100\150\000\000"};
static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string31 = {851984, "\257\300\275\320\070\317\300\004\110\363\366\100\150\000\000"};
static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\163\103\237\130\300\203\321\375\362\100\150\000\000"};
static struct {
word f0[27]; word f27; word f28; word f29;
word f30; word f31; word f32[8];
} globalframe = {
{0}, (word) HalftonePropertiesFromRope←P120, 0, (word) Complain←P60,
0, (word) CustomBrickImpl←P0, {0}
};
static void NoName←Q672()
{
register ptr gf←c0111 = (ptr) &globalframe;
word var←c14088;
(* (( (ptr) gf←c0111)+5) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c0111)+8) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
(* (( (ptr) gf←c0111)+9) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
(* (( (ptr) gf←c0111)+10) ) = (word) XR←GetTypeIndexS((word) (&string7));
(* (ptr) (( (bPt) gf←c0111)+44) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string8);
(* (ptr) (( (bPt) gf←c0111)+48) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string9);
(* (ptr) (( (bPt) gf←c0111)+52) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string10);
(* (ptr) (( (bPt) gf←c0111)+56) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string11);
(* (ptr) (( (bPt) gf←c0111)+60) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string12);
(* (ptr) (( (bPt) gf←c0111)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string13);
(* (ptr) (( (bPt) gf←c0111)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string14);
(* (ptr) (( (bPt) gf←c0111)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string15);
(* (ptr) (( (bPt) gf←c0111)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string16);
(* (ptr) (( (bPt) gf←c0111)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string17);
(* (ptr) (( (bPt) gf←c0111)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string18);
(* (ptr) (( (bPt) gf←c0111)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string19);
(* (ptr) (( (bPt) gf←c0111)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string20);
(* (ptr) (( (bPt) gf←c0111)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string21);
(* (ptr) (( (bPt) gf←c0111)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string22);
(* (ptr) (( (bPt) gf←c0111)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0111)+5) ), (word) &string23);
(void) XR←DeclareGlobalFrame((word) "CustomBrickImpl", &globalframe, (word) XR←GetTypeIndex((word) &string24, 0, (word) &string25)
, (word) (( (bPt) gf←c0111)+124)/* var←c12968 */ );
var←c14088 = (word) XR←ImportInterface((word) "Convert", (word) XR←GetTypeIndexS((word) (&string26)), 73);
(* (( (ptr) gf←c0111)+37)/* var←c13576 */ ) = var←c14088;
(void) XR←ImportProcS(var←c14088, 67634690);
(void) XR←ImportProcS(var←c14088, 67373057);
var←c14088 = (word) XR←ImportInterface((word) "ImagerSample", (word) XR←GetTypeIndexS((word) (&string27)), 60);
(* (( (ptr) gf←c0111)+38)/* var←c13928 */ ) = var←c14088;
(void) XR←ImportProcS(var←c14088, 1320708);
(void) XR←ImportProcS(var←c14088, 68685571);
var←c14088 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string28)), 103);
(* (( (ptr) gf←c0111)+33)/* var←c13160 */ ) = var←c14088;
(void) XR←ImportProcS(var←c14088, 68958724);
(void) XR←ImportProcS(var←c14088, 67392257);
(void) XR←ImportProcS(var←c14088, 134763778);
(void) XR←ImportProcS(var←c14088, 67640578);
var←c14088 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string29)), 11);
(* (( (ptr) gf←c0111)+35)/* var←c13256 */ ) = var←c14088;
(void) XR←ImportProcS(var←c14088, 67371521);
var←c14088 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string30)), 43);
(* (( (ptr) gf←c0111)+34)/* var←c13192 */ ) = var←c14088;
(void) XR←ImportProcS(var←c14088, 68419845);
(void) XR←ImportProcS(var←c14088, 67633666);
(void) XR←ImportProcS(var←c14088, 67896323);
var←c14088 = (word) XR←ImportInterface((word) "RuntimeError", (word) XR←GetTypeIndexS((word) (&string31)), 27);
(* (( (ptr) gf←c0111)+36)/* var←c13288 */ ) = var←c14088;
var←c14088 = (word) XR←ExportInterface((word) "CustomBrick", (word) XR←GetTypeIndexS((word) (&string32)), 1);
(* (( (ptr) gf←c0111)+39)/* var←c14120 */ ) = var←c14088;
(void) XR←ExportProcS(var←c14088, (word) (( (bPt) gf←c0111)+108)/* var←c12904 */ , 67633154);
}
static void CustomBrickImpl←P0(formal←c027, formal←c026)
word formal←c027;
word formal←c026;
{
/* CustomBrickImpl: */
}
static void Complain←P60(rope←v3236)
word rope←v3236;
{
/* Complain: */
}
static word HalftonePropertiesFromRope←P120(specs←v3296, formal←c0142)
word specs←v3296;
word formal←c0142;
{
W18 var←c14152;
/* declaration of tonerUniverse←v3324 skipped */
register ptr gf←c14184 = (ptr) &globalframe;
/* declaration of h←v3368 skipped */
/* declaration of var←c13000 skipped */
/* declaration of var←c13032 skipped */
/* declaration of var←c13064 skipped */
/* declaration of var←c13096 skipped */
/* declaration of var←c13128 skipped */
/* declaration of cmds←v3536 skipped */
/* declaration of tok←v3564 skipped */
(* (( (ptr) &var←c14152)+4)/* tonerUniverse←v3324 */ ) = formal←c0142;
/* HalftonePropertiesFromRope: */
SOURCE(829, 3258)
{
word tmpAddr33;
tmpAddr33 = (word) (( (ptr) &var←c14152)+6)/* var←c13000 */ ;
(* (ptr) tmpAddr33 ) = ( ((word) (fPt) ParseBrick←P420) );
(* (( (ptr) tmpAddr33) + 1) ) = 1;
};
{
word tmpAddr34;
tmpAddr34 = (word) (( (ptr) &var←c14152)+8)/* var←c13032 */ ;
(* (ptr) tmpAddr34 ) = ( ((word) (fPt) RealFromRope←P360) );
(* (( (ptr) tmpAddr34) + 1) ) = 1;
};
{
word tmpAddr35;
tmpAddr35 = (word) (( (ptr) &var←c14152)+10)/* var←c13064 */ ;
(* (ptr) tmpAddr35 ) = ( ((word) (fPt) RealToNum←P300) );
(* (( (ptr) tmpAddr35) + 1) ) = 1;
};
{
word tmpAddr36;
tmpAddr36 = (word) (( (ptr) &var←c14152)+12)/* var←c13096 */ ;
(* (ptr) tmpAddr36 ) = ( ((word) (fPt) GetCmdToken←P240) );
(* (( (ptr) tmpAddr36) + 1) ) = 1;
};
{
word tmpAddr37;
tmpAddr37 = (word) (( (ptr) &var←c14152)+14)/* var←c13128 */ ;
(* (ptr) tmpAddr37 ) = ( ((word) (fPt) CmdTokenBreak←P180) );
(* (( (ptr) tmpAddr37) + 1) ) = 1;
};
SOURCE(829, 3258)
(* (( (ptr) &var←c14152)+5)/* h←v3368 */ ) = 0;
SOURCE(3940, 37)
{
word pd38;
pd38 = (* (( (ptr) (* (( (ptr) gf←c14184)+33)/* var←c13160 */ ))+33) );
(* (( (ptr) &var←c14152)+16)/* cmds←v3536 */ ) = (word) ( *( (fPt) ((* (ptr) pd38 ))))(specs←v3296, 0, pd38);
};
SOURCE(3979, 15)
(* (( (ptr) &var←c14152)+17)/* tok←v3564 */ ) = 0;
SOURCE(3996, 7)
(* (( (ptr) &var←c14152)+5)/* h←v3368 */ ) = 0;
SOURCE(4005, 82)
lab←L100002: ;
(* (( (ptr) &var←c14152)+17)/* tok←v3564 */ ) = (word) GetCmdToken←P240((* (( (ptr) &var←c14152)+16)/* cmds←v3536 */ ), (word) (
( (bPt) &var←c14152)+48)/* var←c13096 */ );
if (((* (( (ptr) &var←c14152)+17)/* tok←v3564 */ ) != 0)) {
}
else {
goto lab←L100000;
};
SOURCE(4046, 41)
{
word pd39;
pd39 = (* (( (ptr) (* (( (ptr) gf←c14184)+34)/* var←c13192 */ ))+8) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd39 ))))((* (( (ptr) gf←c14184)+26) ), (* (( (ptr) &var←c14152)+17)/* tok←v3564 */ ), 1, pd39)
)) {
SOURCE(4075, 12)
(void) ParseBrick←P420((word) ((( (bPt) &var←c14152)+24)/* var←c13000 */ ));
};
};
goto lab←L100002;
lab←L100000: ;
SOURCE(829, 3258)
return((* (( (ptr) &var←c14152)+5)/* h←v3368 */ ));
}
static word CmdTokenBreak←P180(char←v3640, formal←c14216)
word char←v3640;
word formal←c14216;
{
word var←c3684;
formal←c14216 = (formal←c14216 - 56);
/* CmdTokenBreak: */
SOURCE(960, 221)
SOURCE(1020, 58)
switch (char←v3640) {
case 95: case 91: case 93:
SOURCE(1064, 14)
return(0);
};
SOURCE(1080, 101)
{
word var←c13224;
var←c13224 = char←v3640;
switch (var←c13224) {
case 32: case 9: case 44: case 59: case 10: case 13:
return(1);
default:
return(2);
};
};
}
static word GetCmdToken←P240(formal←c0143, formal←c14312)
word formal←c0143;
word formal←c14312;
{
W8 var←c14248;
/* declaration of stream←v3744 skipped */
register ptr gf←c14280 = (ptr) &globalframe;
word rope←v3788;
formal←c14312 = (formal←c14312 - 48);
var←c14248.f4/* stream←v3744 */ = formal←c0143;
var←c14248.f0 = formal←c14312;
/* GetCmdToken: */
SOURCE(1184, 136)
SOURCE(1184, 136)
rope←v3788 = 0;
SOURCE(1247, 10)
rope←v3788 = 0;
SOURCE(1259, 61)
{
/* declaration of var←c01 skipped */
/* declaration of var←c02 skipped */
SOURCE(1259, 61)
var←c14248.f5/* var←c01 */ = (* (( (ptr) (* (( (ptr) gf←c14280)+33)/* var←c13160 */ ))+89) );
{
word var←c03;
{
word var←c0130;
var←c0130 = (word) &var←c14248;
var←c03 = (word) XR←Enable(( ((word) (fPt) NoName←Q732) ), ( ((word) (fPt) NoName←Q1152) ), var←c0130);
};
if ((var←c03 == 2)) {
goto lab←L100004;
};
};
rope←v3788 = (* (W2Pt) (( (ptr) &var←c14248)+6)/* var←c02 */ ).f0;
lab←L100004: ;
};
SOURCE(1184, 136)
return(rope←v3788);
}
static word NoName←Q732(formal←c0116)
word formal←c0116;
{
SOURCE(1259, 61)
{
word pd40;
pd40 = (* (( (ptr) formal←c0116)+5) );
(void) ( *( (fPt) ((* (ptr) pd40 ))))((word) (( (bPt) formal←c0116)+24), (* (( (ptr) formal←c0116)+4) ), (word) (( (bPt) (* (ptr) formal←c0116 ))+56)
, pd40);
};
return(0);
}
static word RealToNum←P300(formal←c0144, bounds←v3876, name←v3904, formal←c14408)
word formal←c0144;
W2 bounds←v3876;
word name←v3904;
word formal←c14408;
{
W7 var←c14344;
/* declaration of real←v3848 skipped */
register ptr gf←c14376 = (ptr) &globalframe;
word number←v3948;
formal←c14408 = (formal←c14408 - 40);
var←c14344.f4/* real←v3848 */ = formal←c0144;
var←c14344.f0 = formal←c14408;
/* RealToNum: */
SOURCE(1340, 511)
SOURCE(1340, 511)
number←v3948 = 0;
SOURCE(1438, 31)
if ((name←v3904 == 0)) {
SOURCE(1455, 14)
name←v3904 = (* (( (ptr) gf←c14376)+25) );
};
SOURCE(1471, 52)
SOURCE(1471, 52)
{
/* declaration of var←c04 skipped */
var←c14344.f5/* var←c04 */ = (* (( (ptr) (* (( (ptr) gf←c14376)+35)/* var←c13256 */ ))+6) );
{
/* declaration of var←c05 skipped */
{
word var←c06;
{
word var←c0131;
var←c0131 = (word) &var←c14344;
var←c06 = (word) XR←Enable(( ((word) (fPt) NoName←Q792) ), ( ((word) (fPt) NoName←Q1092) ), var←c0131);
};
if ((var←c06 == 3)) {
goto lab←L100008;
};
};
number←v3948 = var←c14344.f6/* var←c05 */ ;
};
};
lab←L100008: ;
SOURCE(1534, 115)
{
word x41;
if (((
x41 = var←c14344.f4/* real←v3848 */ , *(float*)&x41
) != (float)(int)number←v3948)) {
SOURCE(1554, 95)
{
word var←c13320;
{
W2 var←c13352;
W2 var←c13384;
W2 var←c0132;
var←c13352.f0 = 11;
var←c13352.f1 = name←v3904;
var←c13384.f0 = 8;
var←c13384.f1 = var←c14344.f4/* real←v3848 */ ;
(* (ptr) (word) &var←c0132 ) = 0;
(* (( (ptr) (word) &var←c0132) + 1) ) = 0;
{
word pd42;
pd42 = (* (( (ptr) (* (( (ptr) gf←c14376)+33)/* var←c13160 */ ))+62) );
var←c13320 = (word) ( *( (fPt) ((* (ptr) pd42 ))))((* (( (ptr) gf←c14376)+24) ), var←c13352, var←c13384, var←c0132, pd42)
;
};
};
(void) Complain←P60(var←c13320);
};
};
};
SOURCE(1651, 200)
if (( (int)number←v3948 < (int)bounds←v3876.f0) || ( (int)number←v3948 > (int)bounds←v3876.f1)) {
SOURCE(1703, 148)
{
word var←c13448;
{
W2 var←c13480;
W2 var←c13512;
W2 var←c13544;
var←c13480.f0 = 11;
var←c13480.f1 = name←v3904;
var←c13512.f0 = 5;
var←c13512.f1 = bounds←v3876.f0;
var←c13544.f0 = 5;
var←c13544.f1 = bounds←v3876.f1;
{
word pd43;
pd43 = (* (( (ptr) (* (( (ptr) gf←c14376)+33)/* var←c13160 */ ))+62) );
var←c13448 = (word) ( *( (fPt) ((* (ptr) pd43 ))))((* (( (ptr) gf←c14376)+12) ), var←c13480, var←c13512, var←c13544, pd43)
;
};
};
(void) Complain←P60(var←c13448);
};
};
SOURCE(1340, 511)
return(number←v3948);
}
static word NoName←Q792(formal←c0119)
word formal←c0119;
{
SOURCE(1471, 52)
{
word pd44;
pd44 = (* (( (ptr) formal←c0119)+5) );
(* (( (ptr) formal←c0119)+6) ) = (word) ( *( (fPt) ((* (ptr) pd44 ))))((* ((( (ptr) formal←c0119)+4)) ), pd44);
};
return(0);
}
static word RealFromRope←P360(formal←c0145, formal←c14504)
word formal←c0145;
word formal←c14504;
{
W8 var←c14440;
/* declaration of rope←v4008 skipped */
register ptr gf←c14472 = (ptr) &globalframe;
word real←v4052;
/* declaration of oops←v4096 skipped */
formal←c14504 = (formal←c14504 - 32);
var←c14440.f4/* rope←v4008 */ = formal←c0145;
var←c14440.f0 = formal←c14504;
/* RealFromRope: */
SOURCE(1856, 322)
SOURCE(1913, 18)
var←c14440.f5/* oops←v4096 */ = 0;
SOURCE(1933, 64)
SOURCE(1933, 64)
{
/* declaration of var←c07 skipped */
var←c14440.f6/* var←c07 */ = (* (( (ptr) (* (( (ptr) gf←c14472)+37)/* var←c13576 */ ))+12) );
{
/* declaration of var←c08 skipped */
{
word var←c09;
{
word var←c0133;
var←c0133 = (word) &var←c14440;
var←c09 = (word) XR←Enable(( ((word) (fPt) NoName←Q912) ), ( ((word) (fPt) NoName←Q1032) ), var←c0133);
};
if ((var←c09 == 4)) {
goto lab←L100012;
};
};
real←v4052 = var←c14440.f7/* var←c08 */ ;
};
};
lab←L100012: ;
SOURCE(2011, 91)
if ((0 != var←c14440.f5/* oops←v4096 */ )) {
SOURCE(2025, 12)
var←c14440.f5/* oops←v4096 */ = 0;
SOURCE(2039, 63)
SOURCE(2039, 63)
{
/* declaration of var←c010 skipped */
var←c14440.f6/* var←c010 */ = (* (( (ptr) (* (( (ptr) gf←c14472)+37)/* var←c13576 */ ))+10) );
{
/* declaration of var←c011 skipped */
{
word var←c012;
var←c012 = (word) XR←Enable(( ((word) (fPt) NoName←Q852) ), ( ((word) (fPt) NoName←Q972) ), (word) &var←c14440);
if ((var←c012 == 5)) {
goto lab←L100016;
};
};
{
float tf45;
real←v4052 = (
tf45 = (float)(int)var←c14440.f7/* var←c011 */ , *(word*)&tf45
);
};
};
};
lab←L100016: ;
};
SOURCE(2117, 61)
if ((0 != var←c14440.f5/* oops←v4096 */ )) {
SOURCE(2130, 48)
{
word var←c13608;
{
word pd46;
pd46 = (* (( (ptr) (* (( (ptr) gf←c14472)+34)/* var←c13192 */ ))+6) );
var←c13608 = (word) ( *( (fPt) ((* (ptr) pd46 ))))((* (( (ptr) gf←c14472)+11) ), var←c14440.f4/* rope←v4008 */ , pd46);
};
(void) Complain←P60(var←c13608);
};
};
SOURCE(1856, 322)
return(real←v4052);
}
static word NoName←Q852(formal←c0122)
word formal←c0122;
{
SOURCE(2039, 63)
{
word pd47;
pd47 = (* (( (ptr) formal←c0122)+6) );
(* (( (ptr) formal←c0122)+7) ) = (word) ( *( (fPt) ((* (ptr) pd47 ))))((* (( (ptr) formal←c0122)+4) ), 8, pd47);
};
return(0);
}
static word NoName←Q912(formal←c0123)
word formal←c0123;
{
SOURCE(1933, 64)
{
word pd48;
pd48 = (* (( (ptr) formal←c0123)+6) );
(* (( (ptr) formal←c0123)+7) ) = (word) ( *( (fPt) ((* (ptr) pd48 ))))((* ((( (ptr) formal←c0123)+4)) ), pd48);
};
return(0);
}
static void ParseBrick←P420(formal←c14568)
word formal←c14568;
{
register ptr gf←c14536 = (ptr) &globalframe;
word a←v4140;
word sSize←v4168 = 0;
word fSize←v4196 = 0;
word phase←v4224 = 0;
word maxSample←v4252 = 0;
word toner←v4280 = 0;
word n←v4308 = 0;
word brick←v4336;
formal←c14568 = (formal←c14568 - 24);
/* ParseBrick: */
SOURCE(2183, 1752)
SOURCE(2204, 59)
a←v4140 = XR←NewObject(4000, (* (( (ptr) gf←c14536)+10) ));
SOURCE(2372, 29)
brick←v4336 = XR←NewObject(12, (* (( (ptr) gf←c14536)+9) ));
SOURCE(2403, 23)
(* (( (ptr) formal←c14568)+17) ) = (word) GetCmdToken←P240((* (( (ptr) formal←c14568)+16) ), (word) (( (bPt) formal←c14568)+48)
);
SOURCE(2428, 338)
lab←L100021: ;
{
word pd49;
pd49 = (* (( (ptr) (* (( (ptr) gf←c14536)+34)/* var←c13192 */ ))+8) );
if ((word) ( *( (fPt) ((* (ptr) pd49 ))))((* (( (ptr) formal←c14568)+17) ), (* (( (ptr) gf←c14536)+26) ), 1, pd49)) {
}
else {
goto lab←L100019;
};
};
SOURCE(2458, 23)
(* (( (ptr) formal←c14568)+17) ) = (word) GetCmdToken←P240((* (( (ptr) formal←c14568)+16) ), (word) (( (bPt) formal←c14568)+48)
);
SOURCE(2483, 177)
lab←L100024: ;
{
word tc50;
word pd51;
if (((* (( (ptr) formal←c14568)+17) ) != 0)) {
pd51 = (* (( (ptr) (* (( (ptr) gf←c14536)+34)/* var←c13192 */ ))+8) );
tc50 = (word) (0 == (word) ( *( (fPt) ((* (ptr) pd51 ))))((* (( (ptr) formal←c14568)+17) ), (* (( (ptr) gf←c14536)+13) ), 1, pd51)
);
}
else {
tc50 = (word) 0;
};
if (tc50) {
}
else {
goto lab←L100022;
};
};
{
word val←v4476;
SOURCE(2531, 44)
{
word var←c13672;
var←c13672 = (word) RealFromRope←P360((* (( (ptr) formal←c14568)+17) ), (word) (( (bPt) formal←c14568)+32));
{
W2 var←c13704;
var←c13704.f0 = 0;
var←c13704.f1 = 2147483647;
val←v4476 = (word) RealToNum←P300(var←c13672, var←c13704, 0, (word) (( (bPt) formal←c14568)+40));
};
};
SOURCE(2577, 10)
(* (( (ptr) a←v4140)+BCK(n←v4308, 1000)) ) = val←v4476;
SOURCE(2589, 9)
n←v4308 = (n←v4308 + 1);
SOURCE(2600, 35)
if ((sSize←v4168 == 0)) {
SOURCE(2618, 17)
fSize←v4196 = (fSize←v4196 + 1);
};
SOURCE(2637, 23)
(* (( (ptr) formal←c14568)+17) ) = (word) GetCmdToken←P240((* (( (ptr) formal←c14568)+16) ), (word) (( (bPt) formal←c14568)+48)
);
};
goto lab←L100024;
lab←L100022: ;
SOURCE(2671, 17)
sSize←v4168 = (sSize←v4168 + 1);
SOURCE(2690, 51)
if (((n←v4308 % fSize←v4196) != 0)) {
SOURCE(2714, 27)
(void) Complain←P60((* ((( (ptr) gf←c14536)+14)) ));
};
SOURCE(2743, 23)
(* (( (ptr) formal←c14568)+17) ) = (word) GetCmdToken←P240((* (( (ptr) formal←c14568)+16) ), (word) (( (bPt) formal←c14568)+48)
);
goto lab←L100021;
lab←L100019: ;
SOURCE(2777, 85)
{
word pd52;
pd52 = (* (( (ptr) (* (( (ptr) gf←c14536)+34)/* var←c13192 */ ))+8) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd52 ))))((* (( (ptr) formal←c14568)+17) ), (* (( (ptr) gf←c14536)+13) ), 1, pd52)
)) {
SOURCE(2806, 29)
(* (( (ptr) formal←c14568)+17) ) = (word) GetCmdToken←P240((* (( (ptr) formal←c14568)+16) ), (word) (( (bPt) formal←c14568)+48)
);
}
else {
SOURCE(2835, 27)
(void) Complain←P60((* ((( (ptr) gf←c14536)+14)) ));
};
};
SOURCE(2864, 42)
{
word var←c13736;
var←c13736 = (word) RealFromRope←P360((* (( (ptr) formal←c14568)+17) ), (word) (( (bPt) formal←c14568)+32));
{
W2 var←c13768;
var←c13768.f0 = 0;
var←c13768.f1 = 65535;
{
word idx53;
phase←v4224 = (
idx53 = (word) RealToNum←P300(var←c13736, var←c13768, 0, (word) (( (bPt) formal←c14568)+40)),
SGNCK(idx53)
);
};
};
};
SOURCE(2908, 23)
(* (( (ptr) formal←c14568)+17) ) = (word) GetCmdToken←P240((* (( (ptr) formal←c14568)+16) ), (word) (( (bPt) formal←c14568)+48)
);
SOURCE(2933, 46)
{
word var←c13800;
var←c13800 = (word) RealFromRope←P360((* (( (ptr) formal←c14568)+17) ), (word) (( (bPt) formal←c14568)+32));
{
W2 var←c13832;
var←c13832.f0 = 0;
var←c13832.f1 = 65535;
{
word idx54;
maxSample←v4252 = (
idx54 = (word) RealToNum←P300(var←c13800, var←c13832, 0, (word) (( (bPt) formal←c14568)+40)),
SGNCK(idx54)
);
};
};
};
SOURCE(2981, 23)
(* (( (ptr) formal←c14568)+17) ) = (word) GetCmdToken←P240((* (( (ptr) formal←c14568)+16) ), (word) (( (bPt) formal←c14568)+48)
);
{
word pd55;
pd55 = (* (( (ptr) (* (( (ptr) gf←c14536)+34)/* var←c13192 */ ))+8) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd55 ))))((* (( (ptr) formal←c14568)+17) ), (* (( (ptr) gf←c14536)+15) ), 0, pd55)
)) {
SOURCE(3058, 13)
toner←v4280 = 0;
}
else {
{
word pd56;
pd56 = (* (( (ptr) (* (( (ptr) gf←c14536)+34)/* var←c13192 */ ))+8) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd56 ))))((* (( (ptr) formal←c14568)+17) ), (* (( (ptr) gf←c14536)+16) ), 0, pd56)
)) {
SOURCE(3107, 12)
toner←v4280 = 1;
}
else {
{
word pd57;
pd57 = (* (( (ptr) (* (( (ptr) gf←c14536)+34)/* var←c13192 */ ))+8) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd57 ))))((* (( (ptr) formal←c14568)+17) ), (* (( (ptr) gf←c14536)+17) ), 0, pd57)
)) {
SOURCE(3158, 15)
toner←v4280 = 2;
}
else {
{
word pd58;
pd58 = (* (( (ptr) (* (( (ptr) gf←c14536)+34)/* var←c13192 */ ))+8) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd58 ))))((* (( (ptr) formal←c14568)+17) ), (* (( (ptr) gf←c14536)+18) ), 0, pd58)
)) {
SOURCE(3211, 14)
toner←v4280 = 3;
}
else {
SOURCE(3238, 66)
{
/*1*/ word var←c13864;
/*1*/ {
/*1*/ word pd59;
/*1*/ pd59 = (* (( (ptr) (* (( (ptr) gf←c14536)+34)/* var←c13192 */ ))+5) );
/*1*/ var←c13864 = (word) ( *( (fPt) ((* (ptr) pd59 ))))((* (( (ptr) gf←c14536)+19) ), (* (( (ptr) formal←c14568)+17) ), (* (( (ptr) gf←c14536)+20)
/*1*/ ), 0, 0, pd59);
/*1*/ };
/*1*/ (void) Complain←P60(var←c13864);
/*1*/ };
};
};
};
};
};
};
};
};
SOURCE(3306, 23)
(* (( (ptr) formal←c14568)+17) ) = (word) GetCmdToken←P240((* (( (ptr) formal←c14568)+16) ), (word) (( (bPt) formal←c14568)+48)
);
SOURCE(3331, 81)
{
word pd60;
pd60 = (* (( (ptr) (* (( (ptr) gf←c14536)+34)/* var←c13192 */ ))+8) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd60 ))))((* (( (ptr) formal←c14568)+17) ), (* (( (ptr) gf←c14536)+21) ), 0, pd60)
)) {
SOURCE(3375, 37)
(void) Complain←P60((* ((( (ptr) gf←c14536)+22)) ));
};
};
SOURCE(3414, 27)
(* (ptr) brick←v4336 ) = maxSample←v4252;
SOURCE(3443, 133)
{
W4 var←c13896;
var←c13896.f0 = 0;
var←c13896.f1 = 0;
var←c13896.f2 = sSize←v4168;
var←c13896.f3 = fSize←v4196;
{
word pd61;
word idx62;
pd61 = (* (( (ptr) (* (( (ptr) gf←c14536)+38)/* var←c13928 */ ))+19) );
(* (( (ptr) brick←v4336)+1) ) = (word) ( *( (fPt) ((* (ptr) pd61 ))))(var←c13896, (
idx62 = (word) ( (maxSample←v4252 > 255) ? 32 : 8 ) ,
BCK(idx62, 33)
), 0, pd61);
};
};
SOURCE(3578, 19)
(* (( (ptr) brick←v4336)+2) ) = phase←v4224;
SOURCE(3599, 234)
{
register word s←v4520 = 0;
register word noName←c13960;
noName←c13960 = sSize←v4168;
if ((s←v4520 >= noName←c13960)) {
goto lab←L100025;
};
lab←L100028: ;
SOURCE(3627, 206)
{
register word f←v4564 = 0;
register word noName←c13992;
noName←c13992 = fSize←v4196;
if ((f←v4564 >= noName←c13992)) {
goto lab←L100029;
};
lab←L100032: ;
{
word val←v4608;
SOURCE(3655, 23)
{
word idx63;
word idx64;
val←v4608 = (
idx64 = (* (( (ptr) a←v4140)+(
idx63 = (word) ((s←v4520 * fSize←v4196) + f←v4564),
BCK(idx63, 1000)
)) ),
SGNCK(idx64)
);
};
SOURCE(3680, 86)
if ((val←v4608 > maxSample←v4252)) {
SOURCE(3714, 52)
(void) Complain←P60((* ((( (ptr) gf←c14536)+23)) ));
};
SOURCE(3768, 65)
{
W2 var←c14024;
var←c14024.f0 = s←v4520;
var←c14024.f1 = f←v4564;
{
word pd65;
pd65 = (* (( (ptr) (* (( (ptr) gf←c14536)+38)/* var←c13928 */ ))+43) );
(void) ( *( (fPt) ((* (ptr) pd65 ))))((* (( (ptr) brick←v4336)+1) ), var←c14024, val←v4608, 0, pd65);
};
};
};
f←v4564 = (f←v4564 + 1);
if ((f←v4564 < noName←c13992)) {
goto lab←L100032;
};
lab←L100029: ;
};
s←v4520 = (s←v4520 + 1);
if ((s←v4520 < noName←c13960)) {
goto lab←L100028;
};
lab←L100025: ;
};
SOURCE(3853, 82)
if (((* (bPt) ((( (bPt) formal←c14568)+18) + (toner←v4280 >> 3)) ) >> (7 - ((toner←v4280 & 7)))) & 1) {
SOURCE(3882, 53)
{
word var←c14056;
var←c14056 = XR←NewObject(24, (* (( (ptr) gf←c14536)+8) ));
(* (( (ptr) var←c14056)+1) ) = toner←v4280;
(* (W3Pt) (( (ptr) var←c14056)+2) ) = (* (W3Pt) brick←v4336 );
(* (( (ptr) var←c14056)+5) ) = (* (( (ptr) formal←c14568)+5) );
(* (( (ptr) formal←c14568)+5) ) = var←c14056;
};
};
}
static void NoName←Q972(formal←c090, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
word formal←c090;
word formal←c200012;
word formal←c200013;
word formal←c200014;
word formal←c200015;
{
register ptr gf←c0126 = (ptr) &globalframe;
if ((formal←c200013 == (* (( (ptr) (* (( (ptr) gf←c0126)+37)/* var←c13576 */ ))+7) ))) {
{
word reason←v12180;
word index←v12208;
reason←v12180 = (* (ptr) formal←c200015 );
index←v12208 = (* (( (ptr) formal←c200015)+1) );
SOURCE(2091, 11)
(* (( (ptr) formal←c200012)+5) ) = 1;
SOURCE(2104, 8)
(* (ptr) formal←c090 ) = 2;
(* (( (ptr) formal←c090)+1) ) = 5;
return;
};
};
(* (ptr) formal←c090 ) = 0;
(* (( (ptr) formal←c090)+1) ) = 0;
return;
}
static void NoName←Q1032(formal←c097, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
word formal←c097;
word formal←c200008;
word formal←c200009;
word formal←c200010;
word formal←c200011;
{
register ptr gf←c0127 = (ptr) &globalframe;
if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0127)+37)/* var←c13576 */ ))+7) ))) {
{
word reason←v12092;
word index←v12120;
reason←v12092 = (* (ptr) formal←c200011 );
index←v12120 = (* (( (ptr) formal←c200011)+1) );
SOURCE(1986, 11)
(* (( (ptr) formal←c200008)+5) ) = 1;
SOURCE(1999, 8)
(* (ptr) formal←c097 ) = 2;
(* (( (ptr) formal←c097)+1) ) = 4;
return;
};
};
(* (ptr) formal←c097 ) = 0;
(* (( (ptr) formal←c097)+1) ) = 0;
return;
}
static void NoName←Q1092(formal←c0104, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
word formal←c0104;
word formal←c200004;
word formal←c200005;
word formal←c200006;
word formal←c200007;
{
register ptr gf←c0128 = (ptr) &globalframe;
if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c0128)+36)/* var←c13288 */ ))+22) ))) {
{
word signal←v11752;
word parameters←v11780;
signal←v11752 = (* (ptr) formal←c200007 );
parameters←v11780 = (* (( (ptr) formal←c200007)+1) );
SOURCE(1523, 9)
(* (ptr) formal←c0104 ) = 2;
(* (( (ptr) formal←c0104)+1) ) = 3;
return;
};
};
(* (ptr) formal←c0104 ) = 0;
(* (( (ptr) formal←c0104)+1) ) = 0;
return;
}
static void NoName←Q1152(formal←c0110, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
word formal←c0110;
word formal←c200000;
word formal←c200001;
word formal←c200002;
word formal←c200003;
{
register ptr gf←c0129 = (ptr) &globalframe;
if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0129)+33)/* var←c13160 */ ))+4) ))) {
{
word stream←v11692;
stream←v11692 = (* (ptr) formal←c200003 );
SOURCE(1320, 15)
(* (ptr) formal←c0110 ) = 2;
(* (( (ptr) formal←c0110)+1) ) = 2;
return;
};
};
(* (ptr) formal←c0110 ) = 0;
(* (( (ptr) formal←c0110)+1) ) = 0;
return;
}
/* file: CustomBrickImpl, module: CustomBrickImpl, compiled at: February 22, 1992 2:21:47 pm PST */
extern void XR←install←CustomBrickImpl() {
NoName←Q672();
}
extern void XR←run←CustomBrickImpl() { XR←Start(&globalframe); }