Remove asserts in heap.h

This commit is contained in:
Rodrigo Arias 2021-12-09 16:50:18 +01:00
parent 6b9e083225
commit df968eb4d0

18
heap.h
View File

@ -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;
} }