static char *sccsid
= "@(#)pbignum.c 34.1 10/3/80";
pbignum(current
, useport
)
register lispval current
;
int *top
, *bot
, *work
, negflag
= 0, *sp(), *alloca();
register int *digitp
, *binp
;
/* copy bignum onto stack */
} while(current
= current
->s
.CDR
);
fprintf(useport
,"%d",*bot
);
/* save space for printed digits*/
work
= alloca((top
-bot
)*2*sizeof(int));
/* figure out nine digits at a time by destructive division*/
for(digitp
= work
; bot
<= top
; digitp
++) {
*digitp
= dodiv(top
,bot
);
if(negflag
) putc('-',useport
);
fprintf(useport
,"%d",*--digitp
);
while ( digitp
> work
) fprintf(useport
,"%09d",*--digitp
);