Changeset: 3a94d6f23a50 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3a94d6f23a50
Modified Files:
        gdk/gdk_ssort.c
        gdk/gdk_ssort_impl.h
Branch: default
Log Message:

Simplify gdk_ssort_impl.h by defining some more tokens.
Get rid of the CONCAT2 and CONCAT3 macros and make the code look even
more like C.


diffs (truncated from 924 to 300 lines):

diff --git a/gdk/gdk_ssort.c b/gdk/gdk_ssort.c
--- a/gdk/gdk_ssort.c
+++ b/gdk/gdk_ssort.c
@@ -277,97 +277,299 @@ merge_compute_minrun(ssize_t n)
 
 
 #ifndef NOEXPAND_BTE
-#define T bte
-#define O
+#define COPY           COPY_bte
+
+#define binarysort     binarysort_bte
+#define do_ssort       do_ssort_bte
+#define gallop_left    gallop_left_bte
+#define gallop_right   gallop_right_bte
+#define ISLT           ISLT_bte
+#define merge_at       merge_at_bte
 #include "gdk_ssort_impl.h"
-#undef O
+#undef binarysort
+#undef do_ssort
+#undef gallop_left
+#undef gallop_right
+#undef ISLT
+#undef merge_at
 
-#define O _rev
+#define binarysort     binarysort_bte_rev
+#define do_ssort       do_ssort_bte_rev
+#define gallop_left    gallop_left_bte_rev
+#define gallop_right   gallop_right_bte_rev
+#define ISLT           ISLT_bte_rev
+#define merge_at       merge_at_bte_rev
 #include "gdk_ssort_impl.h"
-#undef T
-#undef O
+#undef binarysort
+#undef do_ssort
+#undef gallop_left
+#undef gallop_right
+#undef ISLT
+#undef merge_at
+
+#undef COPY
 #endif
 
 #ifndef NOEXPAND_SHT
-#define T sht
-#define O
+#define COPY           COPY_sht
+
+#define binarysort     binarysort_sht
+#define do_ssort       do_ssort_sht
+#define gallop_left    gallop_left_sht
+#define gallop_right   gallop_right_sht
+#define ISLT           ISLT_sht
+#define merge_at       merge_at_sht
 #include "gdk_ssort_impl.h"
-#undef O
+#undef binarysort
+#undef do_ssort
+#undef gallop_left
+#undef gallop_right
+#undef ISLT
+#undef merge_at
 
-#define O _rev
+#define binarysort     binarysort_sht_rev
+#define do_ssort       do_ssort_sht_rev
+#define gallop_left    gallop_left_sht_rev
+#define gallop_right   gallop_right_sht_rev
+#define ISLT           ISLT_sht_rev
+#define merge_at       merge_at_sht_rev
 #include "gdk_ssort_impl.h"
-#undef T
-#undef O
+#undef binarysort
+#undef do_ssort
+#undef gallop_left
+#undef gallop_right
+#undef ISLT
+#undef merge_at
+
+#undef COPY
 #endif
 
 #ifndef NOEXPAND_INT
-#define T int
-#define O
+#define COPY           COPY_int
+
+#define binarysort     binarysort_int
+#define do_ssort       do_ssort_int
+#define gallop_left    gallop_left_int
+#define gallop_right   gallop_right_int
+#define ISLT           ISLT_int
+#define merge_at       merge_at_int
 #include "gdk_ssort_impl.h"
-#undef O
+#undef binarysort
+#undef do_ssort
+#undef gallop_left
+#undef gallop_right
+#undef ISLT
+#undef merge_at
 
-#define O _rev
+#define binarysort     binarysort_int_rev
+#define do_ssort       do_ssort_int_rev
+#define gallop_left    gallop_left_int_rev
+#define gallop_right   gallop_right_int_rev
+#define ISLT           ISLT_int_rev
+#define merge_at       merge_at_int_rev
 #include "gdk_ssort_impl.h"
-#undef T
-#undef O
+#undef binarysort
+#undef do_ssort
+#undef gallop_left
+#undef gallop_right
+#undef ISLT
+#undef merge_at
+
+#undef COPY
 #endif
 
 #ifndef NOEXPAND_LNG
-#define T lng
-#define O
+#define COPY           COPY_lng
+
+#define binarysort     binarysort_lng
+#define do_ssort       do_ssort_lng
+#define gallop_left    gallop_left_lng
+#define gallop_right   gallop_right_lng
+#define ISLT           ISLT_lng
+#define merge_at       merge_at_lng
 #include "gdk_ssort_impl.h"
-#undef O
+#undef binarysort
+#undef do_ssort
+#undef gallop_left
+#undef gallop_right
+#undef ISLT
+#undef merge_at
 
-#define O _rev
+#define binarysort     binarysort_lng_rev
+#define do_ssort       do_ssort_lng_rev
+#define gallop_left    gallop_left_lng_rev
+#define gallop_right   gallop_right_lng_rev
+#define ISLT           ISLT_lng_rev
+#define merge_at       merge_at_lng_rev
 #include "gdk_ssort_impl.h"
-#undef T
-#undef O
+#undef binarysort
+#undef do_ssort
+#undef gallop_left
+#undef gallop_right
+#undef ISLT
+#undef merge_at
+
+#undef COPY
 #endif
 
 #ifndef NOEXPAND_FLT
-#define T flt
-#define O
+#define COPY           COPY_flt
+
+#define binarysort     binarysort_flt
+#define do_ssort       do_ssort_flt
+#define gallop_left    gallop_left_flt
+#define gallop_right   gallop_right_flt
+#define ISLT           ISLT_flt
+#define merge_at       merge_at_flt
 #include "gdk_ssort_impl.h"
-#undef O
+#undef binarysort
+#undef do_ssort
+#undef gallop_left
+#undef gallop_right
+#undef ISLT
+#undef merge_at
 
-#define O _rev
+#define binarysort     binarysort_flt_rev
+#define do_ssort       do_ssort_flt_rev
+#define gallop_left    gallop_left_flt_rev
+#define gallop_right   gallop_right_flt_rev
+#define ISLT           ISLT_flt_rev
+#define merge_at       merge_at_flt_rev
 #include "gdk_ssort_impl.h"
-#undef T
-#undef O
+#undef binarysort
+#undef do_ssort
+#undef gallop_left
+#undef gallop_right
+#undef ISLT
+#undef merge_at
+
+#undef COPY
 #endif
 
 #ifndef NOEXPAND_DBL
-#define T dbl
-#define O
+#define COPY           COPY_dbl
+
+#define binarysort     binarysort_dbl
+#define do_ssort       do_ssort_dbl
+#define gallop_left    gallop_left_dbl
+#define gallop_right   gallop_right_dbl
+#define ISLT           ISLT_dbl
+#define merge_at       merge_at_dbl
 #include "gdk_ssort_impl.h"
-#undef O
+#undef binarysort
+#undef do_ssort
+#undef gallop_left
+#undef gallop_right
+#undef ISLT
+#undef merge_at
 
-#define O _rev
+#define binarysort     binarysort_dbl_rev
+#define do_ssort       do_ssort_dbl_rev
+#define gallop_left    gallop_left_dbl_rev
+#define gallop_right   gallop_right_dbl_rev
+#define ISLT           ISLT_dbl_rev
+#define merge_at       merge_at_dbl_rev
 #include "gdk_ssort_impl.h"
-#undef T
-#undef O
+#undef binarysort
+#undef do_ssort
+#undef gallop_left
+#undef gallop_right
+#undef ISLT
+#undef merge_at
+
+#undef COPY
 #endif
 
 #ifndef NOEXPAND_OID
-#define T oid
-#define O
+#define COPY           COPY_oid
+
+#define binarysort     binarysort_oid
+#define do_ssort       do_ssort_oid
+#define gallop_left    gallop_left_oid
+#define gallop_right   gallop_right_oid
+#define ISLT           ISLT_oid
+#define merge_at       merge_at_oid
 #include "gdk_ssort_impl.h"
-#undef O
+#undef binarysort
+#undef do_ssort
+#undef gallop_left
+#undef gallop_right
+#undef ISLT
+#undef merge_at
 
-#define O _rev
+#define binarysort     binarysort_oid_rev
+#define do_ssort       do_ssort_oid_rev
+#define gallop_left    gallop_left_oid_rev
+#define gallop_right   gallop_right_oid_rev
+#define ISLT           ISLT_oid_rev
+#define merge_at       merge_at_oid_rev
 #include "gdk_ssort_impl.h"
-#undef T
-#undef O
+#undef binarysort
+#undef do_ssort
+#undef gallop_left
+#undef gallop_right
+#undef ISLT
+#undef merge_at
+
+#undef COPY
 #endif
 
-#define T any
-#define O
-#define DEFINE_MAIN_FUNC       /* define GDKssort and GDKssort_rev */
+#define COPY           COPY_any
+
+#define binarysort     binarysort_any
+#define do_ssort       do_ssort_any
+#define gallop_left    gallop_left_any
+#define gallop_right   gallop_right_any
+#define ISLT           ISLT_any
+#define merge_at       merge_at_any
+
+#define GDKssortimpl   GDKssort
+
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to