diff options
Diffstat (limited to 'generic')
| -rw-r--r-- | generic/tclStubInit.c | 2 | ||||
| -rw-r--r-- | generic/tclTomMath.decls | 3 | ||||
| -rw-r--r-- | generic/tclTomMath.h | 8 | ||||
| -rw-r--r-- | generic/tclTomMathDecls.h | 13 |
4 files changed, 20 insertions, 6 deletions
diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c index db2ed5c..8ab015f 100644 --- a/generic/tclStubInit.c +++ b/generic/tclStubInit.c @@ -650,7 +650,7 @@ const TclTomMathStubs tclTomMathStubs = { TclBN_mp_get_mag_ull, /* 69 */ TclBN_mp_set_ul, /* 70 */ TclBN_mp_get_mag_ul, /* 71 */ - 0, /* 72 */ + TclBN_mp_isodd, /* 72 */ 0, /* 73 */ 0, /* 74 */ 0, /* 75 */ diff --git a/generic/tclTomMath.decls b/generic/tclTomMath.decls index c5c21b9..753ebca 100644 --- a/generic/tclTomMath.decls +++ b/generic/tclTomMath.decls @@ -219,6 +219,9 @@ declare 70 { declare 71 { unsigned long TclBN_mp_get_mag_ul(const mp_int *a) } +declare 72 { + mp_bool TclBN_mp_isodd(const mp_int *a) +} # Added in libtommath 1.1.0 # No longer in use: replaced by mp_and() diff --git a/generic/tclTomMath.h b/generic/tclTomMath.h index f2d327b..74a2c54 100644 --- a/generic/tclTomMath.h +++ b/generic/tclTomMath.h @@ -314,8 +314,12 @@ mp_err mp_init_size(mp_int *a, int size) MP_WUR; /* ---> Basic Manipulations <--- */ #define mp_iszero(a) (((a)->used == 0) ? MP_YES : MP_NO) -#define mp_iseven(a) (((a)->used == 0 || (((a)->dp[0] & 1) == 0)) ? MP_YES : MP_NO) -#define mp_isodd(a) (((a)->used > 0 && (((a)->dp[0] & 1) == 1)) ? MP_YES : MP_NO) +/* +mp_bool mp_iseven(const mp_int *a) MP_WUR; +*/ +/* +mp_bool mp_isodd(const mp_int *a) MP_WUR; +*/ #define mp_isneg(a) (((a)->sign != MP_ZPOS) ? MP_YES : MP_NO) /* set to zero */ diff --git a/generic/tclTomMathDecls.h b/generic/tclTomMathDecls.h index 8907462..20fa442 100644 --- a/generic/tclTomMathDecls.h +++ b/generic/tclTomMathDecls.h @@ -96,6 +96,7 @@ #define s_mp_karatsuba_mul TclBN_mp_karatsuba_mul #define mp_karatsuba_sqr TclBN_mp_karatsuba_sqr #define s_mp_karatsuba_sqr TclBN_mp_karatsuba_sqr +#define mp_isodd TclBN_mp_isodd #define mp_lshd TclBN_mp_lshd #define mp_mod TclBN_mp_mod #define mp_mod_2d TclBN_mp_mod_2d @@ -331,7 +332,8 @@ EXTERN Tcl_WideUInt TclBN_mp_get_mag_ull(const mp_int *a); EXTERN void TclBN_mp_set_ul(mp_int *a, unsigned long i); /* 71 */ EXTERN unsigned long TclBN_mp_get_mag_ul(const mp_int *a); -/* Slot 72 is reserved */ +/* 72 */ +EXTERN mp_bool TclBN_mp_isodd(const mp_int *a); /* Slot 73 is reserved */ /* Slot 74 is reserved */ /* Slot 75 is reserved */ @@ -424,7 +426,7 @@ typedef struct TclTomMathStubs { Tcl_WideUInt (*tclBN_mp_get_mag_ull) (const mp_int *a); /* 69 */ void (*tclBN_mp_set_ul) (mp_int *a, unsigned long i); /* 70 */ unsigned long (*tclBN_mp_get_mag_ul) (const mp_int *a); /* 71 */ - void (*reserved72)(void); + mp_bool (*tclBN_mp_isodd) (const mp_int *a); /* 72 */ void (*reserved73)(void); void (*reserved74)(void); void (*reserved75)(void); @@ -573,7 +575,8 @@ extern const TclTomMathStubs *tclTomMathStubsPtr; (tclTomMathStubsPtr->tclBN_mp_set_ul) /* 70 */ #define TclBN_mp_get_mag_ul \ (tclTomMathStubsPtr->tclBN_mp_get_mag_ul) /* 71 */ -/* Slot 72 is reserved */ +#define TclBN_mp_isodd \ + (tclTomMathStubsPtr->tclBN_mp_isodd) /* 72 */ /* Slot 73 is reserved */ /* Slot 74 is reserved */ /* Slot 75 is reserved */ @@ -591,6 +594,10 @@ extern const TclTomMathStubs *tclTomMathStubsPtr; /* !END!: Do not edit above this line. */ +#undef mp_isodd +#define mp_isodd(a) (((a)->used > 0 && (((a)->dp[0] & 1) == 1)) ? MP_YES : MP_NO) +#define mp_iseven(a) (((a)->used == 0 || (((a)->dp[0] & 1) == 0)) ? MP_YES : MP_NO) + #undef TCL_STORAGE_CLASS #define TCL_STORAGE_CLASS DLLIMPORT |
