aboutsummaryrefslogtreecommitdiffstats
path: root/plugin.c
diff options
context:
space:
mode:
authorreinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>2003-12-19 05:49:23 +0000
committerreinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>2003-12-19 05:49:23 +0000
commitc72b30a25cb05f1efa385c48bed2033ea58e8472 (patch)
tree087cfb9b126c466979bfa703975d3084b528e1b1 /plugin.c
parentc1c11bb955fc2ab80bb8356aa917ab1bda843ce7 (diff)
downloadlcd4linux-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.c96
1 files changed, 9 insertions, 87 deletions
diff --git a/plugin.c b/plugin.c
index d34d1cb..5ff0596 100644
--- a/plugin.c
+++ b/plugin.c
@@ -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;
}