summaryrefslogtreecommitdiff
path: root/util.h
diff options
context:
space:
mode:
Diffstat (limited to 'util.h')
-rw-r--r--util.h13
1 files changed, 13 insertions, 0 deletions
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; \
+ }