summaryrefslogtreecommitdiffstats
path: root/core/variant_call.cpp
diff options
context:
space:
mode:
authorGeorge Marques <george@gmarqu.es>2016-06-13 14:06:03 -0300
committerGeorge Marques <george@gmarqu.es>2016-06-19 11:39:01 -0300
commit1b8d0a16b7df53aa0f43f046fe8fcc4b446df69e (patch)
tree22cf5f193062ec1a7e89441219a07beaebe98e71 /core/variant_call.cpp
parentf47d7b27cb70c8f454fd5a6461f817a2928d52e5 (diff)
downloadredot-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.cpp4
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());