summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MLKInteger.m16
-rw-r--r--util.h13
2 files changed, 14 insertions, 15 deletions
diff --git a/MLKInteger.m b/MLKInteger.m
index e659348..95b2e4a 100644
--- a/MLKInteger.m
+++ b/MLKInteger.m
@@ -17,10 +17,10 @@
*/
#import "MLKInteger.h"
+#import "util.h"
#import <Foundation/NSString.h>
-
@implementation MLKInteger
-(MLKInteger *) initWithMPZ:(mpz_t)mpz
{
@@ -53,20 +53,6 @@
base:base]);
}
-#define DEFINE_GMP_OPERATION(SIGNATURE, TYPE, GMPOP, OBJTYPE, CONSTRUCTOR) \
- -(OBJTYPE *) SIGNATURE \
- { \
- TYPE##_t mpval; \
- OBJTYPE *result; \
- \
- TYPE##_init (mpval); \
- GMPOP; \
- result = [OBJTYPE CONSTRUCTOR mpval]; \
- TYPE##_clear (mpval); \
- \
- return result; \
- }
-
#define DEFINE_MPZ_TWOARG_OPERATION(SELECTOR, GMPFUN) \
DEFINE_GMP_OPERATION (SELECTOR (MLKInteger *)arg, \
mpz, \
diff --git a/util.h b/util.h
new file mode 100644
index 0000000..7a73d22
--- /dev/null
+++ b/util.h
@@ -0,0 +1,13 @@
+#define DEFINE_GMP_OPERATION(SIGNATURE, TYPE, GMPOP, OBJTYPE, CONSTRUCTOR) \
+ -(OBJTYPE *) SIGNATURE \
+ { \
+ TYPE##_t mpval; \
+ OBJTYPE *result; \
+ \
+ TYPE##_init (mpval); \
+ GMPOP; \
+ result = [OBJTYPE CONSTRUCTOR mpval]; \
+ TYPE##_clear (mpval); \
+ \
+ return result; \
+ }