projects
/
c11concurrency-benchmarks.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
Add data structure benchmarks
[c11concurrency-benchmarks.git]
/
cdschecker_modified_benchmarks
/
chase-lev-deque
/
deque.h
1
#ifndef DEQUE_H
2
#define DEQUE_H
3
4
#include "cds_atomic.h"
5
6
typedef struct {
7
atomic_size_t size;
8
atomic_int buffer[];
9
} Array;
10
11
typedef struct {
12
atomic_size_t top, bottom;
13
atomic_uintptr_t array; /* Atomic(Array *) */
14
} Deque;
15
16
Deque * create();
17
int take(Deque *q);
18
int steal(Deque *q);
19
void resize(Deque *q);
20
void push(Deque *q, int x);
21
22
#define EMPTY 0xffffffff
23
#define ABORT 0xfffffffe
24
25
#endif