#16374: better two_squares, three_squares, four_squares for small input
-------------------------------------+-------------------------------------
Reporter: vdelecroix | Owner:
Type: enhancement | Status: needs_work
Priority: major | Milestone: sage-6.3
Component: number theory | Resolution:
Keywords: | Merged in:
Authors: Vincent Delecroix | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
u/vdelecroix/16374 | a2b31ca5ec86eaed275a854e41cb5fd7a3ce5c95
Dependencies: | Stopgaps:
-------------------------------------+-------------------------------------
Comment (by leif):
Replying to [comment:15 jdemeyer]:
> Replying to [comment:14 vdelecroix]:
> > I believe it is in IEEE-754, but I am not sure that all compilers
follow IEEE-754. You think it is safe to remove this `.5` ?
>
> It is certainly not a compiler issue, but a `libm`/hardware issue. I
would expect IEEE-754 and would remove the `+ 0.5`.
Yes. Integers up to 2^53^-1 can be represented ''exactly'' in a `double`,
at least on the plat[e]forms we support.
I like the type `instead int` btw. (Google would have asked: ''"Did you
mean `instant int`?"'', or probably ''"`insteady int`"''?)
Regarding that, I'd write versions for / using integers of known,
platform-independent width, that is, use `uint8_t`, `uint16_t`, `uint32_t`
etc., with a wrapper function that delegates to the appropriate function,
or use if-then-elif-else such that the compiler is aware of the exact
range of numbers. (Separate functions could more easily be checked for
overflow conditions as well.)
--
Ticket URL: <http://trac.sagemath.org/ticket/16374#comment:16>
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 http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.