libBigWig
bwValues.h
Go to the documentation of this file.
1 #include <inttypes.h>
9 //N.B., coordinates are still 0-based half open!
17 typedef struct bwRTreeNode_t {
18  uint8_t isLeaf;
19  //1 byte of padding
20  uint16_t nChildren;
21  uint32_t *chrIdxStart;
22  uint32_t *baseStart;
23  uint32_t *chrIdxEnd;
24  uint32_t *baseEnd;
25  uint64_t *dataOffset;
26  union {
27  uint64_t *size;
28  struct bwRTreeNode_t **child;
29  } x;
31 
35 //TODO rootOffset is pointless, it's 48bytes after the indexOffset
36 typedef struct {
37  uint32_t blockSize;
38  uint64_t nItems;
39  uint32_t chrIdxStart;
40  uint32_t baseStart;
41  uint32_t chrIdxEnd;
42  uint32_t baseEnd;
43  uint64_t idxSize;
44  uint32_t nItemsPerSlot;
45  //There's 4 bytes of padding in the file here
46  uint64_t rootOffset;
48 } bwRTree_t;
49 
53 typedef struct {
54  uint64_t n;
55  uint64_t *offset;
56  uint64_t *size;
58 
64 typedef struct {
65  uint32_t tid;
66  uint32_t start;
67  uint32_t end;
68  uint32_t step;
69  uint32_t span;
70  uint8_t type;
71  uint16_t nItems;
uint64_t * size
Definition: bwValues.h:56
struct bwRTreeNode_t ** child
Definition: bwValues.h:28
uint64_t * size
Definition: bwValues.h:27
uint32_t baseStart
Definition: bwValues.h:40
uint32_t blockSize
Definition: bwValues.h:37
uint64_t * offset
Definition: bwValues.h:55
This structure holds the data blocks that overlap a given interval.
Definition: bwValues.h:53
uint32_t start
Definition: bwValues.h:66
uint32_t step
Definition: bwValues.h:68
uint16_t nItems
Definition: bwValues.h:71
uint8_t isLeaf
Definition: bwValues.h:18
uint32_t * chrIdxStart
Definition: bwValues.h:21
uint32_t span
Definition: bwValues.h:69
uint32_t * baseStart
Definition: bwValues.h:22
uint8_t type
Definition: bwValues.h:70
union bwRTreeNode_t::@1 x
uint64_t nItems
Definition: bwValues.h:38
uint32_t * baseEnd
Definition: bwValues.h:24
uint64_t idxSize
Definition: bwValues.h:43
Definition: bwValues.h:36
The header section of a given data block.
Definition: bwValues.h:64
struct bwRTreeNode_t bwRTreeNode_t
A node within an R-tree holding the index for data.
uint32_t * chrIdxEnd
Definition: bwValues.h:23
uint32_t end
Definition: bwValues.h:67
uint32_t chrIdxEnd
Definition: bwValues.h:41
bwRTreeNode_t * root
Definition: bwValues.h:47
uint32_t nItemsPerSlot
Definition: bwValues.h:44
uint32_t chrIdxStart
Definition: bwValues.h:39
uint64_t n
Definition: bwValues.h:54
uint64_t rootOffset
Definition: bwValues.h:46
A node within an R-tree holding the index for data.
Definition: bwValues.h:17
uint64_t * dataOffset
Definition: bwValues.h:25
uint16_t nChildren
Definition: bwValues.h:20
uint32_t baseEnd
Definition: bwValues.h:42
uint32_t tid
Definition: bwValues.h:65