mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 20:22:24 +00:00
Original meaning of VAL restored. Many library files disabled until use of VAL in 64 bits fixed.
This commit is contained in:
parent
8f82f6e47b
commit
80f5e51789
29 changed files with 261 additions and 174 deletions
|
|
@ -864,8 +864,10 @@ void Files_ReadLInt (Files_Rider *R, LONGINT *R__typ, LONGINT *x)
|
||||||
void Files_ReadSet (Files_Rider *R, LONGINT *R__typ, SET *x)
|
void Files_ReadSet (Files_Rider *R, LONGINT *R__typ, SET *x)
|
||||||
{
|
{
|
||||||
CHAR b[4];
|
CHAR b[4];
|
||||||
|
LONGINT l;
|
||||||
Files_ReadBytes(&*R, R__typ, (void*)b, ((LONGINT)(4)), ((LONGINT)(4)));
|
Files_ReadBytes(&*R, R__typ, (void*)b, ((LONGINT)(4)), ((LONGINT)(4)));
|
||||||
*x = (SET)(((LONGINT)((int)b[0] + __ASHL((int)b[1], 8)) + __ASHL((LONGINT)b[2], 16)) + __ASHL((LONGINT)b[3], 24));
|
l = ((LONGINT)((int)b[0] + __ASHL((int)b[1], 8)) + __ASHL((LONGINT)b[2], 16)) + __ASHL((LONGINT)b[3], 24);
|
||||||
|
*x = (SET)l;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Files_ReadReal (Files_Rider *R, LONGINT *R__typ, REAL *x)
|
void Files_ReadReal (Files_Rider *R, LONGINT *R__typ, REAL *x)
|
||||||
|
|
|
||||||
|
|
@ -2237,6 +2237,9 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, SHORTINT fctno)
|
||||||
if (((x->class == 8 || x->class == 9) || __IN(f, 0x1401)) || x->typ->comp == 3) {
|
if (((x->class == 8 || x->class == 9) || __IN(f, 0x1401)) || x->typ->comp == 3) {
|
||||||
OPB_err(126);
|
OPB_err(126);
|
||||||
}
|
}
|
||||||
|
if (x->typ->size < p->typ->size) {
|
||||||
|
OPB_err(-308);
|
||||||
|
}
|
||||||
t = OPT_NewNode(11);
|
t = OPT_NewNode(11);
|
||||||
t->subcl = 29;
|
t->subcl = 29;
|
||||||
t->left = x;
|
t->left = x;
|
||||||
|
|
|
||||||
|
|
@ -541,16 +541,16 @@ void OPM_FPrintSet (LONGINT *fp, SET set)
|
||||||
|
|
||||||
void OPM_FPrintReal (LONGINT *fp, REAL real)
|
void OPM_FPrintReal (LONGINT *fp, REAL real)
|
||||||
{
|
{
|
||||||
OPM_FPrint(&*fp, __VAL(LONGINT, real));
|
INTEGER i;
|
||||||
|
LONGINT l;
|
||||||
|
__GET((LONGINT)(uintptr_t)&real, l, LONGINT);
|
||||||
|
OPM_FPrint(&*fp, l);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OPM_FPrintLReal (LONGINT *fp, LONGREAL lr)
|
void OPM_FPrintLReal (LONGINT *fp, LONGREAL lr)
|
||||||
{
|
{
|
||||||
LONGINT l, h;
|
LONGINT l, h;
|
||||||
__GET((LONGINT)(uintptr_t)&lr, l, LONGINT);
|
OPM_FPrint(&*fp, __VAL(LONGINT, lr));
|
||||||
__GET((LONGINT)(uintptr_t)&lr + 4, h, LONGINT);
|
|
||||||
OPM_FPrint(&*fp, l);
|
|
||||||
OPM_FPrint(&*fp, h);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OPM_GetProperty (Texts_Scanner *S, LONGINT *S__typ, CHAR *name, LONGINT name__len, INTEGER *size, INTEGER *align)
|
static void OPM_GetProperty (Texts_Scanner *S, LONGINT *S__typ, CHAR *name, LONGINT name__len, INTEGER *size, INTEGER *align)
|
||||||
|
|
|
||||||
|
|
@ -134,8 +134,11 @@ static int __str_cmp(CHAR *x, CHAR *y){
|
||||||
|
|
||||||
/* SYSTEM ops */
|
/* SYSTEM ops */
|
||||||
|
|
||||||
#define __VAL(t, x) ((t)(x))
|
//#define __VAL(t, x) ((t)(x))
|
||||||
#define __VALP(t, x) ((t)(uintptr_t)(x))
|
//#define __VALP(t, x) ((t)(uintptr_t)(x))
|
||||||
|
#define __VAL(t, x) (*(t*)&(x))
|
||||||
|
#define __VALP(t, x) (*(t*)&(x))
|
||||||
|
|
||||||
|
|
||||||
#define __GET(a, x, t) x= *(t*)(uintptr_t)(a)
|
#define __GET(a, x, t) x= *(t*)(uintptr_t)(a)
|
||||||
#define __PUT(a, x, t) *(t*)(uintptr_t)(a)=x
|
#define __PUT(a, x, t) *(t*)(uintptr_t)(a)=x
|
||||||
|
|
|
||||||
|
|
@ -864,8 +864,10 @@ void Files_ReadLInt (Files_Rider *R, LONGINT *R__typ, LONGINT *x)
|
||||||
void Files_ReadSet (Files_Rider *R, LONGINT *R__typ, SET *x)
|
void Files_ReadSet (Files_Rider *R, LONGINT *R__typ, SET *x)
|
||||||
{
|
{
|
||||||
CHAR b[4];
|
CHAR b[4];
|
||||||
|
LONGINT l;
|
||||||
Files_ReadBytes(&*R, R__typ, (void*)b, ((LONGINT)(4)), ((LONGINT)(4)));
|
Files_ReadBytes(&*R, R__typ, (void*)b, ((LONGINT)(4)), ((LONGINT)(4)));
|
||||||
*x = (SET)(((LONGINT)((int)b[0] + __ASHL((int)b[1], 8)) + __ASHL((LONGINT)b[2], 16)) + __ASHL((LONGINT)b[3], 24));
|
l = ((LONGINT)((int)b[0] + __ASHL((int)b[1], 8)) + __ASHL((LONGINT)b[2], 16)) + __ASHL((LONGINT)b[3], 24);
|
||||||
|
*x = (SET)l;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Files_ReadReal (Files_Rider *R, LONGINT *R__typ, REAL *x)
|
void Files_ReadReal (Files_Rider *R, LONGINT *R__typ, REAL *x)
|
||||||
|
|
|
||||||
|
|
@ -2237,6 +2237,9 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, SHORTINT fctno)
|
||||||
if (((x->class == 8 || x->class == 9) || __IN(f, 0x1401)) || x->typ->comp == 3) {
|
if (((x->class == 8 || x->class == 9) || __IN(f, 0x1401)) || x->typ->comp == 3) {
|
||||||
OPB_err(126);
|
OPB_err(126);
|
||||||
}
|
}
|
||||||
|
if (x->typ->size < p->typ->size) {
|
||||||
|
OPB_err(-308);
|
||||||
|
}
|
||||||
t = OPT_NewNode(11);
|
t = OPT_NewNode(11);
|
||||||
t->subcl = 29;
|
t->subcl = 29;
|
||||||
t->left = x;
|
t->left = x;
|
||||||
|
|
|
||||||
|
|
@ -541,16 +541,16 @@ void OPM_FPrintSet (LONGINT *fp, SET set)
|
||||||
|
|
||||||
void OPM_FPrintReal (LONGINT *fp, REAL real)
|
void OPM_FPrintReal (LONGINT *fp, REAL real)
|
||||||
{
|
{
|
||||||
OPM_FPrint(&*fp, __VAL(LONGINT, real));
|
INTEGER i;
|
||||||
|
LONGINT l;
|
||||||
|
__GET((LONGINT)(uintptr_t)&real, l, LONGINT);
|
||||||
|
OPM_FPrint(&*fp, l);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OPM_FPrintLReal (LONGINT *fp, LONGREAL lr)
|
void OPM_FPrintLReal (LONGINT *fp, LONGREAL lr)
|
||||||
{
|
{
|
||||||
LONGINT l, h;
|
LONGINT l, h;
|
||||||
__GET((LONGINT)(uintptr_t)&lr, l, LONGINT);
|
OPM_FPrint(&*fp, __VAL(LONGINT, lr));
|
||||||
__GET((LONGINT)(uintptr_t)&lr + 4, h, LONGINT);
|
|
||||||
OPM_FPrint(&*fp, l);
|
|
||||||
OPM_FPrint(&*fp, h);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OPM_GetProperty (Texts_Scanner *S, LONGINT *S__typ, CHAR *name, LONGINT name__len, INTEGER *size, INTEGER *align)
|
static void OPM_GetProperty (Texts_Scanner *S, LONGINT *S__typ, CHAR *name, LONGINT name__len, INTEGER *size, INTEGER *align)
|
||||||
|
|
|
||||||
|
|
@ -134,8 +134,11 @@ static int __str_cmp(CHAR *x, CHAR *y){
|
||||||
|
|
||||||
/* SYSTEM ops */
|
/* SYSTEM ops */
|
||||||
|
|
||||||
#define __VAL(t, x) ((t)(x))
|
//#define __VAL(t, x) ((t)(x))
|
||||||
#define __VALP(t, x) ((t)(uintptr_t)(x))
|
//#define __VALP(t, x) ((t)(uintptr_t)(x))
|
||||||
|
#define __VAL(t, x) (*(t*)&(x))
|
||||||
|
#define __VALP(t, x) (*(t*)&(x))
|
||||||
|
|
||||||
|
|
||||||
#define __GET(a, x, t) x= *(t*)(uintptr_t)(a)
|
#define __GET(a, x, t) x= *(t*)(uintptr_t)(a)
|
||||||
#define __PUT(a, x, t) *(t*)(uintptr_t)(a)=x
|
#define __PUT(a, x, t) *(t*)(uintptr_t)(a)=x
|
||||||
|
|
|
||||||
|
|
@ -865,8 +865,10 @@ void Files_ReadLInt (Files_Rider *R, LONGINT *R__typ, LONGINT *x)
|
||||||
void Files_ReadSet (Files_Rider *R, LONGINT *R__typ, SET *x)
|
void Files_ReadSet (Files_Rider *R, LONGINT *R__typ, SET *x)
|
||||||
{
|
{
|
||||||
CHAR b[4];
|
CHAR b[4];
|
||||||
|
LONGINT l;
|
||||||
Files_ReadBytes(&*R, R__typ, (void*)b, ((LONGINT)(4)), ((LONGINT)(4)));
|
Files_ReadBytes(&*R, R__typ, (void*)b, ((LONGINT)(4)), ((LONGINT)(4)));
|
||||||
*x = (SET)((((int)b[0] + __ASHL((int)b[1], 8)) + __ASHL((int)b[2], 16)) + __ASHL((int)b[3], 24));
|
l = (((int)b[0] + __ASHL((int)b[1], 8)) + __ASHL((int)b[2], 16)) + __ASHL((int)b[3], 24);
|
||||||
|
*x = (SET)l;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Files_ReadReal (Files_Rider *R, LONGINT *R__typ, REAL *x)
|
void Files_ReadReal (Files_Rider *R, LONGINT *R__typ, REAL *x)
|
||||||
|
|
|
||||||
|
|
@ -2238,6 +2238,9 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, SHORTINT fctno)
|
||||||
if (((x->class == 8 || x->class == 9) || __IN(f, 0x1401)) || x->typ->comp == 3) {
|
if (((x->class == 8 || x->class == 9) || __IN(f, 0x1401)) || x->typ->comp == 3) {
|
||||||
OPB_err(126);
|
OPB_err(126);
|
||||||
}
|
}
|
||||||
|
if (x->typ->size < p->typ->size) {
|
||||||
|
OPB_err(-308);
|
||||||
|
}
|
||||||
t = OPT_NewNode(11);
|
t = OPT_NewNode(11);
|
||||||
t->subcl = 29;
|
t->subcl = 29;
|
||||||
t->left = x;
|
t->left = x;
|
||||||
|
|
|
||||||
|
|
@ -542,7 +542,11 @@ void OPM_FPrintSet (LONGINT *fp, SET set)
|
||||||
|
|
||||||
void OPM_FPrintReal (LONGINT *fp, REAL real)
|
void OPM_FPrintReal (LONGINT *fp, REAL real)
|
||||||
{
|
{
|
||||||
OPM_FPrint(&*fp, __VAL(LONGINT, real));
|
INTEGER i;
|
||||||
|
LONGINT l;
|
||||||
|
__GET((LONGINT)(uintptr_t)&real, i, INTEGER);
|
||||||
|
l = i;
|
||||||
|
OPM_FPrint(&*fp, l);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OPM_FPrintLReal (LONGINT *fp, LONGREAL lr)
|
void OPM_FPrintLReal (LONGINT *fp, LONGREAL lr)
|
||||||
|
|
|
||||||
|
|
@ -134,8 +134,11 @@ static int __str_cmp(CHAR *x, CHAR *y){
|
||||||
|
|
||||||
/* SYSTEM ops */
|
/* SYSTEM ops */
|
||||||
|
|
||||||
#define __VAL(t, x) ((t)(x))
|
//#define __VAL(t, x) ((t)(x))
|
||||||
#define __VALP(t, x) ((t)(uintptr_t)(x))
|
//#define __VALP(t, x) ((t)(uintptr_t)(x))
|
||||||
|
#define __VAL(t, x) (*(t*)&(x))
|
||||||
|
#define __VALP(t, x) (*(t*)&(x))
|
||||||
|
|
||||||
|
|
||||||
#define __GET(a, x, t) x= *(t*)(uintptr_t)(a)
|
#define __GET(a, x, t) x= *(t*)(uintptr_t)(a)
|
||||||
#define __PUT(a, x, t) *(t*)(uintptr_t)(a)=x
|
#define __PUT(a, x, t) *(t*)(uintptr_t)(a)=x
|
||||||
|
|
|
||||||
|
|
@ -864,8 +864,10 @@ void Files_ReadLInt (Files_Rider *R, LONGINT *R__typ, LONGINT *x)
|
||||||
void Files_ReadSet (Files_Rider *R, LONGINT *R__typ, SET *x)
|
void Files_ReadSet (Files_Rider *R, LONGINT *R__typ, SET *x)
|
||||||
{
|
{
|
||||||
CHAR b[4];
|
CHAR b[4];
|
||||||
|
LONGINT l;
|
||||||
Files_ReadBytes(&*R, R__typ, (void*)b, ((LONGINT)(4)), ((LONGINT)(4)));
|
Files_ReadBytes(&*R, R__typ, (void*)b, ((LONGINT)(4)), ((LONGINT)(4)));
|
||||||
*x = (SET)(((LONGINT)((int)b[0] + __ASHL((int)b[1], 8)) + __ASHL((LONGINT)b[2], 16)) + __ASHL((LONGINT)b[3], 24));
|
l = ((LONGINT)((int)b[0] + __ASHL((int)b[1], 8)) + __ASHL((LONGINT)b[2], 16)) + __ASHL((LONGINT)b[3], 24);
|
||||||
|
*x = (SET)l;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Files_ReadReal (Files_Rider *R, LONGINT *R__typ, REAL *x)
|
void Files_ReadReal (Files_Rider *R, LONGINT *R__typ, REAL *x)
|
||||||
|
|
|
||||||
|
|
@ -2237,6 +2237,9 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, SHORTINT fctno)
|
||||||
if (((x->class == 8 || x->class == 9) || __IN(f, 0x1401)) || x->typ->comp == 3) {
|
if (((x->class == 8 || x->class == 9) || __IN(f, 0x1401)) || x->typ->comp == 3) {
|
||||||
OPB_err(126);
|
OPB_err(126);
|
||||||
}
|
}
|
||||||
|
if (x->typ->size < p->typ->size) {
|
||||||
|
OPB_err(-308);
|
||||||
|
}
|
||||||
t = OPT_NewNode(11);
|
t = OPT_NewNode(11);
|
||||||
t->subcl = 29;
|
t->subcl = 29;
|
||||||
t->left = x;
|
t->left = x;
|
||||||
|
|
|
||||||
|
|
@ -541,16 +541,16 @@ void OPM_FPrintSet (LONGINT *fp, SET set)
|
||||||
|
|
||||||
void OPM_FPrintReal (LONGINT *fp, REAL real)
|
void OPM_FPrintReal (LONGINT *fp, REAL real)
|
||||||
{
|
{
|
||||||
OPM_FPrint(&*fp, __VAL(LONGINT, real));
|
INTEGER i;
|
||||||
|
LONGINT l;
|
||||||
|
__GET((LONGINT)(uintptr_t)&real, l, LONGINT);
|
||||||
|
OPM_FPrint(&*fp, l);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OPM_FPrintLReal (LONGINT *fp, LONGREAL lr)
|
void OPM_FPrintLReal (LONGINT *fp, LONGREAL lr)
|
||||||
{
|
{
|
||||||
LONGINT l, h;
|
LONGINT l, h;
|
||||||
__GET((LONGINT)(uintptr_t)&lr, l, LONGINT);
|
OPM_FPrint(&*fp, __VAL(LONGINT, lr));
|
||||||
__GET((LONGINT)(uintptr_t)&lr + 4, h, LONGINT);
|
|
||||||
OPM_FPrint(&*fp, l);
|
|
||||||
OPM_FPrint(&*fp, h);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OPM_GetProperty (Texts_Scanner *S, LONGINT *S__typ, CHAR *name, LONGINT name__len, INTEGER *size, INTEGER *align)
|
static void OPM_GetProperty (Texts_Scanner *S, LONGINT *S__typ, CHAR *name, LONGINT name__len, INTEGER *size, INTEGER *align)
|
||||||
|
|
|
||||||
|
|
@ -134,8 +134,11 @@ static int __str_cmp(CHAR *x, CHAR *y){
|
||||||
|
|
||||||
/* SYSTEM ops */
|
/* SYSTEM ops */
|
||||||
|
|
||||||
#define __VAL(t, x) ((t)(x))
|
//#define __VAL(t, x) ((t)(x))
|
||||||
#define __VALP(t, x) ((t)(uintptr_t)(x))
|
//#define __VALP(t, x) ((t)(uintptr_t)(x))
|
||||||
|
#define __VAL(t, x) (*(t*)&(x))
|
||||||
|
#define __VALP(t, x) (*(t*)&(x))
|
||||||
|
|
||||||
|
|
||||||
#define __GET(a, x, t) x= *(t*)(uintptr_t)(a)
|
#define __GET(a, x, t) x= *(t*)(uintptr_t)(a)
|
||||||
#define __PUT(a, x, t) *(t*)(uintptr_t)(a)=x
|
#define __PUT(a, x, t) *(t*)(uintptr_t)(a)=x
|
||||||
|
|
|
||||||
|
|
@ -865,8 +865,10 @@ void Files_ReadLInt (Files_Rider *R, LONGINT *R__typ, LONGINT *x)
|
||||||
void Files_ReadSet (Files_Rider *R, LONGINT *R__typ, SET *x)
|
void Files_ReadSet (Files_Rider *R, LONGINT *R__typ, SET *x)
|
||||||
{
|
{
|
||||||
CHAR b[4];
|
CHAR b[4];
|
||||||
|
LONGINT l;
|
||||||
Files_ReadBytes(&*R, R__typ, (void*)b, ((LONGINT)(4)), ((LONGINT)(4)));
|
Files_ReadBytes(&*R, R__typ, (void*)b, ((LONGINT)(4)), ((LONGINT)(4)));
|
||||||
*x = (SET)((((int)b[0] + __ASHL((int)b[1], 8)) + __ASHL((int)b[2], 16)) + __ASHL((int)b[3], 24));
|
l = (((int)b[0] + __ASHL((int)b[1], 8)) + __ASHL((int)b[2], 16)) + __ASHL((int)b[3], 24);
|
||||||
|
*x = (SET)l;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Files_ReadReal (Files_Rider *R, LONGINT *R__typ, REAL *x)
|
void Files_ReadReal (Files_Rider *R, LONGINT *R__typ, REAL *x)
|
||||||
|
|
|
||||||
|
|
@ -2238,6 +2238,9 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, SHORTINT fctno)
|
||||||
if (((x->class == 8 || x->class == 9) || __IN(f, 0x1401)) || x->typ->comp == 3) {
|
if (((x->class == 8 || x->class == 9) || __IN(f, 0x1401)) || x->typ->comp == 3) {
|
||||||
OPB_err(126);
|
OPB_err(126);
|
||||||
}
|
}
|
||||||
|
if (x->typ->size < p->typ->size) {
|
||||||
|
OPB_err(-308);
|
||||||
|
}
|
||||||
t = OPT_NewNode(11);
|
t = OPT_NewNode(11);
|
||||||
t->subcl = 29;
|
t->subcl = 29;
|
||||||
t->left = x;
|
t->left = x;
|
||||||
|
|
|
||||||
|
|
@ -542,7 +542,11 @@ void OPM_FPrintSet (LONGINT *fp, SET set)
|
||||||
|
|
||||||
void OPM_FPrintReal (LONGINT *fp, REAL real)
|
void OPM_FPrintReal (LONGINT *fp, REAL real)
|
||||||
{
|
{
|
||||||
OPM_FPrint(&*fp, __VAL(LONGINT, real));
|
INTEGER i;
|
||||||
|
LONGINT l;
|
||||||
|
__GET((LONGINT)(uintptr_t)&real, i, INTEGER);
|
||||||
|
l = i;
|
||||||
|
OPM_FPrint(&*fp, l);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OPM_FPrintLReal (LONGINT *fp, LONGREAL lr)
|
void OPM_FPrintLReal (LONGINT *fp, LONGREAL lr)
|
||||||
|
|
|
||||||
|
|
@ -134,8 +134,11 @@ static int __str_cmp(CHAR *x, CHAR *y){
|
||||||
|
|
||||||
/* SYSTEM ops */
|
/* SYSTEM ops */
|
||||||
|
|
||||||
#define __VAL(t, x) ((t)(x))
|
//#define __VAL(t, x) ((t)(x))
|
||||||
#define __VALP(t, x) ((t)(uintptr_t)(x))
|
//#define __VALP(t, x) ((t)(uintptr_t)(x))
|
||||||
|
#define __VAL(t, x) (*(t*)&(x))
|
||||||
|
#define __VALP(t, x) (*(t*)&(x))
|
||||||
|
|
||||||
|
|
||||||
#define __GET(a, x, t) x= *(t*)(uintptr_t)(a)
|
#define __GET(a, x, t) x= *(t*)(uintptr_t)(a)
|
||||||
#define __PUT(a, x, t) *(t*)(uintptr_t)(a)=x
|
#define __PUT(a, x, t) *(t*)(uintptr_t)(a)=x
|
||||||
|
|
|
||||||
21
makefile
21
makefile
|
|
@ -178,6 +178,27 @@ browsercmd: configuration
|
||||||
library: configuration
|
library: configuration
|
||||||
@make -f src/tools/make/vishap.make -s library
|
@make -f src/tools/make/vishap.make -s library
|
||||||
|
|
||||||
|
# Individual library components
|
||||||
|
v4: configuration
|
||||||
|
@make -f src/tools/make/vishap.make -s v4
|
||||||
|
|
||||||
|
ooc2: configuration
|
||||||
|
@make -f src/tools/make/vishap.make -s ooc2
|
||||||
|
|
||||||
|
ooc: configuration
|
||||||
|
@make -f src/tools/make/vishap.make -s ooc
|
||||||
|
|
||||||
|
ulm: configuration
|
||||||
|
@make -f src/tools/make/vishap.make -s ulm
|
||||||
|
|
||||||
|
pow32: configuration
|
||||||
|
@make -f src/tools/make/vishap.make -s pow32
|
||||||
|
|
||||||
|
misc: configuration
|
||||||
|
@make -f src/tools/make/vishap.make -s misc
|
||||||
|
|
||||||
|
s3: configuration
|
||||||
|
@make -f src/tools/make/vishap.make -s s3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1307,7 +1307,7 @@ MODULE OPB; (* RC 6.3.89 / 21.2.94 *) (* object model 17.1.93 *)
|
||||||
err(126)
|
err(126)
|
||||||
END;
|
END;
|
||||||
(* Warn if the result type includes memory past the end of the source variable *)
|
(* Warn if the result type includes memory past the end of the source variable *)
|
||||||
(* IF x.typ.size < p.typ.size THEN err(-100) END; *)
|
IF x.typ.size < p.typ.size THEN err(-308) END;
|
||||||
t := OPT.NewNode(OPM.Nmop); t^.subcl := OPM.val; t^.left := x; x := t;
|
t := OPT.NewNode(OPM.Nmop); t^.subcl := OPM.val; t^.left := x; x := t;
|
||||||
(*
|
(*
|
||||||
IF (x^.class >= OPM.Nconst) OR ((f IN OPM.realSet) # (p^.typ^.form IN OPM.realSet)) THEN
|
IF (x^.class >= OPM.Nconst) OR ((f IN OPM.realSet) # (p^.typ^.form IN OPM.realSet)) THEN
|
||||||
|
|
|
||||||
|
|
@ -582,15 +582,26 @@ MODULE OPM; (* RC 6.3.89 / 28.6.89, J.Templ 10.7.89 / 22.7.96 *)
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE FPrintReal*(VAR fp: LONGINT; real: REAL);
|
PROCEDURE FPrintReal*(VAR fp: LONGINT; real: REAL);
|
||||||
BEGIN FPrint(fp, SYSTEM.VAL(LONGINT, real))
|
VAR i: INTEGER; l: LONGINT;
|
||||||
|
BEGIN
|
||||||
|
IF SIZE(REAL) = SIZE(INTEGER) THEN
|
||||||
|
SYSTEM.GET(SYSTEM.ADR(real), i); l := i;
|
||||||
|
ELSE
|
||||||
|
SYSTEM.GET(SYSTEM.ADR(real), l);
|
||||||
|
END;
|
||||||
|
FPrint(fp, l)
|
||||||
END FPrintReal;
|
END FPrintReal;
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE FPrintLReal*(VAR fp: LONGINT; lr: LONGREAL);
|
PROCEDURE FPrintLReal*(VAR fp: LONGINT; lr: LONGREAL);
|
||||||
VAR l, h: LONGINT;
|
VAR l, h: LONGINT;
|
||||||
BEGIN
|
BEGIN
|
||||||
SYSTEM.GET(SYSTEM.ADR(lr), l); SYSTEM.GET(SYSTEM.ADR(lr)+4, h);
|
IF SIZE(REAL) = SIZE(INTEGER) THEN
|
||||||
FPrint(fp, l); FPrint(fp, h)
|
SYSTEM.GET(SYSTEM.ADR(lr), l); SYSTEM.GET(SYSTEM.ADR(lr)+4, h);
|
||||||
|
FPrint(fp, l); FPrint(fp, h)
|
||||||
|
ELSE
|
||||||
|
FPrint(fp, SYSTEM.VAL(LONGINT, lr))
|
||||||
|
END
|
||||||
END FPrintLReal;
|
END FPrintLReal;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -576,14 +576,7 @@ MODULE OPV; (* J. Templ 16.2.95 / 3.7.96
|
||||||
END;
|
END;
|
||||||
expr(l, exprPrec)
|
expr(l, exprPrec)
|
||||||
ELSE
|
ELSE
|
||||||
(*
|
|
||||||
OPM.WriteString("__VAL(");
|
OPM.WriteString("__VAL(");
|
||||||
*)
|
|
||||||
IF (n^.typ^.form IN {OPM.Pointer, OPM.ProcTyp}) OR (l^.typ^.form IN {OPM.Pointer, OPM.ProcTyp}) THEN
|
|
||||||
OPM.WriteString("__VALP(");
|
|
||||||
ELSE
|
|
||||||
OPM.WriteString("__VAL(");
|
|
||||||
END;
|
|
||||||
OPC.Ident(n^.typ^.strobj); OPM.WriteString(Comma);
|
OPC.Ident(n^.typ^.strobj); OPM.WriteString(Comma);
|
||||||
expr(l, MinPrec); OPM.Write(CloseParen)
|
expr(l, MinPrec); OPM.Write(CloseParen)
|
||||||
END
|
END
|
||||||
|
|
|
||||||
|
|
@ -2,20 +2,20 @@
|
||||||
MODULE oocLowReal;
|
MODULE oocLowReal;
|
||||||
|
|
||||||
(*
|
(*
|
||||||
LowReal - Gives access to the underlying properties of the type REAL
|
LowReal - Gives access to the underlying properties of the type REAL
|
||||||
for IEEE single-precision numbers.
|
for IEEE single-precision numbers.
|
||||||
Copyright (C) 1995 Michael Griebling
|
Copyright (C) 1995 Michael Griebling
|
||||||
|
|
||||||
This module is free software; you can redistribute it and/or modify
|
This module is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU Lesser General Public License as
|
it under the terms of the GNU Lesser General Public License as
|
||||||
published by the Free Software Foundation; either version 2 of the
|
published by the Free Software Foundation; either version 2 of the
|
||||||
License, or (at your option) any later version.
|
License, or (at your option) any later version.
|
||||||
|
|
||||||
This module is distributed in the hope that it will be useful,
|
This module is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU Lesser General Public License for more details.
|
GNU Lesser General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public
|
You should have received a copy of the GNU Lesser General Public
|
||||||
License along with this program; if not, write to the Free Software
|
License along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
|
@ -24,9 +24,9 @@ MODULE oocLowReal;
|
||||||
|
|
||||||
|
|
||||||
IMPORT S := SYSTEM, Console;
|
IMPORT S := SYSTEM, Console;
|
||||||
|
|
||||||
(*
|
(*
|
||||||
|
|
||||||
Real number properties are defined as follows:
|
Real number properties are defined as follows:
|
||||||
|
|
||||||
radix--The whole number value of the radix used to represent the
|
radix--The whole number value of the radix used to represent the
|
||||||
|
|
@ -44,69 +44,69 @@ IMPORT S := SYSTEM, Console;
|
||||||
small--The smallest positive value of the corresponding real number
|
small--The smallest positive value of the corresponding real number
|
||||||
type, represented to maximal precision.
|
type, represented to maximal precision.
|
||||||
|
|
||||||
IEC559--A Boolean value that is TRUE if and only if the implementation
|
IEC559--A Boolean value that is TRUE if and only if the implementation
|
||||||
of the corresponding real number type conforms to IEC 559:1989
|
of the corresponding real number type conforms to IEC 559:1989
|
||||||
(IEEE 754:1987) in all regards.
|
(IEEE 754:1987) in all regards.
|
||||||
|
|
||||||
NOTES
|
NOTES
|
||||||
6 -- If `IEC559' is TRUE, the value of `radix' is 2.
|
6 -- If `IEC559' is TRUE, the value of `radix' is 2.
|
||||||
7 -- If LowReal.IEC559 is TRUE, the 32-bit format of IEC 559:1989
|
7 -- If LowReal.IEC559 is TRUE, the 32-bit format of IEC 559:1989
|
||||||
is used for the type REAL.
|
is used for the type REAL.
|
||||||
7 -- If LowLong.IEC559 is TRUE, the 64-bit format of IEC 559:1989
|
7 -- If LowLong.IEC559 is TRUE, the 64-bit format of IEC 559:1989
|
||||||
is used for the type REAL.
|
is used for the type REAL.
|
||||||
|
|
||||||
LIA1--A Boolean value that is TRUE if and only if the implementation of
|
LIA1--A Boolean value that is TRUE if and only if the implementation of
|
||||||
the corresponding real number type conforms to ISO/IEC 10967-1:199x
|
the corresponding real number type conforms to ISO/IEC 10967-1:199x
|
||||||
(LIA-1) in all regards: parameters, arithmetic, exceptions, and
|
(LIA-1) in all regards: parameters, arithmetic, exceptions, and
|
||||||
notification.
|
notification.
|
||||||
|
|
||||||
rounds--A Boolean value that is TRUE if and only if each operation produces
|
rounds--A Boolean value that is TRUE if and only if each operation produces
|
||||||
a result that is one of the values of the corresponding real number
|
a result that is one of the values of the corresponding real number
|
||||||
type nearest to the mathematical result.
|
type nearest to the mathematical result.
|
||||||
|
|
||||||
gUnderflow--A Boolean value that is TRUE if and only if there are values of
|
gUnderflow--A Boolean value that is TRUE if and only if there are values of
|
||||||
the corresponding real number type between 0.0 and `small'.
|
the corresponding real number type between 0.0 and `small'.
|
||||||
|
|
||||||
exception--A Boolean value that is TRUE if and only if every operation that
|
exception--A Boolean value that is TRUE if and only if every operation that
|
||||||
attempts to produce a real value out of range raises an exception.
|
attempts to produce a real value out of range raises an exception.
|
||||||
|
|
||||||
extend--A Boolean value that is TRUE if and only if expressions of the
|
extend--A Boolean value that is TRUE if and only if expressions of the
|
||||||
corresponding real number type are computed to higher precision than
|
corresponding real number type are computed to higher precision than
|
||||||
the stored values.
|
the stored values.
|
||||||
|
|
||||||
nModes--The whole number value giving the number of bit positions needed for
|
nModes--The whole number value giving the number of bit positions needed for
|
||||||
the status flags for mode control.
|
the status flags for mode control.
|
||||||
|
|
||||||
*)
|
*)
|
||||||
CONST
|
CONST
|
||||||
radix*= 2;
|
radix*= 2;
|
||||||
places*= 24;
|
places*= 24;
|
||||||
expoMax*= 127;
|
expoMax*= 127;
|
||||||
expoMin*= 1-expoMax;
|
expoMin*= 1-expoMax;
|
||||||
large*= MAX(REAL);(*3.40282347E+38;*) (* MAX(REAL) *)
|
large*= MAX(REAL);(*3.40282347E+38;*) (* MAX(REAL) *)
|
||||||
(*small*= 1.17549435E-38; (* 2^(-126) *)*)
|
(*small*= 1.17549435E-38; (* 2^(-126) *)*)
|
||||||
small* = 1/8.50705917E37; (* don't know better way; -- noch *)
|
small* = 1/8.50705917E37; (* don't know better way; -- noch *)
|
||||||
IEC559*= TRUE;
|
IEC559*= TRUE;
|
||||||
LIA1*= FALSE;
|
LIA1*= FALSE;
|
||||||
rounds*= FALSE;
|
rounds*= FALSE;
|
||||||
gUnderflow*= TRUE; (* there are IEEE numbers smaller than `small' *)
|
gUnderflow*= TRUE; (* there are IEEE numbers smaller than `small' *)
|
||||||
exception*= FALSE; (* at least in the default implementation *)
|
exception*= FALSE; (* at least in the default implementation *)
|
||||||
extend*= FALSE;
|
extend*= FALSE;
|
||||||
nModes*= 0;
|
nModes*= 0;
|
||||||
|
|
||||||
TEN=10.0; (* some commonly-used constants *)
|
TEN=10.0; (* some commonly-used constants *)
|
||||||
ONE=1.0;
|
ONE=1.0;
|
||||||
ZERO=0.0;
|
ZERO=0.0;
|
||||||
|
|
||||||
expOffset=expoMax;
|
expOffset=expoMax;
|
||||||
hiBit=22;
|
hiBit=22;
|
||||||
expBit=hiBit+1;
|
expBit=hiBit+1;
|
||||||
nMask={0..hiBit,31}; (* number mask *)
|
nMask={0..hiBit,31}; (* number mask *)
|
||||||
expMask={expBit..30}; (* exponent mask *)
|
expMask={expBit..30}; (* exponent mask *)
|
||||||
|
|
||||||
TYPE
|
TYPE
|
||||||
Modes*= SET;
|
Modes*= SET;
|
||||||
|
|
||||||
VAR
|
VAR
|
||||||
(*small* : REAL; tmp: REAL;*) (* this was a test to get small as a variable at runtime. obviously, compile time preferred; -- noch *)
|
(*small* : REAL; tmp: REAL;*) (* this was a test to get small as a variable at runtime. obviously, compile time preferred; -- noch *)
|
||||||
ErrorHandler*: PROCEDURE (errno : INTEGER);
|
ErrorHandler*: PROCEDURE (errno : INTEGER);
|
||||||
|
|
@ -132,15 +132,18 @@ p := p * i;
|
||||||
PROCEDURE DefaultHandler (errno : INTEGER);
|
PROCEDURE DefaultHandler (errno : INTEGER);
|
||||||
BEGIN
|
BEGIN
|
||||||
err:=errno
|
err:=errno
|
||||||
END DefaultHandler;
|
END DefaultHandler;
|
||||||
|
|
||||||
PROCEDURE ClearError*;
|
PROCEDURE ClearError*;
|
||||||
BEGIN
|
BEGIN
|
||||||
err:=0
|
err:=0
|
||||||
END ClearError;
|
END ClearError;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(*** Refactor for 64 bit support.
|
||||||
PROCEDURE exponent*(x: REAL): INTEGER;
|
PROCEDURE exponent*(x: REAL): INTEGER;
|
||||||
(*
|
(*
|
||||||
The value of the call exponent(x) shall be the exponent value of `x'
|
The value of the call exponent(x) shall be the exponent value of `x'
|
||||||
that lies between `expoMin' and `expoMax'. An exception shall occur
|
that lies between `expoMin' and `expoMax'. An exception shall occur
|
||||||
and may be raised if `x' is equal to 0.0.
|
and may be raised if `x' is equal to 0.0.
|
||||||
|
|
@ -148,14 +151,15 @@ PROCEDURE exponent*(x: REAL): INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
(* NOTE: x=0.0 should raise exception *)
|
(* NOTE: x=0.0 should raise exception *)
|
||||||
IF x=ZERO THEN RETURN 0
|
IF x=ZERO THEN RETURN 0
|
||||||
ELSE RETURN SHORT(S.LSH(S.VAL(LONGINT,x),-expBit) MOD 256)-expOffset
|
ELSE RETURN SHORT(S.LSH(S.VAL(LONGINT,x),-expBit) MOD 256)-expOffset
|
||||||
END
|
END
|
||||||
END exponent;
|
END exponent;
|
||||||
|
*)
|
||||||
|
|
||||||
PROCEDURE exponent10*(x: REAL): INTEGER;
|
PROCEDURE exponent10*(x: REAL): INTEGER;
|
||||||
(*
|
(*
|
||||||
The value of the call exponent10(x) shall be the base 10 exponent
|
The value of the call exponent10(x) shall be the base 10 exponent
|
||||||
value of `x'. An exception shall occur and may be raised if `x' is
|
value of `x'. An exception shall occur and may be raised if `x' is
|
||||||
equal to 0.0.
|
equal to 0.0.
|
||||||
*)
|
*)
|
||||||
VAR exp: INTEGER;
|
VAR exp: INTEGER;
|
||||||
|
|
@ -163,19 +167,20 @@ BEGIN
|
||||||
exp:=0; x:=ABS(x);
|
exp:=0; x:=ABS(x);
|
||||||
IF x=ZERO THEN RETURN exp END; (* exception could be raised here *)
|
IF x=ZERO THEN RETURN exp END; (* exception could be raised here *)
|
||||||
WHILE x>=TEN DO x:=x/TEN; INC(exp) END;
|
WHILE x>=TEN DO x:=x/TEN; INC(exp) END;
|
||||||
WHILE (x>ZERO) & (x<1.0) DO x:=x*TEN; DEC(exp) END;
|
WHILE (x>ZERO) & (x<1.0) DO x:=x*TEN; DEC(exp) END;
|
||||||
RETURN exp
|
RETURN exp
|
||||||
END exponent10;
|
END exponent10;
|
||||||
|
|
||||||
|
(*** Refactor for 64 bit support.
|
||||||
PROCEDURE fraction*(x: REAL): REAL;
|
PROCEDURE fraction*(x: REAL): REAL;
|
||||||
(*
|
(*
|
||||||
The value of the call fraction(x) shall be the significand (or
|
The value of the call fraction(x) shall be the significand (or
|
||||||
significant) part of `x'. Hence the following relationship shall
|
significant) part of `x'. Hence the following relationship shall
|
||||||
hold: x = scale(fraction(x), exponent(x)).
|
hold: x = scale(fraction(x), exponent(x)).
|
||||||
*)
|
*)
|
||||||
CONST eZero={(hiBit+2)..29};
|
CONST eZero={(hiBit+2)..29};
|
||||||
BEGIN
|
BEGIN
|
||||||
IF x=ZERO THEN RETURN ZERO
|
IF x=ZERO THEN RETURN ZERO
|
||||||
ELSE RETURN S.VAL(REAL,(S.VAL(SET,x)*nMask)+eZero)*2.0 (* set the mantissa's exponent to zero *)
|
ELSE RETURN S.VAL(REAL,(S.VAL(SET,x)*nMask)+eZero)*2.0 (* set the mantissa's exponent to zero *)
|
||||||
END
|
END
|
||||||
END fraction;
|
END fraction;
|
||||||
|
|
@ -192,18 +197,20 @@ PROCEDURE IsNaN * (real: REAL) : BOOLEAN;
|
||||||
BEGIN
|
BEGIN
|
||||||
sreal:=S.VAL(SET, real);
|
sreal:=S.VAL(SET, real);
|
||||||
RETURN (sreal*expMask=expMask) & (sreal*fracMask#{})
|
RETURN (sreal*expMask=expMask) & (sreal*fracMask#{})
|
||||||
END IsNaN;
|
END IsNaN;
|
||||||
|
*)
|
||||||
|
|
||||||
PROCEDURE sign*(x: REAL): REAL;
|
PROCEDURE sign*(x: REAL): REAL;
|
||||||
(*
|
(*
|
||||||
The value of the call sign(x) shall be 1.0 if `x' is greater than 0.0,
|
The value of the call sign(x) shall be 1.0 if `x' is greater than 0.0,
|
||||||
or shall be -1.0 if `x' is less than 0.0, or shall be either 1.0 or
|
or shall be -1.0 if `x' is less than 0.0, or shall be either 1.0 or
|
||||||
-1.0 if `x' is equal to 0.0.
|
-1.0 if `x' is equal to 0.0.
|
||||||
*)
|
*)
|
||||||
BEGIN
|
BEGIN
|
||||||
IF x<ZERO THEN RETURN -ONE ELSE RETURN ONE END
|
IF x<ZERO THEN RETURN -ONE ELSE RETURN ONE END
|
||||||
END sign;
|
END sign;
|
||||||
|
|
||||||
|
(*** Refactor for 64 bit support.
|
||||||
PROCEDURE scale*(x: REAL; n: INTEGER): REAL;
|
PROCEDURE scale*(x: REAL; n: INTEGER): REAL;
|
||||||
(*
|
(*
|
||||||
The value of the call scale(x,n) shall be the value x*radix^n if such
|
The value of the call scale(x,n) shall be the value x*radix^n if such
|
||||||
|
|
@ -219,27 +226,27 @@ BEGIN
|
||||||
lexp:=S.VAL(SET,S.LSH(exp+expOffset,expBit)); (* shifted exponent bits *)
|
lexp:=S.VAL(SET,S.LSH(exp+expOffset,expBit)); (* shifted exponent bits *)
|
||||||
RETURN S.VAL(REAL,(S.VAL(SET,x)*nMask)+lexp) (* insert new exponent *)
|
RETURN S.VAL(REAL,(S.VAL(SET,x)*nMask)+lexp) (* insert new exponent *)
|
||||||
END scale;
|
END scale;
|
||||||
|
|
||||||
PROCEDURE ulp*(x: REAL): REAL;
|
PROCEDURE ulp*(x: REAL): REAL;
|
||||||
(*
|
(*
|
||||||
The value of the call ulp(x) shall be the value of the corresponding
|
The value of the call ulp(x) shall be the value of the corresponding
|
||||||
real number type equal to a unit in the last place of `x', if such a
|
real number type equal to a unit in the last place of `x', if such a
|
||||||
value exists; otherwise an exception shall occur and may be raised.
|
value exists; otherwise an exception shall occur and may be raised.
|
||||||
*)
|
*)
|
||||||
BEGIN
|
BEGIN
|
||||||
RETURN scale(ONE, exponent(x)-places+1)
|
RETURN scale(ONE, exponent(x)-places+1)
|
||||||
END ulp;
|
END ulp;
|
||||||
|
|
||||||
PROCEDURE succ*(x: REAL): REAL;
|
PROCEDURE succ*(x: REAL): REAL;
|
||||||
(*
|
(*
|
||||||
The value of the call succ(x) shall be the next value of the
|
The value of the call succ(x) shall be the next value of the
|
||||||
corresponding real number type greater than `x', if such a type
|
corresponding real number type greater than `x', if such a type
|
||||||
exists; otherwise an exception shall occur and may be raised.
|
exists; otherwise an exception shall occur and may be raised.
|
||||||
*)
|
*)
|
||||||
BEGIN
|
BEGIN
|
||||||
RETURN x+ulp(x)*sign(x)
|
RETURN x+ulp(x)*sign(x)
|
||||||
END succ;
|
END succ;
|
||||||
|
|
||||||
PROCEDURE pred*(x: REAL): REAL;
|
PROCEDURE pred*(x: REAL): REAL;
|
||||||
(*
|
(*
|
||||||
The value of the call pred(x) shall be the next value of the
|
The value of the call pred(x) shall be the next value of the
|
||||||
|
|
@ -249,31 +256,31 @@ PROCEDURE pred*(x: REAL): REAL;
|
||||||
BEGIN
|
BEGIN
|
||||||
RETURN x-ulp(x)*sign(x)
|
RETURN x-ulp(x)*sign(x)
|
||||||
END pred;
|
END pred;
|
||||||
|
|
||||||
PROCEDURE intpart*(x: REAL): REAL;
|
PROCEDURE intpart*(x: REAL): REAL;
|
||||||
(*
|
(*
|
||||||
The value of the call intpart(x) shall be the integral part of `x'.
|
The value of the call intpart(x) shall be the integral part of `x'.
|
||||||
For negative values, this shall be -intpart(abs(x)).
|
For negative values, this shall be -intpart(abs(x)).
|
||||||
*)
|
*)
|
||||||
VAR loBit: INTEGER;
|
VAR loBit: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
loBit:=(hiBit+1)-exponent(x);
|
loBit:=(hiBit+1)-exponent(x);
|
||||||
IF loBit<=0 THEN RETURN x (* no fractional part *)
|
IF loBit<=0 THEN RETURN x (* no fractional part *)
|
||||||
ELSIF loBit<=hiBit+1 THEN
|
ELSIF loBit<=hiBit+1 THEN
|
||||||
RETURN S.VAL(REAL,S.VAL(SET,x)*{loBit..31}) (* integer part is extracted *)
|
RETURN S.VAL(REAL,S.VAL(SET,x)*{loBit..31}) (* integer part is extracted *)
|
||||||
ELSE RETURN ZERO (* no whole part *)
|
ELSE RETURN ZERO (* no whole part *)
|
||||||
END
|
END
|
||||||
END intpart;
|
END intpart;
|
||||||
|
|
||||||
PROCEDURE fractpart*(x: REAL): REAL;
|
PROCEDURE fractpart*(x: REAL): REAL;
|
||||||
(*
|
(*
|
||||||
The value of the call fractpart(x) shall be the fractional part of
|
The value of the call fractpart(x) shall be the fractional part of
|
||||||
`x'. This satifies the relationship fractpart(x)+intpart(x)=x.
|
`x'. This satifies the relationship fractpart(x)+intpart(x)=x.
|
||||||
*)
|
*)
|
||||||
BEGIN
|
BEGIN
|
||||||
RETURN x-intpart(x)
|
RETURN x-intpart(x)
|
||||||
END fractpart;
|
END fractpart;
|
||||||
|
|
||||||
PROCEDURE trunc*(x: REAL; n: INTEGER): REAL;
|
PROCEDURE trunc*(x: REAL; n: INTEGER): REAL;
|
||||||
(*
|
(*
|
||||||
The value of the call trunc(x,n) shall be the value of the most
|
The value of the call trunc(x,n) shall be the value of the most
|
||||||
|
|
@ -283,14 +290,14 @@ PROCEDURE trunc*(x: REAL; n: INTEGER): REAL;
|
||||||
VAR loBit: INTEGER; mask: SET;
|
VAR loBit: INTEGER; mask: SET;
|
||||||
BEGIN loBit:=places-n;
|
BEGIN loBit:=places-n;
|
||||||
IF n<=0 THEN RETURN ZERO (* exception should be raised *)
|
IF n<=0 THEN RETURN ZERO (* exception should be raised *)
|
||||||
ELSIF loBit<=0 THEN RETURN x (* nothing was truncated *)
|
ELSIF loBit<=0 THEN RETURN x (* nothing was truncated *)
|
||||||
ELSE mask:={loBit..31}; (* truncation bit mask *)
|
ELSE mask:={loBit..31}; (* truncation bit mask *)
|
||||||
RETURN S.VAL(REAL,S.VAL(SET,x)*mask)
|
RETURN S.VAL(REAL,S.VAL(SET,x)*mask)
|
||||||
END
|
END
|
||||||
END trunc;
|
END trunc;
|
||||||
|
|
||||||
PROCEDURE round*(x: REAL; n: INTEGER): REAL;
|
PROCEDURE round*(x: REAL; n: INTEGER): REAL;
|
||||||
(*
|
(*
|
||||||
The value of the call round(x,n) shall be the value of `x' rounded to
|
The value of the call round(x,n) shall be the value of `x' rounded to
|
||||||
the most significant `n' places. An exception shall occur and may be
|
the most significant `n' places. An exception shall occur and may be
|
||||||
raised if such a value does not exist, or if `n' is less than or equal
|
raised if such a value does not exist, or if `n' is less than or equal
|
||||||
|
|
@ -299,7 +306,7 @@ PROCEDURE round*(x: REAL; n: INTEGER): REAL;
|
||||||
VAR loBit: INTEGER; num, mask: SET; r: REAL;
|
VAR loBit: INTEGER; num, mask: SET; r: REAL;
|
||||||
BEGIN loBit:=places-n;
|
BEGIN loBit:=places-n;
|
||||||
IF n<=0 THEN RETURN ZERO (* exception should be raised *)
|
IF n<=0 THEN RETURN ZERO (* exception should be raised *)
|
||||||
ELSIF loBit<=0 THEN RETURN x (* nothing was rounded *)
|
ELSIF loBit<=0 THEN RETURN x (* nothing was rounded *)
|
||||||
ELSE mask:={loBit..31}; num:=S.VAL(SET,x); (* truncation bit mask and number as SET *)
|
ELSE mask:={loBit..31}; num:=S.VAL(SET,x); (* truncation bit mask and number as SET *)
|
||||||
x:=S.VAL(REAL,num*mask); (* truncated result *)
|
x:=S.VAL(REAL,num*mask); (* truncated result *)
|
||||||
IF loBit-1 IN num THEN (* check if result should be rounded *)
|
IF loBit-1 IN num THEN (* check if result should be rounded *)
|
||||||
|
|
@ -311,7 +318,7 @@ BEGIN loBit:=places-n;
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
END round;
|
END round;
|
||||||
|
|
||||||
PROCEDURE synthesize*(expart: INTEGER; frapart: REAL): REAL;
|
PROCEDURE synthesize*(expart: INTEGER; frapart: REAL): REAL;
|
||||||
(*
|
(*
|
||||||
The value of the call synthesize(expart,frapart) shall be a value of
|
The value of the call synthesize(expart,frapart) shall be a value of
|
||||||
|
|
@ -322,13 +329,14 @@ PROCEDURE synthesize*(expart: INTEGER; frapart: REAL): REAL;
|
||||||
BEGIN
|
BEGIN
|
||||||
RETURN scale(frapart, expart)
|
RETURN scale(frapart, expart)
|
||||||
END synthesize;
|
END synthesize;
|
||||||
|
*)
|
||||||
|
|
||||||
PROCEDURE setMode*(m: Modes);
|
PROCEDURE setMode*(m: Modes);
|
||||||
(*
|
(*
|
||||||
The call setMode(m) shall set status flags from the value of `m',
|
The call setMode(m) shall set status flags from the value of `m',
|
||||||
appropriate to the underlying implementation of the corresponding real
|
appropriate to the underlying implementation of the corresponding real
|
||||||
number type.
|
number type.
|
||||||
|
|
||||||
NOTES
|
NOTES
|
||||||
3 -- Many implementations of floating point provide options for
|
3 -- Many implementations of floating point provide options for
|
||||||
setting flags within the system which control details of the handling
|
setting flags within the system which control details of the handling
|
||||||
|
|
@ -346,12 +354,12 @@ PROCEDURE setMode*(m: Modes);
|
||||||
4 -- The effects of `setMode' on operation on values of the
|
4 -- The effects of `setMode' on operation on values of the
|
||||||
corresponding real number type in coroutines other than the calling
|
corresponding real number type in coroutines other than the calling
|
||||||
coroutine is not defined. Implementations are not require to preserve
|
coroutine is not defined. Implementations are not require to preserve
|
||||||
the status flags (if any) with the coroutine state.
|
the status flags (if any) with the coroutine state.
|
||||||
*)
|
*)
|
||||||
BEGIN
|
BEGIN
|
||||||
(* hardware dependent mode setting of coprocessor *)
|
(* hardware dependent mode setting of coprocessor *)
|
||||||
END setMode;
|
END setMode;
|
||||||
|
|
||||||
PROCEDURE currentMode*(): Modes;
|
PROCEDURE currentMode*(): Modes;
|
||||||
(*
|
(*
|
||||||
The value of the call currentMode() shall be the current status flags
|
The value of the call currentMode() shall be the current status flags
|
||||||
|
|
@ -365,9 +373,9 @@ PROCEDURE currentMode*(): Modes;
|
||||||
BEGIN
|
BEGIN
|
||||||
RETURN {}
|
RETURN {}
|
||||||
END currentMode;
|
END currentMode;
|
||||||
|
|
||||||
PROCEDURE IsLowException*(): BOOLEAN;
|
PROCEDURE IsLowException*(): BOOLEAN;
|
||||||
(*
|
(*
|
||||||
Returns TRUE if the current coroutine is in the exceptional execution state
|
Returns TRUE if the current coroutine is in the exceptional execution state
|
||||||
because of the raising of the LowReal exception; otherwise returns FALSE.
|
because of the raising of the LowReal exception; otherwise returns FALSE.
|
||||||
*)
|
*)
|
||||||
|
|
|
||||||
|
|
@ -615,9 +615,12 @@ Especially Length would become fairly complex.
|
||||||
END ReadLInt;
|
END ReadLInt;
|
||||||
|
|
||||||
PROCEDURE ReadSet* (VAR R: Rider; VAR x: SET);
|
PROCEDURE ReadSet* (VAR R: Rider; VAR x: SET);
|
||||||
VAR b: ARRAY 4 OF CHAR;
|
(* Reads 32 bits as a SET value (even on 64 bit systems. See Oakwood appendix 1.2.5.4 *)
|
||||||
|
VAR b: ARRAY 4 OF CHAR; l: LONGINT;
|
||||||
BEGIN ReadBytes(R, b, 4);
|
BEGIN ReadBytes(R, b, 4);
|
||||||
x := SYSTEM.VAL(SET, ORD(b[0]) + ORD(b[1])*100H + ORD(b[2])*10000H + ORD(b[3])*1000000H)
|
(* Need to read via a LONGINT to provide correct behaviour for 64 bit sets. *)
|
||||||
|
l := ORD(b[0]) + ORD(b[1])*100H + ORD(b[2])*10000H + ORD(b[3])*1000000H;
|
||||||
|
x := SYSTEM.VAL(SET, l)
|
||||||
END ReadSet;
|
END ReadSet;
|
||||||
|
|
||||||
PROCEDURE ReadReal* (VAR R: Rider; VAR x: REAL);
|
PROCEDURE ReadReal* (VAR R: Rider; VAR x: REAL);
|
||||||
|
|
|
||||||
|
|
@ -134,8 +134,8 @@ static int __str_cmp(CHAR *x, CHAR *y){
|
||||||
|
|
||||||
/* SYSTEM ops */
|
/* SYSTEM ops */
|
||||||
|
|
||||||
#define __VAL(t, x) ((t)(x))
|
#define __VAL(t, x) (*(t*)&(x))
|
||||||
#define __VALP(t, x) ((t)(uintptr_t)(x))
|
|
||||||
|
|
||||||
#define __GET(a, x, t) x= *(t*)(uintptr_t)(a)
|
#define __GET(a, x, t) x= *(t*)(uintptr_t)(a)
|
||||||
#define __PUT(a, x, t) *(t*)(uintptr_t)(a)=x
|
#define __PUT(a, x, t) *(t*)(uintptr_t)(a)=x
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,7 @@ BEGIN
|
||||||
(* Also need full tests for CHAR, and poossibly SYSTEM.BYTE. Here's a simple one *)
|
(* Also need full tests for CHAR, and poossibly SYSTEM.BYTE. Here's a simple one *)
|
||||||
|
|
||||||
c := 1X; c := SYSTEM.LSH(c,2); c := SYSTEM.ROT(c,-2); ASSERT(c=1X, 93);
|
c := 1X; c := SYSTEM.LSH(c,2); c := SYSTEM.ROT(c,-2); ASSERT(c=1X, 93);
|
||||||
b := 1; b := SYSTEM.LSH(b,2); b := SYSTEM.ROT(b,-2); ASSERT(SYSTEM.VAL(INTEGER,b)=1, 94);
|
b := 1; b := SYSTEM.LSH(b,2); b := SYSTEM.ROT(b,-2); ASSERT(SYSTEM.VAL(CHAR,b)=1X, 94);
|
||||||
|
|
||||||
END Shift;
|
END Shift;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -216,24 +216,27 @@ ooc2:
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc2/ooc2IntStr.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc2/ooc2IntStr.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc2/ooc2Real0.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc2/ooc2Real0.Mod
|
||||||
|
|
||||||
|
|
||||||
|
TODO: Comment disabled lines contain use of VAL that reads beyond source variable
|
||||||
|
|
||||||
ooc:
|
ooc:
|
||||||
@printf "\nMaking ooc library\n"
|
@printf "\nMaking ooc library\n"
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocLowReal.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocLowReal.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocLowLReal.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocLowLReal.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocRealMath.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocRealMath.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocOakMath.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocOakMath.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocLRealMath.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocLRealMath.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocLongInts.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocLongInts.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocComplexMath.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocComplexMath.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocLComplexMath.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocLComplexMath.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocAscii.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocAscii.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocCharClass.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocCharClass.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocStrings.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocStrings.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocConvTypes.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocConvTypes.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocLRealConv.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocLRealConv.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocLRealStr.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocLRealStr.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocRealConv.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocRealConv.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocRealStr.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocRealStr.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocIntConv.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocIntConv.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocIntStr.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocIntStr.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocMsg.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocMsg.Mod
|
||||||
|
|
@ -243,7 +246,7 @@ ooc:
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocStrings2.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocStrings2.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocRts.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocRts.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocFilenames.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocFilenames.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocTextRider.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocTextRider.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocBinaryRider.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocBinaryRider.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocJulianDay.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocJulianDay.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocFilenames.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ooc/oocFilenames.Mod
|
||||||
|
|
@ -266,52 +269,52 @@ ulm:
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmSYSTEM.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmSYSTEM.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmEvents.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmEvents.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmProcess.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmProcess.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmResources.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmResources.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmForwarders.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmForwarders.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmRelatedEvents.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmRelatedEvents.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmTypes.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmTypes.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmStreams.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmStreams.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmStrings.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmStrings.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmSysTypes.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmSysTypes.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmTexts.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmTexts.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmSysConversions.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmSysConversions.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmErrors.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmErrors.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmSysErrors.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmSysErrors.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmSysStat.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmSysStat.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmASCII.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmASCII.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmSets.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmSets.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmIO.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmIO.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmAssertions.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmAssertions.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmIndirectDisciplines.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmIndirectDisciplines.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmStreamDisciplines.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmStreamDisciplines.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmIEEE.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmIEEE.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmMC68881.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmMC68881.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmReals.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmReals.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmPrint.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmPrint.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmWrite.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmWrite.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmConstStrings.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmConstStrings.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmPlotters.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmPlotters.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmSysIO.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmSysIO.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmLoader.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmLoader.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmNetIO.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmNetIO.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmPersistentObjects.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmPersistentObjects.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmPersistentDisciplines.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmPersistentDisciplines.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmOperations.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmOperations.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmScales.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmScales.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmTimes.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmTimes.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmClocks.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmClocks.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmTimers.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmTimers.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmConditions.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmConditions.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmStreamConditions.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmStreamConditions.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmTimeConditions.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmTimeConditions.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmCiphers.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmCiphers.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmCipherOps.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmCipherOps.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmBlockCiphers.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmBlockCiphers.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmAsymmetricCiphers.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmAsymmetricCiphers.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmConclusions.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmConclusions.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmRandomGenerators.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmRandomGenerators.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmTCrypt.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmTCrypt.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmIntOperations.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/ulm/ulmIntOperations.Mod
|
||||||
|
|
||||||
pow32:
|
pow32:
|
||||||
@printf "\nMaking pow library\n"
|
@printf "\nMaking pow library\n"
|
||||||
|
|
@ -322,7 +325,7 @@ misc:
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/system/Oberon.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/system/Oberon.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/misc/crt.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/misc/crt.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/misc/Listen.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/misc/Listen.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/misc/MersenneTwister.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/misc/MersenneTwister.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/misc/MultiArrays.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/misc/MultiArrays.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/misc/MultiArrayRiders.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/misc/MultiArrayRiders.Mod
|
||||||
|
|
||||||
|
|
@ -338,13 +341,13 @@ s3:
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/s3/ethZlibReaders.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/s3/ethZlibReaders.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/s3/ethZlibWriters.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/s3/ethZlibWriters.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/s3/ethZip.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/s3/ethZip.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/s3/ethRandomNumbers.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/s3/ethRandomNumbers.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/s3/ethGZReaders.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/s3/ethGZReaders.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/s3/ethGZWriters.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/s3/ethGZWriters.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/s3/ethUnicode.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/s3/ethUnicode.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/s3/ethDates.Mod
|
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/s3/ethDates.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/s3/ethReals.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/s3/ethReals.Mod
|
||||||
cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/s3/ethStrings.Mod
|
# cd $(BUILDDIR); $(ROOTDIR)/$(VISHAP) -Ffs ../../src/library/s3/ethStrings.Mod
|
||||||
|
|
||||||
librarybinary:
|
librarybinary:
|
||||||
@printf "\nMaking lib$(ONAME)\n"
|
@printf "\nMaking lib$(ONAME)\n"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue