summaryrefslogtreecommitdiff
path: root/src/mp-convert.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mp-convert.c')
-rw-r--r--src/mp-convert.c22
1 files changed, 7 insertions, 15 deletions
diff --git a/src/mp-convert.c b/src/mp-convert.c
index ef1a770..5f097c8 100644
--- a/src/mp-convert.c
+++ b/src/mp-convert.c
@@ -24,30 +24,26 @@ mp_set_from_mp(const MPNumber *x, MPNumber *z)
mpc_set(z->num, x->num, MPC_RNDNN);
}
-
void
mp_set_from_double(double dx, MPNumber *z)
{
mpc_set_d(z->num, dx, MPC_RNDNN);
}
-
void
-mp_set_from_integer(int64_t x, MPNumber *z)
+mp_set_from_integer(long x, MPNumber *z)
{
mpc_set_si(z->num, x, MPC_RNDNN);
}
-
void
-mp_set_from_unsigned_integer(uint64_t x, MPNumber *z)
+mp_set_from_unsigned_integer(ulong x, MPNumber *z)
{
mpc_set_ui(z->num, x, MPC_RNDNN);
}
-
void
-mp_set_from_fraction(int64_t numerator, int64_t denominator, MPNumber *z)
+mp_set_from_fraction(long numerator, long denominator, MPNumber *z)
{
if (denominator < 0) {
numerator = -numerator;
@@ -59,7 +55,6 @@ mp_set_from_fraction(int64_t numerator, int64_t denominator, MPNumber *z)
mp_divide_integer(z, denominator, z);
}
-
void
mp_set_from_polar(const MPNumber *r, MPAngleUnit unit, const MPNumber *theta, MPNumber *z)
{
@@ -88,14 +83,13 @@ mp_set_from_random(MPNumber *z)
mp_set_from_double(drand48(), z);
}
-int64_t
+long
mp_to_integer(const MPNumber *x)
{
return mpfr_get_si(mpc_realref(x->num), MPFR_RNDN);
}
-
-uint64_t
+ulong
mp_to_unsigned_integer(const MPNumber *x)
{
return mpfr_get_ui(mpc_realref(x->num), MPFR_RNDN);
@@ -116,7 +110,8 @@ mp_to_double(const MPNumber *x)
static int
char_val(char **c, int base)
{
- int i, j, value, offset;
+ int i, j, value;
+ size_t offset;
const char *digits[][10] = {{"٠", "١", "٢", "٣", "٤", "٥", "٦", "٧", "٨", "٩"},
{"〇", "〡", "〢", "〣", "〤", "〥", "〦", "〧", "〨", "〩"},
{"۰", "۱", "۲", "۳", "۴", "۵", "۶", "۷", "۸", "۹"},
@@ -181,7 +176,6 @@ char_val(char **c, int base)
return value;
}
-
static int
ends_with(const char *start, const char *end, const char *word)
{
@@ -193,7 +187,6 @@ ends_with(const char *start, const char *end, const char *word)
return strncmp(end - word_len, word, word_len) == 0;
}
-
// FIXME: Doesn't handle errors well (e.g. trailing space)
static bool
set_from_sexagesimal(const char *str, int length, MPNumber *z)
@@ -224,7 +217,6 @@ set_from_sexagesimal(const char *str, int length, MPNumber *z)
return false;
}
-
bool
mp_set_from_string(const char *str, int default_base, MPNumber *z)
{