Releases: o-murphy/py-ballisticcalc
Releases · o-murphy/py-ballisticcalc
Release list
v2.2.0rc2
What's Changed
- V2.2.0rc1 fixes by @dbookstaber in #218
- Extended documentation. by @dbookstaber in #219
- Bump to v2.2.0rc2
Full Changelog: v2.2.0rc1...v2.2.0rc2
v2.2.0rc1
What's Changed
- trying entry points for engines by @o-murphy in #170
- refactored trajectory_calc.py by @o-murphy in #172
- Py 3.13 support by @o-murphy in #174
- Fixed tests. Implemented RK4 integrator that passes. by @dbookstaber in #175
- Fix of InterfaceConfigDict usages by @serhiy-yevtushenko in #177
- Sci py by @o-murphy in #176
- Sci py by @o-murphy in #180
- rk4 getCalcStep override by @o-murphy in #185
- Sci py2 by @o-murphy in #187
- type annotations update, ruff CI setup by @o-murphy in #188
- scipy engine annotations by @o-murphy in #189
- scipy-config-fix by @o-murphy in #190
- cythonized engines refactoring by @o-murphy in #191
- Inline vector operations, cython refactoring by @o-murphy in #195
- Fixes to existing tests. Added new tests for zeroing. by @dbookstaber in #194
- Test and logger cleanup by @dbookstaber in #196
- Zeroing enhancements by @dbookstaber in #192
- Zeroing refinement and Cython implementation by @dbookstaber in #201
- Fixed vector.md by @dbookstaber in #208
- v2.2.0b7 by @dbookstaber in #205
- v2.2.0rc1 by @dbookstaber in #213
- V2.2.0rc1 by @dbookstaber in #214
- Cleanup by @dbookstaber in #215
- restructured docs, prettifying by @o-murphy in #216
- readme update by @o-murphy in #217
Full Changelog: v2.1.0...v2.2.0rc1
v2.2.0b7
What's Changed
More documentation, more tests, more performance!
- Fixes for #199, #202, #203, #209, #211, and #35.
- Deprecated
helpers.py::must_fire()by addingraise_range_error: bool=Trueargument toCalculator.fire(). - Deprecated
extra_dataflag (see #209). - Renamed
PreferredUnits.defaults()to.restore_defaults() - Renamed
density_factorto standard termdensity_ratio. - Replaced
EngineProtocol.trajectory() -> List[Trajectory]with.integrate() -> HitResult, removing an unnecessary internal step. HitResultenhancements:- Stores
ShotPropsso one can see the value of every variable relevant to determining the trajectory it generated. - Built out
HitResult.get_at()to interpolate forTrajectoryDataat any attribute = any value. - Added
Optional[RangeError]toHitResult. - Implemented new
dense_outputflag to storeBaseTrajDatafrom each step.
- Stores
- Added Piecewise Cubic Hermite Interpolation (PCHIP) to
BaseTrajDataandTrajectoryData. (Engines now always take at least 3 steps, if possible, to support this interpolation.) - Rewrote
TrajectoryDataFilterto interpolate for all requested points, and to generate multipleTrajectoryDatapoints in a single call when required. (TrajectoryDataFilternow accumulates theTrajectoryDatarecords instead of._integrate().) - Rewrote chunks of Cython (
py_ballisticcalc.exts) to:- Implement the
BaseIntegrationEnginemethods required for test_zeros.py. - Call the updated
TrajectoryDataFilterso that they pass tests related to that. - Add a
CBaseTrajSeq(in base_traj_seq.pyx) that stores steps so efficiently that the Cython engines can always keep all steps.
- Implement the
- Added Cython-specific unit tests.
- Removed dev dependencies from standard install.
- Added documentation, standardized docstrings, and type annotations throughout.
- Updated ZeroStudy.ipynb, BenchmarkEngines.ipynb, and BenchmarkVacuumTraj.ipynb.
Performance
With these changes, now:
- RK4 engines run with larger
DEFAULT_STEPfor faster results. - All engines now support
.find_max_range()for any angle and pass newtest_zeros.pytests.
Full Changelog: v2.2.0b6...v2.2.0b7
v2.2.0b6
Critical changes
- RK4 engine fixed and set as default.
BenchmarkEngines.mdanalysis showing:- For pure Python implementations,
rk4_engineshould be preferred overeuler_engineandverlet_engine. scipy_engineoffers even better performance.cythonized_rk4_engineis fastest.
- For pure Python implementations,
- Standardized slant terminology, summarized in new
README. - Zeroing/fire-solution performance study in
examples\ZeroStudy.ipynb
What else has changed
- cythonized engines refactoring by @o-murphy in #191
- Inline vector operations, cython refactoring by @o-murphy in #195
- Fixes to existing tests. Added new tests for zeroing. by @dbookstaber in #194
- Test and logger cleanup by @dbookstaber in #196
- Zeroing enhancements by @dbookstaber in #192
- Zeroing refinement and Cython implementation by @dbookstaber in #201
- Fixed mkdocs build by @dbookstaber in #208
Full Changelog: v2.2.0b5...v2.2.0b6
v2.2.0b5
v2.2.0b4
v2.2.0b3.post1
v2.2.0b3
v2.2.0b2
v2.2.0b1
What's Changed
- Fixed tests. Implemented RK4 integrator that passes. by @dbookstaber in #175
- Fix of InterfaceConfigDict usages by @serhiy-yevtushenko in #177
Full Changelog: v2.1.1b3...v2.2.0b1