|
|
researchv10 Norman
/*
* read or print machine-dependent data structures
* cray xmp
*/
#include "defs.h"
/*
* read an ASCII expression
*/
extern char lastc;
WORD
ascval()
{
long l;
register int i;
l = 0L;
i = sizeof(l);
while (quotchar()) {
if (--i >= 0) {
l <<= 8;
l |= lastc;
}
}
return ((WORD)l);
}
/*
* read a floating point number
* the result must fit in a WORD
*/
WORD
fpin(buf)
char *buf;
{
union {
WORD w;
float f;
} x;
double atof();
x.f = atof(buf);
return (x.w);
}
/*
* print a floating point number
*/
#define FPWID 32
fpout(flag, va)
char flag;
char *va;
{
char buf[FPWID+1];
char *gcvt();
if (flag == 'f')
printf("%-16s", gcvt((double)*(float *)va, 9, buf));
else
printf("%-32s", gcvt(*(double *)va, 18, buf));
}
/*
* print a date
*/
printdate(tvec)
WORD tvec;
{
char *p;
char *ctime();
tvec &= 0xffffffff; /* don't spend forever at it */
p = ctime((long *)&tvec);
p[strlen(p)-1] = 0; /* stomp on newline */
printf("%-25s", p);
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.