00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include <config.h>
00023 #include <drizzled/plugin/function.h>
00024 #include <plugin/math_functions/functions.h>
00025 #include <plugin/math_functions/abs.h>
00026 #include <plugin/math_functions/acos.h>
00027 #include <plugin/math_functions/asin.h>
00028 #include <plugin/math_functions/atan.h>
00029 #include <plugin/math_functions/cos.h>
00030 #include <plugin/math_functions/log.h>
00031 #include <plugin/math_functions/sin.h>
00032 #include <plugin/math_functions/pow.h>
00033 #include <plugin/math_functions/ln.h>
00034 #include <plugin/math_functions/sqrt.h>
00035 #include <plugin/math_functions/ceiling.h>
00036 #include <plugin/math_functions/exp.h>
00037 #include <plugin/math_functions/floor.h>
00038 #include <plugin/math_functions/ord.h>
00039
00040 using namespace drizzled;
00041
00042 static int init(drizzled::module::Context &context)
00043 {
00044 context.add(new plugin::Create_function<Item_func_abs>("abs"));
00045 context.add(new plugin::Create_function<Item_func_acos>("acos"));
00046 context.add(new plugin::Create_function<Item_func_asin>("asin"));
00047 context.add(new plugin::Create_function<Item_func_atan>("atan"));
00048 context.add(new plugin::Create_function<Item_func_atan>("atan2"));
00049 context.add(new plugin::Create_function<Item_func_cos>("cos"));
00050 context.add(new plugin::Create_function<Item_func_log>("log"));
00051 context.add(new plugin::Create_function<Item_func_log2>("log2"));
00052 context.add(new plugin::Create_function<Item_func_log10>("log10"));
00053 context.add(new plugin::Create_function<Item_func_sin>("sin"));
00054 context.add(new plugin::Create_function<Item_func_pow>("pow"));
00055 context.add(new plugin::Create_function<Item_func_pow>("power"));
00056 context.add(new plugin::Create_function<Item_func_ln>("ln"));
00057 context.add(new plugin::Create_function<Item_func_sqrt>("sqrt"));
00058 context.add(new plugin::Create_function<Item_func_ceiling>("ceil"));
00059 context.add(new plugin::Create_function<Item_func_ceiling>("ceiling"));
00060 context.add(new plugin::Create_function<Item_func_exp>("exp"));
00061 context.add(new plugin::Create_function<Item_func_floor>("floor"));
00062 context.add(new plugin::Create_function<Item_func_ord>("ord"));
00063
00064 return 0;
00065 }
00066
00067 DRIZZLE_DECLARE_PLUGIN
00068 {
00069 DRIZZLE_VERSION_ID,
00070 "Math Functions",
00071 "1.0",
00072 "Brian Aker, Stewart Smith",
00073 "Math Functions.",
00074 PLUGIN_LICENSE_GPL,
00075 init,
00076 NULL,
00077 NULL
00078 }
00079 DRIZZLE_DECLARE_PLUGIN_END;