regs/iigs/sane.txt
2023-07-02 02:16:47 -07:00

82 lines
1.8 KiB
Plaintext

DecStr = String[255];
CStrPtr = ^int8;
Decimal struct {
sgn: int16;
exp: int16;
sig: String[20];
}
DecForm struct {
style: int16;
digits: int16;
}
RelOp enum<int16> {
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;