1. Oct 23, 2022
  2. Oct 22, 2022
  3. Oct 20, 2022
  4. Oct 19, 2022
    • Lalaland's avatar
      First draft of Eigen::Tensor support (#4201) · fab1eebe
      Lalaland authored
      * First draft of Eigen::Tensor support
      
      * [pre-commit.ci] auto fixes from pre-commit.com hooks
      
      for more information, see https://pre-commit.ci
      
      * Fix build errors
      
      * Weird allocator stuff?
      
      * [pre-commit.ci] auto fixes from pre-commit.com hooks
      
      for more information, see https://pre-commit.ci
      
      * Remove unused + additional allocator junk
      
      * Disable warning
      
      * Use constexpr
      
      * [pre-commit.ci] auto fixes from pre-commit.com hooks
      
      for more information, see https://pre-commit.ci
      
      * clang tidy fixes
      
      * [pre-commit.ci] auto fixes from pre-commit.com hooks
      
      for more information, see https://pre-commit.ci
      
      * Resolve comments
      
      * [pre-commit.ci] auto fixes from pre-commit.com hooks
      
      for more information, see https://pre-commit.ci
      
      * Remove auto constexpr function
      
      * [pre-commit.ci] auto fixes from pre-commit.com hooks
      
      for more information, see https://pre-commit.ci
      
      * Try again for older C++
      
      * Oops forgot constexpr
      
      * Move to new files as suggested
      
      * [pre-commit.ci] auto fixes from pre-commit.com hooks
      
      for more information, see https://pre-commit.ci
      
      * Fix weird tests
      
      * Fix nits
      
      * [pre-commit.ci] auto fixes from pre-commit.com hooks
      
      for more information, see https://pre-commit.ci
      
      * Oops, forgot import
      
      * Fix clang 3.6 bug
      
      * [pre-commit.ci] auto fixes from pre-commit.com hooks
      
      for more information, see https://pre-commit.ci
      
      * More comprehensive test suite
      
      * [pre-commit.ci] auto fixes from pre-commit.com hooks
      
      for more information, see https://pre-commit.ci
      
      * Refactor allocators to make things more clear
      
      * [pre-commit.ci] auto fixes from pre-commit.com hooks
      
      for more information, see https://pre-commit.ci
      
      * Switch to std::copy
      
      * [pre-commit.ci] auto fixes from pre-commit.com hooks
      
      for more information, see https://pre-commit.ci
      
      * Switch to DSizes instead of array
      
      * [pre-commit.ci] auto fixes from pre-commit.com hooks
      
      for more information, see https://pre-commit.ci
      
      * Address feedback
      
      * [pre-commit.ci] auto fixes from pre-commit.com hooks
      
      for more information, see https://pre-commit.ci
      
      * Fix python + dummy c++ change to trigger build
      
      * [pre-commit.ci] auto fixes from pre-commit.com hooks
      
      for more information, see https://pre-commit.ci
      
      * Alignment
      
      * [pre-commit.ci] auto fixes from pre-commit.com hooks
      
      for more information, see https://pre-commit.ci
      
      
      
      * Add include guard
      
      * Forgot inline
      
      * Fix compiler warning
      
      * Remove bad test
      
      * Better type signatures
      
      * Add guards to make compiler requirements more explicit
      
      * style: pre-commit fixes
      
      * Force rerun of tests due to flake
      
      * style: pre-commit fixes
      
      * Keep pragmas & all related comments together, add PLEASE KEEP IN SYNC
      
      * Move headers out of detail
      
      * style: pre-commit fixes
      
      * Fix cmake
      
      * Improve casting
      
      * style: pre-commit fixes
      
      * Add a ton more tests + refactor
      
      * Improve names
      
      * style: pre-commit fixes
      
      * Update include/pybind11/eigen/tensor.h
      
      Co-authored-by: default avatarAaron Gokaslan <skylion.aaron@gmail.com>
      
      * Fix tests
      
      * style: pre-commit fixes
      
      * Update
      
      * Add a test to verify that strange numpy arrays work
      
      * Fix dumb compiler warning
      
      * Better tests
      
      * Better tests
      
      * Fix tests
      
      * style: pre-commit fixes
      
      * More test fixes
      
      * style: pre-commit fixes
      
      * A ton more test coverage
      
      * Fix tests
      
      * style: pre-commit fixes
      
      * style: pre-commit fixes
      
      * Add back constexpr
      
      * Another test
      
      * style: pre-commit fixes
      
      * Improve tests
      
      * Whoops
      
      * Less magic numbers
      
      * Update tests/test_eigen_tensor.py
      
      Co-authored-by: default avatarSergiu Deitsch <sergiud@users.noreply.github.com>
      
      * Update tests/test_eigen_tensor.py
      
      Co-authored-by: default avatarSergiu Deitsch <sergiud@users.noreply.github.com>
      
      * style: pre-commit fixes
      
      * Fix tests
      
      * style: pre-commit fixes
      
      * Fix memory leak
      
      * style: pre-commit fixes
      
      * Fix order
      
      * style: pre-commit fixes
      
      * Add test to make sure unsafe casts fail
      
      * Minor bug fix to work on 32 bit machines
      
      * Implement convert flag
      
      * style: pre-commit fixes
      
      * Switch to correct TensorMap const use
      
      * style: pre-commit fixes
      
      * Support older versions of eigen
      
      * Weird c++ compilers
      
      * Fix Eigen bug
      
      * Fix another eigen bug
      
      * Yet another eigen bug
      
      * Potential flakes?
      
      * style: pre-commit fixes
      
      * Rerun tests with dummy exception to find out what is going on
      
      * Another dummy test run
      
      * Ablate more
      
      * Found the broken test?
      
      * One step closer
      
      * one step further
      
      * Double check
      
      * one thing at a time
      
      * Give up and disable the test
      
      * Clang lies about being gcc
      
      * Oops, fix matrix test
      
      * style: pre-commit fixes
      
      * Add tests to verify scalar conversions
      
      * style: pre-commit fixes
      
      * Fix nits
      
      * Support no_array
      
      * Fix tests
      
      * style: pre-commit fixes
      
      * Silence compiler warning
      
      * Improve build system for ancient compilers
      
      * Make clang happy
      
      * Make gcc happy
      
      * Implement Skylion's suggestions
      
      * Fix warning
      
      * Inline const pointer check
      
      * Implement suggestions
      
      * style: pre-commit fixes
      
      * Improve tests
      
      * Typo
      
      * style: pre-commit fixes
      
      * Support Google's build environment
      
      * style: pre-commit fixes
      
      * Update include/pybind11/eigen/tensor.h
      
      Co-authored-by: default avatarAaron Gokaslan <skylion.aaron@gmail.com>
      
      * style: pre-commit fixes
      
      * Test cleanup per Skylion
      
      * Switch to remvove_cv_t
      
      * Cleaner test
      
      * style: pre-commit fixes
      
      * Remove tensor from eigen.h, update tests
      
      * style: pre-commit fixes
      
      Co-authored-by: default avatarpre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
      Co-authored-by: default avatarRalf W. Grosse-Kunstleve <rwgk@google.com>
      Co-authored-by: default avatarAaron Gokaslan <aaronGokaslan@gmail.com>
      Co-authored-by: default avatarAaron Gokaslan <skylion.aaron@gmail.com>
      Co-authored-by: default avatarSergiu Deitsch <sergiud@users.noreply.github.com>
      fab1eebe
  5. Oct 18, 2022
  6. Oct 13, 2022
    • Ralf W. Grosse-Kunstleve's avatar
      Minor `py::capsule` cleanup. No functional change. (#4238) · 964c4997
      Ralf W. Grosse-Kunstleve authored
      Use `PyCapsule_Destructor` (part of the stable Python ABI) instead of spelling out the C `typedef`.
      
      The deprecation message is misleading. Replace with a message pointing to another existing ctor.
      
      Background: According to @wjakob the original motivation for deprecating the ctor (in PR #752) was to hide Python C API details, but PR #902 brought those back with a new ctor, it cannot be avoided. Having a `PyCapsule_Destructor` or a `void (*destructor)(void *)` are two separate and valid use cases.
      964c4997
    • Aaron Gokaslan's avatar
      8781daf6
  7. Oct 12, 2022
  8. Oct 11, 2022
  9. Oct 10, 2022
    • Ralf W. Grosse-Kunstleve's avatar
      Reproducer and fix for issue encountered in smart_holder update. (#4228) · da104a9e
      Ralf W. Grosse-Kunstleve authored
      * Reproducer for issue encountered in smart_holder update.
      
      * clang-tidy compatibility (untested).
      
      * Add `enable_if_t` to workaround.
      
      * Bug fix: Move `PYBIND11_USING_WORKAROUND_FOR_CUDA_11_4_THROUGH_8` determination to detail/common.h
      
      So that it actually is defined in pybind11.h
      
      * Try using the workaround (which is nicer than the original code) universally.
      
      * Reduce reproducer for CUDA 11.7 issue encountered in smart_holder update.
      
      This commit tested in isolation on top of current master + first version of reproducer (62311eb431849d135a5db84f6c75ec390f2ede7c).
      
      Succeeds with Debian Clang 14.0.6 C++17 (and probably all other compilers).
      
      Fails for CUDA 11.7:
      
      ```
      cd /build/tests && /usr/local/cuda/bin/nvcc -forward-unknown-to-host-compiler -Dpybind11_tests_EXPORTS -I/mounted_pybind11/include -isystem=/usr/include/python3.10 -g --generate-code=arch=compute_52,code=[compute_52,sm_52] -Xcompiler=-fPIC -Xcompiler=-fvisibility=hidden -Werror all-warnings -std=c++17 -MD -MT tests/CMakeFiles/pybind11_tests.dir/test_class.cpp.o -MF CMakeFiles/pybind11_tests.dir/test_class.cpp.o.d -x cu -c /mounted_pybind11/tests/test_class.cpp -o CMakeFiles/pybind11_tests.dir/test_class.cpp.o
      /mounted_pybind11/tests/test_class.cpp(53): error: more than one instance of overloaded function "pybind11::class_<type_, options...>::def [with type_=test_class::pr4220_tripped_over_this::Empty0, options=<>]" matches the argument list:
                  function template "pybind11::class_<test_class::pr4220_tripped_over_this::Empty0> &pybind11::class_<type_, options...>::def(const char *, Func &&, const Extra &...) [with type_=test_class::pr4220_tripped_over_this::Empty0, options=<>]"
      /mounted_pybind11/include/pybind11/pybind11.h(1557): here
                  function template "pybind11::class_<test_class::pr4220_tripped_over_this::Empty0> &pybind11::class_<type_, options...>::def(const T &, const Extra &...) [with type_=test_class::pr4220_tripped_over_this::Empty0, options=<>]"
      /mounted_pybind11/include/pybind11/pybind11.h(1586): here
                  argument types are: (const char [8], <unknown-type>)
                  object type is: pybind11::class_<test_class::pr4220_tripped_over_this::Empty0>
      
      1 error detected in the compilation of "/mounted_pybind11/tests/test_class.cpp".
      ```
      da104a9e
  10. Oct 08, 2022
  11. Oct 07, 2022
  12. Oct 05, 2022
  13. Oct 04, 2022
  14. Sep 27, 2022
  15. Sep 26, 2022
  16. Sep 22, 2022
  17. Sep 21, 2022
  18. Sep 20, 2022
  19. Sep 15, 2022
  20. Sep 13, 2022
  21. Sep 07, 2022
  22. Aug 30, 2022
  23. Aug 25, 2022