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

CodeReclaimers / neat-python / 24268291745
87%

Build:
DEFAULT BRANCH: master
Ran 10 Apr 2026 11:10PM UTC
Jobs 1
Files 30
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

10 Apr 2026 11:07PM UTC coverage: 86.868% (+0.007%) from 86.861%
24268291745

push

github

CodeReclaimers
Document activation/aggregation behavior found by adversarial review

Add a scaling, clamping, and special-case reference table to
docs/activation.rst covering the 9 activation functions that deviate
from their canonical textbook forms. Previously the only prose in the
file was the introductory sentence "some of these functions are scaled
differently from the canonical versions" — with no indication of which
functions, what scaling factors, or what clamping ranges are used. The
new table documents:

- sigmoid, tanh, sin, softplus input scaling (5x, 2.5x, 5x, and 5x in
  with 0.2x out, respectively) and ±60 input clamping
- gauss ±3.4 input clamp and -5 exponent coefficient
- exp ±60 input clamp
- log 1e-7 input floor (so non-positive inputs return log(1e-7) rather
  than raise ValueError)
- inv ArithmeticError -> 0.0 fallback on division by zero or overflow
- lelu 0.005 leak coefficient explicitly noted as non-standard, with
  a reference to the conventional 0.01 used by PyTorch nn.LeakyReLU
- The 9 remaining activations (relu, elu, selu, identity, clamped,
  abs, hat, square, cube) listed as canonical with no scaling

Add empty-input behavior notes to all 7 aggregation function docs in
docs/module_summaries.rst. Previously these were documented as pure
math formulas (\max(x), \min(x), etc.) with no mention of what the
functions return for an empty input iterable. max, min, maxabs, median,
and mean all have explicit "if x else 0.0" guards in the source; sum
inherits Python's sum([]) = 0 behavior; product inherits reduce's 1.0
initializer. These are deliberate and address a real edge case
(orphaned nodes with no incoming connections), but the behavior was
invisible to anyone reading the docs.

Rewrite the validate_aggregation prose in docs/module_summaries.rst
from the inaccurate "takes at least one argument" to the accurate
"callable with exactly one positional argument", and document the
builtin early-return fallback that mirrors validate_activation'... (continued)

2183 of 2513 relevant lines covered (86.87%)

0.87 hits per line

Coverage Regressions

Lines Coverage ∆ File
1
98.99
-1.01% neat/activations.py
Jobs
ID Job ID Ran Files Coverage
1 24268291745.1 10 Apr 2026 11:10PM UTC 30
86.87
GitHub Action Run
Source Files on build 24268291745
  • Tree
  • List 30
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 423118e8 on github
  • Prev Build on master (#24263143819)
  • Next Build on master (#24268607044)
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