X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/70b904c575877c683e6c79cac4fbf7c6d89d0bde..02dfbd5b7af7816959dbd39c1fe628451204e35f:/mpint.h diff --git a/mpint.h b/mpint.h index 733292b..23378cd 100644 --- a/mpint.h +++ b/mpint.h @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: mpint.h,v 1.1 1999/11/25 11:38:31 mdw Exp $ + * $Id$ * * Conversion between MPs and standard C integers * @@ -27,16 +27,8 @@ * MA 02111-1307, USA. */ -/*----- Revision history --------------------------------------------------* - * - * $Log: mpint.h,v $ - * Revision 1.1 1999/11/25 11:38:31 mdw - * Support for conversions between MPs and C integers. - * - */ - -#ifndef MPINT_H -#define MPINT_H +#ifndef CATACOMB_MPINT_H +#define CATACOMB_MPINT_H #ifdef __cplusplus extern "C" { @@ -46,7 +38,7 @@ #include -#ifndef MP_H +#ifndef CATACOMB_MP_H # include "mp.h" #endif @@ -68,7 +60,7 @@ mp *_d = (d); \ size_t _sz = 4; \ \ - MP_MODIFY(_d, _sz); \ + MP_DEST(_d, _sz, 0); \ _d->f &= ~(MP_NEG | MP_UNDEF); \ \ /* --- Set the sign on the MP --- * \ @@ -102,7 +94,7 @@ * up all of my negative arithmetic. So do an explicit test here. \ */ \ \ - if (_i > -MPW_MAX) \ + if (_i >= -MPW_MAX) \ break; \ else \ _i /= (type)MPW_MAX + 1; \ @@ -144,7 +136,7 @@ _v++; \ _max /= (mpd)MPW_MAX + 1; \ } \ - if (!(_m->f & MP_NEG)) \ + if (!MP_NEGP(_m)) \ _i = -_i; \ (i) = _i; \ } while (0) @@ -168,6 +160,7 @@ mp_fromINT(short, short); mp_fromINT(ushort, unsigned short); mp_fromINT(int, int); mp_fromINT(uint, unsigned); +mp_fromINT(uint32, uint32); mp_fromINT(long, long); mp_fromINT(ulong, unsigned long); @@ -187,12 +180,13 @@ mp_fromINT(ulong, unsigned long); */ #define mp_toINT(name, type) \ - extern type mp_to##name(const mp */*m*/); + extern type mp_to##name(const mp */*m*/) mp_toINT(short, short); mp_toINT(ushort, unsigned short); mp_toINT(int, int); mp_toINT(uint, unsigned); +mp_toINT(uint32, uint32); mp_toINT(long, long); mp_toINT(ulong, unsigned long);