The function binomial has an unusual definition for the verb function:
(defmfun $binomial (x y)
(let (($numer t) ($float t))
(simplify (list '(%binomial) x y))))
In addition to other simplifying functions the flags $numer and $float are set to T. This causes a different behavior.
The verb function is called when the evflag NOUNS is used. This is the behavior of a standard simplifying function. The evflag NOUNS does not force evaluation:
(%i2) sin(1/2);
(%o2) sin(1/2)
(%i3) sin(1/2),nouns;
(%o3) sin(1/2)
(%i4) sin(1/2),float;
(%o4) 0.479425538604203
The binomial functions evaluates numerically with the evflag NOUNS:
(%i5) binomial(1/2,1/3);
(%o5) binomial(1/2,1/3)
(%i6) binomial(1/2,1/3),nouns;
(%o6) 1.06976119171899
I think there is no reason to have a different definition for the binomial function.
Dieter Kaiser
Dieter Kaiser
2010-09-24
Dieter Kaiser
2010-09-24
Fixed in csimp2.lisp revision 1.44.
Closing this bug report as fixed.
Dieter Kaiser