#16453: Cythonize quiver paths
-------------------------------------+-------------------------------------
       Reporter:  SimonKing          |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.4
      Component:  algebra            |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Simon King         |    Reviewers:
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  public/ticket/16453                |  e03b66156f5b5212bfeffc937887ae5c29a1a6ca
   Dependencies:  #15820             |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by SimonKing):

 Replying to [comment:79 jdemeyer]:
 > And since `_start` and `_end` are C ints, you might as well replace
 > {{{
 > cdef mp_limb_t h = (hash(self._start)<<4)^hash(self._end)
 > }}}
 > by something like
 > {{{
 > cdef Py_hash_t h = self._start*(<Py_hash_t>1073807360) + self._end
 > }}}
 > (note that hashes should use `Py_hash_t` as type)

 Never heard of `Py_hash_t` before---I thought the hash is just a `long`. I
 guess you are right that the multiplication with a large number yields a
 better hash (by mixing the data) than a simple shift.

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