#19464: ExpressionTreeWalker fails on some functions
-----------------------------+-------------------------
       Reporter:  rws        |        Owner:
           Type:  defect     |       Status:  new
       Priority:  major      |    Milestone:  sage-6.10
      Component:  symbolics  |   Resolution:
       Keywords:             |    Merged in:
        Authors:             |    Reviewers:
Report Upstream:  N/A        |  Work issues:
         Branch:             |       Commit:
   Dependencies:             |     Stopgaps:
-----------------------------+-------------------------
Description changed by rws:

Old description:

> In some tickets (eg #15024, #16813) this doctest from
> `symbolic/expression_conversions.py`
> {{{
>             sage: foo = random_expr(20, nvars=2)
>             sage: foo
>             sage: s = ExpressionTreeWalker(foo)
>             sage: bool(s() == foo)
> }}}
> fails because the set of functions returned by `random_expr` contains one
> of `floor`/`ceil` which currently don't accept the `hold` keyword:
> {{{
> sage: floor(x,hold=True)
> ---------------------------------------------------------------------------
> TypeError                                 Traceback (most recent call
> last)
> <ipython-input-8-fc5809e0a430> in <module>()
> ----> 1 floor(x,hold=True)
>
> TypeError: __call__() got an unexpected keyword argument 'hold'
> }}}
> This would affect any use of the walker or its subclasses on `floor`
> expressions.

New description:

 In some tickets (eg #15024, #16813) this doctest from
 `symbolic/expression_conversions.py`
 {{{
             sage: foo = random_expr(20, nvars=2)
             sage: foo
             sage: s = ExpressionTreeWalker(foo)
             sage: bool(s() == foo)
 }}}
 fails because the set of functions returned by `random_expr` contains one
 of `floor`/`ceil` which currently don't accept the `hold` keyword:
 {{{
 sage: floor(x,hold=True)
 ---------------------------------------------------------------------------
 TypeError                                 Traceback (most recent call
 last)
 <ipython-input-8-fc5809e0a430> in <module>()
 ----> 1 floor(x,hold=True)

 TypeError: __call__() got an unexpected keyword argument 'hold'
 }}}
 This would affect any use of the walker or its subclasses on `floor`
 expressions.

 The reason is that both functions handle their calls themselves (instead
 of relying on superclass functionality) because at the time it was deemed
 necessary to provide a keyword named `maximum_bits`.

--

--
Ticket URL: <http://trac.sagemath.org/ticket/19464#comment:3>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to