#5572: fast_callable improvements (followup for #5093)
--------------------------------+-------------------------------------------
   Reporter:  robertwb          |          Owner:  cwitty     
       Type:  defect            |         Status:  needs_work 
   Priority:  major             |      Milestone:  sage-4.8   
  Component:  basic arithmetic  |       Keywords:             
Work_issues:                    |       Upstream:  N/A        
   Reviewer:                    |         Author:  Jason Grout
     Merged:                    |   Dependencies:             
--------------------------------+-------------------------------------------
Description changed by jason:

Old description:

> The code at #5093 is very good and ready to go in, but there are several
> improvements that have been suggested and agreed work on at a later date.
> They are posted here so we can merge and close the other ticket.
>
> Specifically, this ticket addresses these issues:
>
>   * fast_callable on list,tuple,vector,matrix arguments
>
>   * fast_callable on constant arguments
>
>   * fast_callable of a zero multivariate polynomial returns a zero of the
> base ring, without paying attention to the types of the arguments
>
>   * in general replaces calls to fast_float with calls to fast_callable.
>
>   * Carries out the deprecation in #5413 (removes the functionality
> deprecated there)
>
> Because of some of the far-reaching changes, this should probably not be
> merged in a point-point release.
>
> What is not fixed:
>
>   * Robert's suggestion: an option that uses a fast domain, if it's
> there, but ignores the domain parameter if it's not (I don't mind the
> idea, and the implementation is easy; what should the syntax be? Part of
> my problem picking a syntax is that I don't want to promise that a
> specialized interpreter is always faster than the Python-object
> interpreter, so I don't particularly want to use the word "fast" in any
> option names.)
>

>

>
> The work on this ticket:
>
>   * Makes #8450 easy, probably
>   * Makes #7512 invalid, probably
>
> See also
>   * #10087
>   * #7165

New description:

 The code at #5093 is very good and ready to go in, but there are several
 improvements that have been suggested and agreed work on at a later date.
 They are posted here so we can merge and close the other ticket.

 Specifically, this ticket addresses these issues:

   * fast_callable on list,tuple,vector,matrix arguments

   * fast_callable on constant arguments

   * fast_callable of a zero multivariate polynomial returns a zero of the
 base ring, without paying attention to the types of the arguments

   * in general replaces calls to fast_float with calls to fast_callable.

   * Carries out the deprecation in #5413 (removes the functionality
 deprecated there)

 Because of some of the far-reaching changes, this should probably not be
 merged in a point-point release.

 What is not fixed:

   * Robert's suggestion: an option that uses a fast domain, if it's there,
 but ignores the domain parameter if it's not (I don't mind the idea, and
 the implementation is easy; what should the syntax be? Part of my problem
 picking a syntax is that I don't want to promise that a specialized
 interpreter is always faster than the Python-object interpreter, so I
 don't particularly want to use the word "fast" in any option names.)





 The work on this ticket:

   * Makes #8450 easy, probably
   * Makes #7512 invalid, probably

 See also
   * #10087
   * #7165
   * #11766 -- rewrite some of fast_callable to have its own recursion
 stack

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/5572#comment:23>
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 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/sage-trac?hl=en.

Reply via email to