Move to kernel style SPDX license identifiers
[babeltrace.git] / src / lib / integer-range-set.c
index 3b232697091a4350fc4793259515f74a8537e05a..9a5e817deb82d6706894a71ae7eece3522c59c60 100644 (file)
@@ -1,63 +1,54 @@
 /*
- * Copyright 2019 Philippe Proulx <pproulx@efficios.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
+ * SPDX-License-Identifier: MIT
  *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
+ * Copyright 2019 Philippe Proulx <pproulx@efficios.com>
  */
 
 #define BT_LOG_TAG "LIB/INT-RANGE-SET"
 #include "lib/logging.h"
 
+#include <stdbool.h>
+
 #include <babeltrace2/babeltrace.h>
+
 #include "lib/assert-pre.h"
 #include "common/assert.h"
 #include "func-status.h"
 #include "integer-range-set.h"
 
-uint64_t bt_integer_range_unsigned_get_lower(const struct bt_integer_range_unsigned *u_range)
+uint64_t bt_integer_range_unsigned_get_lower(
+               const struct bt_integer_range_unsigned *u_range)
 {
        const struct bt_integer_range *range = (const void *) u_range;
 
-       BT_ASSERT_PRE_DEV_NON_NULL(range, "Range");
+       BT_ASSERT_PRE_DEV_NON_NULL(range, "Integer range");
        return range->lower.u;
 }
 
-uint64_t bt_integer_range_unsigned_get_upper(const struct bt_integer_range_unsigned *u_range)
+uint64_t bt_integer_range_unsigned_get_upper(
+               const struct bt_integer_range_unsigned *u_range)
 {
        const struct bt_integer_range *range = (const void *) u_range;
 
-       BT_ASSERT_PRE_DEV_NON_NULL(range, "Range");
+       BT_ASSERT_PRE_DEV_NON_NULL(range, "Integer range");
        return range->upper.u;
 }
 
-int64_t bt_integer_range_signed_get_lower(const struct bt_integer_range_signed *i_range)
+int64_t bt_integer_range_signed_get_lower(
+               const struct bt_integer_range_signed *i_range)
 {
        const struct bt_integer_range *range = (const void *) i_range;
 
-       BT_ASSERT_PRE_DEV_NON_NULL(range, "Range");
+       BT_ASSERT_PRE_DEV_NON_NULL(range, "Integer range");
        return range->lower.i;
 }
 
-int64_t bt_integer_range_signed_get_upper(const struct bt_integer_range_signed *i_range)
+int64_t bt_integer_range_signed_get_upper(
+               const struct bt_integer_range_signed *i_range)
 {
        const struct bt_integer_range *range = (const void *) i_range;
 
-       BT_ASSERT_PRE_DEV_NON_NULL(range, "Range");
+       BT_ASSERT_PRE_DEV_NON_NULL(range, "Integer range");
        return range->upper.i;
 }
 
@@ -69,22 +60,22 @@ bool compare_ranges(const struct bt_integer_range *range_a,
                range_a->upper.u == range_b->upper.u;
 }
 
-bt_bool bt_integer_range_unsigned_compare(
+bt_bool bt_integer_range_unsigned_is_equal(
                const struct bt_integer_range_unsigned *range_a,
                const struct bt_integer_range_unsigned *range_b)
 {
-       BT_ASSERT_PRE_DEV_NON_NULL(range_a, "Range A");
-       BT_ASSERT_PRE_DEV_NON_NULL(range_b, "Range B");
+       BT_ASSERT_PRE_DEV_NON_NULL(range_a, "Integer range A");
+       BT_ASSERT_PRE_DEV_NON_NULL(range_b, "Integer range B");
        return (bt_bool) compare_ranges((const void *) range_a,
                (const void *) range_b);
 }
 
-bt_bool bt_integer_range_signed_compare(
+bt_bool bt_integer_range_signed_is_equal(
                const struct bt_integer_range_signed *range_a,
                const struct bt_integer_range_signed *range_b)
 {
-       BT_ASSERT_PRE_DEV_NON_NULL(range_a, "Range A");
-       BT_ASSERT_PRE_DEV_NON_NULL(range_b, "Range B");
+       BT_ASSERT_PRE_DEV_NON_NULL(range_a, "Integer range A");
+       BT_ASSERT_PRE_DEV_NON_NULL(range_b, "Integer range B");
        return (bt_bool) compare_ranges((const void *) range_a,
                (const void *) range_b);
 }
@@ -92,28 +83,35 @@ bt_bool bt_integer_range_signed_compare(
 uint64_t bt_integer_range_set_get_range_count(
                const bt_integer_range_set *range_set)
 {
-       BT_ASSERT_PRE_DEV_NON_NULL(range_set, "Range set");
+       BT_ASSERT_PRE_DEV_NON_NULL(range_set, "Integer range set");
        return (uint64_t) range_set->ranges->len;
 }
 
-const struct bt_integer_range_unsigned *bt_integer_range_set_unsigned_borrow_range_by_index_const(
-               const bt_integer_range_set_unsigned *u_range_set, uint64_t index)
+const struct bt_integer_range_unsigned *
+bt_integer_range_set_unsigned_borrow_range_by_index_const(
+               const bt_integer_range_set_unsigned *u_range_set,
+               uint64_t index)
 {
-       const struct bt_integer_range_set *range_set = (const void *) u_range_set;
+       const struct bt_integer_range_set *range_set =
+               (const void *) u_range_set;
 
-       BT_ASSERT_PRE_DEV_NON_NULL(range_set, "Range set");
+       BT_ASSERT_PRE_DEV_NON_NULL(range_set, "Integer range set");
        BT_ASSERT_PRE_DEV_VALID_INDEX(index, range_set->ranges->len);
-       return (const void *) BT_INTEGER_RANGE_SET_RANGE_AT_INDEX(range_set, index);
+       return (const void *) BT_INTEGER_RANGE_SET_RANGE_AT_INDEX(range_set,
+               index);
 }
 
-const struct bt_integer_range_signed *bt_integer_range_set_signed_borrow_range_by_index_const(
+const struct bt_integer_range_signed *
+bt_integer_range_set_signed_borrow_range_by_index_const(
                const bt_integer_range_set_signed *i_range_set, uint64_t index)
 {
-       const struct bt_integer_range_set *range_set = (const void *) i_range_set;
+       const struct bt_integer_range_set *range_set =
+               (const void *) i_range_set;
 
-       BT_ASSERT_PRE_DEV_NON_NULL(range_set, "Range set");
+       BT_ASSERT_PRE_DEV_NON_NULL(range_set, "Integer range set");
        BT_ASSERT_PRE_DEV_VALID_INDEX(index, range_set->ranges->len);
-       return (const void *) BT_INTEGER_RANGE_SET_RANGE_AT_INDEX(range_set, index);
+       return (const void *) BT_INTEGER_RANGE_SET_RANGE_AT_INDEX(range_set,
+               index);
 }
 
 static
@@ -121,6 +119,8 @@ void destroy_range_set(struct bt_object *obj)
 {
        struct bt_integer_range_set *range_set = (void *) obj;
 
+       BT_LIB_LOGD("Destroying integer range set: %!+R", range_set);
+
        if (range_set->ranges) {
                g_array_free(range_set->ranges, TRUE);
                range_set->ranges = NULL;
@@ -132,10 +132,14 @@ void destroy_range_set(struct bt_object *obj)
 static
 struct bt_integer_range_set *create_range_set(void)
 {
-       struct bt_integer_range_set *range_set = g_new0(struct bt_integer_range_set, 1);
+       struct bt_integer_range_set *range_set;
+
+       BT_LOGD_STR("Creating empty integer range set.");
+       range_set = g_new0(struct bt_integer_range_set, 1);
 
        if (!range_set) {
-               BT_LIB_LOGE_APPEND_CAUSE("Failed to allocate one range set.");
+               BT_LIB_LOGE_APPEND_CAUSE(
+                       "Failed to allocate one integer range set.");
                goto error;
        }
 
@@ -144,10 +148,11 @@ struct bt_integer_range_set *create_range_set(void)
                sizeof(struct bt_integer_range));
        if (!range_set->ranges) {
                BT_LIB_LOGE_APPEND_CAUSE(
-                       "Failed to allocate range set's range array.");
+                       "Failed to allocate integer range set's range array.");
                goto error;
        }
 
+       BT_LOGD_STR("Created empty integer range set.");
        goto end;
 
 error:
@@ -159,14 +164,19 @@ end:
 
 struct bt_integer_range_set_unsigned *bt_integer_range_set_unsigned_create(void)
 {
+       BT_ASSERT_PRE_NO_ERROR();
+
        return (void *) create_range_set();
 }
 
 struct bt_integer_range_set_signed *bt_integer_range_set_signed_create(void)
 {
+       BT_ASSERT_PRE_NO_ERROR();
+
        return (void *) create_range_set();
 }
 
+static
 void add_range_to_range_set(struct bt_integer_range_set *range_set,
                uint64_t u_lower, uint64_t u_upper)
 {
@@ -175,19 +185,21 @@ void add_range_to_range_set(struct bt_integer_range_set *range_set,
                .upper.u = u_upper,
        };
 
-       BT_ASSERT_PRE_NON_NULL(range_set, "Range set");
-       BT_ASSERT_PRE_DEV_HOT(range_set, "Range set", ": addr=%p", range_set);
+       BT_ASSERT_PRE_NON_NULL(range_set, "Integer range set");
+       BT_ASSERT_PRE_DEV_HOT(range_set, "Integer range set", ": %!+R",
+               range_set);
        g_array_append_val(range_set->ranges, range);
-       BT_LIB_LOGD("Added range to range set: "
-               "range-set-addr=%p, lower-unsigned=%" PRIu64 ", "
-               "upper-unsigned=%" PRIu64,
-               range_set, u_lower, u_upper);
+       BT_LIB_LOGD("Added integer range to integer range set: "
+               "%![range-set-]+R, lower-unsigned=%" PRIu64 ", "
+               "upper-unsigned=%" PRIu64, range_set, u_lower, u_upper);
 }
 
-enum bt_integer_range_set_add_range_status bt_integer_range_set_unsigned_add_range(
+enum bt_integer_range_set_add_range_status
+bt_integer_range_set_unsigned_add_range(
                struct bt_integer_range_set_unsigned *range_set,
                uint64_t lower, uint64_t upper)
 {
+       BT_ASSERT_PRE_NO_ERROR();
        BT_ASSERT_PRE(lower <= upper,
                "Range's upper bound is less than lower bound: "
                "upper=%" PRIu64 ", lower=%" PRIu64, lower, upper);
@@ -195,10 +207,12 @@ enum bt_integer_range_set_add_range_status bt_integer_range_set_unsigned_add_ran
        return BT_FUNC_STATUS_OK;
 }
 
-enum bt_integer_range_set_add_range_status bt_integer_range_set_signed_add_range(
+enum bt_integer_range_set_add_range_status
+bt_integer_range_set_signed_add_range(
                struct bt_integer_range_set_signed *range_set,
                int64_t lower, int64_t upper)
 {
+       BT_ASSERT_PRE_NO_ERROR();
        BT_ASSERT_PRE(lower <= upper,
                "Range's upper bound is less than lower bound: "
                "upper=%" PRId64 ", lower=%" PRId64, lower, upper);
@@ -211,12 +225,13 @@ BT_HIDDEN
 void _bt_integer_range_set_freeze(const struct bt_integer_range_set *range_set)
 {
        BT_ASSERT(range_set);
-       BT_LIB_LOGD("Freezing range set: addr=%p", range_set);
+       BT_LIB_LOGD("Freezing integer range set: %!+R", range_set);
        ((struct bt_integer_range_set *) range_set)->frozen = true;
 }
 
 BT_HIDDEN
-bool bt_integer_range_set_unsigned_has_overlaps(const struct bt_integer_range_set *range_set)
+bool bt_integer_range_set_unsigned_has_overlaps(
+               const struct bt_integer_range_set *range_set)
 {
        uint64_t i, j;
        bool has_overlap = false;
@@ -229,7 +244,8 @@ bool bt_integer_range_set_unsigned_has_overlaps(const struct bt_integer_range_se
 
                for (j = 0; j < range_set->ranges->len; j++) {
                        const struct bt_integer_range *range_j =
-                               BT_INTEGER_RANGE_SET_RANGE_AT_INDEX(range_set, j);
+                               BT_INTEGER_RANGE_SET_RANGE_AT_INDEX(
+                                       range_set, j);
 
                        if (i == j) {
                                continue;
@@ -248,7 +264,8 @@ end:
 }
 
 BT_HIDDEN
-bool bt_integer_range_set_signed_has_overlaps(const struct bt_integer_range_set *range_set)
+bool bt_integer_range_set_signed_has_overlaps(
+               const struct bt_integer_range_set *range_set)
 {
        uint64_t i, j;
        bool has_overlap = false;
@@ -261,7 +278,8 @@ bool bt_integer_range_set_signed_has_overlaps(const struct bt_integer_range_set
 
                for (j = 0; j < range_set->ranges->len; j++) {
                        const struct bt_integer_range *range_j =
-                               BT_INTEGER_RANGE_SET_RANGE_AT_INDEX(range_set, j);
+                               BT_INTEGER_RANGE_SET_RANGE_AT_INDEX(
+                                       range_set, j);
 
                        if (i == j) {
                                continue;
@@ -286,8 +304,8 @@ bool compare_range_sets(const struct bt_integer_range_set *range_set_a,
        uint64_t a_i, b_i;
        bool is_equal = true;
 
-       BT_ASSERT(range_set_a);
-       BT_ASSERT(range_set_b);
+       BT_ASSERT_DBG(range_set_a);
+       BT_ASSERT_DBG(range_set_b);
 
        if (range_set_a == range_set_b) {
                goto end;
@@ -329,7 +347,7 @@ end:
        return is_equal;
 }
 
-bt_bool bt_integer_range_set_unsigned_compare(
+bt_bool bt_integer_range_set_unsigned_is_equal(
                const struct bt_integer_range_set_unsigned *range_set_a,
                const struct bt_integer_range_set_unsigned *range_set_b)
 {
@@ -339,7 +357,7 @@ bt_bool bt_integer_range_set_unsigned_compare(
                (const void *) range_set_b);
 }
 
-bt_bool bt_integer_range_set_signed_compare(
+bt_bool bt_integer_range_set_signed_is_equal(
                const struct bt_integer_range_set_signed *range_set_a,
                const struct bt_integer_range_set_signed *range_set_b)
 {
@@ -361,12 +379,14 @@ void bt_integer_range_set_unsigned_put_ref(
        bt_object_put_ref(range_set);
 }
 
-void bt_integer_range_set_signed_get_ref(const struct bt_integer_range_set_signed *range_set)
+void bt_integer_range_set_signed_get_ref(
+               const struct bt_integer_range_set_signed *range_set)
 {
        bt_object_get_ref(range_set);
 }
 
-void bt_integer_range_set_signed_put_ref(const struct bt_integer_range_set_signed *range_set)
+void bt_integer_range_set_signed_put_ref(
+               const struct bt_integer_range_set_signed *range_set)
 {
        bt_object_put_ref(range_set);
 }
This page took 0.027586 seconds and 4 git commands to generate.