Changeset: b7648588cf46 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b7648588cf46
Modified Files:
clients/Tests/exports.stable.out
gdk/gdk.h
gdk/gdk_align.c
gdk/gdk_batop.c
Branch: default
Log Message:
Turn ALIGNsetH into ALIGNsetT.
diffs (126 lines):
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -6,7 +6,7 @@ stdout of test 'exports` in directory 'c
# 21:40:57 >
# gdk
-void ALIGNsetH(BAT *b1, BAT *b2);
+void ALIGNsetT(BAT *b1, BAT *b2);
int ALIGNsynced(BAT *b1, BAT *b2);
int ATOMallocate(const char *nme);
int ATOMcmp(int id, const void *v_1, const void *v_2);
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -2756,7 +2756,7 @@ gdk_export void BATundo(BAT *b);
* @item int
* @tab ALIGNrelated (BAT *b1, BAT *b2)
* @item int
- * @tab ALIGNsetH ((BAT *dst, BAT *src)
+ * @tab ALIGNsetT ((BAT *dst, BAT *src)
*
* @item BAT*
* @tab VIEWcreate (oid seq, BAT *b)
@@ -2810,10 +2810,9 @@ gdk_export BAT *VIEWcreate_(oid seq, BAT
gdk_export void VIEWbounds(BAT *b, BAT *view, BUN l, BUN h);
/* low level functions */
-gdk_export void ALIGNsetH(BAT *b1, BAT *b2);
+gdk_export void ALIGNsetT(BAT *b1, BAT *b2);
-#define ALIGNset(x,y) do {ALIGNsetH(x,y);ALIGNsetT(x,y);} while (0)
-#define ALIGNsetT(x,y) ALIGNsetH(BATmirror(x),BATmirror(y))
+#define ALIGNsetH(x,y) ALIGNsetT(BATmirror(x),BATmirror(y))
#define ALIGNins(x,y,f,e) do {if (!(f))
VIEWchk(x,y,BAT_READ,e);(x)->halign=(x)->talign=0; } while (0)
#define ALIGNdel(x,y,f,e) do {if (!(f))
VIEWchk(x,y,BAT_READ|BAT_APPEND,e);(x)->halign=(x)->talign=0; } while (0)
#define ALIGNinp(x,y,f,e) do {if (!(f))
VIEWchk(x,y,BAT_READ|BAT_APPEND,e);(x)->talign=0; } while (0)
diff --git a/gdk/gdk_align.c b/gdk/gdk_align.c
--- a/gdk/gdk_align.c
+++ b/gdk/gdk_align.c
@@ -86,7 +86,7 @@ ALIGNcommit(BAT *b)
}
void
-ALIGNsetH(BAT *b1, BAT *b2)
+ALIGNsetT(BAT *b1, BAT *b2)
{
ssize_t diff;
@@ -94,38 +94,38 @@ ALIGNsetH(BAT *b1, BAT *b2)
return;
diff = (ssize_t) (BUNfirst(b1) - BUNfirst(b2));
- if (b2->halign == 0) {
- b2->halign = OIDnew(1);
+ if (b2->talign == 0) {
+ b2->talign = OIDnew(1);
b2->batDirtydesc = TRUE;
}
- if (BAThvoid(b2)) {
- /* b2 is either dense or has a void(nil) head */
- if (b1->htype != TYPE_void)
- b1->hdense = TRUE;
- else if (b2->hseqbase == oid_nil)
- b1->H->nonil = FALSE;
- BATseqbase(b1, b2->hseqbase);
- } else if (b1->htype != TYPE_void) {
+ if (BATtvoid(b2)) {
+ /* b2 is either dense or has a void(nil) tail */
+ if (b1->ttype != TYPE_void)
+ b1->tdense = TRUE;
+ else if (b2->tseqbase == oid_nil)
+ b1->T->nonil = FALSE;
+ BATseqbase(BATmirror(b1), b2->tseqbase);
+ } else if (b1->ttype != TYPE_void) {
/* b2 is not dense, so set b1 not dense */
- b1->hdense = FALSE;
- BATseqbase(b1, oid_nil);
- b1->H->nonil = b2->H->nonil;
- } else if (BAThkey(b2))
- BATseqbase(b1, 0);
- BATkey(b1, BAThkey(b2));
- b1->hsorted = BAThordered(b2);
- b1->hrevsorted = BAThrevordered(b2);
- b1->halign = b2->halign;
+ b1->tdense = FALSE;
+ BATseqbase(BATmirror(b1), oid_nil);
+ b1->T->nonil = b2->T->nonil;
+ } else if (BATtkey(b2))
+ BATseqbase(BATmirror(b1), 0);
+ BATkey(BATmirror(b1), BATtkey(b2));
+ b1->tsorted = BATtordered(b2);
+ b1->trevsorted = BATtrevordered(b2);
+ b1->talign = b2->talign;
b1->batDirtydesc = TRUE;
- b1->H->norevsorted = b2->H->norevsorted ? (BUN) (b2->H->norevsorted +
diff) : 0;
- if (b2->H->nokey[0] != b2->H->nokey[1]) {
- b1->H->nokey[0] = (BUN) (b2->H->nokey[0] + diff);
- b1->H->nokey[1] = (BUN) (b2->H->nokey[1] + diff);
+ b1->T->norevsorted = b2->T->norevsorted ? (BUN) (b2->T->norevsorted +
diff) : 0;
+ if (b2->T->nokey[0] != b2->T->nokey[1]) {
+ b1->T->nokey[0] = (BUN) (b2->T->nokey[0] + diff);
+ b1->T->nokey[1] = (BUN) (b2->T->nokey[1] + diff);
} else {
- b1->H->nokey[0] = b1->H->nokey[1] = 0;
+ b1->T->nokey[0] = b1->T->nokey[1] = 0;
}
- b1->H->nosorted = b2->H->nosorted ? (BUN) (b2->H->nosorted + diff): 0;
- b1->H->nodense = b2->H->nodense ? (BUN) (b2->H->nodense + diff) : 0;
+ b1->T->nosorted = b2->T->nosorted ? (BUN) (b2->T->nosorted + diff): 0;
+ b1->T->nodense = b2->T->nodense ? (BUN) (b2->T->nodense + diff) : 0;
}
/*
diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c
--- a/gdk/gdk_batop.c
+++ b/gdk/gdk_batop.c
@@ -460,7 +460,7 @@ BATappend(BAT *b, BAT *n, bit force)
if (BATcount(b) == 0) {
BATiter ni = bat_iterator(n);
- ALIGNsetH(BATmirror(b), BATmirror(n));
+ ALIGNsetT(b, n);
b->tseqbase = n->tseqbase;
if (n->tdense && n->ttype == TYPE_oid) {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list