|
|
researchv10 Norman
#include <stdio.h>
#include "mp.h"
double modf();
char obuf[200];
void
mout(a)
mint a;
{
m_out(a, 10, stdout);
printf("\n");
}
void
mout1(a)
mint a;
{
m_out(a,10,stdout);
}
m_out(a,b,f)
mint a;
int b;
FILE *f;
{
int sign;
double carry, temp2;
mint x;
char *bp;
x = a;
sign = 1;
bp = &obuf[199];
if((x.high==0) && (x.low==0)){
printf("0");
return;
}
*bp-- = 0;
if(x.high<0){
x.high = -x.high;
sign = -1;
}
if(x.low<0){
x.low = -x.low;
sign = -1;
}
while((x.high!=0) || (x.low!=0)){
carry = 0;
if(x.high != 0){
carry = modf(x.high/10. , &x.high);
}
temp2 = modf(x.low/10. , &x.low);
x.low += (int)(10.*carry+0.5) * e15;
*bp-- = (int)(10.*temp2+0.5) + '0';
}
if(sign<0)
*bp-- = '-';
bp++;
fprintf(f,"%s",bp);
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.