diff options
Diffstat (limited to 'rushs/tinyprintf/levenshtein')
| -rw-r--r-- | rushs/tinyprintf/levenshtein/levenshtein.c | 72 | ||||
| -rw-r--r-- | rushs/tinyprintf/levenshtein/levenshtein.h | 8 |
2 files changed, 0 insertions, 80 deletions
diff --git a/rushs/tinyprintf/levenshtein/levenshtein.c b/rushs/tinyprintf/levenshtein/levenshtein.c deleted file mode 100644 index 4da9397..0000000 --- a/rushs/tinyprintf/levenshtein/levenshtein.c +++ /dev/null @@ -1,72 +0,0 @@ -#include "levenshtein.h" - -#include <stdio.h> - -size_t max(size_t a, size_t b) -{ - if (a >= b) - { - return a; - } - return b; -} - -size_t min(size_t a, size_t b) -{ - if (a <= b) - { - return a; - } - return b; -} - -size_t min_3(size_t a, size_t b, size_t c) -{ - if (a <= b) - { - if (a <= c) - { - return a; - } - return c; - } - else - { - if (b <= c) - { - return b; - } - return c; - } -} - -size_t my_strlen(const char *s) -{ - size_t i; - for (i = 0; s[i]; i++) - { - continue; - } - return i; -} - -size_t levenshtein(const char *s1, const char *s2) -{ - size_t l1 = my_strlen(s1); - size_t l2 = my_strlen(s2); - if (min(l1, l2) == 0) - { - return max(l1, l2); - } - - if (s1[0] == s2[0]) - { - return levenshtein(s1 + 1, s2 + 1); - } - - size_t lev1 = levenshtein(s1 + 1, s2); - size_t lev2 = levenshtein(s1, s2 + 1); - size_t lev3 = levenshtein(s1 + 1, s2 + 1); - - return 1 + min_3(lev1, lev2, lev3); -} diff --git a/rushs/tinyprintf/levenshtein/levenshtein.h b/rushs/tinyprintf/levenshtein/levenshtein.h deleted file mode 100644 index 70a5a7b..0000000 --- a/rushs/tinyprintf/levenshtein/levenshtein.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef LEVENSHTEIN_H -#define LEVENSHTEIN_H - -#include <stddef.h> - -size_t levenshtein(const char *s1, const char *s2); - -#endif /* !LEVENSHTEIN_H */ |
