mirror of
				https://github.com/eledio-devices/thirdparty-tinyexpr.git
				synced 2025-10-31 08:42:39 +01:00 
			
		
		
		
	Merge pull request #1 from EvilPudding/master
Optimized find_function and find_var.
This commit is contained in:
		| @@ -99,7 +99,7 @@ static const builtin *find_function(const char *name, int len) { | |||||||
|     while (imax >= imin) { |     while (imax >= imin) { | ||||||
|         const int i = (imin + ((imax-imin)/2)); |         const int i = (imin + ((imax-imin)/2)); | ||||||
|         int c = strncmp(name, functions[i].name, len); |         int c = strncmp(name, functions[i].name, len); | ||||||
|         if (!c) c = len - strlen(functions[i].name); |         if (!c) c = '\0' - functions[i].name[len]; | ||||||
|         if (c == 0) { |         if (c == 0) { | ||||||
|             return functions + i; |             return functions + i; | ||||||
|         } else if (c > 0) { |         } else if (c > 0) { | ||||||
| @@ -117,7 +117,7 @@ static const double *find_var(const state *s, const char *name, int len) { | |||||||
|     int i; |     int i; | ||||||
|     if (!s->lookup) return 0; |     if (!s->lookup) return 0; | ||||||
|     for (i = 0; i < s->lookup_len; ++i) { |     for (i = 0; i < s->lookup_len; ++i) { | ||||||
|         if (strlen(s->lookup[i].name) == len && strncmp(name, s->lookup[i].name, len) == 0) { |         if (strncmp(name, s->lookup[i].name, len) == 0 && s->lookup[i].name[len] == '\0') { | ||||||
|             return s->lookup[i].value; |             return s->lookup[i].value; | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user