From 093190e72eb7b7637085dc19b938014bfd0485cb Mon Sep 17 00:00:00 2001 From: Max Nikulin Date: Wed, 7 Aug 2024 17:37:17 +0700 Subject: Add Python bindings for roundto Expose `roundto` and `in_place_roundto` to `Amount`, `Balance`, and `Value` Python classes. They may be handy for debugging. The methods were added after introducing of bindings and likely it is a reason why they were missed. Closes: #2365 --- src/py_amount.cc | 4 ++++ src/py_balance.cc | 4 ++++ src/py_value.cc | 2 ++ 3 files changed, 10 insertions(+) diff --git a/src/py_amount.cc b/src/py_amount.cc index ae554f58..1efa829a 100644 --- a/src/py_amount.cc +++ b/src/py_amount.cc @@ -207,6 +207,10 @@ internal precision.")) .def("in_place_round", &amount_t::in_place_round, return_internal_reference<>()) + .def("__round__", &amount_t::roundto) + .def("in_place_roundto", &amount_t::in_place_roundto, + return_internal_reference<>()) + .def("truncated", &amount_t::truncated) .def("in_place_truncate", &amount_t::in_place_truncate, return_internal_reference<>()) diff --git a/src/py_balance.cc b/src/py_balance.cc index 47cd7fc9..cf174a5e 100644 --- a/src/py_balance.cc +++ b/src/py_balance.cc @@ -182,6 +182,10 @@ void export_balance() .def("in_place_round", &balance_t::in_place_round, return_internal_reference<>()) + .def("__round__", &balance_t::roundto) + .def("in_place_roundto", &balance_t::in_place_roundto, + return_internal_reference<>()) + .def("truncated", &balance_t::truncated) .def("in_place_truncate", &balance_t::in_place_truncate, return_internal_reference<>()) diff --git a/src/py_value.cc b/src/py_value.cc index 52597c9a..9296217f 100644 --- a/src/py_value.cc +++ b/src/py_value.cc @@ -251,6 +251,8 @@ void export_value() .def("rounded", &value_t::rounded) .def("in_place_round", &value_t::in_place_round) + .def("__round__", &value_t::roundto) + .def("in_place_roundto", &value_t::in_place_roundto) .def("truncated", &value_t::truncated) .def("in_place_truncate", &value_t::in_place_truncate) .def("floored", &value_t::floored) -- cgit v1.2.3