X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/dd22938ef0d9b0131dad9171a8a95866ceec9607..75263f25a1ce8e7b38ad4bd61a9a893723ec1db3:/mpx.h diff --git a/mpx.h b/mpx.h index bc4b356..3364137 100644 --- a/mpx.h +++ b/mpx.h @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: mpx.h,v 1.14 2002/10/09 00:36:03 mdw Exp $ + * $Id: mpx.h,v 1.15 2002/10/19 17:56:50 mdw Exp $ * * Low level multiprecision arithmetic * @@ -30,6 +30,9 @@ /*----- Revision history --------------------------------------------------* * * $Log: mpx.h,v $ + * Revision 1.15 2002/10/19 17:56:50 mdw + * Fix bit operations. Test them (a bit) better. + * * Revision 1.14 2002/10/09 00:36:03 mdw * Fix bounds on workspace for Karatsuba operations. * @@ -383,29 +386,6 @@ extern void mpx_lsr(mpw */*dv*/, mpw */*dvl*/, /*----- Bitwise operations ------------------------------------------------*/ -/* --- How to implement them --- * - * - * x: 0011 - * y: 0101 - */ - -#define MPX_B0000(x, y) (0u) -#define MPX_B0001(x, y) ((x) & (y)) -#define MPX_B0010(x, y) ((x) & ~(y)) -#define MPX_B0011(x, y) (x) -#define MPX_B0100(x, y) (~(x) & ~(y)) -#define MPX_B0101(x, y) (y) -#define MPX_B0110(x, y) ((x) ^ (y)) -#define MPX_B0111(x, y) ((x) | (y)) -#define MPX_B1000(x, y) (~((x) | (y))) -#define MPX_B1001(x, y) (~((x) ^ (y))) -#define MPX_B1010(x, y) (~(y)) -#define MPX_B1011(x, y) ((x) | ~(y)) -#define MPX_B1100(x, y) (~(x)) -#define MPX_B1101(x, y) (~(x) | (y)) -#define MPX_B1110(x, y) (~((x) & (y))) -#define MPX_B1111(x, y) (~0u) - /* --- @mpx_bitop@ --- * * * Arguments: @mpw *dv, *dvl@ = destination vector