Changes between Version 7 and Version 13 of Ticket #30549


Ignore:
Timestamp:
Sep 18, 2020, 4:23:49 PM (2 years ago)
Author:
gh-kliem
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #30549

    • Property Dependencies changed from #30528, #30529 to #30528, #30529, #30571, #30599
  • Ticket #30549 – Description

    v7 v13  
    11This goal of this ticket is to use `data_structures/biteset.pxi` for the bitset stuff in combinatorial polyhedron and cleanly seperate algorithm and data structure.
    22
    3 This ticket should eventually be resolved in many smaller tickets.
     3This ticket is mostly resolved in smaller tickets:
     4- #30596: Outsource functions in bitset.pxi that can be optimized by intrinsics
     5- #30597: Define a sparse bitset structure
     6- #30601: Move bitset.pxi to bitset_base.pxd
     7- #30598: Define a new data structure for a combinatorial face
     8- #30599: Define a new data structure for a list of combinatorial faces   -
    49
    510Changes are:
    611
    7121. Move functions optimizable by intrinsics to a seperate file (`       src/sage/data_structures/bitset_intrinsics.h`). (See #27103 and #27122.)
    8 
    9132. Allow most functions in `bitset.pxi` for fuzed types [https://cython.readthedocs.io/en/latest/src/userguide/fusedtypes.html, fuzed types], such that an (yet to be enriched) bitset data structure specialized for combinatorial faces can use it.
    10 
    11 3. Define a data structure `face_s` that gathers properties of a face and corresponding functions.
    12 
    13 4. Define a data structure `face_list_s` that gathers properties of a list of faces and corresponding functions.
    14 
    15 5. The two flavors of the algorithm (simple and standard) are set up as templates by abusing fuzed types. This makes the code much easier to read. Only the changes will be seperated in the code while the compiler compiles two seperate branches for both flavors.
     143. Move `bitset.pxi` to `bitset_base.pxd`.
     154. Define a data structure `face_s` that gathers properties of a face and corresponding functions.
     165. Define a data structure `face_list_s` that gathers properties of a list of faces and corresponding functions.
     176. The two flavors of the algorithm (simple and standard) are set up as templates by abusing fuzed types. This makes the code much easier to read. Only the changes will be seperated in the code while the compiler compiles two seperate branches for both flavors.
    1618
    1719The features of those changes are mainly: