source: doc/theses/mike_brooks_MMath/benchmarks/list/fx-cfa-GENERAL.h

Last change on this file was 6c58850, checked in by Michael Brooks <mlbrooks@…>, 6 weeks ago

Revise data in linked-list plots with streamlined harness and data from runs on swift.

No change to text discussing the plots, so some of that discussion is now stale.

Harness changes allow more ifdef feature disabling and eliminate side-array usage, keeping all per-node harness state inside the list nodes.

Completely disable the interleaving experiment, which was not giving discernable data.

  • Property mode set to 100644
File size: 2.3 KB
Line 
1// #define BFX_INTRUSION(S) inline dlink(S);
2// #define BFX_EXTRUSION_DECL(S)
3// #define BFX_EXTRUSION_FOLLOWUP(S) P9_EMBEDDED( S, dlink(S) )
4// #define BFX_LIST_HEAD_T(S) dlist(S)
5// #define BFX_LISTED_ELEM_T(S) S*
6
7// #define BFX_INSERT_FIRST(S, lst, item) (insert_first (lst, item), (S*)&(item))
8// #define BFX_INSERT_LAST(S, lst, item) (insert_last (lst, item), (S*)&(item))
9// #define BFX_INSERT_BEFORE(S, lst, item, refIter) (insert_before(*refIter, item), (S*)&(item))
10// #define BFX_INSERT_AFTER(S, lst, item, refIter) (insert_after (*refIter, item), (S*)&(item))
11// #define BFX_REMOVE_FIRST(S, lst) pop_front(lst)
12// #define BFX_REMOVE_LAST(S, lst) pop_back(lst)
13// #define BFX_REMOVE_HERE(S, lst, refIter) remove(*refIter)
14// #define BFX_INIT(S, lst)
15
16// #define BFX_GET_AFTER(S, lst, iter) (&(*iter)`next)
17// #define BFX_GET_BEFORE(S, lst, iter) (&(*iter)`prev)
18// #define BFX_IS_VALID_POS(S, lst, iter) ((iter)!=NULL)
19// #define BFX_DEREF_POS(S, lst, iter) (iter)
20
21#define BFX_INTRUSION(S) inline dlink(S);
22#define BFX_EXTRUSION_DECL(S)
23#define BFX_EXTRUSION_FOLLOWUP(S) P9_EMBEDDED( S, dlink(S) )
24#define BFX_LIST_HEAD_T(S) dlist(S)
25#define BFX_LISTED_ELEM_T(S) S*
26
27#define BFX_INSERT_FIRST(S, lst, item) (insert_first (lst, item), (S*)&(item))
28#define BFX_INSERT_LAST(S, lst, item) (insert_last (lst, item), (S*)&(item))
29#define BFX_INSERT_BEFORE(S, lst, item, refIter) (insert_before(*refIter, item), (S*)&(item))
30#define BFX_INSERT_AFTER(S, lst, item, refIter) (insert_after (*refIter, item), (S*)&(item))
31#define BFX_REMOVE_FIRST(S, lst) remove_first(lst)
32#define BFX_REMOVE_LAST(S, lst) remove_last(lst)
33#define BFX_REMOVE_HERE(S, lst, refIter) remove(*refIter)
34#define BFX_INIT(S, lst)
35
36#define BFX_GET_FIRST(S, lst) ( & first(lst) )
37#define BFX_GET_AFTER(S, lst, iter) ( & next( * (iter) ) )
38#define BFX_GET_BEFORE(S, lst, iter) ( & prev( * (iter) ) )
39#define BFX_IS_VALID_POS(S, lst, iter) ((iter)!=NULL)
40#define BFX_DEREF_POS(S, lst, iter) (iter)
Note: See TracBrowser for help on using the repository browser.