#19152: {Real,Complex}Ball: Miscellaneous fixes and improvements
-------------------------------------+-------------------------------------
       Reporter:  mmezzarobba        |        Owner:
           Type:  enhancement        |       Status:  needs_work
       Priority:  major              |    Milestone:  sage-6.10
      Component:  numerical          |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Marc Mezzarobba    |    Reviewers:  Clemens Heuberger
Report Upstream:  N/A                |  Work issues:
         Branch:  u/cheuberg/19152   |       Commit:
  -arb-misc                          |  16a04a07c63349d3792ed8c538a7d60e5adfde5e
   Dependencies:  #19063             |     Stopgaps:
-------------------------------------+-------------------------------------
Changes (by cheuberg):

 * status:  needs_review => needs_work
 * commit:  c802d70f17a70aff9f5600ae2d3a0f035eeafdd3 =>
     16a04a07c63349d3792ed8c538a7d60e5adfde5e
 * reviewer:   => Clemens Heuberger


Comment:

 I read the modifications and have the following comments.
 1. `arf.pxd`: You define `arf_rnd_t` as an enum and rely on the fact that
 the numeric values of `ARF_RND_DOWN` etc. will never change in the C
 header files. However, there, the values are macros, so I do not know
 whether we can safely assume the values never to change.
 2. `polynomial_element.pyx`:
         - I am very surprised to see this change here in an arb ticket.
         - The documentation of `is_gen` states: "Important - this function
 doesn’t return True if self equals the generator; it returns True if self
 is the generator." I.e., the outcome differs from the old behaviour.
 3. `power_series_ring_element.pyx`: I am surprised to see this change here
 in an arb ticket, but I guess that it will not do any harm.
 4. `RealBall.__hash__`: I do not like the fact that the fractional part of
 the midpoint is ignored completely:
 {{{
 sage: hash(RBF(3/4))
 1048577
 sage: hash(RBF(5/8))
 1048577
 sage: hash(RBF(7/8))
 1048577
 }}}
 5. `RealBall.upper`, `RealBall.lower`, `RealBall.endpoints`: missing
 INPUT: and OUTPUT: sections, document and test parameter `rnd`
 6. `RealBall.add_error`: missing INPUT: and OUTPUT: sections
 7. `RealBall.is_nonzero`: The note section is hard to understand because
 `__nonzero__` and `is_zero` should do very different things.
 8. `RealBall.__lshift__`, `RealBall.__rshift__`: why is the first
 parameter called `val` instead of `self` and how can it happen that it is
 not a `RealBall` if this is a method of `RealBall`?
 9. `ComplexBall._is_atomic`: `self.is_real() or self.imag().is_zero()`
 seems to be redundant. Do you want to say `self.real().is_zero()` instead?
 10. `ComplexBall.add_error`: missing INPUT: and OUTPUT: sections
 11. `ComplexBall.is_nonzero`: The note section is hard to understand
 because `__nonzero__` and `is_zero` should do very different things.
 12. `ComplexBall.__lshift__`, `ComplexBall.__rshift__`: why is the first
 parameter called `val` instead of `self` and how can it happen that it is
 not a `ComplexBall` if this is a method of `ComplexBall`?
 ----
 New commits:
 
||[http://git.sagemath.org/sage.git/commit/?id=a72529984e918bbf75f61b867cb17183dd2c986d
 a725299]||{{{Trac #19152: fix error in module description}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=ada2759b4243090a58253f2b85d01ea45071f5ca
 ada2759]||{{{Trac #19152: Fix hyperlinks in documentation}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=32cc12a881976199923172a16581625e7aac04c9
 32cc12a]||{{{Trac #19152: add SEEALSO blocks}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=617b9a7f9653ae75107a806d3956cc17e733f8d1
 617b9a7]||{{{Trac #19152: fix typo and spacing}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=59ab3cbe7e8c59742d5af8ccbd64d674bfb4f43c
 59ab3cb]||{{{Trac #19152: fix _repr_option}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=16a04a07c63349d3792ed8c538a7d60e5adfde5e
 16a04a0]||{{{Trac #19152: fix docstring}}}||

--
Ticket URL: <http://trac.sagemath.org/ticket/19152#comment:12>
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.

Reply via email to