static void solve(const char *equation) { MPEquationOptions options; MPErrorCode error; MPNumber result; char *result_str; memset(&options, 0, sizeof(options)); options.base = 10; options.wordlen = 32; options.angle_units = MP_DEGREES; options.convert = do_convert; error = mp_equation_parse(equation, &options, &result, NULL); if(error == PARSER_ERR_MP) { fprintf(stderr, "Error: %s\n", mp_get_error()); exit(1); } else if(error != 0) { fprintf(stderr, "Error: %s\n", mp_error_code_to_string(error)); exit(1); } else { result_str = mp_serializer_to_string(mp_serializer_new(MP_DISPLAY_FORMAT_AUTOMATIC, 10, 9), &result); printf("%s\n", result_str); exit(0); } }
static void solve(const char *equation) { int ret; MPEquationOptions options; MPNumber z; gchar *result_str = NULL; memset(&options, 0, sizeof(options)); options.base = 10; options.wordlen = 32; options.angle_units = MP_DEGREES; ret = mp_equation_parse(equation, &options, &z, NULL); if (ret == PARSER_ERR_MP) fprintf(stderr, "Error %s\n", mp_get_error()); else if (ret) fprintf(stderr, "Error %d\n", ret); else { result_str = mp_serializer_to_string(result_serializer, &z); printf("%s\n", result_str); } g_free(result_str); }
static void solve(const char *equation) { MPEquationOptions options; MPErrorCode error; MPNumber result; char result_str[1024]; memset(&options, 0, sizeof(options)); options.base = 10; options.wordlen = 32; options.angle_units = MP_DEGREES; error = mp_equation_parse(equation, &options, &result, NULL); if(error == PARSER_ERR_MP) { fprintf(stderr, "Error: %s\n", mp_get_error()); exit(1); } else if(error != 0) { fprintf(stderr, "Error: %s\n", mp_error_code_to_string(error)); exit(1); } else { mp_cast_to_string(&result, 10, 10, 9, 1, result_str, 1024); printf("%s\n", result_str); exit(0); } }