Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
740ddc3
Fix --fit crash and duplicate column key
sergirovira Sep 22, 2026
2254620
Add --seed and expose the missing distribution flags
sergirovira Sep 22, 2026
4c7d88a
Bound the correction loop and fix three latent errors
sergirovira Sep 22, 2026
4df7e79
Update dependencies, docs and command files
sergirovira Sep 22, 2026
f75054f
Add regenerate_tables.sh
sergirovira Sep 22, 2026
96fc195
Add tables/README.md
sergirovira Sep 22, 2026
767e898
Report the smaller modulus in --param logq
sergirovira Sep 22, 2026
bfe3f1d
Replace the stale table CSVs
sergirovira Sep 22, 2026
1ee3129
Regenerate Tables 2-11, 13, 14, 15 and 17
sergirovira Sep 22, 2026
82a501e
Regenerate Tables 12, 16 and 20
sergirovira Sep 22, 2026
7c593f6
Derive RNG seeds per solver call
sergirovira Sep 22, 2026
2d2c72d
Fix estimator path, --param est and help text
sergirovira Sep 22, 2026
5431164
Add test suite and CI workflow
sergirovira Sep 22, 2026
7de1cab
Select estimator verdicts by candidate, not by value
sergirovira Sep 23, 2026
d8c09bd
Scope warnings-as-errors and reject degenerate std_e roots
sergirovira Sep 23, 2026
b19bc88
Add build_row() and convert two functions
sergirovira Sep 23, 2026
205e30f
Convert the remaining row literals to build_row()
sergirovira Sep 23, 2026
f11c36a
Add Table 18
sergirovira Sep 23, 2026
8306390
Update the docs to match the tool
sergirovira Sep 24, 2026
1be0e1c
Add overview, limitations and options pages
sergirovira Sep 24, 2026
28c2553
Add packaging and rename src to fastparameterselection
sergirovira Sep 24, 2026
b2a002c
Rewrite the README
sergirovira Sep 24, 2026
9135375
Align the result table and move the legend below it
sergirovira Oct 8, 2026
9d39a30
Correct the installation instructions and the help text
sergirovira Oct 8, 2026
e8f6d39
Use the fastparams command in the documentation
sergirovira Oct 8, 2026
657aaef
Fix the Docker image
sergirovira Oct 8, 2026
ca1da42
Fix the SageMath CI job
sergirovira Oct 8, 2026
36ce978
fixed ntru overstretched check
ElenaKirshanova Oct 9, 2026
c7c736b
Final pass
sergirovira Oct 9, 2026
46d9736
Mark the Equation (35) refits as platform sensitive
sergirovira Oct 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: tests

on:
push:
pull_request:

jobs:
# Formulas, numerical solvers and the per-call generators. These import
# nothing that needs SageMath, so they run on a plain Python and are the
# fast guard against a formula changing without the paper changing.
formulas:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install numpy scipy lmfit pytest
- name: Run the tests that do not need SageMath
run: python -m pytest -v
# Tests marked needs_sage skip themselves; see tests/conftest.py.

# The command line and the refitting of fastparameterselection/const.py both
# go through fastparameterselection/nd.py, which imports sage.all.
#
# Sage runs through `docker run` rather than a job-level `container:`. The
# image runs as the unprivileged `sage` user while the runner owns its
# workspace as root, so actions/checkout fails inside it with EACCES on
# /__w/_temp. Running the container as root is not a way out either: Sage
# ignores `--python3` as root and drops into its REPL. Checking out on the
# host and mounting the tree read-only avoids both.
full:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run the whole suite inside SageMath
run: |
docker run --rm -v "$PWD":/src:ro sagemath/sagemath:10.3 bash -lc '
cp -r /src /tmp/repo && cd /tmp/repo &&
sage --pip install --quiet lmfit pytest &&
sage --python3 -m pytest -v
'
# The copy keeps writes (output.csv) inside the container, where the
# sage user owns the tree.
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -169,3 +169,13 @@ cython_debug/

# PyPI configuration file
.pypirc

# Tool output written into the repo root by every run
output.csv
compiled_output.csv
debug_log.txt

# packaging
build/
dist/
*.egg-info/
13 changes: 1 addition & 12 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -1,27 +1,16 @@
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the OS, Python version, and other tools you might need
build:
os: ubuntu-24.04
tools:
python: "3.13"

# Build documentation in the "docs/" directory with Sphinx
sphinx:
configuration: docs/conf.py
configuration: docs/conf.py

python:
install:
- requirements: docs/requirements.txt

# Optionally, but recommended,
# declare the Python requirements required to build your documentation
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
python:
install:
- requirements: docs/requirements.txt

Loading
Loading