Browse Source

Fixed c stuff so it actually works and included extra words in the manisfest

master
Raphael Roberts 7 years ago
parent
commit
5adbd74aff
  1. 1
      MANIFEST.in
  2. 28
      src/c_fits.c
  3. 2
      src/fits.pyx
  4. 0
      wordscape/extra_words.txt

1
MANIFEST.in

@ -1,2 +1,3 @@
include wordscape/extra_words.txt
include requirements.txt
recursive-include src *

28
src/c_fits.c

@ -1,28 +1,30 @@
int _fits(char* bottom, int len_bottom, char* top, int len_top) {
int bottom_letters[26];
int top_letters[26];
int _fits(char * bottom, int len_bottom, char * top, int len_top) {
int bottom_letters[26] = {
0
};
int top_letters[26] = {
0
};
int letter_val;
int i;
for (i = 0; i < len_bottom; i++) {
letter_val = bottom[i]-96;
letter_val = bottom[i] - 97;
if (0 <= letter_val && letter_val <= 25) {
bottom_letters[letter_val] += 1;
} else {
return 0;
}
else {
return 1;
}
}
for (i = 0; i < len_top; i++) {
letter_val = top[i]-96;
letter_val = top[i] - 97;
if (0 <= letter_val && letter_val <= 25) {
top_letters[letter_val] += 1;
} else {
return 0;
}
else {
return 1;
}
}
for (i = 0; i < 26; i++ ) {
if (bottom_letters[i] < top_letters) {
for (i = 0; i < 26; i++) {
if (bottom_letters[i] < top_letters[i]) {
return 0;
}
}

2
src/fits.pyx

@ -3,4 +3,4 @@ cdef extern from "c_fits.c":
cpdef bint fits(str bottom, str top):
return _fits(bottom.encode(), len(bottom), top.encode(), len(top)) == 0
return _fits(bottom.encode(), len(bottom), top.encode(), len(top)) == 1

extra_words.txt → wordscape/extra_words.txt

Loading…
Cancel
Save