37 if (
ZSTR_LEN(string1) <
ZSTR_LEN(string2) && cost_ins == cost_rep && cost_rep == cost_del) {
46 for (i2 = 0; i2 <=
ZSTR_LEN(string2); i2++) {
47 p1[i2] = i2 * cost_ins;
49 for (i1 = 0; i1 <
ZSTR_LEN(string1) ; i1++) {
50 p2[0] = p1[0] + cost_del;
52 for (i2 = 0; i2 <
ZSTR_LEN(string2); i2++) {
53 c0 = p1[i2] + ((
ZSTR_VAL(string1)[i1] ==
ZSTR_VAL(string2)[i2]) ? 0 : cost_rep);
54 c1 = p1[i2 + 1] + cost_del;
58 c2 = p2[i2] + cost_ins;
90 RETURN_LONG(reference_levdist(string1, string2, cost_ins, cost_rep, cost_del));
levenshtein(string $string1, string $string2, int $insertion_cost=1, int $replacement_cost=1, int $deletion_cost=1)
ZEND_API zend_result zend_parse_parameters(uint32_t num_args, const char *type_spec,...)
#define safe_emalloc(nmemb, size, offset)
struct _zend_string zend_string