File: tbuild_function_procedurefunction.c

package info (click to toggle)
sollya 8.0%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 17,592 kB
  • sloc: ansic: 124,655; yacc: 7,543; lex: 2,440; makefile: 888; cpp: 77
file content (23 lines) | stat: -rw-r--r-- 650 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <sollya.h>
#include <mpfr.h>

int main(void) {
  sollya_obj_t f1;
  mpfr_t x,y;

  sollya_lib_init();
  f1 = sollya_lib_parse_string("proc(X,n,p) {var res, oldPrec; oldPrec = prec; prec = p!; res = exp(X); prec = oldPrec!; return res; };");
  f1 = sollya_lib_build_function_procedurefunction(SOLLYA_X_, f1);
  sollya_lib_printf("%b\n", f1);
  mpfr_init2(x, 30);
  mpfr_init2(y, 50);
  mpfr_set_ui(x, 2, GMP_RNDN);
  sollya_lib_evaluate_function_at_point(y,f1, x, NULL);
  sollya_lib_printf("%v (expecting approximate value of exp(2))\n", y);

  sollya_lib_clear_obj(f1);
  mpfr_clear(x);
  mpfr_clear(y);
  sollya_lib_close();
  return 0;
}