25 lines
768 B
C
Raw Normal View History

2016-07-26 10:09:34 +02:00
#ifndef THICKENINGS_H
#define THICKENINGS_H
2016-11-19 11:16:45 +01:00
#include "bitvec.h"
2016-11-20 23:19:08 +01:00
#include "weyl.h"
2016-07-26 10:09:34 +02:00
#define DEBUG(msg, ...) do{fprintf(stderr, msg, ##__VA_ARGS__); }while(0)
2017-03-20 09:36:48 +01:00
struct enumeration_info {
int size; // the size of the weyl group. We store however only the first size/2 elements
bitvec_t *principal_pos;
bitvec_t *principal_neg;
int *principal_is_slim;
void (*callback)(const bitvec_t *, int, const struct enumeration_info *);
void *callback_data;
};
typedef void (*enumeration_callback)(const bitvec_t *, int, const struct enumeration_info *);
typedef struct enumeration_info enumeration_info_t;
2016-11-19 11:16:45 +01:00
// enumerating balanced thickenings
2017-03-20 09:36:48 +01:00
long enumerate_balanced_thickenings(doublequotient_t *dq, enumeration_callback callback, void *callback_data);
2016-07-26 10:09:34 +02:00
#endif