Changeset: 3b5dc31aadf8 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/3b5dc31aadf8
Modified Files:
        clients/Tests/exports.stable.out
        gdk/gdk_cand.c
        gdk/gdk_cand.h
Branch: default
Log Message:

Some canditer functions don't change the iterator.


diffs (159 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
@@ -447,19 +447,19 @@ ssize_t bitToStr(str *dst, size_t *len, 
 ssize_t bteFromStr(const char *src, size_t *len, bte **dst, bool external);
 ssize_t bteToStr(str *dst, size_t *len, const bte *src, bool external);
 const bte bte_nil;
-oid canditer_idx(struct canditer *ci, BUN p);
+oid canditer_idx(const struct canditer *ci, BUN p);
 BUN canditer_init(struct canditer *ci, BAT *b, BAT *s);
 oid canditer_last(const struct canditer *ci);
 oid canditer_peek(struct canditer *ci);
 oid canditer_peekprev(struct canditer *ci);
 oid canditer_prev(struct canditer *ci);
 void canditer_reset(struct canditer *ci);
-BUN canditer_search(struct canditer *ci, oid o, bool next);
+BUN canditer_search(const struct canditer *ci, oid o, bool next);
 void canditer_setidx(struct canditer *ci, BUN p);
-BAT *canditer_slice(struct canditer *ci, BUN lo, BUN hi);
-BAT *canditer_slice2(struct canditer *ci, BUN lo1, BUN hi1, BUN lo2, BUN hi2);
-BAT *canditer_slice2val(struct canditer *ci, oid lo1, oid hi1, oid lo2, oid 
hi2);
-BAT *canditer_sliceval(struct canditer *ci, oid lo, oid hi);
+BAT *canditer_slice(const struct canditer *ci, BUN lo, BUN hi);
+BAT *canditer_slice2(const struct canditer *ci, BUN lo1, BUN hi1, BUN lo2, BUN 
hi2);
+BAT *canditer_slice2val(const struct canditer *ci, oid lo1, oid hi1, oid lo2, 
oid hi2);
+BAT *canditer_sliceval(const struct canditer *ci, oid lo, oid hi);
 int closedir(DIR *dir);
 char *ctime_r(const time_t *restrict, char *restrict);
 date date_add_day(date dt, int days) __attribute__((__const__));
diff --git a/gdk/gdk_cand.c b/gdk/gdk_cand.c
--- a/gdk/gdk_cand.c
+++ b/gdk/gdk_cand.c
@@ -375,7 +375,7 @@ binsearchcand(const oid *cand, BUN hi, o
 /* count number of 1 bits in ci->mask between bit positions lo
  * (inclusive) and hi (not inclusive) */
 static BUN
-count_mask_bits(struct canditer *ci, BUN lo, BUN hi)
+count_mask_bits(const struct canditer *ci, BUN lo, BUN hi)
 {
        BUN n;
        assert(lo <= hi);
@@ -810,7 +810,7 @@ canditer_peekprev(struct canditer *ci)
  * the cand_mask iterator ci after (if next is set) or before (if next
  * is unset) o; if there are no more candidates, return oid_nil */
 oid
-canditer_mask_next(struct canditer *ci, oid o, bool next)
+canditer_mask_next(const struct canditer *ci, oid o, bool next)
 {
        if (o < ci->mskoff)
                return next ? ci->mskoff + ci->firstbit : oid_nil;
@@ -847,7 +847,7 @@ canditer_mask_next(struct canditer *ci, 
 
 /* return the last candidate */
 oid
-canditer_last(struct canditer *ci)
+canditer_last(const struct canditer *ci)
 {
        if (ci->ncand == 0)
                return oid_nil;
@@ -870,7 +870,7 @@ canditer_last(struct canditer *ci)
 
 /* return the candidate at the given index */
 oid
-canditer_idx(struct canditer *ci, BUN p)
+canditer_idx(const struct canditer *ci, BUN p)
 {
        if (p >= ci->ncand)
                return oid_nil;
@@ -984,7 +984,7 @@ canditer_reset(struct canditer *ci)
  * not occur, if next is set, return index of next larger candidate,
  * if next is not set, return BUN_NONE */
 BUN
-canditer_search(struct canditer *ci, oid o, bool next)
+canditer_search(const struct canditer *ci, oid o, bool next)
 {
        BUN p;
 
@@ -1030,7 +1030,7 @@ canditer_search(struct canditer *ci, oid
 }
 
 static BAT *
-canditer_sliceval_mask(struct canditer *ci, oid lo1, oid hi1, BUN cnt1,
+canditer_sliceval_mask(const struct canditer *ci, oid lo1, oid hi1, BUN cnt1,
                       oid lo2, oid hi2, BUN cnt2)
 {
        assert(cnt2 == 0 || !is_oid_nil(lo2));
@@ -1087,7 +1087,7 @@ canditer_sliceval_mask(struct canditer *
  * BATslice, the hseqbase of the returned BAT is 0; note for cand_mask
  * candidate iterators, the BUN values refer to number of 1 bits */
 BAT *
-canditer_slice(struct canditer *ci, BUN lo, BUN hi)
+canditer_slice(const struct canditer *ci, BUN lo, BUN hi)
 {
        BAT *bn;
        oid o;
@@ -1152,7 +1152,7 @@ canditer_slice(struct canditer *ci, BUN 
 /* like the above, except the bounds are given by values instead of
  * indexes */
 BAT *
-canditer_sliceval(struct canditer *ci, oid lo, oid hi)
+canditer_sliceval(const struct canditer *ci, oid lo, oid hi)
 {
        if (ci->tpe != cand_mask) {
                return canditer_slice(
@@ -1167,7 +1167,7 @@ canditer_sliceval(struct canditer *ci, o
 
 /* return the combination of two slices */
 BAT *
-canditer_slice2(struct canditer *ci, BUN lo1, BUN hi1, BUN lo2, BUN hi2)
+canditer_slice2(const struct canditer *ci, BUN lo1, BUN hi1, BUN lo2, BUN hi2)
 {
        BAT *bn;
        oid o;
@@ -1261,7 +1261,7 @@ canditer_slice2(struct canditer *ci, BUN
 }
 
 BAT *
-canditer_slice2val(struct canditer *ci, oid lo1, oid hi1, oid lo2, oid hi2)
+canditer_slice2val(const struct canditer *ci, oid lo1, oid hi1, oid lo2, oid 
hi2)
 {
        if (ci->tpe != cand_mask) {
                return canditer_slice2(
diff --git a/gdk/gdk_cand.h b/gdk/gdk_cand.h
--- a/gdk/gdk_cand.h
+++ b/gdk/gdk_cand.h
@@ -173,13 +173,13 @@ canditer_next(struct canditer *ci)
 
 gdk_export BUN canditer_init(struct canditer *ci, BAT *b, BAT *s);
 gdk_export oid canditer_peek(struct canditer *ci);
-gdk_export oid canditer_last(struct canditer *ci);
+gdk_export oid canditer_last(const struct canditer *ci);
 gdk_export oid canditer_prev(struct canditer *ci);
 gdk_export oid canditer_peekprev(struct canditer *ci);
-gdk_export oid canditer_idx(struct canditer *ci, BUN p);
+gdk_export oid canditer_idx(const struct canditer *ci, BUN p);
 gdk_export void canditer_setidx(struct canditer *ci, BUN p);
 gdk_export void canditer_reset(struct canditer *ci);
-gdk_export BUN canditer_search(struct canditer *ci, oid o, bool next);
+gdk_export BUN canditer_search(const struct canditer *ci, oid o, bool next);
 static inline bool
 canditer_contains(struct canditer *ci, oid o)
 {
@@ -197,11 +197,11 @@ canditer_contains(struct canditer *ci, o
        }
        return canditer_search(ci, o, false) != BUN_NONE;
 }
-gdk_export oid canditer_mask_next(struct canditer *ci, oid o, bool next);
-gdk_export BAT *canditer_slice(struct canditer *ci, BUN lo, BUN hi);
-gdk_export BAT *canditer_sliceval(struct canditer *ci, oid lo, oid hi);
-gdk_export BAT *canditer_slice2(struct canditer *ci, BUN lo1, BUN hi1, BUN 
lo2, BUN hi2);
-gdk_export BAT *canditer_slice2val(struct canditer *ci, oid lo1, oid hi1, oid 
lo2, oid hi2);
+gdk_export oid canditer_mask_next(const struct canditer *ci, oid o, bool next);
+gdk_export BAT *canditer_slice(const struct canditer *ci, BUN lo, BUN hi);
+gdk_export BAT *canditer_sliceval(const struct canditer *ci, oid lo, oid hi);
+gdk_export BAT *canditer_slice2(const struct canditer *ci, BUN lo1, BUN hi1, 
BUN lo2, BUN hi2);
+gdk_export BAT *canditer_slice2val(const struct canditer *ci, oid lo1, oid 
hi1, oid lo2, oid hi2);
 gdk_export BAT *BATnegcands(BUN nr, BAT *odels);
 gdk_export BAT *BATmaskedcands(oid hseq, BUN nr, BAT *masked, bool selected);
 gdk_export BAT *BATunmask(BAT *b);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to