aboutsummaryrefslogtreecommitdiff
path: root/src/benchmarks/cfrac/utop.c
blob: 4d87c04158ecb62a3f90e8ac9d4170921cd7e1ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "pdefs.h"
#include "pcvt.h"
#include "precision.h"

/*
 * Unsigned to Precision
 */
precision utop(i)
   register unsigned int i;
{
   register digitPtr  uPtr;
   register precision u = palloc(INTSIZE);

   if (u == pUndef) return pUndef;

   u->sign    = false;
   uPtr	      = u->value;
   do {
      *uPtr++ = modBase(i);
      i	      = divBase(i);
   } while (i != 0);

   u->size = (uPtr - u->value);
   return presult(u);
}