Changeset: 800d11b4ed79 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=800d11b4ed79
Modified Files:
        monetdb5/extras/crackers/crackers_core_unordered.mx
Branch: holindex
Log Message:

Fix assertion.


diffs (108 lines):

diff --git a/monetdb5/extras/crackers/crackers_core_unordered.mx 
b/monetdb5/extras/crackers/crackers_core_unordered.mx
--- a/monetdb5/extras/crackers/crackers_core_unordered.mx
+++ b/monetdb5/extras/crackers/crackers_core_unordered.mx
@@ -643,7 +643,7 @@ CRKcrackUnorderedZero_@2_@1_STxxx ( cons
                        assert((p == qq && src_t[pp] @7 mval) || (p > qq && 
src_t[p-1] @7 mval));
                        while (p <= last && src_t[p] @7 mval)
                                p++;
-               }
+               }       
        } else {
                assert(p == first || src_t[p-1] @7 mval);
                while (p <= last && src_t[p] @7 mval)
@@ -655,7 +655,7 @@ CRKcrackUnorderedZero_@2_@1_STxxx ( cons
        assert(p == last + 1 || src_t[p] @8 mval);
 
 #ifdef NDEBUG
-       BUN i_res = 0;  
+       BUN i_res = 0;
 
        for (q = first; q < p; q++) {
                if (ml && mr && pp + 1 < qq && q == pp + 1) {
@@ -1123,12 +1123,15 @@ static str CRKvectorized_x_@2_@1 (
        @1  *src_t = (@1 *) Tloc(buffer, BUNfirst(buffer));
        oid *src_h_local = (oid*) GDKmalloc(vector_elements * 3 * sizeof(oid));
        @1  *src_t_local = (@1 *) GDKmalloc(vector_elements * 3 * sizeof(@1));
+#ifdef NDEBUG
+        BUN lwc, uwc, fl, ll, fr, lr, i_res=0;
+#endif
 
        assert(buffer && src_h_local && src_t_local);
        assert(pos_r);
        assert(valueCount != 0 );
        //assert(valueCount%(2*vector_elements) == 0);
-       //assert(!(ml && mr && last_left + 1 < first_right) || 
(ml%(2*vector_elements) == 0 && mr%(2*vector_elements) == 0));
+       assert(!(ml && mr && last_left + 1 < first_right) || 
(ml%(2*vector_elements) == 0 && mr%(2*vector_elements) == 0));
 
        if(vectorR + 1 > vectorCount || (!ml && !mr && 
(valueCount%(2*vector_elements) != 0)) || ml%(2*vector_elements) != 0 || 
mr%(2*vector_elements) != 0)
        {
@@ -1246,13 +1249,12 @@ static str CRKvectorized_x_@2_@1 (
 
 
 #ifdef NDEBUG
-       BUN lwc = (BUN) lowerWriteCursor;
-       BUN uwc = (BUN) upperWriteCursor;
-       BUN fl = (BUN) first_left;
-       BUN ll = (BUN) last_left;
-       BUN fr = (BUN) first_right;
-       BUN lr = (BUN) last_right;
-       BUN i_res = 0;
+       lwc = (BUN) lowerWriteCursor;
+       uwc = (BUN) upperWriteCursor;
+       fl = (BUN) first_left;
+       ll = (BUN) last_left;
+       fr = (BUN) first_right;
+       lr = (BUN) last_right;
 
        assert(lwc >= fl);
        assert(lwc <= lr + 1);
@@ -1271,13 +1273,14 @@ static str CRKvectorized_x_@2_@1 (
                assert(lwc == uwc + 1);
        }
 
-       /*for(i_res=first; i_res<=last; i_res++)
+       for(i_res=first_left; i_res<=last_right; i_res++)
        {
-               assert((i_res<p && src_t[i_res] @7 pivot) || (i_res>=p && 
src_t[i_res] @8 pivot));
-               if(ml!=0 && mr!=0 && (i_res)==(first+ml-1))
-                       i_res=last+1-mr;
-       }*/
+               assert((i_res<lowerWriteCursor && src_t[i_res] @7 pivot) || 
(i_res>=lowerWriteCursor && src_t[i_res] @8 pivot));
+               if(ml!=0 && mr!=0 && (i_res)==(first_left+ml-1))
+                       i_res=last_right+1-mr;
+       }
 #endif
+       assert(lowerWriteCursor>=first_left && lowerWriteCursor<=last_right+1);
 
        *pos_r = lowerWriteCursor;
 
@@ -1316,7 +1319,9 @@ static str CRKvectorized_MT_@2_@1 (const
         int i, j;
        oid *src_h = (oid*) Hloc(b, BUNfirst(b)), *tmp_h;
        @1  *src_t = (@1 *) Tloc(b, BUNfirst(b)), *tmp_t;
-
+#ifdef NDEBUG
+        BUN i_res = 0;
+#endif
        /* adjust nthreads */
        if (nthreads == 0) {
                /* automatic setting */
@@ -1466,8 +1471,8 @@ static str CRKvectorized_MT_@2_@1 (const
                                const BUN pi = c_Thread_arg[i].pos_r;
                                const BUN pj = c_Thread_arg[j].pos_r - sk;
 
-                               assert((ml && mr && si <= ml+mr) || 
(!c_Thread_arg[i].ml && !c_Thread_arg[i].mr && si <= (c_Thread_arg[i].last - 
c_Thread_arg[i].first + 1)));
-                                assert((ml && mr && sj <= ml+mr) || 
(!c_Thread_arg[j].ml && !c_Thread_arg[j].mr && sj <= (c_Thread_arg[j].last - 
c_Thread_arg[j].first + 1)));
+                               assert((ml || mr && si <= ml+mr) || 
(!c_Thread_arg[i].ml && !c_Thread_arg[i].mr && si <= (c_Thread_arg[i].last - 
c_Thread_arg[i].first + 1)));
+                                assert((ml || mr && sj <= ml+mr) || 
(!c_Thread_arg[j].ml && !c_Thread_arg[j].mr && sj <= (c_Thread_arg[j].last - 
c_Thread_arg[j].first + 1)));
                                memcpy(tmp_t, &src_t[pi], st);
                                 memcpy(&src_t[pi], &src_t[pj], st);
                                 memcpy(&src_t[pj], tmp_t, st);
@@ -1508,7 +1513,6 @@ static str CRKvectorized_MT_@2_@1 (const
        assert((f == first    && src_t[f]   @8 pivot) || src_t[f-1] @7 pivot);
 
 #ifdef NDEBUG
-       BUN i_res = 0;
         for(i_res = first; i_res <= last; i_res++)
                 assert((i_res < f && src_t[i_res] @7 pivot) || (i_res >= f && 
src_t[i_res] @8 pivot));
 #endif
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to