|
PULSAR
0.1
Parallel Unified Linear Algebra with Systolic Arrays
|
#include "icl_deque.h"
Go to the source code of this file.
Functions | |
| icl_deque_t * | icl_deque_new () |
| deque constructor More... | |
| int | icl_deque_destroy (icl_deque_t *deque, void(*free_func)(void *)) |
| deque destructor More... | |
| icl_node_t * | icl_deque_first (icl_deque_t *deque) |
| Get the first node in the deque. More... | |
| icl_node_t * | icl_deque_next (icl_deque_t *deque, icl_node_t *node) |
| Get the next node in the deque. More... | |
| icl_node_t * | icl_deque_append (icl_deque_t *deque, void *data) |
| Insert the node at the end of the deque. More... | |
| icl_node_t * | icl_deque_prepend (icl_deque_t *deque, void *data) |
| Insert the node at the front of the deque. More... | |
| int | icl_deque_delete (icl_deque_t *deque, icl_node_t *node, void(*free_func)(void *)) |
| Delete the node from the deque. More... | |
| int | icl_deque_size (icl_deque_t *deque) |
| Return the deque size. More... | |
| icl_node_t* icl_deque_append | ( | icl_deque_t * | deque, |
| void * | data | ||
| ) |
Insert the node at the end of the deque.
| deque | |
| data |
Definition at line 118 of file icl_deque.c.
References icl_list_append(), icl_deque_s::list, icl_deque_s::size, and icl_deque_s::spinlock.


| int icl_deque_delete | ( | icl_deque_t * | deque, |
| icl_node_t * | node, | ||
| void(*)(void *) | free_func | ||
| ) |
Delete the node from the deque.
| deque | |
| node | |
| free_func | function that frees the node's data |
| 0 | success |
| -1 | failure |
Definition at line 164 of file icl_deque.c.
References icl_list_delete(), icl_deque_s::list, icl_deque_s::size, and icl_deque_s::spinlock.


| int icl_deque_destroy | ( | icl_deque_t * | deque, |
| void(*)(void *) | free_func | ||
| ) |
deque destructor
| deque | |
| free_func | function that frees the node's data |
| 0 | success |
| -1 | failure |
Definition at line 53 of file icl_deque.c.
References icl_list_destroy(), icl_deque_s::list, and icl_deque_s::spinlock.


| icl_node_t* icl_deque_first | ( | icl_deque_t * | deque | ) |
Get the first node in the deque.
| deque |
Definition at line 76 of file icl_deque.c.
References icl_list_first(), icl_deque_s::list, and icl_deque_s::spinlock.


| icl_deque_t* icl_deque_new | ( | ) |
deque constructor
Definition at line 23 of file icl_deque.c.
References icl_list_new(), icl_deque_s::list, icl_deque_s::size, and icl_deque_s::spinlock.


| icl_node_t* icl_deque_next | ( | icl_deque_t * | deque, |
| icl_node_t * | node | ||
| ) |
Get the next node in the deque.
| deque | |
| node |
Definition at line 97 of file icl_deque.c.
References icl_list_next(), icl_deque_s::list, and icl_deque_s::spinlock.

| icl_node_t* icl_deque_prepend | ( | icl_deque_t * | deque, |
| void * | data | ||
| ) |
Insert the node at the front of the deque.
| deque | |
| data |
Definition at line 140 of file icl_deque.c.
References icl_list_prepend(), icl_deque_s::list, icl_deque_s::size, and icl_deque_s::spinlock.

| int icl_deque_size | ( | icl_deque_t * | deque | ) |
Return the deque size.
| deque |
Definition at line 189 of file icl_deque.c.
References icl_deque_s::size, and icl_deque_s::spinlock.
