tinygwas 0.2.2__tar.gz → 0.2.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.
Files changed (423) hide show
  1. {tinygwas-0.2.2/tinygwas.egg-info → tinygwas-0.2.4}/PKG-INFO +8 -2
  2. tinygwas-0.2.4/pyproject.toml +13 -0
  3. {tinygwas-0.2.2 → tinygwas-0.2.4}/setup.py +6 -5
  4. tinygwas-0.2.4/tests/test_linear.py +72 -0
  5. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/CMakeLists.txt +18 -3
  6. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/buffer_info.h +14 -14
  7. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/cast.h +134 -9
  8. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/detail/class.h +84 -65
  9. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/detail/common.h +39 -15
  10. tinygwas-0.2.4/thirdparty/pybind11/include/pybind11/detail/cpp_conduit.h +77 -0
  11. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/detail/descr.h +3 -2
  12. tinygwas-0.2.4/thirdparty/pybind11/include/pybind11/detail/exception_translation.h +71 -0
  13. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/detail/init.h +4 -2
  14. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/detail/internals.h +200 -96
  15. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/detail/type_caster_base.h +85 -104
  16. tinygwas-0.2.4/thirdparty/pybind11/include/pybind11/detail/value_and_holder.h +77 -0
  17. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/eigen/matrix.h +2 -1
  18. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/eigen/tensor.h +5 -6
  19. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/embed.h +0 -3
  20. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/functional.h +47 -35
  21. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/gil.h +10 -38
  22. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/gil_safe_call_once.h +10 -1
  23. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/numpy.h +132 -13
  24. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/pybind11.h +123 -87
  25. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/pytypes.h +34 -1
  26. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/stl/filesystem.h +17 -9
  27. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/stl.h +2 -1
  28. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/stl_bind.h +2 -3
  29. tinygwas-0.2.4/thirdparty/pybind11/include/pybind11/typing.h +242 -0
  30. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tests/CMakeLists.txt +25 -6
  31. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt +3 -3
  32. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt +3 -3
  33. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt +3 -3
  34. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt +3 -3
  35. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt +3 -3
  36. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt +3 -3
  37. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tests/test_embed/CMakeLists.txt +7 -0
  38. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tools/FindPythonLibsNew.cmake +2 -2
  39. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tools/codespell_ignore_lines_from_errors.py +3 -2
  40. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tools/libsize.py +2 -0
  41. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tools/make_changelog.py +5 -1
  42. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tools/pybind11Common.cmake +49 -9
  43. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tools/pybind11Config.cmake.in +1 -1
  44. tinygwas-0.2.4/thirdparty/pybind11/tools/pybind11GuessPythonExtSuffix.cmake +86 -0
  45. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tools/pybind11NewTools.cmake +90 -60
  46. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tools/pybind11Tools.cmake +1 -1
  47. tinygwas-0.2.4/thirdparty/pybind11/tools/test-pybind11GuessPythonExtSuffix.cmake +161 -0
  48. {tinygwas-0.2.2 → tinygwas-0.2.4/tinygwas.egg-info}/PKG-INFO +8 -2
  49. {tinygwas-0.2.2 → tinygwas-0.2.4}/tinygwas.egg-info/SOURCES.txt +7 -0
  50. tinygwas-0.2.2/thirdparty/pybind11/include/pybind11/typing.h +0 -117
  51. {tinygwas-0.2.2 → tinygwas-0.2.4}/CMakeLists.txt +0 -0
  52. {tinygwas-0.2.2 → tinygwas-0.2.4}/MANIFEST.in +0 -0
  53. {tinygwas-0.2.2 → tinygwas-0.2.4}/README.md +0 -0
  54. {tinygwas-0.2.2 → tinygwas-0.2.4}/setup.cfg +0 -0
  55. {tinygwas-0.2.2 → tinygwas-0.2.4}/src/FileUtils.cpp +0 -0
  56. {tinygwas-0.2.2 → tinygwas-0.2.4}/src/FileUtils.h +0 -0
  57. {tinygwas-0.2.2 → tinygwas-0.2.4}/src/Utils.cpp +0 -0
  58. {tinygwas-0.2.2 → tinygwas-0.2.4}/src/Utils.h +0 -0
  59. {tinygwas-0.2.2 → tinygwas-0.2.4}/src/main.cpp +0 -0
  60. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/Cholesky +0 -0
  61. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/CholmodSupport +0 -0
  62. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/Core +0 -0
  63. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/Dense +0 -0
  64. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/Eigen +0 -0
  65. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/Eigenvalues +0 -0
  66. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/Geometry +0 -0
  67. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/Householder +0 -0
  68. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/IterativeLinearSolvers +0 -0
  69. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/Jacobi +0 -0
  70. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/KLUSupport +0 -0
  71. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/LU +0 -0
  72. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/MetisSupport +0 -0
  73. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/OrderingMethods +0 -0
  74. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/PaStiXSupport +0 -0
  75. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/PardisoSupport +0 -0
  76. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/QR +0 -0
  77. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/QtAlignedMalloc +0 -0
  78. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/SPQRSupport +0 -0
  79. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/SVD +0 -0
  80. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/Sparse +0 -0
  81. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/SparseCholesky +0 -0
  82. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/SparseCore +0 -0
  83. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/SparseLU +0 -0
  84. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/SparseQR +0 -0
  85. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/StdDeque +0 -0
  86. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/StdList +0 -0
  87. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/StdVector +0 -0
  88. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/SuperLUSupport +0 -0
  89. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/UmfPackSupport +0 -0
  90. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Cholesky/LDLT.h +0 -0
  91. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Cholesky/LLT.h +0 -0
  92. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Cholesky/LLT_LAPACKE.h +0 -0
  93. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/CholmodSupport/CholmodSupport.h +0 -0
  94. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/ArithmeticSequence.h +0 -0
  95. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Array.h +0 -0
  96. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/ArrayBase.h +0 -0
  97. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/ArrayWrapper.h +0 -0
  98. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Assign.h +0 -0
  99. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/AssignEvaluator.h +0 -0
  100. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Assign_MKL.h +0 -0
  101. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/BandMatrix.h +0 -0
  102. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Block.h +0 -0
  103. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/BooleanRedux.h +0 -0
  104. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/CommaInitializer.h +0 -0
  105. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/ConditionEstimator.h +0 -0
  106. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/CoreEvaluators.h +0 -0
  107. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/CoreIterators.h +0 -0
  108. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/CwiseBinaryOp.h +0 -0
  109. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/CwiseNullaryOp.h +0 -0
  110. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/CwiseTernaryOp.h +0 -0
  111. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/CwiseUnaryOp.h +0 -0
  112. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/CwiseUnaryView.h +0 -0
  113. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/DenseBase.h +0 -0
  114. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/DenseCoeffsBase.h +0 -0
  115. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/DenseStorage.h +0 -0
  116. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Diagonal.h +0 -0
  117. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/DiagonalMatrix.h +0 -0
  118. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/DiagonalProduct.h +0 -0
  119. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Dot.h +0 -0
  120. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/EigenBase.h +0 -0
  121. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/ForceAlignedAccess.h +0 -0
  122. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Fuzzy.h +0 -0
  123. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/GeneralProduct.h +0 -0
  124. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/GenericPacketMath.h +0 -0
  125. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/GlobalFunctions.h +0 -0
  126. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/IO.h +0 -0
  127. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/IndexedView.h +0 -0
  128. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Inverse.h +0 -0
  129. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Map.h +0 -0
  130. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/MapBase.h +0 -0
  131. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/MathFunctions.h +0 -0
  132. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/MathFunctionsImpl.h +0 -0
  133. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Matrix.h +0 -0
  134. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/MatrixBase.h +0 -0
  135. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/NestByValue.h +0 -0
  136. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/NoAlias.h +0 -0
  137. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/NumTraits.h +0 -0
  138. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/PartialReduxEvaluator.h +0 -0
  139. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/PermutationMatrix.h +0 -0
  140. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/PlainObjectBase.h +0 -0
  141. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Product.h +0 -0
  142. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/ProductEvaluators.h +0 -0
  143. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Random.h +0 -0
  144. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Redux.h +0 -0
  145. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Ref.h +0 -0
  146. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Replicate.h +0 -0
  147. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Reshaped.h +0 -0
  148. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/ReturnByValue.h +0 -0
  149. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Reverse.h +0 -0
  150. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Select.h +0 -0
  151. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/SelfAdjointView.h +0 -0
  152. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/SelfCwiseBinaryOp.h +0 -0
  153. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Solve.h +0 -0
  154. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/SolveTriangular.h +0 -0
  155. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/SolverBase.h +0 -0
  156. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/StableNorm.h +0 -0
  157. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/StlIterators.h +0 -0
  158. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Stride.h +0 -0
  159. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Swap.h +0 -0
  160. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Transpose.h +0 -0
  161. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Transpositions.h +0 -0
  162. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/TriangularMatrix.h +0 -0
  163. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/VectorBlock.h +0 -0
  164. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/VectorwiseOp.h +0 -0
  165. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/Visitor.h +0 -0
  166. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/AVX/Complex.h +0 -0
  167. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/AVX/MathFunctions.h +0 -0
  168. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/AVX/PacketMath.h +0 -0
  169. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/AVX/TypeCasting.h +0 -0
  170. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/AVX512/Complex.h +0 -0
  171. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/AVX512/MathFunctions.h +0 -0
  172. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/AVX512/PacketMath.h +0 -0
  173. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/AVX512/TypeCasting.h +0 -0
  174. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/AltiVec/Complex.h +0 -0
  175. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/AltiVec/MathFunctions.h +0 -0
  176. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +0 -0
  177. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +0 -0
  178. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +0 -0
  179. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/AltiVec/PacketMath.h +0 -0
  180. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/CUDA/Complex.h +0 -0
  181. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/Default/BFloat16.h +0 -0
  182. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/Default/ConjHelper.h +0 -0
  183. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +0 -0
  184. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +0 -0
  185. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/Default/Half.h +0 -0
  186. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/Default/Settings.h +0 -0
  187. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/Default/TypeCasting.h +0 -0
  188. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/GPU/MathFunctions.h +0 -0
  189. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/GPU/PacketMath.h +0 -0
  190. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/GPU/TypeCasting.h +0 -0
  191. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/HIP/hcc/math_constants.h +0 -0
  192. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/MSA/Complex.h +0 -0
  193. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/MSA/MathFunctions.h +0 -0
  194. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/MSA/PacketMath.h +0 -0
  195. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/NEON/Complex.h +0 -0
  196. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +0 -0
  197. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/NEON/MathFunctions.h +0 -0
  198. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/NEON/PacketMath.h +0 -0
  199. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/NEON/TypeCasting.h +0 -0
  200. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/SSE/Complex.h +0 -0
  201. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/SSE/MathFunctions.h +0 -0
  202. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/SSE/PacketMath.h +0 -0
  203. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/SSE/TypeCasting.h +0 -0
  204. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/SVE/MathFunctions.h +0 -0
  205. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/SVE/PacketMath.h +0 -0
  206. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/SVE/TypeCasting.h +0 -0
  207. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/SYCL/InteropHeaders.h +0 -0
  208. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/SYCL/MathFunctions.h +0 -0
  209. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/SYCL/PacketMath.h +0 -0
  210. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +0 -0
  211. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/SYCL/TypeCasting.h +0 -0
  212. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/ZVector/Complex.h +0 -0
  213. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/ZVector/MathFunctions.h +0 -0
  214. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/arch/ZVector/PacketMath.h +0 -0
  215. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/functors/AssignmentFunctors.h +0 -0
  216. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/functors/BinaryFunctors.h +0 -0
  217. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/functors/NullaryFunctors.h +0 -0
  218. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/functors/StlFunctors.h +0 -0
  219. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/functors/TernaryFunctors.h +0 -0
  220. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/functors/UnaryFunctors.h +0 -0
  221. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/products/GeneralBlockPanelKernel.h +0 -0
  222. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/products/GeneralMatrixMatrix.h +0 -0
  223. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +0 -0
  224. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +0 -0
  225. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +0 -0
  226. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/products/GeneralMatrixVector.h +0 -0
  227. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +0 -0
  228. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/products/Parallelizer.h +0 -0
  229. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +0 -0
  230. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +0 -0
  231. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/products/SelfadjointMatrixVector.h +0 -0
  232. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +0 -0
  233. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/products/SelfadjointProduct.h +0 -0
  234. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/products/SelfadjointRank2Update.h +0 -0
  235. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/products/TriangularMatrixMatrix.h +0 -0
  236. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +0 -0
  237. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/products/TriangularMatrixVector.h +0 -0
  238. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +0 -0
  239. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/products/TriangularSolverMatrix.h +0 -0
  240. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +0 -0
  241. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/products/TriangularSolverVector.h +0 -0
  242. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/util/BlasUtil.h +0 -0
  243. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/util/ConfigureVectorization.h +0 -0
  244. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/util/Constants.h +0 -0
  245. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/util/DisableStupidWarnings.h +0 -0
  246. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/util/ForwardDeclarations.h +0 -0
  247. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/util/IndexedViewHelper.h +0 -0
  248. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/util/IntegralConstant.h +0 -0
  249. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/util/MKL_support.h +0 -0
  250. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/util/Macros.h +0 -0
  251. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/util/Memory.h +0 -0
  252. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/util/Meta.h +0 -0
  253. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/util/NonMPL2.h +0 -0
  254. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/util/ReenableStupidWarnings.h +0 -0
  255. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/util/ReshapedHelper.h +0 -0
  256. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/util/StaticAssert.h +0 -0
  257. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/util/SymbolicIndex.h +0 -0
  258. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Core/util/XprHelper.h +0 -0
  259. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Eigenvalues/ComplexEigenSolver.h +0 -0
  260. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Eigenvalues/ComplexSchur.h +0 -0
  261. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +0 -0
  262. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Eigenvalues/EigenSolver.h +0 -0
  263. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +0 -0
  264. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +0 -0
  265. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Eigenvalues/HessenbergDecomposition.h +0 -0
  266. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +0 -0
  267. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Eigenvalues/RealQZ.h +0 -0
  268. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Eigenvalues/RealSchur.h +0 -0
  269. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +0 -0
  270. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +0 -0
  271. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +0 -0
  272. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Eigenvalues/Tridiagonalization.h +0 -0
  273. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Geometry/AlignedBox.h +0 -0
  274. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Geometry/AngleAxis.h +0 -0
  275. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Geometry/EulerAngles.h +0 -0
  276. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Geometry/Homogeneous.h +0 -0
  277. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Geometry/Hyperplane.h +0 -0
  278. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Geometry/OrthoMethods.h +0 -0
  279. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Geometry/ParametrizedLine.h +0 -0
  280. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Geometry/Quaternion.h +0 -0
  281. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Geometry/Rotation2D.h +0 -0
  282. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Geometry/RotationBase.h +0 -0
  283. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Geometry/Scaling.h +0 -0
  284. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Geometry/Transform.h +0 -0
  285. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Geometry/Translation.h +0 -0
  286. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Geometry/Umeyama.h +0 -0
  287. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Geometry/arch/Geometry_SIMD.h +0 -0
  288. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Householder/BlockHouseholder.h +0 -0
  289. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Householder/Householder.h +0 -0
  290. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Householder/HouseholderSequence.h +0 -0
  291. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +0 -0
  292. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +0 -0
  293. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +0 -0
  294. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +0 -0
  295. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +0 -0
  296. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +0 -0
  297. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +0 -0
  298. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +0 -0
  299. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/Jacobi/Jacobi.h +0 -0
  300. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/KLUSupport/KLUSupport.h +0 -0
  301. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/LU/Determinant.h +0 -0
  302. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/LU/FullPivLU.h +0 -0
  303. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/LU/InverseImpl.h +0 -0
  304. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/LU/PartialPivLU.h +0 -0
  305. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/LU/PartialPivLU_LAPACKE.h +0 -0
  306. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/LU/arch/InverseSize4.h +0 -0
  307. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/MetisSupport/MetisSupport.h +0 -0
  308. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/OrderingMethods/Amd.h +0 -0
  309. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/OrderingMethods/Eigen_Colamd.h +0 -0
  310. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/OrderingMethods/Ordering.h +0 -0
  311. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/PaStiXSupport/PaStiXSupport.h +0 -0
  312. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/PardisoSupport/PardisoSupport.h +0 -0
  313. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/QR/ColPivHouseholderQR.h +0 -0
  314. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +0 -0
  315. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/QR/CompleteOrthogonalDecomposition.h +0 -0
  316. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/QR/FullPivHouseholderQR.h +0 -0
  317. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/QR/HouseholderQR.h +0 -0
  318. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/QR/HouseholderQR_LAPACKE.h +0 -0
  319. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +0 -0
  320. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SVD/BDCSVD.h +0 -0
  321. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SVD/JacobiSVD.h +0 -0
  322. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SVD/JacobiSVD_LAPACKE.h +0 -0
  323. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SVD/SVDBase.h +0 -0
  324. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SVD/UpperBidiagonalization.h +0 -0
  325. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCholesky/SimplicialCholesky.h +0 -0
  326. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +0 -0
  327. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/AmbiVector.h +0 -0
  328. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/CompressedStorage.h +0 -0
  329. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +0 -0
  330. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/MappedSparseMatrix.h +0 -0
  331. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseAssign.h +0 -0
  332. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseBlock.h +0 -0
  333. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseColEtree.h +0 -0
  334. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseCompressedBase.h +0 -0
  335. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +0 -0
  336. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +0 -0
  337. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseDenseProduct.h +0 -0
  338. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseDiagonalProduct.h +0 -0
  339. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseDot.h +0 -0
  340. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseFuzzy.h +0 -0
  341. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseMap.h +0 -0
  342. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseMatrix.h +0 -0
  343. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseMatrixBase.h +0 -0
  344. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparsePermutation.h +0 -0
  345. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseProduct.h +0 -0
  346. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseRedux.h +0 -0
  347. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseRef.h +0 -0
  348. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseSelfAdjointView.h +0 -0
  349. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseSolverBase.h +0 -0
  350. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +0 -0
  351. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseTranspose.h +0 -0
  352. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseTriangularView.h +0 -0
  353. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseUtil.h +0 -0
  354. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseVector.h +0 -0
  355. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/SparseView.h +0 -0
  356. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseCore/TriangularSolver.h +0 -0
  357. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseLU/SparseLU.h +0 -0
  358. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseLU/SparseLUImpl.h +0 -0
  359. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseLU/SparseLU_Memory.h +0 -0
  360. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseLU/SparseLU_Structs.h +0 -0
  361. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +0 -0
  362. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseLU/SparseLU_Utils.h +0 -0
  363. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseLU/SparseLU_column_bmod.h +0 -0
  364. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseLU/SparseLU_column_dfs.h +0 -0
  365. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +0 -0
  366. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +0 -0
  367. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +0 -0
  368. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +0 -0
  369. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseLU/SparseLU_panel_bmod.h +0 -0
  370. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseLU/SparseLU_panel_dfs.h +0 -0
  371. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseLU/SparseLU_pivotL.h +0 -0
  372. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseLU/SparseLU_pruneL.h +0 -0
  373. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseLU/SparseLU_relax_snode.h +0 -0
  374. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SparseQR/SparseQR.h +0 -0
  375. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/StlSupport/StdDeque.h +0 -0
  376. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/StlSupport/StdList.h +0 -0
  377. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/StlSupport/StdVector.h +0 -0
  378. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/StlSupport/details.h +0 -0
  379. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/SuperLUSupport/SuperLUSupport.h +0 -0
  380. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/UmfPackSupport/UmfPackSupport.h +0 -0
  381. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/misc/Image.h +0 -0
  382. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/misc/Kernel.h +0 -0
  383. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/misc/RealSvd2x2.h +0 -0
  384. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/misc/blas.h +0 -0
  385. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/misc/lapack.h +0 -0
  386. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/misc/lapacke.h +0 -0
  387. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/misc/lapacke_mangling.h +0 -0
  388. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/plugins/ArrayCwiseBinaryOps.h +0 -0
  389. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -0
  390. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/plugins/BlockMethods.h +0 -0
  391. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -0
  392. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/plugins/CommonCwiseUnaryOps.h +0 -0
  393. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/plugins/IndexedViewMethods.h +0 -0
  394. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -0
  395. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -0
  396. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/Eigen/src/plugins/ReshapedMethods.h +0 -0
  397. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/LICENSE +0 -0
  398. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/attr.h +0 -0
  399. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/chrono.h +0 -0
  400. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/common.h +0 -0
  401. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/complex.h +0 -0
  402. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/detail/typeid.h +0 -0
  403. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/eigen/common.h +0 -0
  404. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/eigen.h +0 -0
  405. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/eval.h +0 -0
  406. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/iostream.h +0 -0
  407. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/operators.h +0 -0
  408. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/options.h +0 -0
  409. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/include/pybind11/type_caster_pyobject_ptr.h +0 -0
  410. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tests/test_cmake_build/CMakeLists.txt +0 -0
  411. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tools/FindCatch.cmake +0 -0
  412. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tools/FindEigen3.cmake +0 -0
  413. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tools/JoinPaths.cmake +0 -0
  414. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tools/check-style.sh +0 -0
  415. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tools/cmake_uninstall.cmake.in +0 -0
  416. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tools/pybind11.pc.in +0 -0
  417. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tools/pyproject.toml +0 -0
  418. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tools/setup_global.py.in +0 -0
  419. {tinygwas-0.2.2 → tinygwas-0.2.4}/thirdparty/pybind11/tools/setup_main.py.in +0 -0
  420. {tinygwas-0.2.2 → tinygwas-0.2.4}/tinygwas.egg-info/dependency_links.txt +0 -0
  421. {tinygwas-0.2.2 → tinygwas-0.2.4}/tinygwas.egg-info/not-zip-safe +0 -0
  422. {tinygwas-0.2.2 → tinygwas-0.2.4}/tinygwas.egg-info/requires.txt +0 -0
  423. {tinygwas-0.2.2 → tinygwas-0.2.4}/tinygwas.egg-info/top_level.txt +0 -0
@@ -1,6 +1,12 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: tinygwas
3
- Version: 0.2.2
3
+ Version: 0.2.4
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
@@ -0,0 +1,13 @@
1
+ [build-system]
2
+ requires = ["setuptools", "wheel", "cmake>=3.15"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [tool.cibuildwheel]
6
+ build = "cp310-* cp311-* cp312-* cp313-*"
7
+ skip = "*-musllinux_* *_i686"
8
+ test-requires = ["pytest", "statsmodels"]
9
+ test-command = "pytest {project}/tests"
10
+ manylinux-x86_64-image = "manylinux_2_28"
11
+
12
+ [tool.cibuildwheel.macos]
13
+ environment = { MACOSX_DEPLOYMENT_TARGET = "11.0" }
@@ -4,7 +4,6 @@ import sys
4
4
  import platform
5
5
  import subprocess
6
6
 
7
- from distutils.version import LooseVersion
8
7
  from setuptools import setup, Extension
9
8
  from setuptools.command.build_ext import build_ext
10
9
 
@@ -26,10 +25,11 @@ class CMakeBuild(build_ext):
26
25
  )
27
26
 
28
27
  if platform.system() == "Windows":
29
- cmake_version = LooseVersion(
30
- re.search(r"version\s*([\d.]+)", out.decode()).group(1)
28
+ cmake_version = tuple(
29
+ int(x)
30
+ for x in re.search(r"version\s*(\d+)\.(\d+)", out.decode()).groups()
31
31
  )
32
- if cmake_version < "3.1.0":
32
+ if cmake_version < (3, 1):
33
33
  raise RuntimeError("CMake >= 3.1.0 is required on Windows")
34
34
 
35
35
  for ext in self.extensions:
@@ -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.2",
77
+ version="0.2.4",
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.27)` syntax does not work with
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.27)
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.27)
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
- const_cast<T *>(ptr), sizeof(T), format_descriptor<T>::format(), size, readonly) {}
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
- 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)) {
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
- ptr, itemsize, format, ndim, std::move(shape_in), std::move(strides_in), readonly) {}
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 || (std::strcmp("numpy.bool_", Py_TYPE(src.ptr())->tp_name) == 0)) {
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
- = const_name("tuple[") + concat(make_caster<Ts>::name...) + const_name("]");
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
- bool load_value(value_and_holder &&v_h) {
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 true;
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, T> cast_safe(object &&) {
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::none_of<cast_is_temporary_value_reference<T>, std::is_void<T>>::value, T>
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 = concat(type_descr(make_caster<Args>::name)...);
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