/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */
/* time: February 21, 1992 9:06:01 pm PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: FloatingPointImpl, module: FloatingPointImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3788192068,898228856] FloatingPointImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
#define SOURCE(p, l) /* source p, l */
static void NoName←Q420();
static void FloatingPointImpl←P0();
static word SetState←P60();
static void FloatingSignalHandler←P120();
static word SupportedExceptionErrors←P180();
static word SupportedStickyFlags←P240();
static word GetStickyFlags←P300();
static word SetStickyFlags←P360();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\341\313\071\104\300\065\211\342\170\100\150\000\000"};
static struct {unsigned f; char r[16];} string2 = {851984, "\257\300\150\261\123\070\300\276\161\220\062\100\150\000\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\161\243\131\157\300\276\230\231\046\100\150\000\000"};
static struct {
word f0[6]; 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[2];
} globalframe = {
{0}, (word) SetStickyFlags←P360, 0, (word) GetStickyFlags←P300,
0, (word) SupportedStickyFlags←P240, 0, (word) SupportedExceptionErrors←P180,
0, (word) FloatingSignalHandler←P120, 0, (word) SetState←P60,
0, (word) FloatingPointImpl←P0, {0}
};
static void NoName←Q420()
{
register ptr gf←c024 = (ptr) &globalframe;
word var←c4124;
(void) XR←DeclareGlobalFrame((word) "FloatingPointImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string1)), (word) (
( (bPt) gf←c024)+72)/* var←c4060 */ );
var←c4124 = (word) XR←ExportInterface((word) "FloatingPointCommon", (word) XR←GetTypeIndexS((word) (&string2)), 5);
(* (( (ptr) gf←c024)+20)/* var←c4092 */ ) = var←c4124;
(void) XR←ExportVar(var←c4124, 0, (word) (( (bPt) gf←c024)+20)/* var←c3836 */ );
(void) XR←ExportProcS(var←c4124, (word) (( (bPt) gf←c024)+48)/* var←c3964 */ , 67109120);
(void) XR←ExportProcS(var←c4124, (word) (( (bPt) gf←c024)+40)/* var←c3932 */ , 67109376);
(void) XR←ExportProcS(var←c4124, (word) (( (bPt) gf←c024)+32)/* var←c3900 */ , 67109632);
(void) XR←ExportProcS(var←c4124, (word) (( (bPt) gf←c024)+24)/* var←c3868 */ , 67372033);
var←c4124 = (word) XR←ExportInterface((word) "FloatingPointPrivate", (word) XR←GetTypeIndexS((word) (&string3)), 2);
(* (( (ptr) gf←c024)+20)/* var←c4092 */ ) = var←c4124;
(void) XR←ExportVar(var←c4124, 0, (word) (( (bPt) gf←c024)+16)/* currentState←v2436 */ );
(void) XR←ExportProcS(var←c4124, (word) (( (bPt) gf←c024)+64)/* var←c4028 */ , 67371265);
}
static void FloatingPointImpl←P0(formal←c013, formal←c012)
word formal←c013;
word formal←c012;
{
/* FloatingPointImpl: */
}
static word SetState←P60(new←v2740)
word new←v2740;
{
register ptr gf←c4156 = (ptr) &globalframe;
word old←v2784;
/* SetState: */
SOURCE(240, 250)
SOURCE(472, 18)
old←v2784 = (* (( (ptr) gf←c4156)+4)/* currentState←v2436 */ );
SOURCE(240, 250)
return(old←v2784);
}
static void FloatingSignalHandler←P120(code←v3664)
word code←v3664;
{
register ptr gf←c4188 = (ptr) &globalframe;
/* FloatingSignalHandler: */
SOURCE(766, 73)
SOURCE(822, 17)
{
word var←c017;
var←c017 = code←v3664;
(void) XR←RaiseError((word) (( (bPt) gf←c4188)+20)/* var←c3836 */ , (word) &var←c017);
};
}
static word SupportedExceptionErrors←P180()
{
register ptr gf←c4220 = (ptr) &globalframe;
word var←c2964;
word flags←v3364 = 0;
/* SupportedExceptionErrors: */
SOURCE(890, 241)
SOURCE(995, 117)
if (((* (( (ptr) gf←c4220)+4)/* currentState←v2436 */ ) != 0)) {
SOURCE(1028, 30)
flags←v3364 = (flags←v3364 & 4294967263) | (((1)) << 5);
SOURCE(1060, 22)
flags←v3364 = (flags←v3364 & 4294967279) | (((1)) << 4);
SOURCE(1084, 28)
flags←v3364 = (flags←v3364 & 4294967287) | (((1)) << 3);
};
SOURCE(1117, 14)
return(flags←v3364);
}
static word SupportedStickyFlags←P240()
{
word var←c3024;
/* SupportedStickyFlags: */
SOURCE(1136, 84)
SOURCE(1199, 21)
return(0);
}
static word GetStickyFlags←P300()
{
word var←c3084;
/* GetStickyFlags: */
SOURCE(1226, 78)
SOURCE(1283, 21)
return(0);
}
static word SetStickyFlags←P360(new←v3144)
word new←v3144;
{
word old←v3188;
/* SetStickyFlags: */
SOURCE(1310, 120)
SOURCE(1310, 120)
old←v3188 = 0;
SOURCE(1409, 21)
return(0);
}
/* file: FloatingPointImpl, module: FloatingPointImpl, compiled at: February 21, 1992 9:06:01 pm PST */
extern void XR←install←FloatingPointImpl() {
NoName←Q420();
}
extern void XR←run←FloatingPointImpl() { XR←Start(&globalframe); }