PyNEC 2.3.2__tar.gz → 2.3.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pynec-2.3.2 → pynec-2.3.4}/PKG-INFO +1 -1
- {pynec-2.3.2 → pynec-2.3.4}/PyNEC.egg-info/PKG-INFO +1 -1
- {pynec-2.3.2 → pynec-2.3.4}/PyNEC.py +4 -4
- {pynec-2.3.2 → pynec-2.3.4}/PyNEC_wrap.cxx +214 -6
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/c_geometry.cpp +23 -52
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/c_geometry_tb.cpp +61 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/libNEC.cpp +7 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/libnecpp.h +9 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/matrix_algebra.cpp +10 -2
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec_context.cpp +11 -8
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec_context.h +44 -7
- {pynec-2.3.2 → pynec-2.3.4}/pyproject.toml +1 -1
- {pynec-2.3.2 → pynec-2.3.4}/setup.py +1 -1
- {pynec-2.3.2 → pynec-2.3.4}/LICENCE.txt +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/MANIFEST.in +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/PyNEC.egg-info/SOURCES.txt +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/PyNEC.egg-info/dependency_links.txt +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/PyNEC.egg-info/requires.txt +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/PyNEC.egg-info/top_level.txt +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/README.md +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/example/antenna_util.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/example/basic_usage.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/example/context_clean.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/example/dipole.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/example/impedance_plot.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/example/logperiodic_opt.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/example/monopole.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/example/monopole_realistic_ground_plane.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/example/optimized.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/example/radiation_pattern.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/example/test_ai.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/example/test_charge_densities.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/example/test_ne_nh.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/example/test_nrp.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/example/test_rp.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/example/test_rp2.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/example/test_se.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/example/test_structure_currents.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/example/test_surface_patch_currents.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/AntennaInput.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/BaseInput.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/CurrentInput.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/PowerBudget.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/RadiationInput.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/XGetopt.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/XGetopt.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/c_evlcom.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/c_evlcom.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/c_evlcom_tb.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/c_geometry.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/c_ggrid.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/c_ggrid.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/c_plot_card.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/c_plot_card.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/common.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/config.h.in +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/AccelerateSupport +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/Cholesky +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/CholmodSupport +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/Core +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/Dense +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/Eigen +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/Eigenvalues +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/Geometry +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/Householder +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/IterativeLinearSolvers +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/Jacobi +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/KLUSupport +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/LU +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/MetisSupport +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/OrderingMethods +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/PaStiXSupport +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/PardisoSupport +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/QR +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/QtAlignedMalloc +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/SPQRSupport +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/SVD +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/Sparse +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/SparseCholesky +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/SparseCore +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/SparseLU +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/SparseQR +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/StdDeque +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/StdList +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/StdVector +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/SuperLUSupport +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/ThreadPool +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/UmfPackSupport +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/Version +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/AccelerateSupport/AccelerateSupport.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/AccelerateSupport/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Cholesky/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Cholesky/LDLT.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Cholesky/LLT.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/CholmodSupport/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/ArithmeticSequence.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Array.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/ArrayBase.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/ArrayWrapper.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Assign.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/AssignEvaluator.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Assign_MKL.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/BandMatrix.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Block.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/CommaInitializer.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/ConditionEstimator.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/CoreEvaluators.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/CoreIterators.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/CwiseBinaryOp.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/CwiseNullaryOp.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/CwiseTernaryOp.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/CwiseUnaryOp.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/CwiseUnaryView.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/DenseBase.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/DenseCoeffsBase.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/DenseStorage.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/DeviceWrapper.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Diagonal.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/DiagonalMatrix.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/DiagonalProduct.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Dot.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/EigenBase.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Fill.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/FindCoeff.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/ForceAlignedAccess.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Fuzzy.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/GeneralProduct.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/GenericPacketMath.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/GlobalFunctions.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/IO.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/IndexedView.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/InnerProduct.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Inverse.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Map.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/MapBase.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/MathFunctions.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/MathFunctionsImpl.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Matrix.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/MatrixBase.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/NestByValue.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/NoAlias.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/NumTraits.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/PartialReduxEvaluator.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/PermutationMatrix.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/PlainObjectBase.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Product.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/ProductEvaluators.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Random.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/RandomImpl.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/RealView.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Redux.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Ref.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Replicate.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Reshaped.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/ReturnByValue.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Reverse.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Select.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/SelfAdjointView.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/SelfCwiseBinaryOp.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/SkewSymmetricMatrix3.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Solve.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/SolveTriangular.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/SolverBase.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/StableNorm.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/StlIterators.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Stride.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Swap.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Transpose.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Transpositions.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/TriangularMatrix.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/VectorBlock.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/VectorwiseOp.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/Visitor.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AVX/Complex.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AVX/MathFunctions.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AVX/PacketMath.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AVX/Reductions.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AVX/TypeCasting.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AVX512/Complex.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AVX512/GemmKernel.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AVX512/MathFunctions.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AVX512/MathFunctionsFP16.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AVX512/PacketMath.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AVX512/PacketMathFP16.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AVX512/Reductions.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AVX512/TrsmKernel.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AVX512/TypeCasting.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AVX512/TypeCastingFP16.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AltiVec/Complex.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMAbfloat16.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AltiVec/MatrixVectorProduct.inc +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/AltiVec/TypeCasting.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/Default/BFloat16.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/Default/ConjHelper.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/Default/Half.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/Default/Settings.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/GPU/Complex.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/GPU/MathFunctions.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/GPU/PacketMath.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/GPU/Tuple.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/GPU/TypeCasting.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/HIP/hcc/math_constants.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/HVX/PacketMath.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/LSX/Complex.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/LSX/GeneralBlockPanelKernel.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/LSX/MathFunctions.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/LSX/PacketMath.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/LSX/TypeCasting.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/MSA/Complex.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/MSA/MathFunctions.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/MSA/PacketMath.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/NEON/Complex.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/NEON/MathFunctions.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/NEON/PacketMath.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/NEON/TypeCasting.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/NEON/UnaryFunctors.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/SSE/Complex.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/SSE/MathFunctions.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/SSE/PacketMath.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/SSE/Reductions.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/SSE/TypeCasting.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/SVE/MathFunctions.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/SVE/PacketMath.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/SVE/TypeCasting.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/SYCL/InteropHeaders.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/SYCL/MathFunctions.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/SYCL/PacketMath.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/SYCL/TypeCasting.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/ZVector/Complex.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/ZVector/MathFunctions.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/arch/ZVector/PacketMath.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/functors/AssignmentFunctors.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/functors/BinaryFunctors.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/functors/NullaryFunctors.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/functors/StlFunctors.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/functors/TernaryFunctors.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/functors/UnaryFunctors.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/products/GeneralMatrixMatrix.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/products/GeneralMatrixVector.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/products/Parallelizer.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/products/SelfadjointProduct.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/products/SelfadjointRank2Update.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/products/TriangularMatrixMatrix.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/products/TriangularMatrixVector.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/products/TriangularSolverMatrix.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/products/TriangularSolverVector.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/Assert.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/BlasUtil.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/ConfigureVectorization.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/Constants.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/DisableStupidWarnings.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/EmulateArray.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/ForwardDeclarations.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/GpuHipCudaDefines.inc +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/GpuHipCudaUndefines.inc +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/IndexedViewHelper.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/IntegralConstant.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/MKL_support.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/Macros.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/MaxSizeVector.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/Memory.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/Meta.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/MoreMeta.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/ReenableStupidWarnings.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/ReshapedHelper.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/Serializer.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/StaticAssert.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/SymbolicIndex.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Core/util/XprHelper.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Eigenvalues/ComplexSchur.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Eigenvalues/EigenSolver.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Eigenvalues/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Eigenvalues/RealQZ.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Eigenvalues/RealSchur.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Geometry/AlignedBox.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Geometry/AngleAxis.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Geometry/EulerAngles.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Geometry/Homogeneous.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Geometry/Hyperplane.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Geometry/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Geometry/OrthoMethods.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Geometry/ParametrizedLine.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Geometry/Quaternion.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Geometry/Rotation2D.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Geometry/RotationBase.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Geometry/Scaling.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Geometry/Transform.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Geometry/Translation.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Geometry/Umeyama.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Householder/BlockHouseholder.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Householder/Householder.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Householder/HouseholderSequence.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Householder/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/IterativeLinearSolvers/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Jacobi/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/Jacobi/Jacobi.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/KLUSupport/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/KLUSupport/KLUSupport.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/LU/Determinant.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/LU/FullPivLU.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/LU/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/LU/InverseImpl.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/LU/PartialPivLU.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/LU/arch/InverseSize4.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/MetisSupport/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/MetisSupport/MetisSupport.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/OrderingMethods/Amd.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/OrderingMethods/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/OrderingMethods/Ordering.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/PaStiXSupport/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/PaStiXSupport/PaStiXSupport.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/PardisoSupport/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/PardisoSupport/PardisoSupport.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/QR/ColPivHouseholderQR.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/QR/FullPivHouseholderQR.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/QR/HouseholderQR.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/QR/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SPQRSupport/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SVD/BDCSVD.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SVD/BDCSVD_LAPACKE.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SVD/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SVD/JacobiSVD.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SVD/SVDBase.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SVD/UpperBidiagonalization.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCholesky/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/AmbiVector.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/CompressedStorage.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseAssign.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseBlock.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseColEtree.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseDiagonalProduct.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseDot.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseFuzzy.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseMap.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseMatrix.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparsePermutation.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseProduct.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseRedux.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseRef.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseSolverBase.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseTranspose.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseTriangularView.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseUtil.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseVector.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/SparseView.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseCore/TriangularSolver.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseLU/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseLU/SparseLU.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseLU/SparseLUImpl.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseLU/SparseLU_Memory.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseLU/SparseLU_Structs.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseLU/SparseLU_Utils.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseLU/SparseLU_column_bmod.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseLU/SparseLU_column_dfs.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseLU/SparseLU_panel_dfs.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseLU/SparseLU_pivotL.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseLU/SparseLU_pruneL.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseLU/SparseLU_relax_snode.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseQR/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SparseQR/SparseQR.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/StlSupport/StdDeque.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/StlSupport/StdList.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/StlSupport/StdVector.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/StlSupport/details.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SuperLUSupport/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/ThreadPool/Barrier.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/ThreadPool/CoreThreadPoolDevice.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/ThreadPool/EventCount.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/ThreadPool/ForkJoin.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/ThreadPool/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/ThreadPool/NonBlockingThreadPool.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/ThreadPool/RunQueue.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/ThreadPool/ThreadCancel.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/ThreadPool/ThreadEnvironment.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/ThreadPool/ThreadLocal.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/ThreadPool/ThreadPoolInterface.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/ThreadPool/ThreadYield.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/UmfPackSupport/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/UmfPackSupport/UmfPackSupport.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/misc/Image.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/misc/InternalHeaderCheck.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/misc/Kernel.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/misc/RealSvd2x2.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/misc/blas.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/misc/lapacke.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/misc/lapacke_helpers.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/misc/lapacke_mangling.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.inc +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.inc +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/plugins/BlockMethods.inc +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.inc +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.inc +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/plugins/IndexedViewMethods.inc +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/plugins/InternalHeaderCheck.inc +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.inc +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.inc +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/Eigen/src/plugins/ReshapedMethods.inc +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/eigen/signature_of_eigen3_matrix_library +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/electromag.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/electromag.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/math_util.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/math_util_tb.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/matrix_algebra.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/matrix_algebra_tb.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/misc.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/misc.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec2cpp.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec2cpp.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec2cpp_tb.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/necDiff.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec_card_parser.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec_context_tb.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec_debug.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec_exception.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec_exception.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec_ground.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec_ground.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec_output.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec_output.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec_radiation_pattern.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec_radiation_pattern.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec_results.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec_results.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec_structure_currents.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec_structure_currents.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec_wasm.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/nec_wire.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/net_solve.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/safe_array.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/safe_array_tb.cpp +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/necpp_src/src/typesafe_stdint.h +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/setup.cfg +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/tests/test_charge_densities.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/tests/test_examples.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/tests/test_get_gain.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/tests/test_input_parameters.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/tests/test_near_field.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/tests/test_norm_rx_pattern.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/tests/test_patches.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/tests/test_radiation_pattern.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/tests/test_structure_currents.py +0 -0
- {pynec-2.3.2 → pynec-2.3.4}/tests/test_structure_excitation.py +0 -0
|
@@ -108,11 +108,11 @@ class nec_context(object):
|
|
|
108
108
|
def get_gain_lhcp_sd(self, freq_index):
|
|
109
109
|
return _PyNEC.nec_context_get_gain_lhcp_sd(self, freq_index)
|
|
110
110
|
|
|
111
|
-
def get_impedance_real(self, freq_index):
|
|
112
|
-
return _PyNEC.nec_context_get_impedance_real(self, freq_index)
|
|
111
|
+
def get_impedance_real(self, freq_index, feed_index=0):
|
|
112
|
+
return _PyNEC.nec_context_get_impedance_real(self, freq_index, feed_index)
|
|
113
113
|
|
|
114
|
-
def get_impedance_imag(self, freq_index):
|
|
115
|
-
return _PyNEC.nec_context_get_impedance_imag(self, freq_index)
|
|
114
|
+
def get_impedance_imag(self, freq_index, feed_index=0):
|
|
115
|
+
return _PyNEC.nec_context_get_impedance_imag(self, freq_index, feed_index)
|
|
116
116
|
|
|
117
117
|
def get_input_parameters(self, index):
|
|
118
118
|
return _PyNEC.nec_context_get_input_parameters(self, index)
|
|
@@ -4339,19 +4339,69 @@ fail:
|
|
|
4339
4339
|
}
|
|
4340
4340
|
|
|
4341
4341
|
|
|
4342
|
-
SWIGINTERN PyObject *
|
|
4342
|
+
SWIGINTERN PyObject *_wrap_nec_context_get_impedance_real__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) {
|
|
4343
4343
|
PyObject *resultobj = 0;
|
|
4344
4344
|
nec_context *arg1 = (nec_context *) 0 ;
|
|
4345
4345
|
int arg2 ;
|
|
4346
|
+
int arg3 ;
|
|
4346
4347
|
void *argp1 = 0 ;
|
|
4347
4348
|
int res1 = 0 ;
|
|
4348
4349
|
int val2 ;
|
|
4349
4350
|
int ecode2 = 0 ;
|
|
4350
|
-
|
|
4351
|
+
int val3 ;
|
|
4352
|
+
int ecode3 = 0 ;
|
|
4351
4353
|
double result;
|
|
4352
4354
|
|
|
4353
4355
|
(void)self;
|
|
4354
|
-
if (
|
|
4356
|
+
if ((nobjs < 3) || (nobjs > 3)) SWIG_fail;
|
|
4357
|
+
res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_nec_context, 0 | 0 );
|
|
4358
|
+
if (!SWIG_IsOK(res1)) {
|
|
4359
|
+
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "nec_context_get_impedance_real" "', argument " "1"" of type '" "nec_context *""'");
|
|
4360
|
+
}
|
|
4361
|
+
arg1 = reinterpret_cast< nec_context * >(argp1);
|
|
4362
|
+
ecode2 = SWIG_AsVal_int(swig_obj[1], &val2);
|
|
4363
|
+
if (!SWIG_IsOK(ecode2)) {
|
|
4364
|
+
SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "nec_context_get_impedance_real" "', argument " "2"" of type '" "int""'");
|
|
4365
|
+
}
|
|
4366
|
+
arg2 = static_cast< int >(val2);
|
|
4367
|
+
ecode3 = SWIG_AsVal_int(swig_obj[2], &val3);
|
|
4368
|
+
if (!SWIG_IsOK(ecode3)) {
|
|
4369
|
+
SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "nec_context_get_impedance_real" "', argument " "3"" of type '" "int""'");
|
|
4370
|
+
}
|
|
4371
|
+
arg3 = static_cast< int >(val3);
|
|
4372
|
+
{
|
|
4373
|
+
try {
|
|
4374
|
+
result = (double)(arg1)->get_impedance_real(arg2,arg3);
|
|
4375
|
+
}
|
|
4376
|
+
catch (nec_exception* nex) {
|
|
4377
|
+
SWIG_exception(SWIG_RuntimeError,nex->get_message().c_str());
|
|
4378
|
+
}
|
|
4379
|
+
catch (const char* message) {
|
|
4380
|
+
SWIG_exception(SWIG_RuntimeError,message);
|
|
4381
|
+
}
|
|
4382
|
+
catch (...) {
|
|
4383
|
+
SWIG_exception(SWIG_RuntimeError,"Unknown exception");
|
|
4384
|
+
}
|
|
4385
|
+
}
|
|
4386
|
+
resultobj = SWIG_From_double(static_cast< double >(result));
|
|
4387
|
+
return resultobj;
|
|
4388
|
+
fail:
|
|
4389
|
+
return NULL;
|
|
4390
|
+
}
|
|
4391
|
+
|
|
4392
|
+
|
|
4393
|
+
SWIGINTERN PyObject *_wrap_nec_context_get_impedance_real__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) {
|
|
4394
|
+
PyObject *resultobj = 0;
|
|
4395
|
+
nec_context *arg1 = (nec_context *) 0 ;
|
|
4396
|
+
int arg2 ;
|
|
4397
|
+
void *argp1 = 0 ;
|
|
4398
|
+
int res1 = 0 ;
|
|
4399
|
+
int val2 ;
|
|
4400
|
+
int ecode2 = 0 ;
|
|
4401
|
+
double result;
|
|
4402
|
+
|
|
4403
|
+
(void)self;
|
|
4404
|
+
if ((nobjs < 2) || (nobjs > 2)) SWIG_fail;
|
|
4355
4405
|
res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_nec_context, 0 | 0 );
|
|
4356
4406
|
if (!SWIG_IsOK(res1)) {
|
|
4357
4407
|
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "nec_context_get_impedance_real" "', argument " "1"" of type '" "nec_context *""'");
|
|
@@ -4383,19 +4433,123 @@ fail:
|
|
|
4383
4433
|
}
|
|
4384
4434
|
|
|
4385
4435
|
|
|
4386
|
-
SWIGINTERN PyObject *
|
|
4436
|
+
SWIGINTERN PyObject *_wrap_nec_context_get_impedance_real(PyObject *self, PyObject *args) {
|
|
4437
|
+
Py_ssize_t argc;
|
|
4438
|
+
PyObject *argv[4] = {
|
|
4439
|
+
0
|
|
4440
|
+
};
|
|
4441
|
+
|
|
4442
|
+
if (!(argc = SWIG_Python_UnpackTuple(args, "nec_context_get_impedance_real", 0, 3, argv))) SWIG_fail;
|
|
4443
|
+
--argc;
|
|
4444
|
+
if (argc == 2) {
|
|
4445
|
+
int _v = 0;
|
|
4446
|
+
void *vptr = 0;
|
|
4447
|
+
int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_nec_context, 0);
|
|
4448
|
+
_v = SWIG_CheckState(res);
|
|
4449
|
+
if (_v) {
|
|
4450
|
+
{
|
|
4451
|
+
int res = SWIG_AsVal_int(argv[1], NULL);
|
|
4452
|
+
_v = SWIG_CheckState(res);
|
|
4453
|
+
}
|
|
4454
|
+
if (_v) {
|
|
4455
|
+
return _wrap_nec_context_get_impedance_real__SWIG_1(self, argc, argv);
|
|
4456
|
+
}
|
|
4457
|
+
}
|
|
4458
|
+
}
|
|
4459
|
+
if (argc == 3) {
|
|
4460
|
+
int _v = 0;
|
|
4461
|
+
void *vptr = 0;
|
|
4462
|
+
int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_nec_context, 0);
|
|
4463
|
+
_v = SWIG_CheckState(res);
|
|
4464
|
+
if (_v) {
|
|
4465
|
+
{
|
|
4466
|
+
int res = SWIG_AsVal_int(argv[1], NULL);
|
|
4467
|
+
_v = SWIG_CheckState(res);
|
|
4468
|
+
}
|
|
4469
|
+
if (_v) {
|
|
4470
|
+
{
|
|
4471
|
+
int res = SWIG_AsVal_int(argv[2], NULL);
|
|
4472
|
+
_v = SWIG_CheckState(res);
|
|
4473
|
+
}
|
|
4474
|
+
if (_v) {
|
|
4475
|
+
return _wrap_nec_context_get_impedance_real__SWIG_0(self, argc, argv);
|
|
4476
|
+
}
|
|
4477
|
+
}
|
|
4478
|
+
}
|
|
4479
|
+
}
|
|
4480
|
+
|
|
4481
|
+
fail:
|
|
4482
|
+
SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'nec_context_get_impedance_real'.\n"
|
|
4483
|
+
" Possible C/C++ prototypes are:\n"
|
|
4484
|
+
" nec_context::get_impedance_real(int,int)\n"
|
|
4485
|
+
" nec_context::get_impedance_real(int)\n");
|
|
4486
|
+
return 0;
|
|
4487
|
+
}
|
|
4488
|
+
|
|
4489
|
+
|
|
4490
|
+
SWIGINTERN PyObject *_wrap_nec_context_get_impedance_imag__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) {
|
|
4387
4491
|
PyObject *resultobj = 0;
|
|
4388
4492
|
nec_context *arg1 = (nec_context *) 0 ;
|
|
4389
4493
|
int arg2 ;
|
|
4494
|
+
int arg3 ;
|
|
4390
4495
|
void *argp1 = 0 ;
|
|
4391
4496
|
int res1 = 0 ;
|
|
4392
4497
|
int val2 ;
|
|
4393
4498
|
int ecode2 = 0 ;
|
|
4394
|
-
|
|
4499
|
+
int val3 ;
|
|
4500
|
+
int ecode3 = 0 ;
|
|
4395
4501
|
double result;
|
|
4396
4502
|
|
|
4397
4503
|
(void)self;
|
|
4398
|
-
if (
|
|
4504
|
+
if ((nobjs < 3) || (nobjs > 3)) SWIG_fail;
|
|
4505
|
+
res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_nec_context, 0 | 0 );
|
|
4506
|
+
if (!SWIG_IsOK(res1)) {
|
|
4507
|
+
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "nec_context_get_impedance_imag" "', argument " "1"" of type '" "nec_context *""'");
|
|
4508
|
+
}
|
|
4509
|
+
arg1 = reinterpret_cast< nec_context * >(argp1);
|
|
4510
|
+
ecode2 = SWIG_AsVal_int(swig_obj[1], &val2);
|
|
4511
|
+
if (!SWIG_IsOK(ecode2)) {
|
|
4512
|
+
SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "nec_context_get_impedance_imag" "', argument " "2"" of type '" "int""'");
|
|
4513
|
+
}
|
|
4514
|
+
arg2 = static_cast< int >(val2);
|
|
4515
|
+
ecode3 = SWIG_AsVal_int(swig_obj[2], &val3);
|
|
4516
|
+
if (!SWIG_IsOK(ecode3)) {
|
|
4517
|
+
SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "nec_context_get_impedance_imag" "', argument " "3"" of type '" "int""'");
|
|
4518
|
+
}
|
|
4519
|
+
arg3 = static_cast< int >(val3);
|
|
4520
|
+
{
|
|
4521
|
+
try {
|
|
4522
|
+
result = (double)(arg1)->get_impedance_imag(arg2,arg3);
|
|
4523
|
+
}
|
|
4524
|
+
catch (nec_exception* nex) {
|
|
4525
|
+
SWIG_exception(SWIG_RuntimeError,nex->get_message().c_str());
|
|
4526
|
+
}
|
|
4527
|
+
catch (const char* message) {
|
|
4528
|
+
SWIG_exception(SWIG_RuntimeError,message);
|
|
4529
|
+
}
|
|
4530
|
+
catch (...) {
|
|
4531
|
+
SWIG_exception(SWIG_RuntimeError,"Unknown exception");
|
|
4532
|
+
}
|
|
4533
|
+
}
|
|
4534
|
+
resultobj = SWIG_From_double(static_cast< double >(result));
|
|
4535
|
+
return resultobj;
|
|
4536
|
+
fail:
|
|
4537
|
+
return NULL;
|
|
4538
|
+
}
|
|
4539
|
+
|
|
4540
|
+
|
|
4541
|
+
SWIGINTERN PyObject *_wrap_nec_context_get_impedance_imag__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) {
|
|
4542
|
+
PyObject *resultobj = 0;
|
|
4543
|
+
nec_context *arg1 = (nec_context *) 0 ;
|
|
4544
|
+
int arg2 ;
|
|
4545
|
+
void *argp1 = 0 ;
|
|
4546
|
+
int res1 = 0 ;
|
|
4547
|
+
int val2 ;
|
|
4548
|
+
int ecode2 = 0 ;
|
|
4549
|
+
double result;
|
|
4550
|
+
|
|
4551
|
+
(void)self;
|
|
4552
|
+
if ((nobjs < 2) || (nobjs > 2)) SWIG_fail;
|
|
4399
4553
|
res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_nec_context, 0 | 0 );
|
|
4400
4554
|
if (!SWIG_IsOK(res1)) {
|
|
4401
4555
|
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "nec_context_get_impedance_imag" "', argument " "1"" of type '" "nec_context *""'");
|
|
@@ -4427,6 +4581,60 @@ fail:
|
|
|
4427
4581
|
}
|
|
4428
4582
|
|
|
4429
4583
|
|
|
4584
|
+
SWIGINTERN PyObject *_wrap_nec_context_get_impedance_imag(PyObject *self, PyObject *args) {
|
|
4585
|
+
Py_ssize_t argc;
|
|
4586
|
+
PyObject *argv[4] = {
|
|
4587
|
+
0
|
|
4588
|
+
};
|
|
4589
|
+
|
|
4590
|
+
if (!(argc = SWIG_Python_UnpackTuple(args, "nec_context_get_impedance_imag", 0, 3, argv))) SWIG_fail;
|
|
4591
|
+
--argc;
|
|
4592
|
+
if (argc == 2) {
|
|
4593
|
+
int _v = 0;
|
|
4594
|
+
void *vptr = 0;
|
|
4595
|
+
int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_nec_context, 0);
|
|
4596
|
+
_v = SWIG_CheckState(res);
|
|
4597
|
+
if (_v) {
|
|
4598
|
+
{
|
|
4599
|
+
int res = SWIG_AsVal_int(argv[1], NULL);
|
|
4600
|
+
_v = SWIG_CheckState(res);
|
|
4601
|
+
}
|
|
4602
|
+
if (_v) {
|
|
4603
|
+
return _wrap_nec_context_get_impedance_imag__SWIG_1(self, argc, argv);
|
|
4604
|
+
}
|
|
4605
|
+
}
|
|
4606
|
+
}
|
|
4607
|
+
if (argc == 3) {
|
|
4608
|
+
int _v = 0;
|
|
4609
|
+
void *vptr = 0;
|
|
4610
|
+
int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_nec_context, 0);
|
|
4611
|
+
_v = SWIG_CheckState(res);
|
|
4612
|
+
if (_v) {
|
|
4613
|
+
{
|
|
4614
|
+
int res = SWIG_AsVal_int(argv[1], NULL);
|
|
4615
|
+
_v = SWIG_CheckState(res);
|
|
4616
|
+
}
|
|
4617
|
+
if (_v) {
|
|
4618
|
+
{
|
|
4619
|
+
int res = SWIG_AsVal_int(argv[2], NULL);
|
|
4620
|
+
_v = SWIG_CheckState(res);
|
|
4621
|
+
}
|
|
4622
|
+
if (_v) {
|
|
4623
|
+
return _wrap_nec_context_get_impedance_imag__SWIG_0(self, argc, argv);
|
|
4624
|
+
}
|
|
4625
|
+
}
|
|
4626
|
+
}
|
|
4627
|
+
}
|
|
4628
|
+
|
|
4629
|
+
fail:
|
|
4630
|
+
SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'nec_context_get_impedance_imag'.\n"
|
|
4631
|
+
" Possible C/C++ prototypes are:\n"
|
|
4632
|
+
" nec_context::get_impedance_imag(int,int)\n"
|
|
4633
|
+
" nec_context::get_impedance_imag(int)\n");
|
|
4634
|
+
return 0;
|
|
4635
|
+
}
|
|
4636
|
+
|
|
4637
|
+
|
|
4430
4638
|
SWIGINTERN PyObject *_wrap_nec_context_get_input_parameters(PyObject *self, PyObject *args) {
|
|
4431
4639
|
PyObject *resultobj = 0;
|
|
4432
4640
|
nec_context *arg1 = (nec_context *) 0 ;
|
|
@@ -1152,29 +1152,28 @@ void c_geometry::reflect_plane( int sym_plane, int& tag_increment )
|
|
|
1152
1152
|
|
|
1153
1153
|
/* --- planar symmetry --- */
|
|
1154
1154
|
/* sym_plane bits: 0 = negate X, 1 = negate Y, 2 = negate Z */
|
|
1155
|
-
int mask = sym_plane;
|
|
1156
|
-
bool neg_x = mask & 1;
|
|
1157
|
-
bool neg_y = mask & 2;
|
|
1158
|
-
bool neg_z = mask & 4;
|
|
1159
|
-
int num_axes = (neg_x?1:0) + (neg_y?1:0) + (neg_z?1:0);
|
|
1160
|
-
int num_copies = 1 << num_axes; /* 2 for single axis, 4 for two axes */
|
|
1161
|
-
|
|
1162
1155
|
int64_t orig_n = n_segments;
|
|
1163
1156
|
int64_t orig_m = m;
|
|
1164
1157
|
int itx = tag_increment;
|
|
1165
1158
|
|
|
1166
|
-
/*
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
int
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1159
|
+
/* Build copy masks in the Z, Y, X order used by sequential NEC-2
|
|
1160
|
+
reflection passes. Each pass appends a reflected copy of every existing
|
|
1161
|
+
combination. */
|
|
1162
|
+
int copy_mask[8] = { 0 };
|
|
1163
|
+
int num_copies = 1;
|
|
1164
|
+
|
|
1165
|
+
for ( int axis_mask = 4; axis_mask > 0; axis_mask >>= 1 )
|
|
1166
|
+
{
|
|
1167
|
+
if ( 0 == (sym_plane & axis_mask) )
|
|
1168
|
+
continue;
|
|
1173
1169
|
|
|
1174
|
-
|
|
1170
|
+
for ( int copy = 0; copy < num_copies; copy++ )
|
|
1171
|
+
copy_mask[num_copies + copy] = copy_mask[copy] | axis_mask;
|
|
1172
|
+
|
|
1173
|
+
num_copies *= 2;
|
|
1174
|
+
}
|
|
1175
1175
|
|
|
1176
|
-
|
|
1177
|
-
tag_increment = itx << ( (neg_z ? 1 : 0) + (neg_y ? 1 : 0) );
|
|
1176
|
+
tag_increment = itx * num_copies;
|
|
1178
1177
|
|
|
1179
1178
|
/* --- SEGMENTS --- */
|
|
1180
1179
|
if ( orig_n > 0 )
|
|
@@ -1196,23 +1195,9 @@ void c_geometry::reflect_plane( int sym_plane, int& tag_increment )
|
|
|
1196
1195
|
for( int copy = 1; copy < num_copies; copy++ )
|
|
1197
1196
|
{
|
|
1198
1197
|
/* Determine which axes to negate for this copy */
|
|
1199
|
-
bool flip_x =
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
if ( axis1_mask == 4 ) flip_z = true;
|
|
1203
|
-
else if ( axis1_mask == 2 ) flip_y = true;
|
|
1204
|
-
else if ( axis1_mask == 1 ) flip_x = true;
|
|
1205
|
-
}
|
|
1206
|
-
else if ( copy == 2 )
|
|
1207
|
-
{
|
|
1208
|
-
if ( axis2_mask == 4 ) flip_z = true;
|
|
1209
|
-
else if ( axis2_mask == 2 ) flip_y = true;
|
|
1210
|
-
else if ( axis2_mask == 1 ) flip_x = true;
|
|
1211
|
-
}
|
|
1212
|
-
else if ( copy == 3 )
|
|
1213
|
-
{
|
|
1214
|
-
flip_x = neg_x; flip_y = neg_y; flip_z = neg_z;
|
|
1215
|
-
}
|
|
1198
|
+
bool flip_x = (0 != (copy_mask[copy] & 1));
|
|
1199
|
+
bool flip_y = (0 != (copy_mask[copy] & 2));
|
|
1200
|
+
bool flip_z = (0 != (copy_mask[copy] & 4));
|
|
1216
1201
|
|
|
1217
1202
|
int64_t base = copy * orig_n;
|
|
1218
1203
|
|
|
@@ -1269,7 +1254,7 @@ void c_geometry::reflect_plane( int sym_plane, int& tag_increment )
|
|
|
1269
1254
|
if ( itagi == 0 )
|
|
1270
1255
|
segment_tags[nx] = 0;
|
|
1271
1256
|
if ( itagi != 0 )
|
|
1272
|
-
segment_tags[nx] = itagi +
|
|
1257
|
+
segment_tags[nx] = itagi + copy * itx;
|
|
1273
1258
|
|
|
1274
1259
|
segment_radius[nx] = segment_radius[i];
|
|
1275
1260
|
}
|
|
@@ -1298,23 +1283,9 @@ void c_geometry::reflect_plane( int sym_plane, int& tag_increment )
|
|
|
1298
1283
|
|
|
1299
1284
|
for( int copy = 1; copy < num_copies; copy++ )
|
|
1300
1285
|
{
|
|
1301
|
-
bool flip_x =
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
if ( axis1_mask == 4 ) flip_z = true;
|
|
1305
|
-
else if ( axis1_mask == 2 ) flip_y = true;
|
|
1306
|
-
else if ( axis1_mask == 1 ) flip_x = true;
|
|
1307
|
-
}
|
|
1308
|
-
else if ( copy == 2 )
|
|
1309
|
-
{
|
|
1310
|
-
if ( axis2_mask == 4 ) flip_z = true;
|
|
1311
|
-
else if ( axis2_mask == 2 ) flip_y = true;
|
|
1312
|
-
else if ( axis2_mask == 1 ) flip_x = true;
|
|
1313
|
-
}
|
|
1314
|
-
else if ( copy == 3 )
|
|
1315
|
-
{
|
|
1316
|
-
flip_x = neg_x; flip_y = neg_y; flip_z = neg_z;
|
|
1317
|
-
}
|
|
1286
|
+
bool flip_x = (0 != (copy_mask[copy] & 1));
|
|
1287
|
+
bool flip_y = (0 != (copy_mask[copy] & 2));
|
|
1288
|
+
bool flip_z = (0 != (copy_mask[copy] & 4));
|
|
1318
1289
|
|
|
1319
1290
|
int neg_count = (flip_x?1:0) + (flip_y?1:0) + (flip_z?1:0);
|
|
1320
1291
|
bool neg_psalp = (neg_count % 2 == 1);
|
|
@@ -212,3 +212,64 @@ TEST_CASE( "NE card with multiple near-field points", "[near_field]") {
|
|
|
212
212
|
|
|
213
213
|
nec_delete(nec);
|
|
214
214
|
}
|
|
215
|
+
|
|
216
|
+
TEST_CASE( "GX one-plane symmetry produces finite impedance", "[symmetry]") {
|
|
217
|
+
// PR #124: GX cards produced INF impedance due to uninitialized scratch
|
|
218
|
+
// slot in solves(), inverted fblock() guard, and incomplete reflection.
|
|
219
|
+
// One wire, GX 2 100 -> reflect in X, tag increment 2, NOP=2.
|
|
220
|
+
nec_context* nec = nec_create();
|
|
221
|
+
|
|
222
|
+
HANDLE_NEC(nec_wire(nec, 1, 11, -0.75, 0.0, -0.245, -0.75, 0.0, 0.245, 0.001, 1.0, 1.0));
|
|
223
|
+
HANDLE_NEC(nec_wire(nec, 2, 11, -0.25, 0.0, -0.245, -0.25, 0.0, 0.245, 0.001, 1.0, 1.0));
|
|
224
|
+
// GX: tag_inc=2, planes=100 -> X only (ix=1, iy=0, iz=0 -> nop=2)
|
|
225
|
+
HANDLE_NEC(nec_gx_card(nec, 2, 100));
|
|
226
|
+
HANDLE_NEC(nec_geometry_complete(nec, 0));
|
|
227
|
+
HANDLE_NEC(nec_fr_card(nec, 0, 1, 299.7925, 0.0));
|
|
228
|
+
// Feed all 4 tags (original + GX reflections) in natural order
|
|
229
|
+
HANDLE_NEC(nec_ex_card(nec, 0, 1, 6, 0, 1.0, 0.0, 0, 0, 0, 0));
|
|
230
|
+
HANDLE_NEC(nec_ex_card(nec, 0, 2, 6, 0, 1.0, 0.0, 0, 0, 0, 0));
|
|
231
|
+
HANDLE_NEC(nec_ex_card(nec, 0, 3, 6, 0, 1.0, 0.0, 0, 0, 0, 0));
|
|
232
|
+
HANDLE_NEC(nec_ex_card(nec, 0, 4, 6, 0, 1.0, 0.0, 0, 0, 0, 0));
|
|
233
|
+
HANDLE_NEC(nec_rp_card(nec, 0, 1, 361, 0, 0, 0, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0));
|
|
234
|
+
|
|
235
|
+
// Feed 0 (tag 1): 65.7 - j0.75 ohms
|
|
236
|
+
double zr = nec->get_impedance_real(0, 0);
|
|
237
|
+
double zi = nec->get_impedance_imag(0, 0);
|
|
238
|
+
REQUIRE( zr == Catch::Approx(65.7).margin(0.5) );
|
|
239
|
+
REQUIRE( zi == Catch::Approx(-0.75).margin(1.0) );
|
|
240
|
+
|
|
241
|
+
// Feed 1 (tag 2): 52.8 - j9.7 ohms
|
|
242
|
+
double zr1 = nec->get_impedance_real(0, 1);
|
|
243
|
+
double zi1 = nec->get_impedance_imag(0, 1);
|
|
244
|
+
REQUIRE( zr1 == Catch::Approx(52.8).margin(0.5) );
|
|
245
|
+
REQUIRE( zi1 == Catch::Approx(-9.7).margin(1.0) );
|
|
246
|
+
|
|
247
|
+
// Out-of-range feed index returns sentinel
|
|
248
|
+
double zr_bad = nec->get_impedance_real(0, 99);
|
|
249
|
+
REQUIRE( zr_bad == -999.0 );
|
|
250
|
+
|
|
251
|
+
nec_delete(nec);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
TEST_CASE( "GX three-plane symmetry produces correct impedance", "[symmetry]") {
|
|
255
|
+
// PR #124: three-plane symmetry (nop=8) was broken — fblock() had wrong
|
|
256
|
+
// pass count, reflect_plane() missed copies 4-7. GX 1 111 -> all planes.
|
|
257
|
+
nec_context* nec = nec_create();
|
|
258
|
+
|
|
259
|
+
HANDLE_NEC(nec_wire(nec, 1, 9, 0.1, 0.1, 0.1, 0.1, 0.1, 0.35, 0.001, 1.0, 1.0));
|
|
260
|
+
// GX: tag_inc=1, planes=111 -> X,Y,Z (nop=8)
|
|
261
|
+
HANDLE_NEC(nec_gx_card(nec, 1, 111));
|
|
262
|
+
HANDLE_NEC(nec_geometry_complete(nec, 0));
|
|
263
|
+
HANDLE_NEC(nec_fr_card(nec, 0, 1, 299.8, 0.0));
|
|
264
|
+
HANDLE_NEC(nec_ex_card(nec, 0, 1, 5, 0, 1.0, 0.0, 0, 0, 0, 0));
|
|
265
|
+
HANDLE_NEC(nec_rp_card(nec, 0, 1, 361, 0, 0, 0, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0));
|
|
266
|
+
|
|
267
|
+
double zr = nec_impedance_real(nec, 0);
|
|
268
|
+
double zi = nec_impedance_imag(nec, 0);
|
|
269
|
+
|
|
270
|
+
// Tag 1 (only EX card): 13.7 - j470 ohms
|
|
271
|
+
REQUIRE( zr == Catch::Approx(13.7).margin(1.0) );
|
|
272
|
+
REQUIRE( zi == Catch::Approx(-470.5).margin(1.0) );
|
|
273
|
+
|
|
274
|
+
nec_delete(nec);
|
|
275
|
+
}
|
|
@@ -151,6 +151,13 @@ double nec_impedance_imag(nec_context* in_context, int freq_index) {
|
|
|
151
151
|
return in_context->get_impedance_imag(freq_index);
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
+
double nec_impedance_real_indexed(nec_context* in_context, int freq_index, int feed_index) {
|
|
155
|
+
return in_context->get_impedance_real(freq_index, feed_index);
|
|
156
|
+
}
|
|
157
|
+
double nec_impedance_imag_indexed(nec_context* in_context, int freq_index, int feed_index) {
|
|
158
|
+
return in_context->get_impedance_imag(freq_index, feed_index);
|
|
159
|
+
}
|
|
160
|
+
|
|
154
161
|
long nec_medium_parameters(nec_context* in_context, double permittivity, double permeability) {
|
|
155
162
|
NEC_ERROR_HANDLE(in_context->medium_parameters(permittivity, permeability));
|
|
156
163
|
}
|
|
@@ -596,6 +596,15 @@ double nec_impedance_real(nec_context* in_context, int freq_index);
|
|
|
596
596
|
*/
|
|
597
597
|
double nec_impedance_imag(nec_context* in_context, int freq_index);
|
|
598
598
|
|
|
599
|
+
/*! \brief Impedance: Real Part for a specific feed.
|
|
600
|
+
\param feed_index Zero-based feed index within the frequency.
|
|
601
|
+
\return Real impedance in ohms, or -999.0 if no result exists. */
|
|
602
|
+
double nec_impedance_real_indexed(nec_context* in_context, int freq_index, int feed_index);
|
|
603
|
+
|
|
604
|
+
/*! \brief Impedance: Imaginary Part for a specific feed.
|
|
605
|
+
\param feed_index Zero-based feed index within the frequency. */
|
|
606
|
+
double nec_impedance_imag_indexed(nec_context* in_context, int freq_index, int feed_index);
|
|
607
|
+
|
|
599
608
|
///@}
|
|
600
609
|
|
|
601
610
|
#ifdef __cplusplus
|
|
@@ -398,7 +398,11 @@ void solves(complex_array& a, int_array& ip, complex_array& b, int64_t neq,
|
|
|
398
398
|
|
|
399
399
|
/* transform matrix eq. rhs vector according to symmetry modes */
|
|
400
400
|
for (int64_t i = 0; i < npeq; i++ ) {
|
|
401
|
-
|
|
401
|
+
/* Each image row below is seeded from this row's untransformed
|
|
402
|
+
value, so hold it in scm[0] before the normalized sum
|
|
403
|
+
overwrites b[i]. */
|
|
404
|
+
scm[0] = b[i+column_offset];
|
|
405
|
+
nec_complex sum_normal(scm[0]);
|
|
402
406
|
for (int64_t k = 1; k < nop; k++ ) {
|
|
403
407
|
int64_t ia= i+ k* npeq;
|
|
404
408
|
scm[k]= b[ia+column_offset];
|
|
@@ -441,7 +445,11 @@ void solves(complex_array& a, int_array& ip, complex_array& b, int64_t neq,
|
|
|
441
445
|
for (int64_t ic = 0; ic < nrh; ic++ ) {
|
|
442
446
|
int64_t column_offset = ic*neq;
|
|
443
447
|
for (int64_t i = 0; i < npeq; i++ ) {
|
|
444
|
-
|
|
448
|
+
/* Each image row below is seeded from this row's untransformed
|
|
449
|
+
value, so hold it in scm[0] before the summed value overwrites
|
|
450
|
+
b[i]. */
|
|
451
|
+
scm[0] = b[i+column_offset];
|
|
452
|
+
nec_complex sum_normal(scm[0]);
|
|
445
453
|
for (int64_t k = 1; k < nop; k++ ) {
|
|
446
454
|
int64_t ia= i+ k* npeq;
|
|
447
455
|
scm[k]= b[ia+column_offset];
|
|
@@ -6439,14 +6439,17 @@ void nec_context::fblock( int nrow, int ncol, int64_t imax, int ipsym ) {
|
|
|
6439
6439
|
int kk=1;
|
|
6440
6440
|
symmetry_array[0]=cplx_10();
|
|
6441
6441
|
|
|
6442
|
-
|
|
6443
|
-
|
|
6444
|
-
|
|
6445
|
-
|
|
6446
|
-
|
|
6447
|
-
|
|
6448
|
-
|
|
6449
|
-
|
|
6442
|
+
/* Plane symmetry admits two, four, or eight sections; the doubling below
|
|
6443
|
+
cannot span the matrix for any other count. */
|
|
6444
|
+
if ((2 != nop) && (4 != nop) && (8 != nop))
|
|
6445
|
+
nec_stop("SYMMETRY ERROR - NOP: %d", nop );
|
|
6446
|
+
|
|
6447
|
+
/* Each pass doubles the width of the filled block, so the pass count is
|
|
6448
|
+
log2(nop). */
|
|
6449
|
+
int ka = 1;
|
|
6450
|
+
for (int k_power = 2; k_power != nop; k_power *= 2)
|
|
6451
|
+
ka++;
|
|
6452
|
+
|
|
6450
6453
|
for(int k = 0; k < ka; k++ ) {
|
|
6451
6454
|
for(int i = 0; i < kk; i++ ) {
|
|
6452
6455
|
for(int j = 0; j < kk; j++ ) {
|
|
@@ -208,21 +208,58 @@ public:
|
|
|
208
208
|
}
|
|
209
209
|
|
|
210
210
|
/****************** IMPEDANCE CHARACTERISTICS *********************/
|
|
211
|
-
|
|
212
|
-
/*! \
|
|
213
|
-
|
|
211
|
+
|
|
212
|
+
/*! \name Antenna Input Impedance
|
|
213
|
+
*
|
|
214
|
+
* Each call to nec_ex_card() or nec_fr_card() with a new frequency
|
|
215
|
+
* creates a feed. Multiple feeds at the same frequency (e.g. phased
|
|
216
|
+
* arrays) are stored as separate entries within a single
|
|
217
|
+
* nec_antenna_input result; the \p feed_index selects among them.
|
|
218
|
+
*
|
|
219
|
+
* | Scenario | freq_index | feed_index |
|
|
220
|
+
* |-----------------------------|-----------|------------|
|
|
221
|
+
* | Single dipole | 0 | 0 |
|
|
222
|
+
* | Two feeds, same frequency | 0 | 0 or 1 |
|
|
223
|
+
* | Swept frequency, single feed| 0, 1, … | 0 |
|
|
224
|
+
*
|
|
225
|
+
* If no result exists (no simulation run, missing feed, or
|
|
226
|
+
* out-of-range index) the sentinel value \c -999.0 is returned.
|
|
227
|
+
*
|
|
228
|
+
* Prior to v2.3.4 these methods returned imp.back() — the *last*
|
|
229
|
+
* feed's impedance — which depended on EX card ordering and was
|
|
230
|
+
* incorrect for multi-feed setups. They now return imp[feed_index]
|
|
231
|
+
* with \p feed_index defaulting to 0 (the first feed).
|
|
232
|
+
*
|
|
233
|
+
* @{
|
|
234
|
+
*/
|
|
235
|
+
|
|
236
|
+
/*! \brief Real part of the feed-point impedance.
|
|
237
|
+
\param freq_index Zero-based simulation index (0 = first frequency).
|
|
238
|
+
\param feed_index Zero-based feed index within that frequency
|
|
239
|
+
(0 = first EX card at that frequency).
|
|
240
|
+
\return Resistance in ohms, or \c -999.0 if no result exists.
|
|
241
|
+
\see get_impedance_imag() */
|
|
242
|
+
double get_impedance_real(int freq_index = 0, int feed_index = 0) {
|
|
214
243
|
nec_antenna_input* ipt = get_input_parameters(freq_index);
|
|
215
244
|
if (NULL == ipt) return -999.0;
|
|
216
245
|
vector<nec_complex>& imp(ipt->get_impedance());
|
|
217
|
-
|
|
246
|
+
if (feed_index < 0 || (size_t)feed_index >= imp.size()) return -999.0;
|
|
247
|
+
return imp[feed_index].real();
|
|
218
248
|
}
|
|
219
|
-
/*! \brief
|
|
220
|
-
|
|
249
|
+
/*! \brief Imaginary part of the feed-point impedance.
|
|
250
|
+
\param freq_index Zero-based simulation index (0 = first frequency).
|
|
251
|
+
\param feed_index Zero-based feed index within that frequency.
|
|
252
|
+
\return Reactance in ohms, or \c -999.0 if no result exists.
|
|
253
|
+
\see get_impedance_real() */
|
|
254
|
+
double get_impedance_imag(int freq_index = 0, int feed_index = 0) {
|
|
221
255
|
nec_antenna_input* ipt = get_input_parameters(freq_index);
|
|
222
256
|
if (NULL == ipt) return -999.0;
|
|
223
257
|
vector<nec_complex>& imp(ipt->get_impedance());
|
|
224
|
-
|
|
258
|
+
if (feed_index < 0 || (size_t)feed_index >= imp.size()) return -999.0;
|
|
259
|
+
return imp[feed_index].imag();
|
|
225
260
|
}
|
|
261
|
+
|
|
262
|
+
/*! @} */
|
|
226
263
|
|
|
227
264
|
/*! \brief Get Antenna Input Parameter Results
|
|
228
265
|
\param index The zero-based index for the result (simulations can return more than one set of results).
|
|
@@ -24,7 +24,7 @@ BUILD_DIR = "necpp_src/build"
|
|
|
24
24
|
os.makedirs(BUILD_DIR, exist_ok=True)
|
|
25
25
|
|
|
26
26
|
# Try to read the version from pyproject.toml; fall back to a known default.
|
|
27
|
-
_version = "2.3.
|
|
27
|
+
_version = "2.3.4"
|
|
28
28
|
try:
|
|
29
29
|
import tomllib # Python 3.11+
|
|
30
30
|
except ImportError:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|