-
Notifications
You must be signed in to change notification settings - Fork 162
HPC GAP library unification TODO
This page collects information about the difference between the files in hpcgap/lib
compared to their lib
counterparts.
The changes can be grouped into a few categories, depending on the cause of the diff.
The following files contain diffs due to the use of some kind of "caching" logic. This typically needs to be handled differently in HPC-GAP. Our plan is to address this by introducing a generic "caching" system which can be used by the code, and which then gets different implementations in GAP versus HPC-GAP (see also the short not on this under Unifying GAP4 and HPC GAP).
Note that I lump some quite different things together here: Both "transient" caches for things we could potentially throw away if, say, memory was getting tight; and on the other hand data structures that record things that must stay around indefinitely (or perhaps until all objects referencing certain objects or information are gone). Example for the former: Bernoulli2
stores Bernoulli that were already computed.. Example for the latter: CATEGORIES_COLLECTIONS
, which stores a map from filters to its "collections category".
- algsc.gi:
QuaternionAlgebraData
- basis.{gd,gi}:
NiceBasisFiltersInfo
- coll.{gd,gi}:
CATEGORIES_COLLECTIONS
,SUBSET_MAINTAINED_INFO
,ISOMORPHISM_MAINTAINED_INFO
,FACTOR_MAINTAINED_INFO
- combinat.gi:
Bernoulli2
- ffe.g:
TYPE_FFE
,TYPE_FFE0
- ffe.{gd,gi}:
GALOIS_FIELDS
,FAMS_FFE_LARGE
,GFCACHE
- filter.g:
- fldabnum.{gd,gi}:
CYCLOTOMIC_FIELDS
,ABELIAN_NUMBER_FIELDS
, ... - integer.gi:
Primes2
,ProbablePrimes2
- mgmfree.gi:
SHIFTED_CATALAN
- numtheor.gi
PrimeResiduesCache
(actually, this one is currently not being written to, but it clearly fits into the same pattern as e.g.SHIFTED_CATALAN
) - pcgsperm.gi:
CYCLICACHE
- polyrat.gi:
APPROXROOTS
- primality.gi:
PrimesProofs
,Primes2
,ProbablePrimes2
- upolyirr.gi:
IRR_POLS_OVER_GF_CACHE
- zmodnz.gi:
Z_MOD_NZ
- ...
The following files contain diffs because their GAP versions use ConvertToVectorRep
or ConvertToMatrixRep
or something related. This needs to be changed for HPC-GAP. Here, the plan is to also change this on the GAP side, possibly as byproduct of the "MatrixObj" project. In the meantime, it would already help if e.g. CopyToVectorRep
was also available in GAP (and if it was less annoying to use, i.e. if it did not force the callers to restrict the input value q
manually). See also PR #141.
- algfld.gi
- claspcgs.gi
- grpfp.gi
- grppccom.gi
- grppcext.gi
- grppcint.gi
- grppcnrm.gi
- meatauto.gi
- meataxe.gi
- modulrow.gi
- onecohom.gi
- oprt.gi -- here, having an
ImmutableVector
pendant toImmutableMatrix
would help - polyfinf.gi -- use
ImmutableVector
, PR #1409 - vec8bit.gi
- vecmat.gi
- vspcrow.gi -- use
ImmutableVector
- ...
- cmdleditx.g
- galois.gi: accesses
TRANSSHAPEFREQS
and other parts of the transgrp library/package, and useatomic
for that - helpbase.gi, helpdef.gi: use custom
HELP_REGION
-- this also requires changes to GAPDoc. Can we hide this under some kind of abstraction layer? - info.gi: uses
InfoData
a lot - vecmat.gi
- ...