diff options
author | reinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2003-12-19 05:49:23 +0000 |
---|---|---|
committer | reinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2003-12-19 05:49:23 +0000 |
commit | c72b30a25cb05f1efa385c48bed2033ea58e8472 (patch) | |
tree | 087cfb9b126c466979bfa703975d3084b528e1b1 /plugin.c | |
parent | c1c11bb955fc2ab80bb8356aa917ab1bda843ce7 (diff) | |
download | lcd4linux-c72b30a25cb05f1efa385c48bed2033ea58e8472.tar.gz |
[lcd4linux @ 2003-12-19 05:49:23 by reinelt]
extracted plugin_math and plugin_string into extra files
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@280 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
Diffstat (limited to 'plugin.c')
-rw-r--r-- | plugin.c | 96 |
1 files changed, 9 insertions, 87 deletions
@@ -1,4 +1,4 @@ -/* $Id: plugin.c,v 1.1 2003/12/19 05:35:14 reinelt Exp $ +/* $Id: plugin.c,v 1.2 2003/12/19 05:49:23 reinelt Exp $ * * plugin handler for the Evaluator * @@ -22,6 +22,9 @@ * * * $Log: plugin.c,v $ + * Revision 1.2 2003/12/19 05:49:23 reinelt + * extracted plugin_math and plugin_string into extra files + * * Revision 1.1 2003/12/19 05:35:14 reinelt * renamed 'client' to 'plugin' * @@ -55,103 +58,22 @@ #include <stdlib.h> #include <stdio.h> -#include <math.h> #include <string.h> #include "debug.h" #include "plugin.h" - -static void my_sqrt (RESULT *result, RESULT *arg1) -{ - double value=sqrt(R2N(arg1)); - SetResult(&result, R_NUMBER, &value); -} - -static void my_exp (RESULT *result, RESULT *arg1) -{ - double value=exp(R2N(arg1)); - SetResult(&result, R_NUMBER, &value); -} - -static void my_ln (RESULT *result, RESULT *arg1) -{ - double value=log(R2N(arg1)); - SetResult(&result, R_NUMBER, &value); -} - -static void my_log (RESULT *result, RESULT *arg1) -{ - double value=log10(R2N(arg1)); - SetResult(&result, R_NUMBER, &value); -} - -static void my_sin (RESULT *result, RESULT *arg1) -{ - double value=sin(R2N(arg1)); - SetResult(&result, R_NUMBER, &value); -} - -static void my_cos (RESULT *result, RESULT *arg1) -{ - double value=cos(R2N(arg1)); - SetResult(&result, R_NUMBER, &value); -} - -static void my_tan (RESULT *result, RESULT *arg1) -{ - double value=tan(R2N(arg1)); - SetResult(&result, R_NUMBER, &value); -} - - -static void my_min (RESULT *result, RESULT *arg1, RESULT *arg2) -{ - double a1=R2N(arg1); - double a2=R2N(arg2); - double value=a1<a2?a1:a2; - SetResult(&result, R_NUMBER, &value); -} - -static void my_max (RESULT *result, RESULT *arg1, RESULT *arg2) -{ - double a1=R2N(arg1); - double a2=R2N(arg2); - double value=a1>a2?a1:a2; - SetResult(&result, R_NUMBER, &value); -} - - -static void my_strlen (RESULT *result, RESULT *arg1) -{ - double value=strlen(R2S(arg1)); - SetResult(&result, R_NUMBER, &value); -} +int plugin_init_math (void); +int plugin_init_string (void); int plugin_init (void) { - // set some handy constants - AddNumericVariable ("Pi", M_PI); - AddNumericVariable ("e", M_E); - - // register some basic math functions - AddFunction ("sqrt", 1, my_sqrt); - AddFunction ("exp", 1, my_exp); - AddFunction ("ln", 1, my_ln); - AddFunction ("log", 1, my_log); - AddFunction ("sin", 1, my_sin); - AddFunction ("cos", 1, my_cos); - AddFunction ("tan", 1, my_tan); + // math plugin + plugin_init_math(); + plugin_init_string(); - // min, max - AddFunction ("min", 2, my_min); - AddFunction ("max", 2, my_max); - - // register some basic string functions - AddFunction ("strlen", 1, my_strlen); - return 0; } |