Remove asserts in heap.h
This commit is contained in:
parent
6b9e083225
commit
df968eb4d0
18
heap.h
18
heap.h
@ -20,8 +20,8 @@
|
|||||||
#ifndef HEAP_H
|
#ifndef HEAP_H
|
||||||
#define HEAP_H
|
#define HEAP_H
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
#include "common.h"
|
||||||
|
|
||||||
typedef struct heap_node {
|
typedef struct heap_node {
|
||||||
struct heap_node *parent;
|
struct heap_node *parent;
|
||||||
@ -170,7 +170,8 @@ heap_pop_max(heap_head_t *head, heap_node_compare_t cmp)
|
|||||||
|
|
||||||
size_t size = head->size;
|
size_t size = head->size;
|
||||||
heap_node_t *change = heap_get(head, size);
|
heap_node_t *change = heap_get(head, size);
|
||||||
assert(change);
|
if(change == NULL)
|
||||||
|
die("heap_pop_max: heap_get() failed\n");
|
||||||
|
|
||||||
head->size--;
|
head->size--;
|
||||||
|
|
||||||
@ -201,8 +202,11 @@ heap_pop_max(heap_head_t *head, heap_node_compare_t cmp)
|
|||||||
else
|
else
|
||||||
change->parent->left = NULL;
|
change->parent->left = NULL;
|
||||||
|
|
||||||
assert(!change->left);
|
if(change->left)
|
||||||
assert(!change->right);
|
die("heap_pop_max: change->left not NULL\n");
|
||||||
|
|
||||||
|
if(change->right)
|
||||||
|
die("heap_pop_max: change->right not NULL\n");
|
||||||
|
|
||||||
change->left = max->left;
|
change->left = max->left;
|
||||||
if (change->left)
|
if (change->left)
|
||||||
@ -239,10 +243,12 @@ heap_insert(heap_head_t *head, heap_node_t *node, heap_node_compare_t cmp)
|
|||||||
|
|
||||||
// Right child
|
// Right child
|
||||||
if (head->size % 2) {
|
if (head->size % 2) {
|
||||||
assert(!parent->right);
|
if(parent->right)
|
||||||
|
die("heap_insert: parent->right already set\n");
|
||||||
parent->right = node;
|
parent->right = node;
|
||||||
} else {
|
} else {
|
||||||
assert(!parent->left);
|
if(parent->left)
|
||||||
|
die("heap_insert: parent->left already set\n");
|
||||||
parent->left = node;
|
parent->left = node;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user