Lines Matching refs:a
4 The `sparse_array.c` file contains an implementation of a sparse array that
7 The sparse array is represented using a tree structure. Each node in the
8 tree contains a block of pointers to either the user supplied leaf values or
11 There are a number of parameters used to define the block size:
15 SA_BLOCK_MASK Specifies a bit mask to perform modulo block size
29 As a space and performance optimisation, the height of the tree is usually
33 The largest index used to add a value to the array determines the tree height:
47 An empty tree is represented by a NULL root pointer. Inserting a value at
48 index 0 results in the allocation of a top level node full of null pointers
74 Inserting at element 2N+1 creates a new root node and pushes down the old root
75 node. It then creates a second second level node to hold the pointer to the
108 The nodes themselves are allocated in a sparse manner. Only nodes which exist
109 along a path from the root of the tree to an added leaf will be allocated.
111 Because the data is expected to be sparse this doesn't result in a large waste
156 Thus, `SPARSE_ARRAY_OF(char)` can be used to store a string.