mirror of
				https://github.com/eledio-devices/thirdparty-tinyexpr.git
				synced 2025-10-31 00:32:38 +01:00 
			
		
		
		
	Added additional example and info.
This commit is contained in:
		
							
								
								
									
										35
									
								
								example3.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								example3.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | ||||
| #include "tinyexpr.h" | ||||
| #include <stdio.h> | ||||
|  | ||||
|  | ||||
| /* An example of calling a C function. */ | ||||
| double my_sum(double a, double b) { | ||||
|     printf("Called C function with %f and %f.\n", a, b); | ||||
|     return a + b; | ||||
| } | ||||
|  | ||||
|  | ||||
| int main(int argc, char *argv[]) | ||||
| { | ||||
|     te_variable vars[] = { | ||||
|         {"mysum", my_sum, TE_FUNCTION2} | ||||
|     }; | ||||
|  | ||||
|     const char *expression = "mysum(5, 6)"; | ||||
|     printf("Evaluating:\n\t%s\n", expression); | ||||
|  | ||||
|     int err; | ||||
|     te_expr *n = te_compile(expression, vars, 1, &err); | ||||
|  | ||||
|     if (n) { | ||||
|         const double r = te_eval(n); | ||||
|         printf("Result:\n\t%f\n", r); | ||||
|         te_free(n); | ||||
|     } else { | ||||
|         /* Show the user where the error is at. */ | ||||
|         printf("\t%*s^\nError near here", err-1, ""); | ||||
|     } | ||||
|  | ||||
|  | ||||
|     return 0; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user