From 1dd005c5f6347b07b778dd5fa33106d207fe609a Mon Sep 17 00:00:00 2001 From: Aaron Gokaslan Date: Thu, 21 Apr 2022 11:13:35 -0400 Subject: [PATCH] Microptimize math vector func * Noticed some unnecessary copies --- src/python/magnum/math.vector.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/python/magnum/math.vector.h b/src/python/magnum/math.vector.h index 21837ee..ece63c4 100644 --- a/src/python/magnum/math.vector.h +++ b/src/python/magnum/math.vector.h @@ -133,7 +133,7 @@ template void everyVectorBuffer(py::class_& /* Buffer protocol. If not present, implicit conversion from numpy arrays of non-default types somehow doesn't work. There's also the other part in vectorBuffer(). */ - .def(py::init([](py::buffer other) { + .def(py::init([](const py::buffer &other) { /* GCC 4.8 otherwise loudly complains about missing initializers */ Py_buffer buffer{nullptr, nullptr, 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr}; if(PyObject_GetBuffer(other.ptr(), &buffer, PyBUF_FORMAT|PyBUF_STRIDES) != 0) @@ -297,7 +297,7 @@ template void vector(py::module_& m, py::class_& c) { /* this should be handled by the x/y/z/w/r/g/b/a properties instead */ else CORRADE_INTERNAL_ASSERT_UNREACHABLE(); /* LCOV_EXCL_LINE */ }, "Vector swizzle") - .def("__setattr__", [](T& self, py::str nameO, py::object valueO) { + .def("__setattr__", [](T& self, const py::str& nameO, const py::object& valueO) { std::string name = py::cast(nameO); /* If the name is just one character, this is better handled by dedicated properties (and if not, it'll provide a better