Comment #5 on issue 3025 by [email protected]: Piecewise evaluate=False does not work when conditions are boolean
http://code.google.com/p/sympy/issues/detail?id=3025

The primary benefit to evaluate=False is, like Aaron mentioned, delayed evaluation when some conditions may be bools. This is the case in meijerint, where at one point, the algorithm creates a Piecewise function, where even though some conditions are True, it shouldn't be evaluated. The commit 5657506e in the PR, where I have evaluate=False with bools raise an error, highlights this, where the conditions have to be checked and any bools properly dealt with, where this could be avoided with evaluate=False.

I skimmed some of the related issues to the evaluate=False stuff, and while I see where not evaluating can be a pain, the evaluation of a Piecewise function isn't the same as turning log(1) into 0 or Mul(3,4) into 12. Whatever it's called, there should be some way to delay evaluation, so for example, you could hold onto Piecewise((x,x<0),(y,True)) until you have a value for x before you evaluate.

--
You received this message because you are subscribed to the Google Groups 
"sympy-issues" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sympy-issues?hl=en.

Reply via email to