Changes between Version 2 and Version 88 of Ticket #21437
 Timestamp:
 07/11/17 08:14:10 (4 years ago)
Legend:
 Unmodified
 Added
 Removed
 Modified

Ticket #21437

Property
Status
changed from
needs_review
toneeds_work

Property
Summary
changed from
Some additions to the optional MeatAxe wrapper
toProper initialisation for the optional MeatAxe library

Property
Dependencies
changed from
to
#23352 #23399 #23400

Property
Milestone
changed from
sage7.4
tosage7.6

Property
Commit
changed from
e861781fcdd710864b01db832a700b13af20218d
tob6c8114f9c1480929a9bac9671d9c7b9fa689402

Property
Status
changed from

Ticket #21437 – Description
v2 v88 1 While working at #18514, I found a couple of things to be fixed in the !MeatAxe wrapper :1 While working at #18514, I found a couple of things to be fixed in the !MeatAxe wrapper. At some point (see comments), it was suggested to separate these things. So, we now have the tickets #23352, #23399 and #23400. What is left: 2 2 3  Things used to crash when reading a matrix from an empty/nonexistent file. Rather, it should return an empty matrix.4  !MeatAxe executable rely on an environment variable declaring where to find multiplication tables. This variable is now defined upon importing `sage.matrix.matrix_gfpn_dense`.5  An important fix: Previously, for pickling a matrix, I was simply dumping the contents of a memory block. By !MeatAxe's design, one row occupies a multiple of `sizeof(long)` in memory, but there may be trailing empty bytes, whose number will generally depend on `sizeof(long)`. Hence, pickling must not dump the whole memory block, as it is machine dependent. Instead, only the parts of memory that are actually used to store data have to be dumped. 6  There are some auxiliary functions that I would like to use in my group cohomology package (related with slicing).3  !MeatAxe executables rely on an environment variable declaring where to find multiplication tables. 4  Each module that links against the !MeatAxe library, which is a dynamic C library, has to define a certain C variable, which serves the same purpose as the aforementioned environment variable. 5 6 I suggest to add here a function that does the initialisation and must be called be each module using !MeatAxe functions. For that purpose, a new module sage.libs.meataxe is created.