Moving to config independent types stage 1 - generate intxx types.

This commit is contained in:
David Brown 2016-09-01 14:14:06 +01:00
parent 159f5a3d80
commit ee8342ef0d
168 changed files with 6673 additions and 6565 deletions

View file

@ -5,19 +5,19 @@
static void Reals_BytesToHex (SYSTEM_BYTE *b, LONGINT b__len, SYSTEM_BYTE *d, LONGINT d__len);
export void Reals_Convert (REAL x, INTEGER n, CHAR *d, LONGINT d__len);
export void Reals_Convert (REAL x, int16 n, CHAR *d, LONGINT d__len);
export void Reals_ConvertH (REAL y, CHAR *d, LONGINT d__len);
export void Reals_ConvertHL (LONGREAL x, CHAR *d, LONGINT d__len);
export void Reals_ConvertL (LONGREAL x, INTEGER n, CHAR *d, LONGINT d__len);
export INTEGER Reals_Expo (REAL x);
export INTEGER Reals_ExpoL (LONGREAL x);
export void Reals_SetExpo (REAL *x, INTEGER ex);
export REAL Reals_Ten (INTEGER e);
export LONGREAL Reals_TenL (INTEGER e);
static CHAR Reals_ToHex (INTEGER i);
export void Reals_ConvertL (LONGREAL x, int16 n, CHAR *d, LONGINT d__len);
export int16 Reals_Expo (REAL x);
export int16 Reals_ExpoL (LONGREAL x);
export void Reals_SetExpo (REAL *x, int16 ex);
export REAL Reals_Ten (int16 e);
export LONGREAL Reals_TenL (int16 e);
static CHAR Reals_ToHex (int16 i);
REAL Reals_Ten (INTEGER e)
REAL Reals_Ten (int16 e)
{
REAL _o_result;
LONGREAL r, power;
@ -34,7 +34,7 @@ REAL Reals_Ten (INTEGER e)
return _o_result;
}
LONGREAL Reals_TenL (INTEGER e)
LONGREAL Reals_TenL (int16 e)
{
LONGREAL _o_result;
LONGREAL r, power;
@ -54,43 +54,43 @@ LONGREAL Reals_TenL (INTEGER e)
__RETCHK;
}
INTEGER Reals_Expo (REAL x)
int16 Reals_Expo (REAL x)
{
INTEGER _o_result;
INTEGER i;
__GET((SYSTEM_ADRINT)&x + 2, i, INTEGER);
int16 _o_result;
int16 i;
__GET((SYSTEM_ADRINT)&x + 2, i, int16);
_o_result = __MASK(__ASHR(i, 7), -256);
return _o_result;
}
void Reals_SetExpo (REAL *x, INTEGER ex)
void Reals_SetExpo (REAL *x, int16 ex)
{
CHAR c;
__GET((SYSTEM_ADRINT)x + 3, c, CHAR);
__PUT((SYSTEM_ADRINT)x + 3, (CHAR)(__ASHL(__ASHR((SYSTEM_INT16)c, 7), 7) + __MASK(__ASHR(ex, 1), -128)), CHAR);
__PUT((SYSTEM_ADRINT)x + 3, (CHAR)(__ASHL(__ASHR((int16)c, 7), 7) + __MASK(__ASHR(ex, 1), -128)), CHAR);
__GET((SYSTEM_ADRINT)x + 2, c, CHAR);
__PUT((SYSTEM_ADRINT)x + 2, (CHAR)(__MASK((SYSTEM_INT16)c, -128) + __ASHL(__MASK(ex, -2), 7)), CHAR);
__PUT((SYSTEM_ADRINT)x + 2, (CHAR)(__MASK((int16)c, -128) + __ASHL(__MASK(ex, -2), 7)), CHAR);
}
INTEGER Reals_ExpoL (LONGREAL x)
int16 Reals_ExpoL (LONGREAL x)
{
INTEGER _o_result;
INTEGER i;
__GET((SYSTEM_ADRINT)&x + 6, i, INTEGER);
int16 _o_result;
int16 i;
__GET((SYSTEM_ADRINT)&x + 6, i, int16);
_o_result = __MASK(__ASHR(i, 4), -2048);
return _o_result;
}
void Reals_ConvertL (LONGREAL x, INTEGER n, CHAR *d, LONGINT d__len)
void Reals_ConvertL (LONGREAL x, int16 n, CHAR *d, LONGINT d__len)
{
LONGINT i, j, k;
int32 i, j, k;
if (x < (LONGREAL)0) {
x = -x;
}
k = 0;
if (n > 9) {
i = (SYSTEM_INT32)__ENTIER(x / (LONGREAL)(LONGREAL)1000000000);
j = (SYSTEM_INT32)__ENTIER(x - i * (LONGREAL)1000000000);
i = (int32)__ENTIER(x / (LONGREAL)(LONGREAL)1000000000);
j = (int32)__ENTIER(x - i * (LONGREAL)1000000000);
if (j < 0) {
j = 0;
}
@ -100,7 +100,7 @@ void Reals_ConvertL (LONGREAL x, INTEGER n, CHAR *d, LONGINT d__len)
k += 1;
}
} else {
i = (SYSTEM_INT32)__ENTIER(x);
i = (int32)__ENTIER(x);
}
while (k < n) {
d[__X(k, d__len)] = (CHAR)((int)__MOD(i, 10) + 48);
@ -109,12 +109,12 @@ void Reals_ConvertL (LONGREAL x, INTEGER n, CHAR *d, LONGINT d__len)
}
}
void Reals_Convert (REAL x, INTEGER n, CHAR *d, LONGINT d__len)
void Reals_Convert (REAL x, int16 n, CHAR *d, LONGINT d__len)
{
Reals_ConvertL(x, n, (void*)d, d__len);
}
static CHAR Reals_ToHex (INTEGER i)
static CHAR Reals_ToHex (int16 i)
{
CHAR _o_result;
if (i < 10) {
@ -129,15 +129,15 @@ static CHAR Reals_ToHex (INTEGER i)
static void Reals_BytesToHex (SYSTEM_BYTE *b, LONGINT b__len, SYSTEM_BYTE *d, LONGINT d__len)
{
INTEGER i;
LONGINT l;
int16 i;
int32 l;
CHAR by;
i = 0;
l = b__len;
while (i < l) {
by = __VAL(CHAR, b[__X(i, b__len)]);
d[__X(__ASHL(i, 1), d__len)] = Reals_ToHex(__ASHR((SYSTEM_INT16)by, 4));
d[__X(__ASHL(i, 1) + 1, d__len)] = Reals_ToHex(__MASK((SYSTEM_INT16)by, -16));
d[__X(__ASHL(i, 1), d__len)] = Reals_ToHex(__ASHR((int16)by, 4));
d[__X(__ASHL(i, 1) + 1, d__len)] = Reals_ToHex(__MASK((int16)by, -16));
i += 1;
}
}