/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */
/* time: February 21, 1992 11:08:09 pm PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: ScaledX, module: ScaledX */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [770320316,1829083746] ScaledX";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
#define SOURCE(p, l) /* source p, l */
#define INEG(x) ( (word) ( - ((int) (word) (x)) ) )
#define MAX(cast, x, y) ( ( cast x) > ( cast y) ? (x) : (y) )
#define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) )
static void NoName←Q2400();
static void ScaledX←P0();
static word FromInt←P60();
static word PLUS←P120();
static word MINUS←P180();
static word UMINUS←P240();
static word GREATER←P300();
static word LESS←P360();
static word Max←P420();
static word Min←P480();
static word Floor←P540();
static word Ceiling←P600();
static word Round←P660();
static word Float←P720();
static word FromReal←P780();
static word Halve←P840();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\055\352\047\274\300\155\005\232\142\100\164\000\000"};
static struct {unsigned f; char r[16];} string2 = {851984, "\257\300\346\312\312\137\300\332\074\046\072\100\150\000\000"};
static struct {
word f0[4]; word f4; word f5; word f6;
word f7; word f8; word f9; word f10;
word f11; word f12; word f13; word f14;
word f15; word f16; word f17; word f18;
word f19; word f20; word f21; word f22;
word f23; word f24; word f25; word f26;
word f27; word f28; word f29; word f30;
word f31; word f32; word f33[2];
} globalframe = {
{0}, (word) Halve←P840, 0, (word) FromReal←P780,
0, (word) Float←P720, 0, (word) Round←P660,
0, (word) Ceiling←P600, 0, (word) Floor←P540,
0, (word) Min←P480, 0, (word) Max←P420,
0, (word) LESS←P360, 0, (word) GREATER←P300,
0, (word) UMINUS←P240, 0, (word) MINUS←P180,
0, (word) PLUS←P120, 0, (word) FromInt←P60,
0, (word) ScaledX←P0, {0}
};
static void NoName←Q2400()
{
register ptr gf←c070 = (ptr) &globalframe;
word var←c11876;
(void) XR←DeclareGlobalFrame((word) "ScaledX", &globalframe, (word) XR←GetTypeIndexS((word) (&string1)), (word) (( (bPt) gf←c070)+128)
/* var←c11108 */ );
var←c11876 = (word) XR←ImportInterface((word) "Scaled", (word) XR←GetTypeIndexS((word) (&string2)), 19);
(* (( (ptr) gf←c070)+34)/* var←c11780 */ ) = var←c11876;
(void) XR←ImportProcS(var←c11876, 67375617);
(void) XR←ImportProcS(var←c11876, 67371777);
(void) XR←ImportProcS(var←c11876, 67375105);
}
static void ScaledX←P0(formal←c019, formal←c018)
word formal←c019;
word formal←c018;
{
/* ScaledX: */
}
static word FromInt←P60(int←v2912)
word int←v2912;
{
word var←c2956;
/* FromInt: */
SOURCE(94, 75)
SOURCE(142, 27)
return((int←v2912 << 16));
}
static word PLUS←P120(a←v3016, b←v3044)
word a←v3016;
word b←v3044;
{
word var←c3088;
/* PLUS: */
SOURCE(172, 69)
SOURCE(216, 25)
{
word var←c11172;
{
word i←v6116;
i←v6116 = (a←v3016 + b←v3044);
var←c11172 = i←v6116;
};
return(var←c11172);
};
}
static word MINUS←P180(a←v3148, b←v3176)
word a←v3148;
word b←v3176;
{
word var←c3220;
/* MINUS: */
SOURCE(244, 71)
SOURCE(289, 26)
{
word var←c11236;
{
word i←v6892;
i←v6892 = (a←v3148 - b←v3176);
var←c11236 = i←v6892;
};
return(var←c11236);
};
}
static word UMINUS←P240(a←v3280)
word a←v3280;
{
word var←c3324;
/* UMINUS: */
SOURCE(318, 67)
SOURCE(361, 24)
{
word var←c11300;
{
word i←v7364;
i←v7364 = INEG(a←v3280);
var←c11300 = i←v7364;
};
return(var←c11300);
};
}
static word GREATER←P300(a←v3384, b←v3412)
word a←v3384;
word b←v3412;
{
word var←c3456;
/* GREATER: */
SOURCE(388, 77)
SOURCE(437, 28)
return(( (int)a←v3384 > (int)b←v3412));
}
static word LESS←P360(a←v3516, b←v3544)
word a←v3516;
word b←v3544;
{
word var←c3588;
/* LESS: */
SOURCE(468, 71)
SOURCE(514, 25)
return(( (int)a←v3516 < (int)b←v3544));
}
static word Max←P420(a←v3648, b←v3676)
word a←v3648;
word b←v3676;
{
word var←c3720;
/* Max: */
SOURCE(542, 67)
SOURCE(585, 24)
{
word var←c11364;
{
word i←v8300;
i←v8300 = (MAX((int)(word), a←v3648, b←v3676));
var←c11364 = i←v8300;
};
return(var←c11364);
};
}
static word Min←P480(a←v3780, b←v3808)
word a←v3780;
word b←v3808;
{
word var←c3852;
/* Min: */
SOURCE(612, 67)
SOURCE(655, 24)
{
word var←c11428;
{
word i←v8644;
i←v8644 = (MIN((int)(word), a←v3780, b←v3808));
var←c11428 = i←v8644;
};
return(var←c11428);
};
}
static word Floor←P540(a←v3912)
word a←v3912;
{
word var←c3956;
/* Floor: */
SOURCE(682, 67)
SOURCE(726, 23)
return( (word)( (int)a←v3912 >> 16));
}
static word Ceiling←P600(a←v4016)
word a←v4016;
{
word var←c4060;
/* Ceiling: */
SOURCE(752, 71)
SOURCE(798, 25)
{
word var←c11492;
{
word a←v9356;
{
word i←v9624;
i←v9624 = (a←v4016 + 65535);
a←v9356 = i←v9624;
};
var←c11492 = (word)( (int)a←v9356 >> 16);
};
return(var←c11492);
};
}
static word Round←P660(a←v4120)
word a←v4120;
{
word var←c4164;
/* Round: */
SOURCE(826, 67)
SOURCE(870, 23)
{
word var←c11620;
{
word a←v9980;
{
word i←v10012;
i←v10012 = (a←v4120 + 32768);
a←v9980 = i←v10012;
};
var←c11620 = (word)( (int)a←v9980 >> 16);
};
return(var←c11620);
};
}
static word Float←P720(a←v4224)
word a←v4224;
{
register ptr gf←c11908 = (ptr) &globalframe;
word var←c4268;
/* Float: */
SOURCE(896, 64)
SOURCE(937, 23)
{
word pd3;
pd3 = (* (( (ptr) (* (( (ptr) gf←c11908)+34)/* var←c11780 */ ))+20) );
return((word) ( *( (fPt) ((* (ptr) pd3 ))))(a←v4224, pd3));
};
}
static word FromReal←P780(real←v4328)
word real←v4328;
{
register ptr gf←c11940 = (ptr) &globalframe;
word var←c4372;
/* FromReal: */
SOURCE(963, 76)
SOURCE(1010, 29)
{
word pd4;
pd4 = (* (( (ptr) (* (( (ptr) gf←c11940)+34)/* var←c11780 */ ))+7) );
return((word) ( *( (fPt) ((* (ptr) pd4 ))))(real←v4328, pd4));
};
}
static word Halve←P840(a←v4432)
word a←v4432;
{
register ptr gf←c11972 = (ptr) &globalframe;
word var←c4476;
/* Halve: */
SOURCE(1042, 65)
SOURCE(1084, 23)
{
word pd5;
pd5 = (* (( (ptr) (* (( (ptr) gf←c11972)+34)/* var←c11780 */ ))+22) );
return((word) ( *( (fPt) ((* (ptr) pd5 ))))(a←v4432, pd5));
};
}
/* file: ScaledX, module: ScaledX, compiled at: February 21, 1992 11:08:09 pm PST */
extern void XR←install←ScaledX() {
NoName←Q2400();
}
extern void XR←run←ScaledX() { XR←Start(&globalframe); }