[seed] [mpfr] Added mpfr.cmp, and new file for comparsion functions



commit f0ab9ba15066f982e524b3a5954cb077ec336dff
Author: Matt ARSENAULT <arsenm2 rpi edu>
Date:   Sun Jul 5 11:57:20 2009 -0400

    [mpfr] Added mpfr.cmp, and new file for comparsion functions

 modules/mpfr/Makefile.am     |    3 ++-
 modules/mpfr/seed-mpfr-cmp.c |   32 ++++++++++++++++++++++++++++++++
 modules/mpfr/seed-mpfr.c     |    1 +
 modules/mpfr/seed-mpfr.h     |    2 ++
 4 files changed, 37 insertions(+), 1 deletions(-)
---
diff --git a/modules/mpfr/Makefile.am b/modules/mpfr/Makefile.am
index 41ea385..83026a8 100644
--- a/modules/mpfr/Makefile.am
+++ b/modules/mpfr/Makefile.am
@@ -8,7 +8,8 @@ seedlib_LTLIBRARIES = \
 libseed_mpfr_la_SOURCES = \
 	seed-mpfr.c \
 	seed-mpfr-trig.c \
-	seed-mpfr-arithmetic.c
+	seed-mpfr-arithmetic.c \
+	seed-mpfr-cmp.c
 
 AM_CPPFLAGS = \
 	-I top_srcdir@/libseed/ \
diff --git a/modules/mpfr/seed-mpfr-cmp.c b/modules/mpfr/seed-mpfr-cmp.c
new file mode 100644
index 0000000..6cd59b4
--- /dev/null
+++ b/modules/mpfr/seed-mpfr-cmp.c
@@ -0,0 +1,32 @@
+
+#include <mpfr.h>
+#include "seed-mpfr.h"
+
+SeedValue seed_mpfr_cmp (SeedContext ctx,
+                          SeedObject function,
+                          SeedObject this_object,
+                          gsize argument_count,
+                          const SeedValue args[],
+                          SeedException * exception)
+{
+    mpfr_ptr rop, op;
+    gboolean ret;
+
+    CHECK_ARG_COUNT("mpfr.cmp", 1);
+
+    rop = seed_object_get_private(this_object);
+
+    if ( seed_value_is_object_of_class(ctx, args[0], mpfr_class) )
+    {
+        op = seed_object_get_private(args[0]);
+    }
+    else
+    {
+        TYPE_EXCEPTION("mpfr.cmp", "mpfr_t");
+    }
+
+    ret = mpfr_cmp(rop, op);
+
+    return seed_value_from_boolean(ctx, ret, exception);
+}
+
diff --git a/modules/mpfr/seed-mpfr.c b/modules/mpfr/seed-mpfr.c
index cbb0fda..18e8407 100644
--- a/modules/mpfr/seed-mpfr.c
+++ b/modules/mpfr/seed-mpfr.c
@@ -630,6 +630,7 @@ seed_static_function mpfr_funcs[] =
     {"set_inf", seed_mpfr_set_inf, 0},
     {"set_nan", seed_mpfr_set_nan, 0},
     {"swap", seed_mpfr_swap, 0},
+    {"cmp", seed_mpfr_cmp, 0},
     {"get_d", seed_mpfr_get_d, 0},
     {"fits_ulong_p", seed_mpfr_fits_ulong_p, 0},
     {"fits_slong_p", seed_mpfr_fits_slong_p, 0},
diff --git a/modules/mpfr/seed-mpfr.h b/modules/mpfr/seed-mpfr.h
index 2fdb3cf..9bcbbf5 100644
--- a/modules/mpfr/seed-mpfr.h
+++ b/modules/mpfr/seed-mpfr.h
@@ -87,5 +87,7 @@ DEF_SEED_MPFR_FUNC(seed_mpfr_sqrt);
 DEF_SEED_MPFR_FUNC(seed_mpfr_rec_sqrt);
 DEF_SEED_MPFR_FUNC(seed_mpfr_cbrt);
 
+DEF_SEED_MPFR_FUNC(seed_mpfr_cmp);
+
 #endif      /* _SEED_MFPR_H_ */
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]