34 lines
797 B
C
34 lines
797 B
C
|
#include "pair.h" /* pair */
|
||
|
#include "journal.h" /* size_t, date32, line64 */
|
||
|
|
||
|
/* Map from line to index in array. */
|
||
|
#define TREE_NAME linetoindex
|
||
|
#define TREE_KEY union line64
|
||
|
#define TREE_VALUE size_t
|
||
|
#define TREE_HEAD
|
||
|
#include "../src/tree.h"
|
||
|
|
||
|
/* Score array. */
|
||
|
struct score {
|
||
|
struct pair key, name;
|
||
|
union date32 date, last/* update */;
|
||
|
unsigned edges, score/* update */;
|
||
|
};
|
||
|
#define ARRAY_NAME score
|
||
|
#define ARRAY_TYPE struct score
|
||
|
#define ARRAY_HEAD
|
||
|
#include "../src/array.h"
|
||
|
|
||
|
|
||
|
struct scores {
|
||
|
struct score_array array;
|
||
|
struct pairmap_table map;
|
||
|
struct linetoindex_tree dates;
|
||
|
};
|
||
|
|
||
|
void scores_(struct scores *);
|
||
|
struct scores scores(struct journal *);
|
||
|
int scores_is_empty(const struct scores *);
|
||
|
int scores_graph(struct scores *);
|
||
|
const char *scores_to_string(const struct scores *);
|