Changeset: 6364c5f8b052 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6364c5f8b052
Modified Files:
        gdk/gdk_select.c
Branch: int128
Log Message:

added int128 / "hge" support in gdk/gdk_select.c


diffs (123 lines):

diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c
--- a/gdk/gdk_select.c
+++ b/gdk/gdk_select.c
@@ -344,6 +344,9 @@ do {                                                        
                \
 #define PREVVALUEsht(x)        ((x) - 1)
 #define PREVVALUEint(x)        ((x) - 1)
 #define PREVVALUElng(x)        ((x) - 1)
+#ifdef HAVE_HGE
+#define PREVVALUEhge(x)        ((x) - 1)
+#endif
 #define PREVVALUEoid(x)        ((x) - 1)
 #define PREVVALUEflt(x)        nextafterf((x), -GDK_flt_max)
 #define PREVVALUEdbl(x)        nextafter((x), -GDK_dbl_max)
@@ -352,6 +355,9 @@ do {                                                        
                \
 #define NEXTVALUEsht(x)        ((x) + 1)
 #define NEXTVALUEint(x)        ((x) + 1)
 #define NEXTVALUElng(x)        ((x) + 1)
+#ifdef HAVE_HGE
+#define NEXTVALUEhge(x)        ((x) + 1)
+#endif
 #define NEXTVALUEoid(x)        ((x) + 1)
 #define NEXTVALUEflt(x)        nextafterf((x), GDK_flt_max)
 #define NEXTVALUEdbl(x)        nextafter((x), GDK_dbl_max)
@@ -360,6 +366,9 @@ do {                                                        
                \
 #define MINVALUEsht    NEXTVALUEsht(GDK_sht_min)
 #define MINVALUEint    NEXTVALUEint(GDK_int_min)
 #define MINVALUElng    NEXTVALUElng(GDK_lng_min)
+#ifdef HAVE_HGE
+#define MINVALUEhge    NEXTVALUEhge(GDK_hge_min)
+#endif
 #define MINVALUEoid    GDK_oid_min
 #define MINVALUEflt    NEXTVALUEflt(GDK_flt_min)
 #define MINVALUEdbl    NEXTVALUEdbl(GDK_dbl_min)
@@ -368,6 +377,9 @@ do {                                                        
                \
 #define MAXVALUEsht    GDK_sht_max
 #define MAXVALUEint    GDK_int_max
 #define MAXVALUElng    GDK_lng_max
+#ifdef HAVE_HGE
+#define MAXVALUEhge    GDK_hge_max
+#endif
 #define MAXVALUEoid    GDK_oid_max
 #define MAXVALUEflt    GDK_flt_max
 #define MAXVALUEdbl    GDK_dbl_max
@@ -588,13 +600,20 @@ fullscan_any(BAT *b, BAT *s, BAT *bn, co
 }
 
 /* scan select type switch */
+#ifdef HAVE_HGE
+#define scanfunc_hge(NAME, CAND, END)  \
+       scanfunc(NAME, hge, CAND, END)
+#else
+#define scanfunc_hge(NAME, CAND, END)
+#endif
 #define scan_sel(NAME, CAND, END)              \
        scanfunc(NAME, bte, CAND, END)          \
        scanfunc(NAME, sht, CAND, END)          \
        scanfunc(NAME, int, CAND, END)          \
        scanfunc(NAME, flt, CAND, END)          \
        scanfunc(NAME, dbl, CAND, END)          \
-       scanfunc(NAME, lng, CAND, END)
+       scanfunc(NAME, lng, CAND, END)          \
+       scanfunc_hge(NAME, CAND, END)
 
 /* scan/imprints select with candidates */
 scan_sel(candscan, o = (oid) (*candlist++ - off), w = (BUN) ((*(oid *) Tloc(s, 
q - 1)) + 1 - off))
@@ -680,6 +699,11 @@ BAT_scanselect(BAT *b, BAT *s, BAT *bn, 
                case TYPE_lng:
                        cnt = candscan_lng(scanargs);
                        break;
+#ifdef HAVE_HGE
+               case TYPE_hge:
+                       cnt = candscan_hge(scanargs);
+                       break;
+#endif
                default:
                        cnt = candscan_any(scanargs);
                }
@@ -722,6 +746,11 @@ BAT_scanselect(BAT *b, BAT *s, BAT *bn, 
                case TYPE_lng:
                        cnt = fullscan_lng(scanargs);
                        break;
+#ifdef HAVE_HGE
+               case TYPE_hge:
+                       cnt = fullscan_hge(scanargs);
+                       break;
+#endif
                default:
                        cnt = fullscan_any(scanargs);
                }
@@ -932,6 +961,9 @@ BATsubselect(BAT *b, BAT *s, const void 
                sht v_sht;
                int v_int;
                lng v_lng;
+#ifdef HAVE_HGE
+               hge v_hge;
+#endif
                flt v_flt;
                dbl v_dbl;
                oid v_oid;
@@ -1105,6 +1137,11 @@ BATsubselect(BAT *b, BAT *s, const void 
                case TYPE_lng:
                        NORMALIZE(lng);
                        break;
+#ifdef HAVE_HGE
+               case TYPE_hge:
+                       NORMALIZE(hge);
+                       break;
+#endif
                case TYPE_flt:
                        NORMALIZE(flt);
                        break;
@@ -1267,6 +1304,11 @@ BATsubselect(BAT *b, BAT *s, const void 
                        case TYPE_lng:
                                estimate = (BUN) (*(lng *) th - *(lng *) tl);
                                break;
+#ifdef HAVE_HGE
+                       case TYPE_hge:
+                               estimate = (BUN) (*(hge *) th - *(hge *) tl);
+                               break;
+#endif
                        }
                        if (estimate != BUN_NONE)
                                estimate += li + hi - 1;
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to