/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */ /* time: February 21, 1992 9:06:32 pm PST */ /* C2C version: October 16, 1990 (native) */ /* ref-counting: off */ /* file: FloatingPointSoftImpl, module: FloatingPointSoftImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [20138444,369228289] FloatingPointSoftImpl"; 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 FloatingPointSoftImpl←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\001\063\111\314\300\026\001\372\001\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) FloatingPointSoftImpl←P0, {0} }; static void NoName←Q420() { register ptr gf←c024 = (ptr) &globalframe; word var←c3976; (void) XR←DeclareGlobalFrame((word) "FloatingPointSoftImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string1)), (word) ( ( (bPt) gf←c024)+72)/* var←c3912 */ ); var←c3976 = (word) XR←ExportInterface((word) "FloatingPointCommon", (word) XR←GetTypeIndexS((word) (&string2)), 5); (* (( (ptr) gf←c024)+20)/* var←c3944 */ ) = var←c3976; (void) XR←ExportVar(var←c3976, 0, (word) (( (bPt) gf←c024)+20)/* var←c3688 */ ); (void) XR←ExportProcS(var←c3976, (word) (( (bPt) gf←c024)+48)/* var←c3816 */ , 67109120); (void) XR←ExportProcS(var←c3976, (word) (( (bPt) gf←c024)+40)/* var←c3784 */ , 67109376); (void) XR←ExportProcS(var←c3976, (word) (( (bPt) gf←c024)+32)/* var←c3752 */ , 67109632); (void) XR←ExportProcS(var←c3976, (word) (( (bPt) gf←c024)+24)/* var←c3720 */ , 67372033); var←c3976 = (word) XR←ExportInterface((word) "FloatingPointPrivate", (word) XR←GetTypeIndexS((word) (&string3)), 2); (* (( (ptr) gf←c024)+20)/* var←c3944 */ ) = var←c3976; (void) XR←ExportVar(var←c3976, 0, (word) (( (bPt) gf←c024)+16)/* currentState←v2436 */ ); (void) XR←ExportProcS(var←c3976, (word) (( (bPt) gf←c024)+64)/* var←c3880 */ , 67371265); } static void FloatingPointSoftImpl←P0(formal←c013, formal←c012) word formal←c013; word formal←c012; { /* FloatingPointSoftImpl: */ } static word SetState←P60(new←v2740) word new←v2740; { register ptr gf←c4008 = (ptr) &globalframe; word old←v2784; /* SetState: */ SOURCE(244, 118) SOURCE(320, 18) old←v2784 = (* (( (ptr) gf←c4008)+4)/* currentState←v2436 */ ); SOURCE(340, 22) (* (( (ptr) gf←c4008)+4)/* currentState←v2436 */ ) = 0; SOURCE(244, 118) return(old←v2784); } static void FloatingSignalHandler←P120(code←v3516) word code←v3516; { register ptr gf←c4040 = (ptr) &globalframe; /* FloatingSignalHandler: */ SOURCE(430, 73) SOURCE(486, 17) { word var←c017; var←c017 = code←v3516; (void) XR←RaiseError((word) (( (bPt) gf←c4040)+20)/* var←c3688 */ , (word) &var←c017); }; } static word SupportedExceptionErrors←P180() { register ptr gf←c4072 = (ptr) &globalframe; word var←c2964; word flags←v3216 = 0; /* SupportedExceptionErrors: */ SOURCE(554, 241) SOURCE(659, 117) if (((* (( (ptr) gf←c4072)+4)/* currentState←v2436 */ ) != 0)) { SOURCE(692, 30) flags←v3216 = (flags←v3216 & 4294967263) | (((1)) << 5); SOURCE(724, 22) flags←v3216 = (flags←v3216 & 4294967279) | (((1)) << 4); SOURCE(748, 28) flags←v3216 = (flags←v3216 & 4294967287) | (((1)) << 3); }; SOURCE(781, 14) return(flags←v3216); } static word SupportedStickyFlags←P240() { word var←c3024; /* SupportedStickyFlags: */ SOURCE(800, 84) SOURCE(863, 21) return(0); } static word GetStickyFlags←P300() { word var←c3084; /* GetStickyFlags: */ SOURCE(890, 78) SOURCE(947, 21) return(0); } static word SetStickyFlags←P360(new←v3144) word new←v3144; { word old←v3188; /* SetStickyFlags: */ SOURCE(974, 120) SOURCE(974, 120) old←v3188 = 0; SOURCE(1073, 21) return(0); } /* file: FloatingPointSoftImpl, module: FloatingPointSoftImpl, compiled at: February 21, 1992 9:06:32 pm PST */ extern void XR←install←FloatingPointSoftImpl() { NoName←Q420(); } extern void XR←run←FloatingPointSoftImpl() { XR←Start(&globalframe); }