From 5adbd74aff01906f1f73a3ae4707a817bdd0da1e Mon Sep 17 00:00:00 2001 From: Raphael Roberts Date: Sun, 26 May 2019 18:10:05 -0500 Subject: [PATCH] Fixed c stuff so it actually works and included extra words in the manisfest --- MANIFEST.in | 1 + src/c_fits.c | 28 +++++++++++--------- src/fits.pyx | 2 +- extra_words.txt => wordscape/extra_words.txt | 0 4 files changed, 17 insertions(+), 14 deletions(-) rename extra_words.txt => wordscape/extra_words.txt (100%) diff --git a/MANIFEST.in b/MANIFEST.in index 1f92c97..b1c73e5 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,2 +1,3 @@ +include wordscape/extra_words.txt include requirements.txt recursive-include src * \ No newline at end of file diff --git a/src/c_fits.c b/src/c_fits.c index 05fb39e..e6accdd 100644 --- a/src/c_fits.c +++ b/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; } } diff --git a/src/fits.pyx b/src/fits.pyx index 58d415e..f914f3d 100644 --- a/src/fits.pyx +++ b/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 diff --git a/extra_words.txt b/wordscape/extra_words.txt similarity index 100% rename from extra_words.txt rename to wordscape/extra_words.txt