#5093: [with patch, needs review] rewrite fast_float to support more datatypes
------------------------------+---------------------------------------------
Reporter: cwitty | Owner: cwitty
Type: enhancement | Status: assigned
Priority: major | Milestone: sage-3.4.2
Component: basic arithmetic | Keywords:
------------------------------+---------------------------------------------
Comment(by cwitty):
OK, this is due to a missing feature in fast_callable. I intended to fix
things so that domain=... would not affect integral exponents (and
actually documented this intention as fact), but didn't actually implement
it.
So the failure is caused from:
{{{
sage: RIF(-1)^RIF(1)
[.. NaN ..]
}}}
which happens because RIF exponentiation for an exponent that is not an
Integer is based on .log()/.exp(), and .log() of a negative RIF is NaN.
The two easy workarounds are:
1) don't use domain=... (it will probably only slow things down for you
anyway; it's useful if there is a specialized interpreter for your type,
but RIF doesn't have one yet)
2) use sincospart2.univariate_polynomial() instead; fast_callable for
univariate polynomials uses Horner's rule, so it doesn't use
exponentiation at all. This will be faster, too.
(BTW, why do you have a multivariate polynomial ring in one variable?)
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/5093#comment:16>
Sage <http://sagemath.org/>
Sage - Open Source Mathematical Software: Building the Car Instead of
Reinventing the Wheel
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---