if (i == assigned_symbol_table.end())
$$ = $1;
else
- $$ = i->second.eval();
+ $$ = i->second;
}
| '\'' T_SYMBOL '\'' {$$ = $2;}
| T_LITERAL {$$ = $1;}
| '[' matrix ']' {$$ = lst_to_matrix(ex_to<lst>($2));}
;
-exprseq : exp {$$ = exprseq($1);}
+exprseq : exp {$$ = exprseq{$1};}
| exprseq ',' exp {exprseq es(ex_to<exprseq>($1)); $$ = es.append($3);}
;
| list {$$ = $1;}
;
-list : exp {$$ = lst($1);}
+list : exp {$$ = lst{$1};}
| list ',' exp {lst l(ex_to<lst>($1)); $$ = l.append($3);}
;
-matrix : '[' row ']' {$$ = lst($2);}
+matrix : '[' row ']' {$$ = lst{$2};}
| matrix ',' '[' row ']' {lst l(ex_to<lst>($1)); $$ = l.append($4);}
;
-row : exp {$$ = lst($1);}
+row : exp {$$ = lst{$1};}
| row ',' exp {lst l(ex_to<lst>($1)); $$ = l.append($3);}
;
static ex f_convert_H_to_Li(const exprseq &e) {return convert_H_to_Li(e[0], e[1]);}
static ex f_degree(const exprseq &e) {return e[0].degree(e[1]);}
static ex f_denom(const exprseq &e) {return e[0].denom();}
-static ex f_eval1(const exprseq &e) {return e[0].eval();}
static ex f_evalf1(const exprseq &e) {return e[0].evalf();}
static ex f_evalm(const exprseq &e) {return e[0].evalm();}
static ex f_eval_integ(const exprseq &e) {return e[0].eval_integ();}
return fail();
}
-static ex f_eval2(const exprseq &e)
-{
- CHECK_ARG(1, numeric, eval);
- return e[0].eval(ex_to<numeric>(e[1]).to_int());
-}
-
static ex f_evalf2(const exprseq &e)
{
CHECK_ARG(1, numeric, evalf);
{"diff", f_diff2, 2},
{"diff", f_diff3, 3},
{"divide", f_divide, 2},
- {"eval", f_eval1, 1},
- {"eval", f_eval2, 2},
{"evalf", f_evalf1, 1},
{"evalf", f_evalf2, 2},
{"evalm", f_evalm, 1},
static ex f_ginac_function(const exprseq &es, int serial)
{
- return GiNaC::function(serial, es).eval(1);
+ return GiNaC::function(serial, es);
}
// All registered GiNaC functions