|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ T d ┃
Length: 4427 (0x114b) Types: TextFile Names: »diffs.1«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki └─ ⟦this⟧ »EUUGD11/euug-87hel/sec1/gprolog/diffs.1«
Index: arith.c 28a29,30 > static int sawfloat; /* Convert results to integer conditionally */ > 38a41,45 > #ifdef GRAPHICS > extern double fabs(),ceil(); > extern int abs(); > #endif > 57c64,71 < ffail --- > #ifdef GRAPHICS > ffail, /* abs/fabs */ > ffail, /* float */ > ffail, /* int */ > ceil > #else > ffail > #endif 76,77c90,99 < SOMETIMES, /* 15 1 SPARE */ < ALWAYS, /* 16 - UNUSABLE */ --- > #ifdef GRAPHICS > SOMETIMES, /* 15 1 abs/fabs */ > ALWAYS, /* 16 1 float */ > SOMETIMES, /* 17 1 int */ > SOMETIMES, /* 18 1 ceil */ > ALWAYS, /* 19 - UNUSABLE */ > #else > SOMETIMES, /* 15 1 SPARE */ > ALWAYS, /* 16 - UNUSABLE */ > #endif 130a153,155 > #ifdef GRAPHICS > sawfloat++; > #endif 201a227,230 > #ifdef GRAPHICS > if (fl == ALWAYS) > sawfloat++; > #endif 211a241,261 > #ifdef GRAPHICS > case FLOAT: > break; > case INT: > if (typ) { > if (v.AsFloat >= 0.0) > v.AsInt = (int)(v.AsFloat + 0.5); > else > v.AsInt = (int)(v.AsFloat - 0.5); > v.Float = FALSE; > if (sawfloat) > sawfloat--; > } > break; > case ABS: > if (typ) > v.AsFloat = fabs(v.AsFloat); > else > v.AsInt = abs(v.AsInt); > break; > #endif 224c274,278 < int fl = floatable[op+16], typ; --- > #ifdef GRAPHICS > int fl = floatable[op+19], typ; > #else > int fl = floatable[op+16], typ; > #endif 240a295,298 > #ifdef GRAPHICS > if (fl == ALWAYS) > sawfloat++; > #endif 305c363 < r.Float = !Narrow(r.AsFloat, &(r.AsInt)); --- > r.Float = !Narrow_to_int(r.AsFloat, &(r.AsInt)); 318a377 > sawfloat = 0; /* BJB */ 320a380,381 > if (r.Float && sawfloat == 0) /* BJB */ > r.Float = !Narrow_to_int(r.AsFloat, &(r.AsInt)); 322,323d382 < r.Float = !Narrow(r.AsFloat, &(r.AsInt)); < if (r.Float) 335a395 > sawfloat = 0; /* BJB */ 337a398,399 > if (r.Float && sawfloat == 0) /* BJB */ > r.Float = !Narrow_to_int(r.AsFloat, &(r.AsInt)); 339,340d400 < r.Float = !Narrow(r.AsFloat, &(r.AsInt)); < if (r.Float) 352a413 > sawfloat = 0; /* BJB */ 355a417,418 > if (r.Float && sawfloat == 0) /* BJB */ > r.Float = !Narrow_to_int(r.AsFloat, &(r.AsInt)); 357,358d419 < r.Float = !Narrow(r.AsFloat, &(r.AsInt)); < if (r.Float) 486a548,550 > #ifdef GRAPHICS > return FALSE; > #else 490a555 > #endif 492a558,580 > #ifdef GRAPHICS > int > Narrow_to_int(f,i) > double f; > int *i; > { > register int k; > > if (f < MinInt || f > MaxInt) return FALSE; > if ((double)(k = (int)f) != f) return FALSE; > *i = k; > return TRUE; > } > #else > int > Narrow_to_int(f,i) > double f; > int *i; > { > return(Narrow(f,i)); > } > #endif > 497c585 < if (v->Float) v->Float = !Narrow(v->AsFloat, &(v->AsInt)); --- > if (v->Float) v->Float = !Narrow_to_int(v->AsFloat, &(v->AsInt)); Index: arithop.h 47a48,54 > #ifdef GRAPHICS > #define ABS 15 > #define FLOAT 16 > #define INT 17 > #define CEIL 18 > #endif > Index: bootcmd 1c1 < ['all.pl']. --- > ['pl/grall.pl']. Index: main.c 1345a1346,1351 > #ifdef GRAPHICS > case _unary+ABS: > case _unary+FLOAT: > case _unary+INT: > case _unary+CEIL: > #endif Index: parms.c 80a81,83 > #ifdef GRAPHICS > char version[] = "C-Prolog version 1.5 + SunCore"; > #else 81a85 > #endif Index: rewrite.c 205a206 > #ifdef GRAPHICS 206a208,236 > int k; > char *p1,buf[256]; > float num; > > num = XtrFloat(t); > sprintf(OutBuf,"%g",num); > if (index(OutBuf,'.') == 0) { > p1 = index(OutBuf,'e'); > if (p1 == 0) { > k = strlen(OutBuf); > OutBuf[k] = '.'; > OutBuf[k+1] = '0'; > OutBuf[k+2] = '\0'; > } > else { > k = p1 - OutBuf; > strncpy(buf,OutBuf,k); > buf[k] = '.'; > buf[k+1] = '0'; > strcpy(buf+k+2,p1); > PutString(buf); > return; > } > } > PutString(OutBuf); > return; > } > #else > if (IsFloat(t)) { 209a240 > #endif 773a805,807 > #ifdef GRAPHICS > int flag = 0; > #endif 779a814,817 > #ifdef GRAPHICS > if (chtyp[*t] == N) > flag = 1; > #endif 794a833,838 > #ifdef GRAPHICS > if (flag) > *p = ConsFloat(d); > else > if (Narrow_to_int(d,&i)) > #else 795a840 > #endif Only in gprolog1.5: gprolog.nr Only in gprolog1.5: gr.h Only in gprolog1.5: gr1.c Only in gprolog1.5: gr2.c Only in gprolog1.5: gr3.c Only in gprolog1.5: makefile Only in gprolog1.5: prtable.c Only in gprolog1.5: pushargs.s Only in gprolog1.5: demo/*