Compare commits
1 Commits
master
...
old_experi
Author | SHA1 | Date | |
---|---|---|---|
|
93207ff694 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,4 +1,5 @@
|
||||
*.o
|
||||
*.pdf
|
||||
enumerate
|
||||
idealbounds
|
||||
graph
|
||||
|
2
Makefile
2
Makefile
@ -7,7 +7,7 @@ SPECIAL_OPTIONS=-O3 -flto -funroll-loops -Winline
|
||||
OPTIONS=-m64 -march=native -std=gnu99 -D_GNU_SOURCE $(SPECIAL_OPTIONS)
|
||||
NAME=enumerate-balanced-ideals
|
||||
|
||||
all: enumerate graph D2n dominant_weights
|
||||
all: enumerate graph
|
||||
|
||||
$(NAME).tar.bz2: $(NAME) $(HEADERS) enumerate.c weyl.c thickenings.c
|
||||
tar cjhf $(NAME).tar.bz2 $(NAME)/enumerate.c $(NAME)/weyl.c $(NAME)/thickenings.c $(NAME)/weyl.h $(NAME)/thickenings.h $(NAME)/queue.h $(NAME)/bitvec.h $(NAME)/Makefile $(NAME)/graph.c
|
||||
|
20
enumerate.c
20
enumerate.c
@ -31,8 +31,8 @@ static char* alphabetize(weylgroup_element_t *e, char *str)
|
||||
}
|
||||
|
||||
/*
|
||||
int shorten(int i, unsigned long left, unsigned long right, doublequotient_t *dq, int rank)
|
||||
{
|
||||
int shorten(int i, unsigned long left, unsigned long right, doublequotient_t *dq, int rank)
|
||||
{
|
||||
int other, shorter = i;
|
||||
do {
|
||||
i = shorter;
|
||||
@ -49,7 +49,7 @@ int shorten(int i, unsigned long left, unsigned long right, doublequotient_t *dq
|
||||
} while(shorter != i);
|
||||
|
||||
return shorter;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
void balanced_thickening_callback(const bitvec_t *pos, int size, const enumeration_info_t *ei)
|
||||
@ -85,6 +85,20 @@ void balanced_thickening_callback(const bitvec_t *pos, int size, const enumerati
|
||||
for(int j = 0; j < info->rank; j++)
|
||||
printf("%c", right_invariance & (1 << j) ? j + 'a' : ' ');
|
||||
|
||||
int length_profile[65]; // can't handle more that 64 positive roots anyway
|
||||
|
||||
memset(length_profile, 0, (info->positive+1)*sizeof(int));
|
||||
|
||||
for(int i = 0; i < size; i++) {
|
||||
bit1 = i < size/2 ? bv_get_bit(pos, i) : !bv_get_bit(pos, size - 1 - i);
|
||||
if(bit1)
|
||||
length_profile[info->dq->cosets[i].min->wordlength]++;
|
||||
}
|
||||
|
||||
printf(" length profile:");
|
||||
for(int i = 0; i <= info->positive; i++)
|
||||
printf(" %d", length_profile[i]);
|
||||
|
||||
if(info->buffer) {
|
||||
bitvec_t low, high;
|
||||
bv_copy(pos, &low);
|
||||
|
Loading…
Reference in New Issue
Block a user