summaryrefslogtreecommitdiff
path: root/src/mp.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mp.h')
-rw-r--r--src/mp.h24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/mp.h b/src/mp.h
index 3e03089..437f6f7 100644
--- a/src/mp.h
+++ b/src/mp.h
@@ -69,6 +69,8 @@ void mperr(const char *format, ...) __attribute__((format(printf, 1, 2)))
/* Returns initialized MPNumber object */
MPNumber mp_new(void);
+MPNumber mp_new_from_unsigned_integer(ulong x);
+
MPNumber* mp_new_ptr(void);
void mp_clear(MPNumber *z);
@@ -137,7 +139,7 @@ void mp_invert_sign(const MPNumber *x, MPNumber *z);
void mp_add(const MPNumber *x, const MPNumber *y, MPNumber *z);
/* Sets z = x + y */
-void mp_add_integer(const MPNumber *x, int64_t y, MPNumber *z);
+void mp_add_integer(const MPNumber *x, long y, MPNumber *z);
/* Sets z = x − y */
void mp_subtract(const MPNumber *x, const MPNumber *y, MPNumber *z);
@@ -146,13 +148,13 @@ void mp_subtract(const MPNumber *x, const MPNumber *y, MPNumber *z);
void mp_multiply(const MPNumber *x, const MPNumber *y, MPNumber *z);
/* Sets z = x × y */
-void mp_multiply_integer(const MPNumber *x, int64_t y, MPNumber *z);
+void mp_multiply_integer(const MPNumber *x, long y, MPNumber *z);
/* Sets z = x ÷ y */
void mp_divide(const MPNumber *x, const MPNumber *y, MPNumber *z);
/* Sets z = x ÷ y */
-void mp_divide_integer(const MPNumber *x, int64_t y, MPNumber *z);
+void mp_divide_integer(const MPNumber *x, long y, MPNumber *z);
/* Sets z = 1 ÷ x */
void mp_reciprocal(const MPNumber *, MPNumber *);
@@ -181,7 +183,7 @@ void mp_round(const MPNumber *x, MPNumber *z);
void mp_ln(const MPNumber *x, MPNumber *z);
/* Sets z = log_n x */
-void mp_logarithm(int64_t n, const MPNumber *x, MPNumber *z);
+void mp_logarithm(long n, const MPNumber *x, MPNumber *z);
/* Sets z = π */
void mp_get_pi(MPNumber *z);
@@ -193,7 +195,7 @@ void mp_get_eulers(MPNumber *z);
void mp_get_i(MPNumber *z);
/* Sets z = n√x */
-void mp_root(const MPNumber *x, int64_t n, MPNumber *z);
+void mp_root(const MPNumber *x, long n, MPNumber *z);
/* Sets z = √x */
void mp_sqrt(const MPNumber *x, MPNumber *z);
@@ -211,7 +213,7 @@ void mp_modular_exponentiation(const MPNumber *x, const MPNumber *y, const MPNum
void mp_xpowy(const MPNumber *x, const MPNumber *y, MPNumber *z);
/* Sets z = x^y */
-void mp_xpowy_integer(const MPNumber *x, int64_t y, MPNumber *z);
+void mp_xpowy_integer(const MPNumber *x, long y, MPNumber *z);
/* Sets z = e^x */
void mp_epowy(const MPNumber *x, MPNumber *z);
@@ -231,13 +233,13 @@ void mp_set_from_float(float x, MPNumber *z);
void mp_set_from_double(double x, MPNumber *z);
/* Sets z = x */
-void mp_set_from_integer(int64_t x, MPNumber *z);
+void mp_set_from_integer(long x, MPNumber *z);
/* Sets z = x */
-void mp_set_from_unsigned_integer(uint64_t x, MPNumber *z);
+void mp_set_from_unsigned_integer(ulong x, MPNumber *z);
/* Sets z = numerator ÷ denominator */
-void mp_set_from_fraction(int64_t numerator, int64_t denominator, MPNumber *z);
+void mp_set_from_fraction(long numerator, long denominator, MPNumber *z);
/* Sets z = r(cos theta + i sin theta) */
void mp_set_from_polar(const MPNumber *r, MPAngleUnit unit, const MPNumber *theta, MPNumber *z);
@@ -260,10 +262,10 @@ float mp_to_float(const MPNumber *x);
double mp_to_double(const MPNumber *x);
/* Returns x as a native integer */
-int64_t mp_to_integer(const MPNumber *x);
+long mp_to_integer(const MPNumber *x);
/* Returns x as a native unsigned integer */
-uint64_t mp_to_unsigned_integer(const MPNumber *x);
+ulong mp_to_unsigned_integer(const MPNumber *x);
/* Sets z = sin x */
void mp_sin(const MPNumber *x, MPAngleUnit unit, MPNumber *z);