[seed] [mpfr] More fixes to the mpfr multi-file build.
- From: Tim Horton <hortont src gnome org>
- To: svn-commits-list gnome org
- Subject: [seed] [mpfr] More fixes to the mpfr multi-file build.
- Date: Sun, 5 Jul 2009 05:57:53 +0000 (UTC)
commit a7ccaea5d7e2ae5715be36d9705c487740933361
Author: Matt ARSENAULT <arsenm2 rpi edu>
Date: Sun Jul 5 01:43:12 2009 -0400
[mpfr] More fixes to the mpfr multi-file build.
modules/mpfr/seed-mpfr.c | 48 +--------------------------------------------
modules/mpfr/seed-mpfr.h | 47 +++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 49 insertions(+), 46 deletions(-)
---
diff --git a/modules/mpfr/seed-mpfr.c b/modules/mpfr/seed-mpfr.c
index 90fa80f..39d862d 100644
--- a/modules/mpfr/seed-mpfr.c
+++ b/modules/mpfr/seed-mpfr.c
@@ -5,55 +5,11 @@
#include "seed-mpfr.h"
-SeedObject ns_ref;
-SeedClass mpfr_class;
-
-#define TYPE_EXCEPTION(name, wanted) \
- seed_make_exception(ctx, exception, "TypeError", name " expected " wanted ); \
- return seed_make_undefined(ctx);
-
-#if 0 /* TODO: Make this work */
-/* kind of stupid hack */
-#if MPFR_PREC_MAX == G_MAXLONG
- #define seed_value_to_mpfr_prec_t(a, b, c) seed_value_to_ulong(a, b, c)
- #define seed_value_from_mpfr_prec_t(a, b, c) seed_value_from_ulong(a, b, c)
-#elif MPFR_PREC_MAX == G_MAXUSHORT
- #define seed_value_to_mpfr_prec_t(a, b, c) seed_value_to_ushort(a, b, c)
- #define seed_value_from_mpfr_prec_t(a, b, c) seed_value_from_ushort(a, b, c)
-#elif MPFR_PREC_MAX == G_MAXINT
- #define seed_value_to_mpfr_prec_t(a, b, c) seed_value_to_int(a, b, c)
- #define seed_value_from_mpfr_prec_t(a, b, c) seed_value_from_int(a, b, c)
-#elif MPFR_PREC_MAX == G_MAXUINT64
- #define seed_value_to_mpfr_prec_t(a, b, c) seed_value_to_uint64(a, b, c)
- #define seed_value_from_mpfr_prec_t(a, b, c) seed_value_from_uint64(a, b, c)
-#else
- #error "Wrong mpfr_prec_t size somehow?"
-#endif
-#endif
-
-#define seed_value_to_mpfr_prec_t(a, b, c) seed_value_to_uint64(a, b, c)
-#define seed_value_from_mpfr_prec_t(a, b, c) seed_value_from_uint64(a, b, c)
-
-/* TODO: Right size for this */
-#define seed_value_to_mpfr_rnd_t(a, b, c) seed_value_to_char(a, b, c)
-#define seed_value_from_mpfr_rnd_t(a, b, c) seed_value_from_char(a, b, c)
-
-#define seed_value_from_mp_exp_t(a, b, c) seed_value_from_ulong(a, b, c)
-#define seed_value_to_mp_exp_t(a, b, c) seed_value_to_ulong(a, b, c)
-
/* For now at least ignoring the ability to use gmp types since there is no gmp module */
SeedEngine * eng;
-typedef enum _seed_mpfr_t
-{
- SEED_MPFR_UNKNOWN = 0,
- SEED_MPFR_MPFR = 1 << 1,
- SEED_MPFR_DOUBLE = 1 << 2,
- SEED_MPFR_STRING = 1 << 3,
-} seed_mpfr_t;
-
-static inline seed_mpfr_t
+inline seed_mpfr_t
seed_mpfr_arg_type(SeedContext ctx, SeedValue arg, SeedException exept)
{
if ( seed_value_is_object_of_class(ctx, arg, mpfr_class) )
@@ -79,7 +35,7 @@ seed_mpfr_out_str (SeedContext ctx,
gint base;
mpfr_rnd_t rnd;
mpfr_ptr op;
-
+
CHECK_ARG_COUNT("mpfr.out_str", 4);
stream = (FILE*) seed_pointer_get_pointer(ctx, args[0]);
diff --git a/modules/mpfr/seed-mpfr.h b/modules/mpfr/seed-mpfr.h
index eee749c..6dd12f8 100644
--- a/modules/mpfr/seed-mpfr.h
+++ b/modules/mpfr/seed-mpfr.h
@@ -4,9 +4,56 @@
#include <seed-module.h>
#include <seed.h>
+#define TYPE_EXCEPTION(name, wanted) \
+ seed_make_exception(ctx, exception, "TypeError", name " expected " wanted ); \
+ return seed_make_undefined(ctx);
+
+#if 0 /* TODO: Make this work */
+/* kind of stupid hack */
+#if MPFR_PREC_MAX == G_MAXLONG
+ #define seed_value_to_mpfr_prec_t(a, b, c) seed_value_to_ulong(a, b, c)
+ #define seed_value_from_mpfr_prec_t(a, b, c) seed_value_from_ulong(a, b, c)
+#elif MPFR_PREC_MAX == G_MAXUSHORT
+ #define seed_value_to_mpfr_prec_t(a, b, c) seed_value_to_ushort(a, b, c)
+ #define seed_value_from_mpfr_prec_t(a, b, c) seed_value_from_ushort(a, b, c)
+#elif MPFR_PREC_MAX == G_MAXINT
+ #define seed_value_to_mpfr_prec_t(a, b, c) seed_value_to_int(a, b, c)
+ #define seed_value_from_mpfr_prec_t(a, b, c) seed_value_from_int(a, b, c)
+#elif MPFR_PREC_MAX == G_MAXUINT64
+ #define seed_value_to_mpfr_prec_t(a, b, c) seed_value_to_uint64(a, b, c)
+ #define seed_value_from_mpfr_prec_t(a, b, c) seed_value_from_uint64(a, b, c)
+#else
+ #error "Wrong mpfr_prec_t size somehow?"
+#endif
+#endif
+
+#define seed_value_to_mpfr_prec_t(a, b, c) seed_value_to_uint64(a, b, c)
+#define seed_value_from_mpfr_prec_t(a, b, c) seed_value_from_uint64(a, b, c)
+
+/* TODO: Right size for this */
+#define seed_value_to_mpfr_rnd_t(a, b, c) seed_value_to_char(a, b, c)
+#define seed_value_from_mpfr_rnd_t(a, b, c) seed_value_from_char(a, b, c)
+
+#define seed_value_from_mp_exp_t(a, b, c) seed_value_from_ulong(a, b, c)
+#define seed_value_to_mp_exp_t(a, b, c) seed_value_to_ulong(a, b, c)
+
+
#define DEF_SEED_MPFR_FUNC(name) SeedValue name( SeedContext,SeedObject,\
SeedObject, gsize, const SeedValue[], SeedException*)
+SeedObject ns_ref;
+SeedClass mpfr_class;
+
+typedef enum _seed_mpfr_t
+{
+ SEED_MPFR_UNKNOWN = 0,
+ SEED_MPFR_MPFR = 1 << 1,
+ SEED_MPFR_DOUBLE = 1 << 2,
+ SEED_MPFR_STRING = 1 << 3,
+} seed_mpfr_t;
+
+inline seed_mpfr_t seed_mpfr_arg_type(SeedContext, SeedValue, SeedException);
+
DEF_SEED_MPFR_FUNC(seed_mpfr_add);
DEF_SEED_MPFR_FUNC(seed_mpfr_sin);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]