#include #include <../../src/mlp.h> mlp_value *calc_add_long(int nb_args, mlp_value **args){ mlp_context *ctx = mlp_new_context() ; long a = mlp_get_long_value(ctx, args[0]) ; long b = mlp_get_long_value(ctx, args[1]) ; mlp_value *sum = mlp_new_long_value(ctx, a + b) ; mlp_delete_context(ctx) ; return sum ; } mlp_value *calc_add_double(int nb_args, mlp_value **args){ mlp_context *ctx = mlp_new_context() ; double a = mlp_get_double_value(ctx, args[0]) ; double b = mlp_get_double_value(ctx, args[1]) ; mlp_value *sum = mlp_new_double_value(ctx, a + b) ; mlp_delete_context(ctx) ; return sum ; } mlp_value *calc_add_string(int nb_args, mlp_value **args){ mlp_context *ctx = mlp_new_context() ; const char *a = mlp_get_string_value(ctx, args[0]) ; const char *b = mlp_get_string_value(ctx, args[1]) ; mlp_value *sum = mlp_new_double_value(ctx, strtod(a, NULL) + strtod(b, NULL)) ; mlp_delete_context(ctx) ; return sum ; }