Repository navigation
v1.8.0 — necpp_src v2.1.1 engine upgrade (Eigen replaces LAPACK)
Version 1.8.0: necpp_src v2.1.1 engine upgrade
Major engine upgrade — necpp_src v2.1.1 replaces LAPACK with Eigen 3.4.0 for all linear algebra.
- Eigen 3.4.0 replaces LAPACK (bundled in
src/eigen3/, no external dependency) - SIMD-accelerated LU decomposition via
Eigen::PartialPivLU nec_3vectornow backed byEigen::Matrix(internal, no API change)- Fix uninitialized
structure_power_lossproducing NaN efficiency - Fix structure loss reported as zero with current printing disabled
- Fix exception memory leak: throw-by-pointer → throw-by-value (55+ sites)
- Table-driven NEC card parser replaces C-string parser
- 4 monolithic functions refactored into 13 focused methods
- No public API changes — SWIG interface and Python wrapper fully compatible
Bug fixes:
(includes changes from unreleased v1.7.5)
- Convert setup.py to pyproject.toml as primary metadata source (PEP 621)
- Fix #24: VSWR formula guard — add explicit
np.abs()invswr()to prevent negative values - Fix #8: Add missing
handle_necmethod tonecpp/tests/test_multiple_sc_cards.py - Fix #31: Guard numpy import in
PyNEC/setup.pywith try/except for PEP 517 metadata phases - Fix #20/#27: Correct helix argument order in SWIG interface
- Fix #28: Add
sc_cardto PyNEC SWIG interface (continuation card for multiple-patch surfaces) - Fix #22/#28: Add
PyNEC/example/basic_usage.py - Multiple code analysis bug fixes (see CHANGES.md for full list)