• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

gap-system / gap / 8918 / 2
4%
master: 4%

Build:
DEFAULT BRANCH: master
Ran 14 Jan 2019 10:28PM UTC
Files 542
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

14 Jan 2019 10:01PM UTC coverage: 75.847% (+1.7%) from 74.182%
TEST_SUITES="docomp testtravis" ABI=32 CONFIGFLAGS=""

push

travis-ci

fingolfin
kernel: change coding of integers, strings, eager floats

When coding GAP function bodies, we now have an (optional) plist in the
function body of (immutable) values. Instead of storing the raw data
for an integer or string within the respective expression, we instead
store the integer resp. string in that values plist, and retrieve it
from there when printing or evaluation such expressions (for strings,
evaluation returns a shallow copy of the stored string constant, to
preserve semantics). For eager floats, the values plist is used instead
of `EAGER_FLOAT_LITERAL_CACHE`, which is removed by this patch (thus
resolving part of issue #1993).

These changes have several advantages:
* a function like `f := x -> 12345678901234567890` used to return a new
  integer object with each call; now it always returns the same integer,
  i.e., `IsIdenticalObj(f(1), f(2));` now returns true
* floats benefit from avoiding use of a global "cache" which never is
  emptied (thus these eager float literals now are garbage collected if
  the function referencing them is garbage collected)
* the cache simplifies future optimizations: e.g. we could convert
  expressions like `-2^100` by evaluating them and storing the result
  in the values list; we could also store permutations precomputed, that
  is, replace a `T_PERM_EXPR` and the `T_PERM_CYCLE` expressions nested
  in it by a single "constant expression" that references the immutable
  permutation described by these expressions (at least in the case these
  expressions were explicitly defined, i.e., `(1,2)` would work but not
  `(i,j)`

201773 of 266027 relevant lines covered (75.85%)

2.13 hits per line

Source Files on job 8918.2 (TEST_SUITES="docomp testtravis" ABI=32 CONFIGFLAGS="")
  • Tree
  • List 0
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 1340
  • Travis Job 8918.2
  • 4be10ae1 on github
  • Prev Job for on master (#1.0.6786.2)
  • Next Job for TEST_SUITES="docomp testtravis" ABI=32 CONFIGFLAGS="" on master (#8920.2)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc