kadyrbekovhamit-cyber opened a new pull request, #6409: URL: https://github.com/apache/fineract/pull/6409
## Description For `pmt(0.01, 12, 1000, 0, false)`, `FinanicalFunctions.nop()` currently returns 7 instead of 12. Replace its non-zero-rate expression with the algebraic inverse of `pmt()` and document rounding to the nearest whole payment, including the zero-rate branch. https://issues.apache.org/jira/browse/FINERACT-2809 The inverse supports both payment timings and a non-zero future value. The three regression tests cover those cases and zero interest. A separate 33-case round-trip harness passes 33/33 with the correction, versus 8/33 on the original source. Validation on develop `e4474a0f4a4c65a75e7758e47db1fd277e5fcfef`, JDK 25: ```sh ./gradlew :fineract-loan:test --tests '*FinanicalFunctionsTest' \ :fineract-loan:spotlessCheck \ :fineract-loan:checkstyleMain :fineract-loan:checkstyleTest ``` No production call site for `nop()` was found in the checked Java sources. This is a helper correctness fix; no production loan impact is claimed. Research and proposed correction: Xamit Kadirbekov / GERO Research, following the discussion with Adam Saghy on the developer mailing list. ## Checklist - [x] Use the FINERACT issue key and the same title for the commit and PR. - [x] Add regression tests and follow the coding conventions. - [x] Keep the change focused and reviewable. - [x] Acknowledge responsibility for addressing PR CI failures before requesting merge. - [ ] Review the upstream CI results when available. There are no REST API changes. Full integration CI has not been run locally. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
