#include "os.h" | |
#include <mp.h> | |
#include "dat.h" | |
/* | |
* this code assumes that mpdigit is at least as | |
* big as an int. | |
*/ | |
mpint* | |
uitomp(uint i, mpint *b) | |
{ | |
if(b == nil) | |
b = mpnew(0); | |
mpassign(mpzero, b); | |
if(i != 0) | |
b->top = 1; | |
*b->p = i; | |
return b; | |
} | |
uint | |
mptoui(mpint *b) | |
{ | |
uint x; | |
x = *b->p; | |
if(b->sign < 0){ | |
x = 0; | |
} else { | |
if(b->top > 1 || x > MAXUINT) | |
x = MAXUINT; | |
} | |
return x; | |
} |