MCPcopy Create free account
hub / github.com/pybind/pybind11 / test_noexcept_method_vectorization

Function test_noexcept_method_vectorization

tests/test_numpy_vectorize.py:284–297  ·  view source on GitHub ↗

Test issue #2234: vectorize must handle noexcept member function pointers. Covers both new vectorize specialisations: - vectorize(Return (Class::*)(Args...) noexcept) - vectorize(Return (Class::*)(Args...) const noexcept)

()

Source from the content-addressed store, hash-verified

282
283
284def test_noexcept_method_vectorization():
285 """Test issue #2234: vectorize must handle noexcept member function pointers.
286
287 Covers both new vectorize specialisations:
288 - vectorize(Return (Class::*)(Args...) noexcept)
289 - vectorize(Return (Class::*)(Args...) const noexcept)
290 """
291 o = m.VectorizeTestClass(3)
292 x = np.array([1, 2], dtype="int")
293 y = np.array([[10], [20]], dtype="float32")
294 # vectorize(Return (Class::*)(Args...) noexcept)
295 assert np.all(o.method_noexcept(x, y) == [[14, 15], [24, 25]])
296 # vectorize(Return (Class::*)(Args...) const noexcept)
297 assert np.all(o.method_const_noexcept(x, y) == [[14, 15], [24, 25]])
298
299
300def test_array_collapse():

Callers

nothing calls this directly

Calls 4

method_noexceptMethod · 0.95
method_const_noexceptMethod · 0.95
VectorizeTestClassMethod · 0.80
arrayMethod · 0.80

Tested by

no test coverage detected