2023-04-01 01:54:45 +00:00
|
|
|
#include "pair.h" /* pair */
|
2023-04-01 03:15:02 +00:00
|
|
|
#include "journal.h" /* size_t, date32, line64 */
|
2023-04-08 00:39:13 +00:00
|
|
|
struct score {
|
|
|
|
struct pair key, name;
|
|
|
|
union date32 date, last;
|
2023-04-18 02:46:52 +00:00
|
|
|
unsigned edges, tempscore;
|
2023-04-08 00:39:13 +00:00
|
|
|
};
|
2023-03-12 23:48:29 +00:00
|
|
|
|
2023-04-01 01:54:45 +00:00
|
|
|
#define ARRAY_NAME scorelist
|
|
|
|
#define ARRAY_TYPE struct score
|
|
|
|
#define ARRAY_HEAD
|
|
|
|
#include "../src/array.h"
|
|
|
|
|
|
|
|
#define TREE_NAME score
|
|
|
|
#define TREE_KEY union line64
|
|
|
|
#define TREE_VALUE size_t
|
|
|
|
#define TREE_HEAD
|
|
|
|
#include "../src/tree.h"
|
|
|
|
|
|
|
|
struct scores {
|
|
|
|
struct scorelist_array list;
|
2023-04-01 03:15:02 +00:00
|
|
|
struct pairmap_table map;
|
2023-04-01 01:54:45 +00:00
|
|
|
struct score_tree dates;
|
|
|
|
};
|
|
|
|
|
2023-04-01 03:15:02 +00:00
|
|
|
void scores_(struct scores *);
|
|
|
|
struct scores scores(struct journal *);
|
|
|
|
int scores_is_empty(const struct scores *);
|
2023-04-19 22:11:44 +00:00
|
|
|
int scores_graph(struct scores *);
|
2023-04-08 02:57:19 +00:00
|
|
|
const char *scores_to_string(const struct scores *);
|