tinygwas 0.2.2__tar.gz → 0.2.3__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.
- {tinygwas-0.2.2/tinygwas.egg-info → tinygwas-0.2.3}/PKG-INFO +8 -2
- {tinygwas-0.2.2 → tinygwas-0.2.3}/setup.py +2 -1
- tinygwas-0.2.3/tests/test_linear.py +72 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/CMakeLists.txt +18 -3
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/buffer_info.h +14 -14
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/cast.h +134 -9
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/detail/class.h +84 -65
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/detail/common.h +39 -15
- tinygwas-0.2.3/thirdparty/pybind11/include/pybind11/detail/cpp_conduit.h +77 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/detail/descr.h +3 -2
- tinygwas-0.2.3/thirdparty/pybind11/include/pybind11/detail/exception_translation.h +71 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/detail/init.h +4 -2
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/detail/internals.h +200 -96
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/detail/type_caster_base.h +85 -104
- tinygwas-0.2.3/thirdparty/pybind11/include/pybind11/detail/value_and_holder.h +77 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/eigen/matrix.h +2 -1
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/eigen/tensor.h +5 -6
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/embed.h +0 -3
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/functional.h +47 -35
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/gil.h +10 -38
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/gil_safe_call_once.h +10 -1
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/numpy.h +132 -13
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/pybind11.h +123 -87
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/pytypes.h +34 -1
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/stl/filesystem.h +17 -9
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/stl.h +2 -1
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/stl_bind.h +2 -3
- tinygwas-0.2.3/thirdparty/pybind11/include/pybind11/typing.h +242 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tests/CMakeLists.txt +25 -6
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt +3 -3
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt +3 -3
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt +3 -3
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt +3 -3
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt +3 -3
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt +3 -3
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tests/test_embed/CMakeLists.txt +7 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tools/FindPythonLibsNew.cmake +2 -2
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tools/codespell_ignore_lines_from_errors.py +3 -2
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tools/libsize.py +2 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tools/make_changelog.py +5 -1
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tools/pybind11Common.cmake +49 -9
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tools/pybind11Config.cmake.in +1 -1
- tinygwas-0.2.3/thirdparty/pybind11/tools/pybind11GuessPythonExtSuffix.cmake +86 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tools/pybind11NewTools.cmake +90 -60
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tools/pybind11Tools.cmake +1 -1
- tinygwas-0.2.3/thirdparty/pybind11/tools/test-pybind11GuessPythonExtSuffix.cmake +161 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3/tinygwas.egg-info}/PKG-INFO +8 -2
- {tinygwas-0.2.2 → tinygwas-0.2.3}/tinygwas.egg-info/SOURCES.txt +6 -0
- tinygwas-0.2.2/thirdparty/pybind11/include/pybind11/typing.h +0 -117
- {tinygwas-0.2.2 → tinygwas-0.2.3}/CMakeLists.txt +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/MANIFEST.in +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/README.md +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/setup.cfg +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/src/FileUtils.cpp +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/src/FileUtils.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/src/Utils.cpp +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/src/Utils.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/src/main.cpp +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/Cholesky +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/CholmodSupport +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/Core +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/Dense +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/Eigen +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/Eigenvalues +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/Geometry +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/Householder +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/IterativeLinearSolvers +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/Jacobi +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/KLUSupport +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/LU +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/MetisSupport +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/OrderingMethods +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/PaStiXSupport +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/PardisoSupport +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/QR +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/QtAlignedMalloc +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/SPQRSupport +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/SVD +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/Sparse +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/SparseCholesky +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/SparseCore +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/SparseLU +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/SparseQR +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/StdDeque +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/StdList +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/StdVector +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/SuperLUSupport +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/UmfPackSupport +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Cholesky/LDLT.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Cholesky/LLT.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Cholesky/LLT_LAPACKE.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/CholmodSupport/CholmodSupport.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/ArithmeticSequence.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Array.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/ArrayBase.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/ArrayWrapper.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Assign.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/AssignEvaluator.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Assign_MKL.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/BandMatrix.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Block.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/BooleanRedux.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/CommaInitializer.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/ConditionEstimator.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/CoreEvaluators.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/CoreIterators.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/CwiseBinaryOp.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/CwiseNullaryOp.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/CwiseTernaryOp.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/CwiseUnaryOp.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/CwiseUnaryView.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/DenseBase.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/DenseCoeffsBase.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/DenseStorage.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Diagonal.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/DiagonalMatrix.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/DiagonalProduct.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Dot.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/EigenBase.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/ForceAlignedAccess.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Fuzzy.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/GeneralProduct.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/GenericPacketMath.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/GlobalFunctions.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/IO.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/IndexedView.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Inverse.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Map.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/MapBase.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/MathFunctions.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/MathFunctionsImpl.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Matrix.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/MatrixBase.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/NestByValue.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/NoAlias.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/NumTraits.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/PartialReduxEvaluator.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/PermutationMatrix.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/PlainObjectBase.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Product.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/ProductEvaluators.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Random.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Redux.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Ref.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Replicate.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Reshaped.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/ReturnByValue.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Reverse.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Select.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/SelfAdjointView.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/SelfCwiseBinaryOp.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Solve.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/SolveTriangular.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/SolverBase.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/StableNorm.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/StlIterators.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Stride.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Swap.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Transpose.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Transpositions.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/TriangularMatrix.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/VectorBlock.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/VectorwiseOp.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/Visitor.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/AVX/Complex.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/AVX/MathFunctions.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/AVX/PacketMath.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/AVX/TypeCasting.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/AVX512/Complex.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/AVX512/MathFunctions.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/AVX512/PacketMath.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/AVX512/TypeCasting.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/AltiVec/Complex.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/AltiVec/MathFunctions.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/AltiVec/PacketMath.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/CUDA/Complex.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/Default/BFloat16.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/Default/ConjHelper.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/Default/Half.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/Default/Settings.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/Default/TypeCasting.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/GPU/MathFunctions.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/GPU/PacketMath.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/GPU/TypeCasting.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/HIP/hcc/math_constants.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/MSA/Complex.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/MSA/MathFunctions.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/MSA/PacketMath.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/NEON/Complex.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/NEON/MathFunctions.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/NEON/PacketMath.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/NEON/TypeCasting.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/SSE/Complex.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/SSE/MathFunctions.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/SSE/PacketMath.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/SSE/TypeCasting.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/SVE/MathFunctions.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/SVE/PacketMath.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/SVE/TypeCasting.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/SYCL/InteropHeaders.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/SYCL/MathFunctions.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/SYCL/PacketMath.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/SYCL/TypeCasting.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/ZVector/Complex.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/ZVector/MathFunctions.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/arch/ZVector/PacketMath.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/functors/AssignmentFunctors.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/functors/BinaryFunctors.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/functors/NullaryFunctors.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/functors/StlFunctors.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/functors/TernaryFunctors.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/functors/UnaryFunctors.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/products/GeneralBlockPanelKernel.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/products/GeneralMatrixMatrix.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/products/GeneralMatrixVector.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/products/Parallelizer.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/products/SelfadjointMatrixVector.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/products/SelfadjointProduct.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/products/SelfadjointRank2Update.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/products/TriangularMatrixMatrix.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/products/TriangularMatrixVector.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/products/TriangularSolverMatrix.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/products/TriangularSolverVector.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/util/BlasUtil.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/util/ConfigureVectorization.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/util/Constants.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/util/DisableStupidWarnings.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/util/ForwardDeclarations.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/util/IndexedViewHelper.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/util/IntegralConstant.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/util/MKL_support.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/util/Macros.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/util/Memory.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/util/Meta.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/util/NonMPL2.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/util/ReenableStupidWarnings.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/util/ReshapedHelper.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/util/StaticAssert.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/util/SymbolicIndex.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Core/util/XprHelper.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Eigenvalues/ComplexEigenSolver.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Eigenvalues/ComplexSchur.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Eigenvalues/EigenSolver.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Eigenvalues/HessenbergDecomposition.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Eigenvalues/RealQZ.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Eigenvalues/RealSchur.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Eigenvalues/Tridiagonalization.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Geometry/AlignedBox.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Geometry/AngleAxis.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Geometry/EulerAngles.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Geometry/Homogeneous.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Geometry/Hyperplane.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Geometry/OrthoMethods.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Geometry/ParametrizedLine.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Geometry/Quaternion.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Geometry/Rotation2D.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Geometry/RotationBase.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Geometry/Scaling.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Geometry/Transform.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Geometry/Translation.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Geometry/Umeyama.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Geometry/arch/Geometry_SIMD.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Householder/BlockHouseholder.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Householder/Householder.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Householder/HouseholderSequence.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/Jacobi/Jacobi.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/KLUSupport/KLUSupport.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/LU/Determinant.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/LU/FullPivLU.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/LU/InverseImpl.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/LU/PartialPivLU.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/LU/PartialPivLU_LAPACKE.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/LU/arch/InverseSize4.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/MetisSupport/MetisSupport.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/OrderingMethods/Amd.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/OrderingMethods/Eigen_Colamd.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/OrderingMethods/Ordering.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/PaStiXSupport/PaStiXSupport.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/PardisoSupport/PardisoSupport.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/QR/ColPivHouseholderQR.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/QR/CompleteOrthogonalDecomposition.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/QR/FullPivHouseholderQR.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/QR/HouseholderQR.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/QR/HouseholderQR_LAPACKE.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SVD/BDCSVD.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SVD/JacobiSVD.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SVD/JacobiSVD_LAPACKE.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SVD/SVDBase.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SVD/UpperBidiagonalization.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCholesky/SimplicialCholesky.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/AmbiVector.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/CompressedStorage.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/MappedSparseMatrix.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseAssign.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseBlock.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseColEtree.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseCompressedBase.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseDenseProduct.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseDiagonalProduct.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseDot.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseFuzzy.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseMap.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseMatrix.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseMatrixBase.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparsePermutation.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseProduct.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseRedux.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseRef.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseSelfAdjointView.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseSolverBase.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseTranspose.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseTriangularView.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseUtil.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseVector.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/SparseView.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseCore/TriangularSolver.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseLU/SparseLU.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseLU/SparseLUImpl.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseLU/SparseLU_Memory.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseLU/SparseLU_Structs.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseLU/SparseLU_Utils.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseLU/SparseLU_column_bmod.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseLU/SparseLU_column_dfs.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseLU/SparseLU_panel_bmod.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseLU/SparseLU_panel_dfs.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseLU/SparseLU_pivotL.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseLU/SparseLU_pruneL.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseLU/SparseLU_relax_snode.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SparseQR/SparseQR.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/StlSupport/StdDeque.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/StlSupport/StdList.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/StlSupport/StdVector.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/StlSupport/details.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/SuperLUSupport/SuperLUSupport.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/UmfPackSupport/UmfPackSupport.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/misc/Image.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/misc/Kernel.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/misc/RealSvd2x2.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/misc/blas.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/misc/lapack.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/misc/lapacke.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/misc/lapacke_mangling.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/plugins/ArrayCwiseBinaryOps.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/plugins/BlockMethods.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/plugins/CommonCwiseUnaryOps.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/plugins/IndexedViewMethods.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/Eigen/src/plugins/ReshapedMethods.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/LICENSE +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/attr.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/chrono.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/common.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/complex.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/detail/typeid.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/eigen/common.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/eigen.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/eval.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/iostream.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/operators.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/options.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/include/pybind11/type_caster_pyobject_ptr.h +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tests/test_cmake_build/CMakeLists.txt +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tools/FindCatch.cmake +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tools/FindEigen3.cmake +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tools/JoinPaths.cmake +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tools/check-style.sh +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tools/cmake_uninstall.cmake.in +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tools/pybind11.pc.in +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tools/pyproject.toml +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tools/setup_global.py.in +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/thirdparty/pybind11/tools/setup_main.py.in +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/tinygwas.egg-info/dependency_links.txt +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/tinygwas.egg-info/not-zip-safe +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/tinygwas.egg-info/requires.txt +0 -0
- {tinygwas-0.2.2 → tinygwas-0.2.3}/tinygwas.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: tinygwas
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.3
|
|
4
4
|
Summary: Toy C++ implementation with python wrapper for genome-wide association testing
|
|
5
5
|
Author: Kangcheng Hou
|
|
6
6
|
Author-email: kangchenghou@gmail.com
|
|
7
|
+
Requires-Dist: pybind11
|
|
8
|
+
Requires-Dist: numpy
|
|
9
|
+
Dynamic: author
|
|
10
|
+
Dynamic: author-email
|
|
11
|
+
Dynamic: requires-dist
|
|
12
|
+
Dynamic: summary
|
|
@@ -40,6 +40,7 @@ class CMakeBuild(build_ext):
|
|
|
40
40
|
cmake_args = [
|
|
41
41
|
"-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=" + extdir,
|
|
42
42
|
"-DPYTHON_EXECUTABLE=" + sys.executable,
|
|
43
|
+
"-DPython_EXECUTABLE=" + sys.executable,
|
|
43
44
|
]
|
|
44
45
|
|
|
45
46
|
cfg = "Debug" if self.debug else "Release"
|
|
@@ -73,7 +74,7 @@ class CMakeBuild(build_ext):
|
|
|
73
74
|
|
|
74
75
|
setup(
|
|
75
76
|
name="tinygwas",
|
|
76
|
-
version="0.2.
|
|
77
|
+
version="0.2.3",
|
|
77
78
|
install_requires=["pybind11", "numpy"],
|
|
78
79
|
author="Kangcheng Hou",
|
|
79
80
|
author_email="kangchenghou@gmail.com",
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import statsmodels.api as sm
|
|
2
|
+
import numpy as np
|
|
3
|
+
import tinygwas
|
|
4
|
+
|
|
5
|
+
# statsmodels implementation
|
|
6
|
+
def linear_ftest(var, cov, pheno, var_size, test_vars):
|
|
7
|
+
"""
|
|
8
|
+
Same interface with the tinygwas.linear_f_test function.
|
|
9
|
+
"""
|
|
10
|
+
n_indiv = var.shape[0]
|
|
11
|
+
n_var = var.shape[1]
|
|
12
|
+
n_cov = cov.shape[1]
|
|
13
|
+
|
|
14
|
+
design = np.zeros((n_indiv, var_size + n_cov))
|
|
15
|
+
design[:, var_size : var_size + n_cov] = cov
|
|
16
|
+
|
|
17
|
+
n_test = int(n_var / var_size)
|
|
18
|
+
fvalues = np.zeros(n_test)
|
|
19
|
+
|
|
20
|
+
f_test_r_matrix = np.zeros((len(test_vars), design.shape[1]))
|
|
21
|
+
for i, v in enumerate(test_vars):
|
|
22
|
+
f_test_r_matrix[i, v] = 1
|
|
23
|
+
|
|
24
|
+
for i_test in range(n_test):
|
|
25
|
+
design[:, 0:var_size] = var[:, i_test * var_size : (i_test + 1) * var_size]
|
|
26
|
+
model = sm.OLS(pheno, design, missing="drop").fit()
|
|
27
|
+
fvalues[i_test] = model.f_test(f_test_r_matrix).fvalue
|
|
28
|
+
return fvalues
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
# TODO: also test for logistic regression
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def test_consistency():
|
|
35
|
+
np.random.seed(1234)
|
|
36
|
+
n_indiv = 100
|
|
37
|
+
n_cov = 3
|
|
38
|
+
var_size = 3
|
|
39
|
+
n_snp = 10
|
|
40
|
+
test_vars = [1, 2]
|
|
41
|
+
cov = np.random.normal(size=(n_indiv, n_cov))
|
|
42
|
+
pheno = np.random.normal(size=n_indiv)
|
|
43
|
+
var = np.random.normal(size=(n_indiv, n_snp * var_size))
|
|
44
|
+
|
|
45
|
+
# test consistency without NaN
|
|
46
|
+
res = np.zeros((n_snp, var_size * 2 + 2))
|
|
47
|
+
fvalues1 = np.empty(n_snp)
|
|
48
|
+
nindiv1 = np.empty(n_snp)
|
|
49
|
+
tinygwas.linear_f_test(var, cov, pheno, var_size, test_vars, res)
|
|
50
|
+
fvalues1 = res[:, -1]
|
|
51
|
+
fvalues2 = linear_ftest(var, cov, pheno, var_size, test_vars)
|
|
52
|
+
print("Without NaN:")
|
|
53
|
+
print(fvalues1[0:5])
|
|
54
|
+
|
|
55
|
+
print("With NaN:")
|
|
56
|
+
|
|
57
|
+
# test consistency with NaN
|
|
58
|
+
n_rand = 10
|
|
59
|
+
# randomly set two values to NaN
|
|
60
|
+
for i in range(n_rand):
|
|
61
|
+
nan_var = var.copy()
|
|
62
|
+
for _ in range(3):
|
|
63
|
+
nan_var[
|
|
64
|
+
np.random.randint(0, nan_var.shape[0]),
|
|
65
|
+
np.random.randint(0, nan_var.shape[1]),
|
|
66
|
+
] = np.nan
|
|
67
|
+
tinygwas.linear_f_test(nan_var, cov, pheno, var_size, test_vars, res)
|
|
68
|
+
fvalues1 = res[:, -1]
|
|
69
|
+
fvalues2 = linear_ftest(nan_var, cov, pheno, var_size, test_vars)
|
|
70
|
+
print(fvalues1[0:5])
|
|
71
|
+
|
|
72
|
+
assert np.allclose(fvalues1, fvalues2)
|
|
@@ -12,13 +12,13 @@ endif()
|
|
|
12
12
|
|
|
13
13
|
cmake_minimum_required(VERSION 3.5)
|
|
14
14
|
|
|
15
|
-
# The `cmake_minimum_required(VERSION 3.5...3.
|
|
15
|
+
# The `cmake_minimum_required(VERSION 3.5...3.29)` syntax does not work with
|
|
16
16
|
# some versions of VS that have a patched CMake 3.11. This forces us to emulate
|
|
17
17
|
# the behavior using the following workaround:
|
|
18
|
-
if(${CMAKE_VERSION} VERSION_LESS 3.
|
|
18
|
+
if(${CMAKE_VERSION} VERSION_LESS 3.29)
|
|
19
19
|
cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
|
|
20
20
|
else()
|
|
21
|
-
cmake_policy(VERSION 3.
|
|
21
|
+
cmake_policy(VERSION 3.29)
|
|
22
22
|
endif()
|
|
23
23
|
|
|
24
24
|
if(_pybind11_cmp0148)
|
|
@@ -107,15 +107,26 @@ endif()
|
|
|
107
107
|
option(PYBIND11_INSTALL "Install pybind11 header files?" ${PYBIND11_MASTER_PROJECT})
|
|
108
108
|
option(PYBIND11_TEST "Build pybind11 test suite?" ${PYBIND11_MASTER_PROJECT})
|
|
109
109
|
option(PYBIND11_NOPYTHON "Disable search for Python" OFF)
|
|
110
|
+
option(PYBIND11_DISABLE_HANDLE_TYPE_NAME_DEFAULT_IMPLEMENTATION
|
|
111
|
+
"To enforce that a handle_type_name<> specialization exists" OFF)
|
|
110
112
|
option(PYBIND11_SIMPLE_GIL_MANAGEMENT
|
|
111
113
|
"Use simpler GIL management logic that does not support disassociation" OFF)
|
|
114
|
+
option(PYBIND11_NUMPY_1_ONLY
|
|
115
|
+
"Disable NumPy 2 support to avoid changes to previous pybind11 versions." OFF)
|
|
112
116
|
set(PYBIND11_INTERNALS_VERSION
|
|
113
117
|
""
|
|
114
118
|
CACHE STRING "Override the ABI version, may be used to enable the unstable ABI.")
|
|
119
|
+
option(PYBIND11_USE_CROSSCOMPILING "Respect CMAKE_CROSSCOMPILING" OFF)
|
|
115
120
|
|
|
121
|
+
if(PYBIND11_DISABLE_HANDLE_TYPE_NAME_DEFAULT_IMPLEMENTATION)
|
|
122
|
+
add_compile_definitions(PYBIND11_DISABLE_HANDLE_TYPE_NAME_DEFAULT_IMPLEMENTATION)
|
|
123
|
+
endif()
|
|
116
124
|
if(PYBIND11_SIMPLE_GIL_MANAGEMENT)
|
|
117
125
|
add_compile_definitions(PYBIND11_SIMPLE_GIL_MANAGEMENT)
|
|
118
126
|
endif()
|
|
127
|
+
if(PYBIND11_NUMPY_1_ONLY)
|
|
128
|
+
add_compile_definitions(PYBIND11_NUMPY_1_ONLY)
|
|
129
|
+
endif()
|
|
119
130
|
|
|
120
131
|
cmake_dependent_option(
|
|
121
132
|
USE_PYTHON_INCLUDE_DIR
|
|
@@ -138,11 +149,14 @@ endif()
|
|
|
138
149
|
set(PYBIND11_HEADERS
|
|
139
150
|
include/pybind11/detail/class.h
|
|
140
151
|
include/pybind11/detail/common.h
|
|
152
|
+
include/pybind11/detail/cpp_conduit.h
|
|
141
153
|
include/pybind11/detail/descr.h
|
|
142
154
|
include/pybind11/detail/init.h
|
|
143
155
|
include/pybind11/detail/internals.h
|
|
144
156
|
include/pybind11/detail/type_caster_base.h
|
|
145
157
|
include/pybind11/detail/typeid.h
|
|
158
|
+
include/pybind11/detail/value_and_holder.h
|
|
159
|
+
include/pybind11/detail/exception_translation.h
|
|
146
160
|
include/pybind11/attr.h
|
|
147
161
|
include/pybind11/buffer_info.h
|
|
148
162
|
include/pybind11/cast.h
|
|
@@ -289,6 +303,7 @@ if(PYBIND11_INSTALL)
|
|
|
289
303
|
tools/pybind11Common.cmake
|
|
290
304
|
tools/pybind11Tools.cmake
|
|
291
305
|
tools/pybind11NewTools.cmake
|
|
306
|
+
tools/pybind11GuessPythonExtSuffix.cmake
|
|
292
307
|
DESTINATION ${PYBIND11_CMAKECONFIG_INSTALL_DIR})
|
|
293
308
|
|
|
294
309
|
if(NOT PYBIND11_EXPORT_NAME)
|
|
@@ -102,22 +102,22 @@ struct buffer_info {
|
|
|
102
102
|
template <typename T>
|
|
103
103
|
buffer_info(const T *ptr, ssize_t size, bool readonly = true)
|
|
104
104
|
: buffer_info(
|
|
105
|
-
|
|
105
|
+
const_cast<T *>(ptr), sizeof(T), format_descriptor<T>::format(), size, readonly) {}
|
|
106
106
|
|
|
107
107
|
explicit buffer_info(Py_buffer *view, bool ownview = true)
|
|
108
108
|
: buffer_info(
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
109
|
+
view->buf,
|
|
110
|
+
view->itemsize,
|
|
111
|
+
view->format,
|
|
112
|
+
view->ndim,
|
|
113
|
+
{view->shape, view->shape + view->ndim},
|
|
114
|
+
/* Though buffer::request() requests PyBUF_STRIDES, ctypes objects
|
|
115
|
+
* ignore this flag and return a view with NULL strides.
|
|
116
|
+
* When strides are NULL, build them manually. */
|
|
117
|
+
view->strides
|
|
118
|
+
? std::vector<ssize_t>(view->strides, view->strides + view->ndim)
|
|
119
|
+
: detail::c_strides({view->shape, view->shape + view->ndim}, view->itemsize),
|
|
120
|
+
(view->readonly != 0)) {
|
|
121
121
|
// NOLINTNEXTLINE(cppcoreguidelines-prefer-member-initializer)
|
|
122
122
|
this->m_view = view;
|
|
123
123
|
// NOLINTNEXTLINE(cppcoreguidelines-prefer-member-initializer)
|
|
@@ -176,7 +176,7 @@ private:
|
|
|
176
176
|
detail::any_container<ssize_t> &&strides_in,
|
|
177
177
|
bool readonly)
|
|
178
178
|
: buffer_info(
|
|
179
|
-
|
|
179
|
+
ptr, itemsize, format, ndim, std::move(shape_in), std::move(strides_in), readonly) {}
|
|
180
180
|
|
|
181
181
|
Py_buffer *m_view = nullptr;
|
|
182
182
|
bool ownview = false;
|
|
@@ -327,8 +327,9 @@ public:
|
|
|
327
327
|
value = false;
|
|
328
328
|
return true;
|
|
329
329
|
}
|
|
330
|
-
if (convert || (
|
|
331
|
-
// (allow non-implicit conversion for numpy booleans)
|
|
330
|
+
if (convert || is_numpy_bool(src)) {
|
|
331
|
+
// (allow non-implicit conversion for numpy booleans), use strncmp
|
|
332
|
+
// since NumPy 1.x had an additional trailing underscore.
|
|
332
333
|
|
|
333
334
|
Py_ssize_t res = -1;
|
|
334
335
|
if (src.is_none()) {
|
|
@@ -360,6 +361,15 @@ public:
|
|
|
360
361
|
return handle(src ? Py_True : Py_False).inc_ref();
|
|
361
362
|
}
|
|
362
363
|
PYBIND11_TYPE_CASTER(bool, const_name("bool"));
|
|
364
|
+
|
|
365
|
+
private:
|
|
366
|
+
// Test if an object is a NumPy boolean (without fetching the type).
|
|
367
|
+
static inline bool is_numpy_bool(handle object) {
|
|
368
|
+
const char *type_name = Py_TYPE(object.ptr())->tp_name;
|
|
369
|
+
// Name changed to `numpy.bool` in NumPy 2, `numpy.bool_` is needed for 1.x support
|
|
370
|
+
return std::strcmp("numpy.bool", type_name) == 0
|
|
371
|
+
|| std::strcmp("numpy.bool_", type_name) == 0;
|
|
372
|
+
}
|
|
363
373
|
};
|
|
364
374
|
|
|
365
375
|
// Helper class for UTF-{8,16,32} C++ stl strings:
|
|
@@ -662,8 +672,9 @@ public:
|
|
|
662
672
|
return cast(*src, policy, parent);
|
|
663
673
|
}
|
|
664
674
|
|
|
665
|
-
static constexpr auto name
|
|
666
|
-
|
|
675
|
+
static constexpr auto name = const_name("tuple[")
|
|
676
|
+
+ ::pybind11::detail::concat(make_caster<Ts>::name...)
|
|
677
|
+
+ const_name("]");
|
|
667
678
|
|
|
668
679
|
template <typename T>
|
|
669
680
|
using cast_op_type = type;
|
|
@@ -729,6 +740,13 @@ class type_caster<std::pair<T1, T2>> : public tuple_caster<std::pair, T1, T2> {}
|
|
|
729
740
|
template <typename... Ts>
|
|
730
741
|
class type_caster<std::tuple<Ts...>> : public tuple_caster<std::tuple, Ts...> {};
|
|
731
742
|
|
|
743
|
+
template <>
|
|
744
|
+
class type_caster<std::tuple<>> : public tuple_caster<std::tuple> {
|
|
745
|
+
public:
|
|
746
|
+
// PEP 484 specifies this syntax for an empty tuple
|
|
747
|
+
static constexpr auto name = const_name("tuple[()]");
|
|
748
|
+
};
|
|
749
|
+
|
|
732
750
|
/// Helper class which abstracts away certain actions. Users can provide specializations for
|
|
733
751
|
/// custom holders, but it's only necessary if the type has a non-standard interface.
|
|
734
752
|
template <typename T>
|
|
@@ -776,11 +794,11 @@ protected:
|
|
|
776
794
|
}
|
|
777
795
|
}
|
|
778
796
|
|
|
779
|
-
|
|
797
|
+
void load_value(value_and_holder &&v_h) {
|
|
780
798
|
if (v_h.holder_constructed()) {
|
|
781
799
|
value = v_h.value_ptr();
|
|
782
800
|
holder = v_h.template holder<holder_type>();
|
|
783
|
-
return
|
|
801
|
+
return;
|
|
784
802
|
}
|
|
785
803
|
throw cast_error("Unable to cast from non-held to held instance (T& to Holder<T>) "
|
|
786
804
|
#if !defined(PYBIND11_DETAILED_ERROR_MESSAGES)
|
|
@@ -871,10 +889,53 @@ struct is_holder_type
|
|
|
871
889
|
template <typename base, typename deleter>
|
|
872
890
|
struct is_holder_type<base, std::unique_ptr<base, deleter>> : std::true_type {};
|
|
873
891
|
|
|
892
|
+
#ifdef PYBIND11_DISABLE_HANDLE_TYPE_NAME_DEFAULT_IMPLEMENTATION // See PR #4888
|
|
893
|
+
|
|
894
|
+
// This leads to compilation errors if a specialization is missing.
|
|
895
|
+
template <typename T>
|
|
896
|
+
struct handle_type_name;
|
|
897
|
+
|
|
898
|
+
#else
|
|
899
|
+
|
|
874
900
|
template <typename T>
|
|
875
901
|
struct handle_type_name {
|
|
876
902
|
static constexpr auto name = const_name<T>();
|
|
877
903
|
};
|
|
904
|
+
|
|
905
|
+
#endif
|
|
906
|
+
|
|
907
|
+
template <>
|
|
908
|
+
struct handle_type_name<object> {
|
|
909
|
+
static constexpr auto name = const_name("object");
|
|
910
|
+
};
|
|
911
|
+
template <>
|
|
912
|
+
struct handle_type_name<list> {
|
|
913
|
+
static constexpr auto name = const_name("list");
|
|
914
|
+
};
|
|
915
|
+
template <>
|
|
916
|
+
struct handle_type_name<dict> {
|
|
917
|
+
static constexpr auto name = const_name("dict");
|
|
918
|
+
};
|
|
919
|
+
template <>
|
|
920
|
+
struct handle_type_name<anyset> {
|
|
921
|
+
static constexpr auto name = const_name("Union[set, frozenset]");
|
|
922
|
+
};
|
|
923
|
+
template <>
|
|
924
|
+
struct handle_type_name<set> {
|
|
925
|
+
static constexpr auto name = const_name("set");
|
|
926
|
+
};
|
|
927
|
+
template <>
|
|
928
|
+
struct handle_type_name<frozenset> {
|
|
929
|
+
static constexpr auto name = const_name("frozenset");
|
|
930
|
+
};
|
|
931
|
+
template <>
|
|
932
|
+
struct handle_type_name<str> {
|
|
933
|
+
static constexpr auto name = const_name("str");
|
|
934
|
+
};
|
|
935
|
+
template <>
|
|
936
|
+
struct handle_type_name<tuple> {
|
|
937
|
+
static constexpr auto name = const_name("tuple");
|
|
938
|
+
};
|
|
878
939
|
template <>
|
|
879
940
|
struct handle_type_name<bool_> {
|
|
880
941
|
static constexpr auto name = const_name("bool");
|
|
@@ -920,6 +981,34 @@ struct handle_type_name<sequence> {
|
|
|
920
981
|
static constexpr auto name = const_name("Sequence");
|
|
921
982
|
};
|
|
922
983
|
template <>
|
|
984
|
+
struct handle_type_name<bytearray> {
|
|
985
|
+
static constexpr auto name = const_name("bytearray");
|
|
986
|
+
};
|
|
987
|
+
template <>
|
|
988
|
+
struct handle_type_name<memoryview> {
|
|
989
|
+
static constexpr auto name = const_name("memoryview");
|
|
990
|
+
};
|
|
991
|
+
template <>
|
|
992
|
+
struct handle_type_name<slice> {
|
|
993
|
+
static constexpr auto name = const_name("slice");
|
|
994
|
+
};
|
|
995
|
+
template <>
|
|
996
|
+
struct handle_type_name<type> {
|
|
997
|
+
static constexpr auto name = const_name("type");
|
|
998
|
+
};
|
|
999
|
+
template <>
|
|
1000
|
+
struct handle_type_name<capsule> {
|
|
1001
|
+
static constexpr auto name = const_name("capsule");
|
|
1002
|
+
};
|
|
1003
|
+
template <>
|
|
1004
|
+
struct handle_type_name<ellipsis> {
|
|
1005
|
+
static constexpr auto name = const_name("ellipsis");
|
|
1006
|
+
};
|
|
1007
|
+
template <>
|
|
1008
|
+
struct handle_type_name<weakref> {
|
|
1009
|
+
static constexpr auto name = const_name("weakref");
|
|
1010
|
+
};
|
|
1011
|
+
template <>
|
|
923
1012
|
struct handle_type_name<args> {
|
|
924
1013
|
static constexpr auto name = const_name("*args");
|
|
925
1014
|
};
|
|
@@ -927,6 +1016,30 @@ template <>
|
|
|
927
1016
|
struct handle_type_name<kwargs> {
|
|
928
1017
|
static constexpr auto name = const_name("**kwargs");
|
|
929
1018
|
};
|
|
1019
|
+
template <>
|
|
1020
|
+
struct handle_type_name<obj_attr_accessor> {
|
|
1021
|
+
static constexpr auto name = const_name<obj_attr_accessor>();
|
|
1022
|
+
};
|
|
1023
|
+
template <>
|
|
1024
|
+
struct handle_type_name<str_attr_accessor> {
|
|
1025
|
+
static constexpr auto name = const_name<str_attr_accessor>();
|
|
1026
|
+
};
|
|
1027
|
+
template <>
|
|
1028
|
+
struct handle_type_name<item_accessor> {
|
|
1029
|
+
static constexpr auto name = const_name<item_accessor>();
|
|
1030
|
+
};
|
|
1031
|
+
template <>
|
|
1032
|
+
struct handle_type_name<sequence_accessor> {
|
|
1033
|
+
static constexpr auto name = const_name<sequence_accessor>();
|
|
1034
|
+
};
|
|
1035
|
+
template <>
|
|
1036
|
+
struct handle_type_name<list_accessor> {
|
|
1037
|
+
static constexpr auto name = const_name<list_accessor>();
|
|
1038
|
+
};
|
|
1039
|
+
template <>
|
|
1040
|
+
struct handle_type_name<tuple_accessor> {
|
|
1041
|
+
static constexpr auto name = const_name<tuple_accessor>();
|
|
1042
|
+
};
|
|
930
1043
|
|
|
931
1044
|
template <typename type>
|
|
932
1045
|
struct pyobject_caster {
|
|
@@ -1233,13 +1346,24 @@ enable_if_t<!cast_is_temporary_value_reference<T>::value, T> cast_ref(object &&,
|
|
|
1233
1346
|
// static_assert, even though if it's in dead code, so we provide a "trampoline" to pybind11::cast
|
|
1234
1347
|
// that only does anything in cases where pybind11::cast is valid.
|
|
1235
1348
|
template <typename T>
|
|
1236
|
-
enable_if_t<cast_is_temporary_value_reference<T>::value
|
|
1349
|
+
enable_if_t<cast_is_temporary_value_reference<T>::value
|
|
1350
|
+
&& !detail::is_same_ignoring_cvref<T, PyObject *>::value,
|
|
1351
|
+
T>
|
|
1352
|
+
cast_safe(object &&) {
|
|
1237
1353
|
pybind11_fail("Internal error: cast_safe fallback invoked");
|
|
1238
1354
|
}
|
|
1239
1355
|
template <typename T>
|
|
1240
1356
|
enable_if_t<std::is_void<T>::value, void> cast_safe(object &&) {}
|
|
1241
1357
|
template <typename T>
|
|
1242
|
-
enable_if_t<detail::
|
|
1358
|
+
enable_if_t<detail::is_same_ignoring_cvref<T, PyObject *>::value, PyObject *>
|
|
1359
|
+
cast_safe(object &&o) {
|
|
1360
|
+
return o.release().ptr();
|
|
1361
|
+
}
|
|
1362
|
+
template <typename T>
|
|
1363
|
+
enable_if_t<detail::none_of<cast_is_temporary_value_reference<T>,
|
|
1364
|
+
detail::is_same_ignoring_cvref<T, PyObject *>,
|
|
1365
|
+
std::is_void<T>>::value,
|
|
1366
|
+
T>
|
|
1243
1367
|
cast_safe(object &&o) {
|
|
1244
1368
|
return pybind11::cast<T>(std::move(o));
|
|
1245
1369
|
}
|
|
@@ -1464,7 +1588,8 @@ public:
|
|
|
1464
1588
|
static_assert(args_pos == -1 || args_pos == constexpr_first<argument_is_args, Args...>(),
|
|
1465
1589
|
"py::args cannot be specified more than once");
|
|
1466
1590
|
|
|
1467
|
-
static constexpr auto arg_names
|
|
1591
|
+
static constexpr auto arg_names
|
|
1592
|
+
= ::pybind11::detail::concat(type_descr(make_caster<Args>::name)...);
|
|
1468
1593
|
|
|
1469
1594
|
bool load_args(function_call &call) { return load_impl_sequence(call, indices{}); }
|
|
1470
1595
|
|
|
@@ -9,8 +9,10 @@
|
|
|
9
9
|
|
|
10
10
|
#pragma once
|
|
11
11
|
|
|
12
|
-
#include
|
|
13
|
-
#include
|
|
12
|
+
#include <pybind11/attr.h>
|
|
13
|
+
#include <pybind11/options.h>
|
|
14
|
+
|
|
15
|
+
#include "exception_translation.h"
|
|
14
16
|
|
|
15
17
|
PYBIND11_NAMESPACE_BEGIN(PYBIND11_NAMESPACE)
|
|
16
18
|
PYBIND11_NAMESPACE_BEGIN(detail)
|
|
@@ -205,39 +207,40 @@ extern "C" inline PyObject *pybind11_meta_call(PyObject *type, PyObject *args, P
|
|
|
205
207
|
|
|
206
208
|
/// Cleanup the type-info for a pybind11-registered type.
|
|
207
209
|
extern "C" inline void pybind11_meta_dealloc(PyObject *obj) {
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
} else {
|
|
225
|
-
internals.registered_types_cpp.erase(tindex);
|
|
226
|
-
}
|
|
227
|
-
internals.registered_types_py.erase(tinfo->type);
|
|
228
|
-
|
|
229
|
-
// Actually just `std::erase_if`, but that's only available in C++20
|
|
230
|
-
auto &cache = internals.inactive_override_cache;
|
|
231
|
-
for (auto it = cache.begin(), last = cache.end(); it != last;) {
|
|
232
|
-
if (it->first == (PyObject *) tinfo->type) {
|
|
233
|
-
it = cache.erase(it);
|
|
210
|
+
with_internals([obj](internals &internals) {
|
|
211
|
+
auto *type = (PyTypeObject *) obj;
|
|
212
|
+
|
|
213
|
+
// A pybind11-registered type will:
|
|
214
|
+
// 1) be found in internals.registered_types_py
|
|
215
|
+
// 2) have exactly one associated `detail::type_info`
|
|
216
|
+
auto found_type = internals.registered_types_py.find(type);
|
|
217
|
+
if (found_type != internals.registered_types_py.end() && found_type->second.size() == 1
|
|
218
|
+
&& found_type->second[0]->type == type) {
|
|
219
|
+
|
|
220
|
+
auto *tinfo = found_type->second[0];
|
|
221
|
+
auto tindex = std::type_index(*tinfo->cpptype);
|
|
222
|
+
internals.direct_conversions.erase(tindex);
|
|
223
|
+
|
|
224
|
+
if (tinfo->module_local) {
|
|
225
|
+
get_local_internals().registered_types_cpp.erase(tindex);
|
|
234
226
|
} else {
|
|
235
|
-
|
|
227
|
+
internals.registered_types_cpp.erase(tindex);
|
|
228
|
+
}
|
|
229
|
+
internals.registered_types_py.erase(tinfo->type);
|
|
230
|
+
|
|
231
|
+
// Actually just `std::erase_if`, but that's only available in C++20
|
|
232
|
+
auto &cache = internals.inactive_override_cache;
|
|
233
|
+
for (auto it = cache.begin(), last = cache.end(); it != last;) {
|
|
234
|
+
if (it->first == (PyObject *) tinfo->type) {
|
|
235
|
+
it = cache.erase(it);
|
|
236
|
+
} else {
|
|
237
|
+
++it;
|
|
238
|
+
}
|
|
236
239
|
}
|
|
237
|
-
}
|
|
238
240
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
+
delete tinfo;
|
|
242
|
+
}
|
|
243
|
+
});
|
|
241
244
|
|
|
242
245
|
PyType_Type.tp_dealloc(obj);
|
|
243
246
|
}
|
|
@@ -310,19 +313,20 @@ inline void traverse_offset_bases(void *valueptr,
|
|
|
310
313
|
}
|
|
311
314
|
|
|
312
315
|
inline bool register_instance_impl(void *ptr, instance *self) {
|
|
313
|
-
|
|
316
|
+
with_instance_map(ptr, [&](instance_map &instances) { instances.emplace(ptr, self); });
|
|
314
317
|
return true; // unused, but gives the same signature as the deregister func
|
|
315
318
|
}
|
|
316
319
|
inline bool deregister_instance_impl(void *ptr, instance *self) {
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
320
|
+
return with_instance_map(ptr, [&](instance_map &instances) {
|
|
321
|
+
auto range = instances.equal_range(ptr);
|
|
322
|
+
for (auto it = range.first; it != range.second; ++it) {
|
|
323
|
+
if (self == it->second) {
|
|
324
|
+
instances.erase(it);
|
|
325
|
+
return true;
|
|
326
|
+
}
|
|
323
327
|
}
|
|
324
|
-
|
|
325
|
-
|
|
328
|
+
return false;
|
|
329
|
+
});
|
|
326
330
|
}
|
|
327
331
|
|
|
328
332
|
inline void register_instance(instance *self, void *valptr, const type_info *tinfo) {
|
|
@@ -377,23 +381,32 @@ extern "C" inline int pybind11_object_init(PyObject *self, PyObject *, PyObject
|
|
|
377
381
|
}
|
|
378
382
|
|
|
379
383
|
inline void add_patient(PyObject *nurse, PyObject *patient) {
|
|
380
|
-
auto &internals = get_internals();
|
|
381
384
|
auto *instance = reinterpret_cast<detail::instance *>(nurse);
|
|
382
385
|
instance->has_patients = true;
|
|
383
386
|
Py_INCREF(patient);
|
|
384
|
-
|
|
387
|
+
|
|
388
|
+
with_internals([&](internals &internals) { internals.patients[nurse].push_back(patient); });
|
|
385
389
|
}
|
|
386
390
|
|
|
387
391
|
inline void clear_patients(PyObject *self) {
|
|
388
392
|
auto *instance = reinterpret_cast<detail::instance *>(self);
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
393
|
+
std::vector<PyObject *> patients;
|
|
394
|
+
|
|
395
|
+
with_internals([&](internals &internals) {
|
|
396
|
+
auto pos = internals.patients.find(self);
|
|
397
|
+
|
|
398
|
+
if (pos == internals.patients.end()) {
|
|
399
|
+
pybind11_fail(
|
|
400
|
+
"FATAL: Internal consistency check failed: Invalid clear_patients() call.");
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
// Clearing the patients can cause more Python code to run, which
|
|
404
|
+
// can invalidate the iterator. Extract the vector of patients
|
|
405
|
+
// from the unordered_map first.
|
|
406
|
+
patients = std::move(pos->second);
|
|
407
|
+
internals.patients.erase(pos);
|
|
408
|
+
});
|
|
409
|
+
|
|
397
410
|
instance->has_patients = false;
|
|
398
411
|
for (PyObject *&patient : patients) {
|
|
399
412
|
Py_CLEAR(patient);
|
|
@@ -556,17 +569,9 @@ inline void enable_dynamic_attributes(PyHeapTypeObject *heap_type) {
|
|
|
556
569
|
type->tp_traverse = pybind11_traverse;
|
|
557
570
|
type->tp_clear = pybind11_clear;
|
|
558
571
|
|
|
559
|
-
static PyGetSetDef getset[]
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
#else
|
|
563
|
-
"__dict__",
|
|
564
|
-
#endif
|
|
565
|
-
PyObject_GenericGetDict,
|
|
566
|
-
PyObject_GenericSetDict,
|
|
567
|
-
nullptr,
|
|
568
|
-
nullptr},
|
|
569
|
-
{nullptr, nullptr, nullptr, nullptr, nullptr}};
|
|
572
|
+
static PyGetSetDef getset[]
|
|
573
|
+
= {{"__dict__", PyObject_GenericGetDict, PyObject_GenericSetDict, nullptr, nullptr},
|
|
574
|
+
{nullptr, nullptr, nullptr, nullptr, nullptr}};
|
|
570
575
|
type->tp_getset = getset;
|
|
571
576
|
}
|
|
572
577
|
|
|
@@ -588,7 +593,18 @@ extern "C" inline int pybind11_getbuffer(PyObject *obj, Py_buffer *view, int fla
|
|
|
588
593
|
return -1;
|
|
589
594
|
}
|
|
590
595
|
std::memset(view, 0, sizeof(Py_buffer));
|
|
591
|
-
buffer_info *info =
|
|
596
|
+
buffer_info *info = nullptr;
|
|
597
|
+
try {
|
|
598
|
+
info = tinfo->get_buffer(obj, tinfo->get_buffer_data);
|
|
599
|
+
} catch (...) {
|
|
600
|
+
try_translate_exceptions();
|
|
601
|
+
raise_from(PyExc_BufferError, "Error getting buffer");
|
|
602
|
+
return -1;
|
|
603
|
+
}
|
|
604
|
+
if (info == nullptr) {
|
|
605
|
+
pybind11_fail("FATAL UNEXPECTED SITUATION: tinfo->get_buffer() returned nullptr.");
|
|
606
|
+
}
|
|
607
|
+
|
|
592
608
|
if ((flags & PyBUF_WRITABLE) == PyBUF_WRITABLE && info->readonly) {
|
|
593
609
|
delete info;
|
|
594
610
|
// view->obj = nullptr; // Was just memset to 0, so not necessary
|
|
@@ -658,10 +674,13 @@ inline PyObject *make_new_python_type(const type_record &rec) {
|
|
|
658
674
|
|
|
659
675
|
char *tp_doc = nullptr;
|
|
660
676
|
if (rec.doc && options::show_user_defined_docstrings()) {
|
|
661
|
-
/* Allocate memory for docstring (
|
|
662
|
-
Python will free this later on) */
|
|
677
|
+
/* Allocate memory for docstring (Python will free this later on) */
|
|
663
678
|
size_t size = std::strlen(rec.doc) + 1;
|
|
679
|
+
#if PY_VERSION_HEX >= 0x030D0000
|
|
680
|
+
tp_doc = (char *) PyMem_MALLOC(size);
|
|
681
|
+
#else
|
|
664
682
|
tp_doc = (char *) PyObject_MALLOC(size);
|
|
683
|
+
#endif
|
|
665
684
|
std::memcpy((void *) tp_doc, rec.doc, size);
|
|
666
685
|
}
|
|
667
686
|
|