enumerate-balanced-ideals/thickenings.h

25 lines
768 B
C
Raw Normal View History

2016-07-26 08:09:34 +00:00
#ifndef THICKENINGS_H
#define THICKENINGS_H
2016-11-19 10:16:45 +00:00
#include "bitvec.h"
2016-11-20 22:19:08 +00:00
#include "weyl.h"
2016-07-26 08:09:34 +00:00
#define DEBUG(msg, ...) do{fprintf(stderr, msg, ##__VA_ARGS__); }while(0)
2017-03-20 08:36:48 +00: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 10:16:45 +00:00
// enumerating balanced thickenings
2017-03-20 08:36:48 +00:00
long enumerate_balanced_thickenings(doublequotient_t *dq, enumeration_callback callback, void *callback_data);
2016-07-26 08:09:34 +00:00
#endif