interpret/src/scores.h

31 lines
713 B
C
Raw Normal View History

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 *);