diff options
author | George Marques <george@gmarqu.es> | 2016-06-13 14:06:03 -0300 |
---|---|---|
committer | George Marques <george@gmarqu.es> | 2016-06-19 11:39:01 -0300 |
commit | 1b8d0a16b7df53aa0f43f046fe8fcc4b446df69e (patch) | |
tree | 22cf5f193062ec1a7e89441219a07beaebe98e71 /core/variant_call.cpp | |
parent | f47d7b27cb70c8f454fd5a6461f817a2928d52e5 (diff) | |
download | redot-engine-1b8d0a16b7df53aa0f43f046fe8fcc4b446df69e.tar.gz |
Add similarity comparison to String
Uses the Sorensen-Dice coefficient to calculate similarity. This also adds
String.bigrams() as a convenience function needed by the comparison.
Diffstat (limited to 'core/variant_call.cpp')
-rw-r--r-- | core/variant_call.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/core/variant_call.cpp b/core/variant_call.cpp index 0055138582..683b1611d8 100644 --- a/core/variant_call.cpp +++ b/core/variant_call.cpp @@ -249,6 +249,8 @@ static void _call_##m_type##_##m_method(Variant& r_ret,Variant& p_self,const Var VCALL_LOCALMEM1R(String,ends_with); VCALL_LOCALMEM1R(String,is_subsequence_of); VCALL_LOCALMEM1R(String,is_subsequence_ofi); + VCALL_LOCALMEM0R(String,bigrams); + VCALL_LOCALMEM1R(String,similarity); VCALL_LOCALMEM2R(String,replace); VCALL_LOCALMEM2R(String,replacen); VCALL_LOCALMEM2R(String,insert); @@ -1274,6 +1276,8 @@ _VariantCall::addfunc(Variant::m_vtype,Variant::m_ret,_SCS(#m_method),VCALL(m_cl ADDFUNC1(STRING,BOOL,String,ends_with,STRING,"text",varray()); ADDFUNC1(STRING,BOOL,String,is_subsequence_of,STRING,"text",varray()); ADDFUNC1(STRING,BOOL,String,is_subsequence_ofi,STRING,"text",varray()); + ADDFUNC0(STRING,STRING_ARRAY,String,bigrams,varray()); + ADDFUNC1(STRING,REAL,String,similarity,STRING,"text",varray()); ADDFUNC2(STRING,STRING,String,replace,STRING,"what",STRING,"forwhat",varray()); ADDFUNC2(STRING,STRING,String,replacen,STRING,"what",STRING,"forwhat",varray()); |