static VALUE gp_polinterpolate(VALUE self, VALUE sxa, VALUE sya, VALUE sx) { rb_io_puts(1, &sxa, rb_stdout); rb_io_puts(1, &sya, rb_stdout); rb_io_puts(1, &sx, rb_stdout); GEN xa = geval(strtoGENstr(StringValueCStr(sxa))); GEN ya = geval(strtoGENstr(StringValueCStr(sya))); GEN x = geval(strtoGENstr(StringValueCStr(sx))); char* pol = GENtostr(polint(xa, ya, x, NULL)); return rb_str_new2(pol); }
static VALUE gp_eval(VALUE self, VALUE str) { GEN v = geval(strtoGENstr(StringValueCStr(str))); char* pol = GENtostr(v); return rb_str_new2(pol); }
GEN type0(GEN x) { const char *s = type_name(typ(x)); return strtoGENstr(s); }