DecStr = String[255]; CStrPtr = ^int8; Decimal struct { sgn: int16; exp: int16; sig: String[20]; } DecForm struct { style: int16; digits: int16; } RelOp enum { GreaterThan, LessThan, EqualTo, Unordered, } Exception = int16; Environment = int16; SANEStartUp(dPageAddr: int16) { $0a, $02 } SANEShutDown() { $0a, $03 } SANEVersion(): int16 { $0a, $04 } SANEReset() { $0a, $05 } SANEStatus(): bool { $0a, $06 } SANEFP816() { $0a, $09 } SANEDecStr816() { $0a, $0a } SANEElems816() { $0a, $0b } Num2Integer(x: Extended): int16; Num2Longint(x: Extended): int32; Num2Real(x: Extended): Single; Num2Double(x: Extended): Double; Num2Extended(x: Extended): Extended; Num2Dec(f: ^DecForm, x: Extended, d: ^Decimal); Dec2Num(d: ^Decimal): Extended; Str2Dec(s: ^DecStr, index: ^int16, d: ^Decimal, validPrefix: ^bool); CStr2Dec(s: CStrPtr, index: ^int16, validPrefix: ^bool); Dec2Str(f: ^DecForm, d: ^Decimal, s: ^DecStr); Remainder(x: Extended, y: Extended, quo: ^int16): Extended; Rint(x: Extended): Extended; Scalb(x: Extended, n: int16): Extended; Logb(x: Extended): Extended; Log2(x: Extended): Extended; Ln1(x: Extended): Extended; Exp2(x: Extended): Extended; Tan(x: Extended): Extended; CopySign(x: Extended, y: Extended): Extended; NextExtended(x: Extended, y: Extended): Extended; XpwrI(x: Extended, i: int16): Extended; XpwrY(x: Extended, y: Extended): Extended; Compound(r: Extended, n: Extended): Extended; Annuity(r: Extended, n: Extended): Extended; RandomX(x: ^Extended): Extended; ClassReal(x: Single): int16; ClassDouble(x: Double): int16; ClassExtended(x: Extended): int16; SignNum(x: Extended): int16; NAN(i: int16): Extended; GetHaltVector(): int16; SetHaltVector(v: int16); SetEnvironment(e: Environment); GetEnvironment(e: ^Environment); ProcEntry(e: ^Environment); ProcExit(e: Environment); Relation(x: Extended, y: Extended): RelOp;