blob: 33eaea569bd08e329cb0e6cf2f16f93ac82388a4 (
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"
/*
* Long to Precision
*/
precision ltop(l)
register long l;
{
register digitPtr uPtr;
register precision u = palloc(LONGSIZE);
if (u == pUndef) return u;
if (u->sign = (l < 0L)) l = -l;
uPtr = u->value;
do {
*uPtr++ = modBase(l);
l = divBase(l);
} while (l != 0);
u->size = (uPtr - u->value); /* normalize */
return presult(u);
}
|